@amazon-devices/react-native-gesture-handler 4.0.0 → 4.0.2

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 (516) hide show
  1. package/SystemModules/amzn__react-native-gesture-handler-4.modules.txt +3 -0
  2. package/SystemModules/amzn__react-native-gesture-handler-4.private.modules.txt +81 -35
  3. package/kepler-compatibility.json +3 -1
  4. package/lib/commonjs/RNGestureHandlerModule.kepler.js.map +1 -1
  5. package/lib/commonjs/index.js +0 -268
  6. package/lib/module/RNGestureHandlerModule.kepler.js.map +1 -1
  7. package/lib/typescript/RNGestureHandlerModule.kepler.d.ts.map +1 -1
  8. package/oss-attribution/attribution.txt +0 -0
  9. package/oss-attribution/licenseInfos.json +1 -0
  10. package/package.json +1 -1
  11. package/src/index.ts +0 -168
  12. package/README.md +0 -70
  13. package/SystemBundles/6340ec90c9b9f38941444b2ca176a58b9d8116a6cd975690f53747ed00595c90.bundle +0 -14669
  14. package/SystemBundles/6340ec90c9b9f38941444b2ca176a58b9d8116a6cd975690f53747ed00595c90.map +0 -5041
  15. package/lib/commonjs/ActionType.js +0 -15
  16. package/lib/commonjs/Directions.js +0 -31
  17. package/lib/commonjs/EnableNewWebImplementation.js +0 -40
  18. package/lib/commonjs/GestureHandlerRootViewContext.js +0 -10
  19. package/lib/commonjs/PlatformConstants.js +0 -9
  20. package/lib/commonjs/PlatformConstants.kepler.js +0 -12
  21. package/lib/commonjs/PlatformConstants.web.js +0 -12
  22. package/lib/commonjs/PointerType.js +0 -15
  23. package/lib/commonjs/RNGestureHandlerModule.js +0 -12
  24. package/lib/commonjs/RNGestureHandlerModule.kepler.js +0 -32
  25. package/lib/commonjs/RNGestureHandlerModule.web.js +0 -95
  26. package/lib/commonjs/RNGestureHandlerModule.windows.js +0 -56
  27. package/lib/commonjs/RNRenderer.js +0 -14
  28. package/lib/commonjs/RNRenderer.web.js +0 -10
  29. package/lib/commonjs/State.js +0 -19
  30. package/lib/commonjs/TouchEventType.js +0 -16
  31. package/lib/commonjs/components/DrawerLayout.js +0 -548
  32. package/lib/commonjs/components/GestureButtons.js +0 -212
  33. package/lib/commonjs/components/GestureButtonsProps.js +0 -6
  34. package/lib/commonjs/components/GestureComponents.js +0 -106
  35. package/lib/commonjs/components/GestureComponents.web.js +0 -39
  36. package/lib/commonjs/components/GestureHandlerButton.js +0 -10
  37. package/lib/commonjs/components/GestureHandlerButton.web.js +0 -16
  38. package/lib/commonjs/components/GestureHandlerRootView.android.js +0 -36
  39. package/lib/commonjs/components/GestureHandlerRootView.js +0 -35
  40. package/lib/commonjs/components/GestureHandlerRootView.kepler.js +0 -21
  41. package/lib/commonjs/components/GestureHandlerRootView.web.js +0 -30
  42. package/lib/commonjs/components/Pressable/Pressable.js +0 -274
  43. package/lib/commonjs/components/Pressable/PressableProps.js +0 -6
  44. package/lib/commonjs/components/Pressable/StateMachine.js +0 -44
  45. package/lib/commonjs/components/Pressable/index.js +0 -14
  46. package/lib/commonjs/components/Pressable/stateDefinitions.js +0 -88
  47. package/lib/commonjs/components/Pressable/utils.js +0 -92
  48. package/lib/commonjs/components/ReanimatedDrawerLayout.js +0 -357
  49. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -337
  50. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -12
  51. package/lib/commonjs/components/ReanimatedSwipeable/index.js +0 -21
  52. package/lib/commonjs/components/Swipeable.js +0 -370
  53. package/lib/commonjs/components/Text.js +0 -60
  54. package/lib/commonjs/components/gestureHandlerRootHOC.js +0 -37
  55. package/lib/commonjs/components/touchables/ExtraButtonProps.js +0 -2
  56. package/lib/commonjs/components/touchables/GenericTouchable.js +0 -245
  57. package/lib/commonjs/components/touchables/GenericTouchableProps.js +0 -6
  58. package/lib/commonjs/components/touchables/TouchableHighlight.js +0 -93
  59. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +0 -84
  60. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +0 -13
  61. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js +0 -6
  62. package/lib/commonjs/components/touchables/TouchableOpacity.js +0 -65
  63. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +0 -33
  64. package/lib/commonjs/components/touchables/index.js +0 -35
  65. package/lib/commonjs/components/utils.js +0 -17
  66. package/lib/commonjs/findNodeHandle.js +0 -9
  67. package/lib/commonjs/findNodeHandle.web.js +0 -39
  68. package/lib/commonjs/getShadowNodeFromRef.js +0 -51
  69. package/lib/commonjs/getShadowNodeFromRef.web.js +0 -14
  70. package/lib/commonjs/ghQueueMicrotask.js +0 -10
  71. package/lib/commonjs/handlers/FlingGestureHandler.js +0 -31
  72. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +0 -46
  73. package/lib/commonjs/handlers/GestureHandlerEventPayload.js +0 -6
  74. package/lib/commonjs/handlers/LongPressGestureHandler.js +0 -33
  75. package/lib/commonjs/handlers/NativeViewGestureHandler.js +0 -32
  76. package/lib/commonjs/handlers/PanGestureHandler.js +0 -112
  77. package/lib/commonjs/handlers/PinchGestureHandler.js +0 -29
  78. package/lib/commonjs/handlers/PressabilityDebugView.js +0 -13
  79. package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -11
  80. package/lib/commonjs/handlers/RotationGestureHandler.js +0 -29
  81. package/lib/commonjs/handlers/TapGestureHandler.js +0 -33
  82. package/lib/commonjs/handlers/createHandler.js +0 -405
  83. package/lib/commonjs/handlers/createNativeWrapper.js +0 -77
  84. package/lib/commonjs/handlers/customDirectEventTypes.js +0 -13
  85. package/lib/commonjs/handlers/customDirectEventTypes.web.js +0 -10
  86. package/lib/commonjs/handlers/gestureHandlerCommon.js +0 -27
  87. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +0 -6
  88. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +0 -32
  89. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +0 -41
  90. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +0 -67
  91. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +0 -20
  92. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +0 -125
  93. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -22
  94. package/lib/commonjs/handlers/gestures/GestureDetector/types.js +0 -6
  95. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +0 -66
  96. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -143
  97. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -47
  98. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +0 -41
  99. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -45
  100. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +0 -143
  101. package/lib/commonjs/handlers/gestures/eventReceiver.js +0 -117
  102. package/lib/commonjs/handlers/gestures/flingGesture.js +0 -37
  103. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +0 -80
  104. package/lib/commonjs/handlers/gestures/gesture.js +0 -338
  105. package/lib/commonjs/handlers/gestures/gestureComposition.js +0 -90
  106. package/lib/commonjs/handlers/gestures/gestureObjects.js +0 -132
  107. package/lib/commonjs/handlers/gestures/gestureStateManager.js +0 -70
  108. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +0 -28
  109. package/lib/commonjs/handlers/gestures/hoverGesture.js +0 -57
  110. package/lib/commonjs/handlers/gestures/longPressGesture.js +0 -46
  111. package/lib/commonjs/handlers/gestures/manualGesture.js +0 -25
  112. package/lib/commonjs/handlers/gestures/nativeGesture.js +0 -34
  113. package/lib/commonjs/handlers/gestures/panGesture.js +0 -197
  114. package/lib/commonjs/handlers/gestures/pinchGesture.js +0 -38
  115. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +0 -29
  116. package/lib/commonjs/handlers/gestures/rotationGesture.js +0 -38
  117. package/lib/commonjs/handlers/gestures/tapGesture.js +0 -87
  118. package/lib/commonjs/handlers/getNextHandlerTag.js +0 -11
  119. package/lib/commonjs/handlers/handlersRegistry.js +0 -50
  120. package/lib/commonjs/handlers/utils.js +0 -69
  121. package/lib/commonjs/init.js +0 -25
  122. package/lib/commonjs/jestUtils/index.js +0 -19
  123. package/lib/commonjs/jestUtils/jestUtils.js +0 -316
  124. package/lib/commonjs/mocks/Pressable.js +0 -13
  125. package/lib/commonjs/mocks/mocks.js +0 -70
  126. package/lib/commonjs/mocks.js +0 -61
  127. package/lib/commonjs/mountRegistry.js +0 -37
  128. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +0 -9
  129. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -20
  130. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  131. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -17
  132. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  133. package/lib/commonjs/typeUtils.js +0 -2
  134. package/lib/commonjs/utils.js +0 -95
  135. package/lib/commonjs/web/Gestures.js +0 -48
  136. package/lib/commonjs/web/constants.js +0 -9
  137. package/lib/commonjs/web/detectors/RotationGestureDetector.js +0 -124
  138. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +0 -111
  139. package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -143
  140. package/lib/commonjs/web/handlers/GestureHandler.js +0 -689
  141. package/lib/commonjs/web/handlers/HoverGestureHandler.js +0 -45
  142. package/lib/commonjs/web/handlers/IGestureHandler.js +0 -2
  143. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -146
  144. package/lib/commonjs/web/handlers/ManualGestureHandler.js +0 -38
  145. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -141
  146. package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -399
  147. package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -122
  148. package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -129
  149. package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -215
  150. package/lib/commonjs/web/interfaces.js +0 -32
  151. package/lib/commonjs/web/tools/CircularBuffer.js +0 -40
  152. package/lib/commonjs/web/tools/EventManager.js +0 -94
  153. package/lib/commonjs/web/tools/GestureHandlerDelegate.js +0 -6
  154. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +0 -267
  155. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +0 -165
  156. package/lib/commonjs/web/tools/InteractionManager.js +0 -96
  157. package/lib/commonjs/web/tools/KeyboardEventManager.js +0 -108
  158. package/lib/commonjs/web/tools/LeastSquareSolver.js +0 -159
  159. package/lib/commonjs/web/tools/NodeManager.js +0 -39
  160. package/lib/commonjs/web/tools/PointerEventManager.js +0 -189
  161. package/lib/commonjs/web/tools/PointerTracker.js +0 -192
  162. package/lib/commonjs/web/tools/Vector.js +0 -37
  163. package/lib/commonjs/web/tools/VelocityTracker.js +0 -85
  164. package/lib/commonjs/web/tools/WheelEventManager.js +0 -55
  165. package/lib/commonjs/web/utils.js +0 -235
  166. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +0 -93
  167. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +0 -43
  168. package/lib/commonjs/web_hammer/Errors.js +0 -13
  169. package/lib/commonjs/web_hammer/FlingGestureHandler.js +0 -139
  170. package/lib/commonjs/web_hammer/GestureHandler.js +0 -484
  171. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +0 -45
  172. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +0 -57
  173. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +0 -57
  174. package/lib/commonjs/web_hammer/NodeManager.js +0 -41
  175. package/lib/commonjs/web_hammer/PanGestureHandler.js +0 -167
  176. package/lib/commonjs/web_hammer/PinchGestureHandler.js +0 -31
  177. package/lib/commonjs/web_hammer/PressGestureHandler.js +0 -153
  178. package/lib/commonjs/web_hammer/RotationGestureHandler.js +0 -32
  179. package/lib/commonjs/web_hammer/TapGestureHandler.js +0 -165
  180. package/lib/commonjs/web_hammer/constants.js +0 -51
  181. package/lib/commonjs/web_hammer/utils.js +0 -32
  182. package/lib/module/ActionType.js +0 -11
  183. package/lib/module/Directions.js +0 -27
  184. package/lib/module/EnableNewWebImplementation.js +0 -34
  185. package/lib/module/GestureHandlerRootViewContext.js +0 -5
  186. package/lib/module/PlatformConstants.js +0 -5
  187. package/lib/module/PlatformConstants.kepler.js +0 -8
  188. package/lib/module/PlatformConstants.web.js +0 -8
  189. package/lib/module/PointerType.js +0 -11
  190. package/lib/module/RNGestureHandlerModule.js +0 -8
  191. package/lib/module/RNGestureHandlerModule.kepler.js +0 -26
  192. package/lib/module/RNGestureHandlerModule.web.js +0 -90
  193. package/lib/module/RNGestureHandlerModule.windows.js +0 -50
  194. package/lib/module/RNRenderer.js +0 -6
  195. package/lib/module/RNRenderer.web.js +0 -6
  196. package/lib/module/State.js +0 -15
  197. package/lib/module/TouchEventType.js +0 -12
  198. package/lib/module/components/DrawerLayout.js +0 -541
  199. package/lib/module/components/GestureButtons.js +0 -200
  200. package/lib/module/components/GestureButtonsProps.js +0 -4
  201. package/lib/module/components/GestureComponents.js +0 -100
  202. package/lib/module/components/GestureComponents.web.js +0 -32
  203. package/lib/module/components/GestureHandlerButton.js +0 -5
  204. package/lib/module/components/GestureHandlerButton.web.js +0 -11
  205. package/lib/module/components/GestureHandlerRootView.android.js +0 -30
  206. package/lib/module/components/GestureHandlerRootView.js +0 -29
  207. package/lib/module/components/GestureHandlerRootView.kepler.js +0 -15
  208. package/lib/module/components/GestureHandlerRootView.web.js +0 -24
  209. package/lib/module/components/Pressable/Pressable.js +0 -268
  210. package/lib/module/components/Pressable/PressableProps.js +0 -4
  211. package/lib/module/components/Pressable/StateMachine.js +0 -40
  212. package/lib/module/components/Pressable/index.js +0 -4
  213. package/lib/module/components/Pressable/stateDefinitions.js +0 -83
  214. package/lib/module/components/Pressable/utils.js +0 -84
  215. package/lib/module/components/ReanimatedDrawerLayout.js +0 -352
  216. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -332
  217. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -8
  218. package/lib/module/components/ReanimatedSwipeable/index.js +0 -5
  219. package/lib/module/components/Swipeable.js +0 -364
  220. package/lib/module/components/Text.js +0 -55
  221. package/lib/module/components/gestureHandlerRootHOC.js +0 -33
  222. package/lib/module/components/touchables/ExtraButtonProps.js +0 -2
  223. package/lib/module/components/touchables/GenericTouchable.js +0 -239
  224. package/lib/module/components/touchables/GenericTouchableProps.js +0 -4
  225. package/lib/module/components/touchables/TouchableHighlight.js +0 -87
  226. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +0 -77
  227. package/lib/module/components/touchables/TouchableNativeFeedback.js +0 -10
  228. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js +0 -4
  229. package/lib/module/components/touchables/TouchableOpacity.js +0 -59
  230. package/lib/module/components/touchables/TouchableWithoutFeedback.js +0 -27
  231. package/lib/module/components/touchables/index.js +0 -7
  232. package/lib/module/components/utils.js +0 -13
  233. package/lib/module/findNodeHandle.js +0 -5
  234. package/lib/module/findNodeHandle.web.js +0 -35
  235. package/lib/module/getShadowNodeFromRef.js +0 -47
  236. package/lib/module/getShadowNodeFromRef.web.js +0 -10
  237. package/lib/module/ghQueueMicrotask.js +0 -6
  238. package/lib/module/handlers/FlingGestureHandler.js +0 -26
  239. package/lib/module/handlers/ForceTouchGestureHandler.js +0 -41
  240. package/lib/module/handlers/GestureHandlerEventPayload.js +0 -4
  241. package/lib/module/handlers/LongPressGestureHandler.js +0 -28
  242. package/lib/module/handlers/NativeViewGestureHandler.js +0 -27
  243. package/lib/module/handlers/PanGestureHandler.js +0 -105
  244. package/lib/module/handlers/PinchGestureHandler.js +0 -25
  245. package/lib/module/handlers/PressabilityDebugView.js +0 -5
  246. package/lib/module/handlers/PressabilityDebugView.web.js +0 -7
  247. package/lib/module/handlers/RotationGestureHandler.js +0 -25
  248. package/lib/module/handlers/TapGestureHandler.js +0 -28
  249. package/lib/module/handlers/createHandler.js +0 -399
  250. package/lib/module/handlers/createNativeWrapper.js +0 -74
  251. package/lib/module/handlers/customDirectEventTypes.js +0 -5
  252. package/lib/module/handlers/customDirectEventTypes.web.js +0 -7
  253. package/lib/module/handlers/gestureHandlerCommon.js +0 -26
  254. package/lib/module/handlers/gestureHandlerTypesCompat.js +0 -4
  255. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +0 -26
  256. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +0 -36
  257. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +0 -62
  258. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -15
  259. package/lib/module/handlers/gestures/GestureDetector/index.js +0 -117
  260. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -18
  261. package/lib/module/handlers/gestures/GestureDetector/types.js +0 -4
  262. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +0 -61
  263. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -139
  264. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -43
  265. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +0 -37
  266. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -40
  267. package/lib/module/handlers/gestures/GestureDetector/utils.js +0 -134
  268. package/lib/module/handlers/gestures/eventReceiver.js +0 -110
  269. package/lib/module/handlers/gestures/flingGesture.js +0 -32
  270. package/lib/module/handlers/gestures/forceTouchGesture.js +0 -76
  271. package/lib/module/handlers/gestures/gesture.js +0 -332
  272. package/lib/module/handlers/gestures/gestureComposition.js +0 -83
  273. package/lib/module/handlers/gestures/gestureObjects.js +0 -129
  274. package/lib/module/handlers/gestures/gestureStateManager.js +0 -66
  275. package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -23
  276. package/lib/module/handlers/gestures/hoverGesture.js +0 -52
  277. package/lib/module/handlers/gestures/longPressGesture.js +0 -41
  278. package/lib/module/handlers/gestures/manualGesture.js +0 -20
  279. package/lib/module/handlers/gestures/nativeGesture.js +0 -29
  280. package/lib/module/handlers/gestures/panGesture.js +0 -192
  281. package/lib/module/handlers/gestures/pinchGesture.js +0 -33
  282. package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -26
  283. package/lib/module/handlers/gestures/rotationGesture.js +0 -33
  284. package/lib/module/handlers/gestures/tapGesture.js +0 -82
  285. package/lib/module/handlers/getNextHandlerTag.js +0 -7
  286. package/lib/module/handlers/handlersRegistry.js +0 -39
  287. package/lib/module/handlers/utils.js +0 -61
  288. package/lib/module/index.js +0 -31
  289. package/lib/module/init.js +0 -19
  290. package/lib/module/jestUtils/index.js +0 -4
  291. package/lib/module/jestUtils/jestUtils.js +0 -311
  292. package/lib/module/mocks/Pressable.js +0 -4
  293. package/lib/module/mocks/mocks.js +0 -64
  294. package/lib/module/mocks.js +0 -57
  295. package/lib/module/mountRegistry.js +0 -32
  296. package/lib/module/specs/NativeRNGestureHandlerModule.js +0 -5
  297. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -14
  298. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  299. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -11
  300. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  301. package/lib/module/typeUtils.js +0 -2
  302. package/lib/module/utils.js +0 -81
  303. package/lib/module/web/Gestures.js +0 -42
  304. package/lib/module/web/constants.js +0 -5
  305. package/lib/module/web/detectors/RotationGestureDetector.js +0 -119
  306. package/lib/module/web/detectors/ScaleGestureDetector.js +0 -106
  307. package/lib/module/web/handlers/FlingGestureHandler.js +0 -137
  308. package/lib/module/web/handlers/GestureHandler.js +0 -682
  309. package/lib/module/web/handlers/HoverGestureHandler.js +0 -39
  310. package/lib/module/web/handlers/IGestureHandler.js +0 -2
  311. package/lib/module/web/handlers/LongPressGestureHandler.js +0 -140
  312. package/lib/module/web/handlers/ManualGestureHandler.js +0 -32
  313. package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -135
  314. package/lib/module/web/handlers/PanGestureHandler.js +0 -393
  315. package/lib/module/web/handlers/PinchGestureHandler.js +0 -116
  316. package/lib/module/web/handlers/RotationGestureHandler.js +0 -123
  317. package/lib/module/web/handlers/TapGestureHandler.js +0 -209
  318. package/lib/module/web/interfaces.js +0 -28
  319. package/lib/module/web/tools/CircularBuffer.js +0 -35
  320. package/lib/module/web/tools/EventManager.js +0 -89
  321. package/lib/module/web/tools/GestureHandlerDelegate.js +0 -4
  322. package/lib/module/web/tools/GestureHandlerOrchestrator.js +0 -261
  323. package/lib/module/web/tools/GestureHandlerWebDelegate.js +0 -159
  324. package/lib/module/web/tools/InteractionManager.js +0 -91
  325. package/lib/module/web/tools/KeyboardEventManager.js +0 -102
  326. package/lib/module/web/tools/LeastSquareSolver.js +0 -154
  327. package/lib/module/web/tools/NodeManager.js +0 -34
  328. package/lib/module/web/tools/PointerEventManager.js +0 -183
  329. package/lib/module/web/tools/PointerTracker.js +0 -186
  330. package/lib/module/web/tools/Vector.js +0 -32
  331. package/lib/module/web/tools/VelocityTracker.js +0 -79
  332. package/lib/module/web/tools/WheelEventManager.js +0 -49
  333. package/lib/module/web/utils.js +0 -223
  334. package/lib/module/web_hammer/DiscreteGestureHandler.js +0 -87
  335. package/lib/module/web_hammer/DraggingGestureHandler.js +0 -37
  336. package/lib/module/web_hammer/Errors.js +0 -8
  337. package/lib/module/web_hammer/FlingGestureHandler.js +0 -133
  338. package/lib/module/web_hammer/GestureHandler.js +0 -478
  339. package/lib/module/web_hammer/IndiscreteGestureHandler.js +0 -41
  340. package/lib/module/web_hammer/LongPressGestureHandler.js +0 -51
  341. package/lib/module/web_hammer/NativeViewGestureHandler.js +0 -51
  342. package/lib/module/web_hammer/NodeManager.js +0 -33
  343. package/lib/module/web_hammer/PanGestureHandler.js +0 -162
  344. package/lib/module/web_hammer/PinchGestureHandler.js +0 -26
  345. package/lib/module/web_hammer/PressGestureHandler.js +0 -148
  346. package/lib/module/web_hammer/RotationGestureHandler.js +0 -27
  347. package/lib/module/web_hammer/TapGestureHandler.js +0 -160
  348. package/lib/module/web_hammer/constants.js +0 -46
  349. package/lib/module/web_hammer/utils.js +0 -21
  350. package/src/ActionType.ts +0 -9
  351. package/src/Directions.ts +0 -26
  352. package/src/EnableNewWebImplementation.ts +0 -53
  353. package/src/GestureHandlerRootViewContext.ts +0 -3
  354. package/src/PlatformConstants.kepler.ts +0 -5
  355. package/src/PlatformConstants.ts +0 -8
  356. package/src/PlatformConstants.web.ts +0 -5
  357. package/src/PointerType.ts +0 -7
  358. package/src/RNGestureHandlerModule.kepler.ts +0 -64
  359. package/src/RNGestureHandlerModule.ts +0 -5
  360. package/src/RNGestureHandlerModule.web.ts +0 -124
  361. package/src/RNGestureHandlerModule.windows.ts +0 -62
  362. package/src/RNRenderer.ts +0 -3
  363. package/src/RNRenderer.web.ts +0 -3
  364. package/src/State.ts +0 -13
  365. package/src/TouchEventType.ts +0 -11
  366. package/src/components/DrawerLayout.tsx +0 -788
  367. package/src/components/GestureButtons.tsx +0 -272
  368. package/src/components/GestureButtonsProps.ts +0 -156
  369. package/src/components/GestureComponents.tsx +0 -148
  370. package/src/components/GestureComponents.web.tsx +0 -41
  371. package/src/components/GestureHandlerButton.tsx +0 -5
  372. package/src/components/GestureHandlerButton.web.tsx +0 -6
  373. package/src/components/GestureHandlerRootView.android.tsx +0 -32
  374. package/src/components/GestureHandlerRootView.kepler.tsx +0 -18
  375. package/src/components/GestureHandlerRootView.tsx +0 -28
  376. package/src/components/GestureHandlerRootView.web.tsx +0 -22
  377. package/src/components/Pressable/Pressable.tsx +0 -401
  378. package/src/components/Pressable/PressableProps.tsx +0 -174
  379. package/src/components/Pressable/StateMachine.tsx +0 -57
  380. package/src/components/Pressable/index.ts +0 -5
  381. package/src/components/Pressable/stateDefinitions.ts +0 -126
  382. package/src/components/Pressable/utils.ts +0 -140
  383. package/src/components/ReanimatedDrawerLayout.tsx +0 -754
  384. package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +0 -607
  385. package/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts +0 -199
  386. package/src/components/ReanimatedSwipeable/index.ts +0 -6
  387. package/src/components/Swipeable.tsx +0 -595
  388. package/src/components/Text.tsx +0 -77
  389. package/src/components/gestureHandlerRootHOC.tsx +0 -33
  390. package/src/components/touchables/ExtraButtonProps.ts +0 -7
  391. package/src/components/touchables/GenericTouchable.tsx +0 -275
  392. package/src/components/touchables/GenericTouchableProps.ts +0 -28
  393. package/src/components/touchables/TouchableHighlight.tsx +0 -118
  394. package/src/components/touchables/TouchableNativeFeedback.android.tsx +0 -83
  395. package/src/components/touchables/TouchableNativeFeedback.tsx +0 -8
  396. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +0 -10
  397. package/src/components/touchables/TouchableOpacity.tsx +0 -78
  398. package/src/components/touchables/TouchableWithoutFeedback.tsx +0 -39
  399. package/src/components/touchables/index.ts +0 -7
  400. package/src/components/utils.ts +0 -26
  401. package/src/findNodeHandle.ts +0 -3
  402. package/src/findNodeHandle.web.ts +0 -41
  403. package/src/getShadowNodeFromRef.ts +0 -50
  404. package/src/getShadowNodeFromRef.web.ts +0 -7
  405. package/src/ghQueueMicrotask.ts +0 -8
  406. package/src/handlers/FlingGestureHandler.ts +0 -64
  407. package/src/handlers/ForceTouchGestureHandler.ts +0 -88
  408. package/src/handlers/GestureHandlerEventPayload.ts +0 -229
  409. package/src/handlers/LongPressGestureHandler.ts +0 -65
  410. package/src/handlers/NativeViewGestureHandler.ts +0 -59
  411. package/src/handlers/PanGestureHandler.ts +0 -282
  412. package/src/handlers/PinchGestureHandler.ts +0 -32
  413. package/src/handlers/PressabilityDebugView.tsx +0 -2
  414. package/src/handlers/PressabilityDebugView.web.tsx +0 -4
  415. package/src/handlers/RotationGestureHandler.ts +0 -32
  416. package/src/handlers/TapGestureHandler.ts +0 -99
  417. package/src/handlers/createHandler.tsx +0 -586
  418. package/src/handlers/createNativeWrapper.tsx +0 -89
  419. package/src/handlers/customDirectEventTypes.ts +0 -2
  420. package/src/handlers/customDirectEventTypes.web.ts +0 -5
  421. package/src/handlers/gestureHandlerCommon.ts +0 -211
  422. package/src/handlers/gestureHandlerTypesCompat.ts +0 -101
  423. package/src/handlers/gestures/GestureDetector/Wrap.tsx +0 -35
  424. package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +0 -42
  425. package/src/handlers/gestures/GestureDetector/attachHandlers.ts +0 -112
  426. package/src/handlers/gestures/GestureDetector/dropHandlers.ts +0 -17
  427. package/src/handlers/gestures/GestureDetector/index.tsx +0 -191
  428. package/src/handlers/gestures/GestureDetector/needsToReattach.ts +0 -27
  429. package/src/handlers/gestures/GestureDetector/types.ts +0 -32
  430. package/src/handlers/gestures/GestureDetector/updateHandlers.ts +0 -92
  431. package/src/handlers/gestures/GestureDetector/useAnimatedGesture.ts +0 -209
  432. package/src/handlers/gestures/GestureDetector/useDetectorUpdater.ts +0 -69
  433. package/src/handlers/gestures/GestureDetector/useMountReactions.ts +0 -51
  434. package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +0 -58
  435. package/src/handlers/gestures/GestureDetector/utils.ts +0 -181
  436. package/src/handlers/gestures/eventReceiver.ts +0 -173
  437. package/src/handlers/gestures/flingGesture.ts +0 -36
  438. package/src/handlers/gestures/forceTouchGesture.ts +0 -95
  439. package/src/handlers/gestures/gesture.ts +0 -472
  440. package/src/handlers/gestures/gestureComposition.ts +0 -124
  441. package/src/handlers/gestures/gestureObjects.ts +0 -143
  442. package/src/handlers/gestures/gestureStateManager.ts +0 -76
  443. package/src/handlers/gestures/gestureStateManager.web.ts +0 -26
  444. package/src/handlers/gestures/hoverGesture.ts +0 -77
  445. package/src/handlers/gestures/longPressGesture.ts +0 -45
  446. package/src/handlers/gestures/manualGesture.ts +0 -31
  447. package/src/handlers/gestures/nativeGesture.ts +0 -33
  448. package/src/handlers/gestures/panGesture.ts +0 -221
  449. package/src/handlers/gestures/pinchGesture.ts +0 -51
  450. package/src/handlers/gestures/reanimatedWrapper.ts +0 -57
  451. package/src/handlers/gestures/rotationGesture.ts +0 -51
  452. package/src/handlers/gestures/tapGesture.ts +0 -86
  453. package/src/handlers/getNextHandlerTag.ts +0 -5
  454. package/src/handlers/handlersRegistry.ts +0 -58
  455. package/src/handlers/utils.ts +0 -76
  456. package/src/init.ts +0 -18
  457. package/src/jestUtils/index.ts +0 -1
  458. package/src/jestUtils/jestUtils.ts +0 -513
  459. package/src/mocks/Pressable.tsx +0 -1
  460. package/src/mocks/mocks.tsx +0 -70
  461. package/src/mocks.ts +0 -67
  462. package/src/mountRegistry.ts +0 -51
  463. package/src/specs/NativeRNGestureHandlerModule.ts +0 -26
  464. package/src/specs/RNGestureHandlerButtonNativeComponent.kepler.ts +0 -27
  465. package/src/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  466. package/src/specs/RNGestureHandlerRootViewNativeComponent.kepler.ts +0 -21
  467. package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  468. package/src/typeUtils.ts +0 -1
  469. package/src/utils.ts +0 -107
  470. package/src/web/Gestures.ts +0 -41
  471. package/src/web/constants.ts +0 -2
  472. package/src/web/detectors/RotationGestureDetector.ts +0 -170
  473. package/src/web/detectors/ScaleGestureDetector.ts +0 -171
  474. package/src/web/handlers/FlingGestureHandler.ts +0 -196
  475. package/src/web/handlers/GestureHandler.ts +0 -881
  476. package/src/web/handlers/HoverGestureHandler.ts +0 -49
  477. package/src/web/handlers/IGestureHandler.ts +0 -49
  478. package/src/web/handlers/LongPressGestureHandler.ts +0 -175
  479. package/src/web/handlers/ManualGestureHandler.ts +0 -37
  480. package/src/web/handlers/NativeViewGestureHandler.ts +0 -175
  481. package/src/web/handlers/PanGestureHandler.ts +0 -571
  482. package/src/web/handlers/PinchGestureHandler.ts +0 -152
  483. package/src/web/handlers/RotationGestureHandler.ts +0 -166
  484. package/src/web/handlers/TapGestureHandler.ts +0 -274
  485. package/src/web/interfaces.ts +0 -190
  486. package/src/web/tools/CircularBuffer.ts +0 -42
  487. package/src/web/tools/EventManager.ts +0 -108
  488. package/src/web/tools/GestureHandlerDelegate.ts +0 -26
  489. package/src/web/tools/GestureHandlerOrchestrator.ts +0 -392
  490. package/src/web/tools/GestureHandlerWebDelegate.ts +0 -227
  491. package/src/web/tools/InteractionManager.ts +0 -135
  492. package/src/web/tools/KeyboardEventManager.ts +0 -133
  493. package/src/web/tools/LeastSquareSolver.ts +0 -182
  494. package/src/web/tools/NodeManager.ts +0 -48
  495. package/src/web/tools/PointerEventManager.ts +0 -226
  496. package/src/web/tools/PointerTracker.ts +0 -228
  497. package/src/web/tools/Vector.ts +0 -59
  498. package/src/web/tools/VelocityTracker.ts +0 -98
  499. package/src/web/tools/WheelEventManager.ts +0 -48
  500. package/src/web/utils.ts +0 -293
  501. package/src/web_hammer/DiscreteGestureHandler.ts +0 -82
  502. package/src/web_hammer/DraggingGestureHandler.ts +0 -34
  503. package/src/web_hammer/Errors.ts +0 -7
  504. package/src/web_hammer/FlingGestureHandler.ts +0 -134
  505. package/src/web_hammer/GestureHandler.ts +0 -600
  506. package/src/web_hammer/IndiscreteGestureHandler.ts +0 -33
  507. package/src/web_hammer/LongPressGestureHandler.ts +0 -56
  508. package/src/web_hammer/NativeViewGestureHandler.ts +0 -47
  509. package/src/web_hammer/NodeManager.ts +0 -33
  510. package/src/web_hammer/PanGestureHandler.ts +0 -226
  511. package/src/web_hammer/PinchGestureHandler.ts +0 -25
  512. package/src/web_hammer/PressGestureHandler.ts +0 -170
  513. package/src/web_hammer/RotationGestureHandler.ts +0 -25
  514. package/src/web_hammer/TapGestureHandler.ts +0 -172
  515. package/src/web_hammer/constants.ts +0 -48
  516. package/src/web_hammer/utils.ts +0 -24
@@ -1,586 +0,0 @@
1
- import * as React from 'react';
2
- import {
3
- Platform,
4
- UIManager,
5
- DeviceEventEmitter,
6
- EmitterSubscription,
7
- } from 'react-native';
8
- import { customDirectEventTypes } from './customDirectEventTypes';
9
- import RNGestureHandlerModule from '../RNGestureHandlerModule';
10
- import { State } from '../State';
11
- import {
12
- handlerIDToTag,
13
- registerOldGestureHandler,
14
- unregisterOldGestureHandler,
15
- } from './handlersRegistry';
16
- import { getNextHandlerTag } from './getNextHandlerTag';
17
-
18
- import {
19
- BaseGestureHandlerProps,
20
- GestureEvent,
21
- HandlerStateChangeEvent,
22
- } from './gestureHandlerCommon';
23
- import { filterConfig, scheduleFlushOperations } from './utils';
24
- import findNodeHandle from '../findNodeHandle';
25
- import { ValueOf } from '../typeUtils';
26
- import {
27
- deepEqual,
28
- isFabric,
29
- isReact19,
30
- isTestEnv,
31
- tagMessage,
32
- } from '../utils';
33
- import { ActionType } from '../ActionType';
34
- import { PressabilityDebugView } from './PressabilityDebugView';
35
- import GestureHandlerRootViewContext from '../GestureHandlerRootViewContext';
36
- import { ghQueueMicrotask } from '../ghQueueMicrotask';
37
- import { MountRegistry } from '../mountRegistry';
38
- import { ReactElement } from 'react';
39
-
40
- const UIManagerAny = UIManager as any;
41
-
42
- customDirectEventTypes.topGestureHandlerEvent = {
43
- registrationName: 'onGestureHandlerEvent',
44
- };
45
-
46
- customDirectEventTypes.topGestureHandlerStateChange = {
47
- registrationName: 'onGestureHandlerStateChange'
48
- }
49
-
50
- const customGHEventsConfigFabricAndroid = {
51
- topOnGestureHandlerEvent: { registrationName: 'onGestureHandlerEvent' },
52
- topOnGestureHandlerStateChange: {
53
- registrationName: 'onGestureHandlerStateChange',
54
- },
55
- };
56
-
57
- const customGHEventsConfig = {
58
- onGestureHandlerEvent: { registrationName: 'onGestureHandlerEvent' },
59
- onGestureHandlerStateChange: {
60
- registrationName: 'onGestureHandlerStateChange',
61
- },
62
-
63
- // When using React Native Gesture Handler for Animated.event with useNativeDriver: true
64
- // on Android with Fabric enabled, the native part still sends the native events to JS
65
- // but prefixed with "top". We cannot simply rename the events above so they are prefixed
66
- // with "top" instead of "on" because in such case Animated.events would not be registered.
67
- // That's why we need to register another pair of event names.
68
- // The incoming events will be queued but never handled.
69
- // Without this piece of code below, you'll get the following JS error:
70
- // Unsupported top level event type "topOnGestureHandlerEvent" dispatched
71
- ...(isFabric() &&
72
- Platform.OS === 'android' &&
73
- customGHEventsConfigFabricAndroid),
74
- };
75
-
76
- // Add gesture specific events to genericDirectEventTypes object exported from UIManager
77
- // native module.
78
- // Once new event types are registered with react it is possible to dispatch these
79
- // events to all kind of native views.
80
- UIManagerAny.genericDirectEventTypes = {
81
- ...UIManagerAny.genericDirectEventTypes,
82
- ...customGHEventsConfig,
83
- };
84
-
85
- // amznmod_react - getViewManagerConfig and getConstants are both deprecated and return null.
86
- // Bypassing the call on kepler to avoid a misleading error log.
87
- // @ts-ignore Need PROJ*-337000 before using Platform typedef from react-native-kepler
88
- const UIManagerConstants = Platform.OS === "kepler" ? null :
89
- UIManagerAny.getViewManagerConfig?.('getConstants') ??
90
- UIManagerAny.getConstants?.();
91
-
92
- if (UIManagerConstants) {
93
- UIManagerConstants.genericDirectEventTypes = {
94
- ...UIManagerConstants.genericDirectEventTypes,
95
- ...customGHEventsConfig,
96
- };
97
- }
98
-
99
- // Wrap JS responder calls and notify gesture handler manager
100
- const {
101
- setJSResponder: oldSetJSResponder = () => {
102
- // no-op
103
- },
104
- clearJSResponder: oldClearJSResponder = () => {
105
- // no-op
106
- },
107
- } = UIManagerAny;
108
- UIManagerAny.setJSResponder = (tag: number, blockNativeResponder: boolean) => {
109
- RNGestureHandlerModule.handleSetJSResponder(tag, blockNativeResponder);
110
- oldSetJSResponder(tag, blockNativeResponder);
111
- };
112
- UIManagerAny.clearJSResponder = () => {
113
- RNGestureHandlerModule.handleClearJSResponder();
114
- oldClearJSResponder();
115
- };
116
-
117
- let allowTouches = true;
118
- const DEV_ON_ANDROID = __DEV__ && Platform.OS === 'android';
119
- // Toggled inspector blocks touch events in order to allow inspecting on Android
120
- // This needs to be a global variable in order to set initial state for `allowTouches` property in Handler component
121
- if (DEV_ON_ANDROID) {
122
- DeviceEventEmitter.addListener('toggleElementInspector', () => {
123
- allowTouches = !allowTouches;
124
- });
125
- }
126
-
127
- type HandlerProps<T extends Record<string, unknown>> = Readonly<
128
- React.PropsWithChildren<BaseGestureHandlerProps<T>>
129
- >;
130
- function hasUnresolvedRefs<T extends Record<string, unknown>>(
131
- props: HandlerProps<T>
132
- ) {
133
- // TODO(TS) - add type for extract arg
134
- const extract = (refs: any | any[]) => {
135
- if (!Array.isArray(refs)) {
136
- return refs && refs.current === null;
137
- }
138
- return refs.some((r) => r && r.current === null);
139
- };
140
- return extract(props['simultaneousHandlers']) || extract(props['waitFor']);
141
- }
142
-
143
- const stateToPropMappings = {
144
- [State.UNDETERMINED]: undefined,
145
- [State.BEGAN]: 'onBegan',
146
- [State.FAILED]: 'onFailed',
147
- [State.CANCELLED]: 'onCancelled',
148
- [State.ACTIVE]: 'onActivated',
149
- [State.END]: 'onEnded',
150
- } as const;
151
-
152
- type CreateHandlerArgs<HandlerPropsT extends Record<string, unknown>> =
153
- Readonly<{
154
- name: string;
155
- allowedProps: Readonly<Extract<keyof HandlerPropsT, string>[]>;
156
- config: Readonly<Record<string, unknown>>;
157
- transformProps?: (props: HandlerPropsT) => HandlerPropsT;
158
- customNativeProps?: Readonly<string[]>;
159
- }>;
160
-
161
- // TODO(TS) fix event types
162
- type InternalEventHandlers = {
163
- onGestureHandlerEvent?: (event: any) => void;
164
- onGestureHandlerStateChange?: (event: any) => void;
165
- };
166
-
167
- type AttachGestureHandlerWeb = (
168
- handlerTag: number,
169
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
170
- newView: any,
171
- _actionType: ActionType,
172
- propsRef: React.RefObject<unknown>
173
- ) => void;
174
-
175
- const UNRESOLVED_REFS_RETRY_LIMIT = 1;
176
-
177
- // TODO(TS) - make sure that BaseGestureHandlerProps doesn't need other generic parameter to work with custom properties.
178
- export default function createHandler<
179
- T extends BaseGestureHandlerProps<U>,
180
- U extends Record<string, unknown>,
181
- >({
182
- name,
183
- allowedProps = [],
184
- config = {},
185
- transformProps,
186
- customNativeProps = [],
187
- }: CreateHandlerArgs<T>): React.ComponentType<T & React.RefAttributes<any>> {
188
- interface HandlerState {
189
- allowTouches: boolean;
190
- }
191
- class Handler extends React.Component<
192
- T & InternalEventHandlers,
193
- HandlerState
194
- > {
195
- static displayName = name;
196
- static contextType = GestureHandlerRootViewContext;
197
-
198
- private handlerTag = -1;
199
- private config: Record<string, unknown>;
200
- private propsRef: React.MutableRefObject<unknown>;
201
- private isMountedRef: React.MutableRefObject<boolean | null>;
202
- private viewNode: any;
203
- private viewTag?: number;
204
- private inspectorToggleListener?: EmitterSubscription;
205
-
206
- constructor(props: T & InternalEventHandlers) {
207
- super(props);
208
- this.config = {};
209
- this.propsRef = React.createRef();
210
- this.isMountedRef = React.createRef();
211
- this.state = { allowTouches };
212
- if (props.id) {
213
- if (handlerIDToTag[props.id] !== undefined) {
214
- throw new Error(`Handler with ID "${props.id}" already registered`);
215
- }
216
- handlerIDToTag[props.id] = this.handlerTag;
217
- }
218
- }
219
-
220
- componentDidMount() {
221
- const props: HandlerProps<U> = this.props;
222
- this.isMountedRef.current = true;
223
-
224
- if (DEV_ON_ANDROID) {
225
- this.inspectorToggleListener = DeviceEventEmitter.addListener(
226
- 'toggleElementInspector',
227
- () => {
228
- this.setState((_) => ({ allowTouches }));
229
- this.update(UNRESOLVED_REFS_RETRY_LIMIT);
230
- }
231
- );
232
- }
233
- if (hasUnresolvedRefs(props)) {
234
- // If there are unresolved refs (e.g. ".current" has not yet been set)
235
- // passed as `simultaneousHandlers` or `waitFor`, we enqueue a call to
236
- // _update method that will try to update native handler props using
237
- // queueMicrotask. This makes it so update() function gets called after all
238
- // react components are mounted and we expect the missing ref object to
239
- // be resolved by then.
240
- ghQueueMicrotask(() => {
241
- this.update(UNRESOLVED_REFS_RETRY_LIMIT);
242
- });
243
- }
244
-
245
- this.createGestureHandler(
246
- filterConfig(
247
- transformProps ? transformProps(this.props) : this.props,
248
- [...allowedProps, ...customNativeProps],
249
- config
250
- )
251
- );
252
-
253
- if (!this.viewNode) {
254
- throw new Error(
255
- `[Gesture Handler] Failed to obtain view for ${Handler.displayName}. Note that old API doesn't support functional components.`
256
- );
257
- }
258
-
259
- this.attachGestureHandler(findNodeHandle(this.viewNode) as number); // TODO(TS) - check if this can be null
260
- }
261
-
262
- componentDidUpdate() {
263
- const viewTag = findNodeHandle(this.viewNode);
264
- if (this.viewTag !== viewTag) {
265
- this.attachGestureHandler(viewTag as number); // TODO(TS) - check interaction between _viewTag & findNodeHandle
266
- }
267
- this.update(UNRESOLVED_REFS_RETRY_LIMIT);
268
- }
269
-
270
- componentWillUnmount() {
271
- this.inspectorToggleListener?.remove();
272
- this.isMountedRef.current = false;
273
- if (Platform.OS !== 'web') {
274
- unregisterOldGestureHandler(this.handlerTag);
275
- }
276
- RNGestureHandlerModule.dropGestureHandler(this.handlerTag);
277
- scheduleFlushOperations();
278
- // We can't use this.props.id directly due to TS generic type narrowing bug, see https://github.com/microsoft/TypeScript/issues/13995 for more context
279
- const handlerID: string | undefined = this.props.id;
280
- if (handlerID) {
281
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
282
- delete handlerIDToTag[handlerID];
283
- }
284
-
285
- MountRegistry.gestureHandlerWillUnmount(this);
286
- }
287
-
288
- private onGestureHandlerEvent = (event: GestureEvent<U>) => {
289
- console.log("[SWM] onGestureHandlerEvent")
290
- if (event.nativeEvent.handlerTag === this.handlerTag) {
291
- if (typeof this.props.onGestureEvent === 'function') {
292
- this.props.onGestureEvent?.(event);
293
- }
294
- } else {
295
- this.props.onGestureHandlerEvent?.(event);
296
- }
297
- };
298
-
299
- // TODO(TS) - make sure this is right type for event
300
- private onGestureHandlerStateChange = (
301
- event: HandlerStateChangeEvent<U>
302
- ) => {
303
- console.log("[SWM] onGestureHanlderStateChange", event)
304
- if (event.nativeEvent.handlerTag === this.handlerTag) {
305
- if (typeof this.props.onHandlerStateChange === 'function') {
306
- this.props.onHandlerStateChange?.(event);
307
- }
308
-
309
- const state: ValueOf<typeof State> = event.nativeEvent.state;
310
- const stateEventName = stateToPropMappings[state];
311
- const eventHandler = stateEventName && this.props[stateEventName];
312
- if (eventHandler && typeof eventHandler === 'function') {
313
- eventHandler(event);
314
- }
315
- } else {
316
- this.props.onGestureHandlerStateChange?.(event);
317
- }
318
- };
319
-
320
- private refHandler = (node: any) => {
321
- this.viewNode = node;
322
-
323
- const child = React.Children.only(this.props.children);
324
- // @ts-ignore Since React 19 ref is accessible as standard prop
325
- // https://react.dev/blog/2024/04/25/react-19-upgrade-guide#deprecated-element-ref
326
- const ref = isReact19() ? (child as ReactElement).props?.ref : child?.ref;
327
-
328
- if (!ref) {
329
- return;
330
- }
331
-
332
- if (typeof ref === 'function') {
333
- ref(node);
334
- } else {
335
- ref.current = node;
336
- }
337
- };
338
-
339
- private createGestureHandler = (
340
- newConfig: Readonly<Record<string, unknown>>
341
- ) => {
342
- this.handlerTag = getNextHandlerTag();
343
- this.config = newConfig;
344
-
345
- RNGestureHandlerModule.createGestureHandler(
346
- name,
347
- this.handlerTag,
348
- newConfig
349
- );
350
- };
351
-
352
- private attachGestureHandler = (newViewTag: number) => {
353
- this.viewTag = newViewTag;
354
-
355
- if (Platform.OS === 'web') {
356
- // Typecast due to dynamic resolution, attachGestureHandler should have web version signature in this branch
357
- (
358
- RNGestureHandlerModule.attachGestureHandler as AttachGestureHandlerWeb
359
- )(
360
- this.handlerTag,
361
- newViewTag,
362
- ActionType.JS_FUNCTION_OLD_API, // ignored on web
363
- this.propsRef
364
- );
365
- } else {
366
- registerOldGestureHandler(this.handlerTag, {
367
- onGestureEvent: this.onGestureHandlerEvent,
368
- onGestureStateChange: this.onGestureHandlerStateChange,
369
- });
370
-
371
- const actionType = (() => {
372
- const onGestureEvent = this.props?.onGestureEvent;
373
- const isGestureHandlerWorklet =
374
- onGestureEvent &&
375
- ('current' in onGestureEvent ||
376
- 'workletEventHandler' in onGestureEvent);
377
- const onHandlerStateChange = this.props?.onHandlerStateChange;
378
- const isStateChangeHandlerWorklet =
379
- onHandlerStateChange &&
380
- ('current' in onHandlerStateChange ||
381
- 'workletEventHandler' in onHandlerStateChange);
382
- const isReanimatedHandler =
383
- isGestureHandlerWorklet || isStateChangeHandlerWorklet;
384
- if (isReanimatedHandler) {
385
- // Reanimated worklet
386
- console.log("[SWM] worklet")
387
- return ActionType.REANIMATED_WORKLET;
388
- } else if (onGestureEvent && '__isNative' in onGestureEvent) {
389
- // Animated.event with useNativeDriver: true
390
- console.log("[SWM] native animated event")
391
- return ActionType.NATIVE_ANIMATED_EVENT;
392
- } else {
393
- console.log("[SWM] old_api")
394
- // JS callback or Animated.event with useNativeDriver: false
395
- return ActionType.JS_FUNCTION_OLD_API;
396
- }
397
- })();
398
-
399
- RNGestureHandlerModule.attachGestureHandler(
400
- this.handlerTag,
401
- newViewTag,
402
- actionType
403
- );
404
- }
405
-
406
- scheduleFlushOperations();
407
-
408
- ghQueueMicrotask(() => {
409
- MountRegistry.gestureHandlerWillMount(this);
410
- });
411
- };
412
-
413
- private updateGestureHandler = (
414
- newConfig: Readonly<Record<string, unknown>>
415
- ) => {
416
- this.config = newConfig;
417
-
418
- RNGestureHandlerModule.updateGestureHandler(this.handlerTag, newConfig);
419
- scheduleFlushOperations();
420
- };
421
-
422
- private update(remainingTries: number) {
423
- if (!this.isMountedRef.current) {
424
- return;
425
- }
426
-
427
- const props: HandlerProps<U> = this.props;
428
-
429
- // When ref is set via a function i.e. `ref={(r) => refObject.current = r}` instead of
430
- // `ref={refObject}` it's possible that it won't be resolved in time. Seems like trying
431
- // again is easy enough fix.
432
- if (hasUnresolvedRefs(props) && remainingTries > 0) {
433
- ghQueueMicrotask(() => {
434
- this.update(remainingTries - 1);
435
- });
436
- } else {
437
- const newConfig = filterConfig(
438
- transformProps ? transformProps(this.props) : this.props,
439
- [...allowedProps, ...customNativeProps],
440
- config
441
- );
442
- if (!deepEqual(this.config, newConfig)) {
443
- this.updateGestureHandler(newConfig);
444
- }
445
- }
446
- }
447
-
448
- // eslint-disable-next-line @eslint-react/no-unused-class-component-members
449
- setNativeProps(updates: any) {
450
- const mergedProps = { ...this.props, ...updates };
451
- const newConfig = filterConfig(
452
- transformProps ? transformProps(mergedProps) : mergedProps,
453
- [...allowedProps, ...customNativeProps],
454
- config
455
- );
456
- this.updateGestureHandler(newConfig);
457
- }
458
-
459
- render() {
460
- if (__DEV__ && !this.context && !isTestEnv() && Platform.OS !== 'web') {
461
- throw new Error(
462
- name +
463
- ' must be used as a descendant of GestureHandlerRootView. Otherwise the gestures will not be recognized. See https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/installation for more details.'
464
- );
465
- }
466
-
467
- let gestureEventHandler = this.onGestureHandlerEvent;
468
- // Another instance of https://github.com/microsoft/TypeScript/issues/13995
469
- type OnGestureEventHandlers = {
470
- onGestureEvent?: BaseGestureHandlerProps<U>['onGestureEvent'];
471
- onGestureHandlerEvent?: InternalEventHandlers['onGestureHandlerEvent'];
472
- };
473
- const { onGestureEvent, onGestureHandlerEvent }: OnGestureEventHandlers =
474
- this.props;
475
- if (onGestureEvent && typeof onGestureEvent !== 'function') {
476
- // If it's not a method it should be an native Animated.event
477
- // object. We set it directly as the handler for the view
478
- // In this case nested handlers are not going to be supported
479
- if (onGestureHandlerEvent) {
480
- throw new Error(
481
- 'Nesting touch handlers with native animated driver is not supported yet'
482
- );
483
- }
484
- gestureEventHandler = onGestureEvent;
485
- } else {
486
- if (
487
- onGestureHandlerEvent &&
488
- typeof onGestureHandlerEvent !== 'function'
489
- ) {
490
- throw new Error(
491
- 'Nesting touch handlers with native animated driver is not supported yet'
492
- );
493
- }
494
- }
495
-
496
- let gestureStateEventHandler = this.onGestureHandlerStateChange;
497
- // Another instance of https://github.com/microsoft/TypeScript/issues/13995
498
- type OnGestureStateChangeHandlers = {
499
- onHandlerStateChange?: BaseGestureHandlerProps<U>['onHandlerStateChange'];
500
- onGestureHandlerStateChange?: InternalEventHandlers['onGestureHandlerStateChange'];
501
- };
502
- const {
503
- onHandlerStateChange,
504
- onGestureHandlerStateChange,
505
- }: OnGestureStateChangeHandlers = this.props;
506
- if (onHandlerStateChange && typeof onHandlerStateChange !== 'function') {
507
- // If it's not a method it should be an native Animated.event
508
- // object. We set it directly as the handler for the view
509
- // In this case nested handlers are not going to be supported
510
- if (onGestureHandlerStateChange) {
511
- throw new Error(
512
- 'Nesting touch handlers with native animated driver is not supported yet'
513
- );
514
- }
515
- gestureStateEventHandler = onHandlerStateChange;
516
- } else {
517
- if (
518
- onGestureHandlerStateChange &&
519
- typeof onGestureHandlerStateChange !== 'function'
520
- ) {
521
- throw new Error(
522
- 'Nesting touch handlers with native animated driver is not supported yet'
523
- );
524
- }
525
- }
526
- const events = {
527
- onGestureHandlerEvent: this.state.allowTouches
528
- ? gestureEventHandler
529
- : undefined,
530
- onGestureHandlerStateChange: this.state.allowTouches
531
- ? gestureStateEventHandler
532
- : undefined,
533
- };
534
-
535
- this.propsRef.current = events;
536
-
537
- let child: any = null;
538
- try {
539
- child = React.Children.only(this.props.children);
540
- } catch (e) {
541
- throw new Error(
542
- tagMessage(
543
- `${name} got more than one view as a child. If you want the gesture to work on multiple views, wrap them with a common parent and attach the gesture to that view.`
544
- )
545
- );
546
- }
547
-
548
- let grandChildren = child.props.children;
549
- if (
550
- __DEV__ &&
551
- child.type &&
552
- (child.type === 'RNGestureHandlerButton' ||
553
- child.type.name === 'View' ||
554
- child.type.displayName === 'View')
555
- ) {
556
- grandChildren = React.Children.toArray(grandChildren);
557
- grandChildren.push(
558
- <PressabilityDebugView
559
- key="pressabilityDebugView"
560
- color="mediumspringgreen"
561
- hitSlop={child.props.hitSlop}
562
- />
563
- );
564
- }
565
-
566
- return React.cloneElement(
567
- child,
568
- {
569
- ref: this.refHandler,
570
- collapsable: false,
571
- ...(isTestEnv()
572
- ? {
573
- handlerType: name,
574
- handlerTag: this.handlerTag,
575
- enabled: this.props.enabled,
576
- }
577
- : {}),
578
- testID: this.props.testID ?? child.props.testID,
579
- ...events,
580
- },
581
- grandChildren
582
- );
583
- }
584
- }
585
- return Handler;
586
- }
@@ -1,89 +0,0 @@
1
- import * as React from 'react';
2
- import { useImperativeHandle, useRef } from 'react';
3
-
4
- import {
5
- NativeViewGestureHandler,
6
- NativeViewGestureHandlerProps,
7
- nativeViewProps,
8
- } from './NativeViewGestureHandler';
9
-
10
- /*
11
- * This array should consist of:
12
- * - All keys in propTypes from NativeGestureHandler
13
- * (and all keys in GestureHandlerPropTypes)
14
- * - 'onGestureHandlerEvent'
15
- * - 'onGestureHandlerStateChange'
16
- */
17
- const NATIVE_WRAPPER_PROPS_FILTER = [
18
- ...nativeViewProps,
19
- 'onGestureHandlerEvent',
20
- 'onGestureHandlerStateChange',
21
- ] as const;
22
-
23
- export default function createNativeWrapper<P>(
24
- Component: React.ComponentType<P>,
25
- config: Readonly<NativeViewGestureHandlerProps> = {}
26
- ) {
27
- const ComponentWrapper = React.forwardRef<
28
- React.ComponentType<any>,
29
- P & NativeViewGestureHandlerProps
30
- >((props, ref) => {
31
- // Filter out props that should be passed to gesture handler wrapper
32
- const { gestureHandlerProps, childProps } = Object.keys(props).reduce(
33
- (res, key) => {
34
- // TS being overly protective with it's types, see https://github.com/microsoft/TypeScript/issues/26255#issuecomment-458013731 for more info
35
- const allowedKeys: readonly string[] = NATIVE_WRAPPER_PROPS_FILTER;
36
- if (allowedKeys.includes(key)) {
37
- // @ts-ignore FIXME(TS)
38
- res.gestureHandlerProps[key] = props[key];
39
- } else {
40
- // @ts-ignore FIXME(TS)
41
- res.childProps[key] = props[key];
42
- }
43
- return res;
44
- },
45
- {
46
- gestureHandlerProps: { ...config }, // Watch out not to modify config
47
- childProps: {
48
- enabled: props.enabled,
49
- hitSlop: props.hitSlop,
50
- testID: props.testID,
51
- } as P,
52
- }
53
- );
54
- const _ref = useRef<React.ComponentType<P>>(null);
55
- const _gestureHandlerRef = useRef<React.ComponentType<P>>(null);
56
- useImperativeHandle(
57
- ref,
58
- // @ts-ignore TODO(TS) decide how nulls work in this context
59
- () => {
60
- const node = _gestureHandlerRef.current;
61
- // Add handlerTag for relations config
62
- if (_ref.current && node) {
63
- // @ts-ignore FIXME(TS) think about createHandler return type
64
- _ref.current.handlerTag = node.handlerTag;
65
- return _ref.current;
66
- }
67
- return null;
68
- },
69
- [_ref, _gestureHandlerRef]
70
- );
71
- return (
72
- <NativeViewGestureHandler
73
- {...gestureHandlerProps}
74
- ref={_gestureHandlerRef}>
75
- <Component {...childProps} ref={_ref} />
76
- </NativeViewGestureHandler>
77
- );
78
- });
79
-
80
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
81
- ComponentWrapper.displayName =
82
- Component?.displayName ||
83
- // @ts-ignore if render doesn't exist it will return undefined and go further
84
- Component?.render?.name ||
85
- (typeof Component === 'string' && Component) ||
86
- 'ComponentWrapper';
87
-
88
- return ComponentWrapper;
89
- }
@@ -1,2 +0,0 @@
1
- // @ts-ignore - its taken straight from RN
2
- export { customDirectEventTypes } from 'react-native/Libraries/Renderer/shims/ReactNativeViewConfigRegistry';
@@ -1,5 +0,0 @@
1
- // customDirectEventTypes doesn't exist in react-native-web, therefore importing it
2
- // directly in createHandler.tsx would end in crash.
3
- const customDirectEventTypes = {};
4
-
5
- export { customDirectEventTypes };