cute-clever-carousel
Version:
52 lines (51 loc) • 1.42 kB
TypeScript
import { Options } from './Options';
import { EventKeyMap, SlideEvent } from './Event';
declare class Carousel {
private styleKey;
private rootElement;
private frameElement;
private itemsElement;
private options;
/**
* [-items[n].x, -items[n-1].x,..., -items[0].x]
*/
private grid;
private touchingInfo;
private itemsX;
private inertiaCurrentVelocity;
private inertiaTimerId;
private touchEventListenerOption;
private eventEmitter;
constructor(element: Element, options: Options);
get hasNext(): boolean;
get hasPrev(): boolean;
destroy(): void;
reset(): void;
next(): void;
prev(): void;
on<K extends keyof EventKeyMap>(type: K, listener: (e: EventKeyMap[K]) => void): Carousel;
private emit;
private nextGridIndex;
private prevGridIndex;
private initializeGrid;
private moveFrameTo;
private onTransitionEnd;
private onTouchStart;
private onTouchMove;
private onTouchEnd;
/**
* => acc[px/ms^2]
* |--------------|
* | .ccc-items | -> initialVelocity[px/ms]
* |--------------|
* ----------------------------------------------> X
* ↑this.itemsX[px]
*/
private startInertiaMove;
private stopInertiaMove;
private getNearestGridX;
private abs;
private onWindowResize;
}
export default Carousel;
export { Options, SlideEvent };