@meddv/ngx-pinch-zoom
Version:
Pinch zoom component for Angular 20.
66 lines (65 loc) • 2.41 kB
TypeScript
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;
}