gesture-customizer
Version:
Help you customize and manage gesture action in web.
46 lines (45 loc) • 1.36 kB
TypeScript
export declare type GestureHandler = () => void;
export interface GestureList {
[key: string]: GestureHandlerItem[];
}
export declare type GestureHandlerItem = {
gestureHandler: GestureHandler;
gestureAction: GestureAction[];
};
export declare type KeyType = {
mouseType: 'L' | 'R' | 'LR' | 'M';
ctrlKey?: boolean;
shiftKey?: boolean;
};
export declare type Direction = 'T' | 'TR' | 'R' | 'RB' | 'B' | 'BL' | 'L' | 'LT';
export interface GestureAction {
direction: Direction;
minDistance?: number;
maxDistance?: number;
maxSpendTime?: number;
}
export declare type MoveStep = {
deltaX: number;
deltaY: number;
direction: Direction;
spendTime: number;
};
declare class GestureFactory {
gestureList: GestureList;
isPause: boolean;
MIN_DETECT_DISTANCE: number;
constructor();
private initListener;
private checkHandlerList;
private checkShouldInvokeHandler;
registry(keyType: KeyType, gestureAction: GestureAction[], callback: GestureHandler): void;
remove(keyType: KeyType, callback: GestureHandler): void;
pause(): void;
resume(): void;
private getDirection;
private saveGestureHandler;
private getMouseTypeFromButtons;
private getIdentifier;
}
export declare const Gesture: GestureFactory;
export {};