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.
Files changed (173) hide show
  1. package/android/build.gradle +10 -5
  2. package/android/noreanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +3 -3
  3. package/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +7 -7
  4. package/android/src/fabric/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +2 -2
  5. package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +3 -3
  6. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/FlingGestureHandler.kt +12 -9
  7. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandler.kt +39 -31
  8. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerInteractionController.kt +1 -1
  9. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerOrchestrator.kt +28 -19
  10. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerRegistry.kt +1 -1
  11. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureUtils.kt +1 -1
  12. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/LongPressGestureHandler.kt +1 -1
  13. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ManualGestureHandler.kt +1 -1
  14. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/NativeViewGestureHandler.kt +5 -5
  15. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/OnTouchEventListener.kt +1 -1
  16. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PanGestureHandler.kt +7 -5
  17. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PinchGestureHandler.kt +11 -4
  18. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PointerEventsConfig.kt +1 -1
  19. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/RotationGestureDetector.kt +1 -1
  20. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/RotationGestureHandler.kt +7 -2
  21. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ScaleGestureDetector.java +1 -1
  22. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/TapGestureHandler.kt +3 -3
  23. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ViewConfigurationHelper.kt +1 -1
  24. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/react}/Extensions.kt +3 -3
  25. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +7 -6
  26. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +1 -5
  27. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +6 -6
  28. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.kt +1 -1
  29. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +3 -3
  30. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +35 -14
  31. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +2 -2
  32. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +8 -6
  33. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +0 -2
  34. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +4 -2
  35. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +7 -7
  36. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +5 -5
  37. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +2 -2
  38. package/android/src/paper/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +5 -5
  39. package/ios/Handlers/RNManualHandler.m +24 -8
  40. package/ios/RNGestureHandlerButtonComponentView.mm +7 -8
  41. package/ios/RNGestureHandlerManager.mm +176 -178
  42. package/lib/commonjs/RNGestureHandlerModule.macos.js.map +1 -1
  43. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  44. package/lib/commonjs/RNGestureHandlerModule.windows.js +156 -0
  45. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -0
  46. package/lib/commonjs/components/DrawerLayout.js +1 -0
  47. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  48. package/lib/commonjs/components/Swipeable.js.map +1 -1
  49. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  50. package/lib/commonjs/getShadowNodeFromRef.js +2 -2
  51. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  52. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  53. package/lib/commonjs/handlers/gestureHandlerCommon.js +5 -2
  54. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  55. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +4 -0
  56. package/lib/commonjs/handlers/gestures/GestureDetector.js +17 -10
  57. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -1
  58. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
  59. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  60. package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
  61. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  62. package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -1
  63. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  64. package/lib/commonjs/web/handlers/GestureHandler.js +28 -3
  65. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  66. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -1
  67. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
  68. package/lib/commonjs/web/handlers/ManualGestureHandler.js +15 -0
  69. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
  70. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -2
  71. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  72. package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -5
  73. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  74. package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -1
  75. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
  76. package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -1
  77. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
  78. package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -1
  79. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  80. package/lib/commonjs/web/interfaces.js.map +1 -1
  81. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  82. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
  83. package/lib/commonjs/web_hammer/NodeManager.js +4 -1
  84. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
  85. package/lib/commonjs/web_hammer/PanGestureHandler.js +25 -6
  86. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
  87. package/lib/module/RNGestureHandlerModule.macos.js.map +1 -1
  88. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  89. package/lib/module/RNGestureHandlerModule.windows.js +117 -0
  90. package/lib/module/RNGestureHandlerModule.windows.js.map +1 -0
  91. package/lib/module/components/DrawerLayout.js +1 -0
  92. package/lib/module/components/DrawerLayout.js.map +1 -1
  93. package/lib/module/components/Swipeable.js.map +1 -1
  94. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  95. package/lib/module/getShadowNodeFromRef.js +2 -2
  96. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  97. package/lib/module/handlers/createHandler.js.map +1 -1
  98. package/lib/module/handlers/gestureHandlerCommon.js +5 -2
  99. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  100. package/lib/module/handlers/gestureHandlerTypesCompat.js +1 -1
  101. package/lib/module/handlers/gestures/GestureDetector.js +17 -10
  102. package/lib/module/handlers/gestures/GestureDetector.js.map +1 -1
  103. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
  104. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  105. package/lib/module/jestUtils/jestUtils.js.map +1 -1
  106. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  107. package/lib/module/web/handlers/FlingGestureHandler.js +0 -1
  108. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  109. package/lib/module/web/handlers/GestureHandler.js +28 -3
  110. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  111. package/lib/module/web/handlers/LongPressGestureHandler.js +0 -1
  112. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
  113. package/lib/module/web/handlers/ManualGestureHandler.js +15 -0
  114. package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
  115. package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -2
  116. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  117. package/lib/module/web/handlers/PanGestureHandler.js +0 -5
  118. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  119. package/lib/module/web/handlers/PinchGestureHandler.js +0 -1
  120. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
  121. package/lib/module/web/handlers/RotationGestureHandler.js +0 -1
  122. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
  123. package/lib/module/web/handlers/TapGestureHandler.js +0 -1
  124. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  125. package/lib/module/web/interfaces.js.map +1 -1
  126. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  127. package/lib/module/web_hammer/GestureHandler.js.map +1 -1
  128. package/lib/module/web_hammer/NodeManager.js +4 -1
  129. package/lib/module/web_hammer/NodeManager.js.map +1 -1
  130. package/lib/module/web_hammer/PanGestureHandler.js +25 -6
  131. package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
  132. package/lib/typescript/RNGestureHandlerModule.macos.d.ts +1 -1
  133. package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -1
  134. package/lib/typescript/RNGestureHandlerModule.windows.d.ts +48 -0
  135. package/lib/typescript/components/DrawerLayout.d.ts +7 -0
  136. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +1 -1
  137. package/lib/typescript/handlers/PanGestureHandler.d.ts +1 -1
  138. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +3 -1
  139. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +3 -1
  140. package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +3 -1
  141. package/lib/typescript/web/interfaces.d.ts +3 -1
  142. package/lib/typescript/web/tools/NodeManager.d.ts +2 -2
  143. package/package.json +14 -10
  144. package/src/RNGestureHandlerModule.macos.ts +2 -2
  145. package/src/RNGestureHandlerModule.web.ts +2 -2
  146. package/src/RNGestureHandlerModule.windows.ts +140 -0
  147. package/src/components/DrawerLayout.tsx +14 -8
  148. package/src/components/Swipeable.tsx +2 -4
  149. package/src/components/touchables/TouchableOpacity.tsx +1 -1
  150. package/src/getShadowNodeFromRef.ts +3 -3
  151. package/src/handlers/createHandler.tsx +13 -15
  152. package/src/handlers/gestureHandlerCommon.ts +9 -4
  153. package/src/handlers/gestureHandlerTypesCompat.ts +34 -17
  154. package/src/handlers/gestures/GestureDetector.tsx +36 -16
  155. package/src/handlers/gestures/eventReceiver.ts +2 -1
  156. package/src/handlers/gestures/gesture.ts +8 -12
  157. package/src/jestUtils/jestUtils.ts +3 -4
  158. package/src/web/detectors/RotationGestureDetector.ts +2 -1
  159. package/src/web/handlers/FlingGestureHandler.ts +2 -3
  160. package/src/web/handlers/GestureHandler.ts +30 -11
  161. package/src/web/handlers/LongPressGestureHandler.ts +0 -2
  162. package/src/web/handlers/ManualGestureHandler.ts +10 -1
  163. package/src/web/handlers/NativeViewGestureHandler.ts +0 -2
  164. package/src/web/handlers/PanGestureHandler.ts +0 -6
  165. package/src/web/handlers/PinchGestureHandler.ts +0 -2
  166. package/src/web/handlers/RotationGestureHandler.ts +2 -5
  167. package/src/web/handlers/TapGestureHandler.ts +0 -2
  168. package/src/web/interfaces.ts +3 -0
  169. package/src/web/tools/InteractionManager.ts +2 -3
  170. package/src/web_hammer/GestureHandler.ts +6 -8
  171. package/src/web_hammer/NodeManager.ts +3 -1
  172. package/src/web_hammer/PanGestureHandler.ts +12 -6
  173. 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<"failOffsetXStart" | "failOffsetYStart" | "failOffsetXEnd" | "failOffsetYEnd" | "activeOffsetXStart" | "activeOffsetXEnd" | "activeOffsetYStart" | "activeOffsetYEnd", number>>;
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?: ComposedGesture | GestureType;
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/PanGestureHandler").default | import("../handlers/TapGestureHandler").default | import("../handlers/LongPressGestureHandler").default | import("../handlers/PinchGestureHandler").default | import("../handlers/RotationGestureHandler").default | import("../handlers/FlingGestureHandler").default | import("../handlers/NativeViewGestureHandler").default | import("../handlers/ManualGestureHandler").default;
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/PanGestureHandler").default | import("../handlers/TapGestureHandler").default | import("../handlers/LongPressGestureHandler").default | import("../handlers/PinchGestureHandler").default | import("../handlers/RotationGestureHandler").default | import("../handlers/FlingGestureHandler").default | import("../handlers/NativeViewGestureHandler").default | import("../handlers/ManualGestureHandler").default;
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.7.1",
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
- "lint-check": "eslint --ext '.js,.ts,.tsx' src/ && yarn prettier --check src/"
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.14.3",
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.2.1",
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/*.{ts,tsx}": [
115
- "prettier --write"
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
- (config as unknown) as Config
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, (config as unknown) as Config);
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
- (config as unknown) as Config
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, (config as unknown) as Config);
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
- (this
654
- .panGestureHandler as React.MutableRefObject<PanGestureHandler>).current = ref;
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
- drawerPosition,
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
- overshootLeft = leftWidth > 0,
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: (this.opacity as unknown) as number, // TODO: fix this
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
- // eslint-disable-next-line @typescript-eslint/no-var-requires
12
- findHostInstance_DEPRECATED = require('react-native/Libraries/Renderer/shims/ReactFabric')
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
- HandlerPropsT extends Record<string, unknown>
137
- > = Readonly<{
138
- name: string;
139
- allowedProps: Readonly<Extract<keyof HandlerPropsT, string>[]>;
140
- config: Readonly<Record<string, unknown>>;
141
- transformProps?: (props: HandlerPropsT) => HandlerPropsT;
142
- customNativeProps?: Readonly<string[]>;
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
- (RNGestureHandlerModule.attachGestureHandler as typeof RNGestureHandlerModuleWeb.attachGestureHandler)(
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
- onGestureEvent,
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
- GestureEventPayloadT = Record<string, unknown>
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') return node;
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 = HandlerStateChangeEventPayload;
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 = GestureEvent<NativeViewGestureHandlerPayload>;
53
- export type NativeViewGestureHandlerStateChangeEvent = HandlerStateChangeEvent<NativeViewGestureHandlerPayload>;
53
+ export type NativeViewGestureHandlerGestureEvent =
54
+ GestureEvent<NativeViewGestureHandlerPayload>;
55
+ export type NativeViewGestureHandlerStateChangeEvent =
56
+ HandlerStateChangeEvent<NativeViewGestureHandlerPayload>;
54
57
 
55
- export type TapGestureHandlerGestureEvent = GestureEvent<TapGestureHandlerEventPayload>;
56
- export type TapGestureHandlerStateChangeEvent = HandlerStateChangeEvent<TapGestureHandlerEventPayload>;
58
+ export type TapGestureHandlerGestureEvent =
59
+ GestureEvent<TapGestureHandlerEventPayload>;
60
+ export type TapGestureHandlerStateChangeEvent =
61
+ HandlerStateChangeEvent<TapGestureHandlerEventPayload>;
57
62
 
58
- export type ForceTouchGestureHandlerGestureEvent = GestureEvent<ForceTouchGestureHandlerEventPayload>;
59
- export type ForceTouchGestureHandlerStateChangeEvent = HandlerStateChangeEvent<ForceTouchGestureHandlerEventPayload>;
63
+ export type ForceTouchGestureHandlerGestureEvent =
64
+ GestureEvent<ForceTouchGestureHandlerEventPayload>;
65
+ export type ForceTouchGestureHandlerStateChangeEvent =
66
+ HandlerStateChangeEvent<ForceTouchGestureHandlerEventPayload>;
60
67
 
61
- export type LongPressGestureHandlerGestureEvent = GestureEvent<LongPressGestureHandlerEventPayload>;
62
- export type LongPressGestureHandlerStateChangeEvent = HandlerStateChangeEvent<LongPressGestureHandlerEventPayload>;
68
+ export type LongPressGestureHandlerGestureEvent =
69
+ GestureEvent<LongPressGestureHandlerEventPayload>;
70
+ export type LongPressGestureHandlerStateChangeEvent =
71
+ HandlerStateChangeEvent<LongPressGestureHandlerEventPayload>;
63
72
 
64
- export type PanGestureHandlerGestureEvent = GestureEvent<PanGestureHandlerEventPayload>;
65
- export type PanGestureHandlerStateChangeEvent = HandlerStateChangeEvent<PanGestureHandlerEventPayload>;
73
+ export type PanGestureHandlerGestureEvent =
74
+ GestureEvent<PanGestureHandlerEventPayload>;
75
+ export type PanGestureHandlerStateChangeEvent =
76
+ HandlerStateChangeEvent<PanGestureHandlerEventPayload>;
66
77
 
67
- export type PinchGestureHandlerGestureEvent = GestureEvent<PinchGestureHandlerEventPayload>;
68
- export type PinchGestureHandlerStateChangeEvent = HandlerStateChangeEvent<PinchGestureHandlerEventPayload>;
78
+ export type PinchGestureHandlerGestureEvent =
79
+ GestureEvent<PinchGestureHandlerEventPayload>;
80
+ export type PinchGestureHandlerStateChangeEvent =
81
+ HandlerStateChangeEvent<PinchGestureHandlerEventPayload>;
69
82
 
70
- export type RotationGestureHandlerGestureEvent = GestureEvent<RotationGestureHandlerEventPayload>;
71
- export type RotationGestureHandlerStateChangeEvent = HandlerStateChangeEvent<RotationGestureHandlerEventPayload>;
83
+ export type RotationGestureHandlerGestureEvent =
84
+ GestureEvent<RotationGestureHandlerEventPayload>;
85
+ export type RotationGestureHandlerStateChangeEvent =
86
+ HandlerStateChangeEvent<RotationGestureHandlerEventPayload>;
72
87
 
73
- export type FlingGestureHandlerGestureEvent = GestureEvent<FlingGestureHandlerEventPayload>;
74
- export type FlingGestureHandlerStateChangeEvent = HandlerStateChangeEvent<FlingGestureHandlerEventPayload>;
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;