UNPKG

@orca-fe/x-map

Version:
68 lines (67 loc) 3.31 kB
declare module 'mjolnir.js' { type BaseEvent = { key: number; leftButton: boolean; middleButton: boolean; rightButton: boolean; pointerType: 'mouse' | 'touch' | 'pointer'; pointers: unknown[]; deltaX: number; deltaY: number; delta: number; rotation: number; scale: number; }; type BasicInputEvents = 'keydown' | 'keyup'; type BasicPointerEvents = 'mousedown' | 'pointerdown' | 'mousemove' | 'pointermove' | 'mouseup' | 'pointerup' | 'mouseover' | 'pointerover' | 'mouseout' | 'pointerout' | 'mouseleave' | 'pointerleave' | 'wheel' | 'contextmenu'; type GestureRotateEvents = 'rotate' | 'rotatestart' | 'rotatemove' | 'rotateend' | 'rotatecancel'; type GesturePinchEvents = 'pinch' | 'pinchin' | 'pinchout' | 'pinchstart' | 'pinchmove' | 'pinchend' | 'pinchcancel'; type GestureSwipeEvents = 'swipe' | 'swipeleft' | 'swiperight' | 'swipeup' | 'swipedown'; type GestureTriEvents = 'tripan' | 'tripanstart' | 'tripanmove' | 'tripanup' | 'tripandown' | 'tripanleft' | 'tripanright' | 'tripanend' | 'tripancancel'; type GesturePanEvents = 'pan' | 'panstart' | 'panmove' | 'panup' | 'pandown' | 'panleft' | 'panright' | 'panend' | 'pancancel'; type OtherEvents = 'press' | 'doubletap' | 'dblclick' | 'tap' | 'click' | 'anytap' | 'anyclick'; type AllEvents = BasicInputEvents | BasicPointerEvents | GestureRotateEvents | GesturePinchEvents | GestureSwipeEvents | GestureTriEvents | GesturePanEvents | OtherEvents; type MjolnirEvent = BaseEvent & { type: AllEvents; center: { x: number; y: number; }; offsetCenter: { x: number; y: number; }; target: Object; srcEvent: Object; preventDefault: Function; stopPropagation: Function; stopImmediatePropagation: Function; }; type MjolnirEventHandler = (ev: MjolnirEvent) => void; type MjolnirEventHandlerOptions = { srcElement?: HTMLElement; priority?: number; }; type EventMap = Partial<Record<AllEvents, MjolnirEventHandler>>; type EventManagerInitOptions = { events?: EventMap; recognizers?: Object; recognizerOptions?: Object; rightButton?: boolean; touchAction?: string; tabIndex?: number; }; class EventManager { constructor(element: HTMLElement | null | undefined, options?: EventManagerInitOptions); destroy(): any; setElement(element: HTMLElement | null): any; on(event: AllEvents, handler: MjolnirEventHandler, options?: MjolnirEventHandlerOptions): any; on(eventMap: EventMap, options?: MjolnirEventHandlerOptions): any; once(event: AllEvents, handler: MjolnirEventHandler, options?: MjolnirEventHandlerOptions): any; once(eventMap: EventMap, options?: MjolnirEventHandlerOptions): any; watch(event: AllEvents, handler: MjolnirEventHandler, options?: MjolnirEventHandlerOptions): any; watch(eventMap: EventMap, options?: MjolnirEventHandlerOptions): any; off(event: AllEvents, handler: MjolnirEventHandler): any; off(eventMap: EventMap): any; } }