UNPKG

@egjs/flicking

Version:

Everyday 30 million people experience. It's reliable, flexible and extendable carousel.

90 lines (89 loc) 3.61 kB
import Flicking, { FlickingEvents, FlickingOptions } from "./Flicking"; import { ChangedEvent, HoldEndEvent, HoldStartEvent, MoveEndEvent, MoveEvent, MoveStartEvent, RestoredEvent, WillChangeEvent, WillRestoreEvent } from "./type/event"; export declare const SIDE_EVENTS: { readonly HOLD_START: "sideHoldStart"; readonly HOLD_END: "sideHoldEnd"; readonly MOVE_START: "sideMoveStart"; readonly MOVE: "sideMove"; readonly MOVE_END: "sideMoveEnd"; readonly WILL_CHANGE: "sideWillChange"; readonly CHANGED: "sideChanged"; readonly WILL_RESTORE: "sideWillRestore"; readonly RESTORED: "sideRestored"; }; export declare type CrossFlickingEvent<T> = { mainIndex: number; } & T; export interface CrossFlickingEvents extends FlickingEvents { [SIDE_EVENTS.HOLD_START]: CrossFlickingEvent<HoldStartEvent>; [SIDE_EVENTS.HOLD_END]: CrossFlickingEvent<HoldEndEvent>; [SIDE_EVENTS.MOVE_START]: CrossFlickingEvent<MoveStartEvent>; [SIDE_EVENTS.MOVE]: CrossFlickingEvent<MoveEvent>; [SIDE_EVENTS.MOVE_END]: CrossFlickingEvent<MoveEndEvent>; [SIDE_EVENTS.WILL_CHANGE]: CrossFlickingEvent<WillChangeEvent>; [SIDE_EVENTS.CHANGED]: CrossFlickingEvent<ChangedEvent>; [SIDE_EVENTS.WILL_RESTORE]: CrossFlickingEvent<WillRestoreEvent>; [SIDE_EVENTS.RESTORED]: CrossFlickingEvent<RestoredEvent>; } export interface CrossFlickingOptions extends FlickingOptions { sideOptions: Partial<FlickingOptions> | undefined; preserveIndex: boolean | undefined; disableSlideOnHold: boolean | undefined; disableIndexSync: boolean | undefined; } export interface SideState { key: string; start: number; end: number; element: HTMLElement; } export interface CrossFlickingChangedEvent extends ChangedEvent { sideIndex?: number; } export interface CrossFlickingWillChangeEvent extends WillChangeEvent { sideIndex?: number; } export declare class CrossFlicking extends Flicking { private _sideFlicking; private _sideOptions; private _preserveIndex; private _disableSlideOnHold; private _disableIndexSync; private _sideState; private _moveDirection; private _originalDragThreshold; private _nextIndex; get sideFlicking(): Flicking[]; get sideIndex(): number[]; get sideState(): SideState[]; get sideOptions(): CrossFlickingOptions["sideOptions"]; get preserveIndex(): CrossFlickingOptions["preserveIndex"]; get disableSlideOnHold(): CrossFlickingOptions["disableSlideOnHold"]; get disableIndexSync(): CrossFlickingOptions["disableIndexSync"]; set sideOptions(val: CrossFlickingOptions["sideOptions"]); set preserveIndex(val: CrossFlickingOptions["preserveIndex"]); set disableSlideOnHold(val: CrossFlickingOptions["disableSlideOnHold"]); set disableIndexSync(val: CrossFlickingOptions["disableIndexSync"]); constructor(root: HTMLElement | string, options: Partial<CrossFlickingOptions>); init(): Promise<void>; destroy(): void; private _addComponentEvents; private _createSideState; private _createCrossStructure; private _getGroupFromAttribute; private _getSideStateFromGroup; private _getSideStateFromPanels; private _getSideStateFromCrossStructure; private _createSideFlicking; private _syncToCategory; private _setDraggable; private _setPreviousSideIndex; private _addSideIndex; private _onHorizontalHoldStart; private _onHorizontalMove; private _onHorizontalMoveEnd; private _onSideHoldStart; private _onSideMove; private _onSideMoveEnd; private _onSideChanged; }