@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,600 +0,0 @@
1
- /* eslint-disable @eslint-community/eslint-comments/no-unlimited-disable */
2
- /* eslint-disable */
3
- import Hammer from '@egjs/hammerjs';
4
- import { findNodeHandle } from 'react-native';
5
-
6
- import { State } from '../State';
7
- import { EventMap } from './constants';
8
- import * as NodeManager from './NodeManager';
9
- import { ghQueueMicrotask } from '../ghQueueMicrotask';
10
-
11
- // TODO(TS) Replace with HammerInput if https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50438/files is merged
12
- export type HammerInputExt = Omit<HammerInput, 'destroy' | 'handler' | 'init'>;
13
-
14
- export type Config = Partial<{
15
- enabled: boolean;
16
- minPointers: number;
17
- maxPointers: number;
18
- minDist: number;
19
- minDistSq: number;
20
- minVelocity: number;
21
- minVelocitySq: number;
22
- maxDist: number;
23
- maxDistSq: number;
24
- failOffsetXStart: number;
25
- failOffsetYStart: number;
26
- failOffsetXEnd: number;
27
- failOffsetYEnd: number;
28
- activeOffsetXStart: number;
29
- activeOffsetXEnd: number;
30
- activeOffsetYStart: number;
31
- activeOffsetYEnd: number;
32
- waitFor: any[] | null;
33
- simultaneousHandlers: any[] | null;
34
- }>;
35
-
36
- type NativeEvent = ReturnType<GestureHandler['transformEventData']>;
37
-
38
- let gestureInstances = 0;
39
-
40
- abstract class GestureHandler {
41
- public handlerTag: any;
42
- public isGestureRunning = false;
43
- public view: number | null = null;
44
- protected hasCustomActivationCriteria: boolean;
45
- protected hasGestureFailed = false;
46
- protected hammer: HammerManager | null = null;
47
- protected initialRotation: number | null = null;
48
- protected __initialX: any;
49
- protected __initialY: any;
50
- protected config: Config = {};
51
- protected previousState: State = State.UNDETERMINED;
52
- private pendingGestures: Record<string, this> = {};
53
- private oldState: State = State.UNDETERMINED;
54
- private lastSentState: State | null = null;
55
- private gestureInstance: number;
56
- private _stillWaiting: any;
57
- private propsRef: any;
58
- private ref: any;
59
-
60
- abstract get name(): string;
61
-
62
- get id() {
63
- return `${this.name}${this.gestureInstance}`;
64
- }
65
-
66
- // a simple way to check if GestureHandler is NativeViewGestureHandler, since importing it
67
- // here to use instanceof would cause import cycle
68
- get isNative() {
69
- return false;
70
- }
71
-
72
- get isDiscrete() {
73
- return false;
74
- }
75
-
76
- get shouldEnableGestureOnSetup(): boolean {
77
- throw new Error('Must override GestureHandler.shouldEnableGestureOnSetup');
78
- }
79
-
80
- constructor() {
81
- this.gestureInstance = gestureInstances++;
82
- this.hasCustomActivationCriteria = false;
83
- }
84
-
85
- getConfig() {
86
- return this.config;
87
- }
88
-
89
- onWaitingEnded(_gesture: this) {}
90
-
91
- removePendingGesture(id: string) {
92
- delete this.pendingGestures[id];
93
- }
94
-
95
- addPendingGesture(gesture: this) {
96
- this.pendingGestures[gesture.id] = gesture;
97
- }
98
-
99
- isGestureEnabledForEvent(
100
- _config: any,
101
- _recognizer: any,
102
- _event: any
103
- ): { failed?: boolean; success?: boolean } {
104
- return { success: true };
105
- }
106
-
107
- get NativeGestureClass(): RecognizerStatic {
108
- throw new Error('Must override GestureHandler.NativeGestureClass');
109
- }
110
-
111
- updateHasCustomActivationCriteria(_config: Config) {
112
- return true;
113
- }
114
-
115
- clearSelfAsPending = () => {
116
- if (Array.isArray(this.config.waitFor)) {
117
- for (const gesture of this.config.waitFor) {
118
- gesture.removePendingGesture(this.id);
119
- }
120
- }
121
- };
122
-
123
- updateGestureConfig({ enabled = true, ...props }) {
124
- this.clearSelfAsPending();
125
-
126
- this.config = this.ensureConfig({ enabled, ...props });
127
- this.hasCustomActivationCriteria = this.updateHasCustomActivationCriteria(
128
- this.config
129
- );
130
- if (Array.isArray(this.config.waitFor)) {
131
- for (const gesture of this.config.waitFor) {
132
- gesture.addPendingGesture(this);
133
- }
134
- }
135
-
136
- if (this.hammer) {
137
- this.sync();
138
- }
139
- return this.config;
140
- }
141
-
142
- destroy = () => {
143
- this.clearSelfAsPending();
144
-
145
- if (this.hammer) {
146
- this.hammer.stop(false);
147
- this.hammer.destroy();
148
- }
149
- this.hammer = null;
150
- };
151
-
152
- isPointInView = ({ x, y }: { x: number; y: number }) => {
153
- // @ts-ignore FIXME(TS)
154
- const rect = this.view!.getBoundingClientRect();
155
- const pointerInside =
156
- x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;
157
- return pointerInside;
158
- };
159
-
160
- getState(type: keyof typeof EventMap): State {
161
- // @ts-ignore TODO(TS) check if this is needed
162
- if (type == 0) {
163
- return 0;
164
- }
165
- return EventMap[type];
166
- }
167
-
168
- transformEventData(event: HammerInputExt) {
169
- const { eventType, maxPointers: numberOfPointers } = event;
170
- // const direction = DirectionMap[ev.direction];
171
- const changedTouch = event.changedPointers[0];
172
- const pointerInside = this.isPointInView({
173
- x: changedTouch.clientX,
174
- y: changedTouch.clientY,
175
- });
176
-
177
- // TODO(TS) Remove cast after https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50966 is merged.
178
- const state = this.getState(eventType as 1 | 2 | 4 | 8);
179
- if (state !== this.previousState) {
180
- this.oldState = this.previousState;
181
- this.previousState = state;
182
- }
183
-
184
- return {
185
- nativeEvent: {
186
- numberOfPointers,
187
- state,
188
- pointerInside,
189
- ...this.transformNativeEvent(event),
190
- // onHandlerStateChange only
191
- handlerTag: this.handlerTag,
192
- target: this.ref,
193
- // send oldState only when the state was changed, or is different than ACTIVE
194
- // GestureDetector relies on the presence of `oldState` to differentiate between
195
- // update events and state change events
196
- oldState:
197
- state !== this.previousState || state != 4
198
- ? this.oldState
199
- : undefined,
200
- },
201
- timeStamp: Date.now(),
202
- };
203
- }
204
-
205
- transformNativeEvent(_event: HammerInputExt) {
206
- return {};
207
- }
208
-
209
- sendEvent = (nativeEvent: HammerInputExt) => {
210
- const { onGestureHandlerEvent, onGestureHandlerStateChange } =
211
- this.propsRef.current;
212
-
213
- const event = this.transformEventData(nativeEvent);
214
-
215
- invokeNullableMethod(onGestureHandlerEvent, event);
216
- if (this.lastSentState !== event.nativeEvent.state) {
217
- this.lastSentState = event.nativeEvent.state as State;
218
- invokeNullableMethod(onGestureHandlerStateChange, event);
219
- }
220
- };
221
-
222
- cancelPendingGestures(event: HammerInputExt) {
223
- for (const gesture of Object.values(this.pendingGestures)) {
224
- if (gesture && gesture.isGestureRunning) {
225
- gesture.hasGestureFailed = true;
226
- gesture.cancelEvent(event);
227
- }
228
- }
229
- }
230
-
231
- notifyPendingGestures() {
232
- for (const gesture of Object.values(this.pendingGestures)) {
233
- if (gesture) {
234
- gesture.onWaitingEnded(this);
235
- }
236
- }
237
- }
238
-
239
- // FIXME event is undefined in runtime when firstly invoked (see Draggable example), check other functions taking event as input
240
- onGestureEnded(event: HammerInputExt) {
241
- this.isGestureRunning = false;
242
- this.cancelPendingGestures(event);
243
- }
244
-
245
- forceInvalidate(event: HammerInputExt) {
246
- if (this.isGestureRunning) {
247
- this.hasGestureFailed = true;
248
- this.cancelEvent(event);
249
- }
250
- }
251
-
252
- cancelEvent(event: HammerInputExt) {
253
- this.notifyPendingGestures();
254
- this.sendEvent({
255
- ...event,
256
- eventType: Hammer.INPUT_CANCEL,
257
- isFinal: true,
258
- });
259
- this.onGestureEnded(event);
260
- }
261
-
262
- onRawEvent({ isFirst }: HammerInputExt) {
263
- if (isFirst) {
264
- this.hasGestureFailed = false;
265
- }
266
- }
267
-
268
- shouldUseTouchEvents(config: Config) {
269
- return (
270
- config.simultaneousHandlers?.some((handler) => handler.isNative) ?? false
271
- );
272
- }
273
-
274
- setView(ref: Parameters<typeof findNodeHandle>['0'], propsRef: any) {
275
- if (ref == null) {
276
- this.destroy();
277
- this.view = null;
278
- return;
279
- }
280
-
281
- // @ts-ignore window doesn't exist on global type as we don't want to use Node types
282
- const SUPPORTS_TOUCH = 'ontouchstart' in window;
283
- this.propsRef = propsRef;
284
- this.ref = ref;
285
-
286
- // @ts-ignore
287
- this.view = findNodeHandle(ref);
288
-
289
- // When the browser starts handling the gesture (e.g. scrolling), it sends a pointercancel event and stops
290
- // sending additional pointer events. This is not the case with touch events, so if the gesture is simultaneous
291
- // with a NativeGestureHandler, we need to check if touch events are supported and use them if possible.
292
- this.hammer =
293
- SUPPORTS_TOUCH && this.shouldUseTouchEvents(this.config)
294
- ? new Hammer.Manager(this.view as any, {
295
- inputClass: Hammer.TouchInput,
296
- })
297
- : new Hammer.Manager(this.view as any);
298
-
299
- this.oldState = State.UNDETERMINED;
300
- this.previousState = State.UNDETERMINED;
301
- this.lastSentState = null;
302
-
303
- const { NativeGestureClass } = this;
304
- // @ts-ignore TODO(TS)
305
- const gesture = new NativeGestureClass(this.getHammerConfig());
306
- this.hammer.add(gesture);
307
-
308
- this.hammer.on('hammer.input', (ev: HammerInput) => {
309
- if (!this.config.enabled) {
310
- this.hasGestureFailed = false;
311
- this.isGestureRunning = false;
312
- return;
313
- }
314
-
315
- this.onRawEvent(ev as unknown as HammerInputExt);
316
-
317
- // TODO: Bacon: Check against something other than null
318
- // The isFirst value is not called when the first rotation is calculated.
319
- if (this.initialRotation === null && ev.rotation !== 0) {
320
- this.initialRotation = ev.rotation;
321
- }
322
- if (ev.isFinal) {
323
- // in favor of a willFail otherwise the last frame of the gesture will be captured.
324
- setTimeout(() => {
325
- this.initialRotation = null;
326
- this.hasGestureFailed = false;
327
- });
328
- }
329
- });
330
-
331
- this.setupEvents();
332
- this.sync();
333
- }
334
-
335
- setupEvents() {
336
- // TODO(TS) Hammer types aren't exactly that what we get in runtime
337
- if (!this.isDiscrete) {
338
- this.hammer!.on(`${this.name}start`, (event: HammerInput) =>
339
- this.onStart(event as unknown as HammerInputExt)
340
- );
341
- this.hammer!.on(
342
- `${this.name}end ${this.name}cancel`,
343
- (event: HammerInput) => {
344
- this.onGestureEnded(event as unknown as HammerInputExt);
345
- }
346
- );
347
- }
348
- this.hammer!.on(this.name, (ev: HammerInput) =>
349
- this.onGestureActivated(ev as unknown as HammerInputExt)
350
- ); // TODO(TS) remove cast after https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50438 is merged
351
- }
352
-
353
- onStart({ deltaX, deltaY, rotation }: HammerInputExt) {
354
- // Reset the state for the next gesture
355
- this.oldState = State.UNDETERMINED;
356
- this.previousState = State.UNDETERMINED;
357
- this.lastSentState = null;
358
-
359
- this.isGestureRunning = true;
360
- this.__initialX = deltaX;
361
- this.__initialY = deltaY;
362
- this.initialRotation = rotation;
363
- }
364
-
365
- onGestureActivated(ev: HammerInputExt) {
366
- this.sendEvent(ev);
367
- }
368
-
369
- onSuccess() {}
370
-
371
- _getPendingGestures() {
372
- if (Array.isArray(this.config.waitFor) && this.config.waitFor.length) {
373
- // Get the list of gestures that this gesture is still waiting for.
374
- // Use `=== false` in case a ref that isn't a gesture handler is used.
375
- const stillWaiting = this.config.waitFor.filter(
376
- ({ hasGestureFailed }) => hasGestureFailed === false
377
- );
378
- return stillWaiting;
379
- }
380
- return [];
381
- }
382
-
383
- getHammerConfig() {
384
- const pointers =
385
- this.config.minPointers === this.config.maxPointers
386
- ? this.config.minPointers
387
- : 0;
388
- return {
389
- pointers,
390
- };
391
- }
392
-
393
- sync = () => {
394
- const gesture = this.hammer!.get(this.name);
395
- if (!gesture) return;
396
-
397
- const enable = (recognizer: any, inputData: any) => {
398
- if (!this.config.enabled) {
399
- this.isGestureRunning = false;
400
- this.hasGestureFailed = false;
401
- return false;
402
- }
403
-
404
- // Prevent events before the system is ready.
405
- if (
406
- !inputData ||
407
- !recognizer.options ||
408
- typeof inputData.maxPointers === 'undefined'
409
- ) {
410
- return this.shouldEnableGestureOnSetup;
411
- }
412
-
413
- if (this.hasGestureFailed) {
414
- return false;
415
- }
416
-
417
- if (!this.isDiscrete) {
418
- if (this.isGestureRunning) {
419
- return true;
420
- }
421
- // The built-in hammer.js "waitFor" doesn't work across multiple views.
422
- // Only process if there are views to wait for.
423
- this._stillWaiting = this._getPendingGestures();
424
- // This gesture should continue waiting.
425
- if (this._stillWaiting.length) {
426
- // Check to see if one of the gestures you're waiting for has started.
427
- // If it has then the gesture should fail.
428
- for (const gesture of this._stillWaiting) {
429
- // When the target gesture has started, this gesture must force fail.
430
- if (!gesture.isDiscrete && gesture.isGestureRunning) {
431
- this.hasGestureFailed = true;
432
- this.isGestureRunning = false;
433
- return false;
434
- }
435
- }
436
- // This gesture shouldn't start until the others have finished.
437
- return false;
438
- }
439
- }
440
-
441
- // Use default behaviour
442
- if (!this.hasCustomActivationCriteria) {
443
- return true;
444
- }
445
-
446
- const deltaRotation =
447
- this.initialRotation == null
448
- ? 0
449
- : inputData.rotation - this.initialRotation;
450
- // @ts-ignore FIXME(TS)
451
- const { success, failed } = this.isGestureEnabledForEvent(
452
- this.getConfig(),
453
- recognizer,
454
- {
455
- ...inputData,
456
- deltaRotation,
457
- }
458
- );
459
-
460
- if (failed) {
461
- this.simulateCancelEvent(inputData);
462
- this.hasGestureFailed = true;
463
- }
464
- return success;
465
- };
466
-
467
- const params = this.getHammerConfig();
468
- // @ts-ignore FIXME(TS)
469
- gesture.set({ ...params, enable });
470
- };
471
-
472
- simulateCancelEvent(_inputData: any) {}
473
-
474
- // Validate the props
475
- ensureConfig(config: Config): Required<Config> {
476
- const props = { ...config };
477
-
478
- // TODO(TS) We use ! to assert that if property is present then value is not empty (null, undefined)
479
- if ('minDist' in config) {
480
- props.minDist = config.minDist;
481
- props.minDistSq = props.minDist! * props.minDist!;
482
- }
483
- if ('minVelocity' in config) {
484
- props.minVelocity = config.minVelocity;
485
- props.minVelocitySq = props.minVelocity! * props.minVelocity!;
486
- }
487
- if ('maxDist' in config) {
488
- props.maxDist = config.maxDist;
489
- props.maxDistSq = config.maxDist! * config.maxDist!;
490
- }
491
- if ('waitFor' in config) {
492
- props.waitFor = asArray(config.waitFor)
493
- .map(({ handlerTag }: { handlerTag: number }) =>
494
- NodeManager.getHandler(handlerTag)
495
- )
496
- .filter((v) => v);
497
- } else {
498
- props.waitFor = null;
499
- }
500
- if ('simultaneousHandlers' in config) {
501
- const shouldUseTouchEvents = this.shouldUseTouchEvents(this.config);
502
- props.simultaneousHandlers = asArray(config.simultaneousHandlers)
503
- .map((handler: number | GestureHandler) => {
504
- if (typeof handler === 'number') {
505
- return NodeManager.getHandler(handler);
506
- } else {
507
- return NodeManager.getHandler(handler.handlerTag);
508
- }
509
- })
510
- .filter((v) => v);
511
-
512
- if (shouldUseTouchEvents !== this.shouldUseTouchEvents(props)) {
513
- ghQueueMicrotask(() => {
514
- // if the undelying event API needs to be changed, we need to unmount and mount
515
- // the hammer instance again.
516
- this.destroy();
517
- this.setView(this.ref, this.propsRef);
518
- });
519
- }
520
- } else {
521
- props.simultaneousHandlers = null;
522
- }
523
-
524
- const configProps = [
525
- 'minPointers',
526
- 'maxPointers',
527
- 'minDist',
528
- 'maxDist',
529
- 'maxDistSq',
530
- 'minVelocitySq',
531
- 'minDistSq',
532
- 'minVelocity',
533
- 'failOffsetXStart',
534
- 'failOffsetYStart',
535
- 'failOffsetXEnd',
536
- 'failOffsetYEnd',
537
- 'activeOffsetXStart',
538
- 'activeOffsetXEnd',
539
- 'activeOffsetYStart',
540
- 'activeOffsetYEnd',
541
- ] as const;
542
- configProps.forEach((prop: (typeof configProps)[number]) => {
543
- if (typeof props[prop] === 'undefined') {
544
- props[prop] = Number.NaN;
545
- }
546
- });
547
- return props as Required<Config>; // TODO(TS) how to convince TS that props are filled?
548
- }
549
- }
550
-
551
- // TODO(TS) investigate this method
552
- // Used for sending data to a callback or AnimatedEvent
553
- function invokeNullableMethod(
554
- method:
555
- | ((event: NativeEvent) => void)
556
- | { __getHandler: () => (event: NativeEvent) => void }
557
- | { __nodeConfig: { argMapping: any } },
558
- event: NativeEvent
559
- ) {
560
- if (method) {
561
- if (typeof method === 'function') {
562
- method(event);
563
- } else {
564
- // For use with reanimated's AnimatedEvent
565
- if (
566
- '__getHandler' in method &&
567
- typeof method.__getHandler === 'function'
568
- ) {
569
- const handler = method.__getHandler();
570
- invokeNullableMethod(handler, event);
571
- } else {
572
- if ('__nodeConfig' in method) {
573
- const { argMapping } = method.__nodeConfig;
574
- if (Array.isArray(argMapping)) {
575
- for (const [index, [key, value]] of argMapping.entries()) {
576
- if (key in event.nativeEvent) {
577
- // @ts-ignore fix method type
578
- const nativeValue = event.nativeEvent[key];
579
- if (value && value.setValue) {
580
- // Reanimated API
581
- value.setValue(nativeValue);
582
- } else {
583
- // RN Animated API
584
- method.__nodeConfig.argMapping[index] = [key, nativeValue];
585
- }
586
- }
587
- }
588
- }
589
- }
590
- }
591
- }
592
- }
593
- }
594
-
595
- function asArray<T>(value: T | T[]) {
596
- // TODO(TS) use config.waitFor type
597
- return value == null ? [] : Array.isArray(value) ? value : [value];
598
- }
599
-
600
- export default GestureHandler;
@@ -1,33 +0,0 @@
1
- import GestureHandler from './GestureHandler';
2
-
3
- /**
4
- * The base class for **Rotation** and **Pinch** gesture handlers.
5
- */
6
- abstract class IndiscreteGestureHandler extends GestureHandler {
7
- get shouldEnableGestureOnSetup() {
8
- return false;
9
- }
10
-
11
- updateGestureConfig({ minPointers = 2, maxPointers = 2, ...props }) {
12
- return super.updateGestureConfig({
13
- minPointers,
14
- maxPointers,
15
- ...props,
16
- });
17
- }
18
-
19
- isGestureEnabledForEvent(
20
- { minPointers, maxPointers }: any,
21
- _recognizer: any,
22
- { maxPointers: pointerLength }: any
23
- ) {
24
- if (pointerLength > maxPointers) {
25
- return { failed: true };
26
- }
27
- const validPointerCount = pointerLength >= minPointers;
28
- return {
29
- success: validPointerCount,
30
- };
31
- }
32
- }
33
- export default IndiscreteGestureHandler;
@@ -1,56 +0,0 @@
1
- /* eslint-disable @eslint-community/eslint-comments/no-unlimited-disable */
2
- /* eslint-disable */
3
- import Hammer from '@egjs/hammerjs';
4
-
5
- import { State } from '../State';
6
- import PressGestureHandler from './PressGestureHandler';
7
- import { isnan, isValidNumber } from './utils';
8
- import { Config } from './GestureHandler';
9
- import { HammerInputNames } from './constants';
10
-
11
- class LongPressGestureHandler extends PressGestureHandler {
12
- get minDurationMs(): number {
13
- // @ts-ignore FIXNE(TS)
14
- return isnan(this.config.minDurationMs) ? 251 : this.config.minDurationMs;
15
- }
16
-
17
- get maxDist() {
18
- // @ts-ignore FIXNE(TS)
19
- return isnan(this.config.maxDist) ? 9 : this.config.maxDist;
20
- }
21
-
22
- updateHasCustomActivationCriteria({ maxDistSq }: Config) {
23
- return !isValidNumber(maxDistSq);
24
- }
25
-
26
- getConfig() {
27
- if (!this.hasCustomActivationCriteria) {
28
- // Default config
29
- // If no params have been defined then this config should emulate the native gesture as closely as possible.
30
- return {
31
- shouldCancelWhenOutside: true,
32
- maxDistSq: 10,
33
- };
34
- }
35
- return this.config;
36
- }
37
-
38
- getHammerConfig() {
39
- return {
40
- ...super.getHammerConfig(),
41
- // threshold: this.maxDist,
42
- time: this.minDurationMs,
43
- };
44
- }
45
-
46
- getState(type: keyof typeof HammerInputNames) {
47
- return {
48
- [Hammer.INPUT_START]: State.ACTIVE,
49
- [Hammer.INPUT_MOVE]: State.ACTIVE,
50
- [Hammer.INPUT_END]: State.END,
51
- [Hammer.INPUT_CANCEL]: State.FAILED,
52
- }[type];
53
- }
54
- }
55
-
56
- export default LongPressGestureHandler;