react-native-gesture-handler 2.7.1 → 2.8.0
Sign up to get free protection for your applications and to get access to all the features.
- package/android/build.gradle +10 -5
- package/android/noreanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +3 -3
- package/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +7 -7
- package/android/src/fabric/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +2 -2
- package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +3 -3
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/FlingGestureHandler.kt +12 -9
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandler.kt +39 -31
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerInteractionController.kt +1 -1
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerOrchestrator.kt +28 -19
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerRegistry.kt +1 -1
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureUtils.kt +1 -1
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/LongPressGestureHandler.kt +1 -1
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ManualGestureHandler.kt +1 -1
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/NativeViewGestureHandler.kt +5 -5
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/OnTouchEventListener.kt +1 -1
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PanGestureHandler.kt +7 -5
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PinchGestureHandler.kt +11 -4
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PointerEventsConfig.kt +1 -1
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/RotationGestureDetector.kt +1 -1
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/RotationGestureHandler.kt +7 -2
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ScaleGestureDetector.java +1 -1
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/TapGestureHandler.kt +3 -3
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ViewConfigurationHelper.kt +1 -1
- package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/react}/Extensions.kt +3 -3
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +7 -6
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +1 -5
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +6 -6
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.kt +1 -1
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +3 -3
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +35 -14
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +2 -2
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +8 -6
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +0 -2
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +4 -2
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +7 -7
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +5 -5
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +2 -2
- package/android/src/paper/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +5 -5
- package/ios/Handlers/RNManualHandler.m +24 -8
- package/ios/RNGestureHandlerButtonComponentView.mm +7 -8
- package/ios/RNGestureHandlerManager.mm +176 -178
- package/lib/commonjs/RNGestureHandlerModule.macos.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.windows.js +156 -0
- package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -0
- package/lib/commonjs/components/DrawerLayout.js +1 -0
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/Swipeable.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.js +2 -2
- package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js +5 -2
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +4 -0
- package/lib/commonjs/handlers/gestures/GestureDetector.js +17 -10
- package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -1
- package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
- package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +28 -3
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -1
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js +15 -0
- package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -2
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -5
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -1
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -1
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/interfaces.js.map +1 -1
- package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
- package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NodeManager.js +4 -1
- package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
- package/lib/commonjs/web_hammer/PanGestureHandler.js +25 -6
- package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.macos.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.windows.js +117 -0
- package/lib/module/RNGestureHandlerModule.windows.js.map +1 -0
- package/lib/module/components/DrawerLayout.js +1 -0
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/Swipeable.js.map +1 -1
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/module/getShadowNodeFromRef.js +2 -2
- package/lib/module/getShadowNodeFromRef.js.map +1 -1
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/gestureHandlerCommon.js +5 -2
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/module/handlers/gestureHandlerTypesCompat.js +1 -1
- package/lib/module/handlers/gestures/GestureDetector.js +17 -10
- package/lib/module/handlers/gestures/GestureDetector.js.map +1 -1
- package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/module/handlers/gestures/gesture.js.map +1 -1
- package/lib/module/jestUtils/jestUtils.js.map +1 -1
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +0 -1
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js +28 -3
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/LongPressGestureHandler.js +0 -1
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/ManualGestureHandler.js +15 -0
- package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -2
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +0 -5
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PinchGestureHandler.js +0 -1
- package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/RotationGestureHandler.js +0 -1
- package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +0 -1
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/interfaces.js.map +1 -1
- package/lib/module/web/tools/InteractionManager.js.map +1 -1
- package/lib/module/web_hammer/GestureHandler.js.map +1 -1
- package/lib/module/web_hammer/NodeManager.js +4 -1
- package/lib/module/web_hammer/NodeManager.js.map +1 -1
- package/lib/module/web_hammer/PanGestureHandler.js +25 -6
- package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/typescript/RNGestureHandlerModule.macos.d.ts +1 -1
- package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -1
- package/lib/typescript/RNGestureHandlerModule.windows.d.ts +48 -0
- package/lib/typescript/components/DrawerLayout.d.ts +7 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +1 -1
- package/lib/typescript/handlers/PanGestureHandler.d.ts +1 -1
- package/lib/typescript/handlers/gestureHandlerCommon.d.ts +3 -1
- package/lib/typescript/handlers/gestures/GestureDetector.d.ts +3 -1
- package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +3 -1
- package/lib/typescript/web/interfaces.d.ts +3 -1
- package/lib/typescript/web/tools/NodeManager.d.ts +2 -2
- package/package.json +14 -10
- package/src/RNGestureHandlerModule.macos.ts +2 -2
- package/src/RNGestureHandlerModule.web.ts +2 -2
- package/src/RNGestureHandlerModule.windows.ts +140 -0
- package/src/components/DrawerLayout.tsx +14 -8
- package/src/components/Swipeable.tsx +2 -4
- package/src/components/touchables/TouchableOpacity.tsx +1 -1
- package/src/getShadowNodeFromRef.ts +3 -3
- package/src/handlers/createHandler.tsx +13 -15
- package/src/handlers/gestureHandlerCommon.ts +9 -4
- package/src/handlers/gestureHandlerTypesCompat.ts +34 -17
- package/src/handlers/gestures/GestureDetector.tsx +36 -16
- package/src/handlers/gestures/eventReceiver.ts +2 -1
- package/src/handlers/gestures/gesture.ts +8 -12
- package/src/jestUtils/jestUtils.ts +3 -4
- package/src/web/detectors/RotationGestureDetector.ts +2 -1
- package/src/web/handlers/FlingGestureHandler.ts +2 -3
- package/src/web/handlers/GestureHandler.ts +30 -11
- package/src/web/handlers/LongPressGestureHandler.ts +0 -2
- package/src/web/handlers/ManualGestureHandler.ts +10 -1
- package/src/web/handlers/NativeViewGestureHandler.ts +0 -2
- package/src/web/handlers/PanGestureHandler.ts +0 -6
- package/src/web/handlers/PinchGestureHandler.ts +0 -2
- package/src/web/handlers/RotationGestureHandler.ts +2 -5
- package/src/web/handlers/TapGestureHandler.ts +0 -2
- package/src/web/interfaces.ts +3 -0
- package/src/web/tools/InteractionManager.ts +2 -3
- package/src/web_hammer/GestureHandler.ts +6 -8
- package/src/web_hammer/NodeManager.ts +3 -1
- package/src/web_hammer/PanGestureHandler.ts +12 -6
- package/android/lib/build.gradle +0 -28
@@ -1,6 +1,7 @@
|
|
1
1
|
import * as React from 'react';
|
2
2
|
import { Component } from 'react';
|
3
3
|
import { Animated, StatusBarAnimation, StyleProp, ViewStyle } from 'react-native';
|
4
|
+
import { UserSelect } from '../handlers/gestureHandlerCommon';
|
4
5
|
import { PanGestureHandler } from '../handlers/PanGestureHandler';
|
5
6
|
export declare type DrawerPosition = 'left' | 'right';
|
6
7
|
export declare type DrawerState = 'Idle' | 'Dragging' | 'Settling';
|
@@ -79,6 +80,12 @@ export interface DrawerLayoutProps {
|
|
79
80
|
onDrawerSlide?: (position: number) => void;
|
80
81
|
onGestureRef?: (ref: PanGestureHandler) => void;
|
81
82
|
children?: React.ReactNode | ((openValue?: Animated.AnimatedInterpolation) => React.ReactNode);
|
83
|
+
/**
|
84
|
+
* @default 'none'
|
85
|
+
* Defines which userSelect property should be used.
|
86
|
+
* Values: 'none'|'text'|'auto'
|
87
|
+
*/
|
88
|
+
userSelect?: UserSelect;
|
82
89
|
}
|
83
90
|
export declare type DrawerLayoutState = {
|
84
91
|
dragX: Animated.Value;
|
@@ -22,7 +22,7 @@ export declare type NativeViewGestureHandlerPayload = {
|
|
22
22
|
*/
|
23
23
|
pointerInside: boolean;
|
24
24
|
};
|
25
|
-
export declare const nativeViewProps: readonly ["id", "enabled", "shouldCancelWhenOutside", "hitSlop", "cancelsTouchesInView", "waitFor", "simultaneousHandlers", "onBegan", "onFailed", "onCancelled", "onActivated", "onEnded", "onGestureEvent", "onHandlerStateChange", "shouldActivateOnStart", "disallowInterruption"];
|
25
|
+
export declare const nativeViewProps: readonly ["id", "enabled", "shouldCancelWhenOutside", "hitSlop", "cancelsTouchesInView", "userSelect", "waitFor", "simultaneousHandlers", "onBegan", "onFailed", "onCancelled", "onActivated", "onEnded", "onGestureEvent", "onHandlerStateChange", "shouldActivateOnStart", "disallowInterruption"];
|
26
26
|
export declare const nativeViewHandlerName = "NativeViewGestureHandler";
|
27
27
|
export declare type NativeViewGestureHandler = typeof NativeViewGestureHandler;
|
28
28
|
export declare const NativeViewGestureHandler: import("react").ComponentType<NativeViewGestureHandlerProps & import("react").RefAttributes<any>>;
|
@@ -135,5 +135,5 @@ export interface PanGestureHandlerProps extends BaseGestureHandlerProps<PanGestu
|
|
135
135
|
export declare const panHandlerName = "PanGestureHandler";
|
136
136
|
export declare type PanGestureHandler = typeof PanGestureHandler;
|
137
137
|
export declare const PanGestureHandler: import("react").ComponentType<PanGestureHandlerProps & import("react").RefAttributes<any>>;
|
138
|
-
export declare function managePanProps(props: PanGestureHandlerProps): PanGestureHandlerProps & Partial<Record<"
|
138
|
+
export declare function managePanProps(props: PanGestureHandlerProps): PanGestureHandlerProps & Partial<Record<"activeOffsetXStart" | "activeOffsetXEnd" | "failOffsetXStart" | "failOffsetXEnd" | "activeOffsetYStart" | "activeOffsetYEnd" | "failOffsetYStart" | "failOffsetYEnd", number>>;
|
139
139
|
export {};
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
2
2
|
import { State } from '../State';
|
3
3
|
import { TouchEventType } from '../TouchEventType';
|
4
4
|
import { ValueOf } from '../typeUtils';
|
5
|
-
export declare const baseGestureHandlerProps: readonly ["id", "enabled", "shouldCancelWhenOutside", "hitSlop", "cancelsTouchesInView", "waitFor", "simultaneousHandlers", "onBegan", "onFailed", "onCancelled", "onActivated", "onEnded", "onGestureEvent", "onHandlerStateChange"];
|
5
|
+
export declare const baseGestureHandlerProps: readonly ["id", "enabled", "shouldCancelWhenOutside", "hitSlop", "cancelsTouchesInView", "userSelect", "waitFor", "simultaneousHandlers", "onBegan", "onFailed", "onCancelled", "onActivated", "onEnded", "onGestureEvent", "onHandlerStateChange"];
|
6
6
|
export declare const baseGestureHandlerWithMonitorProps: string[];
|
7
7
|
export interface GestureEventPayload {
|
8
8
|
handlerTag: number;
|
@@ -13,6 +13,7 @@ export interface HandlerStateChangeEventPayload extends GestureEventPayload {
|
|
13
13
|
oldState: ValueOf<typeof State>;
|
14
14
|
}
|
15
15
|
export declare type 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>;
|
16
|
+
export declare type UserSelect = 'none' | 'auto' | 'text';
|
16
17
|
export interface GestureEvent<ExtraEventPayloadT = Record<string, unknown>> {
|
17
18
|
nativeEvent: Readonly<GestureEventPayload & ExtraEventPayloadT>;
|
18
19
|
}
|
@@ -40,6 +41,7 @@ export declare type CommonGestureConfig = {
|
|
40
41
|
enabled?: boolean;
|
41
42
|
shouldCancelWhenOutside?: boolean;
|
42
43
|
hitSlop?: HitSlop;
|
44
|
+
userSelect?: UserSelect;
|
43
45
|
};
|
44
46
|
export declare type BaseGestureHandlerProps<ExtraEventPayloadT extends Record<string, unknown> = Record<string, unknown>> = CommonGestureConfig & {
|
45
47
|
id?: string;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { GestureType, HandlerCallbacks } from './gesture';
|
3
3
|
import { SharedValue } from './reanimatedWrapper';
|
4
|
+
import { UserSelect } from '../gestureHandlerCommon';
|
4
5
|
import { ComposedGesture } from './gestureComposition';
|
5
6
|
export declare type GestureConfigReference = {
|
6
7
|
config: GestureType[];
|
@@ -10,7 +11,8 @@ export declare type GestureConfigReference = {
|
|
10
11
|
useReanimatedHook: boolean;
|
11
12
|
};
|
12
13
|
interface GestureDetectorProps {
|
13
|
-
gesture
|
14
|
+
gesture: ComposedGesture | GestureType;
|
15
|
+
userSelect?: UserSelect;
|
14
16
|
children?: React.ReactNode;
|
15
17
|
}
|
16
18
|
export declare const GestureDetector: (props: GestureDetectorProps) => JSX.Element;
|
@@ -1,10 +1,12 @@
|
|
1
|
-
import { AdaptedEvent } from '../interfaces';
|
1
|
+
import { AdaptedEvent, Config } from '../interfaces';
|
2
2
|
import GestureHandler from './GestureHandler';
|
3
3
|
export default class ManualGestureHandler extends GestureHandler {
|
4
4
|
init(ref: number, propsRef: React.RefObject<unknown>): void;
|
5
|
+
updateGestureConfig({ enabled, ...props }: Config): void;
|
5
6
|
protected onPointerDown(event: AdaptedEvent): void;
|
6
7
|
protected onPointerAdd(event: AdaptedEvent): void;
|
7
8
|
protected onPointerMove(event: AdaptedEvent): void;
|
9
|
+
protected onPointerOutOfBounds(event: AdaptedEvent): void;
|
8
10
|
protected onPointerUp(event: AdaptedEvent): void;
|
9
11
|
protected onPointerRemove(event: AdaptedEvent): void;
|
10
12
|
protected onPointerCancel(event: AdaptedEvent): void;
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { UserSelect } from '../handlers/gestureHandlerCommon';
|
1
2
|
import { Directions } from '../Directions';
|
2
3
|
import { State } from '../State';
|
3
4
|
export interface HitSlop {
|
@@ -13,13 +14,14 @@ export interface HitSlop {
|
|
13
14
|
export interface Handler {
|
14
15
|
handlerTag: number;
|
15
16
|
}
|
16
|
-
declare type ConfigArgs = number | boolean | HitSlop | Directions | Handler[] | null | undefined;
|
17
|
+
declare type ConfigArgs = number | boolean | HitSlop | UserSelect | Directions | Handler[] | null | undefined;
|
17
18
|
export interface Config extends Record<string, ConfigArgs> {
|
18
19
|
enabled?: boolean;
|
19
20
|
simultaneousHandlers?: Handler[] | null;
|
20
21
|
waitFor?: Handler[] | null;
|
21
22
|
hitSlop?: HitSlop;
|
22
23
|
shouldCancelWhenOutside?: boolean;
|
24
|
+
userSelect?: UserSelect;
|
23
25
|
activateAfterLongPress?: number;
|
24
26
|
failOffsetXStart?: number;
|
25
27
|
failOffsetYStart?: number;
|
@@ -2,10 +2,10 @@ import { ValueOf } from '../../typeUtils';
|
|
2
2
|
import { Gestures } from '../../RNGestureHandlerModule.web';
|
3
3
|
export default abstract class NodeManager {
|
4
4
|
private static gestures;
|
5
|
-
static getHandler(tag: number): import("../handlers/
|
5
|
+
static getHandler(tag: number): import("../handlers/NativeViewGestureHandler").default | import("../handlers/PanGestureHandler").default | import("../handlers/TapGestureHandler").default | import("../handlers/LongPressGestureHandler").default | import("../handlers/PinchGestureHandler").default | import("../handlers/RotationGestureHandler").default | import("../handlers/FlingGestureHandler").default | import("../handlers/ManualGestureHandler").default;
|
6
6
|
static createGestureHandler(handlerTag: number, handler: InstanceType<ValueOf<typeof Gestures>>): void;
|
7
7
|
static dropGestureHandler(handlerTag: number): void;
|
8
8
|
static getNodes(): {
|
9
|
-
[x: number]: import("../handlers/
|
9
|
+
[x: number]: import("../handlers/NativeViewGestureHandler").default | import("../handlers/PanGestureHandler").default | import("../handlers/TapGestureHandler").default | import("../handlers/LongPressGestureHandler").default | import("../handlers/PinchGestureHandler").default | import("../handlers/RotationGestureHandler").default | import("../handlers/FlingGestureHandler").default | import("../handlers/ManualGestureHandler").default;
|
10
10
|
};
|
11
11
|
}
|
package/package.json
CHANGED
@@ -1,15 +1,20 @@
|
|
1
1
|
{
|
2
2
|
"name": "react-native-gesture-handler",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.8.0",
|
4
4
|
"description": "Experimental implementation of a new declarative API for gesture handling in react-native",
|
5
5
|
"scripts": {
|
6
|
-
"prepare": "bob build",
|
6
|
+
"prepare": "bob build && husky install",
|
7
7
|
"test": "jest",
|
8
8
|
"build": "yarn tsc -p tsconfig.build.json",
|
9
9
|
"precommit": "lint-staged",
|
10
10
|
"release": "npm login && release-it",
|
11
11
|
"ts-check": "yarn tsc --noEmit",
|
12
|
-
"
|
12
|
+
"format:js": "prettier --write --list-different './{src,example,FabricExample}/**/*.{js,jsx,ts,tsx}'",
|
13
|
+
"format:android": "node ./scripts/format-android.js",
|
14
|
+
"format:ios": "find ios/ -iname *.h -o -iname *.m -o -iname *.cpp -o -iname *.mm | xargs clang-format -i",
|
15
|
+
"lint:js": "eslint --ext '.js,.ts,.tsx' src/ example/src FabricExample/src && yarn prettier --check './{src,example,FabricExample}/**/*.{js,jsx,ts,tsx}'",
|
16
|
+
"lint:js-root": "eslint --ext '.js,.ts,.tsx' src/ && yarn prettier --check './src/**/*.{js,jsx,ts,tsx}'",
|
17
|
+
"lint:android": "./android/gradlew -p android spotlessCheck -q"
|
13
18
|
},
|
14
19
|
"react-native": "src/index.ts",
|
15
20
|
"main": "lib/commonjs/index.js",
|
@@ -28,8 +33,6 @@
|
|
28
33
|
"android/src/main/jni/",
|
29
34
|
"android/src/fabric/java",
|
30
35
|
"android/src/paper/java",
|
31
|
-
"android/lib/build.gradle",
|
32
|
-
"android/lib/src/main/java/",
|
33
36
|
"android/common/src/main/java/",
|
34
37
|
"android/reanimated/src/main/java/",
|
35
38
|
"android/noreanimated/src/main/java/",
|
@@ -85,17 +88,18 @@
|
|
85
88
|
"@typescript-eslint/eslint-plugin": "^4.33.0",
|
86
89
|
"@typescript-eslint/parser": "^4.33.0",
|
87
90
|
"babel-jest": "^26.6.3",
|
91
|
+
"clang-format": "^1.8.0",
|
88
92
|
"eslint": "^7.15.0",
|
89
93
|
"eslint-config-satya164": "^3.1.8",
|
90
94
|
"eslint-import-resolver-babel-module": "^5.2.0",
|
91
95
|
"eslint-plugin-import": "^2.22.1",
|
92
96
|
"eslint-plugin-jest": "^26.0.0",
|
93
97
|
"expo": "^35.0.1",
|
94
|
-
"husky": "^0.
|
98
|
+
"husky": "^8.0.1",
|
95
99
|
"jest": "^26.6.3",
|
96
100
|
"lint-staged": "^12.3.2",
|
97
101
|
"metro-react-native-babel-preset": "^0.64.0",
|
98
|
-
"prettier": "^2.
|
102
|
+
"prettier": "^2.7.1",
|
99
103
|
"react": "^16.8.6",
|
100
104
|
"react-dom": "^16.12.0",
|
101
105
|
"react-native": "^0.64.0",
|
@@ -111,9 +115,9 @@
|
|
111
115
|
"react-native": "*"
|
112
116
|
},
|
113
117
|
"lint-staged": {
|
114
|
-
"./src
|
115
|
-
|
116
|
-
|
118
|
+
"./{src,example,FabricExample}/**/*.{ts,tsx}": "yarn format:js",
|
119
|
+
"android/**/*.kt": "yarn format:android",
|
120
|
+
"ios/**/*.{h,m,mm,cpp}": "yarn format:ios"
|
117
121
|
},
|
118
122
|
"release-it": {
|
119
123
|
"hooks": {
|
@@ -68,7 +68,7 @@ export default {
|
|
68
68
|
NodeManager.createGestureHandler(handlerTag, new GestureClass());
|
69
69
|
InteractionManager.getInstance().configureInteractions(
|
70
70
|
NodeManager.getHandler(handlerTag),
|
71
|
-
|
71
|
+
config as unknown as Config
|
72
72
|
);
|
73
73
|
} else {
|
74
74
|
if (!(handlerName in HammerGestures)) {
|
@@ -84,7 +84,7 @@ export default {
|
|
84
84
|
HammerNodeManager.createGestureHandler(handlerTag, new GestureClass());
|
85
85
|
}
|
86
86
|
|
87
|
-
this.updateGestureHandler(handlerTag,
|
87
|
+
this.updateGestureHandler(handlerTag, config as unknown as Config);
|
88
88
|
},
|
89
89
|
attachGestureHandler(
|
90
90
|
handlerTag: number,
|
@@ -70,7 +70,7 @@ export default {
|
|
70
70
|
NodeManager.createGestureHandler(handlerTag, new GestureClass());
|
71
71
|
InteractionManager.getInstance().configureInteractions(
|
72
72
|
NodeManager.getHandler(handlerTag),
|
73
|
-
|
73
|
+
config as unknown as Config
|
74
74
|
);
|
75
75
|
} else {
|
76
76
|
if (!(handlerName in HammerGestures)) {
|
@@ -86,7 +86,7 @@ export default {
|
|
86
86
|
HammerNodeManager.createGestureHandler(handlerTag, new GestureClass());
|
87
87
|
}
|
88
88
|
|
89
|
-
this.updateGestureHandler(handlerTag,
|
89
|
+
this.updateGestureHandler(handlerTag, config as unknown as Config);
|
90
90
|
},
|
91
91
|
attachGestureHandler(
|
92
92
|
handlerTag: number,
|
@@ -0,0 +1,140 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
|
3
|
+
import { ActionType } from './ActionType';
|
4
|
+
import { isExperimentalWebImplementationEnabled } from './EnableExperimentalWebImplementation';
|
5
|
+
|
6
|
+
//GestureHandlers
|
7
|
+
import InteractionManager from './web/tools/InteractionManager';
|
8
|
+
import NodeManager from './web/tools/NodeManager';
|
9
|
+
import PanGestureHandler from './web/handlers/PanGestureHandler';
|
10
|
+
import TapGestureHandler from './web/handlers/TapGestureHandler';
|
11
|
+
import LongPressGestureHandler from './web/handlers/LongPressGestureHandler';
|
12
|
+
import PinchGestureHandler from './web/handlers/PinchGestureHandler';
|
13
|
+
import RotationGestureHandler from './web/handlers/RotationGestureHandler';
|
14
|
+
import FlingGestureHandler from './web/handlers/FlingGestureHandler';
|
15
|
+
import NativeViewGestureHandler from './web/handlers/NativeViewGestureHandler';
|
16
|
+
import ManualGestureHandler from './web/handlers/ManualGestureHandler';
|
17
|
+
|
18
|
+
//Hammer Handlers
|
19
|
+
import * as HammerNodeManager from './web_hammer/NodeManager';
|
20
|
+
import HammerNativeViewGestureHandler from './web_hammer/NativeViewGestureHandler';
|
21
|
+
import HammerPanGestureHandler from './web_hammer/PanGestureHandler';
|
22
|
+
import HammerTapGestureHandler from './web_hammer/TapGestureHandler';
|
23
|
+
import HammerLongPressGestureHandler from './web_hammer/LongPressGestureHandler';
|
24
|
+
import HammerPinchGestureHandler from './web_hammer/PinchGestureHandler';
|
25
|
+
import HammerRotationGestureHandler from './web_hammer/RotationGestureHandler';
|
26
|
+
import HammerFlingGestureHandler from './web_hammer/FlingGestureHandler';
|
27
|
+
import { Config } from './web/interfaces';
|
28
|
+
|
29
|
+
export const Gestures = {
|
30
|
+
NativeViewGestureHandler,
|
31
|
+
PanGestureHandler,
|
32
|
+
TapGestureHandler,
|
33
|
+
LongPressGestureHandler,
|
34
|
+
PinchGestureHandler,
|
35
|
+
RotationGestureHandler,
|
36
|
+
FlingGestureHandler,
|
37
|
+
ManualGestureHandler,
|
38
|
+
};
|
39
|
+
|
40
|
+
export const HammerGestures = {
|
41
|
+
NativeViewGestureHandler: HammerNativeViewGestureHandler,
|
42
|
+
PanGestureHandler: HammerPanGestureHandler,
|
43
|
+
TapGestureHandler: HammerTapGestureHandler,
|
44
|
+
LongPressGestureHandler: HammerLongPressGestureHandler,
|
45
|
+
PinchGestureHandler: HammerPinchGestureHandler,
|
46
|
+
RotationGestureHandler: HammerRotationGestureHandler,
|
47
|
+
FlingGestureHandler: HammerFlingGestureHandler,
|
48
|
+
};
|
49
|
+
|
50
|
+
export default {
|
51
|
+
handleSetJSResponder(_tag: number, _blockNativeResponder: boolean) {
|
52
|
+
// NO-OP
|
53
|
+
},
|
54
|
+
handleClearJSResponder() {
|
55
|
+
// NO-OP
|
56
|
+
},
|
57
|
+
createGestureHandler<T>(
|
58
|
+
handlerName: keyof typeof Gestures,
|
59
|
+
handlerTag: number,
|
60
|
+
config: T
|
61
|
+
) {
|
62
|
+
if (isExperimentalWebImplementationEnabled()) {
|
63
|
+
if (!(handlerName in Gestures)) {
|
64
|
+
throw new Error(
|
65
|
+
`react-native-gesture-handler: ${handlerName} is not supported on web.`
|
66
|
+
);
|
67
|
+
}
|
68
|
+
|
69
|
+
const GestureClass = Gestures[handlerName];
|
70
|
+
NodeManager.createGestureHandler(handlerTag, new GestureClass());
|
71
|
+
InteractionManager.getInstance().configureInteractions(
|
72
|
+
NodeManager.getHandler(handlerTag),
|
73
|
+
config as unknown as Config
|
74
|
+
);
|
75
|
+
} else {
|
76
|
+
if (!(handlerName in HammerGestures)) {
|
77
|
+
throw new Error(
|
78
|
+
`react-native-gesture-handler: ${handlerName} is not supported on web.`
|
79
|
+
);
|
80
|
+
}
|
81
|
+
|
82
|
+
// @ts-ignore If it doesn't exist, the error is thrown
|
83
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
84
|
+
const GestureClass = HammerGestures[handlerName];
|
85
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
86
|
+
HammerNodeManager.createGestureHandler(handlerTag, new GestureClass());
|
87
|
+
}
|
88
|
+
|
89
|
+
this.updateGestureHandler(handlerTag, config as unknown as Config);
|
90
|
+
},
|
91
|
+
attachGestureHandler(
|
92
|
+
handlerTag: number,
|
93
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
94
|
+
newView: any,
|
95
|
+
_actionType: ActionType,
|
96
|
+
propsRef: React.RefObject<unknown>
|
97
|
+
) {
|
98
|
+
if (
|
99
|
+
!(newView instanceof HTMLElement || newView instanceof React.Component)
|
100
|
+
) {
|
101
|
+
return;
|
102
|
+
}
|
103
|
+
|
104
|
+
if (isExperimentalWebImplementationEnabled()) {
|
105
|
+
//@ts-ignore Types should be HTMLElement or React.Component
|
106
|
+
NodeManager.getHandler(handlerTag).init(newView, propsRef);
|
107
|
+
} else {
|
108
|
+
//@ts-ignore Types should be HTMLElement or React.Component
|
109
|
+
HammerNodeManager.getHandler(handlerTag).setView(newView, propsRef);
|
110
|
+
}
|
111
|
+
},
|
112
|
+
updateGestureHandler(handlerTag: number, newConfig: Config) {
|
113
|
+
if (isExperimentalWebImplementationEnabled()) {
|
114
|
+
NodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);
|
115
|
+
|
116
|
+
InteractionManager.getInstance().configureInteractions(
|
117
|
+
NodeManager.getHandler(handlerTag),
|
118
|
+
newConfig
|
119
|
+
);
|
120
|
+
} else {
|
121
|
+
HammerNodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);
|
122
|
+
}
|
123
|
+
},
|
124
|
+
getGestureHandlerNode(handlerTag: number) {
|
125
|
+
if (isExperimentalWebImplementationEnabled()) {
|
126
|
+
return NodeManager.getHandler(handlerTag);
|
127
|
+
} else {
|
128
|
+
return HammerNodeManager.getHandler(handlerTag);
|
129
|
+
}
|
130
|
+
},
|
131
|
+
dropGestureHandler(handlerTag: number) {
|
132
|
+
if (isExperimentalWebImplementationEnabled()) {
|
133
|
+
NodeManager.dropGestureHandler(handlerTag);
|
134
|
+
} else {
|
135
|
+
HammerNodeManager.dropGestureHandler(handlerTag);
|
136
|
+
}
|
137
|
+
},
|
138
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
139
|
+
flushOperations() {},
|
140
|
+
};
|
@@ -26,6 +26,7 @@ import {
|
|
26
26
|
import {
|
27
27
|
GestureEvent,
|
28
28
|
HandlerStateChangeEvent,
|
29
|
+
UserSelect,
|
29
30
|
} from '../handlers/gestureHandlerCommon';
|
30
31
|
import {
|
31
32
|
PanGestureHandler,
|
@@ -153,6 +154,13 @@ export interface DrawerLayoutProps {
|
|
153
154
|
children?:
|
154
155
|
| React.ReactNode
|
155
156
|
| ((openValue?: Animated.AnimatedInterpolation) => React.ReactNode);
|
157
|
+
|
158
|
+
/**
|
159
|
+
* @default 'none'
|
160
|
+
* Defines which userSelect property should be used.
|
161
|
+
* Values: 'none'|'text'|'auto'
|
162
|
+
*/
|
163
|
+
userSelect?: UserSelect;
|
156
164
|
}
|
157
165
|
|
158
166
|
export type DrawerLayoutState = {
|
@@ -650,18 +658,15 @@ export default class DrawerLayout extends Component<
|
|
650
658
|
private setPanGestureRef = (ref: PanGestureHandler) => {
|
651
659
|
// TODO(TS): make sure it is OK taken from
|
652
660
|
// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065#issuecomment-596081842
|
653
|
-
(
|
654
|
-
.panGestureHandler as React.MutableRefObject<PanGestureHandler>
|
661
|
+
(
|
662
|
+
this.panGestureHandler as React.MutableRefObject<PanGestureHandler>
|
663
|
+
).current = ref;
|
655
664
|
this.props.onGestureRef?.(ref);
|
656
665
|
};
|
657
666
|
|
658
667
|
render() {
|
659
|
-
const {
|
660
|
-
|
661
|
-
drawerLockMode,
|
662
|
-
edgeWidth,
|
663
|
-
minSwipeDistance,
|
664
|
-
} = this.props;
|
668
|
+
const { drawerPosition, drawerLockMode, edgeWidth, minSwipeDistance } =
|
669
|
+
this.props;
|
665
670
|
|
666
671
|
const fromLeft = drawerPosition === 'left';
|
667
672
|
|
@@ -681,6 +686,7 @@ export default class DrawerLayout extends Component<
|
|
681
686
|
return (
|
682
687
|
<PanGestureHandler
|
683
688
|
// @ts-ignore could be fixed in handler types
|
689
|
+
userSelect={this.props.userSelect}
|
684
690
|
ref={this.setPanGestureRef}
|
685
691
|
hitSlop={hitSlop}
|
686
692
|
activeOffsetX={gestureOrientation * minSwipeDistance!}
|
@@ -257,10 +257,8 @@ export default class Swipeable extends Component<
|
|
257
257
|
const { rightOffset = rowWidth } = state;
|
258
258
|
const rightWidth = Math.max(0, rowWidth - rightOffset);
|
259
259
|
|
260
|
-
const {
|
261
|
-
|
262
|
-
overshootRight = rightWidth > 0,
|
263
|
-
} = props;
|
260
|
+
const { overshootLeft = leftWidth > 0, overshootRight = rightWidth > 0 } =
|
261
|
+
props;
|
264
262
|
|
265
263
|
const transX = Animated.add(
|
266
264
|
rowTranslation,
|
@@ -63,7 +63,7 @@ export default class TouchableOpacity extends Component<
|
|
63
63
|
style={[
|
64
64
|
style,
|
65
65
|
{
|
66
|
-
opacity:
|
66
|
+
opacity: this.opacity as unknown as number, // TODO: fix this
|
67
67
|
},
|
68
68
|
]}
|
69
69
|
onStateChange={this.onStateChange}>
|
@@ -8,9 +8,9 @@ export function getShadowNodeFromRef(ref: any) {
|
|
8
8
|
// load findHostInstance_DEPRECATED lazily because it may not be available before render
|
9
9
|
if (findHostInstance_DEPRECATED === undefined) {
|
10
10
|
try {
|
11
|
-
|
12
|
-
|
13
|
-
.findHostInstance_DEPRECATED;
|
11
|
+
findHostInstance_DEPRECATED =
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
13
|
+
require('react-native/Libraries/Renderer/shims/ReactFabric').findHostInstance_DEPRECATED;
|
14
14
|
} catch (e) {
|
15
15
|
findHostInstance_DEPRECATED = (_ref: any) => null;
|
16
16
|
}
|
@@ -132,15 +132,14 @@ const stateToPropMappings = {
|
|
132
132
|
[State.END]: 'onEnded',
|
133
133
|
} as const;
|
134
134
|
|
135
|
-
type CreateHandlerArgs<
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
}>;
|
135
|
+
type CreateHandlerArgs<HandlerPropsT extends Record<string, unknown>> =
|
136
|
+
Readonly<{
|
137
|
+
name: string;
|
138
|
+
allowedProps: Readonly<Extract<keyof HandlerPropsT, string>[]>;
|
139
|
+
config: Readonly<Record<string, unknown>>;
|
140
|
+
transformProps?: (props: HandlerPropsT) => HandlerPropsT;
|
141
|
+
customNativeProps?: Readonly<string[]>;
|
142
|
+
}>;
|
144
143
|
|
145
144
|
// TODO(TS) fix event types
|
146
145
|
type InternalEventHandlers = {
|
@@ -313,7 +312,9 @@ export default function createHandler<
|
|
313
312
|
|
314
313
|
if (Platform.OS === 'web') {
|
315
314
|
// typecast due to dynamic resolution, attachGestureHandler should have web version signature in this branch
|
316
|
-
(
|
315
|
+
(
|
316
|
+
RNGestureHandlerModule.attachGestureHandler as typeof RNGestureHandlerModuleWeb.attachGestureHandler
|
317
|
+
)(
|
317
318
|
this.handlerTag,
|
318
319
|
newViewTag,
|
319
320
|
ActionType.JS_FUNCTION_OLD_API, // ignored on web
|
@@ -403,11 +404,8 @@ export default function createHandler<
|
|
403
404
|
onGestureEvent?: BaseGestureHandlerProps<U>['onGestureEvent'];
|
404
405
|
onGestureHandlerEvent?: InternalEventHandlers['onGestureHandlerEvent'];
|
405
406
|
};
|
406
|
-
const {
|
407
|
-
|
408
|
-
onGestureHandlerEvent,
|
409
|
-
}: OnGestureEventHandlers = this.props;
|
410
|
-
|
407
|
+
const { onGestureEvent, onGestureHandlerEvent }: OnGestureEventHandlers =
|
408
|
+
this.props;
|
411
409
|
if (onGestureEvent && typeof onGestureEvent !== 'function') {
|
412
410
|
// If it's not a method it should be an native Animated.event
|
413
411
|
// object. We set it directly as the handler for the view
|
@@ -18,6 +18,7 @@ const commonProps = [
|
|
18
18
|
'shouldCancelWhenOutside',
|
19
19
|
'hitSlop',
|
20
20
|
'cancelsTouchesInView',
|
21
|
+
'userSelect',
|
21
22
|
] as const;
|
22
23
|
|
23
24
|
const componentInteractionProps = ['waitFor', 'simultaneousHandlers'] as const;
|
@@ -62,6 +63,8 @@ export type HitSlop =
|
|
62
63
|
| Record<'height' | 'top', number>
|
63
64
|
| Record<'height' | 'bottom', number>;
|
64
65
|
|
66
|
+
export type UserSelect = 'none' | 'auto' | 'text';
|
67
|
+
|
65
68
|
//TODO(TS) events in handlers
|
66
69
|
|
67
70
|
export interface GestureEvent<ExtraEventPayloadT = Record<string, unknown>> {
|
@@ -90,9 +93,8 @@ export type GestureTouchEvent = {
|
|
90
93
|
changedTouches: TouchData[];
|
91
94
|
};
|
92
95
|
|
93
|
-
export type GestureUpdateEvent<
|
94
|
-
|
95
|
-
> = GestureEventPayload & GestureEventPayloadT;
|
96
|
+
export type GestureUpdateEvent<GestureEventPayloadT = Record<string, unknown>> =
|
97
|
+
GestureEventPayload & GestureEventPayloadT;
|
96
98
|
|
97
99
|
export type GestureStateChangeEvent<
|
98
100
|
GestureStateChangeEventPayloadT = Record<string, unknown>
|
@@ -102,6 +104,7 @@ export type CommonGestureConfig = {
|
|
102
104
|
enabled?: boolean;
|
103
105
|
shouldCancelWhenOutside?: boolean;
|
104
106
|
hitSlop?: HitSlop;
|
107
|
+
userSelect?: UserSelect;
|
105
108
|
};
|
106
109
|
|
107
110
|
// Events payloads are types instead of interfaces due to TS limitation.
|
@@ -182,7 +185,9 @@ function transformIntoHandlerTags(handlerIDs: any) {
|
|
182
185
|
export function findNodeHandle(
|
183
186
|
node: null | number | React.Component<any, any> | React.ComponentClass<any>
|
184
187
|
): null | number | React.Component<any, any> | React.ComponentClass<any> {
|
185
|
-
if (Platform.OS === 'web')
|
188
|
+
if (Platform.OS === 'web') {
|
189
|
+
return node;
|
190
|
+
}
|
186
191
|
return findNodeHandleRN(node);
|
187
192
|
}
|
188
193
|
|
@@ -45,33 +45,50 @@ import {
|
|
45
45
|
|
46
46
|
// events
|
47
47
|
export type GestureHandlerGestureEventNativeEvent = GestureEventPayload;
|
48
|
-
export type GestureHandlerStateChangeNativeEvent =
|
48
|
+
export type GestureHandlerStateChangeNativeEvent =
|
49
|
+
HandlerStateChangeEventPayload;
|
49
50
|
export type GestureHandlerGestureEvent = GestureEvent;
|
50
51
|
export type GestureHandlerStateChangeEvent = HandlerStateChangeEvent;
|
51
52
|
// gesture handlers events
|
52
|
-
export type NativeViewGestureHandlerGestureEvent =
|
53
|
-
|
53
|
+
export type NativeViewGestureHandlerGestureEvent =
|
54
|
+
GestureEvent<NativeViewGestureHandlerPayload>;
|
55
|
+
export type NativeViewGestureHandlerStateChangeEvent =
|
56
|
+
HandlerStateChangeEvent<NativeViewGestureHandlerPayload>;
|
54
57
|
|
55
|
-
export type TapGestureHandlerGestureEvent =
|
56
|
-
|
58
|
+
export type TapGestureHandlerGestureEvent =
|
59
|
+
GestureEvent<TapGestureHandlerEventPayload>;
|
60
|
+
export type TapGestureHandlerStateChangeEvent =
|
61
|
+
HandlerStateChangeEvent<TapGestureHandlerEventPayload>;
|
57
62
|
|
58
|
-
export type ForceTouchGestureHandlerGestureEvent =
|
59
|
-
|
63
|
+
export type ForceTouchGestureHandlerGestureEvent =
|
64
|
+
GestureEvent<ForceTouchGestureHandlerEventPayload>;
|
65
|
+
export type ForceTouchGestureHandlerStateChangeEvent =
|
66
|
+
HandlerStateChangeEvent<ForceTouchGestureHandlerEventPayload>;
|
60
67
|
|
61
|
-
export type LongPressGestureHandlerGestureEvent =
|
62
|
-
|
68
|
+
export type LongPressGestureHandlerGestureEvent =
|
69
|
+
GestureEvent<LongPressGestureHandlerEventPayload>;
|
70
|
+
export type LongPressGestureHandlerStateChangeEvent =
|
71
|
+
HandlerStateChangeEvent<LongPressGestureHandlerEventPayload>;
|
63
72
|
|
64
|
-
export type PanGestureHandlerGestureEvent =
|
65
|
-
|
73
|
+
export type PanGestureHandlerGestureEvent =
|
74
|
+
GestureEvent<PanGestureHandlerEventPayload>;
|
75
|
+
export type PanGestureHandlerStateChangeEvent =
|
76
|
+
HandlerStateChangeEvent<PanGestureHandlerEventPayload>;
|
66
77
|
|
67
|
-
export type PinchGestureHandlerGestureEvent =
|
68
|
-
|
78
|
+
export type PinchGestureHandlerGestureEvent =
|
79
|
+
GestureEvent<PinchGestureHandlerEventPayload>;
|
80
|
+
export type PinchGestureHandlerStateChangeEvent =
|
81
|
+
HandlerStateChangeEvent<PinchGestureHandlerEventPayload>;
|
69
82
|
|
70
|
-
export type RotationGestureHandlerGestureEvent =
|
71
|
-
|
83
|
+
export type RotationGestureHandlerGestureEvent =
|
84
|
+
GestureEvent<RotationGestureHandlerEventPayload>;
|
85
|
+
export type RotationGestureHandlerStateChangeEvent =
|
86
|
+
HandlerStateChangeEvent<RotationGestureHandlerEventPayload>;
|
72
87
|
|
73
|
-
export type FlingGestureHandlerGestureEvent =
|
74
|
-
|
88
|
+
export type FlingGestureHandlerGestureEvent =
|
89
|
+
GestureEvent<FlingGestureHandlerEventPayload>;
|
90
|
+
export type FlingGestureHandlerStateChangeEvent =
|
91
|
+
HandlerStateChangeEvent<FlingGestureHandlerEventPayload>;
|
75
92
|
|
76
93
|
// handlers properties
|
77
94
|
export type NativeViewGestureHandlerProperties = NativeViewGestureHandlerProps;
|