react-native-gesture-handler 2.7.1 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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;