@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,472 +0,0 @@
1
- import {
2
- HitSlop,
3
- CommonGestureConfig,
4
- GestureTouchEvent,
5
- GestureStateChangeEvent,
6
- GestureUpdateEvent,
7
- ActiveCursor,
8
- MouseButton,
9
- } from '../gestureHandlerCommon';
10
- import { getNextHandlerTag } from '../getNextHandlerTag';
11
- import { GestureStateManagerType } from './gestureStateManager';
12
- import type {
13
- FlingGestureHandlerEventPayload,
14
- ForceTouchGestureHandlerEventPayload,
15
- LongPressGestureHandlerEventPayload,
16
- PanGestureHandlerEventPayload,
17
- PinchGestureHandlerEventPayload,
18
- RotationGestureHandlerEventPayload,
19
- TapGestureHandlerEventPayload,
20
- NativeViewGestureHandlerPayload,
21
- HoverGestureHandlerEventPayload,
22
- } from '../GestureHandlerEventPayload';
23
- import { isRemoteDebuggingEnabled } from '../../utils';
24
-
25
- export type GestureType =
26
- | BaseGesture<Record<string, unknown>>
27
- | BaseGesture<Record<string, never>>
28
- | BaseGesture<TapGestureHandlerEventPayload>
29
- | BaseGesture<PanGestureHandlerEventPayload>
30
- | BaseGesture<LongPressGestureHandlerEventPayload>
31
- | BaseGesture<RotationGestureHandlerEventPayload>
32
- | BaseGesture<PinchGestureHandlerEventPayload>
33
- | BaseGesture<FlingGestureHandlerEventPayload>
34
- | BaseGesture<ForceTouchGestureHandlerEventPayload>
35
- | BaseGesture<NativeViewGestureHandlerPayload>
36
- | BaseGesture<HoverGestureHandlerEventPayload>;
37
-
38
- export type GestureRef =
39
- | number
40
- | GestureType
41
- | React.RefObject<GestureType | undefined>
42
- | React.RefObject<React.ComponentType | undefined>; // Allow adding a ref to a gesture handler
43
- export interface BaseGestureConfig
44
- extends CommonGestureConfig,
45
- Record<string, unknown> {
46
- ref?: React.MutableRefObject<GestureType | undefined>;
47
- requireToFail?: GestureRef[];
48
- simultaneousWith?: GestureRef[];
49
- blocksHandlers?: GestureRef[];
50
- needsPointerData?: boolean;
51
- manualActivation?: boolean;
52
- runOnJS?: boolean;
53
- testId?: string;
54
- cancelsTouchesInView?: boolean;
55
- }
56
-
57
- type TouchEventHandlerType = (
58
- event: GestureTouchEvent,
59
- stateManager: GestureStateManagerType
60
- ) => void;
61
-
62
- export type HandlerCallbacks<EventPayloadT extends Record<string, unknown>> = {
63
- gestureId: number;
64
- handlerTag: number;
65
- onBegin?: (event: GestureStateChangeEvent<EventPayloadT>) => void;
66
- onStart?: (event: GestureStateChangeEvent<EventPayloadT>) => void;
67
- onEnd?: (
68
- event: GestureStateChangeEvent<EventPayloadT>,
69
- success: boolean
70
- ) => void;
71
- onFinalize?: (
72
- event: GestureStateChangeEvent<EventPayloadT>,
73
- success: boolean
74
- ) => void;
75
- onUpdate?: (event: GestureUpdateEvent<EventPayloadT>) => void;
76
- onChange?: (event: any) => void;
77
- onTouchesDown?: TouchEventHandlerType;
78
- onTouchesMove?: TouchEventHandlerType;
79
- onTouchesUp?: TouchEventHandlerType;
80
- onTouchesCancelled?: TouchEventHandlerType;
81
- changeEventCalculator?: (
82
- current: GestureUpdateEvent<Record<string, unknown>>,
83
- previous?: GestureUpdateEvent<Record<string, unknown>>
84
- ) => GestureUpdateEvent<Record<string, unknown>>;
85
- isWorklet: boolean[];
86
- };
87
-
88
- export const CALLBACK_TYPE = {
89
- UNDEFINED: 0,
90
- BEGAN: 1,
91
- START: 2,
92
- UPDATE: 3,
93
- CHANGE: 4,
94
- END: 5,
95
- FINALIZE: 6,
96
- TOUCHES_DOWN: 7,
97
- TOUCHES_MOVE: 8,
98
- TOUCHES_UP: 9,
99
- TOUCHES_CANCELLED: 10,
100
- } as const;
101
-
102
- // Allow using CALLBACK_TYPE as object and type
103
- // eslint-disable-next-line @typescript-eslint/no-redeclare
104
- export type CALLBACK_TYPE = (typeof CALLBACK_TYPE)[keyof typeof CALLBACK_TYPE];
105
-
106
- export abstract class Gesture {
107
- /**
108
- * Return array of gestures, providing the same interface for creating and updating
109
- * handlers, no matter which object was used to create gesture instance.
110
- */
111
- abstract toGestureArray(): GestureType[];
112
-
113
- /**
114
- * Assign handlerTag to the gesture instance and set ref.current (if a ref is set)
115
- */
116
- abstract initialize(): void;
117
-
118
- /**
119
- * Make sure that values of properties defining relations are arrays. Do any necessary
120
- * preprocessing required to configure relations between handlers. Called just before
121
- * updating the handler on the native side.
122
- */
123
- abstract prepare(): void;
124
- }
125
-
126
- let nextGestureId = 0;
127
- export abstract class BaseGesture<
128
- EventPayloadT extends Record<string, unknown>,
129
- > extends Gesture {
130
- private gestureId = -1;
131
- public handlerTag = -1;
132
- public handlerName = '';
133
- public config: BaseGestureConfig = {};
134
- public handlers: HandlerCallbacks<EventPayloadT> = {
135
- gestureId: -1,
136
- handlerTag: -1,
137
- isWorklet: [],
138
- };
139
-
140
- constructor() {
141
- super();
142
-
143
- // Used to check whether the gesture config has been updated when wrapping it
144
- // with `useMemo`. Since every config will have a unique id, when the dependencies
145
- // don't change, the config won't be recreated and the id will stay the same.
146
- // If the id is different, it means that the config has changed and the gesture
147
- // needs to be updated.
148
- this.gestureId = nextGestureId++;
149
- this.handlers.gestureId = this.gestureId;
150
- }
151
-
152
- private addDependency(
153
- key: 'simultaneousWith' | 'requireToFail' | 'blocksHandlers',
154
- gesture: Exclude<GestureRef, number>
155
- ) {
156
- const value = this.config[key];
157
- this.config[key] = value
158
- ? Array<GestureRef>().concat(value, gesture)
159
- : [gesture];
160
- }
161
-
162
- /**
163
- * Sets a `ref` to the gesture object, allowing for interoperability with the old API.
164
- * @param ref
165
- */
166
- withRef(ref: React.MutableRefObject<GestureType | undefined>) {
167
- this.config.ref = ref;
168
- return this;
169
- }
170
-
171
- // eslint-disable-next-line @typescript-eslint/ban-types
172
- protected isWorklet(callback: Function) {
173
- // @ts-ignore if callback is a worklet, the property will be available, if not then the check will return false
174
- return callback.__workletHash !== undefined;
175
- }
176
-
177
- /**
178
- * Set the callback that is being called when given gesture handler starts receiving touches.
179
- * At the moment of this callback the handler is in `BEGAN` state and we don't know yet if it will recognize the gesture at all.
180
- * @param callback
181
- */
182
- onBegin(callback: (event: GestureStateChangeEvent<EventPayloadT>) => void) {
183
- this.handlers.onBegin = callback;
184
- this.handlers.isWorklet[CALLBACK_TYPE.BEGAN] = this.isWorklet(callback);
185
- return this;
186
- }
187
-
188
- /**
189
- * Set the callback that is being called when the gesture is recognized by the handler and it transitions to the `ACTIVE` state.
190
- * @param callback
191
- */
192
- onStart(callback: (event: GestureStateChangeEvent<EventPayloadT>) => void) {
193
- this.handlers.onStart = callback;
194
- this.handlers.isWorklet[CALLBACK_TYPE.START] = this.isWorklet(callback);
195
- return this;
196
- }
197
-
198
- /**
199
- * Set the callback that is being called when the gesture that was recognized by the handler finishes and handler reaches `END` state.
200
- * It will be called only if the handler was previously in the `ACTIVE` state.
201
- * @param callback
202
- */
203
- onEnd(
204
- callback: (
205
- event: GestureStateChangeEvent<EventPayloadT>,
206
- success: boolean
207
- ) => void
208
- ) {
209
- this.handlers.onEnd = callback;
210
- // @ts-ignore if callback is a worklet, the property will be available, if not then the check will return false
211
- this.handlers.isWorklet[CALLBACK_TYPE.END] = this.isWorklet(callback);
212
- return this;
213
- }
214
-
215
- /**
216
- * Set the callback that is being called when the handler finalizes handling gesture - the gesture was recognized and has finished or it failed to recognize.
217
- * @param callback
218
- */
219
- onFinalize(
220
- callback: (
221
- event: GestureStateChangeEvent<EventPayloadT>,
222
- success: boolean
223
- ) => void
224
- ) {
225
- this.handlers.onFinalize = callback;
226
- // @ts-ignore if callback is a worklet, the property will be available, if not then the check will return false
227
- this.handlers.isWorklet[CALLBACK_TYPE.FINALIZE] = this.isWorklet(callback);
228
- return this;
229
- }
230
-
231
- /**
232
- * Set the `onTouchesDown` callback which is called every time a pointer is placed on the screen.
233
- * @param callback
234
- */
235
- onTouchesDown(callback: TouchEventHandlerType) {
236
- this.config.needsPointerData = true;
237
- this.handlers.onTouchesDown = callback;
238
- this.handlers.isWorklet[CALLBACK_TYPE.TOUCHES_DOWN] =
239
- this.isWorklet(callback);
240
-
241
- return this;
242
- }
243
-
244
- /**
245
- * Set the `onTouchesMove` callback which is called every time a pointer is moved on the screen.
246
- * @param callback
247
- */
248
- onTouchesMove(callback: TouchEventHandlerType) {
249
- this.config.needsPointerData = true;
250
- this.handlers.onTouchesMove = callback;
251
- this.handlers.isWorklet[CALLBACK_TYPE.TOUCHES_MOVE] =
252
- this.isWorklet(callback);
253
-
254
- return this;
255
- }
256
-
257
- /**
258
- * Set the `onTouchesUp` callback which is called every time a pointer is lifted from the screen.
259
- * @param callback
260
- */
261
- onTouchesUp(callback: TouchEventHandlerType) {
262
- this.config.needsPointerData = true;
263
- this.handlers.onTouchesUp = callback;
264
- this.handlers.isWorklet[CALLBACK_TYPE.TOUCHES_UP] =
265
- this.isWorklet(callback);
266
-
267
- return this;
268
- }
269
-
270
- /**
271
- * Set the `onTouchesCancelled` callback which is called every time a pointer stops being tracked, for example when the gesture finishes.
272
- * @param callback
273
- */
274
- onTouchesCancelled(callback: TouchEventHandlerType) {
275
- this.config.needsPointerData = true;
276
- this.handlers.onTouchesCancelled = callback;
277
- this.handlers.isWorklet[CALLBACK_TYPE.TOUCHES_CANCELLED] =
278
- this.isWorklet(callback);
279
-
280
- return this;
281
- }
282
-
283
- /**
284
- * Indicates whether the given handler should be analyzing stream of touch events or not.
285
- * @param enabled
286
- * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#enabledvalue-boolean
287
- */
288
- enabled(enabled: boolean) {
289
- this.config.enabled = enabled;
290
- return this;
291
- }
292
-
293
- /**
294
- * When true the handler will cancel or fail recognition (depending on its current state) whenever the finger leaves the area of the connected view.
295
- * @param value
296
- * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#shouldcancelwhenoutsidevalue-boolean
297
- */
298
- shouldCancelWhenOutside(value: boolean) {
299
- this.config.shouldCancelWhenOutside = value;
300
- return this;
301
- }
302
-
303
- /**
304
- * This parameter enables control over what part of the connected view area can be used to begin recognizing the gesture.
305
- * When a negative number is provided the bounds of the view will reduce the area by the given number of points in each of the sides evenly.
306
- * @param hitSlop
307
- * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#hitslopsettings
308
- */
309
- hitSlop(hitSlop: HitSlop) {
310
- this.config.hitSlop = hitSlop;
311
- return this;
312
- }
313
-
314
- /**
315
- * #### Web only
316
- * This parameter allows to specify which `cursor` should be used when gesture activates.
317
- * Supports all CSS cursor values (e.g. `"grab"`, `"zoom-in"`). Default value is set to `"auto"`.
318
- * @param activeCursor
319
- */
320
- activeCursor(activeCursor: ActiveCursor) {
321
- this.config.activeCursor = activeCursor;
322
- return this;
323
- }
324
-
325
- /**
326
- * #### Web & Android only
327
- * Allows users to choose which mouse button should handler respond to.
328
- * Arguments can be combined using `|` operator, e.g. `mouseButton(MouseButton.LEFT | MouseButton.RIGHT)`.
329
- * Default value is set to `MouseButton.LEFT`.
330
- * @param mouseButton
331
- * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#mousebuttonvalue-mousebutton-web--android-only
332
- */
333
- mouseButton(mouseButton: MouseButton) {
334
- this.config.mouseButton = mouseButton;
335
- return this;
336
- }
337
-
338
- /**
339
- * When `react-native-reanimated` is installed, the callbacks passed to the gestures are automatically workletized and run on the UI thread when called.
340
- * This option allows for changing this behavior: when `true`, all the callbacks will be run on the JS thread instead of the UI thread, regardless of whether they are worklets or not.
341
- * Defaults to `false`.
342
- * @param runOnJS
343
- */
344
- runOnJS(runOnJS: boolean) {
345
- this.config.runOnJS = runOnJS;
346
- return this;
347
- }
348
-
349
- /**
350
- * Allows gestures across different components to be recognized simultaneously.
351
- * @param gestures
352
- * @see https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/gesture-composition/#simultaneouswithexternalgesture
353
- */
354
- simultaneousWithExternalGesture(...gestures: Exclude<GestureRef, number>[]) {
355
- for (const gesture of gestures) {
356
- this.addDependency('simultaneousWith', gesture);
357
- }
358
- return this;
359
- }
360
-
361
- /**
362
- * Allows to delay activation of the handler until all handlers passed as arguments to this method fail (or don't begin at all).
363
- * @param gestures
364
- * @see https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/gesture-composition/#requireexternalgesturetofail
365
- */
366
- requireExternalGestureToFail(...gestures: Exclude<GestureRef, number>[]) {
367
- for (const gesture of gestures) {
368
- this.addDependency('requireToFail', gesture);
369
- }
370
- return this;
371
- }
372
-
373
- /**
374
- * Works similarily to `requireExternalGestureToFail` but the direction of the relation is reversed - instead of being one-to-many relation, it's many-to-one.
375
- * @param gestures
376
- * @see https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/gesture-composition/#blocksexternalgesture
377
- */
378
- blocksExternalGesture(...gestures: Exclude<GestureRef, number>[]) {
379
- for (const gesture of gestures) {
380
- this.addDependency('blocksHandlers', gesture);
381
- }
382
- return this;
383
- }
384
-
385
- /**
386
- * Sets a `testID` property for gesture object, allowing for querying for it in tests.
387
- * @param id
388
- */
389
- withTestId(id: string) {
390
- this.config.testId = id;
391
- return this;
392
- }
393
-
394
- /**
395
- * #### iOS only
396
- * When `true`, the handler will cancel touches for native UI components (`UIButton`, `UISwitch`, etc) it's attached to when it becomes `ACTIVE`.
397
- * Default value is `true`.
398
- * @param value
399
- */
400
- cancelsTouchesInView(value: boolean) {
401
- this.config.cancelsTouchesInView = value;
402
- return this;
403
- }
404
-
405
- initialize() {
406
- this.handlerTag = getNextHandlerTag();
407
-
408
- this.handlers = { ...this.handlers, handlerTag: this.handlerTag };
409
-
410
- if (this.config.ref) {
411
- this.config.ref.current = this as GestureType;
412
- }
413
- }
414
-
415
- toGestureArray(): GestureType[] {
416
- return [this as GestureType];
417
- }
418
-
419
- // eslint-disable-next-line @typescript-eslint/no-empty-function
420
- prepare() {}
421
-
422
- get shouldUseReanimated(): boolean {
423
- // Use Reanimated when runOnJS isn't set explicitly,
424
- // all defined callbacks are worklets
425
- // and remote debugging is disabled
426
- return (
427
- this.config.runOnJS !== true &&
428
- !this.handlers.isWorklet.includes(false) &&
429
- !isRemoteDebuggingEnabled()
430
- );
431
- }
432
- }
433
-
434
- export abstract class ContinousBaseGesture<
435
- EventPayloadT extends Record<string, unknown>,
436
- EventChangePayloadT extends Record<string, unknown>,
437
- > extends BaseGesture<EventPayloadT> {
438
- /**
439
- * Set the callback that is being called every time the gesture receives an update while it's active.
440
- * @param callback
441
- */
442
- onUpdate(callback: (event: GestureUpdateEvent<EventPayloadT>) => void) {
443
- this.handlers.onUpdate = callback;
444
- this.handlers.isWorklet[CALLBACK_TYPE.UPDATE] = this.isWorklet(callback);
445
- return this;
446
- }
447
-
448
- /**
449
- * Set the callback that is being called every time the gesture receives an update while it's active.
450
- * This callback will receive information about change in value in relation to the last received event.
451
- * @param callback
452
- */
453
- onChange(
454
- callback: (
455
- event: GestureUpdateEvent<EventPayloadT & EventChangePayloadT>
456
- ) => void
457
- ) {
458
- this.handlers.onChange = callback;
459
- this.handlers.isWorklet[CALLBACK_TYPE.CHANGE] = this.isWorklet(callback);
460
- return this;
461
- }
462
-
463
- /**
464
- * When `true` the handler will not activate by itself even if its activation criteria are met.
465
- * Instead you can manipulate its state using state manager.
466
- * @param manualActivation
467
- */
468
- manualActivation(manualActivation: boolean) {
469
- this.config.manualActivation = manualActivation;
470
- return this;
471
- }
472
- }
@@ -1,124 +0,0 @@
1
- import { BaseGesture, Gesture, GestureRef, GestureType } from './gesture';
2
-
3
- function extendRelation(
4
- currentRelation: GestureRef[] | undefined,
5
- extendWith: GestureType[]
6
- ) {
7
- if (currentRelation === undefined) {
8
- return [...extendWith];
9
- } else {
10
- return [...currentRelation, ...extendWith];
11
- }
12
- }
13
-
14
- export class ComposedGesture extends Gesture {
15
- protected gestures: Gesture[] = [];
16
- protected simultaneousGestures: GestureType[] = [];
17
- protected requireGesturesToFail: GestureType[] = [];
18
-
19
- constructor(...gestures: Gesture[]) {
20
- super();
21
- this.gestures = gestures;
22
- }
23
-
24
- protected prepareSingleGesture(
25
- gesture: Gesture,
26
- simultaneousGestures: GestureType[],
27
- requireGesturesToFail: GestureType[]
28
- ) {
29
- if (gesture instanceof BaseGesture) {
30
- const newConfig = { ...gesture.config };
31
-
32
- // No need to extend `blocksHandlers` here, because it's not changed in composition.
33
- // The same effect is achieved by reversing the order of 2 gestures in `Exclusive`
34
- newConfig.simultaneousWith = extendRelation(
35
- newConfig.simultaneousWith,
36
- simultaneousGestures
37
- );
38
- newConfig.requireToFail = extendRelation(
39
- newConfig.requireToFail,
40
- requireGesturesToFail
41
- );
42
-
43
- gesture.config = newConfig;
44
- } else if (gesture instanceof ComposedGesture) {
45
- gesture.simultaneousGestures = simultaneousGestures;
46
- gesture.requireGesturesToFail = requireGesturesToFail;
47
- gesture.prepare();
48
- }
49
- }
50
-
51
- prepare() {
52
- for (const gesture of this.gestures) {
53
- this.prepareSingleGesture(
54
- gesture,
55
- this.simultaneousGestures,
56
- this.requireGesturesToFail
57
- );
58
- }
59
- }
60
-
61
- initialize() {
62
- for (const gesture of this.gestures) {
63
- gesture.initialize();
64
- }
65
- }
66
-
67
- toGestureArray(): GestureType[] {
68
- return this.gestures.flatMap((gesture) => gesture.toGestureArray());
69
- }
70
- }
71
-
72
- export class SimultaneousGesture extends ComposedGesture {
73
- prepare() {
74
- // This piece of magic works something like this:
75
- // for every gesture in the array
76
- const simultaneousArrays = this.gestures.map((gesture) =>
77
- // we take the array it's in
78
- this.gestures
79
- // and make a copy without it
80
- .filter((x) => x !== gesture)
81
- // then we flatmap the result to get list of raw (not composed) gestures
82
- // this way we don't make the gestures simultaneous with themselves, which is
83
- // important when the gesture is `ExclusiveGesture` - we don't want to make
84
- // exclusive gestures simultaneous
85
- .flatMap((x) => x.toGestureArray())
86
- );
87
-
88
- for (let i = 0; i < this.gestures.length; i++) {
89
- this.prepareSingleGesture(
90
- this.gestures[i],
91
- simultaneousArrays[i],
92
- this.requireGesturesToFail
93
- );
94
- }
95
- }
96
- }
97
-
98
- export class ExclusiveGesture extends ComposedGesture {
99
- prepare() {
100
- // Transforms the array of gestures into array of grouped raw (not composed) gestures
101
- // i.e. [gesture1, gesture2, ComposedGesture(gesture3, gesture4)] -> [[gesture1], [gesture2], [gesture3, gesture4]]
102
- const gestureArrays = this.gestures.map((gesture) =>
103
- gesture.toGestureArray()
104
- );
105
-
106
- let requireToFail: GestureType[] = [];
107
-
108
- for (let i = 0; i < this.gestures.length; i++) {
109
- this.prepareSingleGesture(
110
- this.gestures[i],
111
- this.simultaneousGestures,
112
- this.requireGesturesToFail.concat(requireToFail)
113
- );
114
-
115
- // Every group gets to wait for all groups before it
116
- requireToFail = requireToFail.concat(gestureArrays[i]);
117
- }
118
- }
119
- }
120
-
121
- export type ComposedGestureType = InstanceType<typeof ComposedGesture>;
122
- export type RaceGestureType = ComposedGestureType;
123
- export type SimultaneousGestureType = InstanceType<typeof SimultaneousGesture>;
124
- export type ExclusiveGestureType = InstanceType<typeof ExclusiveGesture>;