選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 

77 行
2.4 KiB

  1. import { TrackController } from './track';
  2. import { Data2d } from './data-2d';
  3. export declare type ScrollbarOptions = {
  4. damping: number;
  5. thumbMinSize: number;
  6. renderByPixels: boolean;
  7. alwaysShowTracks: boolean;
  8. continuousScrolling: boolean;
  9. delegateTo: EventTarget | null;
  10. wheelEventTarget: EventTarget | null;
  11. plugins: any;
  12. };
  13. export declare type Metrics = {
  14. width: number;
  15. height: number;
  16. };
  17. export declare type ScrollbarSize = {
  18. container: Metrics;
  19. content: Metrics;
  20. };
  21. export declare type ScrollbarBounding = {
  22. top: number;
  23. right: number;
  24. bottom: number;
  25. left: number;
  26. };
  27. export declare type ScrollStatus = {
  28. offset: Data2d;
  29. limit: Data2d;
  30. };
  31. export interface ScrollListener {
  32. (this: Scrollbar, status: ScrollStatus): void;
  33. }
  34. export declare type ScrollToOptions = {
  35. callback: (this: Scrollbar) => void;
  36. easing: (percent: number) => number;
  37. };
  38. export declare type SetPositionOptions = {
  39. withoutCallbacks: boolean;
  40. };
  41. export declare type ScrollIntoViewOptions = {
  42. alignToTop: boolean;
  43. onlyScrollIfNeeded: boolean;
  44. offsetTop: number;
  45. offsetLeft: number;
  46. offsetBottom: number;
  47. };
  48. export interface AddTransformableMomentumCallback {
  49. (this: Scrollbar, willScroll: boolean): void;
  50. }
  51. export interface Scrollbar {
  52. readonly parent: Scrollbar | null;
  53. readonly containerEl: HTMLElement;
  54. readonly contentEl: HTMLElement;
  55. readonly track: TrackController;
  56. readonly options: ScrollbarOptions;
  57. bounding: ScrollbarBounding;
  58. size: ScrollbarSize;
  59. offset: Data2d;
  60. limit: Data2d;
  61. scrollTop: number;
  62. scrollLeft: number;
  63. destroy(): void;
  64. update(): void;
  65. getSize(): ScrollbarSize;
  66. isVisible(elem: HTMLElement): boolean;
  67. addListener(fn: ScrollListener): void;
  68. removeListener(fn: ScrollListener): void;
  69. addTransformableMomentum(x: number, y: number, fromEvent: Event, callback?: AddTransformableMomentumCallback): void;
  70. addMomentum(x: number, y: number): void;
  71. setMomentum(x: number, y: number): void;
  72. scrollTo(x?: number, y?: number, duration?: number, options?: Partial<ScrollToOptions>): void;
  73. setPosition(x?: number, y?: number, options?: Partial<SetPositionOptions>): void;
  74. scrollIntoView(elem: HTMLElement, options?: Partial<ScrollIntoViewOptions>): void;
  75. updatePluginOptions(pluginName: string, options?: any): void;
  76. }