@amazon-devices/react-native-gesture-handler 4.0.1 → 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 (507) hide show
  1. package/kepler-compatibility.json +2 -1
  2. package/lib/commonjs/index.js +0 -268
  3. package/package.json +1 -1
  4. package/src/index.ts +0 -168
  5. package/README.md +0 -70
  6. package/lib/commonjs/ActionType.js +0 -15
  7. package/lib/commonjs/Directions.js +0 -31
  8. package/lib/commonjs/EnableNewWebImplementation.js +0 -40
  9. package/lib/commonjs/GestureHandlerRootViewContext.js +0 -10
  10. package/lib/commonjs/PlatformConstants.js +0 -9
  11. package/lib/commonjs/PlatformConstants.kepler.js +0 -12
  12. package/lib/commonjs/PlatformConstants.web.js +0 -12
  13. package/lib/commonjs/PointerType.js +0 -15
  14. package/lib/commonjs/RNGestureHandlerModule.js +0 -12
  15. package/lib/commonjs/RNGestureHandlerModule.kepler.js +0 -29
  16. package/lib/commonjs/RNGestureHandlerModule.web.js +0 -95
  17. package/lib/commonjs/RNGestureHandlerModule.windows.js +0 -56
  18. package/lib/commonjs/RNRenderer.js +0 -14
  19. package/lib/commonjs/RNRenderer.web.js +0 -10
  20. package/lib/commonjs/State.js +0 -19
  21. package/lib/commonjs/TouchEventType.js +0 -16
  22. package/lib/commonjs/components/DrawerLayout.js +0 -548
  23. package/lib/commonjs/components/GestureButtons.js +0 -212
  24. package/lib/commonjs/components/GestureButtonsProps.js +0 -6
  25. package/lib/commonjs/components/GestureComponents.js +0 -106
  26. package/lib/commonjs/components/GestureComponents.web.js +0 -39
  27. package/lib/commonjs/components/GestureHandlerButton.js +0 -10
  28. package/lib/commonjs/components/GestureHandlerButton.web.js +0 -16
  29. package/lib/commonjs/components/GestureHandlerRootView.android.js +0 -36
  30. package/lib/commonjs/components/GestureHandlerRootView.js +0 -35
  31. package/lib/commonjs/components/GestureHandlerRootView.kepler.js +0 -21
  32. package/lib/commonjs/components/GestureHandlerRootView.web.js +0 -30
  33. package/lib/commonjs/components/Pressable/Pressable.js +0 -274
  34. package/lib/commonjs/components/Pressable/PressableProps.js +0 -6
  35. package/lib/commonjs/components/Pressable/StateMachine.js +0 -44
  36. package/lib/commonjs/components/Pressable/index.js +0 -14
  37. package/lib/commonjs/components/Pressable/stateDefinitions.js +0 -88
  38. package/lib/commonjs/components/Pressable/utils.js +0 -92
  39. package/lib/commonjs/components/ReanimatedDrawerLayout.js +0 -357
  40. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -337
  41. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -12
  42. package/lib/commonjs/components/ReanimatedSwipeable/index.js +0 -21
  43. package/lib/commonjs/components/Swipeable.js +0 -370
  44. package/lib/commonjs/components/Text.js +0 -60
  45. package/lib/commonjs/components/gestureHandlerRootHOC.js +0 -37
  46. package/lib/commonjs/components/touchables/ExtraButtonProps.js +0 -2
  47. package/lib/commonjs/components/touchables/GenericTouchable.js +0 -245
  48. package/lib/commonjs/components/touchables/GenericTouchableProps.js +0 -6
  49. package/lib/commonjs/components/touchables/TouchableHighlight.js +0 -93
  50. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +0 -84
  51. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +0 -13
  52. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js +0 -6
  53. package/lib/commonjs/components/touchables/TouchableOpacity.js +0 -65
  54. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +0 -33
  55. package/lib/commonjs/components/touchables/index.js +0 -35
  56. package/lib/commonjs/components/utils.js +0 -17
  57. package/lib/commonjs/findNodeHandle.js +0 -9
  58. package/lib/commonjs/findNodeHandle.web.js +0 -39
  59. package/lib/commonjs/getShadowNodeFromRef.js +0 -51
  60. package/lib/commonjs/getShadowNodeFromRef.web.js +0 -14
  61. package/lib/commonjs/ghQueueMicrotask.js +0 -10
  62. package/lib/commonjs/handlers/FlingGestureHandler.js +0 -31
  63. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +0 -46
  64. package/lib/commonjs/handlers/GestureHandlerEventPayload.js +0 -6
  65. package/lib/commonjs/handlers/LongPressGestureHandler.js +0 -33
  66. package/lib/commonjs/handlers/NativeViewGestureHandler.js +0 -32
  67. package/lib/commonjs/handlers/PanGestureHandler.js +0 -112
  68. package/lib/commonjs/handlers/PinchGestureHandler.js +0 -29
  69. package/lib/commonjs/handlers/PressabilityDebugView.js +0 -13
  70. package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -11
  71. package/lib/commonjs/handlers/RotationGestureHandler.js +0 -29
  72. package/lib/commonjs/handlers/TapGestureHandler.js +0 -33
  73. package/lib/commonjs/handlers/createHandler.js +0 -405
  74. package/lib/commonjs/handlers/createNativeWrapper.js +0 -77
  75. package/lib/commonjs/handlers/customDirectEventTypes.js +0 -13
  76. package/lib/commonjs/handlers/customDirectEventTypes.web.js +0 -10
  77. package/lib/commonjs/handlers/gestureHandlerCommon.js +0 -27
  78. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +0 -6
  79. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +0 -32
  80. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +0 -41
  81. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +0 -67
  82. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +0 -20
  83. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +0 -125
  84. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -22
  85. package/lib/commonjs/handlers/gestures/GestureDetector/types.js +0 -6
  86. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +0 -66
  87. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -143
  88. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -47
  89. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +0 -41
  90. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -45
  91. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +0 -143
  92. package/lib/commonjs/handlers/gestures/eventReceiver.js +0 -117
  93. package/lib/commonjs/handlers/gestures/flingGesture.js +0 -37
  94. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +0 -80
  95. package/lib/commonjs/handlers/gestures/gesture.js +0 -338
  96. package/lib/commonjs/handlers/gestures/gestureComposition.js +0 -90
  97. package/lib/commonjs/handlers/gestures/gestureObjects.js +0 -132
  98. package/lib/commonjs/handlers/gestures/gestureStateManager.js +0 -70
  99. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +0 -28
  100. package/lib/commonjs/handlers/gestures/hoverGesture.js +0 -57
  101. package/lib/commonjs/handlers/gestures/longPressGesture.js +0 -46
  102. package/lib/commonjs/handlers/gestures/manualGesture.js +0 -25
  103. package/lib/commonjs/handlers/gestures/nativeGesture.js +0 -34
  104. package/lib/commonjs/handlers/gestures/panGesture.js +0 -197
  105. package/lib/commonjs/handlers/gestures/pinchGesture.js +0 -38
  106. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +0 -29
  107. package/lib/commonjs/handlers/gestures/rotationGesture.js +0 -38
  108. package/lib/commonjs/handlers/gestures/tapGesture.js +0 -87
  109. package/lib/commonjs/handlers/getNextHandlerTag.js +0 -11
  110. package/lib/commonjs/handlers/handlersRegistry.js +0 -50
  111. package/lib/commonjs/handlers/utils.js +0 -69
  112. package/lib/commonjs/init.js +0 -25
  113. package/lib/commonjs/jestUtils/index.js +0 -19
  114. package/lib/commonjs/jestUtils/jestUtils.js +0 -316
  115. package/lib/commonjs/mocks/Pressable.js +0 -13
  116. package/lib/commonjs/mocks/mocks.js +0 -70
  117. package/lib/commonjs/mocks.js +0 -61
  118. package/lib/commonjs/mountRegistry.js +0 -37
  119. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +0 -9
  120. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -20
  121. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  122. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -17
  123. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  124. package/lib/commonjs/typeUtils.js +0 -2
  125. package/lib/commonjs/utils.js +0 -95
  126. package/lib/commonjs/web/Gestures.js +0 -48
  127. package/lib/commonjs/web/constants.js +0 -9
  128. package/lib/commonjs/web/detectors/RotationGestureDetector.js +0 -124
  129. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +0 -111
  130. package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -143
  131. package/lib/commonjs/web/handlers/GestureHandler.js +0 -689
  132. package/lib/commonjs/web/handlers/HoverGestureHandler.js +0 -45
  133. package/lib/commonjs/web/handlers/IGestureHandler.js +0 -2
  134. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -146
  135. package/lib/commonjs/web/handlers/ManualGestureHandler.js +0 -38
  136. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -141
  137. package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -399
  138. package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -122
  139. package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -129
  140. package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -215
  141. package/lib/commonjs/web/interfaces.js +0 -32
  142. package/lib/commonjs/web/tools/CircularBuffer.js +0 -40
  143. package/lib/commonjs/web/tools/EventManager.js +0 -94
  144. package/lib/commonjs/web/tools/GestureHandlerDelegate.js +0 -6
  145. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +0 -267
  146. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +0 -165
  147. package/lib/commonjs/web/tools/InteractionManager.js +0 -96
  148. package/lib/commonjs/web/tools/KeyboardEventManager.js +0 -108
  149. package/lib/commonjs/web/tools/LeastSquareSolver.js +0 -159
  150. package/lib/commonjs/web/tools/NodeManager.js +0 -39
  151. package/lib/commonjs/web/tools/PointerEventManager.js +0 -189
  152. package/lib/commonjs/web/tools/PointerTracker.js +0 -192
  153. package/lib/commonjs/web/tools/Vector.js +0 -37
  154. package/lib/commonjs/web/tools/VelocityTracker.js +0 -85
  155. package/lib/commonjs/web/tools/WheelEventManager.js +0 -55
  156. package/lib/commonjs/web/utils.js +0 -235
  157. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +0 -93
  158. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +0 -43
  159. package/lib/commonjs/web_hammer/Errors.js +0 -13
  160. package/lib/commonjs/web_hammer/FlingGestureHandler.js +0 -139
  161. package/lib/commonjs/web_hammer/GestureHandler.js +0 -484
  162. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +0 -45
  163. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +0 -57
  164. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +0 -57
  165. package/lib/commonjs/web_hammer/NodeManager.js +0 -41
  166. package/lib/commonjs/web_hammer/PanGestureHandler.js +0 -167
  167. package/lib/commonjs/web_hammer/PinchGestureHandler.js +0 -31
  168. package/lib/commonjs/web_hammer/PressGestureHandler.js +0 -153
  169. package/lib/commonjs/web_hammer/RotationGestureHandler.js +0 -32
  170. package/lib/commonjs/web_hammer/TapGestureHandler.js +0 -165
  171. package/lib/commonjs/web_hammer/constants.js +0 -51
  172. package/lib/commonjs/web_hammer/utils.js +0 -32
  173. package/lib/module/ActionType.js +0 -11
  174. package/lib/module/Directions.js +0 -27
  175. package/lib/module/EnableNewWebImplementation.js +0 -34
  176. package/lib/module/GestureHandlerRootViewContext.js +0 -5
  177. package/lib/module/PlatformConstants.js +0 -5
  178. package/lib/module/PlatformConstants.kepler.js +0 -8
  179. package/lib/module/PlatformConstants.web.js +0 -8
  180. package/lib/module/PointerType.js +0 -11
  181. package/lib/module/RNGestureHandlerModule.js +0 -8
  182. package/lib/module/RNGestureHandlerModule.kepler.js +0 -25
  183. package/lib/module/RNGestureHandlerModule.web.js +0 -90
  184. package/lib/module/RNGestureHandlerModule.windows.js +0 -50
  185. package/lib/module/RNRenderer.js +0 -6
  186. package/lib/module/RNRenderer.web.js +0 -6
  187. package/lib/module/State.js +0 -15
  188. package/lib/module/TouchEventType.js +0 -12
  189. package/lib/module/components/DrawerLayout.js +0 -541
  190. package/lib/module/components/GestureButtons.js +0 -200
  191. package/lib/module/components/GestureButtonsProps.js +0 -4
  192. package/lib/module/components/GestureComponents.js +0 -100
  193. package/lib/module/components/GestureComponents.web.js +0 -32
  194. package/lib/module/components/GestureHandlerButton.js +0 -5
  195. package/lib/module/components/GestureHandlerButton.web.js +0 -11
  196. package/lib/module/components/GestureHandlerRootView.android.js +0 -30
  197. package/lib/module/components/GestureHandlerRootView.js +0 -29
  198. package/lib/module/components/GestureHandlerRootView.kepler.js +0 -15
  199. package/lib/module/components/GestureHandlerRootView.web.js +0 -24
  200. package/lib/module/components/Pressable/Pressable.js +0 -268
  201. package/lib/module/components/Pressable/PressableProps.js +0 -4
  202. package/lib/module/components/Pressable/StateMachine.js +0 -40
  203. package/lib/module/components/Pressable/index.js +0 -4
  204. package/lib/module/components/Pressable/stateDefinitions.js +0 -83
  205. package/lib/module/components/Pressable/utils.js +0 -84
  206. package/lib/module/components/ReanimatedDrawerLayout.js +0 -352
  207. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -332
  208. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -8
  209. package/lib/module/components/ReanimatedSwipeable/index.js +0 -5
  210. package/lib/module/components/Swipeable.js +0 -364
  211. package/lib/module/components/Text.js +0 -55
  212. package/lib/module/components/gestureHandlerRootHOC.js +0 -33
  213. package/lib/module/components/touchables/ExtraButtonProps.js +0 -2
  214. package/lib/module/components/touchables/GenericTouchable.js +0 -239
  215. package/lib/module/components/touchables/GenericTouchableProps.js +0 -4
  216. package/lib/module/components/touchables/TouchableHighlight.js +0 -87
  217. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +0 -77
  218. package/lib/module/components/touchables/TouchableNativeFeedback.js +0 -10
  219. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js +0 -4
  220. package/lib/module/components/touchables/TouchableOpacity.js +0 -59
  221. package/lib/module/components/touchables/TouchableWithoutFeedback.js +0 -27
  222. package/lib/module/components/touchables/index.js +0 -7
  223. package/lib/module/components/utils.js +0 -13
  224. package/lib/module/findNodeHandle.js +0 -5
  225. package/lib/module/findNodeHandle.web.js +0 -35
  226. package/lib/module/getShadowNodeFromRef.js +0 -47
  227. package/lib/module/getShadowNodeFromRef.web.js +0 -10
  228. package/lib/module/ghQueueMicrotask.js +0 -6
  229. package/lib/module/handlers/FlingGestureHandler.js +0 -26
  230. package/lib/module/handlers/ForceTouchGestureHandler.js +0 -41
  231. package/lib/module/handlers/GestureHandlerEventPayload.js +0 -4
  232. package/lib/module/handlers/LongPressGestureHandler.js +0 -28
  233. package/lib/module/handlers/NativeViewGestureHandler.js +0 -27
  234. package/lib/module/handlers/PanGestureHandler.js +0 -105
  235. package/lib/module/handlers/PinchGestureHandler.js +0 -25
  236. package/lib/module/handlers/PressabilityDebugView.js +0 -5
  237. package/lib/module/handlers/PressabilityDebugView.web.js +0 -7
  238. package/lib/module/handlers/RotationGestureHandler.js +0 -25
  239. package/lib/module/handlers/TapGestureHandler.js +0 -28
  240. package/lib/module/handlers/createHandler.js +0 -399
  241. package/lib/module/handlers/createNativeWrapper.js +0 -74
  242. package/lib/module/handlers/customDirectEventTypes.js +0 -5
  243. package/lib/module/handlers/customDirectEventTypes.web.js +0 -7
  244. package/lib/module/handlers/gestureHandlerCommon.js +0 -26
  245. package/lib/module/handlers/gestureHandlerTypesCompat.js +0 -4
  246. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +0 -26
  247. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +0 -36
  248. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +0 -62
  249. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -15
  250. package/lib/module/handlers/gestures/GestureDetector/index.js +0 -117
  251. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -18
  252. package/lib/module/handlers/gestures/GestureDetector/types.js +0 -4
  253. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +0 -61
  254. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -139
  255. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -43
  256. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +0 -37
  257. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -40
  258. package/lib/module/handlers/gestures/GestureDetector/utils.js +0 -134
  259. package/lib/module/handlers/gestures/eventReceiver.js +0 -110
  260. package/lib/module/handlers/gestures/flingGesture.js +0 -32
  261. package/lib/module/handlers/gestures/forceTouchGesture.js +0 -76
  262. package/lib/module/handlers/gestures/gesture.js +0 -332
  263. package/lib/module/handlers/gestures/gestureComposition.js +0 -83
  264. package/lib/module/handlers/gestures/gestureObjects.js +0 -129
  265. package/lib/module/handlers/gestures/gestureStateManager.js +0 -66
  266. package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -23
  267. package/lib/module/handlers/gestures/hoverGesture.js +0 -52
  268. package/lib/module/handlers/gestures/longPressGesture.js +0 -41
  269. package/lib/module/handlers/gestures/manualGesture.js +0 -20
  270. package/lib/module/handlers/gestures/nativeGesture.js +0 -29
  271. package/lib/module/handlers/gestures/panGesture.js +0 -192
  272. package/lib/module/handlers/gestures/pinchGesture.js +0 -33
  273. package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -26
  274. package/lib/module/handlers/gestures/rotationGesture.js +0 -33
  275. package/lib/module/handlers/gestures/tapGesture.js +0 -82
  276. package/lib/module/handlers/getNextHandlerTag.js +0 -7
  277. package/lib/module/handlers/handlersRegistry.js +0 -39
  278. package/lib/module/handlers/utils.js +0 -61
  279. package/lib/module/index.js +0 -31
  280. package/lib/module/init.js +0 -19
  281. package/lib/module/jestUtils/index.js +0 -4
  282. package/lib/module/jestUtils/jestUtils.js +0 -311
  283. package/lib/module/mocks/Pressable.js +0 -4
  284. package/lib/module/mocks/mocks.js +0 -64
  285. package/lib/module/mocks.js +0 -57
  286. package/lib/module/mountRegistry.js +0 -32
  287. package/lib/module/specs/NativeRNGestureHandlerModule.js +0 -5
  288. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -14
  289. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  290. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -11
  291. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  292. package/lib/module/typeUtils.js +0 -2
  293. package/lib/module/utils.js +0 -81
  294. package/lib/module/web/Gestures.js +0 -42
  295. package/lib/module/web/constants.js +0 -5
  296. package/lib/module/web/detectors/RotationGestureDetector.js +0 -119
  297. package/lib/module/web/detectors/ScaleGestureDetector.js +0 -106
  298. package/lib/module/web/handlers/FlingGestureHandler.js +0 -137
  299. package/lib/module/web/handlers/GestureHandler.js +0 -682
  300. package/lib/module/web/handlers/HoverGestureHandler.js +0 -39
  301. package/lib/module/web/handlers/IGestureHandler.js +0 -2
  302. package/lib/module/web/handlers/LongPressGestureHandler.js +0 -140
  303. package/lib/module/web/handlers/ManualGestureHandler.js +0 -32
  304. package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -135
  305. package/lib/module/web/handlers/PanGestureHandler.js +0 -393
  306. package/lib/module/web/handlers/PinchGestureHandler.js +0 -116
  307. package/lib/module/web/handlers/RotationGestureHandler.js +0 -123
  308. package/lib/module/web/handlers/TapGestureHandler.js +0 -209
  309. package/lib/module/web/interfaces.js +0 -28
  310. package/lib/module/web/tools/CircularBuffer.js +0 -35
  311. package/lib/module/web/tools/EventManager.js +0 -89
  312. package/lib/module/web/tools/GestureHandlerDelegate.js +0 -4
  313. package/lib/module/web/tools/GestureHandlerOrchestrator.js +0 -261
  314. package/lib/module/web/tools/GestureHandlerWebDelegate.js +0 -159
  315. package/lib/module/web/tools/InteractionManager.js +0 -91
  316. package/lib/module/web/tools/KeyboardEventManager.js +0 -102
  317. package/lib/module/web/tools/LeastSquareSolver.js +0 -154
  318. package/lib/module/web/tools/NodeManager.js +0 -34
  319. package/lib/module/web/tools/PointerEventManager.js +0 -183
  320. package/lib/module/web/tools/PointerTracker.js +0 -186
  321. package/lib/module/web/tools/Vector.js +0 -32
  322. package/lib/module/web/tools/VelocityTracker.js +0 -79
  323. package/lib/module/web/tools/WheelEventManager.js +0 -49
  324. package/lib/module/web/utils.js +0 -223
  325. package/lib/module/web_hammer/DiscreteGestureHandler.js +0 -87
  326. package/lib/module/web_hammer/DraggingGestureHandler.js +0 -37
  327. package/lib/module/web_hammer/Errors.js +0 -8
  328. package/lib/module/web_hammer/FlingGestureHandler.js +0 -133
  329. package/lib/module/web_hammer/GestureHandler.js +0 -478
  330. package/lib/module/web_hammer/IndiscreteGestureHandler.js +0 -41
  331. package/lib/module/web_hammer/LongPressGestureHandler.js +0 -51
  332. package/lib/module/web_hammer/NativeViewGestureHandler.js +0 -51
  333. package/lib/module/web_hammer/NodeManager.js +0 -33
  334. package/lib/module/web_hammer/PanGestureHandler.js +0 -162
  335. package/lib/module/web_hammer/PinchGestureHandler.js +0 -26
  336. package/lib/module/web_hammer/PressGestureHandler.js +0 -148
  337. package/lib/module/web_hammer/RotationGestureHandler.js +0 -27
  338. package/lib/module/web_hammer/TapGestureHandler.js +0 -160
  339. package/lib/module/web_hammer/constants.js +0 -46
  340. package/lib/module/web_hammer/utils.js +0 -21
  341. package/src/ActionType.ts +0 -9
  342. package/src/Directions.ts +0 -26
  343. package/src/EnableNewWebImplementation.ts +0 -53
  344. package/src/GestureHandlerRootViewContext.ts +0 -3
  345. package/src/PlatformConstants.kepler.ts +0 -5
  346. package/src/PlatformConstants.ts +0 -8
  347. package/src/PlatformConstants.web.ts +0 -5
  348. package/src/PointerType.ts +0 -7
  349. package/src/RNGestureHandlerModule.kepler.ts +0 -63
  350. package/src/RNGestureHandlerModule.ts +0 -5
  351. package/src/RNGestureHandlerModule.web.ts +0 -124
  352. package/src/RNGestureHandlerModule.windows.ts +0 -62
  353. package/src/RNRenderer.ts +0 -3
  354. package/src/RNRenderer.web.ts +0 -3
  355. package/src/State.ts +0 -13
  356. package/src/TouchEventType.ts +0 -11
  357. package/src/components/DrawerLayout.tsx +0 -788
  358. package/src/components/GestureButtons.tsx +0 -272
  359. package/src/components/GestureButtonsProps.ts +0 -156
  360. package/src/components/GestureComponents.tsx +0 -148
  361. package/src/components/GestureComponents.web.tsx +0 -41
  362. package/src/components/GestureHandlerButton.tsx +0 -5
  363. package/src/components/GestureHandlerButton.web.tsx +0 -6
  364. package/src/components/GestureHandlerRootView.android.tsx +0 -32
  365. package/src/components/GestureHandlerRootView.kepler.tsx +0 -18
  366. package/src/components/GestureHandlerRootView.tsx +0 -28
  367. package/src/components/GestureHandlerRootView.web.tsx +0 -22
  368. package/src/components/Pressable/Pressable.tsx +0 -401
  369. package/src/components/Pressable/PressableProps.tsx +0 -174
  370. package/src/components/Pressable/StateMachine.tsx +0 -57
  371. package/src/components/Pressable/index.ts +0 -5
  372. package/src/components/Pressable/stateDefinitions.ts +0 -126
  373. package/src/components/Pressable/utils.ts +0 -140
  374. package/src/components/ReanimatedDrawerLayout.tsx +0 -754
  375. package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +0 -607
  376. package/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts +0 -199
  377. package/src/components/ReanimatedSwipeable/index.ts +0 -6
  378. package/src/components/Swipeable.tsx +0 -595
  379. package/src/components/Text.tsx +0 -77
  380. package/src/components/gestureHandlerRootHOC.tsx +0 -33
  381. package/src/components/touchables/ExtraButtonProps.ts +0 -7
  382. package/src/components/touchables/GenericTouchable.tsx +0 -275
  383. package/src/components/touchables/GenericTouchableProps.ts +0 -28
  384. package/src/components/touchables/TouchableHighlight.tsx +0 -118
  385. package/src/components/touchables/TouchableNativeFeedback.android.tsx +0 -83
  386. package/src/components/touchables/TouchableNativeFeedback.tsx +0 -8
  387. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +0 -10
  388. package/src/components/touchables/TouchableOpacity.tsx +0 -78
  389. package/src/components/touchables/TouchableWithoutFeedback.tsx +0 -39
  390. package/src/components/touchables/index.ts +0 -7
  391. package/src/components/utils.ts +0 -26
  392. package/src/findNodeHandle.ts +0 -3
  393. package/src/findNodeHandle.web.ts +0 -41
  394. package/src/getShadowNodeFromRef.ts +0 -50
  395. package/src/getShadowNodeFromRef.web.ts +0 -7
  396. package/src/ghQueueMicrotask.ts +0 -8
  397. package/src/handlers/FlingGestureHandler.ts +0 -64
  398. package/src/handlers/ForceTouchGestureHandler.ts +0 -88
  399. package/src/handlers/GestureHandlerEventPayload.ts +0 -229
  400. package/src/handlers/LongPressGestureHandler.ts +0 -65
  401. package/src/handlers/NativeViewGestureHandler.ts +0 -59
  402. package/src/handlers/PanGestureHandler.ts +0 -282
  403. package/src/handlers/PinchGestureHandler.ts +0 -32
  404. package/src/handlers/PressabilityDebugView.tsx +0 -2
  405. package/src/handlers/PressabilityDebugView.web.tsx +0 -4
  406. package/src/handlers/RotationGestureHandler.ts +0 -32
  407. package/src/handlers/TapGestureHandler.ts +0 -99
  408. package/src/handlers/createHandler.tsx +0 -586
  409. package/src/handlers/createNativeWrapper.tsx +0 -89
  410. package/src/handlers/customDirectEventTypes.ts +0 -2
  411. package/src/handlers/customDirectEventTypes.web.ts +0 -5
  412. package/src/handlers/gestureHandlerCommon.ts +0 -211
  413. package/src/handlers/gestureHandlerTypesCompat.ts +0 -101
  414. package/src/handlers/gestures/GestureDetector/Wrap.tsx +0 -35
  415. package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +0 -42
  416. package/src/handlers/gestures/GestureDetector/attachHandlers.ts +0 -112
  417. package/src/handlers/gestures/GestureDetector/dropHandlers.ts +0 -17
  418. package/src/handlers/gestures/GestureDetector/index.tsx +0 -191
  419. package/src/handlers/gestures/GestureDetector/needsToReattach.ts +0 -27
  420. package/src/handlers/gestures/GestureDetector/types.ts +0 -32
  421. package/src/handlers/gestures/GestureDetector/updateHandlers.ts +0 -92
  422. package/src/handlers/gestures/GestureDetector/useAnimatedGesture.ts +0 -209
  423. package/src/handlers/gestures/GestureDetector/useDetectorUpdater.ts +0 -69
  424. package/src/handlers/gestures/GestureDetector/useMountReactions.ts +0 -51
  425. package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +0 -58
  426. package/src/handlers/gestures/GestureDetector/utils.ts +0 -181
  427. package/src/handlers/gestures/eventReceiver.ts +0 -173
  428. package/src/handlers/gestures/flingGesture.ts +0 -36
  429. package/src/handlers/gestures/forceTouchGesture.ts +0 -95
  430. package/src/handlers/gestures/gesture.ts +0 -472
  431. package/src/handlers/gestures/gestureComposition.ts +0 -124
  432. package/src/handlers/gestures/gestureObjects.ts +0 -143
  433. package/src/handlers/gestures/gestureStateManager.ts +0 -76
  434. package/src/handlers/gestures/gestureStateManager.web.ts +0 -26
  435. package/src/handlers/gestures/hoverGesture.ts +0 -77
  436. package/src/handlers/gestures/longPressGesture.ts +0 -45
  437. package/src/handlers/gestures/manualGesture.ts +0 -31
  438. package/src/handlers/gestures/nativeGesture.ts +0 -33
  439. package/src/handlers/gestures/panGesture.ts +0 -221
  440. package/src/handlers/gestures/pinchGesture.ts +0 -51
  441. package/src/handlers/gestures/reanimatedWrapper.ts +0 -57
  442. package/src/handlers/gestures/rotationGesture.ts +0 -51
  443. package/src/handlers/gestures/tapGesture.ts +0 -86
  444. package/src/handlers/getNextHandlerTag.ts +0 -5
  445. package/src/handlers/handlersRegistry.ts +0 -58
  446. package/src/handlers/utils.ts +0 -76
  447. package/src/init.ts +0 -18
  448. package/src/jestUtils/index.ts +0 -1
  449. package/src/jestUtils/jestUtils.ts +0 -513
  450. package/src/mocks/Pressable.tsx +0 -1
  451. package/src/mocks/mocks.tsx +0 -70
  452. package/src/mocks.ts +0 -67
  453. package/src/mountRegistry.ts +0 -51
  454. package/src/specs/NativeRNGestureHandlerModule.ts +0 -26
  455. package/src/specs/RNGestureHandlerButtonNativeComponent.kepler.ts +0 -27
  456. package/src/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  457. package/src/specs/RNGestureHandlerRootViewNativeComponent.kepler.ts +0 -21
  458. package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  459. package/src/typeUtils.ts +0 -1
  460. package/src/utils.ts +0 -107
  461. package/src/web/Gestures.ts +0 -41
  462. package/src/web/constants.ts +0 -2
  463. package/src/web/detectors/RotationGestureDetector.ts +0 -170
  464. package/src/web/detectors/ScaleGestureDetector.ts +0 -171
  465. package/src/web/handlers/FlingGestureHandler.ts +0 -196
  466. package/src/web/handlers/GestureHandler.ts +0 -881
  467. package/src/web/handlers/HoverGestureHandler.ts +0 -49
  468. package/src/web/handlers/IGestureHandler.ts +0 -49
  469. package/src/web/handlers/LongPressGestureHandler.ts +0 -175
  470. package/src/web/handlers/ManualGestureHandler.ts +0 -37
  471. package/src/web/handlers/NativeViewGestureHandler.ts +0 -175
  472. package/src/web/handlers/PanGestureHandler.ts +0 -571
  473. package/src/web/handlers/PinchGestureHandler.ts +0 -152
  474. package/src/web/handlers/RotationGestureHandler.ts +0 -166
  475. package/src/web/handlers/TapGestureHandler.ts +0 -274
  476. package/src/web/interfaces.ts +0 -190
  477. package/src/web/tools/CircularBuffer.ts +0 -42
  478. package/src/web/tools/EventManager.ts +0 -108
  479. package/src/web/tools/GestureHandlerDelegate.ts +0 -26
  480. package/src/web/tools/GestureHandlerOrchestrator.ts +0 -392
  481. package/src/web/tools/GestureHandlerWebDelegate.ts +0 -227
  482. package/src/web/tools/InteractionManager.ts +0 -135
  483. package/src/web/tools/KeyboardEventManager.ts +0 -133
  484. package/src/web/tools/LeastSquareSolver.ts +0 -182
  485. package/src/web/tools/NodeManager.ts +0 -48
  486. package/src/web/tools/PointerEventManager.ts +0 -226
  487. package/src/web/tools/PointerTracker.ts +0 -228
  488. package/src/web/tools/Vector.ts +0 -59
  489. package/src/web/tools/VelocityTracker.ts +0 -98
  490. package/src/web/tools/WheelEventManager.ts +0 -48
  491. package/src/web/utils.ts +0 -293
  492. package/src/web_hammer/DiscreteGestureHandler.ts +0 -82
  493. package/src/web_hammer/DraggingGestureHandler.ts +0 -34
  494. package/src/web_hammer/Errors.ts +0 -7
  495. package/src/web_hammer/FlingGestureHandler.ts +0 -134
  496. package/src/web_hammer/GestureHandler.ts +0 -600
  497. package/src/web_hammer/IndiscreteGestureHandler.ts +0 -33
  498. package/src/web_hammer/LongPressGestureHandler.ts +0 -56
  499. package/src/web_hammer/NativeViewGestureHandler.ts +0 -47
  500. package/src/web_hammer/NodeManager.ts +0 -33
  501. package/src/web_hammer/PanGestureHandler.ts +0 -226
  502. package/src/web_hammer/PinchGestureHandler.ts +0 -25
  503. package/src/web_hammer/PressGestureHandler.ts +0 -170
  504. package/src/web_hammer/RotationGestureHandler.ts +0 -25
  505. package/src/web_hammer/TapGestureHandler.ts +0 -172
  506. package/src/web_hammer/constants.ts +0 -48
  507. package/src/web_hammer/utils.ts +0 -24
@@ -1,881 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-empty-function */
2
- import { State } from '../../State';
3
- import {
4
- Config,
5
- AdaptedEvent,
6
- PropsRef,
7
- ResultEvent,
8
- PointerData,
9
- ResultTouchEvent,
10
- TouchEventType,
11
- EventTypes,
12
- } from '../interfaces';
13
- import EventManager from '../tools/EventManager';
14
- import GestureHandlerOrchestrator from '../tools/GestureHandlerOrchestrator';
15
- import InteractionManager from '../tools/InteractionManager';
16
- import PointerTracker, { TrackerElement } from '../tools/PointerTracker';
17
- import IGestureHandler from './IGestureHandler';
18
- import { MouseButton } from '../../handlers/gestureHandlerCommon';
19
- import { PointerType } from '../../PointerType';
20
- import { GestureHandlerDelegate } from '../tools/GestureHandlerDelegate';
21
-
22
- export default abstract class GestureHandler implements IGestureHandler {
23
- private lastSentState: State | null = null;
24
-
25
- private _state: State = State.UNDETERMINED;
26
-
27
- private _shouldCancelWhenOutside = false;
28
- protected hasCustomActivationCriteria = false;
29
- private _enabled = false;
30
-
31
- private viewRef!: number;
32
- private propsRef!: React.RefObject<unknown>;
33
- private _handlerTag!: number;
34
- private _config: Config = { enabled: false };
35
-
36
- private _tracker: PointerTracker = new PointerTracker();
37
-
38
- // Orchestrator properties
39
- private _activationIndex = 0;
40
-
41
- private _awaiting = false;
42
- private _active = false;
43
-
44
- private _shouldResetProgress = false;
45
- private _pointerType: PointerType = PointerType.MOUSE;
46
-
47
- private _delegate: GestureHandlerDelegate<unknown, IGestureHandler>;
48
-
49
- public constructor(
50
- delegate: GestureHandlerDelegate<unknown, IGestureHandler>
51
- ) {
52
- this._delegate = delegate;
53
- }
54
-
55
- //
56
- // Initializing handler
57
- //
58
-
59
- protected init(viewRef: number, propsRef: React.RefObject<unknown>) {
60
- this.propsRef = propsRef;
61
- this.viewRef = viewRef;
62
-
63
- this.state = State.UNDETERMINED;
64
-
65
- this.delegate.init(viewRef, this);
66
- }
67
-
68
- public attachEventManager(manager: EventManager<unknown>): void {
69
- manager.setOnPointerDown(this.onPointerDown.bind(this));
70
- manager.setOnPointerAdd(this.onPointerAdd.bind(this));
71
- manager.setOnPointerUp(this.onPointerUp.bind(this));
72
- manager.setOnPointerRemove(this.onPointerRemove.bind(this));
73
- manager.setOnPointerMove(this.onPointerMove.bind(this));
74
- manager.setOnPointerEnter(this.onPointerEnter.bind(this));
75
- manager.setOnPointerLeave(this.onPointerLeave.bind(this));
76
- manager.setOnPointerCancel(this.onPointerCancel.bind(this));
77
- manager.setOnPointerOutOfBounds(this.onPointerOutOfBounds.bind(this));
78
- manager.setOnPointerMoveOver(this.onPointerMoveOver.bind(this));
79
- manager.setOnPointerMoveOut(this.onPointerMoveOut.bind(this));
80
- manager.setOnWheel(this.onWheel.bind(this));
81
-
82
- manager.registerListeners();
83
- }
84
-
85
- //
86
- // Resetting handler
87
- //
88
-
89
- protected onCancel(): void {}
90
- protected onReset(): void {}
91
- protected resetProgress(): void {}
92
-
93
- public reset(): void {
94
- this.tracker.resetTracker();
95
- this.onReset();
96
- this.resetProgress();
97
- this.delegate.reset();
98
- this.state = State.UNDETERMINED;
99
- }
100
-
101
- //
102
- // State logic
103
- //
104
-
105
- public moveToState(newState: State, sendIfDisabled?: boolean) {
106
- if (this.state === newState) {
107
- return;
108
- }
109
-
110
- const oldState = this.state;
111
- this.state = newState;
112
-
113
- if (
114
- this.tracker.trackedPointersCount > 0 &&
115
- this.config.needsPointerData &&
116
- this.isFinished()
117
- ) {
118
- this.cancelTouches();
119
- }
120
-
121
- GestureHandlerOrchestrator.instance.onHandlerStateChange(
122
- this,
123
- newState,
124
- oldState,
125
- sendIfDisabled
126
- );
127
-
128
- this.onStateChange(newState, oldState);
129
-
130
- if (!this.enabled && this.isFinished()) {
131
- this.state = State.UNDETERMINED;
132
- }
133
- }
134
-
135
- protected onStateChange(_newState: State, _oldState: State): void {}
136
-
137
- public begin(): void {
138
- if (!this.checkHitSlop()) {
139
- return;
140
- }
141
-
142
- if (this.state === State.UNDETERMINED) {
143
- this.moveToState(State.BEGAN);
144
- }
145
- }
146
-
147
- /**
148
- * @param {boolean} sendIfDisabled - Used when handler becomes disabled. With this flag orchestrator will be forced to send fail event
149
- */
150
- public fail(sendIfDisabled?: boolean): void {
151
- if (this.state === State.ACTIVE || this.state === State.BEGAN) {
152
- // Here the order of calling the delegate and moveToState is important.
153
- // At this point we can use currentState as previuos state, because immediately after changing cursor we call moveToState method.
154
- this.delegate.onFail();
155
-
156
- this.moveToState(State.FAILED, sendIfDisabled);
157
- }
158
-
159
- this.resetProgress();
160
- }
161
-
162
- /**
163
- * @param {boolean} sendIfDisabled - Used when handler becomes disabled. With this flag orchestrator will be forced to send cancel event
164
- */
165
- public cancel(sendIfDisabled?: boolean): void {
166
- if (
167
- this.state === State.ACTIVE ||
168
- this.state === State.UNDETERMINED ||
169
- this.state === State.BEGAN
170
- ) {
171
- this.onCancel();
172
-
173
- // Same as above - order matters
174
- this.delegate.onCancel();
175
-
176
- this.moveToState(State.CANCELLED, sendIfDisabled);
177
- }
178
- }
179
-
180
- public activate(force = false) {
181
- if (
182
- (this.config.manualActivation !== true || force) &&
183
- (this.state === State.UNDETERMINED || this.state === State.BEGAN)
184
- ) {
185
- this.delegate.onActivate();
186
- this.moveToState(State.ACTIVE);
187
- }
188
- }
189
-
190
- public end() {
191
- if (this.state === State.BEGAN || this.state === State.ACTIVE) {
192
- // Same as above - order matters
193
- this.delegate.onEnd();
194
-
195
- this.moveToState(State.END);
196
- }
197
-
198
- this.resetProgress();
199
- }
200
-
201
- //
202
- // Methods for orchestrator
203
- //
204
-
205
- public getShouldResetProgress(): boolean {
206
- return this.shouldResetProgress;
207
- }
208
- public setShouldResetProgress(value: boolean): void {
209
- this.shouldResetProgress = value;
210
- }
211
-
212
- public shouldWaitForHandlerFailure(handler: IGestureHandler): boolean {
213
- if (handler === this) {
214
- return false;
215
- }
216
-
217
- return InteractionManager.instance.shouldWaitForHandlerFailure(
218
- this,
219
- handler
220
- );
221
- }
222
-
223
- public shouldRequireToWaitForFailure(handler: IGestureHandler): boolean {
224
- if (handler === this) {
225
- return false;
226
- }
227
-
228
- return InteractionManager.instance.shouldRequireHandlerToWaitForFailure(
229
- this,
230
- handler
231
- );
232
- }
233
-
234
- public shouldRecognizeSimultaneously(handler: IGestureHandler): boolean {
235
- if (handler === this) {
236
- return true;
237
- }
238
-
239
- return InteractionManager.instance.shouldRecognizeSimultaneously(
240
- this,
241
- handler
242
- );
243
- }
244
-
245
- public shouldBeCancelledByOther(handler: IGestureHandler): boolean {
246
- if (handler === this) {
247
- return false;
248
- }
249
-
250
- return InteractionManager.instance.shouldHandlerBeCancelledBy(
251
- this,
252
- handler
253
- );
254
- }
255
-
256
- //
257
- // Event actions
258
- //
259
-
260
- protected onPointerDown(event: AdaptedEvent): void {
261
- GestureHandlerOrchestrator.instance.recordHandlerIfNotPresent(this);
262
- this.pointerType = event.pointerType;
263
-
264
- if (this.pointerType === PointerType.TOUCH) {
265
- GestureHandlerOrchestrator.instance.cancelMouseAndPenGestures(this);
266
- }
267
-
268
- // TODO: Bring back touch events along with introducing `handleDown` method that will handle handler specific stuff
269
- }
270
- // Adding another pointer to existing ones
271
- protected onPointerAdd(event: AdaptedEvent): void {
272
- this.tryToSendTouchEvent(event);
273
- }
274
- protected onPointerUp(event: AdaptedEvent): void {
275
- this.tryToSendTouchEvent(event);
276
- }
277
- // Removing pointer, when there is more than one pointers
278
- protected onPointerRemove(event: AdaptedEvent): void {
279
- this.tryToSendTouchEvent(event);
280
- }
281
- protected onPointerMove(event: AdaptedEvent): void {
282
- this.tryToSendMoveEvent(false, event);
283
- }
284
- protected onPointerLeave(event: AdaptedEvent): void {
285
- if (this.shouldCancelWhenOutside) {
286
- switch (this.state) {
287
- case State.ACTIVE:
288
- this.cancel();
289
- break;
290
- case State.BEGAN:
291
- this.fail();
292
- break;
293
- }
294
- return;
295
- }
296
-
297
- this.tryToSendTouchEvent(event);
298
- }
299
- protected onPointerEnter(event: AdaptedEvent): void {
300
- this.tryToSendTouchEvent(event);
301
- }
302
- protected onPointerCancel(event: AdaptedEvent): void {
303
- this.tryToSendTouchEvent(event);
304
-
305
- this.cancel();
306
- this.reset();
307
- }
308
- protected onPointerOutOfBounds(event: AdaptedEvent): void {
309
- this.tryToSendMoveEvent(true, event);
310
- }
311
- protected onPointerMoveOver(_event: AdaptedEvent): void {
312
- // Used only by hover gesture handler atm
313
- }
314
- protected onPointerMoveOut(_event: AdaptedEvent): void {
315
- // Used only by hover gesture handler atm
316
- }
317
- protected onWheel(_event: AdaptedEvent): void {
318
- // Used only by pan gesture handler
319
- }
320
- protected tryToSendMoveEvent(out: boolean, event: AdaptedEvent): void {
321
- if ((out && this.shouldCancelWhenOutside) || !this.enabled) {
322
- return;
323
- }
324
-
325
- if (this.active) {
326
- this.sendEvent(this.state, this.state);
327
- }
328
-
329
- this.tryToSendTouchEvent(event);
330
- }
331
-
332
- protected tryToSendTouchEvent(event: AdaptedEvent): void {
333
- if (this.config.needsPointerData) {
334
- this.sendTouchEvent(event);
335
- }
336
- }
337
-
338
- public sendTouchEvent(event: AdaptedEvent): void {
339
- if (!this.enabled) {
340
- return;
341
- }
342
-
343
- const { onGestureHandlerEvent }: PropsRef = this.propsRef
344
- .current as PropsRef;
345
-
346
- const touchEvent: ResultTouchEvent | undefined =
347
- this.transformTouchEvent(event);
348
-
349
- if (touchEvent) {
350
- invokeNullableMethod(onGestureHandlerEvent, touchEvent);
351
- }
352
- }
353
-
354
- //
355
- // Events Sending
356
- //
357
-
358
- public sendEvent = (newState: State, oldState: State): void => {
359
- const { onGestureHandlerEvent, onGestureHandlerStateChange }: PropsRef =
360
- this.propsRef.current as PropsRef;
361
-
362
- const resultEvent: ResultEvent = this.transformEventData(
363
- newState,
364
- oldState
365
- );
366
-
367
- // In the new API oldState field has to be undefined, unless we send event state changed
368
- // Here the order is flipped to avoid workarounds such as making backup of the state and setting it to undefined first, then changing it back
369
- // Flipping order with setting oldState to undefined solves issue, when events were being sent twice instead of once
370
- // However, this may cause trouble in the future (but for now we don't know that)
371
-
372
- if (this.lastSentState !== newState) {
373
- this.lastSentState = newState;
374
- invokeNullableMethod(onGestureHandlerStateChange, resultEvent);
375
- }
376
- if (this.state === State.ACTIVE) {
377
- resultEvent.nativeEvent.oldState = undefined;
378
- invokeNullableMethod(onGestureHandlerEvent, resultEvent);
379
- }
380
- };
381
-
382
- private transformEventData(newState: State, oldState: State): ResultEvent {
383
- return {
384
- nativeEvent: {
385
- numberOfPointers: this.tracker.trackedPointersCount,
386
- state: newState,
387
- pointerInside: this.delegate.isPointerInBounds(
388
- this.tracker.getAbsoluteCoordsAverage()
389
- ),
390
- ...this.transformNativeEvent(),
391
- handlerTag: this.handlerTag,
392
- target: this.viewRef,
393
- oldState: newState !== oldState ? oldState : undefined,
394
- pointerType: this.pointerType,
395
- },
396
- timeStamp: Date.now(),
397
- };
398
- }
399
-
400
- private transformTouchEvent(
401
- event: AdaptedEvent
402
- ): ResultTouchEvent | undefined {
403
- const rect = this.delegate.measureView();
404
-
405
- const all: PointerData[] = [];
406
- const changed: PointerData[] = [];
407
-
408
- const trackerData = this.tracker.trackedPointers;
409
-
410
- // This if handles edge case where all pointers have been cancelled
411
- // When pointercancel is triggered, reset method is called. This means that tracker will be reset after first pointer being cancelled
412
- // The problem is, that handler will receive another pointercancel event from the rest of the pointers
413
- // To avoid crashing, we don't send event if tracker tracks no pointers, i.e. has been reset
414
- if (trackerData.size === 0 || !trackerData.has(event.pointerId)) {
415
- return;
416
- }
417
-
418
- trackerData.forEach((element: TrackerElement, key: number): void => {
419
- const id: number = this.tracker.getMappedTouchEventId(key);
420
-
421
- all.push({
422
- id: id,
423
- x: element.abosoluteCoords.x - rect.pageX,
424
- y: element.abosoluteCoords.y - rect.pageY,
425
- absoluteX: element.abosoluteCoords.x,
426
- absoluteY: element.abosoluteCoords.y,
427
- });
428
- });
429
-
430
- // Each pointer sends its own event, so we want changed touches to contain only the pointer that has changed.
431
- // However, if the event is cancel, we want to cancel all pointers to avoid crashes
432
- if (event.eventType !== EventTypes.CANCEL) {
433
- changed.push({
434
- id: this.tracker.getMappedTouchEventId(event.pointerId),
435
- x: event.x - rect.pageX,
436
- y: event.y - rect.pageY,
437
- absoluteX: event.x,
438
- absoluteY: event.y,
439
- });
440
- } else {
441
- trackerData.forEach((element: TrackerElement, key: number): void => {
442
- const id: number = this.tracker.getMappedTouchEventId(key);
443
-
444
- changed.push({
445
- id: id,
446
- x: element.abosoluteCoords.x - rect.pageX,
447
- y: element.abosoluteCoords.y - rect.pageY,
448
- absoluteX: element.abosoluteCoords.x,
449
- absoluteY: element.abosoluteCoords.y,
450
- });
451
- });
452
- }
453
-
454
- let eventType: TouchEventType = TouchEventType.UNDETERMINED;
455
-
456
- switch (event.eventType) {
457
- case EventTypes.DOWN:
458
- case EventTypes.ADDITIONAL_POINTER_DOWN:
459
- eventType = TouchEventType.DOWN;
460
- break;
461
- case EventTypes.UP:
462
- case EventTypes.ADDITIONAL_POINTER_UP:
463
- eventType = TouchEventType.UP;
464
- break;
465
- case EventTypes.MOVE:
466
- eventType = TouchEventType.MOVE;
467
- break;
468
- case EventTypes.CANCEL:
469
- eventType = TouchEventType.CANCELLED;
470
- break;
471
- }
472
-
473
- // Here, when we receive up event, we want to decrease number of touches
474
- // That's because we want handler to send information that there's one pointer less
475
- // However, we still want this pointer to be present in allTouches array, so that its data can be accessed
476
- let numberOfTouches: number = all.length;
477
-
478
- if (
479
- event.eventType === EventTypes.UP ||
480
- event.eventType === EventTypes.ADDITIONAL_POINTER_UP
481
- ) {
482
- --numberOfTouches;
483
- }
484
-
485
- return {
486
- nativeEvent: {
487
- handlerTag: this.handlerTag,
488
- state: this.state,
489
- eventType: eventType,
490
- changedTouches: changed,
491
- allTouches: all,
492
- numberOfTouches: numberOfTouches,
493
- pointerType: this.pointerType,
494
- },
495
- timeStamp: Date.now(),
496
- };
497
- }
498
-
499
- private cancelTouches(): void {
500
- const rect = this.delegate.measureView();
501
-
502
- const all: PointerData[] = [];
503
- const changed: PointerData[] = [];
504
-
505
- const trackerData = this.tracker.trackedPointers;
506
-
507
- if (trackerData.size === 0) {
508
- return;
509
- }
510
-
511
- trackerData.forEach((element: TrackerElement, key: number): void => {
512
- const id: number = this.tracker.getMappedTouchEventId(key);
513
-
514
- all.push({
515
- id: id,
516
- x: element.abosoluteCoords.x - rect.pageX,
517
- y: element.abosoluteCoords.y - rect.pageY,
518
- absoluteX: element.abosoluteCoords.x,
519
- absoluteY: element.abosoluteCoords.y,
520
- });
521
-
522
- changed.push({
523
- id: id,
524
- x: element.abosoluteCoords.x - rect.pageX,
525
- y: element.abosoluteCoords.y - rect.pageY,
526
- absoluteX: element.abosoluteCoords.x,
527
- absoluteY: element.abosoluteCoords.y,
528
- });
529
- });
530
-
531
- const cancelEvent: ResultTouchEvent = {
532
- nativeEvent: {
533
- handlerTag: this.handlerTag,
534
- state: this.state,
535
- eventType: TouchEventType.CANCELLED,
536
- changedTouches: changed,
537
- allTouches: all,
538
- numberOfTouches: all.length,
539
- pointerType: this.pointerType,
540
- },
541
- timeStamp: Date.now(),
542
- };
543
-
544
- const { onGestureHandlerEvent }: PropsRef = this.propsRef
545
- .current as PropsRef;
546
-
547
- invokeNullableMethod(onGestureHandlerEvent, cancelEvent);
548
- }
549
-
550
- protected transformNativeEvent(): Record<string, unknown> {
551
- // Those properties are shared by most handlers and if not this method will be overriden
552
- const lastCoords = this.tracker.getAbsoluteCoordsAverage();
553
- const lastRelativeCoords = this.tracker.getRelativeCoordsAverage();
554
-
555
- return {
556
- x: lastRelativeCoords.x,
557
- y: lastRelativeCoords.y,
558
- absoluteX: lastCoords.x,
559
- absoluteY: lastCoords.y,
560
- };
561
- }
562
-
563
- //
564
- // Handling config
565
- //
566
-
567
- public updateGestureConfig({ enabled = true, ...props }: Config): void {
568
- this._config = { enabled: enabled, ...props };
569
-
570
- if (this.enabled !== enabled) {
571
- this.delegate.onEnabledChange(enabled);
572
- }
573
-
574
- this.enabled = enabled;
575
-
576
- if (this.config.shouldCancelWhenOutside !== undefined) {
577
- this.shouldCancelWhenOutside = this.config.shouldCancelWhenOutside;
578
- }
579
-
580
- this.validateHitSlops();
581
-
582
- if (this.enabled) {
583
- return;
584
- }
585
-
586
- switch (this.state) {
587
- case State.ACTIVE:
588
- this.fail(true);
589
- break;
590
- case State.UNDETERMINED:
591
- GestureHandlerOrchestrator.instance.removeHandlerFromOrchestrator(this);
592
- break;
593
- default:
594
- this.cancel(true);
595
- break;
596
- }
597
- }
598
-
599
- protected checkCustomActivationCriteria(criterias: string[]): void {
600
- for (const key in this.config) {
601
- if (criterias.indexOf(key) >= 0) {
602
- this.hasCustomActivationCriteria = true;
603
- }
604
- }
605
- }
606
-
607
- private validateHitSlops(): void {
608
- if (!this.config.hitSlop) {
609
- return;
610
- }
611
-
612
- if (
613
- this.config.hitSlop.left !== undefined &&
614
- this.config.hitSlop.right !== undefined &&
615
- this.config.hitSlop.width !== undefined
616
- ) {
617
- throw new Error(
618
- 'HitSlop Error: Cannot define left, right and width at the same time'
619
- );
620
- }
621
-
622
- if (
623
- this.config.hitSlop.width !== undefined &&
624
- this.config.hitSlop.left === undefined &&
625
- this.config.hitSlop.right === undefined
626
- ) {
627
- throw new Error(
628
- 'HitSlop Error: When width is defined, either left or right has to be defined'
629
- );
630
- }
631
-
632
- if (
633
- this.config.hitSlop.height !== undefined &&
634
- this.config.hitSlop.top !== undefined &&
635
- this.config.hitSlop.bottom !== undefined
636
- ) {
637
- throw new Error(
638
- 'HitSlop Error: Cannot define top, bottom and height at the same time'
639
- );
640
- }
641
-
642
- if (
643
- this.config.hitSlop.height !== undefined &&
644
- this.config.hitSlop.top === undefined &&
645
- this.config.hitSlop.bottom === undefined
646
- ) {
647
- throw new Error(
648
- 'HitSlop Error: When height is defined, either top or bottom has to be defined'
649
- );
650
- }
651
- }
652
-
653
- private checkHitSlop(): boolean {
654
- if (!this.config.hitSlop) {
655
- return true;
656
- }
657
-
658
- const { width, height } = this.delegate.measureView();
659
-
660
- let left = 0;
661
- let top = 0;
662
- let right: number = width;
663
- let bottom: number = height;
664
-
665
- if (this.config.hitSlop.horizontal !== undefined) {
666
- left -= this.config.hitSlop.horizontal;
667
- right += this.config.hitSlop.horizontal;
668
- }
669
-
670
- if (this.config.hitSlop.vertical !== undefined) {
671
- top -= this.config.hitSlop.vertical;
672
- bottom += this.config.hitSlop.vertical;
673
- }
674
-
675
- if (this.config.hitSlop.left !== undefined) {
676
- left = -this.config.hitSlop.left;
677
- }
678
-
679
- if (this.config.hitSlop.right !== undefined) {
680
- right = width + this.config.hitSlop.right;
681
- }
682
-
683
- if (this.config.hitSlop.top !== undefined) {
684
- top = -this.config.hitSlop.top;
685
- }
686
-
687
- if (this.config.hitSlop.bottom !== undefined) {
688
- bottom = height + this.config.hitSlop.bottom;
689
- }
690
-
691
- if (this.config.hitSlop.width !== undefined) {
692
- if (this.config.hitSlop.left !== undefined) {
693
- right = left + this.config.hitSlop.width;
694
- } else if (this.config.hitSlop.right !== undefined) {
695
- left = right - this.config.hitSlop.width;
696
- }
697
- }
698
-
699
- if (this.config.hitSlop.height !== undefined) {
700
- if (this.config.hitSlop.top !== undefined) {
701
- bottom = top + this.config.hitSlop.height;
702
- } else if (this.config.hitSlop.bottom !== undefined) {
703
- top = bottom - this.config.hitSlop.height;
704
- }
705
- }
706
-
707
- const rect = this.delegate.measureView();
708
-
709
- const lastCoords = this.tracker.getLastAbsoluteCoords();
710
-
711
- if (!lastCoords) {
712
- return false;
713
- }
714
-
715
- const offsetX: number = lastCoords.x - rect.pageX;
716
- const offsetY: number = lastCoords.y - rect.pageY;
717
-
718
- return (
719
- offsetX >= left && offsetX <= right && offsetY >= top && offsetY <= bottom
720
- );
721
- }
722
-
723
- public isButtonInConfig(mouseButton: MouseButton | undefined) {
724
- return (
725
- !mouseButton ||
726
- (!this.config.mouseButton && mouseButton === MouseButton.LEFT) ||
727
- (this.config.mouseButton && mouseButton & this.config.mouseButton)
728
- );
729
- }
730
-
731
- protected resetConfig(): void {}
732
-
733
- public onDestroy(): void {
734
- GestureHandlerOrchestrator.instance.removeHandlerFromOrchestrator(this);
735
- this.delegate.destroy(this.config);
736
- }
737
-
738
- //
739
- // Getters and setters
740
- //
741
-
742
- public get handlerTag() {
743
- return this._handlerTag;
744
- }
745
- public set handlerTag(value: number) {
746
- this._handlerTag = value;
747
- }
748
-
749
- public get config(): Config {
750
- return this._config;
751
- }
752
-
753
- public get delegate() {
754
- return this._delegate;
755
- }
756
-
757
- public get tracker() {
758
- return this._tracker;
759
- }
760
-
761
- public get state(): State {
762
- return this._state;
763
- }
764
- protected set state(value: State) {
765
- this._state = value;
766
- }
767
-
768
- public get shouldCancelWhenOutside() {
769
- return this._shouldCancelWhenOutside;
770
- }
771
- protected set shouldCancelWhenOutside(value) {
772
- this._shouldCancelWhenOutside = value;
773
- }
774
-
775
- public get enabled() {
776
- return this._enabled;
777
- }
778
- protected set enabled(value) {
779
- this._enabled = value;
780
- }
781
-
782
- public get pointerType(): PointerType {
783
- return this._pointerType;
784
- }
785
- protected set pointerType(value: PointerType) {
786
- this._pointerType = value;
787
- }
788
-
789
- public get active() {
790
- return this._active;
791
- }
792
- protected set active(value) {
793
- this._active = value;
794
- }
795
-
796
- public get awaiting() {
797
- return this._awaiting;
798
- }
799
- protected set awaiting(value) {
800
- this._awaiting = value;
801
- }
802
-
803
- public get activationIndex() {
804
- return this._activationIndex;
805
- }
806
- protected set activationIndex(value) {
807
- this._activationIndex = value;
808
- }
809
-
810
- public get shouldResetProgress() {
811
- return this._shouldResetProgress;
812
- }
813
- protected set shouldResetProgress(value) {
814
- this._shouldResetProgress = value;
815
- }
816
-
817
- public getTrackedPointersID(): number[] {
818
- return this.tracker.trackedPointersIDs;
819
- }
820
-
821
- private isFinished(): boolean {
822
- return (
823
- this.state === State.END ||
824
- this.state === State.FAILED ||
825
- this.state === State.CANCELLED
826
- );
827
- }
828
- }
829
-
830
- function invokeNullableMethod(
831
- method:
832
- | ((event: ResultEvent | ResultTouchEvent) => void)
833
- | { __getHandler: () => (event: ResultEvent | ResultTouchEvent) => void }
834
- | { __nodeConfig: { argMapping: unknown[] } },
835
- event: ResultEvent | ResultTouchEvent
836
- ): void {
837
- if (!method) {
838
- return;
839
- }
840
-
841
- if (typeof method === 'function') {
842
- method(event);
843
- return;
844
- }
845
-
846
- if ('__getHandler' in method && typeof method.__getHandler === 'function') {
847
- const handler = method.__getHandler();
848
- invokeNullableMethod(handler, event);
849
- return;
850
- }
851
-
852
- if (!('__nodeConfig' in method)) {
853
- return;
854
- }
855
-
856
- const { argMapping }: { argMapping: unknown } = method.__nodeConfig;
857
- if (!Array.isArray(argMapping)) {
858
- return;
859
- }
860
-
861
- for (const [index, [key, value]] of argMapping.entries()) {
862
- if (!(key in event.nativeEvent)) {
863
- continue;
864
- }
865
-
866
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
867
- const nativeValue = event.nativeEvent[key];
868
-
869
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
870
- if (value?.setValue) {
871
- // Reanimated API
872
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
873
- value.setValue(nativeValue);
874
- } else {
875
- // RN Animated API
876
- method.__nodeConfig.argMapping[index] = [key, nativeValue];
877
- }
878
- }
879
-
880
- return;
881
- }