react-native-gesture-handler 2.23.0 → 2.23.1

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 (601) hide show
  1. package/RNGestureHandler.podspec +8 -0
  2. package/apple/RNGestureHandlerButton.mm +12 -2
  3. package/lib/commonjs/ActionType.js +3 -3
  4. package/lib/commonjs/ActionType.js.map +1 -1
  5. package/lib/commonjs/Directions.js +8 -11
  6. package/lib/commonjs/Directions.js.map +1 -1
  7. package/lib/commonjs/EnableNewWebImplementation.js +10 -2
  8. package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
  9. package/lib/commonjs/GestureHandlerRootViewContext.js +7 -2
  10. package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
  11. package/lib/commonjs/PlatformConstants.js +6 -1
  12. package/lib/commonjs/PlatformConstants.js.map +1 -1
  13. package/lib/commonjs/PlatformConstants.web.js +3 -1
  14. package/lib/commonjs/PlatformConstants.web.js.map +1 -1
  15. package/lib/commonjs/PointerType.js +5 -3
  16. package/lib/commonjs/PointerType.js.map +1 -1
  17. package/lib/commonjs/RNGestureHandlerModule.js +6 -2
  18. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
  19. package/lib/commonjs/RNGestureHandlerModule.web.js +37 -11
  20. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  21. package/lib/commonjs/RNGestureHandlerModule.windows.js +32 -22
  22. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
  23. package/lib/commonjs/RNRenderer.js +3 -1
  24. package/lib/commonjs/RNRenderer.js.map +1 -1
  25. package/lib/commonjs/RNRenderer.web.js +2 -1
  26. package/lib/commonjs/RNRenderer.web.js.map +1 -1
  27. package/lib/commonjs/State.js +3 -4
  28. package/lib/commonjs/State.js.map +1 -1
  29. package/lib/commonjs/TouchEventType.js +3 -3
  30. package/lib/commonjs/TouchEventType.js.map +1 -1
  31. package/lib/commonjs/components/DrawerLayout.js +115 -90
  32. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  33. package/lib/commonjs/components/GestureButtons.js +81 -28
  34. package/lib/commonjs/components/GestureButtons.js.map +1 -1
  35. package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
  36. package/lib/commonjs/components/GestureComponents.js +37 -26
  37. package/lib/commonjs/components/GestureComponents.js.map +1 -1
  38. package/lib/commonjs/components/GestureComponents.web.js +27 -13
  39. package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
  40. package/lib/commonjs/components/GestureHandlerButton.js +6 -2
  41. package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
  42. package/lib/commonjs/components/GestureHandlerButton.web.js +12 -4
  43. package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
  44. package/lib/commonjs/components/GestureHandlerRootView.android.js +15 -4
  45. package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
  46. package/lib/commonjs/components/GestureHandlerRootView.js +14 -4
  47. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
  48. package/lib/commonjs/components/GestureHandlerRootView.web.js +13 -4
  49. package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
  50. package/lib/commonjs/components/Pressable/Pressable.js +77 -29
  51. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
  52. package/lib/commonjs/components/Pressable/PressableProps.js.map +1 -1
  53. package/lib/commonjs/components/Pressable/index.js +3 -1
  54. package/lib/commonjs/components/Pressable/index.js.map +1 -1
  55. package/lib/commonjs/components/Pressable/utils.js +20 -5
  56. package/lib/commonjs/components/Pressable/utils.js.map +1 -1
  57. package/lib/commonjs/components/ReanimatedDrawerLayout.js +76 -38
  58. package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
  59. package/lib/commonjs/components/ReanimatedSwipeable.js +45 -18
  60. package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
  61. package/lib/commonjs/components/Swipeable.js +75 -34
  62. package/lib/commonjs/components/Swipeable.js.map +1 -1
  63. package/lib/commonjs/components/Text.js +23 -9
  64. package/lib/commonjs/components/Text.js.map +1 -1
  65. package/lib/commonjs/components/gestureHandlerRootHOC.js +14 -5
  66. package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
  67. package/lib/commonjs/components/touchables/GenericTouchable.js +76 -40
  68. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
  69. package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +1 -1
  70. package/lib/commonjs/components/touchables/TouchableHighlight.js +34 -19
  71. package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
  72. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +32 -16
  73. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  74. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -2
  75. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
  76. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  77. package/lib/commonjs/components/touchables/TouchableOpacity.js +25 -16
  78. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  79. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +13 -9
  80. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  81. package/lib/commonjs/components/touchables/index.js +12 -7
  82. package/lib/commonjs/components/touchables/index.js.map +1 -1
  83. package/lib/commonjs/findNodeHandle.js +4 -1
  84. package/lib/commonjs/findNodeHandle.js.map +1 -1
  85. package/lib/commonjs/findNodeHandle.web.js +14 -5
  86. package/lib/commonjs/findNodeHandle.web.js.map +1 -1
  87. package/lib/commonjs/getReactNativeVersion.js +6 -1
  88. package/lib/commonjs/getReactNativeVersion.js.map +1 -1
  89. package/lib/commonjs/getReactNativeVersion.web.js +1 -0
  90. package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
  91. package/lib/commonjs/getShadowNodeFromRef.js +14 -13
  92. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  93. package/lib/commonjs/getShadowNodeFromRef.web.js +1 -0
  94. package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
  95. package/lib/commonjs/ghQueueMicrotask.js +2 -1
  96. package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
  97. package/lib/commonjs/handlers/FlingGestureHandler.js +11 -9
  98. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
  99. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +22 -15
  100. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
  101. package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
  102. package/lib/commonjs/handlers/LongPressGestureHandler.js +11 -9
  103. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
  104. package/lib/commonjs/handlers/NativeViewGestureHandler.js +13 -10
  105. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
  106. package/lib/commonjs/handlers/PanGestureHandler.js +32 -13
  107. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
  108. package/lib/commonjs/handlers/PinchGestureHandler.js +9 -7
  109. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
  110. package/lib/commonjs/handlers/PressabilityDebugView.js +1 -0
  111. package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
  112. package/lib/commonjs/handlers/PressabilityDebugView.web.js +1 -0
  113. package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
  114. package/lib/commonjs/handlers/RotationGestureHandler.js +9 -7
  115. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
  116. package/lib/commonjs/handlers/TapGestureHandler.js +11 -9
  117. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
  118. package/lib/commonjs/handlers/createHandler.js +134 -50
  119. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  120. package/lib/commonjs/handlers/createNativeWrapper.js +27 -17
  121. package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
  122. package/lib/commonjs/handlers/customDirectEventTypes.js +1 -0
  123. package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
  124. package/lib/commonjs/handlers/customDirectEventTypes.web.js +2 -1
  125. package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
  126. package/lib/commonjs/handlers/gestureHandlerCommon.js +10 -9
  127. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  128. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -1
  129. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +14 -5
  130. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  131. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +20 -10
  132. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  133. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +29 -9
  134. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  135. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +10 -1
  136. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  137. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +36 -11
  138. package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
  139. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +3 -0
  140. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  141. package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +1 -1
  142. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +24 -12
  143. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  144. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +48 -12
  145. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  146. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +13 -3
  147. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  148. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +9 -2
  149. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  150. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +14 -6
  151. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  152. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +55 -27
  153. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
  154. package/lib/commonjs/handlers/gestures/eventReceiver.js +46 -14
  155. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
  156. package/lib/commonjs/handlers/gestures/flingGesture.js +12 -5
  157. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
  158. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +19 -8
  159. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
  160. package/lib/commonjs/handlers/gestures/gesture.js +84 -44
  161. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  162. package/lib/commonjs/handlers/gestures/gestureComposition.js +31 -17
  163. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
  164. package/lib/commonjs/handlers/gestures/gestureObjects.js +27 -1
  165. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
  166. package/lib/commonjs/handlers/gestures/gestureStateManager.js +9 -3
  167. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
  168. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +7 -2
  169. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
  170. package/lib/commonjs/handlers/gestures/hoverGesture.js +25 -11
  171. package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
  172. package/lib/commonjs/handlers/gestures/longPressGesture.js +14 -6
  173. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
  174. package/lib/commonjs/handlers/gestures/manualGesture.js +6 -0
  175. package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
  176. package/lib/commonjs/handlers/gestures/nativeGesture.js +12 -5
  177. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
  178. package/lib/commonjs/handlers/gestures/panGesture.js +43 -18
  179. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
  180. package/lib/commonjs/handlers/gestures/pinchGesture.js +9 -2
  181. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
  182. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +8 -1
  183. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
  184. package/lib/commonjs/handlers/gestures/rotationGesture.js +9 -2
  185. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
  186. package/lib/commonjs/handlers/gestures/tapGesture.js +22 -10
  187. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
  188. package/lib/commonjs/handlers/getNextHandlerTag.js +1 -0
  189. package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
  190. package/lib/commonjs/handlers/handlersRegistry.js +21 -6
  191. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
  192. package/lib/commonjs/handlers/utils.js +26 -6
  193. package/lib/commonjs/handlers/utils.js.map +1 -1
  194. package/lib/commonjs/index.js +104 -75
  195. package/lib/commonjs/index.js.map +1 -1
  196. package/lib/commonjs/init.js +11 -4
  197. package/lib/commonjs/init.js.map +1 -1
  198. package/lib/commonjs/jestUtils/index.js +5 -4
  199. package/lib/commonjs/jestUtils/index.js.map +1 -1
  200. package/lib/commonjs/jestUtils/jestUtils.js +83 -19
  201. package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
  202. package/lib/commonjs/mocks.js +15 -5
  203. package/lib/commonjs/mocks.js.map +1 -1
  204. package/lib/commonjs/mountRegistry.js +12 -3
  205. package/lib/commonjs/mountRegistry.js.map +1 -1
  206. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +5 -1
  207. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
  208. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +7 -2
  209. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  210. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +7 -2
  211. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  212. package/lib/commonjs/typeUtils.js.map +1 -1
  213. package/lib/commonjs/utils.js +28 -13
  214. package/lib/commonjs/utils.js.map +1 -1
  215. package/lib/commonjs/web/Gestures.js +23 -5
  216. package/lib/commonjs/web/Gestures.js.map +1 -1
  217. package/lib/commonjs/web/constants.js +4 -2
  218. package/lib/commonjs/web/constants.js.map +1 -1
  219. package/lib/commonjs/web/detectors/RotationGestureDetector.js +41 -5
  220. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  221. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +42 -13
  222. package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
  223. package/lib/commonjs/web/handlers/FlingGestureHandler.js +49 -6
  224. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  225. package/lib/commonjs/web/handlers/GestureHandler.js +195 -62
  226. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  227. package/lib/commonjs/web/handlers/HoverGestureHandler.js +19 -6
  228. package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
  229. package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -1
  230. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +47 -6
  231. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
  232. package/lib/commonjs/web/handlers/ManualGestureHandler.js +11 -1
  233. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
  234. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +49 -8
  235. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  236. package/lib/commonjs/web/handlers/PanGestureHandler.js +123 -8
  237. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  238. package/lib/commonjs/web/handlers/PinchGestureHandler.js +41 -4
  239. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
  240. package/lib/commonjs/web/handlers/RotationGestureHandler.js +42 -4
  241. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
  242. package/lib/commonjs/web/handlers/TapGestureHandler.js +67 -6
  243. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  244. package/lib/commonjs/web/interfaces.js +17 -9
  245. package/lib/commonjs/web/interfaces.js.map +1 -1
  246. package/lib/commonjs/web/tools/CircularBuffer.js +15 -3
  247. package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
  248. package/lib/commonjs/web/tools/EventManager.js +41 -7
  249. package/lib/commonjs/web/tools/EventManager.js.map +1 -1
  250. package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -1
  251. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +78 -11
  252. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  253. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +48 -8
  254. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  255. package/lib/commonjs/web/tools/InteractionManager.js +22 -5
  256. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  257. package/lib/commonjs/web/tools/KeyboardEventManager.js +26 -4
  258. package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
  259. package/lib/commonjs/web/tools/LeastSquareSolver.js +67 -30
  260. package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
  261. package/lib/commonjs/web/tools/NodeManager.js +14 -7
  262. package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
  263. package/lib/commonjs/web/tools/PointerEventManager.js +45 -10
  264. package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
  265. package/lib/commonjs/web/tools/PointerTracker.js +45 -9
  266. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
  267. package/lib/commonjs/web/tools/Vector.js +18 -3
  268. package/lib/commonjs/web/tools/Vector.js.map +1 -1
  269. package/lib/commonjs/web/tools/VelocityTracker.js +31 -9
  270. package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
  271. package/lib/commonjs/web/tools/WheelEventManager.js +17 -4
  272. package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
  273. package/lib/commonjs/web/utils.js +55 -26
  274. package/lib/commonjs/web/utils.js.map +1 -1
  275. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +19 -7
  276. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
  277. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +13 -3
  278. package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
  279. package/lib/commonjs/web_hammer/Errors.js +3 -0
  280. package/lib/commonjs/web_hammer/Errors.js.map +1 -1
  281. package/lib/commonjs/web_hammer/FlingGestureHandler.js +44 -13
  282. package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
  283. package/lib/commonjs/web_hammer/GestureHandler.js +142 -55
  284. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
  285. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +11 -2
  286. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  287. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +19 -5
  288. package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
  289. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +24 -16
  290. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
  291. package/lib/commonjs/web_hammer/NodeManager.js +16 -9
  292. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
  293. package/lib/commonjs/web_hammer/PanGestureHandler.js +49 -8
  294. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
  295. package/lib/commonjs/web_hammer/PinchGestureHandler.js +11 -2
  296. package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
  297. package/lib/commonjs/web_hammer/PressGestureHandler.js +43 -15
  298. package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
  299. package/lib/commonjs/web_hammer/RotationGestureHandler.js +13 -2
  300. package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
  301. package/lib/commonjs/web_hammer/TapGestureHandler.js +52 -33
  302. package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
  303. package/lib/commonjs/web_hammer/constants.js +26 -13
  304. package/lib/commonjs/web_hammer/constants.js.map +1 -1
  305. package/lib/commonjs/web_hammer/utils.js +14 -4
  306. package/lib/commonjs/web_hammer/utils.js.map +1 -1
  307. package/lib/module/ActionType.js +1 -3
  308. package/lib/module/ActionType.js.map +1 -1
  309. package/lib/module/Directions.js +3 -9
  310. package/lib/module/Directions.js.map +1 -1
  311. package/lib/module/EnableNewWebImplementation.js +5 -2
  312. package/lib/module/EnableNewWebImplementation.js.map +1 -1
  313. package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
  314. package/lib/module/PlatformConstants.js +1 -0
  315. package/lib/module/PlatformConstants.js.map +1 -1
  316. package/lib/module/PlatformConstants.web.js +1 -0
  317. package/lib/module/PlatformConstants.web.js.map +1 -1
  318. package/lib/module/PointerType.js +4 -3
  319. package/lib/module/PointerType.js.map +1 -1
  320. package/lib/module/RNGestureHandlerModule.js +0 -1
  321. package/lib/module/RNGestureHandlerModule.js.map +1 -1
  322. package/lib/module/RNGestureHandlerModule.web.js +20 -10
  323. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  324. package/lib/module/RNGestureHandlerModule.windows.js +17 -18
  325. package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
  326. package/lib/module/RNRenderer.js.map +1 -1
  327. package/lib/module/RNRenderer.web.js.map +1 -1
  328. package/lib/module/State.js +1 -4
  329. package/lib/module/State.js.map +1 -1
  330. package/lib/module/TouchEventType.js +1 -3
  331. package/lib/module/TouchEventType.js.map +1 -1
  332. package/lib/module/components/DrawerLayout.js +99 -80
  333. package/lib/module/components/DrawerLayout.js.map +1 -1
  334. package/lib/module/components/GestureButtons.js +55 -19
  335. package/lib/module/components/GestureButtons.js.map +1 -1
  336. package/lib/module/components/GestureButtonsProps.js.map +1 -1
  337. package/lib/module/components/GestureComponents.js +12 -17
  338. package/lib/module/components/GestureComponents.js.map +1 -1
  339. package/lib/module/components/GestureComponents.web.js +4 -4
  340. package/lib/module/components/GestureComponents.web.js.map +1 -1
  341. package/lib/module/components/GestureHandlerButton.js.map +1 -1
  342. package/lib/module/components/GestureHandlerButton.web.js +2 -1
  343. package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
  344. package/lib/module/components/GestureHandlerRootView.android.js +2 -1
  345. package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
  346. package/lib/module/components/GestureHandlerRootView.js +2 -1
  347. package/lib/module/components/GestureHandlerRootView.js.map +1 -1
  348. package/lib/module/components/GestureHandlerRootView.web.js +2 -1
  349. package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
  350. package/lib/module/components/Pressable/Pressable.js +59 -26
  351. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  352. package/lib/module/components/Pressable/PressableProps.js.map +1 -1
  353. package/lib/module/components/Pressable/index.js.map +1 -1
  354. package/lib/module/components/Pressable/utils.js +14 -4
  355. package/lib/module/components/Pressable/utils.js.map +1 -1
  356. package/lib/module/components/ReanimatedDrawerLayout.js +56 -34
  357. package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
  358. package/lib/module/components/ReanimatedSwipeable.js +30 -14
  359. package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
  360. package/lib/module/components/Swipeable.js +59 -28
  361. package/lib/module/components/Swipeable.js.map +1 -1
  362. package/lib/module/components/Text.js +10 -6
  363. package/lib/module/components/Text.js.map +1 -1
  364. package/lib/module/components/gestureHandlerRootHOC.js +2 -2
  365. package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
  366. package/lib/module/components/touchables/GenericTouchable.js +63 -34
  367. package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
  368. package/lib/module/components/touchables/GenericTouchableProps.js.map +1 -1
  369. package/lib/module/components/touchables/TouchableHighlight.js +24 -15
  370. package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
  371. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +20 -10
  372. package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  373. package/lib/module/components/touchables/TouchableNativeFeedback.js +2 -2
  374. package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
  375. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  376. package/lib/module/components/touchables/TouchableOpacity.js +16 -10
  377. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  378. package/lib/module/components/touchables/TouchableWithoutFeedback.js +3 -6
  379. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  380. package/lib/module/components/touchables/index.js.map +1 -1
  381. package/lib/module/findNodeHandle.js.map +1 -1
  382. package/lib/module/findNodeHandle.web.js +11 -5
  383. package/lib/module/findNodeHandle.web.js.map +1 -1
  384. package/lib/module/getReactNativeVersion.js.map +1 -1
  385. package/lib/module/getReactNativeVersion.web.js.map +1 -1
  386. package/lib/module/getShadowNodeFromRef.js +13 -13
  387. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  388. package/lib/module/getShadowNodeFromRef.web.js.map +1 -1
  389. package/lib/module/ghQueueMicrotask.js.map +1 -1
  390. package/lib/module/handlers/FlingGestureHandler.js +0 -6
  391. package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
  392. package/lib/module/handlers/ForceTouchGestureHandler.js +8 -12
  393. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
  394. package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
  395. package/lib/module/handlers/LongPressGestureHandler.js +0 -6
  396. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
  397. package/lib/module/handlers/NativeViewGestureHandler.js +0 -6
  398. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
  399. package/lib/module/handlers/PanGestureHandler.js +19 -8
  400. package/lib/module/handlers/PanGestureHandler.js.map +1 -1
  401. package/lib/module/handlers/PinchGestureHandler.js +0 -2
  402. package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
  403. package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
  404. package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -1
  405. package/lib/module/handlers/RotationGestureHandler.js +0 -2
  406. package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
  407. package/lib/module/handlers/TapGestureHandler.js +0 -6
  408. package/lib/module/handlers/TapGestureHandler.js.map +1 -1
  409. package/lib/module/handlers/createHandler.js +106 -47
  410. package/lib/module/handlers/createHandler.js.map +1 -1
  411. package/lib/module/handlers/createNativeWrapper.js +17 -12
  412. package/lib/module/handlers/createNativeWrapper.js.map +1 -1
  413. package/lib/module/handlers/customDirectEventTypes.js.map +1 -1
  414. package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -1
  415. package/lib/module/handlers/gestureHandlerCommon.js +4 -9
  416. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  417. package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -1
  418. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +4 -3
  419. package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  420. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +6 -5
  421. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  422. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +16 -8
  423. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  424. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +1 -0
  425. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  426. package/lib/module/handlers/gestures/GestureDetector/index.js +13 -7
  427. package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
  428. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +2 -0
  429. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  430. package/lib/module/handlers/gestures/GestureDetector/types.js.map +1 -1
  431. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +14 -11
  432. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  433. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +39 -12
  434. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  435. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +5 -5
  436. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  437. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +6 -2
  438. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  439. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -5
  440. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  441. package/lib/module/handlers/gestures/GestureDetector/utils.js +28 -23
  442. package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
  443. package/lib/module/handlers/gestures/eventReceiver.js +38 -14
  444. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
  445. package/lib/module/handlers/gestures/flingGesture.js +9 -5
  446. package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
  447. package/lib/module/handlers/gestures/forceTouchGesture.js +17 -8
  448. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
  449. package/lib/module/handlers/gestures/gesture.js +73 -44
  450. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  451. package/lib/module/handlers/gestures/gestureComposition.js +24 -16
  452. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
  453. package/lib/module/handlers/gestures/gestureObjects.js +14 -1
  454. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
  455. package/lib/module/handlers/gestures/gestureStateManager.js +4 -3
  456. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
  457. package/lib/module/handlers/gestures/gestureStateManager.web.js +1 -0
  458. package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
  459. package/lib/module/handlers/gestures/hoverGesture.js +18 -9
  460. package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
  461. package/lib/module/handlers/gestures/longPressGesture.js +11 -6
  462. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
  463. package/lib/module/handlers/gestures/manualGesture.js +4 -0
  464. package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
  465. package/lib/module/handlers/gestures/nativeGesture.js +9 -5
  466. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
  467. package/lib/module/handlers/gestures/panGesture.js +41 -18
  468. package/lib/module/handlers/gestures/panGesture.js.map +1 -1
  469. package/lib/module/handlers/gestures/pinchGesture.js +7 -2
  470. package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
  471. package/lib/module/handlers/gestures/reanimatedWrapper.js +5 -0
  472. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
  473. package/lib/module/handlers/gestures/rotationGesture.js +7 -2
  474. package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
  475. package/lib/module/handlers/gestures/tapGesture.js +19 -10
  476. package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
  477. package/lib/module/handlers/getNextHandlerTag.js.map +1 -1
  478. package/lib/module/handlers/handlersRegistry.js +5 -0
  479. package/lib/module/handlers/handlersRegistry.js.map +1 -1
  480. package/lib/module/handlers/utils.js +13 -4
  481. package/lib/module/handlers/utils.js.map +1 -1
  482. package/lib/module/index.js.map +1 -1
  483. package/lib/module/init.js +2 -3
  484. package/lib/module/init.js.map +1 -1
  485. package/lib/module/jestUtils/index.js.map +1 -1
  486. package/lib/module/jestUtils/jestUtils.js +66 -20
  487. package/lib/module/jestUtils/jestUtils.js.map +1 -1
  488. package/lib/module/mocks.js +7 -3
  489. package/lib/module/mocks.js.map +1 -1
  490. package/lib/module/mountRegistry.js +10 -3
  491. package/lib/module/mountRegistry.js.map +1 -1
  492. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
  493. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  494. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  495. package/lib/module/typeUtils.js.map +1 -1
  496. package/lib/module/utils.js +11 -6
  497. package/lib/module/utils.js.map +1 -1
  498. package/lib/module/web/Gestures.js +1 -2
  499. package/lib/module/web/Gestures.js.map +1 -1
  500. package/lib/module/web/constants.js.map +1 -1
  501. package/lib/module/web/detectors/RotationGestureDetector.js +38 -5
  502. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  503. package/lib/module/web/detectors/ScaleGestureDetector.js +38 -13
  504. package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
  505. package/lib/module/web/handlers/FlingGestureHandler.js +39 -5
  506. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  507. package/lib/module/web/handlers/GestureHandler.js +181 -61
  508. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  509. package/lib/module/web/handlers/HoverGestureHandler.js +11 -5
  510. package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
  511. package/lib/module/web/handlers/IGestureHandler.js.map +1 -1
  512. package/lib/module/web/handlers/LongPressGestureHandler.js +40 -5
  513. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
  514. package/lib/module/web/handlers/ManualGestureHandler.js +6 -0
  515. package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
  516. package/lib/module/web/handlers/NativeViewGestureHandler.js +41 -7
  517. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  518. package/lib/module/web/handlers/PanGestureHandler.js +114 -7
  519. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  520. package/lib/module/web/handlers/PinchGestureHandler.js +33 -3
  521. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
  522. package/lib/module/web/handlers/RotationGestureHandler.js +34 -3
  523. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
  524. package/lib/module/web/handlers/TapGestureHandler.js +59 -5
  525. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  526. package/lib/module/web/interfaces.js +14 -9
  527. package/lib/module/web/interfaces.js.map +1 -1
  528. package/lib/module/web/tools/CircularBuffer.js +13 -3
  529. package/lib/module/web/tools/CircularBuffer.js.map +1 -1
  530. package/lib/module/web/tools/EventManager.js +39 -7
  531. package/lib/module/web/tools/EventManager.js.map +1 -1
  532. package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -1
  533. package/lib/module/web/tools/GestureHandlerOrchestrator.js +71 -10
  534. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  535. package/lib/module/web/tools/GestureHandlerWebDelegate.js +37 -7
  536. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  537. package/lib/module/web/tools/InteractionManager.js +19 -5
  538. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  539. package/lib/module/web/tools/KeyboardEventManager.js +19 -3
  540. package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
  541. package/lib/module/web/tools/LeastSquareSolver.js +65 -30
  542. package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
  543. package/lib/module/web/tools/NodeManager.js +12 -7
  544. package/lib/module/web/tools/NodeManager.js.map +1 -1
  545. package/lib/module/web/tools/PointerEventManager.js +35 -9
  546. package/lib/module/web/tools/PointerEventManager.js.map +1 -1
  547. package/lib/module/web/tools/PointerTracker.js +39 -8
  548. package/lib/module/web/tools/PointerTracker.js.map +1 -1
  549. package/lib/module/web/tools/Vector.js +14 -3
  550. package/lib/module/web/tools/Vector.js.map +1 -1
  551. package/lib/module/web/tools/VelocityTracker.js +25 -8
  552. package/lib/module/web/tools/VelocityTracker.js.map +1 -1
  553. package/lib/module/web/tools/WheelEventManager.js +10 -3
  554. package/lib/module/web/tools/WheelEventManager.js.map +1 -1
  555. package/lib/module/web/utils.js +40 -21
  556. package/lib/module/web/utils.js.map +1 -1
  557. package/lib/module/web_hammer/DiscreteGestureHandler.js +13 -4
  558. package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
  559. package/lib/module/web_hammer/DraggingGestureHandler.js +5 -0
  560. package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
  561. package/lib/module/web_hammer/Errors.js +1 -0
  562. package/lib/module/web_hammer/Errors.js.map +1 -1
  563. package/lib/module/web_hammer/FlingGestureHandler.js +35 -10
  564. package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
  565. package/lib/module/web_hammer/GestureHandler.js +130 -53
  566. package/lib/module/web_hammer/GestureHandler.js.map +1 -1
  567. package/lib/module/web_hammer/IndiscreteGestureHandler.js +6 -1
  568. package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  569. package/lib/module/web_hammer/LongPressGestureHandler.js +11 -2
  570. package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -1
  571. package/lib/module/web_hammer/NativeViewGestureHandler.js +12 -12
  572. package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -1
  573. package/lib/module/web_hammer/NodeManager.js +8 -6
  574. package/lib/module/web_hammer/NodeManager.js.map +1 -1
  575. package/lib/module/web_hammer/PanGestureHandler.js +40 -6
  576. package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
  577. package/lib/module/web_hammer/PinchGestureHandler.js +5 -0
  578. package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
  579. package/lib/module/web_hammer/PressGestureHandler.js +34 -13
  580. package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
  581. package/lib/module/web_hammer/RotationGestureHandler.js +6 -0
  582. package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
  583. package/lib/module/web_hammer/TapGestureHandler.js +45 -31
  584. package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
  585. package/lib/module/web_hammer/constants.js +1 -2
  586. package/lib/module/web_hammer/constants.js.map +1 -1
  587. package/lib/module/web_hammer/utils.js +2 -2
  588. package/lib/module/web_hammer/utils.js.map +1 -1
  589. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +2 -2
  590. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +1 -1
  591. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +1 -1
  592. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +1 -1
  593. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +2 -2
  594. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +2 -2
  595. package/package.json +1 -1
  596. package/src/components/touchables/TouchableHighlight.tsx +2 -2
  597. package/src/components/touchables/TouchableNativeFeedback.android.tsx +1 -1
  598. package/src/components/touchables/TouchableNativeFeedback.tsx +1 -1
  599. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +1 -1
  600. package/src/components/touchables/TouchableOpacity.tsx +2 -2
  601. package/src/components/touchables/TouchableWithoutFeedback.tsx +2 -2
@@ -4,35 +4,47 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _VelocityTracker = _interopRequireDefault(require("./VelocityTracker"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
10
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
11
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+
12
14
  const MAX_POINTERS = 20;
15
+
13
16
  class PointerTracker {
14
17
  constructor() {
15
18
  _defineProperty(this, "velocityTracker", new _VelocityTracker.default());
19
+
16
20
  _defineProperty(this, "_trackedPointers", new Map());
21
+
17
22
  _defineProperty(this, "touchEventsIds", new Map());
23
+
18
24
  _defineProperty(this, "lastMovedPointerId", void 0);
25
+
19
26
  _defineProperty(this, "cachedAbsoluteAverages", {
20
27
  x: 0,
21
28
  y: 0
22
29
  });
30
+
23
31
  _defineProperty(this, "cachedRelativeAverages", {
24
32
  x: 0,
25
33
  y: 0
26
34
  });
35
+
27
36
  this.lastMovedPointerId = NaN;
37
+
28
38
  for (let i = 0; i < MAX_POINTERS; ++i) {
29
39
  this.touchEventsIds.set(i, NaN);
30
40
  }
31
41
  }
42
+
32
43
  addToTracker(event) {
33
44
  if (this.trackedPointers.has(event.pointerId)) {
34
45
  return;
35
46
  }
47
+
36
48
  this.lastMovedPointerId = event.pointerId;
37
49
  const newElement = {
38
50
  abosoluteCoords: {
@@ -52,15 +64,19 @@ class PointerTracker {
52
64
  this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();
53
65
  this.cachedRelativeAverages = this.getRelativeCoordsAverage();
54
66
  }
67
+
55
68
  removeFromTracker(pointerId) {
56
69
  this.trackedPointers.delete(pointerId);
57
70
  this.removeMappedTouchId(pointerId);
58
71
  }
72
+
59
73
  track(event) {
60
74
  const element = this.trackedPointers.get(event.pointerId);
75
+
61
76
  if (!element) {
62
77
  return;
63
78
  }
79
+
64
80
  this.lastMovedPointerId = event.pointerId;
65
81
  this.velocityTracker.add(event);
66
82
  const [velocityX, velocityY] = this.velocityTracker.velocity;
@@ -77,9 +93,9 @@ class PointerTracker {
77
93
  this.trackedPointers.set(event.pointerId, element);
78
94
  this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();
79
95
  this.cachedRelativeAverages = this.getRelativeCoordsAverage();
80
- }
96
+ } // Mapping TouchEvents ID
97
+
81
98
 
82
- // Mapping TouchEvents ID
83
99
  mapTouchEventId(id) {
84
100
  for (const [mappedId, touchId] of this.touchEventsIds) {
85
101
  if (isNaN(touchId)) {
@@ -88,41 +104,50 @@ class PointerTracker {
88
104
  }
89
105
  }
90
106
  }
107
+
91
108
  removeMappedTouchId(id) {
92
109
  const mappedId = this.getMappedTouchEventId(id);
110
+
93
111
  if (!isNaN(mappedId)) {
94
112
  this.touchEventsIds.set(mappedId, NaN);
95
113
  }
96
114
  }
115
+
97
116
  getMappedTouchEventId(touchEventId) {
98
117
  for (const [key, value] of this.touchEventsIds.entries()) {
99
118
  if (value === touchEventId) {
100
119
  return key;
101
120
  }
102
121
  }
122
+
103
123
  return NaN;
104
124
  }
125
+
105
126
  getVelocity(pointerId) {
106
127
  var _this$trackedPointers, _this$trackedPointers2;
128
+
107
129
  return {
108
130
  x: (_this$trackedPointers = this.trackedPointers.get(pointerId)) === null || _this$trackedPointers === void 0 ? void 0 : _this$trackedPointers.velocityX,
109
131
  y: (_this$trackedPointers2 = this.trackedPointers.get(pointerId)) === null || _this$trackedPointers2 === void 0 ? void 0 : _this$trackedPointers2.velocityY
110
132
  };
111
133
  }
134
+
112
135
  getLastAbsoluteCoords(pointerId) {
113
136
  var _this$trackedPointers3;
137
+
114
138
  return (_this$trackedPointers3 = this.trackedPointers.get(pointerId !== null && pointerId !== void 0 ? pointerId : this.lastMovedPointerId)) === null || _this$trackedPointers3 === void 0 ? void 0 : _this$trackedPointers3.abosoluteCoords;
115
139
  }
140
+
116
141
  getLastRelativeCoords(pointerId) {
117
142
  var _this$trackedPointers4;
118
- return (_this$trackedPointers4 = this.trackedPointers.get(pointerId !== null && pointerId !== void 0 ? pointerId : this.lastMovedPointerId)) === null || _this$trackedPointers4 === void 0 ? void 0 : _this$trackedPointers4.relativeCoords;
119
- }
120
143
 
121
- // Some handlers use these methods to send average values in native event.
144
+ return (_this$trackedPointers4 = this.trackedPointers.get(pointerId !== null && pointerId !== void 0 ? pointerId : this.lastMovedPointerId)) === null || _this$trackedPointers4 === void 0 ? void 0 : _this$trackedPointers4.relativeCoords;
145
+ } // Some handlers use these methods to send average values in native event.
122
146
  // This may happen when pointers have already been removed from tracker (i.e. pointerup event).
123
147
  // In situation when NaN would be sent as a response, we return cached value.
124
148
  // That prevents handlers from crashing
125
149
 
150
+
126
151
  getAbsoluteCoordsAverage() {
127
152
  const coordsSum = this.getAbsoluteCoordsSum();
128
153
  const avgX = coordsSum.x / this.trackedPointers.size;
@@ -133,6 +158,7 @@ class PointerTracker {
133
158
  };
134
159
  return averages;
135
160
  }
161
+
136
162
  getRelativeCoordsAverage() {
137
163
  const coordsSum = this.getRelativeCoordsSum();
138
164
  const avgX = coordsSum.x / this.trackedPointers.size;
@@ -143,6 +169,7 @@ class PointerTracker {
143
169
  };
144
170
  return averages;
145
171
  }
172
+
146
173
  getAbsoluteCoordsSum(ignoredPointer) {
147
174
  const sum = {
148
175
  x: 0,
@@ -156,6 +183,7 @@ class PointerTracker {
156
183
  });
157
184
  return sum;
158
185
  }
186
+
159
187
  getRelativeCoordsSum(ignoredPointer) {
160
188
  const sum = {
161
189
  x: 0,
@@ -169,20 +197,25 @@ class PointerTracker {
169
197
  });
170
198
  return sum;
171
199
  }
200
+
172
201
  resetTracker() {
173
202
  this.velocityTracker.reset();
174
203
  this.trackedPointers.clear();
175
204
  this.lastMovedPointerId = NaN;
205
+
176
206
  for (let i = 0; i < MAX_POINTERS; ++i) {
177
207
  this.touchEventsIds.set(i, NaN);
178
208
  }
179
209
  }
210
+
180
211
  static shareCommonPointers(stPointers, ndPointers) {
181
212
  return stPointers.some(pointerId => ndPointers.includes(pointerId));
182
213
  }
214
+
183
215
  get trackedPointersCount() {
184
216
  return this.trackedPointers.size;
185
217
  }
218
+
186
219
  get trackedPointersIDs() {
187
220
  const keys = [];
188
221
  this.trackedPointers.forEach((_value, key) => {
@@ -190,9 +223,12 @@ class PointerTracker {
190
223
  });
191
224
  return keys;
192
225
  }
226
+
193
227
  get trackedPointers() {
194
228
  return this._trackedPointers;
195
229
  }
230
+
196
231
  }
232
+
197
233
  exports.default = PointerTracker;
198
234
  //# sourceMappingURL=PointerTracker.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_VelocityTracker","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","MAX_POINTERS","PointerTracker","constructor","VelocityTracker","Map","x","y","lastMovedPointerId","NaN","touchEventsIds","set","addToTracker","event","trackedPointers","has","pointerId","newElement","abosoluteCoords","relativeCoords","offsetX","offsetY","timestamp","time","velocityX","velocityY","mapTouchEventId","cachedAbsoluteAverages","getAbsoluteCoordsAverage","cachedRelativeAverages","getRelativeCoordsAverage","removeFromTracker","delete","removeMappedTouchId","track","element","get","velocityTracker","add","velocity","id","mappedId","touchId","isNaN","getMappedTouchEventId","touchEventId","key","entries","getVelocity","_this$trackedPointers","_this$trackedPointers2","getLastAbsoluteCoords","_this$trackedPointers3","getLastRelativeCoords","_this$trackedPointers4","coordsSum","getAbsoluteCoordsSum","avgX","size","avgY","averages","getRelativeCoordsSum","ignoredPointer","sum","forEach","resetTracker","reset","clear","shareCommonPointers","stPointers","ndPointers","some","includes","trackedPointersCount","trackedPointersIDs","keys","_value","push","_trackedPointers","exports"],"sources":["PointerTracker.ts"],"sourcesContent":["import { AdaptedEvent, Point } from '../interfaces';\nimport VelocityTracker from './VelocityTracker';\n\nexport interface TrackerElement {\n abosoluteCoords: Point;\n relativeCoords: Point;\n timestamp: number;\n velocityX: number;\n velocityY: number;\n}\n\nconst MAX_POINTERS = 20;\n\nexport default class PointerTracker {\n private velocityTracker = new VelocityTracker();\n private readonly _trackedPointers: Map<number, TrackerElement> = new Map<\n number,\n TrackerElement\n >();\n\n private touchEventsIds: Map<number, number> = new Map<number, number>();\n\n private lastMovedPointerId: number;\n\n private cachedAbsoluteAverages: Point = { x: 0, y: 0 };\n private cachedRelativeAverages: Point = { x: 0, y: 0 };\n\n public constructor() {\n this.lastMovedPointerId = NaN;\n\n for (let i = 0; i < MAX_POINTERS; ++i) {\n this.touchEventsIds.set(i, NaN);\n }\n }\n\n public addToTracker(event: AdaptedEvent): void {\n if (this.trackedPointers.has(event.pointerId)) {\n return;\n }\n\n this.lastMovedPointerId = event.pointerId;\n\n const newElement: TrackerElement = {\n abosoluteCoords: { x: event.x, y: event.y },\n relativeCoords: { x: event.offsetX, y: event.offsetY },\n timestamp: event.time,\n velocityX: 0,\n velocityY: 0,\n };\n\n this.trackedPointers.set(event.pointerId, newElement);\n this.mapTouchEventId(event.pointerId);\n\n this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();\n this.cachedRelativeAverages = this.getRelativeCoordsAverage();\n }\n\n public removeFromTracker(pointerId: number): void {\n this.trackedPointers.delete(pointerId);\n this.removeMappedTouchId(pointerId);\n }\n\n public track(event: AdaptedEvent): void {\n const element: TrackerElement = this.trackedPointers.get(\n event.pointerId\n ) as TrackerElement;\n\n if (!element) {\n return;\n }\n\n this.lastMovedPointerId = event.pointerId;\n\n this.velocityTracker.add(event);\n const [velocityX, velocityY] = this.velocityTracker.velocity;\n\n element.velocityX = velocityX;\n element.velocityY = velocityY;\n\n element.abosoluteCoords = { x: event.x, y: event.y };\n element.relativeCoords = { x: event.offsetX, y: event.offsetY };\n\n this.trackedPointers.set(event.pointerId, element);\n\n this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();\n this.cachedRelativeAverages = this.getRelativeCoordsAverage();\n }\n\n // Mapping TouchEvents ID\n private mapTouchEventId(id: number): void {\n for (const [mappedId, touchId] of this.touchEventsIds) {\n if (isNaN(touchId)) {\n this.touchEventsIds.set(mappedId, id);\n break;\n }\n }\n }\n\n private removeMappedTouchId(id: number): void {\n const mappedId: number = this.getMappedTouchEventId(id);\n if (!isNaN(mappedId)) {\n this.touchEventsIds.set(mappedId, NaN);\n }\n }\n\n public getMappedTouchEventId(touchEventId: number): number {\n for (const [key, value] of this.touchEventsIds.entries()) {\n if (value === touchEventId) {\n return key;\n }\n }\n\n return NaN;\n }\n\n public getVelocity(pointerId: number) {\n return {\n x: this.trackedPointers.get(pointerId)?.velocityX as number,\n y: this.trackedPointers.get(pointerId)?.velocityY as number,\n };\n }\n\n public getLastAbsoluteCoords(pointerId?: number) {\n return this.trackedPointers.get(pointerId ?? this.lastMovedPointerId)\n ?.abosoluteCoords as Point;\n }\n\n public getLastRelativeCoords(pointerId?: number) {\n return this.trackedPointers.get(pointerId ?? this.lastMovedPointerId)\n ?.relativeCoords as Point;\n }\n\n // Some handlers use these methods to send average values in native event.\n // This may happen when pointers have already been removed from tracker (i.e. pointerup event).\n // In situation when NaN would be sent as a response, we return cached value.\n // That prevents handlers from crashing\n\n public getAbsoluteCoordsAverage() {\n const coordsSum = this.getAbsoluteCoordsSum();\n\n const avgX = coordsSum.x / this.trackedPointers.size;\n const avgY = coordsSum.y / this.trackedPointers.size;\n\n const averages = {\n x: isNaN(avgX) ? this.cachedAbsoluteAverages.x : avgX,\n y: isNaN(avgY) ? this.cachedAbsoluteAverages.y : avgY,\n };\n\n return averages;\n }\n\n public getRelativeCoordsAverage() {\n const coordsSum = this.getRelativeCoordsSum();\n\n const avgX = coordsSum.x / this.trackedPointers.size;\n const avgY = coordsSum.y / this.trackedPointers.size;\n\n const averages = {\n x: isNaN(avgX) ? this.cachedRelativeAverages.x : avgX,\n y: isNaN(avgY) ? this.cachedRelativeAverages.y : avgY,\n };\n\n return averages;\n }\n\n public getAbsoluteCoordsSum(ignoredPointer?: number) {\n const sum = { x: 0, y: 0 };\n\n this.trackedPointers.forEach((value, key) => {\n if (key !== ignoredPointer) {\n sum.x += value.abosoluteCoords.x;\n sum.y += value.abosoluteCoords.y;\n }\n });\n\n return sum;\n }\n\n public getRelativeCoordsSum(ignoredPointer?: number) {\n const sum = { x: 0, y: 0 };\n\n this.trackedPointers.forEach((value, key) => {\n if (key !== ignoredPointer) {\n sum.x += value.relativeCoords.x;\n sum.y += value.relativeCoords.y;\n }\n });\n\n return sum;\n }\n\n public resetTracker(): void {\n this.velocityTracker.reset();\n this.trackedPointers.clear();\n this.lastMovedPointerId = NaN;\n\n for (let i = 0; i < MAX_POINTERS; ++i) {\n this.touchEventsIds.set(i, NaN);\n }\n }\n\n public static shareCommonPointers(\n stPointers: number[],\n ndPointers: number[]\n ): boolean {\n return stPointers.some((pointerId) => ndPointers.includes(pointerId));\n }\n\n public get trackedPointersCount(): number {\n return this.trackedPointers.size;\n }\n\n public get trackedPointersIDs() {\n const keys: number[] = [];\n\n this.trackedPointers.forEach((_value, key) => {\n keys.push(key);\n });\n\n return keys;\n }\n\n public get trackedPointers() {\n return this._trackedPointers;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["PointerTracker.ts"],"names":["MAX_POINTERS","PointerTracker","constructor","VelocityTracker","Map","x","y","lastMovedPointerId","NaN","i","touchEventsIds","set","addToTracker","event","trackedPointers","has","pointerId","newElement","abosoluteCoords","relativeCoords","offsetX","offsetY","timestamp","time","velocityX","velocityY","mapTouchEventId","cachedAbsoluteAverages","getAbsoluteCoordsAverage","cachedRelativeAverages","getRelativeCoordsAverage","removeFromTracker","delete","removeMappedTouchId","track","element","get","velocityTracker","add","velocity","id","mappedId","touchId","isNaN","getMappedTouchEventId","touchEventId","key","value","entries","getVelocity","getLastAbsoluteCoords","getLastRelativeCoords","coordsSum","getAbsoluteCoordsSum","avgX","size","avgY","averages","getRelativeCoordsSum","ignoredPointer","sum","forEach","resetTracker","reset","clear","shareCommonPointers","stPointers","ndPointers","some","includes","trackedPointersCount","trackedPointersIDs","keys","_value","push","_trackedPointers"],"mappings":"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","sourcesContent":["import { AdaptedEvent, Point } from '../interfaces';\nimport VelocityTracker from './VelocityTracker';\n\nexport interface TrackerElement {\n abosoluteCoords: Point;\n relativeCoords: Point;\n timestamp: number;\n velocityX: number;\n velocityY: number;\n}\n\nconst MAX_POINTERS = 20;\n\nexport default class PointerTracker {\n private velocityTracker = new VelocityTracker();\n private readonly _trackedPointers: Map<number, TrackerElement> = new Map<\n number,\n TrackerElement\n >();\n\n private touchEventsIds: Map<number, number> = new Map<number, number>();\n\n private lastMovedPointerId: number;\n\n private cachedAbsoluteAverages: Point = { x: 0, y: 0 };\n private cachedRelativeAverages: Point = { x: 0, y: 0 };\n\n public constructor() {\n this.lastMovedPointerId = NaN;\n\n for (let i = 0; i < MAX_POINTERS; ++i) {\n this.touchEventsIds.set(i, NaN);\n }\n }\n\n public addToTracker(event: AdaptedEvent): void {\n if (this.trackedPointers.has(event.pointerId)) {\n return;\n }\n\n this.lastMovedPointerId = event.pointerId;\n\n const newElement: TrackerElement = {\n abosoluteCoords: { x: event.x, y: event.y },\n relativeCoords: { x: event.offsetX, y: event.offsetY },\n timestamp: event.time,\n velocityX: 0,\n velocityY: 0,\n };\n\n this.trackedPointers.set(event.pointerId, newElement);\n this.mapTouchEventId(event.pointerId);\n\n this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();\n this.cachedRelativeAverages = this.getRelativeCoordsAverage();\n }\n\n public removeFromTracker(pointerId: number): void {\n this.trackedPointers.delete(pointerId);\n this.removeMappedTouchId(pointerId);\n }\n\n public track(event: AdaptedEvent): void {\n const element: TrackerElement = this.trackedPointers.get(\n event.pointerId\n ) as TrackerElement;\n\n if (!element) {\n return;\n }\n\n this.lastMovedPointerId = event.pointerId;\n\n this.velocityTracker.add(event);\n const [velocityX, velocityY] = this.velocityTracker.velocity;\n\n element.velocityX = velocityX;\n element.velocityY = velocityY;\n\n element.abosoluteCoords = { x: event.x, y: event.y };\n element.relativeCoords = { x: event.offsetX, y: event.offsetY };\n\n this.trackedPointers.set(event.pointerId, element);\n\n this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();\n this.cachedRelativeAverages = this.getRelativeCoordsAverage();\n }\n\n // Mapping TouchEvents ID\n private mapTouchEventId(id: number): void {\n for (const [mappedId, touchId] of this.touchEventsIds) {\n if (isNaN(touchId)) {\n this.touchEventsIds.set(mappedId, id);\n break;\n }\n }\n }\n\n private removeMappedTouchId(id: number): void {\n const mappedId: number = this.getMappedTouchEventId(id);\n if (!isNaN(mappedId)) {\n this.touchEventsIds.set(mappedId, NaN);\n }\n }\n\n public getMappedTouchEventId(touchEventId: number): number {\n for (const [key, value] of this.touchEventsIds.entries()) {\n if (value === touchEventId) {\n return key;\n }\n }\n\n return NaN;\n }\n\n public getVelocity(pointerId: number) {\n return {\n x: this.trackedPointers.get(pointerId)?.velocityX as number,\n y: this.trackedPointers.get(pointerId)?.velocityY as number,\n };\n }\n\n public getLastAbsoluteCoords(pointerId?: number) {\n return this.trackedPointers.get(pointerId ?? this.lastMovedPointerId)\n ?.abosoluteCoords as Point;\n }\n\n public getLastRelativeCoords(pointerId?: number) {\n return this.trackedPointers.get(pointerId ?? this.lastMovedPointerId)\n ?.relativeCoords as Point;\n }\n\n // Some handlers use these methods to send average values in native event.\n // This may happen when pointers have already been removed from tracker (i.e. pointerup event).\n // In situation when NaN would be sent as a response, we return cached value.\n // That prevents handlers from crashing\n\n public getAbsoluteCoordsAverage() {\n const coordsSum = this.getAbsoluteCoordsSum();\n\n const avgX = coordsSum.x / this.trackedPointers.size;\n const avgY = coordsSum.y / this.trackedPointers.size;\n\n const averages = {\n x: isNaN(avgX) ? this.cachedAbsoluteAverages.x : avgX,\n y: isNaN(avgY) ? this.cachedAbsoluteAverages.y : avgY,\n };\n\n return averages;\n }\n\n public getRelativeCoordsAverage() {\n const coordsSum = this.getRelativeCoordsSum();\n\n const avgX = coordsSum.x / this.trackedPointers.size;\n const avgY = coordsSum.y / this.trackedPointers.size;\n\n const averages = {\n x: isNaN(avgX) ? this.cachedRelativeAverages.x : avgX,\n y: isNaN(avgY) ? this.cachedRelativeAverages.y : avgY,\n };\n\n return averages;\n }\n\n public getAbsoluteCoordsSum(ignoredPointer?: number) {\n const sum = { x: 0, y: 0 };\n\n this.trackedPointers.forEach((value, key) => {\n if (key !== ignoredPointer) {\n sum.x += value.abosoluteCoords.x;\n sum.y += value.abosoluteCoords.y;\n }\n });\n\n return sum;\n }\n\n public getRelativeCoordsSum(ignoredPointer?: number) {\n const sum = { x: 0, y: 0 };\n\n this.trackedPointers.forEach((value, key) => {\n if (key !== ignoredPointer) {\n sum.x += value.relativeCoords.x;\n sum.y += value.relativeCoords.y;\n }\n });\n\n return sum;\n }\n\n public resetTracker(): void {\n this.velocityTracker.reset();\n this.trackedPointers.clear();\n this.lastMovedPointerId = NaN;\n\n for (let i = 0; i < MAX_POINTERS; ++i) {\n this.touchEventsIds.set(i, NaN);\n }\n }\n\n public static shareCommonPointers(\n stPointers: number[],\n ndPointers: number[]\n ): boolean {\n return stPointers.some((pointerId) => ndPointers.includes(pointerId));\n }\n\n public get trackedPointersCount(): number {\n return this.trackedPointers.size;\n }\n\n public get trackedPointersIDs() {\n const keys: number[] = [];\n\n this.trackedPointers.forEach((_value, key) => {\n keys.push(key);\n });\n\n return keys;\n }\n\n public get trackedPointers() {\n return this._trackedPointers;\n }\n}\n"]}
@@ -4,18 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _Directions = require("../../Directions");
9
+
8
10
  var _constants = require("../constants");
9
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
10
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
11
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
+
12
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+
12
14
  class Vector {
13
15
  constructor(x, y) {
14
16
  _defineProperty(this, "x", void 0);
17
+
15
18
  _defineProperty(this, "y", void 0);
19
+
16
20
  _defineProperty(this, "unitX", void 0);
21
+
17
22
  _defineProperty(this, "unitY", void 0);
23
+
18
24
  _defineProperty(this, "_magnitude", void 0);
25
+
19
26
  this.x = x;
20
27
  this.y = y;
21
28
  this._magnitude = Math.hypot(this.x, this.y);
@@ -23,24 +30,32 @@ class Vector {
23
30
  this.unitX = isMagnitudeSufficient ? this.x / this._magnitude : 0;
24
31
  this.unitY = isMagnitudeSufficient ? this.y / this._magnitude : 0;
25
32
  }
33
+
26
34
  static fromDirection(direction) {
27
35
  var _DirectionToVectorMap;
36
+
28
37
  return (_DirectionToVectorMap = DirectionToVectorMappings.get(direction)) !== null && _DirectionToVectorMap !== void 0 ? _DirectionToVectorMap : new Vector(0, 0);
29
38
  }
39
+
30
40
  static fromVelocity(tracker, pointerId) {
31
41
  const velocity = tracker.getVelocity(pointerId);
32
42
  return new Vector(velocity.x, velocity.y);
33
43
  }
44
+
34
45
  get magnitude() {
35
46
  return this._magnitude;
36
47
  }
48
+
37
49
  computeSimilarity(vector) {
38
50
  return this.unitX * vector.unitX + this.unitY * vector.unitY;
39
51
  }
52
+
40
53
  isSimilar(vector, threshold) {
41
54
  return this.computeSimilarity(vector) > threshold;
42
55
  }
56
+
43
57
  }
58
+
44
59
  exports.default = Vector;
45
60
  const DirectionToVectorMappings = new Map([[_Directions.Directions.LEFT, new Vector(-1, 0)], [_Directions.Directions.RIGHT, new Vector(1, 0)], [_Directions.Directions.UP, new Vector(0, -1)], [_Directions.Directions.DOWN, new Vector(0, 1)], [_Directions.DiagonalDirections.UP_RIGHT, new Vector(1, -1)], [_Directions.DiagonalDirections.DOWN_RIGHT, new Vector(1, 1)], [_Directions.DiagonalDirections.UP_LEFT, new Vector(-1, -1)], [_Directions.DiagonalDirections.DOWN_LEFT, new Vector(-1, 1)]]);
46
61
  //# sourceMappingURL=Vector.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_Directions","require","_constants","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","Vector","constructor","x","y","_magnitude","Math","hypot","isMagnitudeSufficient","MINIMAL_RECOGNIZABLE_MAGNITUDE","unitX","unitY","fromDirection","direction","_DirectionToVectorMap","DirectionToVectorMappings","get","fromVelocity","tracker","pointerId","velocity","getVelocity","magnitude","computeSimilarity","vector","isSimilar","threshold","exports","default","Map","Directions","LEFT","RIGHT","UP","DOWN","DiagonalDirections","UP_RIGHT","DOWN_RIGHT","UP_LEFT","DOWN_LEFT"],"sources":["Vector.ts"],"sourcesContent":["import { DiagonalDirections, Directions } from '../../Directions';\nimport { MINIMAL_RECOGNIZABLE_MAGNITUDE } from '../constants';\nimport PointerTracker from './PointerTracker';\n\nexport default class Vector {\n private readonly x;\n private readonly y;\n private readonly unitX;\n private readonly unitY;\n private readonly _magnitude;\n\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n\n this._magnitude = Math.hypot(this.x, this.y);\n const isMagnitudeSufficient =\n this._magnitude > MINIMAL_RECOGNIZABLE_MAGNITUDE;\n\n this.unitX = isMagnitudeSufficient ? this.x / this._magnitude : 0;\n this.unitY = isMagnitudeSufficient ? this.y / this._magnitude : 0;\n }\n\n static fromDirection(direction: Directions | DiagonalDirections): Vector {\n return DirectionToVectorMappings.get(direction) ?? new Vector(0, 0);\n }\n\n static fromVelocity(tracker: PointerTracker, pointerId: number) {\n const velocity = tracker.getVelocity(pointerId);\n return new Vector(velocity.x, velocity.y);\n }\n\n public get magnitude() {\n return this._magnitude;\n }\n\n computeSimilarity(vector: Vector) {\n return this.unitX * vector.unitX + this.unitY * vector.unitY;\n }\n\n isSimilar(vector: Vector, threshold: number) {\n return this.computeSimilarity(vector) > threshold;\n }\n}\n\nconst DirectionToVectorMappings = new Map<\n Directions | DiagonalDirections,\n Vector\n>([\n [Directions.LEFT, new Vector(-1, 0)],\n [Directions.RIGHT, new Vector(1, 0)],\n [Directions.UP, new Vector(0, -1)],\n [Directions.DOWN, new Vector(0, 1)],\n\n [DiagonalDirections.UP_RIGHT, new Vector(1, -1)],\n [DiagonalDirections.DOWN_RIGHT, new Vector(1, 1)],\n [DiagonalDirections.UP_LEFT, new Vector(-1, -1)],\n [DiagonalDirections.DOWN_LEFT, new Vector(-1, 1)],\n]);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["Vector.ts"],"names":["Vector","constructor","x","y","_magnitude","Math","hypot","isMagnitudeSufficient","MINIMAL_RECOGNIZABLE_MAGNITUDE","unitX","unitY","fromDirection","direction","DirectionToVectorMappings","get","fromVelocity","tracker","pointerId","velocity","getVelocity","magnitude","computeSimilarity","vector","isSimilar","threshold","Map","Directions","LEFT","RIGHT","UP","DOWN","DiagonalDirections","UP_RIGHT","DOWN_RIGHT","UP_LEFT","DOWN_LEFT"],"mappings":";;;;;;;AAAA;;AACA;;;;AAGe,MAAMA,MAAN,CAAa;AAO1BC,EAAAA,WAAW,CAACC,CAAD,EAAYC,CAAZ,EAAuB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAChC,SAAKD,CAAL,GAASA,CAAT;AACA,SAAKC,CAAL,GAASA,CAAT;AAEA,SAAKC,UAAL,GAAkBC,IAAI,CAACC,KAAL,CAAW,KAAKJ,CAAhB,EAAmB,KAAKC,CAAxB,CAAlB;AACA,UAAMI,qBAAqB,GACzB,KAAKH,UAAL,GAAkBI,yCADpB;AAGA,SAAKC,KAAL,GAAaF,qBAAqB,GAAG,KAAKL,CAAL,GAAS,KAAKE,UAAjB,GAA8B,CAAhE;AACA,SAAKM,KAAL,GAAaH,qBAAqB,GAAG,KAAKJ,CAAL,GAAS,KAAKC,UAAjB,GAA8B,CAAhE;AACD;;AAEmB,SAAbO,aAAa,CAACC,SAAD,EAAqD;AAAA;;AACvE,oCAAOC,yBAAyB,CAACC,GAA1B,CAA8BF,SAA9B,CAAP,yEAAmD,IAAIZ,MAAJ,CAAW,CAAX,EAAc,CAAd,CAAnD;AACD;;AAEkB,SAAZe,YAAY,CAACC,OAAD,EAA0BC,SAA1B,EAA6C;AAC9D,UAAMC,QAAQ,GAAGF,OAAO,CAACG,WAAR,CAAoBF,SAApB,CAAjB;AACA,WAAO,IAAIjB,MAAJ,CAAWkB,QAAQ,CAAChB,CAApB,EAAuBgB,QAAQ,CAACf,CAAhC,CAAP;AACD;;AAEmB,MAATiB,SAAS,GAAG;AACrB,WAAO,KAAKhB,UAAZ;AACD;;AAEDiB,EAAAA,iBAAiB,CAACC,MAAD,EAAiB;AAChC,WAAO,KAAKb,KAAL,GAAaa,MAAM,CAACb,KAApB,GAA4B,KAAKC,KAAL,GAAaY,MAAM,CAACZ,KAAvD;AACD;;AAEDa,EAAAA,SAAS,CAACD,MAAD,EAAiBE,SAAjB,EAAoC;AAC3C,WAAO,KAAKH,iBAAL,CAAuBC,MAAvB,IAAiCE,SAAxC;AACD;;AAtCyB;;;AAyC5B,MAAMX,yBAAyB,GAAG,IAAIY,GAAJ,CAGhC,CACA,CAACC,uBAAWC,IAAZ,EAAkB,IAAI3B,MAAJ,CAAW,CAAC,CAAZ,EAAe,CAAf,CAAlB,CADA,EAEA,CAAC0B,uBAAWE,KAAZ,EAAmB,IAAI5B,MAAJ,CAAW,CAAX,EAAc,CAAd,CAAnB,CAFA,EAGA,CAAC0B,uBAAWG,EAAZ,EAAgB,IAAI7B,MAAJ,CAAW,CAAX,EAAc,CAAC,CAAf,CAAhB,CAHA,EAIA,CAAC0B,uBAAWI,IAAZ,EAAkB,IAAI9B,MAAJ,CAAW,CAAX,EAAc,CAAd,CAAlB,CAJA,EAMA,CAAC+B,+BAAmBC,QAApB,EAA8B,IAAIhC,MAAJ,CAAW,CAAX,EAAc,CAAC,CAAf,CAA9B,CANA,EAOA,CAAC+B,+BAAmBE,UAApB,EAAgC,IAAIjC,MAAJ,CAAW,CAAX,EAAc,CAAd,CAAhC,CAPA,EAQA,CAAC+B,+BAAmBG,OAApB,EAA6B,IAAIlC,MAAJ,CAAW,CAAC,CAAZ,EAAe,CAAC,CAAhB,CAA7B,CARA,EASA,CAAC+B,+BAAmBI,SAApB,EAA+B,IAAInC,MAAJ,CAAW,CAAC,CAAZ,EAAe,CAAf,CAA/B,CATA,CAHgC,CAAlC","sourcesContent":["import { DiagonalDirections, Directions } from '../../Directions';\nimport { MINIMAL_RECOGNIZABLE_MAGNITUDE } from '../constants';\nimport PointerTracker from './PointerTracker';\n\nexport default class Vector {\n private readonly x;\n private readonly y;\n private readonly unitX;\n private readonly unitY;\n private readonly _magnitude;\n\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n\n this._magnitude = Math.hypot(this.x, this.y);\n const isMagnitudeSufficient =\n this._magnitude > MINIMAL_RECOGNIZABLE_MAGNITUDE;\n\n this.unitX = isMagnitudeSufficient ? this.x / this._magnitude : 0;\n this.unitY = isMagnitudeSufficient ? this.y / this._magnitude : 0;\n }\n\n static fromDirection(direction: Directions | DiagonalDirections): Vector {\n return DirectionToVectorMappings.get(direction) ?? new Vector(0, 0);\n }\n\n static fromVelocity(tracker: PointerTracker, pointerId: number) {\n const velocity = tracker.getVelocity(pointerId);\n return new Vector(velocity.x, velocity.y);\n }\n\n public get magnitude() {\n return this._magnitude;\n }\n\n computeSimilarity(vector: Vector) {\n return this.unitX * vector.unitX + this.unitY * vector.unitY;\n }\n\n isSimilar(vector: Vector, threshold: number) {\n return this.computeSimilarity(vector) > threshold;\n }\n}\n\nconst DirectionToVectorMappings = new Map<\n Directions | DiagonalDirections,\n Vector\n>([\n [Directions.LEFT, new Vector(-1, 0)],\n [Directions.RIGHT, new Vector(1, 0)],\n [Directions.UP, new Vector(0, -1)],\n [Directions.DOWN, new Vector(0, 1)],\n\n [DiagonalDirections.UP_RIGHT, new Vector(1, -1)],\n [DiagonalDirections.DOWN_RIGHT, new Vector(1, 1)],\n [DiagonalDirections.UP_LEFT, new Vector(-1, -1)],\n [DiagonalDirections.DOWN_LEFT, new Vector(-1, 1)],\n]);\n"]}
@@ -4,31 +4,40 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _CircularBuffer = _interopRequireDefault(require("./CircularBuffer"));
9
+
8
10
  var _LeastSquareSolver = _interopRequireDefault(require("./LeastSquareSolver"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
11
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
12
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+
13
16
  class VelocityTracker {
14
17
  constructor() {
15
18
  _defineProperty(this, "assumePointerMoveStoppedMilliseconds", 40);
19
+
16
20
  _defineProperty(this, "historySize", 20);
21
+
17
22
  _defineProperty(this, "horizonMilliseconds", 300);
23
+
18
24
  _defineProperty(this, "minSampleSize", 3);
25
+
19
26
  _defineProperty(this, "samples", void 0);
27
+
20
28
  this.samples = new _CircularBuffer.default(this.historySize);
21
29
  }
30
+
22
31
  add(event) {
23
32
  this.samples.push(event);
24
- }
25
-
26
- // Returns an estimate of the velocity of the object being tracked by the
33
+ } // Returns an estimate of the velocity of the object being tracked by the
27
34
  // tracker given the current information available to the tracker.
28
35
  //
29
36
  // Information is added using [addPosition].
30
37
  //
31
38
  // Returns null if there is no data on which to base an estimate.
39
+
40
+
32
41
  getVelocityEstimate() {
33
42
  const x = [];
34
43
  const y = [];
@@ -37,21 +46,24 @@ class VelocityTracker {
37
46
  let sampleCount = 0;
38
47
  let index = this.samples.size - 1;
39
48
  const newestSample = this.samples.get(index);
49
+
40
50
  if (!newestSample) {
41
51
  return null;
42
52
  }
43
- let previousSample = newestSample;
44
53
 
45
- // Starting with the most recent PointAtTime sample, iterate backwards while
54
+ let previousSample = newestSample; // Starting with the most recent PointAtTime sample, iterate backwards while
46
55
  // the samples represent continuous motion.
56
+
47
57
  while (sampleCount < this.samples.size) {
48
58
  const sample = this.samples.get(index);
49
59
  const age = newestSample.time - sample.time;
50
60
  const delta = Math.abs(sample.time - previousSample.time);
51
61
  previousSample = sample;
62
+
52
63
  if (age > this.horizonMilliseconds || delta > this.assumePointerMoveStoppedMilliseconds) {
53
64
  break;
54
65
  }
66
+
55
67
  x.push(sample.x);
56
68
  y.push(sample.y);
57
69
  w.push(1);
@@ -59,12 +71,15 @@ class VelocityTracker {
59
71
  sampleCount++;
60
72
  index--;
61
73
  }
74
+
62
75
  if (sampleCount >= this.minSampleSize) {
63
76
  const xSolver = new _LeastSquareSolver.default(time, x, w);
64
77
  const xFit = xSolver.solve(2);
78
+
65
79
  if (xFit !== null) {
66
80
  const ySolver = new _LeastSquareSolver.default(time, y, w);
67
81
  const yFit = ySolver.solve(2);
82
+
68
83
  if (yFit !== null) {
69
84
  const xVelocity = xFit.coefficients[1] * 1000;
70
85
  const yVelocity = yFit.coefficients[1] * 1000;
@@ -72,18 +87,25 @@ class VelocityTracker {
72
87
  }
73
88
  }
74
89
  }
90
+
75
91
  return null;
76
92
  }
93
+
77
94
  get velocity() {
78
95
  const estimate = this.getVelocityEstimate();
96
+
79
97
  if (estimate !== null) {
80
98
  return estimate;
81
99
  }
100
+
82
101
  return [0, 0];
83
102
  }
103
+
84
104
  reset() {
85
105
  this.samples.clear();
86
106
  }
107
+
87
108
  }
109
+
88
110
  exports.default = VelocityTracker;
89
111
  //# sourceMappingURL=VelocityTracker.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_CircularBuffer","_interopRequireDefault","require","_LeastSquareSolver","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","VelocityTracker","constructor","samples","CircularBuffer","historySize","add","event","push","getVelocityEstimate","x","y","w","time","sampleCount","index","size","newestSample","get","previousSample","sample","age","delta","Math","abs","horizonMilliseconds","assumePointerMoveStoppedMilliseconds","minSampleSize","xSolver","LeastSquareSolver","xFit","solve","ySolver","yFit","xVelocity","coefficients","yVelocity","velocity","estimate","reset","clear","exports"],"sources":["VelocityTracker.ts"],"sourcesContent":["import { AdaptedEvent } from '../interfaces';\nimport CircularBuffer from './CircularBuffer';\nimport LeastSquareSolver from './LeastSquareSolver';\n\nexport default class VelocityTracker {\n private assumePointerMoveStoppedMilliseconds = 40;\n private historySize = 20;\n private horizonMilliseconds = 300;\n private minSampleSize = 3;\n\n private samples: CircularBuffer<AdaptedEvent>;\n\n constructor() {\n this.samples = new CircularBuffer<AdaptedEvent>(this.historySize);\n }\n\n public add(event: AdaptedEvent): void {\n this.samples.push(event);\n }\n\n // Returns an estimate of the velocity of the object being tracked by the\n // tracker given the current information available to the tracker.\n //\n // Information is added using [addPosition].\n //\n // Returns null if there is no data on which to base an estimate.\n private getVelocityEstimate(): [number, number] | null {\n const x = [];\n const y = [];\n const w = [];\n const time = [];\n\n let sampleCount = 0;\n let index = this.samples.size - 1;\n const newestSample = this.samples.get(index);\n if (!newestSample) {\n return null;\n }\n\n let previousSample = newestSample;\n\n // Starting with the most recent PointAtTime sample, iterate backwards while\n // the samples represent continuous motion.\n while (sampleCount < this.samples.size) {\n const sample = this.samples.get(index);\n\n const age = newestSample.time - sample.time;\n const delta = Math.abs(sample.time - previousSample.time);\n previousSample = sample;\n\n if (\n age > this.horizonMilliseconds ||\n delta > this.assumePointerMoveStoppedMilliseconds\n ) {\n break;\n }\n\n x.push(sample.x);\n y.push(sample.y);\n w.push(1);\n time.push(-age);\n\n sampleCount++;\n index--;\n }\n\n if (sampleCount >= this.minSampleSize) {\n const xSolver = new LeastSquareSolver(time, x, w);\n const xFit = xSolver.solve(2);\n\n if (xFit !== null) {\n const ySolver = new LeastSquareSolver(time, y, w);\n const yFit = ySolver.solve(2);\n\n if (yFit !== null) {\n const xVelocity = xFit.coefficients[1] * 1000;\n const yVelocity = yFit.coefficients[1] * 1000;\n\n return [xVelocity, yVelocity];\n }\n }\n }\n\n return null;\n }\n\n public get velocity(): [number, number] {\n const estimate = this.getVelocityEstimate();\n if (estimate !== null) {\n return estimate;\n }\n return [0, 0];\n }\n\n public reset(): void {\n this.samples.clear();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["VelocityTracker.ts"],"names":["VelocityTracker","constructor","samples","CircularBuffer","historySize","add","event","push","getVelocityEstimate","x","y","w","time","sampleCount","index","size","newestSample","get","previousSample","sample","age","delta","Math","abs","horizonMilliseconds","assumePointerMoveStoppedMilliseconds","minSampleSize","xSolver","LeastSquareSolver","xFit","solve","ySolver","yFit","xVelocity","coefficients","yVelocity","velocity","estimate","reset","clear"],"mappings":"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","sourcesContent":["import { AdaptedEvent } from '../interfaces';\nimport CircularBuffer from './CircularBuffer';\nimport LeastSquareSolver from './LeastSquareSolver';\n\nexport default class VelocityTracker {\n private assumePointerMoveStoppedMilliseconds = 40;\n private historySize = 20;\n private horizonMilliseconds = 300;\n private minSampleSize = 3;\n\n private samples: CircularBuffer<AdaptedEvent>;\n\n constructor() {\n this.samples = new CircularBuffer<AdaptedEvent>(this.historySize);\n }\n\n public add(event: AdaptedEvent): void {\n this.samples.push(event);\n }\n\n // Returns an estimate of the velocity of the object being tracked by the\n // tracker given the current information available to the tracker.\n //\n // Information is added using [addPosition].\n //\n // Returns null if there is no data on which to base an estimate.\n private getVelocityEstimate(): [number, number] | null {\n const x = [];\n const y = [];\n const w = [];\n const time = [];\n\n let sampleCount = 0;\n let index = this.samples.size - 1;\n const newestSample = this.samples.get(index);\n if (!newestSample) {\n return null;\n }\n\n let previousSample = newestSample;\n\n // Starting with the most recent PointAtTime sample, iterate backwards while\n // the samples represent continuous motion.\n while (sampleCount < this.samples.size) {\n const sample = this.samples.get(index);\n\n const age = newestSample.time - sample.time;\n const delta = Math.abs(sample.time - previousSample.time);\n previousSample = sample;\n\n if (\n age > this.horizonMilliseconds ||\n delta > this.assumePointerMoveStoppedMilliseconds\n ) {\n break;\n }\n\n x.push(sample.x);\n y.push(sample.y);\n w.push(1);\n time.push(-age);\n\n sampleCount++;\n index--;\n }\n\n if (sampleCount >= this.minSampleSize) {\n const xSolver = new LeastSquareSolver(time, x, w);\n const xFit = xSolver.solve(2);\n\n if (xFit !== null) {\n const ySolver = new LeastSquareSolver(time, y, w);\n const yFit = ySolver.solve(2);\n\n if (yFit !== null) {\n const xVelocity = xFit.coefficients[1] * 1000;\n const yVelocity = yFit.coefficients[1] * 1000;\n\n return [xVelocity, yVelocity];\n }\n }\n }\n\n return null;\n }\n\n public get velocity(): [number, number] {\n const estimate = this.getVelocityEstimate();\n if (estimate !== null) {\n return estimate;\n }\n return [0, 0];\n }\n\n public reset(): void {\n this.samples.clear();\n }\n}\n"]}
@@ -4,26 +4,33 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _EventManager = _interopRequireDefault(require("./EventManager"));
9
+
8
10
  var _interfaces = require("../interfaces");
11
+
9
12
  var _PointerType = require("../../PointerType");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
+
14
18
  class WheelEventManager extends _EventManager.default {
15
19
  constructor(...args) {
16
20
  super(...args);
21
+
17
22
  _defineProperty(this, "wheelDelta", {
18
23
  x: 0,
19
24
  y: 0
20
25
  });
26
+
21
27
  _defineProperty(this, "resetDelta", _event => {
22
28
  this.wheelDelta = {
23
29
  x: 0,
24
30
  y: 0
25
31
  };
26
32
  });
33
+
27
34
  _defineProperty(this, "wheelCallback", event => {
28
35
  this.wheelDelta.x += event.deltaX;
29
36
  this.wheelDelta.y += event.deltaY;
@@ -31,14 +38,17 @@ class WheelEventManager extends _EventManager.default {
31
38
  this.onWheel(adaptedEvent);
32
39
  });
33
40
  }
41
+
34
42
  registerListeners() {
35
43
  this.view.addEventListener('pointermove', this.resetDelta);
36
44
  this.view.addEventListener('wheel', this.wheelCallback);
37
45
  }
46
+
38
47
  unregisterListeners() {
39
48
  this.view.removeEventListener('pointermove', this.resetDelta);
40
49
  this.view.removeEventListener('wheel', this.wheelCallback);
41
50
  }
51
+
42
52
  mapEvent(event) {
43
53
  return {
44
54
  x: event.clientX + this.wheelDelta.x,
@@ -53,9 +63,12 @@ class WheelEventManager extends _EventManager.default {
53
63
  wheelDeltaY: event.wheelDeltaY
54
64
  };
55
65
  }
66
+
56
67
  resetManager() {
57
68
  super.resetManager();
58
69
  }
70
+
59
71
  }
72
+
60
73
  exports.default = WheelEventManager;
61
74
  //# sourceMappingURL=WheelEventManager.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_EventManager","_interopRequireDefault","require","_interfaces","_PointerType","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","WheelEventManager","EventManager","constructor","args","x","y","_event","wheelDelta","event","deltaX","deltaY","adaptedEvent","mapEvent","onWheel","registerListeners","view","addEventListener","resetDelta","wheelCallback","unregisterListeners","removeEventListener","clientX","clientY","offsetX","offsetY","pointerId","eventType","EventTypes","MOVE","pointerType","PointerType","OTHER","time","timeStamp","wheelDeltaY","resetManager","exports"],"sources":["WheelEventManager.ts"],"sourcesContent":["import EventManager from './EventManager';\nimport { AdaptedEvent, EventTypes } from '../interfaces';\nimport { PointerType } from '../../PointerType';\n\nexport default class WheelEventManager extends EventManager<HTMLElement> {\n private wheelDelta = { x: 0, y: 0 };\n\n private resetDelta = (_event: PointerEvent) => {\n this.wheelDelta = { x: 0, y: 0 };\n };\n\n private wheelCallback = (event: WheelEvent) => {\n this.wheelDelta.x += event.deltaX;\n this.wheelDelta.y += event.deltaY;\n\n const adaptedEvent = this.mapEvent(event);\n this.onWheel(adaptedEvent);\n };\n\n public registerListeners(): void {\n this.view.addEventListener('pointermove', this.resetDelta);\n this.view.addEventListener('wheel', this.wheelCallback);\n }\n\n public unregisterListeners(): void {\n this.view.removeEventListener('pointermove', this.resetDelta);\n this.view.removeEventListener('wheel', this.wheelCallback);\n }\n\n protected mapEvent(event: WheelEvent): AdaptedEvent {\n return {\n x: event.clientX + this.wheelDelta.x,\n y: event.clientY + this.wheelDelta.y,\n offsetX: event.offsetX - event.deltaX,\n offsetY: event.offsetY - event.deltaY,\n pointerId: -1,\n eventType: EventTypes.MOVE,\n pointerType: PointerType.OTHER,\n time: event.timeStamp,\n // @ts-ignore It does exist, but it's deprecated\n wheelDeltaY: event.wheelDeltaY,\n };\n }\n\n public resetManager(): void {\n super.resetManager();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["WheelEventManager.ts"],"names":["WheelEventManager","EventManager","x","y","_event","wheelDelta","event","deltaX","deltaY","adaptedEvent","mapEvent","onWheel","registerListeners","view","addEventListener","resetDelta","wheelCallback","unregisterListeners","removeEventListener","clientX","clientY","offsetX","offsetY","pointerId","eventType","EventTypes","MOVE","pointerType","PointerType","OTHER","time","timeStamp","wheelDeltaY","resetManager"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAEe,MAAMA,iBAAN,SAAgCC,qBAAhC,CAA0D;AAAA;AAAA;;AAAA,wCAClD;AAAEC,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KADkD;;AAAA,wCAGjDC,MAAD,IAA0B;AAC7C,WAAKC,UAAL,GAAkB;AAAEH,QAAAA,CAAC,EAAE,CAAL;AAAQC,QAAAA,CAAC,EAAE;AAAX,OAAlB;AACD,KALsE;;AAAA,2CAO9CG,KAAD,IAAuB;AAC7C,WAAKD,UAAL,CAAgBH,CAAhB,IAAqBI,KAAK,CAACC,MAA3B;AACA,WAAKF,UAAL,CAAgBF,CAAhB,IAAqBG,KAAK,CAACE,MAA3B;AAEA,YAAMC,YAAY,GAAG,KAAKC,QAAL,CAAcJ,KAAd,CAArB;AACA,WAAKK,OAAL,CAAaF,YAAb;AACD,KAbsE;AAAA;;AAehEG,EAAAA,iBAAiB,GAAS;AAC/B,SAAKC,IAAL,CAAUC,gBAAV,CAA2B,aAA3B,EAA0C,KAAKC,UAA/C;AACA,SAAKF,IAAL,CAAUC,gBAAV,CAA2B,OAA3B,EAAoC,KAAKE,aAAzC;AACD;;AAEMC,EAAAA,mBAAmB,GAAS;AACjC,SAAKJ,IAAL,CAAUK,mBAAV,CAA8B,aAA9B,EAA6C,KAAKH,UAAlD;AACA,SAAKF,IAAL,CAAUK,mBAAV,CAA8B,OAA9B,EAAuC,KAAKF,aAA5C;AACD;;AAESN,EAAAA,QAAQ,CAACJ,KAAD,EAAkC;AAClD,WAAO;AACLJ,MAAAA,CAAC,EAAEI,KAAK,CAACa,OAAN,GAAgB,KAAKd,UAAL,CAAgBH,CAD9B;AAELC,MAAAA,CAAC,EAAEG,KAAK,CAACc,OAAN,GAAgB,KAAKf,UAAL,CAAgBF,CAF9B;AAGLkB,MAAAA,OAAO,EAAEf,KAAK,CAACe,OAAN,GAAgBf,KAAK,CAACC,MAH1B;AAILe,MAAAA,OAAO,EAAEhB,KAAK,CAACgB,OAAN,GAAgBhB,KAAK,CAACE,MAJ1B;AAKLe,MAAAA,SAAS,EAAE,CAAC,CALP;AAMLC,MAAAA,SAAS,EAAEC,uBAAWC,IANjB;AAOLC,MAAAA,WAAW,EAAEC,yBAAYC,KAPpB;AAQLC,MAAAA,IAAI,EAAExB,KAAK,CAACyB,SARP;AASL;AACAC,MAAAA,WAAW,EAAE1B,KAAK,CAAC0B;AAVd,KAAP;AAYD;;AAEMC,EAAAA,YAAY,GAAS;AAC1B,UAAMA,YAAN;AACD;;AA1CsE","sourcesContent":["import EventManager from './EventManager';\nimport { AdaptedEvent, EventTypes } from '../interfaces';\nimport { PointerType } from '../../PointerType';\n\nexport default class WheelEventManager extends EventManager<HTMLElement> {\n private wheelDelta = { x: 0, y: 0 };\n\n private resetDelta = (_event: PointerEvent) => {\n this.wheelDelta = { x: 0, y: 0 };\n };\n\n private wheelCallback = (event: WheelEvent) => {\n this.wheelDelta.x += event.deltaX;\n this.wheelDelta.y += event.deltaY;\n\n const adaptedEvent = this.mapEvent(event);\n this.onWheel(adaptedEvent);\n };\n\n public registerListeners(): void {\n this.view.addEventListener('pointermove', this.resetDelta);\n this.view.addEventListener('wheel', this.wheelCallback);\n }\n\n public unregisterListeners(): void {\n this.view.removeEventListener('pointermove', this.resetDelta);\n this.view.removeEventListener('wheel', this.wheelCallback);\n }\n\n protected mapEvent(event: WheelEvent): AdaptedEvent {\n return {\n x: event.clientX + this.wheelDelta.x,\n y: event.clientY + this.wheelDelta.y,\n offsetX: event.offsetX - event.deltaX,\n offsetY: event.offsetY - event.deltaY,\n pointerId: -1,\n eventType: EventTypes.MOVE,\n pointerType: PointerType.OTHER,\n time: event.timeStamp,\n // @ts-ignore It does exist, but it's deprecated\n wheelDeltaY: event.wheelDeltaY,\n };\n }\n\n public resetManager(): void {\n super.resetManager();\n }\n}\n"]}