reaviz
Version:
Data Visualization using React
62 lines (61 loc) • 2.02 kB
TypeScript
import { default as React, Component, PropsWithChildren } from 'react';
interface PanProps extends PropsWithChildren {
disabled: boolean;
threshold: number;
cursor?: string;
x: number;
y: number;
scale: number;
matrix: any;
width: number;
height: number;
constrain: boolean;
globalPanning: boolean;
onPanStart: (event: PanStartEvent) => void;
onPanMove: (event: PanMoveEvent) => void;
onPanEnd: (event: PanEndEvent) => void;
onPanCancel: (event: PanCancelEvent) => void;
}
export interface PanStartEvent {
source: 'mouse' | 'touch';
nativeEvent: MouseEvent | TouchEvent;
}
export interface PanMoveEvent {
source: 'mouse' | 'touch';
x: number;
y: number;
nativeEvent: MouseEvent | TouchEvent;
}
export interface PanEndEvent {
source: 'mouse' | 'touch';
nativeEvent: MouseEvent | TouchEvent;
}
export interface PanCancelEvent {
source: 'mouse' | 'touch';
nativeEvent: MouseEvent | TouchEvent;
}
export declare class Pan extends Component<PanProps> {
static defaultProps: Partial<PanProps>;
prevXPosition: number;
prevYPosition: number;
started: boolean;
deltaX: number;
deltaY: number;
childRef: React.RefObject<SVGGElement>;
componentDidMount(): void;
componentWillUnmount(): void;
disposeHandlers(): void;
checkThreshold(): boolean;
onPanStart(nativeEvent: any, source: 'mouse' | 'touch'): void;
onPanMove(x: number, y: number, source: 'mouse' | 'touch', nativeEvent: any): void;
onPanEnd(nativeEvent: any, source: 'mouse' | 'touch'): void;
pan(x: number, y: number, nativeEvent: any, source: 'mouse' | 'touch'): boolean;
onMouseDown: (event: MouseEvent) => void;
onMouseMove: (event: MouseEvent) => void;
onMouseUp: (event: MouseEvent) => void;
onTouchStart: (event: TouchEvent) => void;
onTouchMove: (event: TouchEvent) => void;
onTouchEnd: (event: TouchEvent) => void;
render(): import("react/jsx-runtime").JSX.Element;
}
export {};