UNPKG

vevet

Version:

Vevet is a JavaScript library for creative development that simplifies crafting rich interactions like split text animations, carousels, marquees, preloading, and more.

80 lines 2.54 kB
import { IModuleCallbacksMap, IModuleMutableProps, IModuleStaticProps } from '../../base'; import { ISwipeCoords } from '../Swipe'; export interface IScrollbarStaticProps extends IModuleStaticProps { /** * The element to which the scrollbar is applied. * Can be either the `window` or a specific HTML element. * @default window */ container?: Window | HTMLElement; /** * The parent element where the scrollbar should be appended. * If `false`, the scrollbar is appended directly to the `container`. * For proper behavior, use `parent` when applying the scrollbar to an HTML element. * @default false */ parent?: false | HTMLElement; /** * Custom CSS class to be applied to the scrollbar track. * If `false`, no additional class is applied. * @default false */ class?: string | false; /** * Defines the scrolling axis for the scrollbar. * - `'x'` for horizontal scrolling. * - `'y'` for vertical scrolling. * @default 'y' */ axis?: 'x' | 'y'; /** * Determines whether the scrollbar thumb is draggable. * @default true */ draggable?: boolean; /** * Automatically hides the scrollbar when inactive. * @default true */ autoHide?: boolean; /** * Debounce time (in milliseconds) for handling resize events. * Helps improve performance by limiting the frequency of resize calculations. * @default 10 */ resizeDebounce?: number; } export interface IScrollbarMutableProps extends IModuleMutableProps { /** * Minimum size of the scrollbar thumb. * Accepts numeric values (interpreted as pixels) or CSS units (`px`, `rem`, `vw`, `vh`, `svh`). * @default 50 */ minSize?: number | string; /** * Enables automatic adjustment of the scrollbar size. * @default true */ autoSize?: boolean; } export interface IScrollbarCallbacksMap extends IModuleCallbacksMap { /** * Triggered when the scrollbar updates its position. */ update: undefined; /** * Triggered when the scrollbar resizes. */ resize: undefined; /** Triggered when the scrollbar is shown */ show: undefined; /** Triggered when the scrollbar is hidden */ hide: undefined; /** Triggered on swipe start */ swipeStart: ISwipeCoords; /** Triggered on swipe move */ swipe: ISwipeCoords; /** Triggered on swipe end */ swipeEnd: ISwipeCoords; } //# sourceMappingURL=types.d.ts.map