UNPKG

supercharged-slider

Version:

A super modular tiny slider library.

35 lines (33 loc) 1.08 kB
export type Hook<T extends unknown> = (props: T) => void; export interface Slider { element: HTMLElement wrapper: HTMLElement, wrapperPosition: number, slides: HTMLElement[] slideStyles: Record<string, string | number> slideWidth: number slideHeight?: number activeView: number slidesPerView: number spaceBetween: number direction?: 'vertical' middlewares: Middleware[], next: () => void prev: () => void render: () => void slideTo: (index: number, silent?: boolean) => void updateSlideStyles: () => void scrollWrapperTo: (y: number) => void, onSlideChange: (callback: Hook<Slider>) => void onBeforeSlideChange: (callback: Hook<Slider>) => void onCleanUp: (callback: Hook<void>) => void removeSlideChangeHook: (hook: Hook<Slider>) => void removeBeforeSlideChangeHook: (hook: Hook<Slider>) => void removeCleanUpHook: (hook: Hook<void>) => void runBeforeSlideChangeHooks: (slider: Slider) => void runSlideChangeHooks: (slider: Slider) => void } export type Middleware = { name: string callback: (slider: Slider) => void };