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

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