UNPKG

epic-slidy

Version:
69 lines (68 loc) 2.36 kB
export interface GenericObject { [key: string]: any; } export interface Options { transition: Transition['cb']; auto?: boolean; click?: boolean; controls?: boolean | string; debounce?: number; drag?: boolean; group?(): number; height?: 'auto' | number; index?: number; interval?: number; keyboard?: boolean; loop?: boolean; namespace?: string; nav?: boolean | string; pagination?: boolean | string; pause?: boolean; preserveGroup?: boolean; queue?: number; resize?: boolean; reverse?: boolean; swipe?: boolean; tap?: boolean; zerofill?: boolean | number; } interface BaseAction { trigger: Trigger; animate?: boolean; } /** * Initiated by Slidy `slide` method, used by manager. */ export interface Action extends BaseAction { index?: number; move: Move; } /** * Used by transition callback. */ export interface TransitionInfos extends BaseAction { direction: Direction; currentIndex: number; newIndex: number; currentGroup: number; newGroup: number; } export declare type Direction = 'prev' | 'next'; export declare type Move = Direction | 'to'; export declare type Trigger = 'auto' | 'click' | 'tap' | 'drag' | 'swipe' | 'nav' | 'pagination' | 'controls'; export declare type GestureDirection = 'left' | 'right'; export declare type SupportedEvents = 'click' | 'tap' | 'drag' | 'swipe'; export declare type SupportedTypes = 'click' | 'mousedown' | 'mouseup' | 'mousemove' | 'touchstart' | 'touchend' | 'touchmove' | 'pointerdown' | 'pointerup' | 'pointermove'; export interface Transition { cb(currentSlides: HTMLElement | HTMLElement[], newSlides: HTMLElement | HTMLElement[], infos?: TransitionInfos, context?: any, data?: any): Promise<any>; } export declare type HooksNames = 'beforeInit' | 'afterInit' | 'afterResize' | 'preventSlide' | 'beforeSlide' | 'afterSlide'; export interface HooksCallbacks { beforeInit: (el: HTMLElement) => void; afterInit: (el: HTMLElement) => void; afterResize: (el: HTMLElement) => void; preventSlide: (action: Action) => boolean; beforeSlide: (infos: TransitionInfos, context?: any, data?: any) => void; afterSlide: (infos: TransitionInfos, context?: any, data?: any) => void; } export {};