UNPKG

react-quick-pinch-zoom

Version:

A react component that providing multi-touch gestures for zooming and dragging on any DOM element.

91 lines (90 loc) 2.65 kB
import React, { Component } from 'react'; import { ScaleToOptions, Props, DefaultProps } from './types'; declare class PinchZoom extends Component<Props> { static defaultProps: DefaultProps; private _velocity; private _prevDragMovePoint; private _containerObserver; private _fingers; private _firstMove; private _hasInteraction; private _inAnimation; private _initialOffset; private _interaction; private _isDoubleTap; private _isOffsetsSet; private _lastDragPosition; private _lastScale; private _lastTouchStart; private _lastZoomCenter; private _listenMouseMove; private _nthZoom; private _offset; private _startOffset; private _startTouches; private _updatePlaned; private _wheelTimeOut; private _zoomFactor; private _initialZoomFactor; private _draggingPoint; private _ignoreNextClick; private _containerRef; private _handleClick; private _handleDragStart; private _handleDrag; private _resetInertia; private _realizeInertia; private _collectInertia; private _handleDragEnd; private _handleZoomStart; private _handleZoom; private _handleZoomEnd; private _handleDoubleTap; private _computeInitialOffset; private _resetOffset; private _setupOffsets; private _sanitizeOffset; alignCenter(options: ScaleToOptions): void; scaleTo(options: ScaleToOptions): void; private _scaleTo; private _scale; private _scaleZoomFactor; private _canDrag; private _drag; private _virtualDrag; private _addOffset; private _sanitize; private _isInsaneOffset; private _sanitizeOffsetAnimation; private _zoomOutAnimation; private _getInitialZoomFactor; private _getCurrentZoomCenter; private _getOffsetByFirstTouch; private _getOffsetTouches; private _animate; private _stopAnimation; private _end; private _getContainerRect; private _getChildSize; private _updateInitialZoomFactor; private _onResize; private _bindEvents; private _unSubscribe; private _update; private _handlerIfEnable; private _setInteraction; private _distanceBetweenNumbers; private _enoughToDrag; private _updateInteraction; private _detectDoubleTap; private _handlerOnTouchEnd; private _handlerOnTouchStart; private _handlerOnTouchMove; simulate(fn: (e: TouchEvent) => void): (a: MouseEvent) => void; private _handlerWheel; private _handlers; componentDidMount(): void; componentWillUnmount(): void; render(): React.JSX.Element; } export default PinchZoom;