UNPKG

@meddv/ngx-pinch-zoom

Version:

Pinch zoom component for Angular 20.

66 lines (65 loc) 2.41 kB
export interface Properties { element: HTMLElement; listeners?: 'auto' | 'mouse and touch'; touchListeners?: TouchListeners; mouseListeners?: MouseListeners; otherListeners?: OtherListeners; resize?: boolean; } export type EventType = undefined | 'touchstart' | 'touchend' | 'touchmove' | 'mousedown' | 'mouseup' | 'mousemove' | 'pan' | 'pinch' | 'horizontal-swipe' | 'vertical-swipe' | 'tap' | 'longtap' | 'wheel' | 'double-tap' | 'resize'; export type TouchHandler = 'handleTouchstart' | 'handleTouchmove' | 'handleTouchend'; export type MouseHandler = 'handleMousedown' | 'handleMousemove' | 'handleMouseup' | 'handleWheel'; export type OtherHandler = 'handleResize'; export type TouchListeners = Partial<Record<'touchstart' | 'touchmove' | 'touchend', TouchHandler>>; export type MouseListeners = Partial<Record<'mousedown' | 'mousemove' | 'mouseup' | 'wheel', MouseHandler>>; export type OtherListeners = Partial<Record<'resize', OtherHandler>>; export declare class Touches { private properties; private element; private elementPosition; private eventType; private handlers; private startX; private startY; private lastTap; private doubleTapTimeout; private doubleTapMinTimeout; private tapMinTimeout; private touchstartTime; private i; private isMousedown; private _touchListeners; private _mouseListeners; private _otherListeners; private get touchListeners(); private get mouseListeners(); private get otherListeners(); constructor(properties: Properties); destroy(): void; private toggleEventListeners; addEventListeners(listener: string): void; removeEventListeners(listener: string): void; private handleTouchstart; private handleTouchmove; private handleLinearSwipe; private handleTouchend; private handleMousedown; private handleMousemove; private handleMouseup; private handleWheel; private handleResize; private runHandler; private detectPan; private detectDoubleTap; private detectTap; private detectPinch; private detectLinearSwipe; private getLinearSwipeType; private getElementPosition; private getTouchstartPosition; private getMousedownPosition; private moveLeft; private moveTop; private detectTouchScreen; on(event: EventType, handler: (event: Event) => void): void; }