@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,26 +0,0 @@
1
- import { TurboModuleRegistry, TurboModule } from 'react-native';
2
- import { Double } from 'react-native/Libraries/Types/CodegenTypes';
3
-
4
- export interface Spec extends TurboModule {
5
- handleSetJSResponder: (tag: Double, blockNativeResponder: boolean) => void;
6
- handleClearJSResponder: () => void;
7
- createGestureHandler: (
8
- handlerName: string,
9
- handlerTag: Double,
10
- // Record<> is not supported by codegen
11
- // eslint-disable-next-line @typescript-eslint/ban-types
12
- config: Object
13
- ) => void;
14
- attachGestureHandler: (
15
- handlerTag: Double,
16
- newView: Double,
17
- actionType: Double
18
- ) => void;
19
- // eslint-disable-next-line @typescript-eslint/ban-types
20
- updateGestureHandler: (handlerTag: Double, newConfig: Object) => void;
21
- dropGestureHandler: (handlerTag: Double) => void;
22
- install: () => boolean;
23
- flushOperations: () => void;
24
- }
25
-
26
- export default TurboModuleRegistry.getEnforcing<Spec>('RNGestureHandlerModule');
@@ -1,27 +0,0 @@
1
- import type { ViewProps } from 'react-native';
2
- // @ts-ignore
3
- import register from 'react-native/Libraries/Utilities/registerGeneratedViewConfig';
4
- import {
5
- // @ts-ignore types not correct?
6
- HostComponent,
7
- // @ts-ignore
8
- } from 'react-native/Libraries/Types/CodegenTypes';
9
-
10
- interface NativeProps extends ViewProps {
11
- exclusive?: boolean;
12
- enabled?: boolean;
13
- }
14
-
15
- const RNGestureHandlerButton = 'RNGestureHandlerButton';
16
-
17
- register(RNGestureHandlerButton, {
18
- uiViewClassName: RNGestureHandlerButton,
19
- validAttributes: {
20
- exclusive: true,
21
- enabled: true,
22
- }
23
- });
24
-
25
- export default (RNGestureHandlerButton as unknown) as HostComponent<
26
- NativeProps
27
- >;
@@ -1,24 +0,0 @@
1
- // @ts-ignore
2
- import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
3
- import type {
4
- Int32,
5
- WithDefault,
6
- Float,
7
- // @ts-ignore
8
- } from 'react-native/Libraries/Types/CodegenTypes';
9
- import type { ViewProps, ColorValue } from 'react-native';
10
-
11
- interface NativeProps extends ViewProps {
12
- exclusive?: WithDefault<boolean, true>;
13
- foreground?: boolean;
14
- borderless?: boolean;
15
- enabled?: WithDefault<boolean, true>;
16
- rippleColor?: ColorValue;
17
- rippleRadius?: Int32;
18
- touchSoundDisabled?: WithDefault<boolean, false>;
19
- borderWidth?: Float;
20
- borderColor?: ColorValue;
21
- borderStyle?: WithDefault<string, 'solid'>;
22
- }
23
-
24
- export default codegenNativeComponent<NativeProps>('RNGestureHandlerButton');
@@ -1,21 +0,0 @@
1
- import type { ViewProps } from 'react-native';
2
- // @ts-ignore
3
- import register from 'react-native/Libraries/Utilities/registerGeneratedViewConfig';
4
- import {
5
- // @ts-ignore types not correct?
6
- HostComponent,
7
- // @ts-ignore
8
- } from 'react-native/Libraries/Types/CodegenTypes';
9
-
10
- interface NativeProps extends ViewProps {}
11
-
12
- const RNGestureHandlerRootView = 'RNGestureHandlerRootView';
13
-
14
- register(RNGestureHandlerRootView, {
15
- uiViewClassName: RNGestureHandlerRootView,
16
- validAttributes: {},
17
- });
18
-
19
- export default (RNGestureHandlerRootView as unknown) as HostComponent<
20
- NativeProps
21
- >;
@@ -1,7 +0,0 @@
1
- // @ts-ignore
2
- import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
3
- import type { ViewProps } from 'react-native';
4
-
5
- interface NativeProps extends ViewProps {}
6
-
7
- export default codegenNativeComponent<NativeProps>('RNGestureHandlerRootView');
package/src/typeUtils.ts DELETED
@@ -1 +0,0 @@
1
- export type ValueOf<T> = T[keyof T];
package/src/utils.ts DELETED
@@ -1,107 +0,0 @@
1
- import React from 'react';
2
-
3
- export function toArray<T>(object: T | T[]): T[] {
4
- if (!Array.isArray(object)) {
5
- return [object];
6
- }
7
-
8
- return object;
9
- }
10
-
11
- export type withPrevAndCurrentMapFn<T, Transformed> = (
12
- previous: Transformed | null,
13
- current: T
14
- ) => Transformed;
15
- export function withPrevAndCurrent<T, Transformed>(
16
- array: T[],
17
- mapFn: withPrevAndCurrentMapFn<T, Transformed>
18
- ): Transformed[] {
19
- const previousArr: (null | Transformed)[] = [null];
20
- const currentArr = [...array];
21
- const transformedArr: Transformed[] = [];
22
- currentArr.forEach((current, i) => {
23
- // This type cast is fine and solves problem mentioned in https://github.com/software-mansion/react-native-gesture-handler/pull/2867 (namely that `previous` can be undefined).
24
- // Unfortunately, linter on our CI does not allow this type of casting as it is unnecessary. To bypass that we use eslint-disable.
25
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
26
- const previous = previousArr[i] as Transformed | null;
27
- const transformed = mapFn(previous, current);
28
- previousArr.push(transformed);
29
- transformedArr.push(transformed);
30
- });
31
- return transformedArr;
32
- }
33
-
34
- export function hasProperty(object: object, key: string) {
35
- return Object.prototype.hasOwnProperty.call(object, key);
36
- }
37
-
38
- export function isTestEnv(): boolean {
39
- // @ts-ignore Do not use `@types/node` because it will prioritise Node types over RN types which breaks the types (ex. setTimeout) in React Native projects.
40
- return hasProperty(global, 'process') && process.env.NODE_ENV === 'test';
41
- }
42
-
43
- export function tagMessage(msg: string) {
44
- return `[react-native-gesture-handler] ${msg}`;
45
- }
46
-
47
- // Helper method to check whether Fabric is enabled, however global.nativeFabricUIManager
48
- // may not be initialized before the first render
49
- export function isFabric(): boolean {
50
- // @ts-expect-error nativeFabricUIManager is not yet included in the RN types
51
- return !!global?.nativeFabricUIManager;
52
- }
53
-
54
- export function isReact19() {
55
- return React.version.startsWith('19.');
56
- }
57
-
58
- export function isRemoteDebuggingEnabled(): boolean {
59
- // react-native-reanimated checks if in remote debugging in the same way
60
- // @ts-ignore global is available but node types are not included
61
- const localGlobal = global as any;
62
- return (
63
- (!localGlobal.nativeCallSyncHook || !!localGlobal.__REMOTEDEV__) &&
64
- !localGlobal.RN$Bridgeless
65
- );
66
- }
67
-
68
- /**
69
- * Recursively compares two objects for deep equality.
70
- *
71
- * **Note:** This function does not support cyclic references.
72
- *
73
- * @param obj1 - The first object to compare.
74
- * @param obj2 - The second object to compare.
75
- * @returns `true` if the objects are deeply equal, `false` otherwise.
76
- */
77
- export function deepEqual(obj1: any, obj2: any) {
78
- if (obj1 === obj2) {
79
- return true;
80
- }
81
-
82
- if (
83
- typeof obj1 !== 'object' ||
84
- typeof obj2 !== 'object' ||
85
- obj1 === null ||
86
- obj2 === null
87
- ) {
88
- return false;
89
- }
90
-
91
- const keys1 = Object.keys(obj1);
92
- const keys2 = Object.keys(obj2);
93
-
94
- if (keys1.length !== keys2.length) {
95
- return false;
96
- }
97
-
98
- for (const key of keys1) {
99
- if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) {
100
- return false;
101
- }
102
- }
103
-
104
- return true;
105
- }
106
-
107
- export const INT32_MAX = 2 ** 31 - 1;
@@ -1,41 +0,0 @@
1
- // Gesture Handlers
2
- import PanGestureHandler from './handlers/PanGestureHandler';
3
- import TapGestureHandler from './handlers/TapGestureHandler';
4
- import LongPressGestureHandler from './handlers/LongPressGestureHandler';
5
- import PinchGestureHandler from './handlers/PinchGestureHandler';
6
- import RotationGestureHandler from './handlers/RotationGestureHandler';
7
- import FlingGestureHandler from './handlers/FlingGestureHandler';
8
- import NativeViewGestureHandler from './handlers/NativeViewGestureHandler';
9
- import ManualGestureHandler from './handlers/ManualGestureHandler';
10
- import HoverGestureHandler from './handlers/HoverGestureHandler';
11
-
12
- // Hammer Handlers
13
- import HammerNativeViewGestureHandler from '../web_hammer/NativeViewGestureHandler';
14
- import HammerPanGestureHandler from '../web_hammer/PanGestureHandler';
15
- import HammerTapGestureHandler from '../web_hammer/TapGestureHandler';
16
- import HammerLongPressGestureHandler from '../web_hammer/LongPressGestureHandler';
17
- import HammerPinchGestureHandler from '../web_hammer/PinchGestureHandler';
18
- import HammerRotationGestureHandler from '../web_hammer/RotationGestureHandler';
19
- import HammerFlingGestureHandler from '../web_hammer/FlingGestureHandler';
20
-
21
- export const Gestures = {
22
- NativeViewGestureHandler,
23
- PanGestureHandler,
24
- TapGestureHandler,
25
- LongPressGestureHandler,
26
- PinchGestureHandler,
27
- RotationGestureHandler,
28
- FlingGestureHandler,
29
- ManualGestureHandler,
30
- HoverGestureHandler,
31
- };
32
-
33
- export const HammerGestures = {
34
- NativeViewGestureHandler: HammerNativeViewGestureHandler,
35
- PanGestureHandler: HammerPanGestureHandler,
36
- TapGestureHandler: HammerTapGestureHandler,
37
- LongPressGestureHandler: HammerLongPressGestureHandler,
38
- PinchGestureHandler: HammerPinchGestureHandler,
39
- RotationGestureHandler: HammerRotationGestureHandler,
40
- FlingGestureHandler: HammerFlingGestureHandler,
41
- };
@@ -1,2 +0,0 @@
1
- export const DEFAULT_TOUCH_SLOP = 15;
2
- export const MINIMAL_RECOGNIZABLE_MAGNITUDE = 0.1;
@@ -1,170 +0,0 @@
1
- import { AdaptedEvent, EventTypes } from '../interfaces';
2
- import PointerTracker from '../tools/PointerTracker';
3
-
4
- export interface RotationGestureListener {
5
- onRotationBegin: (detector: RotationGestureDetector) => boolean;
6
- onRotation: (detector: RotationGestureDetector) => boolean;
7
- onRotationEnd: (detector: RotationGestureDetector) => void;
8
- }
9
-
10
- export default class RotationGestureDetector
11
- implements RotationGestureListener
12
- {
13
- onRotationBegin: (detector: RotationGestureDetector) => boolean;
14
- onRotation: (detector: RotationGestureDetector) => boolean;
15
- onRotationEnd: (detector: RotationGestureDetector) => void;
16
-
17
- private currentTime = 0;
18
- private previousTime = 0;
19
-
20
- private previousAngle = 0;
21
- private _rotation = 0;
22
-
23
- private _anchorX = 0;
24
- private _anchorY = 0;
25
-
26
- private isInProgress = false;
27
-
28
- private keyPointers: number[] = [NaN, NaN];
29
-
30
- constructor(callbacks: RotationGestureListener) {
31
- this.onRotationBegin = callbacks.onRotationBegin;
32
- this.onRotation = callbacks.onRotation;
33
- this.onRotationEnd = callbacks.onRotationEnd;
34
- }
35
-
36
- private updateCurrent(event: AdaptedEvent, tracker: PointerTracker): void {
37
- this.previousTime = this.currentTime;
38
- this.currentTime = event.time;
39
-
40
- const [firstPointerID, secondPointerID] = this.keyPointers;
41
-
42
- const firstPointerCoords = tracker.getLastAbsoluteCoords(firstPointerID);
43
- const secondPointerCoords = tracker.getLastAbsoluteCoords(secondPointerID);
44
-
45
- if (!firstPointerCoords || !secondPointerCoords) {
46
- return;
47
- }
48
-
49
- const vectorX: number = secondPointerCoords.x - firstPointerCoords.x;
50
- const vectorY: number = secondPointerCoords.y - firstPointerCoords.y;
51
-
52
- this._anchorX = (firstPointerCoords.x + secondPointerCoords.x) / 2;
53
- this._anchorY = (firstPointerCoords.y + secondPointerCoords.y) / 2;
54
-
55
- // Angle diff should be positive when rotating in clockwise direction
56
- const angle: number = -Math.atan2(vectorY, vectorX);
57
-
58
- this._rotation = Number.isNaN(this.previousAngle)
59
- ? 0
60
- : this.previousAngle - angle;
61
-
62
- this.previousAngle = angle;
63
-
64
- if (this.rotation > Math.PI) {
65
- this._rotation -= Math.PI;
66
- } else if (this.rotation < -Math.PI) {
67
- this._rotation += Math.PI;
68
- }
69
-
70
- if (this.rotation > Math.PI / 2) {
71
- this._rotation -= Math.PI;
72
- } else if (this.rotation < -Math.PI / 2) {
73
- this._rotation += Math.PI;
74
- }
75
- }
76
-
77
- private finish(): void {
78
- if (!this.isInProgress) {
79
- return;
80
- }
81
-
82
- this.isInProgress = false;
83
- this.keyPointers = [NaN, NaN];
84
- this.onRotationEnd(this);
85
- }
86
-
87
- private setKeyPointers(tracker: PointerTracker): void {
88
- if (this.keyPointers[0] && this.keyPointers[1]) {
89
- return;
90
- }
91
-
92
- const pointerIDs: IterableIterator<number> = tracker.trackedPointers.keys();
93
-
94
- this.keyPointers[0] = pointerIDs.next().value as number;
95
- this.keyPointers[1] = pointerIDs.next().value as number;
96
- }
97
-
98
- public onTouchEvent(event: AdaptedEvent, tracker: PointerTracker): boolean {
99
- switch (event.eventType) {
100
- case EventTypes.DOWN:
101
- this.isInProgress = false;
102
- break;
103
-
104
- case EventTypes.ADDITIONAL_POINTER_DOWN:
105
- if (this.isInProgress) {
106
- break;
107
- }
108
- this.isInProgress = true;
109
-
110
- this.previousTime = event.time;
111
- this.previousAngle = NaN;
112
-
113
- this.setKeyPointers(tracker);
114
-
115
- this.updateCurrent(event, tracker);
116
- this.onRotationBegin(this);
117
- break;
118
-
119
- case EventTypes.MOVE:
120
- if (!this.isInProgress) {
121
- break;
122
- }
123
-
124
- this.updateCurrent(event, tracker);
125
- this.onRotation(this);
126
-
127
- break;
128
-
129
- case EventTypes.ADDITIONAL_POINTER_UP:
130
- if (!this.isInProgress) {
131
- break;
132
- }
133
-
134
- if (this.keyPointers.indexOf(event.pointerId) >= 0) {
135
- this.finish();
136
- }
137
-
138
- break;
139
-
140
- case EventTypes.UP:
141
- if (this.isInProgress) {
142
- this.finish();
143
- }
144
- break;
145
- }
146
-
147
- return true;
148
- }
149
-
150
- public reset(): void {
151
- this.keyPointers = [NaN, NaN];
152
- this.isInProgress = false;
153
- }
154
-
155
- public get anchorX() {
156
- return this._anchorX;
157
- }
158
-
159
- public get anchorY() {
160
- return this._anchorY;
161
- }
162
-
163
- public get rotation() {
164
- return this._rotation;
165
- }
166
-
167
- public get timeDelta() {
168
- return this.currentTime + this.previousTime;
169
- }
170
- }
@@ -1,171 +0,0 @@
1
- import { DEFAULT_TOUCH_SLOP } from '../constants';
2
- import { AdaptedEvent, EventTypes } from '../interfaces';
3
-
4
- import PointerTracker from '../tools/PointerTracker';
5
-
6
- export interface ScaleGestureListener {
7
- onScaleBegin: (detector: ScaleGestureDetector) => boolean;
8
- onScale: (detector: ScaleGestureDetector) => boolean;
9
- onScaleEnd: (detector: ScaleGestureDetector) => void;
10
- }
11
-
12
- export default class ScaleGestureDetector implements ScaleGestureListener {
13
- public onScaleBegin: (detector: ScaleGestureDetector) => boolean;
14
- public onScale: (detector: ScaleGestureDetector) => boolean;
15
- public onScaleEnd: (detector: ScaleGestureDetector) => void;
16
-
17
- private _focusX!: number;
18
- private _focusY!: number;
19
-
20
- private _currentSpan!: number;
21
- private prevSpan!: number;
22
- private initialSpan!: number;
23
-
24
- private currentTime!: number;
25
- private prevTime!: number;
26
-
27
- private inProgress = false;
28
-
29
- private spanSlop: number;
30
- private minSpan: number;
31
-
32
- constructor(callbacks: ScaleGestureListener) {
33
- this.onScaleBegin = callbacks.onScaleBegin;
34
- this.onScale = callbacks.onScale;
35
- this.onScaleEnd = callbacks.onScaleEnd;
36
-
37
- this.spanSlop = DEFAULT_TOUCH_SLOP * 2;
38
- this.minSpan = 0;
39
- }
40
-
41
- public onTouchEvent(event: AdaptedEvent, tracker: PointerTracker): boolean {
42
- this.currentTime = event.time;
43
-
44
- const action: EventTypes = event.eventType;
45
- const numOfPointers = tracker.trackedPointersCount;
46
-
47
- const streamComplete: boolean =
48
- action === EventTypes.UP ||
49
- action === EventTypes.ADDITIONAL_POINTER_UP ||
50
- action === EventTypes.CANCEL;
51
-
52
- if (action === EventTypes.DOWN || streamComplete) {
53
- if (this.inProgress) {
54
- this.onScaleEnd(this);
55
- this.inProgress = false;
56
- this.initialSpan = 0;
57
- }
58
-
59
- if (streamComplete) {
60
- return true;
61
- }
62
- }
63
-
64
- const configChanged: boolean =
65
- action === EventTypes.DOWN ||
66
- action === EventTypes.ADDITIONAL_POINTER_UP ||
67
- action === EventTypes.ADDITIONAL_POINTER_DOWN;
68
-
69
- const pointerUp = action === EventTypes.ADDITIONAL_POINTER_UP;
70
-
71
- const ignoredPointer: number | undefined = pointerUp
72
- ? event.pointerId
73
- : undefined;
74
-
75
- // Determine focal point
76
-
77
- const div: number = pointerUp ? numOfPointers - 1 : numOfPointers;
78
-
79
- const coordsSum = tracker.getAbsoluteCoordsSum();
80
-
81
- const focusX = coordsSum.x / div;
82
- const focusY = coordsSum.y / div;
83
-
84
- // Determine average deviation from focal point
85
-
86
- let devSumX = 0;
87
- let devSumY = 0;
88
-
89
- tracker.trackedPointers.forEach((value, key) => {
90
- if (key === ignoredPointer) {
91
- return;
92
- }
93
-
94
- devSumX += Math.abs(value.abosoluteCoords.x - focusX);
95
- devSumY += Math.abs(value.abosoluteCoords.y - focusY);
96
- });
97
-
98
- const devX: number = devSumX / div;
99
- const devY: number = devSumY / div;
100
-
101
- const spanX: number = devX * 2;
102
- const spanY: number = devY * 2;
103
-
104
- const span = Math.hypot(spanX, spanY);
105
-
106
- // Begin/end events
107
- const wasInProgress: boolean = this.inProgress;
108
- this._focusX = focusX;
109
- this._focusY = focusY;
110
-
111
- if (this.inProgress && (span < this.minSpan || configChanged)) {
112
- this.onScaleEnd(this);
113
- this.inProgress = false;
114
- this.initialSpan = span;
115
- }
116
-
117
- if (configChanged) {
118
- this.initialSpan = this.prevSpan = this._currentSpan = span;
119
- }
120
-
121
- if (
122
- !this.inProgress &&
123
- span >= this.minSpan &&
124
- (wasInProgress || Math.abs(span - this.initialSpan) > this.spanSlop)
125
- ) {
126
- this.prevSpan = this._currentSpan = span;
127
- this.prevTime = this.currentTime;
128
- this.inProgress = this.onScaleBegin(this);
129
- }
130
-
131
- // Handle motion
132
- if (action !== EventTypes.MOVE) {
133
- return true;
134
- }
135
-
136
- this._currentSpan = span;
137
-
138
- if (this.inProgress && !this.onScale(this)) {
139
- return true;
140
- }
141
-
142
- this.prevSpan = this.currentSpan;
143
- this.prevTime = this.currentTime;
144
-
145
- return true;
146
- }
147
-
148
- public calculateScaleFactor(numOfPointers: number): number {
149
- if (numOfPointers < 2) {
150
- return 1;
151
- }
152
-
153
- return this.prevSpan > 0 ? this.currentSpan / this.prevSpan : 1;
154
- }
155
-
156
- public get currentSpan() {
157
- return this._currentSpan;
158
- }
159
-
160
- public get focusX() {
161
- return this._focusX;
162
- }
163
-
164
- public get focusY() {
165
- return this._focusY;
166
- }
167
-
168
- public get timeDelta() {
169
- return this.currentTime - this.prevTime;
170
- }
171
- }