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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/SystemModules/amzn__react-native-gesture-handler-4.modules.txt +3 -0
  2. package/SystemModules/amzn__react-native-gesture-handler-4.private.modules.txt +81 -35
  3. package/kepler-compatibility.json +3 -1
  4. package/lib/commonjs/RNGestureHandlerModule.kepler.js.map +1 -1
  5. package/lib/commonjs/index.js +0 -268
  6. package/lib/module/RNGestureHandlerModule.kepler.js.map +1 -1
  7. package/lib/typescript/RNGestureHandlerModule.kepler.d.ts.map +1 -1
  8. package/oss-attribution/attribution.txt +0 -0
  9. package/oss-attribution/licenseInfos.json +1 -0
  10. package/package.json +1 -1
  11. package/src/index.ts +0 -168
  12. package/README.md +0 -70
  13. package/SystemBundles/6340ec90c9b9f38941444b2ca176a58b9d8116a6cd975690f53747ed00595c90.bundle +0 -14669
  14. package/SystemBundles/6340ec90c9b9f38941444b2ca176a58b9d8116a6cd975690f53747ed00595c90.map +0 -5041
  15. package/lib/commonjs/ActionType.js +0 -15
  16. package/lib/commonjs/Directions.js +0 -31
  17. package/lib/commonjs/EnableNewWebImplementation.js +0 -40
  18. package/lib/commonjs/GestureHandlerRootViewContext.js +0 -10
  19. package/lib/commonjs/PlatformConstants.js +0 -9
  20. package/lib/commonjs/PlatformConstants.kepler.js +0 -12
  21. package/lib/commonjs/PlatformConstants.web.js +0 -12
  22. package/lib/commonjs/PointerType.js +0 -15
  23. package/lib/commonjs/RNGestureHandlerModule.js +0 -12
  24. package/lib/commonjs/RNGestureHandlerModule.kepler.js +0 -32
  25. package/lib/commonjs/RNGestureHandlerModule.web.js +0 -95
  26. package/lib/commonjs/RNGestureHandlerModule.windows.js +0 -56
  27. package/lib/commonjs/RNRenderer.js +0 -14
  28. package/lib/commonjs/RNRenderer.web.js +0 -10
  29. package/lib/commonjs/State.js +0 -19
  30. package/lib/commonjs/TouchEventType.js +0 -16
  31. package/lib/commonjs/components/DrawerLayout.js +0 -548
  32. package/lib/commonjs/components/GestureButtons.js +0 -212
  33. package/lib/commonjs/components/GestureButtonsProps.js +0 -6
  34. package/lib/commonjs/components/GestureComponents.js +0 -106
  35. package/lib/commonjs/components/GestureComponents.web.js +0 -39
  36. package/lib/commonjs/components/GestureHandlerButton.js +0 -10
  37. package/lib/commonjs/components/GestureHandlerButton.web.js +0 -16
  38. package/lib/commonjs/components/GestureHandlerRootView.android.js +0 -36
  39. package/lib/commonjs/components/GestureHandlerRootView.js +0 -35
  40. package/lib/commonjs/components/GestureHandlerRootView.kepler.js +0 -21
  41. package/lib/commonjs/components/GestureHandlerRootView.web.js +0 -30
  42. package/lib/commonjs/components/Pressable/Pressable.js +0 -274
  43. package/lib/commonjs/components/Pressable/PressableProps.js +0 -6
  44. package/lib/commonjs/components/Pressable/StateMachine.js +0 -44
  45. package/lib/commonjs/components/Pressable/index.js +0 -14
  46. package/lib/commonjs/components/Pressable/stateDefinitions.js +0 -88
  47. package/lib/commonjs/components/Pressable/utils.js +0 -92
  48. package/lib/commonjs/components/ReanimatedDrawerLayout.js +0 -357
  49. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -337
  50. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -12
  51. package/lib/commonjs/components/ReanimatedSwipeable/index.js +0 -21
  52. package/lib/commonjs/components/Swipeable.js +0 -370
  53. package/lib/commonjs/components/Text.js +0 -60
  54. package/lib/commonjs/components/gestureHandlerRootHOC.js +0 -37
  55. package/lib/commonjs/components/touchables/ExtraButtonProps.js +0 -2
  56. package/lib/commonjs/components/touchables/GenericTouchable.js +0 -245
  57. package/lib/commonjs/components/touchables/GenericTouchableProps.js +0 -6
  58. package/lib/commonjs/components/touchables/TouchableHighlight.js +0 -93
  59. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +0 -84
  60. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +0 -13
  61. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js +0 -6
  62. package/lib/commonjs/components/touchables/TouchableOpacity.js +0 -65
  63. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +0 -33
  64. package/lib/commonjs/components/touchables/index.js +0 -35
  65. package/lib/commonjs/components/utils.js +0 -17
  66. package/lib/commonjs/findNodeHandle.js +0 -9
  67. package/lib/commonjs/findNodeHandle.web.js +0 -39
  68. package/lib/commonjs/getShadowNodeFromRef.js +0 -51
  69. package/lib/commonjs/getShadowNodeFromRef.web.js +0 -14
  70. package/lib/commonjs/ghQueueMicrotask.js +0 -10
  71. package/lib/commonjs/handlers/FlingGestureHandler.js +0 -31
  72. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +0 -46
  73. package/lib/commonjs/handlers/GestureHandlerEventPayload.js +0 -6
  74. package/lib/commonjs/handlers/LongPressGestureHandler.js +0 -33
  75. package/lib/commonjs/handlers/NativeViewGestureHandler.js +0 -32
  76. package/lib/commonjs/handlers/PanGestureHandler.js +0 -112
  77. package/lib/commonjs/handlers/PinchGestureHandler.js +0 -29
  78. package/lib/commonjs/handlers/PressabilityDebugView.js +0 -13
  79. package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -11
  80. package/lib/commonjs/handlers/RotationGestureHandler.js +0 -29
  81. package/lib/commonjs/handlers/TapGestureHandler.js +0 -33
  82. package/lib/commonjs/handlers/createHandler.js +0 -405
  83. package/lib/commonjs/handlers/createNativeWrapper.js +0 -77
  84. package/lib/commonjs/handlers/customDirectEventTypes.js +0 -13
  85. package/lib/commonjs/handlers/customDirectEventTypes.web.js +0 -10
  86. package/lib/commonjs/handlers/gestureHandlerCommon.js +0 -27
  87. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +0 -6
  88. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +0 -32
  89. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +0 -41
  90. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +0 -67
  91. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +0 -20
  92. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +0 -125
  93. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -22
  94. package/lib/commonjs/handlers/gestures/GestureDetector/types.js +0 -6
  95. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +0 -66
  96. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -143
  97. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -47
  98. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +0 -41
  99. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -45
  100. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +0 -143
  101. package/lib/commonjs/handlers/gestures/eventReceiver.js +0 -117
  102. package/lib/commonjs/handlers/gestures/flingGesture.js +0 -37
  103. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +0 -80
  104. package/lib/commonjs/handlers/gestures/gesture.js +0 -338
  105. package/lib/commonjs/handlers/gestures/gestureComposition.js +0 -90
  106. package/lib/commonjs/handlers/gestures/gestureObjects.js +0 -132
  107. package/lib/commonjs/handlers/gestures/gestureStateManager.js +0 -70
  108. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +0 -28
  109. package/lib/commonjs/handlers/gestures/hoverGesture.js +0 -57
  110. package/lib/commonjs/handlers/gestures/longPressGesture.js +0 -46
  111. package/lib/commonjs/handlers/gestures/manualGesture.js +0 -25
  112. package/lib/commonjs/handlers/gestures/nativeGesture.js +0 -34
  113. package/lib/commonjs/handlers/gestures/panGesture.js +0 -197
  114. package/lib/commonjs/handlers/gestures/pinchGesture.js +0 -38
  115. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +0 -29
  116. package/lib/commonjs/handlers/gestures/rotationGesture.js +0 -38
  117. package/lib/commonjs/handlers/gestures/tapGesture.js +0 -87
  118. package/lib/commonjs/handlers/getNextHandlerTag.js +0 -11
  119. package/lib/commonjs/handlers/handlersRegistry.js +0 -50
  120. package/lib/commonjs/handlers/utils.js +0 -69
  121. package/lib/commonjs/init.js +0 -25
  122. package/lib/commonjs/jestUtils/index.js +0 -19
  123. package/lib/commonjs/jestUtils/jestUtils.js +0 -316
  124. package/lib/commonjs/mocks/Pressable.js +0 -13
  125. package/lib/commonjs/mocks/mocks.js +0 -70
  126. package/lib/commonjs/mocks.js +0 -61
  127. package/lib/commonjs/mountRegistry.js +0 -37
  128. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +0 -9
  129. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -20
  130. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  131. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -17
  132. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  133. package/lib/commonjs/typeUtils.js +0 -2
  134. package/lib/commonjs/utils.js +0 -95
  135. package/lib/commonjs/web/Gestures.js +0 -48
  136. package/lib/commonjs/web/constants.js +0 -9
  137. package/lib/commonjs/web/detectors/RotationGestureDetector.js +0 -124
  138. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +0 -111
  139. package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -143
  140. package/lib/commonjs/web/handlers/GestureHandler.js +0 -689
  141. package/lib/commonjs/web/handlers/HoverGestureHandler.js +0 -45
  142. package/lib/commonjs/web/handlers/IGestureHandler.js +0 -2
  143. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -146
  144. package/lib/commonjs/web/handlers/ManualGestureHandler.js +0 -38
  145. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -141
  146. package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -399
  147. package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -122
  148. package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -129
  149. package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -215
  150. package/lib/commonjs/web/interfaces.js +0 -32
  151. package/lib/commonjs/web/tools/CircularBuffer.js +0 -40
  152. package/lib/commonjs/web/tools/EventManager.js +0 -94
  153. package/lib/commonjs/web/tools/GestureHandlerDelegate.js +0 -6
  154. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +0 -267
  155. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +0 -165
  156. package/lib/commonjs/web/tools/InteractionManager.js +0 -96
  157. package/lib/commonjs/web/tools/KeyboardEventManager.js +0 -108
  158. package/lib/commonjs/web/tools/LeastSquareSolver.js +0 -159
  159. package/lib/commonjs/web/tools/NodeManager.js +0 -39
  160. package/lib/commonjs/web/tools/PointerEventManager.js +0 -189
  161. package/lib/commonjs/web/tools/PointerTracker.js +0 -192
  162. package/lib/commonjs/web/tools/Vector.js +0 -37
  163. package/lib/commonjs/web/tools/VelocityTracker.js +0 -85
  164. package/lib/commonjs/web/tools/WheelEventManager.js +0 -55
  165. package/lib/commonjs/web/utils.js +0 -235
  166. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +0 -93
  167. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +0 -43
  168. package/lib/commonjs/web_hammer/Errors.js +0 -13
  169. package/lib/commonjs/web_hammer/FlingGestureHandler.js +0 -139
  170. package/lib/commonjs/web_hammer/GestureHandler.js +0 -484
  171. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +0 -45
  172. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +0 -57
  173. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +0 -57
  174. package/lib/commonjs/web_hammer/NodeManager.js +0 -41
  175. package/lib/commonjs/web_hammer/PanGestureHandler.js +0 -167
  176. package/lib/commonjs/web_hammer/PinchGestureHandler.js +0 -31
  177. package/lib/commonjs/web_hammer/PressGestureHandler.js +0 -153
  178. package/lib/commonjs/web_hammer/RotationGestureHandler.js +0 -32
  179. package/lib/commonjs/web_hammer/TapGestureHandler.js +0 -165
  180. package/lib/commonjs/web_hammer/constants.js +0 -51
  181. package/lib/commonjs/web_hammer/utils.js +0 -32
  182. package/lib/module/ActionType.js +0 -11
  183. package/lib/module/Directions.js +0 -27
  184. package/lib/module/EnableNewWebImplementation.js +0 -34
  185. package/lib/module/GestureHandlerRootViewContext.js +0 -5
  186. package/lib/module/PlatformConstants.js +0 -5
  187. package/lib/module/PlatformConstants.kepler.js +0 -8
  188. package/lib/module/PlatformConstants.web.js +0 -8
  189. package/lib/module/PointerType.js +0 -11
  190. package/lib/module/RNGestureHandlerModule.js +0 -8
  191. package/lib/module/RNGestureHandlerModule.kepler.js +0 -26
  192. package/lib/module/RNGestureHandlerModule.web.js +0 -90
  193. package/lib/module/RNGestureHandlerModule.windows.js +0 -50
  194. package/lib/module/RNRenderer.js +0 -6
  195. package/lib/module/RNRenderer.web.js +0 -6
  196. package/lib/module/State.js +0 -15
  197. package/lib/module/TouchEventType.js +0 -12
  198. package/lib/module/components/DrawerLayout.js +0 -541
  199. package/lib/module/components/GestureButtons.js +0 -200
  200. package/lib/module/components/GestureButtonsProps.js +0 -4
  201. package/lib/module/components/GestureComponents.js +0 -100
  202. package/lib/module/components/GestureComponents.web.js +0 -32
  203. package/lib/module/components/GestureHandlerButton.js +0 -5
  204. package/lib/module/components/GestureHandlerButton.web.js +0 -11
  205. package/lib/module/components/GestureHandlerRootView.android.js +0 -30
  206. package/lib/module/components/GestureHandlerRootView.js +0 -29
  207. package/lib/module/components/GestureHandlerRootView.kepler.js +0 -15
  208. package/lib/module/components/GestureHandlerRootView.web.js +0 -24
  209. package/lib/module/components/Pressable/Pressable.js +0 -268
  210. package/lib/module/components/Pressable/PressableProps.js +0 -4
  211. package/lib/module/components/Pressable/StateMachine.js +0 -40
  212. package/lib/module/components/Pressable/index.js +0 -4
  213. package/lib/module/components/Pressable/stateDefinitions.js +0 -83
  214. package/lib/module/components/Pressable/utils.js +0 -84
  215. package/lib/module/components/ReanimatedDrawerLayout.js +0 -352
  216. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -332
  217. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -8
  218. package/lib/module/components/ReanimatedSwipeable/index.js +0 -5
  219. package/lib/module/components/Swipeable.js +0 -364
  220. package/lib/module/components/Text.js +0 -55
  221. package/lib/module/components/gestureHandlerRootHOC.js +0 -33
  222. package/lib/module/components/touchables/ExtraButtonProps.js +0 -2
  223. package/lib/module/components/touchables/GenericTouchable.js +0 -239
  224. package/lib/module/components/touchables/GenericTouchableProps.js +0 -4
  225. package/lib/module/components/touchables/TouchableHighlight.js +0 -87
  226. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +0 -77
  227. package/lib/module/components/touchables/TouchableNativeFeedback.js +0 -10
  228. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js +0 -4
  229. package/lib/module/components/touchables/TouchableOpacity.js +0 -59
  230. package/lib/module/components/touchables/TouchableWithoutFeedback.js +0 -27
  231. package/lib/module/components/touchables/index.js +0 -7
  232. package/lib/module/components/utils.js +0 -13
  233. package/lib/module/findNodeHandle.js +0 -5
  234. package/lib/module/findNodeHandle.web.js +0 -35
  235. package/lib/module/getShadowNodeFromRef.js +0 -47
  236. package/lib/module/getShadowNodeFromRef.web.js +0 -10
  237. package/lib/module/ghQueueMicrotask.js +0 -6
  238. package/lib/module/handlers/FlingGestureHandler.js +0 -26
  239. package/lib/module/handlers/ForceTouchGestureHandler.js +0 -41
  240. package/lib/module/handlers/GestureHandlerEventPayload.js +0 -4
  241. package/lib/module/handlers/LongPressGestureHandler.js +0 -28
  242. package/lib/module/handlers/NativeViewGestureHandler.js +0 -27
  243. package/lib/module/handlers/PanGestureHandler.js +0 -105
  244. package/lib/module/handlers/PinchGestureHandler.js +0 -25
  245. package/lib/module/handlers/PressabilityDebugView.js +0 -5
  246. package/lib/module/handlers/PressabilityDebugView.web.js +0 -7
  247. package/lib/module/handlers/RotationGestureHandler.js +0 -25
  248. package/lib/module/handlers/TapGestureHandler.js +0 -28
  249. package/lib/module/handlers/createHandler.js +0 -399
  250. package/lib/module/handlers/createNativeWrapper.js +0 -74
  251. package/lib/module/handlers/customDirectEventTypes.js +0 -5
  252. package/lib/module/handlers/customDirectEventTypes.web.js +0 -7
  253. package/lib/module/handlers/gestureHandlerCommon.js +0 -26
  254. package/lib/module/handlers/gestureHandlerTypesCompat.js +0 -4
  255. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +0 -26
  256. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +0 -36
  257. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +0 -62
  258. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -15
  259. package/lib/module/handlers/gestures/GestureDetector/index.js +0 -117
  260. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -18
  261. package/lib/module/handlers/gestures/GestureDetector/types.js +0 -4
  262. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +0 -61
  263. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -139
  264. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -43
  265. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +0 -37
  266. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -40
  267. package/lib/module/handlers/gestures/GestureDetector/utils.js +0 -134
  268. package/lib/module/handlers/gestures/eventReceiver.js +0 -110
  269. package/lib/module/handlers/gestures/flingGesture.js +0 -32
  270. package/lib/module/handlers/gestures/forceTouchGesture.js +0 -76
  271. package/lib/module/handlers/gestures/gesture.js +0 -332
  272. package/lib/module/handlers/gestures/gestureComposition.js +0 -83
  273. package/lib/module/handlers/gestures/gestureObjects.js +0 -129
  274. package/lib/module/handlers/gestures/gestureStateManager.js +0 -66
  275. package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -23
  276. package/lib/module/handlers/gestures/hoverGesture.js +0 -52
  277. package/lib/module/handlers/gestures/longPressGesture.js +0 -41
  278. package/lib/module/handlers/gestures/manualGesture.js +0 -20
  279. package/lib/module/handlers/gestures/nativeGesture.js +0 -29
  280. package/lib/module/handlers/gestures/panGesture.js +0 -192
  281. package/lib/module/handlers/gestures/pinchGesture.js +0 -33
  282. package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -26
  283. package/lib/module/handlers/gestures/rotationGesture.js +0 -33
  284. package/lib/module/handlers/gestures/tapGesture.js +0 -82
  285. package/lib/module/handlers/getNextHandlerTag.js +0 -7
  286. package/lib/module/handlers/handlersRegistry.js +0 -39
  287. package/lib/module/handlers/utils.js +0 -61
  288. package/lib/module/index.js +0 -31
  289. package/lib/module/init.js +0 -19
  290. package/lib/module/jestUtils/index.js +0 -4
  291. package/lib/module/jestUtils/jestUtils.js +0 -311
  292. package/lib/module/mocks/Pressable.js +0 -4
  293. package/lib/module/mocks/mocks.js +0 -64
  294. package/lib/module/mocks.js +0 -57
  295. package/lib/module/mountRegistry.js +0 -32
  296. package/lib/module/specs/NativeRNGestureHandlerModule.js +0 -5
  297. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -14
  298. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  299. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -11
  300. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  301. package/lib/module/typeUtils.js +0 -2
  302. package/lib/module/utils.js +0 -81
  303. package/lib/module/web/Gestures.js +0 -42
  304. package/lib/module/web/constants.js +0 -5
  305. package/lib/module/web/detectors/RotationGestureDetector.js +0 -119
  306. package/lib/module/web/detectors/ScaleGestureDetector.js +0 -106
  307. package/lib/module/web/handlers/FlingGestureHandler.js +0 -137
  308. package/lib/module/web/handlers/GestureHandler.js +0 -682
  309. package/lib/module/web/handlers/HoverGestureHandler.js +0 -39
  310. package/lib/module/web/handlers/IGestureHandler.js +0 -2
  311. package/lib/module/web/handlers/LongPressGestureHandler.js +0 -140
  312. package/lib/module/web/handlers/ManualGestureHandler.js +0 -32
  313. package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -135
  314. package/lib/module/web/handlers/PanGestureHandler.js +0 -393
  315. package/lib/module/web/handlers/PinchGestureHandler.js +0 -116
  316. package/lib/module/web/handlers/RotationGestureHandler.js +0 -123
  317. package/lib/module/web/handlers/TapGestureHandler.js +0 -209
  318. package/lib/module/web/interfaces.js +0 -28
  319. package/lib/module/web/tools/CircularBuffer.js +0 -35
  320. package/lib/module/web/tools/EventManager.js +0 -89
  321. package/lib/module/web/tools/GestureHandlerDelegate.js +0 -4
  322. package/lib/module/web/tools/GestureHandlerOrchestrator.js +0 -261
  323. package/lib/module/web/tools/GestureHandlerWebDelegate.js +0 -159
  324. package/lib/module/web/tools/InteractionManager.js +0 -91
  325. package/lib/module/web/tools/KeyboardEventManager.js +0 -102
  326. package/lib/module/web/tools/LeastSquareSolver.js +0 -154
  327. package/lib/module/web/tools/NodeManager.js +0 -34
  328. package/lib/module/web/tools/PointerEventManager.js +0 -183
  329. package/lib/module/web/tools/PointerTracker.js +0 -186
  330. package/lib/module/web/tools/Vector.js +0 -32
  331. package/lib/module/web/tools/VelocityTracker.js +0 -79
  332. package/lib/module/web/tools/WheelEventManager.js +0 -49
  333. package/lib/module/web/utils.js +0 -223
  334. package/lib/module/web_hammer/DiscreteGestureHandler.js +0 -87
  335. package/lib/module/web_hammer/DraggingGestureHandler.js +0 -37
  336. package/lib/module/web_hammer/Errors.js +0 -8
  337. package/lib/module/web_hammer/FlingGestureHandler.js +0 -133
  338. package/lib/module/web_hammer/GestureHandler.js +0 -478
  339. package/lib/module/web_hammer/IndiscreteGestureHandler.js +0 -41
  340. package/lib/module/web_hammer/LongPressGestureHandler.js +0 -51
  341. package/lib/module/web_hammer/NativeViewGestureHandler.js +0 -51
  342. package/lib/module/web_hammer/NodeManager.js +0 -33
  343. package/lib/module/web_hammer/PanGestureHandler.js +0 -162
  344. package/lib/module/web_hammer/PinchGestureHandler.js +0 -26
  345. package/lib/module/web_hammer/PressGestureHandler.js +0 -148
  346. package/lib/module/web_hammer/RotationGestureHandler.js +0 -27
  347. package/lib/module/web_hammer/TapGestureHandler.js +0 -160
  348. package/lib/module/web_hammer/constants.js +0 -46
  349. package/lib/module/web_hammer/utils.js +0 -21
  350. package/src/ActionType.ts +0 -9
  351. package/src/Directions.ts +0 -26
  352. package/src/EnableNewWebImplementation.ts +0 -53
  353. package/src/GestureHandlerRootViewContext.ts +0 -3
  354. package/src/PlatformConstants.kepler.ts +0 -5
  355. package/src/PlatformConstants.ts +0 -8
  356. package/src/PlatformConstants.web.ts +0 -5
  357. package/src/PointerType.ts +0 -7
  358. package/src/RNGestureHandlerModule.kepler.ts +0 -64
  359. package/src/RNGestureHandlerModule.ts +0 -5
  360. package/src/RNGestureHandlerModule.web.ts +0 -124
  361. package/src/RNGestureHandlerModule.windows.ts +0 -62
  362. package/src/RNRenderer.ts +0 -3
  363. package/src/RNRenderer.web.ts +0 -3
  364. package/src/State.ts +0 -13
  365. package/src/TouchEventType.ts +0 -11
  366. package/src/components/DrawerLayout.tsx +0 -788
  367. package/src/components/GestureButtons.tsx +0 -272
  368. package/src/components/GestureButtonsProps.ts +0 -156
  369. package/src/components/GestureComponents.tsx +0 -148
  370. package/src/components/GestureComponents.web.tsx +0 -41
  371. package/src/components/GestureHandlerButton.tsx +0 -5
  372. package/src/components/GestureHandlerButton.web.tsx +0 -6
  373. package/src/components/GestureHandlerRootView.android.tsx +0 -32
  374. package/src/components/GestureHandlerRootView.kepler.tsx +0 -18
  375. package/src/components/GestureHandlerRootView.tsx +0 -28
  376. package/src/components/GestureHandlerRootView.web.tsx +0 -22
  377. package/src/components/Pressable/Pressable.tsx +0 -401
  378. package/src/components/Pressable/PressableProps.tsx +0 -174
  379. package/src/components/Pressable/StateMachine.tsx +0 -57
  380. package/src/components/Pressable/index.ts +0 -5
  381. package/src/components/Pressable/stateDefinitions.ts +0 -126
  382. package/src/components/Pressable/utils.ts +0 -140
  383. package/src/components/ReanimatedDrawerLayout.tsx +0 -754
  384. package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +0 -607
  385. package/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts +0 -199
  386. package/src/components/ReanimatedSwipeable/index.ts +0 -6
  387. package/src/components/Swipeable.tsx +0 -595
  388. package/src/components/Text.tsx +0 -77
  389. package/src/components/gestureHandlerRootHOC.tsx +0 -33
  390. package/src/components/touchables/ExtraButtonProps.ts +0 -7
  391. package/src/components/touchables/GenericTouchable.tsx +0 -275
  392. package/src/components/touchables/GenericTouchableProps.ts +0 -28
  393. package/src/components/touchables/TouchableHighlight.tsx +0 -118
  394. package/src/components/touchables/TouchableNativeFeedback.android.tsx +0 -83
  395. package/src/components/touchables/TouchableNativeFeedback.tsx +0 -8
  396. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +0 -10
  397. package/src/components/touchables/TouchableOpacity.tsx +0 -78
  398. package/src/components/touchables/TouchableWithoutFeedback.tsx +0 -39
  399. package/src/components/touchables/index.ts +0 -7
  400. package/src/components/utils.ts +0 -26
  401. package/src/findNodeHandle.ts +0 -3
  402. package/src/findNodeHandle.web.ts +0 -41
  403. package/src/getShadowNodeFromRef.ts +0 -50
  404. package/src/getShadowNodeFromRef.web.ts +0 -7
  405. package/src/ghQueueMicrotask.ts +0 -8
  406. package/src/handlers/FlingGestureHandler.ts +0 -64
  407. package/src/handlers/ForceTouchGestureHandler.ts +0 -88
  408. package/src/handlers/GestureHandlerEventPayload.ts +0 -229
  409. package/src/handlers/LongPressGestureHandler.ts +0 -65
  410. package/src/handlers/NativeViewGestureHandler.ts +0 -59
  411. package/src/handlers/PanGestureHandler.ts +0 -282
  412. package/src/handlers/PinchGestureHandler.ts +0 -32
  413. package/src/handlers/PressabilityDebugView.tsx +0 -2
  414. package/src/handlers/PressabilityDebugView.web.tsx +0 -4
  415. package/src/handlers/RotationGestureHandler.ts +0 -32
  416. package/src/handlers/TapGestureHandler.ts +0 -99
  417. package/src/handlers/createHandler.tsx +0 -586
  418. package/src/handlers/createNativeWrapper.tsx +0 -89
  419. package/src/handlers/customDirectEventTypes.ts +0 -2
  420. package/src/handlers/customDirectEventTypes.web.ts +0 -5
  421. package/src/handlers/gestureHandlerCommon.ts +0 -211
  422. package/src/handlers/gestureHandlerTypesCompat.ts +0 -101
  423. package/src/handlers/gestures/GestureDetector/Wrap.tsx +0 -35
  424. package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +0 -42
  425. package/src/handlers/gestures/GestureDetector/attachHandlers.ts +0 -112
  426. package/src/handlers/gestures/GestureDetector/dropHandlers.ts +0 -17
  427. package/src/handlers/gestures/GestureDetector/index.tsx +0 -191
  428. package/src/handlers/gestures/GestureDetector/needsToReattach.ts +0 -27
  429. package/src/handlers/gestures/GestureDetector/types.ts +0 -32
  430. package/src/handlers/gestures/GestureDetector/updateHandlers.ts +0 -92
  431. package/src/handlers/gestures/GestureDetector/useAnimatedGesture.ts +0 -209
  432. package/src/handlers/gestures/GestureDetector/useDetectorUpdater.ts +0 -69
  433. package/src/handlers/gestures/GestureDetector/useMountReactions.ts +0 -51
  434. package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +0 -58
  435. package/src/handlers/gestures/GestureDetector/utils.ts +0 -181
  436. package/src/handlers/gestures/eventReceiver.ts +0 -173
  437. package/src/handlers/gestures/flingGesture.ts +0 -36
  438. package/src/handlers/gestures/forceTouchGesture.ts +0 -95
  439. package/src/handlers/gestures/gesture.ts +0 -472
  440. package/src/handlers/gestures/gestureComposition.ts +0 -124
  441. package/src/handlers/gestures/gestureObjects.ts +0 -143
  442. package/src/handlers/gestures/gestureStateManager.ts +0 -76
  443. package/src/handlers/gestures/gestureStateManager.web.ts +0 -26
  444. package/src/handlers/gestures/hoverGesture.ts +0 -77
  445. package/src/handlers/gestures/longPressGesture.ts +0 -45
  446. package/src/handlers/gestures/manualGesture.ts +0 -31
  447. package/src/handlers/gestures/nativeGesture.ts +0 -33
  448. package/src/handlers/gestures/panGesture.ts +0 -221
  449. package/src/handlers/gestures/pinchGesture.ts +0 -51
  450. package/src/handlers/gestures/reanimatedWrapper.ts +0 -57
  451. package/src/handlers/gestures/rotationGesture.ts +0 -51
  452. package/src/handlers/gestures/tapGesture.ts +0 -86
  453. package/src/handlers/getNextHandlerTag.ts +0 -5
  454. package/src/handlers/handlersRegistry.ts +0 -58
  455. package/src/handlers/utils.ts +0 -76
  456. package/src/init.ts +0 -18
  457. package/src/jestUtils/index.ts +0 -1
  458. package/src/jestUtils/jestUtils.ts +0 -513
  459. package/src/mocks/Pressable.tsx +0 -1
  460. package/src/mocks/mocks.tsx +0 -70
  461. package/src/mocks.ts +0 -67
  462. package/src/mountRegistry.ts +0 -51
  463. package/src/specs/NativeRNGestureHandlerModule.ts +0 -26
  464. package/src/specs/RNGestureHandlerButtonNativeComponent.kepler.ts +0 -27
  465. package/src/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  466. package/src/specs/RNGestureHandlerRootViewNativeComponent.kepler.ts +0 -21
  467. package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  468. package/src/typeUtils.ts +0 -1
  469. package/src/utils.ts +0 -107
  470. package/src/web/Gestures.ts +0 -41
  471. package/src/web/constants.ts +0 -2
  472. package/src/web/detectors/RotationGestureDetector.ts +0 -170
  473. package/src/web/detectors/ScaleGestureDetector.ts +0 -171
  474. package/src/web/handlers/FlingGestureHandler.ts +0 -196
  475. package/src/web/handlers/GestureHandler.ts +0 -881
  476. package/src/web/handlers/HoverGestureHandler.ts +0 -49
  477. package/src/web/handlers/IGestureHandler.ts +0 -49
  478. package/src/web/handlers/LongPressGestureHandler.ts +0 -175
  479. package/src/web/handlers/ManualGestureHandler.ts +0 -37
  480. package/src/web/handlers/NativeViewGestureHandler.ts +0 -175
  481. package/src/web/handlers/PanGestureHandler.ts +0 -571
  482. package/src/web/handlers/PinchGestureHandler.ts +0 -152
  483. package/src/web/handlers/RotationGestureHandler.ts +0 -166
  484. package/src/web/handlers/TapGestureHandler.ts +0 -274
  485. package/src/web/interfaces.ts +0 -190
  486. package/src/web/tools/CircularBuffer.ts +0 -42
  487. package/src/web/tools/EventManager.ts +0 -108
  488. package/src/web/tools/GestureHandlerDelegate.ts +0 -26
  489. package/src/web/tools/GestureHandlerOrchestrator.ts +0 -392
  490. package/src/web/tools/GestureHandlerWebDelegate.ts +0 -227
  491. package/src/web/tools/InteractionManager.ts +0 -135
  492. package/src/web/tools/KeyboardEventManager.ts +0 -133
  493. package/src/web/tools/LeastSquareSolver.ts +0 -182
  494. package/src/web/tools/NodeManager.ts +0 -48
  495. package/src/web/tools/PointerEventManager.ts +0 -226
  496. package/src/web/tools/PointerTracker.ts +0 -228
  497. package/src/web/tools/Vector.ts +0 -59
  498. package/src/web/tools/VelocityTracker.ts +0 -98
  499. package/src/web/tools/WheelEventManager.ts +0 -48
  500. package/src/web/utils.ts +0 -293
  501. package/src/web_hammer/DiscreteGestureHandler.ts +0 -82
  502. package/src/web_hammer/DraggingGestureHandler.ts +0 -34
  503. package/src/web_hammer/Errors.ts +0 -7
  504. package/src/web_hammer/FlingGestureHandler.ts +0 -134
  505. package/src/web_hammer/GestureHandler.ts +0 -600
  506. package/src/web_hammer/IndiscreteGestureHandler.ts +0 -33
  507. package/src/web_hammer/LongPressGestureHandler.ts +0 -56
  508. package/src/web_hammer/NativeViewGestureHandler.ts +0 -47
  509. package/src/web_hammer/NodeManager.ts +0 -33
  510. package/src/web_hammer/PanGestureHandler.ts +0 -226
  511. package/src/web_hammer/PinchGestureHandler.ts +0 -25
  512. package/src/web_hammer/PressGestureHandler.ts +0 -170
  513. package/src/web_hammer/RotationGestureHandler.ts +0 -25
  514. package/src/web_hammer/TapGestureHandler.ts +0 -172
  515. package/src/web_hammer/constants.ts +0 -48
  516. package/src/web_hammer/utils.ts +0 -24
@@ -1,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;