UNPKG

react-quick-pinch-zoom

Version:

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

51 lines (50 loc) 1.25 kB
import { ReactElement } from 'react'; export interface UpdateAction { x: number; y: number; scale: number; } export interface AnimateOptions { timeFn?: (x: number) => number; callback?: () => void; duration?: number; } export interface ScaleToOptions { x: number; y: number; scale: number; animated?: boolean; duration?: number; } export interface DefaultProps { shouldInterceptWheel: (e: WheelEvent) => boolean; containerProps: React.HTMLAttributes<HTMLDivElement>; animationDuration: number; wheelScaleFactor: number; draggableUnZoomed: boolean; inertia: boolean; inertiaFriction: number; enabled: boolean; horizontalPadding: number; lockDragAxis: boolean; maxZoom: number; minZoom: number; onDoubleTap: () => void; onDragEnd: () => void; onDragStart: () => void; onDragUpdate: () => void; onZoomEnd: () => void; onZoomStart: () => void; onZoomUpdate: () => void; setOffsetsOnce: boolean; tapZoomFactor: number; verticalPadding: number; zoomOutFactor: number; isTouch: () => boolean; _document: Document; } export interface RequiredProps { onUpdate: (updateAction: UpdateAction) => void; children: ReactElement; } export interface Props extends DefaultProps, RequiredProps {}