@egjs/flicking
Version:
Everyday 30 million people experience. It's reliable, flexible and extendable carousel.
90 lines (89 loc) • 3.61 kB
TypeScript
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;
}