react-native-gesture-handler 2.7.1 → 2.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (232) hide show
  1. package/RNGestureHandler.podspec +1 -1
  2. package/android/build.gradle +53 -46
  3. package/android/noreanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +3 -3
  4. package/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +7 -7
  5. package/android/src/fabric/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +2 -2
  6. package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +3 -3
  7. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/FlingGestureHandler.kt +12 -9
  8. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandler.kt +39 -31
  9. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerInteractionController.kt +1 -1
  10. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerOrchestrator.kt +28 -19
  11. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerRegistry.kt +1 -1
  12. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureUtils.kt +1 -1
  13. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/LongPressGestureHandler.kt +1 -1
  14. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ManualGestureHandler.kt +1 -1
  15. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/NativeViewGestureHandler.kt +5 -5
  16. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/OnTouchEventListener.kt +1 -1
  17. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PanGestureHandler.kt +7 -5
  18. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PinchGestureHandler.kt +11 -4
  19. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PointerEventsConfig.kt +1 -1
  20. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/RotationGestureDetector.kt +1 -1
  21. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/RotationGestureHandler.kt +7 -2
  22. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ScaleGestureDetector.java +1 -1
  23. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/TapGestureHandler.kt +3 -3
  24. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ViewConfigurationHelper.kt +1 -1
  25. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/react}/Extensions.kt +3 -3
  26. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +8 -6
  27. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +1 -5
  28. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +20 -8
  29. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.kt +1 -1
  30. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +3 -3
  31. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +40 -15
  32. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +2 -2
  33. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +8 -6
  34. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +0 -2
  35. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +4 -2
  36. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +7 -7
  37. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +5 -5
  38. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +2 -2
  39. package/android/src/main/jni/CMakeLists.txt +10 -44
  40. package/android/src/main/jni/cpp-adapter.cpp +16 -13
  41. package/android/src/paper/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +5 -5
  42. package/ios/Handlers/RNFlingHandler.m +39 -37
  43. package/ios/Handlers/RNForceTouchHandler.m +19 -17
  44. package/ios/Handlers/RNLongPressHandler.m +20 -22
  45. package/ios/Handlers/RNManualHandler.m +23 -8
  46. package/ios/Handlers/RNNativeViewHandler.mm +92 -88
  47. package/ios/Handlers/RNPanHandler.m +28 -32
  48. package/ios/Handlers/RNPinchHandler.m +9 -10
  49. package/ios/Handlers/RNRotationHandler.m +11 -14
  50. package/ios/Handlers/RNTapHandler.m +26 -26
  51. package/ios/RNGestureHandler.h +31 -24
  52. package/ios/RNGestureHandler.m +278 -273
  53. package/ios/RNGestureHandlerActionType.h +6 -4
  54. package/ios/RNGestureHandlerButton.m +11 -12
  55. package/ios/RNGestureHandlerButtonComponentView.mm +7 -8
  56. package/ios/RNGestureHandlerButtonManager.m +6 -5
  57. package/ios/RNGestureHandlerDirection.h +4 -4
  58. package/ios/RNGestureHandlerEvents.h +3 -4
  59. package/ios/RNGestureHandlerEvents.m +114 -119
  60. package/ios/RNGestureHandlerManager.h +1 -2
  61. package/ios/RNGestureHandlerManager.mm +176 -178
  62. package/ios/RNGestureHandlerModule.h +1 -2
  63. package/ios/RNGestureHandlerModule.mm +126 -122
  64. package/ios/RNGestureHandlerPointerTracker.h +1 -1
  65. package/ios/RNGestureHandlerPointerTracker.m +40 -37
  66. package/ios/RNGestureHandlerRegistry.h +3 -1
  67. package/ios/RNGestureHandlerRegistry.m +24 -22
  68. package/ios/RNGestureHandlerState.h +6 -6
  69. package/ios/RNGestureHandlerStateManager.h +1 -1
  70. package/ios/RNManualActivationRecognizer.m +9 -9
  71. package/ios/RNRootViewGestureRecognizer.m +36 -39
  72. package/lib/commonjs/RNGestureHandlerModule.macos.js.map +1 -1
  73. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  74. package/lib/commonjs/RNGestureHandlerModule.windows.js +156 -0
  75. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -0
  76. package/lib/commonjs/components/DrawerLayout.js +1 -0
  77. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  78. package/lib/commonjs/components/Swipeable.js.map +1 -1
  79. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  80. package/lib/commonjs/gestureHandlerRootHOC.js +2 -1
  81. package/lib/commonjs/gestureHandlerRootHOC.js.map +1 -1
  82. package/lib/commonjs/getShadowNodeFromRef.js +2 -2
  83. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  84. package/lib/commonjs/handlers/LongPressGestureHandler.js +3 -1
  85. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
  86. package/lib/commonjs/handlers/TapGestureHandler.js +3 -1
  87. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
  88. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  89. package/lib/commonjs/handlers/gestureHandlerCommon.js +5 -2
  90. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  91. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +4 -0
  92. package/lib/commonjs/handlers/gestures/GestureDetector.js +87 -38
  93. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -1
  94. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
  95. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  96. package/lib/commonjs/handlers/gestures/longPressGesture.js +1 -0
  97. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
  98. package/lib/commonjs/handlers/gestures/tapGesture.js +1 -0
  99. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
  100. package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
  101. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  102. package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -1
  103. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  104. package/lib/commonjs/web/handlers/GestureHandler.js +28 -3
  105. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  106. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -2
  107. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
  108. package/lib/commonjs/web/handlers/ManualGestureHandler.js +15 -0
  109. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
  110. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -2
  111. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  112. package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -5
  113. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  114. package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -1
  115. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
  116. package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -1
  117. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
  118. package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -2
  119. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  120. package/lib/commonjs/web/interfaces.js.map +1 -1
  121. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  122. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
  123. package/lib/commonjs/web_hammer/NodeManager.js +4 -1
  124. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
  125. package/lib/commonjs/web_hammer/PanGestureHandler.js +25 -6
  126. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
  127. package/lib/module/RNGestureHandlerModule.macos.js.map +1 -1
  128. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  129. package/lib/module/RNGestureHandlerModule.windows.js +117 -0
  130. package/lib/module/RNGestureHandlerModule.windows.js.map +1 -0
  131. package/lib/module/components/DrawerLayout.js +1 -0
  132. package/lib/module/components/DrawerLayout.js.map +1 -1
  133. package/lib/module/components/Swipeable.js.map +1 -1
  134. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  135. package/lib/module/gestureHandlerRootHOC.js +2 -1
  136. package/lib/module/gestureHandlerRootHOC.js.map +1 -1
  137. package/lib/module/getShadowNodeFromRef.js +2 -2
  138. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  139. package/lib/module/handlers/LongPressGestureHandler.js +3 -1
  140. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
  141. package/lib/module/handlers/TapGestureHandler.js +3 -1
  142. package/lib/module/handlers/TapGestureHandler.js.map +1 -1
  143. package/lib/module/handlers/createHandler.js.map +1 -1
  144. package/lib/module/handlers/gestureHandlerCommon.js +5 -2
  145. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  146. package/lib/module/handlers/gestureHandlerTypesCompat.js +1 -1
  147. package/lib/module/handlers/gestures/GestureDetector.js +89 -39
  148. package/lib/module/handlers/gestures/GestureDetector.js.map +1 -1
  149. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
  150. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  151. package/lib/module/handlers/gestures/longPressGesture.js +1 -0
  152. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
  153. package/lib/module/handlers/gestures/tapGesture.js +1 -0
  154. package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
  155. package/lib/module/jestUtils/jestUtils.js.map +1 -1
  156. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  157. package/lib/module/web/handlers/FlingGestureHandler.js +0 -1
  158. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  159. package/lib/module/web/handlers/GestureHandler.js +28 -3
  160. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  161. package/lib/module/web/handlers/LongPressGestureHandler.js +0 -2
  162. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
  163. package/lib/module/web/handlers/ManualGestureHandler.js +15 -0
  164. package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
  165. package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -2
  166. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  167. package/lib/module/web/handlers/PanGestureHandler.js +0 -5
  168. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  169. package/lib/module/web/handlers/PinchGestureHandler.js +0 -1
  170. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
  171. package/lib/module/web/handlers/RotationGestureHandler.js +0 -1
  172. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
  173. package/lib/module/web/handlers/TapGestureHandler.js +0 -2
  174. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  175. package/lib/module/web/interfaces.js.map +1 -1
  176. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  177. package/lib/module/web_hammer/GestureHandler.js.map +1 -1
  178. package/lib/module/web_hammer/NodeManager.js +4 -1
  179. package/lib/module/web_hammer/NodeManager.js.map +1 -1
  180. package/lib/module/web_hammer/PanGestureHandler.js +25 -6
  181. package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
  182. package/lib/typescript/RNGestureHandlerModule.macos.d.ts +1 -1
  183. package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -1
  184. package/lib/typescript/RNGestureHandlerModule.windows.d.ts +48 -0
  185. package/lib/typescript/components/DrawerLayout.d.ts +10 -1
  186. package/lib/typescript/components/Swipeable.d.ts +3 -2
  187. package/lib/typescript/fabric/RNGestureHandlerButtonNativeComponent.d.ts +1 -1
  188. package/lib/typescript/fabric/RNGestureHandlerRootViewNativeComponent.d.ts +1 -1
  189. package/lib/typescript/gestureHandlerRootHOC.d.ts +1 -1
  190. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +1 -1
  191. package/lib/typescript/handlers/PanGestureHandler.d.ts +1 -1
  192. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +3 -1
  193. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +3 -1
  194. package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +3 -1
  195. package/lib/typescript/web/interfaces.d.ts +3 -1
  196. package/lib/typescript/web/tools/NodeManager.d.ts +2 -2
  197. package/package.json +17 -14
  198. package/src/RNGestureHandlerModule.macos.ts +2 -2
  199. package/src/RNGestureHandlerModule.web.ts +2 -2
  200. package/src/RNGestureHandlerModule.windows.ts +140 -0
  201. package/src/components/DrawerLayout.tsx +22 -12
  202. package/src/components/Swipeable.tsx +16 -13
  203. package/src/components/touchables/TouchableOpacity.tsx +1 -1
  204. package/src/gestureHandlerRootHOC.tsx +4 -1
  205. package/src/getShadowNodeFromRef.ts +3 -3
  206. package/src/handlers/LongPressGestureHandler.ts +3 -1
  207. package/src/handlers/TapGestureHandler.ts +3 -1
  208. package/src/handlers/createHandler.tsx +13 -15
  209. package/src/handlers/gestureHandlerCommon.ts +9 -4
  210. package/src/handlers/gestureHandlerTypesCompat.ts +34 -17
  211. package/src/handlers/gestures/GestureDetector.tsx +117 -44
  212. package/src/handlers/gestures/eventReceiver.ts +2 -1
  213. package/src/handlers/gestures/gesture.ts +8 -12
  214. package/src/handlers/gestures/longPressGesture.ts +1 -0
  215. package/src/handlers/gestures/tapGesture.ts +1 -0
  216. package/src/jestUtils/jestUtils.ts +3 -4
  217. package/src/web/detectors/RotationGestureDetector.ts +2 -1
  218. package/src/web/handlers/FlingGestureHandler.ts +2 -3
  219. package/src/web/handlers/GestureHandler.ts +30 -11
  220. package/src/web/handlers/LongPressGestureHandler.ts +0 -3
  221. package/src/web/handlers/ManualGestureHandler.ts +10 -1
  222. package/src/web/handlers/NativeViewGestureHandler.ts +0 -2
  223. package/src/web/handlers/PanGestureHandler.ts +0 -6
  224. package/src/web/handlers/PinchGestureHandler.ts +0 -2
  225. package/src/web/handlers/RotationGestureHandler.ts +2 -5
  226. package/src/web/handlers/TapGestureHandler.ts +0 -3
  227. package/src/web/interfaces.ts +3 -0
  228. package/src/web/tools/InteractionManager.ts +2 -3
  229. package/src/web_hammer/GestureHandler.ts +6 -8
  230. package/src/web_hammer/NodeManager.ts +3 -1
  231. package/src/web_hammer/PanGestureHandler.ts +12 -6
  232. package/android/lib/build.gradle +0 -28
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.9.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/",
@@ -79,26 +82,26 @@
79
82
  "@types/hammerjs": "^2.0.38",
80
83
  "@types/hoist-non-react-statics": "^3.3.1",
81
84
  "@types/jest": "^27.0.3",
82
- "@types/react": "^17.0.0",
83
- "@types/react-native": "^0.69.6",
85
+ "@types/react": "^18.0.24",
84
86
  "@types/react-test-renderer": "^17.0.0",
85
87
  "@typescript-eslint/eslint-plugin": "^4.33.0",
86
88
  "@typescript-eslint/parser": "^4.33.0",
87
89
  "babel-jest": "^26.6.3",
90
+ "clang-format": "^1.8.0",
88
91
  "eslint": "^7.15.0",
89
92
  "eslint-config-satya164": "^3.1.8",
90
93
  "eslint-import-resolver-babel-module": "^5.2.0",
91
94
  "eslint-plugin-import": "^2.22.1",
92
95
  "eslint-plugin-jest": "^26.0.0",
93
96
  "expo": "^35.0.1",
94
- "husky": "^0.14.3",
97
+ "husky": "^8.0.1",
95
98
  "jest": "^26.6.3",
96
99
  "lint-staged": "^12.3.2",
97
100
  "metro-react-native-babel-preset": "^0.64.0",
98
- "prettier": "^2.2.1",
99
- "react": "^16.8.6",
101
+ "prettier": "^2.7.1",
102
+ "react": "18.2.0",
100
103
  "react-dom": "^16.12.0",
101
- "react-native": "^0.64.0",
104
+ "react-native": "0.71.0",
102
105
  "react-native-builder-bob": "^0.17.1",
103
106
  "react-native-reanimated": "^2.3.1",
104
107
  "react-native-web": "^0.11.7",
@@ -111,9 +114,9 @@
111
114
  "react-native": "*"
112
115
  },
113
116
  "lint-staged": {
114
- "./src/*.{ts,tsx}": [
115
- "prettier --write"
116
- ]
117
+ "./{src,example,FabricExample}/**/*.{ts,tsx}": "yarn format:js",
118
+ "android/**/*.kt": "yarn format:android",
119
+ "ios/**/*.{h,m,mm,cpp}": "yarn format:ios"
117
120
  },
118
121
  "release-it": {
119
122
  "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,
@@ -53,6 +54,10 @@ export type DrawerLockMode = 'unlocked' | 'locked-closed' | 'locked-open';
53
54
 
54
55
  export type DrawerKeyboardDismissMode = 'none' | 'on-drag';
55
56
 
57
+ // Animated.AnimatedInterpolation has been converted to a generic type
58
+ // in @types/react-native 0.70. This way we can maintain compatibility
59
+ // with all versions of @types/react-native`
60
+ type AnimatedInterpolation = ReturnType<Animated.Value['interpolate']>;
56
61
  export interface DrawerLayoutProps {
57
62
  /**
58
63
  * This attribute is present in the standard implementation already and is one
@@ -152,7 +157,14 @@ export interface DrawerLayoutProps {
152
157
  // implicit `children` prop has been removed in @types/react^18.0.0
153
158
  children?:
154
159
  | React.ReactNode
155
- | ((openValue?: Animated.AnimatedInterpolation) => React.ReactNode);
160
+ | ((openValue?: AnimatedInterpolation) => React.ReactNode);
161
+
162
+ /**
163
+ * @default 'none'
164
+ * Defines which userSelect property should be used.
165
+ * Values: 'none'|'text'|'auto'
166
+ */
167
+ userSelect?: UserSelect;
156
168
  }
157
169
 
158
170
  export type DrawerLayoutState = {
@@ -216,7 +228,7 @@ export default class DrawerLayout extends Component<
216
228
  return true;
217
229
  }
218
230
 
219
- private openValue?: Animated.AnimatedInterpolation;
231
+ private openValue?: AnimatedInterpolation;
220
232
  private onGestureEvent?: (
221
233
  event: GestureEvent<PanGestureHandlerEventPayload>
222
234
  ) => void;
@@ -595,7 +607,7 @@ export default class DrawerLayout extends Component<
595
607
  };
596
608
  }
597
609
 
598
- let drawerTranslateX: number | Animated.AnimatedInterpolation = 0;
610
+ let drawerTranslateX: number | AnimatedInterpolation = 0;
599
611
  if (drawerSlide) {
600
612
  const closedDrawerOffset = fromLeft ? -drawerWidth! : drawerWidth!;
601
613
  if (this.state.drawerState !== IDLE) {
@@ -609,7 +621,7 @@ export default class DrawerLayout extends Component<
609
621
  }
610
622
  }
611
623
  const drawerStyles: {
612
- transform: { translateX: number | Animated.AnimatedInterpolation }[];
624
+ transform: { translateX: number | AnimatedInterpolation }[];
613
625
  flexDirection: 'row-reverse' | 'row';
614
626
  } = {
615
627
  transform: [{ translateX: drawerTranslateX }],
@@ -650,18 +662,15 @@ export default class DrawerLayout extends Component<
650
662
  private setPanGestureRef = (ref: PanGestureHandler) => {
651
663
  // TODO(TS): make sure it is OK taken from
652
664
  // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065#issuecomment-596081842
653
- (this
654
- .panGestureHandler as React.MutableRefObject<PanGestureHandler>).current = ref;
665
+ (
666
+ this.panGestureHandler as React.MutableRefObject<PanGestureHandler>
667
+ ).current = ref;
655
668
  this.props.onGestureRef?.(ref);
656
669
  };
657
670
 
658
671
  render() {
659
- const {
660
- drawerPosition,
661
- drawerLockMode,
662
- edgeWidth,
663
- minSwipeDistance,
664
- } = this.props;
672
+ const { drawerPosition, drawerLockMode, edgeWidth, minSwipeDistance } =
673
+ this.props;
665
674
 
666
675
  const fromLeft = drawerPosition === 'left';
667
676
 
@@ -681,6 +690,7 @@ export default class DrawerLayout extends Component<
681
690
  return (
682
691
  <PanGestureHandler
683
692
  // @ts-ignore could be fixed in handler types
693
+ userSelect={this.props.userSelect}
684
694
  ref={this.setPanGestureRef}
685
695
  hitSlop={hitSlop}
686
696
  activeOffsetX={gestureOrientation * minSwipeDistance!}
@@ -36,6 +36,11 @@ type SwipeableExcludes = Exclude<
36
36
  'onGestureEvent' | 'onHandlerStateChange'
37
37
  >;
38
38
 
39
+ // Animated.AnimatedInterpolation has been converted to a generic type
40
+ // in @types/react-native 0.70. This way we can maintain compatibility
41
+ // with all versions of @types/react-native
42
+ type AnimatedInterpolation = ReturnType<Animated.Value['interpolate']>;
43
+
39
44
  export interface SwipeableProps
40
45
  extends Pick<PanGestureHandlerProps, SwipeableExcludes> {
41
46
  /**
@@ -150,8 +155,8 @@ export interface SwipeableProps
150
155
  * To support `rtl` flexbox layouts use `flexDirection` styling.
151
156
  * */
152
157
  renderLeftActions?: (
153
- progressAnimatedValue: Animated.AnimatedInterpolation,
154
- dragAnimatedValue: Animated.AnimatedInterpolation
158
+ progressAnimatedValue: AnimatedInterpolation,
159
+ dragAnimatedValue: AnimatedInterpolation
155
160
  ) => React.ReactNode;
156
161
  /**
157
162
  *
@@ -163,8 +168,8 @@ export interface SwipeableProps
163
168
  * To support `rtl` flexbox layouts use `flexDirection` styling.
164
169
  * */
165
170
  renderRightActions?: (
166
- progressAnimatedValue: Animated.AnimatedInterpolation,
167
- dragAnimatedValue: Animated.AnimatedInterpolation,
171
+ progressAnimatedValue: AnimatedInterpolation,
172
+ dragAnimatedValue: AnimatedInterpolation,
168
173
  swipeable: Swipeable
169
174
  ) => React.ReactNode;
170
175
 
@@ -242,11 +247,11 @@ export default class Swipeable extends Component<
242
247
  private onGestureEvent?: (
243
248
  event: GestureEvent<PanGestureHandlerEventPayload>
244
249
  ) => void;
245
- private transX?: Animated.AnimatedInterpolation;
246
- private showLeftAction?: Animated.AnimatedInterpolation | Animated.Value;
247
- private leftActionTranslate?: Animated.AnimatedInterpolation;
248
- private showRightAction?: Animated.AnimatedInterpolation | Animated.Value;
249
- private rightActionTranslate?: Animated.AnimatedInterpolation;
250
+ private transX?: AnimatedInterpolation;
251
+ private showLeftAction?: AnimatedInterpolation | Animated.Value;
252
+ private leftActionTranslate?: AnimatedInterpolation;
253
+ private showRightAction?: AnimatedInterpolation | Animated.Value;
254
+ private rightActionTranslate?: AnimatedInterpolation;
250
255
 
251
256
  private updateAnimatedEvent = (
252
257
  props: SwipeableProps,
@@ -257,10 +262,8 @@ export default class Swipeable extends Component<
257
262
  const { rightOffset = rowWidth } = state;
258
263
  const rightWidth = Math.max(0, rowWidth - rightOffset);
259
264
 
260
- const {
261
- overshootLeft = leftWidth > 0,
262
- overshootRight = rightWidth > 0,
263
- } = props;
265
+ const { overshootLeft = leftWidth > 0, overshootRight = rightWidth > 0 } =
266
+ props;
264
267
 
265
268
  const transX = Animated.add(
266
269
  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}>
@@ -3,7 +3,9 @@ import { StyleSheet, StyleProp, ViewStyle } from 'react-native';
3
3
  import hoistNonReactStatics from 'hoist-non-react-statics';
4
4
  import GestureHandlerRootView from './GestureHandlerRootView';
5
5
 
6
- export default function gestureHandlerRootHOC<P>(
6
+ export default function gestureHandlerRootHOC<
7
+ P extends JSX.IntrinsicAttributes
8
+ >(
7
9
  Component: React.ComponentType<P>,
8
10
  containerStyles?: StyleProp<ViewStyle>
9
11
  ): React.ComponentType<P> {
@@ -19,6 +21,7 @@ export default function gestureHandlerRootHOC<P>(
19
21
  Component.displayName || Component.name
20
22
  })`;
21
23
 
24
+ // @ts-ignore - hoistNonReactStatics uses old version of @types/react
22
25
  hoistNonReactStatics(Wrapper, Component);
23
26
 
24
27
  return Wrapper;
@@ -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
  }
@@ -82,5 +82,7 @@ export const LongPressGestureHandler = createHandler<
82
82
  ...baseGestureHandlerProps,
83
83
  ...longPressGestureHandlerProps,
84
84
  ] as const,
85
- config: {},
85
+ config: {
86
+ shouldCancelWhenOutside: true,
87
+ },
86
88
  });
@@ -88,5 +88,7 @@ export const TapGestureHandler = createHandler<
88
88
  ...baseGestureHandlerProps,
89
89
  ...tapGestureHandlerProps,
90
90
  ] as const,
91
- config: {},
91
+ config: {
92
+ shouldCancelWhenOutside: true,
93
+ },
92
94
  });
@@ -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;