UNPKG

6.73 kBTypeScriptView Raw
1import * as React from 'react';
2import { State } from '../State';
3import { ValueOf } from '../typeUtils';
4export interface GestureEventPayload {
5 handlerTag: number;
6 numberOfPointers: number;
7 state: ValueOf<typeof State>;
8}
9export interface HandlerStateChangeEventPayload {
10 handlerTag: number;
11 numberOfPointers: number;
12 state: ValueOf<typeof State>;
13 oldState: ValueOf<typeof State>;
14}
15export interface GestureEvent<ExtraEventPayloadT = Record<string, unknown>> {
16 nativeEvent: Readonly<GestureEventPayload & ExtraEventPayloadT>;
17}
18export interface HandlerStateChangeEvent<ExtraEventPayloadT = Record<string, unknown>> {
19 nativeEvent: Readonly<HandlerStateChangeEventPayload & ExtraEventPayloadT>;
20}
21export declare type BaseGestureHandlerProps<ExtraEventPayloadT extends Record<string, unknown> = Record<string, unknown>> = {
22 id?: string;
23 enabled?: boolean;
24 minPointers?: number;
25 waitFor?: React.Ref<unknown> | React.Ref<unknown>[];
26 simultaneousHandlers?: React.Ref<unknown> | React.Ref<unknown>[];
27 shouldCancelWhenOutside?: boolean;
28 hitSlop?: number | Partial<Record<'left' | 'right' | 'top' | 'bottom' | 'vertical' | 'horizontal', number>> | Record<'width' | 'left', number> | Record<'width' | 'right', number> | Record<'height' | 'top', number> | Record<'height' | 'bottom', number>;
29 onBegan?: (event: HandlerStateChangeEvent) => void;
30 onFailed?: (event: HandlerStateChangeEvent) => void;
31 onCancelled?: (event: HandlerStateChangeEvent) => void;
32 onActivated?: (event: HandlerStateChangeEvent) => void;
33 onEnded?: (event: HandlerStateChangeEvent) => void;
34 onGestureEvent?: (event: GestureEvent<ExtraEventPayloadT>) => void;
35 onHandlerStateChange?: (event: HandlerStateChangeEvent<ExtraEventPayloadT>) => void;
36};
37export declare const baseProps: readonly ["id", "enabled", "minPointers", "waitFor", "simultaneousHandlers", "shouldCancelWhenOutside", "hitSlop", "onBegan", "onFailed", "onCancelled", "onActivated", "onEnded", "onGestureEvent", "onHandlerStateChange"];
38export declare type TapGestureHandlerEventPayload = {
39 x: number;
40 y: number;
41 absoluteX: number;
42 absoluteY: number;
43};
44export interface TapGestureHandlerProps extends BaseGestureHandlerProps<TapGestureHandlerEventPayload> {
45 minPointers?: number;
46 maxDurationMs?: number;
47 maxDelayMs?: number;
48 numberOfTaps?: number;
49 maxDeltaX?: number;
50 maxDeltaY?: number;
51 maxDist?: number;
52}
53export declare type TapGestureHandler = typeof TapGestureHandler;
54export declare const TapGestureHandler: React.ComponentType<TapGestureHandlerProps & React.RefAttributes<any>>;
55export declare type FlingGestureHandlerEventPayload = {
56 x: number;
57 y: number;
58 absoluteX: number;
59 absoluteY: number;
60};
61export interface FlingGestureHandlerProps extends BaseGestureHandlerProps<FlingGestureHandlerEventPayload> {
62 direction?: number;
63 numberOfPointers?: number;
64}
65export declare type FlingGestureHandler = typeof FlingGestureHandler;
66export declare const FlingGestureHandler: React.ComponentType<FlingGestureHandlerProps & React.RefAttributes<any>>;
67declare class ForceTouchFallback extends React.Component {
68 static forceTouchAvailable: boolean;
69 componentDidMount(): void;
70 render(): React.ReactNode;
71}
72export declare type ForceTouchGestureHandlerEventPayload = {
73 x: number;
74 y: number;
75 absoluteX: number;
76 absoluteY: number;
77 force: number;
78};
79export interface ForceTouchGestureHandlerProps extends BaseGestureHandlerProps<ForceTouchGestureHandlerEventPayload> {
80 minForce?: number;
81 maxForce?: number;
82 feedbackOnActivation?: boolean;
83}
84export declare type ForceTouchGestureHandler = typeof ForceTouchGestureHandler & {
85 forceTouchAvailable: boolean;
86};
87export declare const ForceTouchGestureHandler: typeof ForceTouchFallback | React.ComponentClass<ForceTouchGestureHandlerProps & React.RefAttributes<any>, any> | React.FunctionComponent<ForceTouchGestureHandlerProps & React.RefAttributes<any>>;
88export declare type LongPressGestureHandlerEventPayload = {
89 x: number;
90 y: number;
91 absoluteX: number;
92 absoluteY: number;
93};
94export interface LongPressGestureHandlerProps extends BaseGestureHandlerProps<LongPressGestureHandlerEventPayload> {
95 minDurationMs?: number;
96 maxDist?: number;
97}
98export declare type LongPressGestureHandler = typeof LongPressGestureHandler;
99export declare const LongPressGestureHandler: React.ComponentType<LongPressGestureHandlerProps & React.RefAttributes<any>>;
100export declare type PanGestureHandlerEventPayload = {
101 x: number;
102 y: number;
103 absoluteX: number;
104 absoluteY: number;
105 translationX: number;
106 translationY: number;
107 velocityX: number;
108 velocityY: number;
109};
110export interface PanGestureHandlerProps extends BaseGestureHandlerProps<PanGestureHandlerEventPayload> {
111 /** @deprecated use activeOffsetX*/
112 minDeltaX?: number;
113 /** @deprecated use activeOffsetY*/
114 minDeltaY?: number;
115 /** @deprecated use failOffsetX*/
116 maxDeltaX?: number;
117 /** @deprecated use failOffsetY*/
118 maxDeltaY?: number;
119 /** @deprecated use activeOffsetX*/
120 minOffsetX?: number;
121 /** @deprecated use failOffsetY*/
122 minOffsetY?: number;
123 activeOffsetY?: number | number[];
124 activeOffsetX?: number | number[];
125 failOffsetY?: number | number[];
126 failOffsetX?: number | number[];
127 minDist?: number;
128 minVelocity?: number;
129 minVelocityX?: number;
130 minVelocityY?: number;
131 minPointers?: number;
132 maxPointers?: number;
133 avgTouches?: boolean;
134 enableTrackpadTwoFingerGesture?: boolean;
135}
136export declare type PanGestureHandler = typeof PanGestureHandler;
137export declare const PanGestureHandler: React.ComponentType<PanGestureHandlerProps & React.RefAttributes<any>>;
138export declare type PinchGestureHandlerEventPayload = {
139 scale: number;
140 focalX: number;
141 focalY: number;
142 velocity: number;
143};
144export interface PinchGestureHandlerProps extends BaseGestureHandlerProps<PinchGestureHandlerEventPayload> {
145}
146export declare type PinchGestureHandler = typeof PinchGestureHandler;
147export declare const PinchGestureHandler: React.ComponentType<PinchGestureHandlerProps & React.RefAttributes<any>>;
148export declare type RotationGestureHandlerEventPayload = {
149 rotation: number;
150 anchorX: number;
151 anchorY: number;
152 velocity: number;
153};
154export interface RotationGestureHandlerProps extends BaseGestureHandlerProps<RotationGestureHandlerEventPayload> {
155}
156export declare type RotationGestureHandler = typeof RotationGestureHandler;
157export declare const RotationGestureHandler: React.ComponentType<RotationGestureHandlerProps & React.RefAttributes<any>>;
158export {};