@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,48 +0,0 @@
1
- import { ValueOf } from '../../typeUtils';
2
- import { Gestures } from '../Gestures';
3
- import type IGestureHandler from '../handlers/IGestureHandler';
4
-
5
- // eslint-disable-next-line @typescript-eslint/no-extraneous-class
6
- export default abstract class NodeManager {
7
- private static gestures: Record<
8
- number,
9
- InstanceType<ValueOf<typeof Gestures>>
10
- > = {};
11
-
12
- public static getHandler(tag: number): IGestureHandler {
13
- if (tag in this.gestures) {
14
- return this.gestures[tag] as IGestureHandler;
15
- }
16
-
17
- throw new Error(`No handler for tag ${tag}`);
18
- }
19
-
20
- public static createGestureHandler(
21
- handlerTag: number,
22
- handler: InstanceType<ValueOf<typeof Gestures>>
23
- ): void {
24
- if (handlerTag in this.gestures) {
25
- throw new Error(
26
- `Handler with tag ${handlerTag} already exists. Please ensure that no Gesture instance is used across multiple GestureDetectors.`
27
- );
28
- }
29
-
30
- this.gestures[handlerTag] = handler;
31
- this.gestures[handlerTag].handlerTag = handlerTag;
32
- }
33
-
34
- public static dropGestureHandler(handlerTag: number): void {
35
- if (!(handlerTag in this.gestures)) {
36
- return;
37
- }
38
-
39
- this.gestures[handlerTag].onDestroy();
40
-
41
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
42
- delete this.gestures[handlerTag];
43
- }
44
-
45
- public static get nodes() {
46
- return { ...this.gestures };
47
- }
48
- }
@@ -1,226 +0,0 @@
1
- import EventManager from './EventManager';
2
- import { MouseButton } from '../../handlers/gestureHandlerCommon';
3
- import { AdaptedEvent, EventTypes, Point } from '../interfaces';
4
- import {
5
- PointerTypeMapping,
6
- calculateViewScale,
7
- tryExtractStylusData,
8
- isPointerInBounds,
9
- } from '../utils';
10
- import { PointerType } from '../../PointerType';
11
-
12
- const POINTER_CAPTURE_EXCLUDE_LIST = new Set<string>(['SELECT', 'INPUT']);
13
-
14
- export default class PointerEventManager extends EventManager<HTMLElement> {
15
- private trackedPointers = new Set<number>();
16
- private readonly mouseButtonsMapper = new Map<number, MouseButton>();
17
- private lastPosition: Point;
18
-
19
- constructor(view: HTMLElement) {
20
- super(view);
21
-
22
- this.mouseButtonsMapper.set(0, MouseButton.LEFT);
23
- this.mouseButtonsMapper.set(1, MouseButton.MIDDLE);
24
- this.mouseButtonsMapper.set(2, MouseButton.RIGHT);
25
- this.mouseButtonsMapper.set(3, MouseButton.BUTTON_4);
26
- this.mouseButtonsMapper.set(4, MouseButton.BUTTON_5);
27
-
28
- this.lastPosition = {
29
- x: -Infinity,
30
- y: -Infinity,
31
- };
32
- }
33
-
34
- private pointerDownCallback = (event: PointerEvent) => {
35
- if (!isPointerInBounds(this.view, { x: event.clientX, y: event.clientY })) {
36
- return;
37
- }
38
-
39
- const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.DOWN);
40
- const target = event.target as HTMLElement;
41
-
42
- if (!POINTER_CAPTURE_EXCLUDE_LIST.has(target.tagName)) {
43
- target.setPointerCapture(adaptedEvent.pointerId);
44
- }
45
-
46
- this.markAsInBounds(adaptedEvent.pointerId);
47
- this.trackedPointers.add(adaptedEvent.pointerId);
48
-
49
- if (++this.activePointersCounter > 1) {
50
- adaptedEvent.eventType = EventTypes.ADDITIONAL_POINTER_DOWN;
51
- this.onPointerAdd(adaptedEvent);
52
- } else {
53
- this.onPointerDown(adaptedEvent);
54
- }
55
- };
56
-
57
- private pointerUpCallback = (event: PointerEvent) => {
58
- // When we call reset on gesture handlers, it also resets their event managers
59
- // In some handlers (like RotationGestureHandler) reset is called before all pointers leave view
60
- // This means, that activePointersCounter will be set to 0, while there are still remaining pointers on view
61
- // Removing them will end in activePointersCounter going below 0, therefore handlers won't behave properly
62
- if (this.activePointersCounter === 0) {
63
- return;
64
- }
65
-
66
- const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.UP);
67
- const target = event.target as HTMLElement;
68
-
69
- if (!POINTER_CAPTURE_EXCLUDE_LIST.has(target.tagName)) {
70
- target.releasePointerCapture(adaptedEvent.pointerId);
71
- }
72
-
73
- this.markAsOutOfBounds(adaptedEvent.pointerId);
74
- this.trackedPointers.delete(adaptedEvent.pointerId);
75
-
76
- if (--this.activePointersCounter > 0) {
77
- adaptedEvent.eventType = EventTypes.ADDITIONAL_POINTER_UP;
78
- this.onPointerRemove(adaptedEvent);
79
- } else {
80
- this.onPointerUp(adaptedEvent);
81
- }
82
- };
83
-
84
- private pointerMoveCallback = (event: PointerEvent) => {
85
- const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.MOVE);
86
- const target = event.target as HTMLElement;
87
-
88
- // You may be wondering why are we setting pointer capture here, when we
89
- // already set it in `pointerdown` handler. Well, that's a great question,
90
- // for which I don't have an answer. Specification (https://www.w3.org/TR/pointerevents2/#dom-element-setpointercapture)
91
- // says that the requirement for `setPointerCapture` to work is that pointer
92
- // must be in 'active buttons state`, otherwise it will fail silently, which
93
- // is lovely. Obviously, when `pointerdown` is fired, one of the buttons
94
- // (when using mouse) is pressed, but that doesn't mean that `setPointerCapture`
95
- // will succeed, for some reason. Since it fails silently, we don't actually know
96
- // if it worked or not (there's `gotpointercapture` event, but the complexity of
97
- // incorporating it here seems stupid), so we just call it again here, every time
98
- // pointer moves until it succeeds.
99
- // God, I do love web development.
100
- if (
101
- !target?.hasPointerCapture(event.pointerId) &&
102
- !POINTER_CAPTURE_EXCLUDE_LIST.has(target.tagName)
103
- ) {
104
- target.setPointerCapture(event.pointerId);
105
- }
106
-
107
- const inBounds: boolean = isPointerInBounds(this.view, {
108
- x: adaptedEvent.x,
109
- y: adaptedEvent.y,
110
- });
111
-
112
- const pointerIndex: number = this.pointersInBounds.indexOf(
113
- adaptedEvent.pointerId
114
- );
115
-
116
- if (inBounds) {
117
- if (pointerIndex < 0) {
118
- adaptedEvent.eventType = EventTypes.ENTER;
119
- this.onPointerEnter(adaptedEvent);
120
- this.markAsInBounds(adaptedEvent.pointerId);
121
- } else {
122
- this.onPointerMove(adaptedEvent);
123
- }
124
- } else {
125
- if (pointerIndex >= 0) {
126
- adaptedEvent.eventType = EventTypes.LEAVE;
127
- this.onPointerLeave(adaptedEvent);
128
- this.markAsOutOfBounds(adaptedEvent.pointerId);
129
- } else {
130
- this.onPointerOutOfBounds(adaptedEvent);
131
- }
132
- }
133
-
134
- this.lastPosition.x = event.x;
135
- this.lastPosition.y = event.y;
136
- };
137
-
138
- private pointerCancelCallback = (event: PointerEvent) => {
139
- const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.CANCEL);
140
-
141
- this.onPointerCancel(adaptedEvent);
142
- this.markAsOutOfBounds(adaptedEvent.pointerId);
143
- this.activePointersCounter = 0;
144
- this.trackedPointers.clear();
145
- };
146
-
147
- private pointerEnterCallback = (event: PointerEvent) => {
148
- const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.ENTER);
149
-
150
- this.onPointerMoveOver(adaptedEvent);
151
- };
152
-
153
- private pointerLeaveCallback = (event: PointerEvent) => {
154
- const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.LEAVE);
155
-
156
- this.onPointerMoveOut(adaptedEvent);
157
- };
158
-
159
- private lostPointerCaptureCallback = (event: PointerEvent) => {
160
- const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.CANCEL);
161
-
162
- if (this.trackedPointers.has(adaptedEvent.pointerId)) {
163
- // In some cases the `pointerup` event is not fired, but `lostpointercapture` is.
164
- // Here we simulate the `pointercancel` event to make sure the gesture handler stops tracking it.
165
- this.onPointerCancel(adaptedEvent);
166
-
167
- this.activePointersCounter = 0;
168
- this.trackedPointers.clear();
169
- }
170
- };
171
-
172
- public registerListeners(): void {
173
- this.view.addEventListener('pointerdown', this.pointerDownCallback);
174
- this.view.addEventListener('pointerup', this.pointerUpCallback);
175
- this.view.addEventListener('pointermove', this.pointerMoveCallback);
176
- this.view.addEventListener('pointercancel', this.pointerCancelCallback);
177
-
178
- // onPointerEnter and onPointerLeave are triggered by a custom logic responsible for
179
- // handling shouldCancelWhenOutside flag, and are unreliable unless the pointer is down.
180
- // We therefore use pointerenter and pointerleave events to handle the hover gesture,
181
- // mapping them to onPointerMoveOver and onPointerMoveOut respectively.
182
- this.view.addEventListener('pointerenter', this.pointerEnterCallback);
183
- this.view.addEventListener('pointerleave', this.pointerLeaveCallback);
184
- this.view.addEventListener(
185
- 'lostpointercapture',
186
- this.lostPointerCaptureCallback
187
- );
188
- }
189
-
190
- public unregisterListeners(): void {
191
- this.view.removeEventListener('pointerdown', this.pointerDownCallback);
192
- this.view.removeEventListener('pointerup', this.pointerUpCallback);
193
- this.view.removeEventListener('pointermove', this.pointerMoveCallback);
194
- this.view.removeEventListener('pointercancel', this.pointerCancelCallback);
195
- this.view.removeEventListener('pointerenter', this.pointerEnterCallback);
196
- this.view.removeEventListener('pointerleave', this.pointerLeaveCallback);
197
- this.view.removeEventListener(
198
- 'lostpointercapture',
199
- this.lostPointerCaptureCallback
200
- );
201
- }
202
-
203
- protected mapEvent(event: PointerEvent, eventType: EventTypes): AdaptedEvent {
204
- const rect = this.view.getBoundingClientRect();
205
- const { scaleX, scaleY } = calculateViewScale(this.view);
206
-
207
- return {
208
- x: event.clientX,
209
- y: event.clientY,
210
- offsetX: (event.clientX - rect.left) / scaleX,
211
- offsetY: (event.clientY - rect.top) / scaleY,
212
- pointerId: event.pointerId,
213
- eventType: eventType,
214
- pointerType:
215
- PointerTypeMapping.get(event.pointerType) ?? PointerType.OTHER,
216
- button: this.mouseButtonsMapper.get(event.button),
217
- time: event.timeStamp,
218
- stylusData: tryExtractStylusData(event),
219
- };
220
- }
221
-
222
- public resetManager(): void {
223
- super.resetManager();
224
- this.trackedPointers.clear();
225
- }
226
- }
@@ -1,228 +0,0 @@
1
- import { AdaptedEvent, Point } from '../interfaces';
2
- import VelocityTracker from './VelocityTracker';
3
-
4
- export interface TrackerElement {
5
- abosoluteCoords: Point;
6
- relativeCoords: Point;
7
- timestamp: number;
8
- velocityX: number;
9
- velocityY: number;
10
- }
11
-
12
- const MAX_POINTERS = 20;
13
-
14
- export default class PointerTracker {
15
- private velocityTracker = new VelocityTracker();
16
- private readonly _trackedPointers: Map<number, TrackerElement> = new Map<
17
- number,
18
- TrackerElement
19
- >();
20
-
21
- private touchEventsIds: Map<number, number> = new Map<number, number>();
22
-
23
- private lastMovedPointerId: number;
24
-
25
- private cachedAbsoluteAverages: Point = { x: 0, y: 0 };
26
- private cachedRelativeAverages: Point = { x: 0, y: 0 };
27
-
28
- public constructor() {
29
- this.lastMovedPointerId = NaN;
30
-
31
- for (let i = 0; i < MAX_POINTERS; ++i) {
32
- this.touchEventsIds.set(i, NaN);
33
- }
34
- }
35
-
36
- public addToTracker(event: AdaptedEvent): void {
37
- if (this.trackedPointers.has(event.pointerId)) {
38
- return;
39
- }
40
-
41
- this.lastMovedPointerId = event.pointerId;
42
-
43
- const newElement: TrackerElement = {
44
- abosoluteCoords: { x: event.x, y: event.y },
45
- relativeCoords: { x: event.offsetX, y: event.offsetY },
46
- timestamp: event.time,
47
- velocityX: 0,
48
- velocityY: 0,
49
- };
50
-
51
- this.trackedPointers.set(event.pointerId, newElement);
52
- this.mapTouchEventId(event.pointerId);
53
-
54
- this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();
55
- this.cachedRelativeAverages = this.getRelativeCoordsAverage();
56
- }
57
-
58
- public removeFromTracker(pointerId: number): void {
59
- this.trackedPointers.delete(pointerId);
60
- this.removeMappedTouchId(pointerId);
61
- }
62
-
63
- public track(event: AdaptedEvent): void {
64
- const pointerData = this.trackedPointers.get(event.pointerId);
65
-
66
- if (!pointerData) {
67
- return;
68
- }
69
-
70
- this.lastMovedPointerId = event.pointerId;
71
-
72
- this.velocityTracker.add(event);
73
- const [velocityX, velocityY] = this.velocityTracker.velocity;
74
-
75
- pointerData.velocityX = velocityX;
76
- pointerData.velocityY = velocityY;
77
-
78
- pointerData.abosoluteCoords = { x: event.x, y: event.y };
79
- pointerData.relativeCoords = { x: event.offsetX, y: event.offsetY };
80
-
81
- this.trackedPointers.set(event.pointerId, pointerData);
82
-
83
- this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();
84
- this.cachedRelativeAverages = this.getRelativeCoordsAverage();
85
- }
86
-
87
- // Mapping TouchEvents ID
88
- private mapTouchEventId(id: number): void {
89
- for (const [mappedId, touchId] of this.touchEventsIds) {
90
- if (isNaN(touchId)) {
91
- this.touchEventsIds.set(mappedId, id);
92
- break;
93
- }
94
- }
95
- }
96
-
97
- private removeMappedTouchId(id: number): void {
98
- const mappedId: number = this.getMappedTouchEventId(id);
99
- if (!isNaN(mappedId)) {
100
- this.touchEventsIds.set(mappedId, NaN);
101
- }
102
- }
103
-
104
- public getMappedTouchEventId(touchEventId: number): number {
105
- for (const [key, value] of this.touchEventsIds.entries()) {
106
- if (value === touchEventId) {
107
- return key;
108
- }
109
- }
110
-
111
- return NaN;
112
- }
113
-
114
- public getVelocity(pointerId: number) {
115
- const pointerData = this.trackedPointers.get(pointerId);
116
-
117
- return pointerData
118
- ? {
119
- x: pointerData.velocityX,
120
- y: pointerData.velocityY,
121
- }
122
- : null;
123
- }
124
-
125
- public getLastAbsoluteCoords(pointerId?: number) {
126
- return this.trackedPointers.get(pointerId ?? this.lastMovedPointerId)
127
- ?.abosoluteCoords;
128
- }
129
-
130
- public getLastRelativeCoords(pointerId?: number) {
131
- return this.trackedPointers.get(pointerId ?? this.lastMovedPointerId)
132
- ?.relativeCoords;
133
- }
134
-
135
- // Some handlers use these methods to send average values in native event.
136
- // This may happen when pointers have already been removed from tracker (i.e. pointerup event).
137
- // In situation when NaN would be sent as a response, we return cached value.
138
- // That prevents handlers from crashing
139
-
140
- public getAbsoluteCoordsAverage() {
141
- const coordsSum = this.getAbsoluteCoordsSum();
142
-
143
- const avgX = coordsSum.x / this.trackedPointers.size;
144
- const avgY = coordsSum.y / this.trackedPointers.size;
145
-
146
- const averages = {
147
- x: isNaN(avgX) ? this.cachedAbsoluteAverages.x : avgX,
148
- y: isNaN(avgY) ? this.cachedAbsoluteAverages.y : avgY,
149
- };
150
-
151
- return averages;
152
- }
153
-
154
- public getRelativeCoordsAverage() {
155
- const coordsSum = this.getRelativeCoordsSum();
156
-
157
- const avgX = coordsSum.x / this.trackedPointers.size;
158
- const avgY = coordsSum.y / this.trackedPointers.size;
159
-
160
- const averages = {
161
- x: isNaN(avgX) ? this.cachedRelativeAverages.x : avgX,
162
- y: isNaN(avgY) ? this.cachedRelativeAverages.y : avgY,
163
- };
164
-
165
- return averages;
166
- }
167
-
168
- public getAbsoluteCoordsSum(ignoredPointer?: number) {
169
- const sum = { x: 0, y: 0 };
170
-
171
- this.trackedPointers.forEach((value, key) => {
172
- if (key !== ignoredPointer) {
173
- sum.x += value.abosoluteCoords.x;
174
- sum.y += value.abosoluteCoords.y;
175
- }
176
- });
177
-
178
- return sum;
179
- }
180
-
181
- public getRelativeCoordsSum(ignoredPointer?: number) {
182
- const sum = { x: 0, y: 0 };
183
-
184
- this.trackedPointers.forEach((value, key) => {
185
- if (key !== ignoredPointer) {
186
- sum.x += value.relativeCoords.x;
187
- sum.y += value.relativeCoords.y;
188
- }
189
- });
190
-
191
- return sum;
192
- }
193
-
194
- public resetTracker(): void {
195
- this.velocityTracker.reset();
196
- this.trackedPointers.clear();
197
- this.lastMovedPointerId = NaN;
198
-
199
- for (let i = 0; i < MAX_POINTERS; ++i) {
200
- this.touchEventsIds.set(i, NaN);
201
- }
202
- }
203
-
204
- public static shareCommonPointers(
205
- stPointers: number[],
206
- ndPointers: number[]
207
- ): boolean {
208
- return stPointers.some((pointerId) => ndPointers.includes(pointerId));
209
- }
210
-
211
- public get trackedPointersCount(): number {
212
- return this.trackedPointers.size;
213
- }
214
-
215
- public get trackedPointersIDs() {
216
- const keys: number[] = [];
217
-
218
- this.trackedPointers.forEach((_value, key) => {
219
- keys.push(key);
220
- });
221
-
222
- return keys;
223
- }
224
-
225
- public get trackedPointers() {
226
- return this._trackedPointers;
227
- }
228
- }
@@ -1,59 +0,0 @@
1
- import { DiagonalDirections, Directions } from '../../Directions';
2
- import { MINIMAL_RECOGNIZABLE_MAGNITUDE } from '../constants';
3
- import PointerTracker from './PointerTracker';
4
-
5
- export default class Vector {
6
- private readonly x;
7
- private readonly y;
8
- private readonly unitX;
9
- private readonly unitY;
10
- private readonly _magnitude;
11
-
12
- constructor(x: number, y: number) {
13
- this.x = x;
14
- this.y = y;
15
-
16
- this._magnitude = Math.hypot(this.x, this.y);
17
- const isMagnitudeSufficient =
18
- this._magnitude > MINIMAL_RECOGNIZABLE_MAGNITUDE;
19
-
20
- this.unitX = isMagnitudeSufficient ? this.x / this._magnitude : 0;
21
- this.unitY = isMagnitudeSufficient ? this.y / this._magnitude : 0;
22
- }
23
-
24
- static fromDirection(direction: Directions | DiagonalDirections): Vector {
25
- return DirectionToVectorMappings.get(direction) ?? new Vector(0, 0);
26
- }
27
-
28
- static fromVelocity(tracker: PointerTracker, pointerId: number) {
29
- const velocity = tracker.getVelocity(pointerId);
30
- return velocity ? new Vector(velocity.x, velocity.y) : null;
31
- }
32
-
33
- public get magnitude() {
34
- return this._magnitude;
35
- }
36
-
37
- computeSimilarity(vector: Vector) {
38
- return this.unitX * vector.unitX + this.unitY * vector.unitY;
39
- }
40
-
41
- isSimilar(vector: Vector, threshold: number) {
42
- return this.computeSimilarity(vector) > threshold;
43
- }
44
- }
45
-
46
- const DirectionToVectorMappings = new Map<
47
- Directions | DiagonalDirections,
48
- Vector
49
- >([
50
- [Directions.LEFT, new Vector(-1, 0)],
51
- [Directions.RIGHT, new Vector(1, 0)],
52
- [Directions.UP, new Vector(0, -1)],
53
- [Directions.DOWN, new Vector(0, 1)],
54
-
55
- [DiagonalDirections.UP_RIGHT, new Vector(1, -1)],
56
- [DiagonalDirections.DOWN_RIGHT, new Vector(1, 1)],
57
- [DiagonalDirections.UP_LEFT, new Vector(-1, -1)],
58
- [DiagonalDirections.DOWN_LEFT, new Vector(-1, 1)],
59
- ]);
@@ -1,98 +0,0 @@
1
- import { AdaptedEvent } from '../interfaces';
2
- import CircularBuffer from './CircularBuffer';
3
- import LeastSquareSolver from './LeastSquareSolver';
4
-
5
- export default class VelocityTracker {
6
- private assumePointerMoveStoppedMilliseconds = 40;
7
- private historySize = 20;
8
- private horizonMilliseconds = 300;
9
- private minSampleSize = 3;
10
-
11
- private samples: CircularBuffer<AdaptedEvent>;
12
-
13
- constructor() {
14
- this.samples = new CircularBuffer<AdaptedEvent>(this.historySize);
15
- }
16
-
17
- public add(event: AdaptedEvent): void {
18
- this.samples.push(event);
19
- }
20
-
21
- // Returns an estimate of the velocity of the object being tracked by the
22
- // tracker given the current information available to the tracker.
23
- //
24
- // Information is added using [addPosition].
25
- //
26
- // Returns null if there is no data on which to base an estimate.
27
- private getVelocityEstimate(): [number, number] | null {
28
- const x = [];
29
- const y = [];
30
- const w = [];
31
- const time = [];
32
-
33
- let sampleCount = 0;
34
- let index = this.samples.size - 1;
35
- const newestSample = this.samples.get(index);
36
- if (!newestSample) {
37
- return null;
38
- }
39
-
40
- let previousSample = newestSample;
41
-
42
- // Starting with the most recent PointAtTime sample, iterate backwards while
43
- // the samples represent continuous motion.
44
- while (sampleCount < this.samples.size) {
45
- const sample = this.samples.get(index);
46
-
47
- const age = newestSample.time - sample.time;
48
- const delta = Math.abs(sample.time - previousSample.time);
49
- previousSample = sample;
50
-
51
- if (
52
- age > this.horizonMilliseconds ||
53
- delta > this.assumePointerMoveStoppedMilliseconds
54
- ) {
55
- break;
56
- }
57
-
58
- x.push(sample.x);
59
- y.push(sample.y);
60
- w.push(1);
61
- time.push(-age);
62
-
63
- sampleCount++;
64
- index--;
65
- }
66
-
67
- if (sampleCount >= this.minSampleSize) {
68
- const xSolver = new LeastSquareSolver(time, x, w);
69
- const xFit = xSolver.solve(2);
70
-
71
- if (xFit !== null) {
72
- const ySolver = new LeastSquareSolver(time, y, w);
73
- const yFit = ySolver.solve(2);
74
-
75
- if (yFit !== null) {
76
- const xVelocity = xFit.coefficients[1] * 1000;
77
- const yVelocity = yFit.coefficients[1] * 1000;
78
-
79
- return [xVelocity, yVelocity];
80
- }
81
- }
82
- }
83
-
84
- return null;
85
- }
86
-
87
- public get velocity(): [number, number] {
88
- const estimate = this.getVelocityEstimate();
89
- if (estimate !== null) {
90
- return estimate;
91
- }
92
- return [0, 0];
93
- }
94
-
95
- public reset(): void {
96
- this.samples.clear();
97
- }
98
- }
@@ -1,48 +0,0 @@
1
- import EventManager from './EventManager';
2
- import { AdaptedEvent, EventTypes } from '../interfaces';
3
- import { PointerType } from '../../PointerType';
4
-
5
- export default class WheelEventManager extends EventManager<HTMLElement> {
6
- private wheelDelta = { x: 0, y: 0 };
7
-
8
- private resetDelta = (_event: PointerEvent) => {
9
- this.wheelDelta = { x: 0, y: 0 };
10
- };
11
-
12
- private wheelCallback = (event: WheelEvent) => {
13
- this.wheelDelta.x += event.deltaX;
14
- this.wheelDelta.y += event.deltaY;
15
-
16
- const adaptedEvent = this.mapEvent(event);
17
- this.onWheel(adaptedEvent);
18
- };
19
-
20
- public registerListeners(): void {
21
- this.view.addEventListener('pointermove', this.resetDelta);
22
- this.view.addEventListener('wheel', this.wheelCallback);
23
- }
24
-
25
- public unregisterListeners(): void {
26
- this.view.removeEventListener('pointermove', this.resetDelta);
27
- this.view.removeEventListener('wheel', this.wheelCallback);
28
- }
29
-
30
- protected mapEvent(event: WheelEvent): AdaptedEvent {
31
- return {
32
- x: event.clientX + this.wheelDelta.x,
33
- y: event.clientY + this.wheelDelta.y,
34
- offsetX: event.offsetX - event.deltaX,
35
- offsetY: event.offsetY - event.deltaY,
36
- pointerId: -1,
37
- eventType: EventTypes.MOVE,
38
- pointerType: PointerType.OTHER,
39
- time: event.timeStamp,
40
- // @ts-ignore It does exist, but it's deprecated
41
- wheelDeltaY: event.wheelDeltaY,
42
- };
43
- }
44
-
45
- public resetManager(): void {
46
- super.resetManager();
47
- }
48
- }