react-native-gesture-handler 2.22.1 → 2.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (677) hide show
  1. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +14 -0
  2. package/android/src/main/jni/cpp-adapter.cpp +19 -12
  3. package/apple/RNGestureHandler.mm +15 -8
  4. package/apple/RNGestureHandlerModule.mm +17 -5
  5. package/lib/commonjs/ActionType.js +3 -3
  6. package/lib/commonjs/ActionType.js.map +1 -1
  7. package/lib/commonjs/Directions.js +11 -8
  8. package/lib/commonjs/Directions.js.map +1 -1
  9. package/lib/commonjs/EnableNewWebImplementation.js +2 -10
  10. package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
  11. package/lib/commonjs/GestureHandlerRootViewContext.js +2 -7
  12. package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
  13. package/lib/commonjs/PlatformConstants.js +1 -6
  14. package/lib/commonjs/PlatformConstants.js.map +1 -1
  15. package/lib/commonjs/PlatformConstants.web.js +1 -3
  16. package/lib/commonjs/PlatformConstants.web.js.map +1 -1
  17. package/lib/commonjs/PointerType.js +3 -5
  18. package/lib/commonjs/PointerType.js.map +1 -1
  19. package/lib/commonjs/RNGestureHandlerModule.js +2 -6
  20. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
  21. package/lib/commonjs/RNGestureHandlerModule.web.js +13 -39
  22. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  23. package/lib/commonjs/RNGestureHandlerModule.windows.js +22 -32
  24. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
  25. package/lib/commonjs/RNRenderer.js +1 -3
  26. package/lib/commonjs/RNRenderer.js.map +1 -1
  27. package/lib/commonjs/RNRenderer.web.js +1 -2
  28. package/lib/commonjs/RNRenderer.web.js.map +1 -1
  29. package/lib/commonjs/State.js +4 -3
  30. package/lib/commonjs/State.js.map +1 -1
  31. package/lib/commonjs/TouchEventType.js +3 -3
  32. package/lib/commonjs/TouchEventType.js.map +1 -1
  33. package/lib/commonjs/components/DrawerLayout.js +96 -115
  34. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  35. package/lib/commonjs/components/GestureButtons.js +36 -80
  36. package/lib/commonjs/components/GestureButtons.js.map +1 -1
  37. package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
  38. package/lib/commonjs/components/GestureComponents.js +26 -37
  39. package/lib/commonjs/components/GestureComponents.js.map +1 -1
  40. package/lib/commonjs/components/GestureComponents.web.js +13 -27
  41. package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
  42. package/lib/commonjs/components/GestureHandlerButton.js +2 -6
  43. package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
  44. package/lib/commonjs/components/GestureHandlerButton.web.js +4 -12
  45. package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
  46. package/lib/commonjs/components/GestureHandlerRootView.android.js +4 -15
  47. package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
  48. package/lib/commonjs/components/GestureHandlerRootView.js +4 -14
  49. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
  50. package/lib/commonjs/components/GestureHandlerRootView.web.js +4 -13
  51. package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
  52. package/lib/commonjs/components/Pressable/Pressable.js +46 -78
  53. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
  54. package/lib/commonjs/components/Pressable/PressableProps.js.map +1 -1
  55. package/lib/commonjs/components/Pressable/index.js +1 -3
  56. package/lib/commonjs/components/Pressable/index.js.map +1 -1
  57. package/lib/commonjs/components/Pressable/utils.js +5 -20
  58. package/lib/commonjs/components/Pressable/utils.js.map +1 -1
  59. package/lib/commonjs/components/ReanimatedDrawerLayout.js +38 -76
  60. package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
  61. package/lib/commonjs/components/ReanimatedSwipeable.js +61 -59
  62. package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
  63. package/lib/commonjs/components/Swipeable.js +34 -75
  64. package/lib/commonjs/components/Swipeable.js.map +1 -1
  65. package/lib/commonjs/components/Text.js +18 -26
  66. package/lib/commonjs/components/Text.js.map +1 -1
  67. package/lib/commonjs/components/gestureHandlerRootHOC.js +5 -14
  68. package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
  69. package/lib/commonjs/components/touchables/GenericTouchable.js +40 -76
  70. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
  71. package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +1 -1
  72. package/lib/commonjs/components/touchables/TouchableHighlight.js +20 -33
  73. package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
  74. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +17 -31
  75. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  76. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -4
  77. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
  78. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  79. package/lib/commonjs/components/touchables/TouchableOpacity.js +17 -24
  80. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  81. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +12 -13
  82. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  83. package/lib/commonjs/components/touchables/index.js +7 -12
  84. package/lib/commonjs/components/touchables/index.js.map +1 -1
  85. package/lib/commonjs/findNodeHandle.js +1 -4
  86. package/lib/commonjs/findNodeHandle.js.map +1 -1
  87. package/lib/commonjs/findNodeHandle.web.js +9 -10
  88. package/lib/commonjs/findNodeHandle.web.js.map +1 -1
  89. package/lib/commonjs/getReactNativeVersion.js +1 -6
  90. package/lib/commonjs/getReactNativeVersion.js.map +1 -1
  91. package/lib/commonjs/getReactNativeVersion.web.js +0 -1
  92. package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
  93. package/lib/commonjs/getShadowNodeFromRef.js +13 -14
  94. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  95. package/lib/commonjs/getShadowNodeFromRef.web.js +0 -1
  96. package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
  97. package/lib/commonjs/ghQueueMicrotask.js +1 -2
  98. package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
  99. package/lib/commonjs/handlers/FlingGestureHandler.js +16 -10
  100. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
  101. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +20 -23
  102. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
  103. package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
  104. package/lib/commonjs/handlers/LongPressGestureHandler.js +16 -10
  105. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
  106. package/lib/commonjs/handlers/NativeViewGestureHandler.js +17 -12
  107. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
  108. package/lib/commonjs/handlers/PanGestureHandler.js +20 -31
  109. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
  110. package/lib/commonjs/handlers/PinchGestureHandler.js +14 -8
  111. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
  112. package/lib/commonjs/handlers/PressabilityDebugView.js +0 -1
  113. package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
  114. package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -1
  115. package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
  116. package/lib/commonjs/handlers/RotationGestureHandler.js +14 -8
  117. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
  118. package/lib/commonjs/handlers/TapGestureHandler.js +16 -10
  119. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
  120. package/lib/commonjs/handlers/createHandler.js +55 -135
  121. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  122. package/lib/commonjs/handlers/createNativeWrapper.js +17 -27
  123. package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
  124. package/lib/commonjs/handlers/customDirectEventTypes.js +0 -1
  125. package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
  126. package/lib/commonjs/handlers/customDirectEventTypes.web.js +1 -2
  127. package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
  128. package/lib/commonjs/handlers/gestureHandlerCommon.js +9 -10
  129. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  130. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -1
  131. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +5 -14
  132. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  133. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +10 -20
  134. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  135. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +9 -29
  136. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  137. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +1 -10
  138. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  139. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +12 -37
  140. package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
  141. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -3
  142. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  143. package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +1 -1
  144. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +12 -24
  145. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  146. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -48
  147. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  148. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +3 -13
  149. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  150. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +2 -9
  151. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  152. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +8 -16
  153. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  154. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +28 -56
  155. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
  156. package/lib/commonjs/handlers/gestures/eventReceiver.js +14 -46
  157. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
  158. package/lib/commonjs/handlers/gestures/flingGesture.js +5 -12
  159. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
  160. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +8 -19
  161. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
  162. package/lib/commonjs/handlers/gestures/gesture.js +44 -84
  163. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  164. package/lib/commonjs/handlers/gestures/gestureComposition.js +17 -31
  165. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
  166. package/lib/commonjs/handlers/gestures/gestureObjects.js +1 -27
  167. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
  168. package/lib/commonjs/handlers/gestures/gestureStateManager.js +3 -9
  169. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
  170. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +2 -7
  171. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
  172. package/lib/commonjs/handlers/gestures/hoverGesture.js +11 -25
  173. package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
  174. package/lib/commonjs/handlers/gestures/longPressGesture.js +6 -14
  175. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
  176. package/lib/commonjs/handlers/gestures/manualGesture.js +0 -6
  177. package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
  178. package/lib/commonjs/handlers/gestures/nativeGesture.js +5 -12
  179. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
  180. package/lib/commonjs/handlers/gestures/panGesture.js +18 -43
  181. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
  182. package/lib/commonjs/handlers/gestures/pinchGesture.js +2 -9
  183. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
  184. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +1 -8
  185. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
  186. package/lib/commonjs/handlers/gestures/rotationGesture.js +2 -9
  187. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
  188. package/lib/commonjs/handlers/gestures/tapGesture.js +10 -22
  189. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
  190. package/lib/commonjs/handlers/getNextHandlerTag.js +0 -1
  191. package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
  192. package/lib/commonjs/handlers/handlersRegistry.js +11 -21
  193. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
  194. package/lib/commonjs/handlers/utils.js +6 -26
  195. package/lib/commonjs/handlers/utils.js.map +1 -1
  196. package/lib/commonjs/index.js +75 -104
  197. package/lib/commonjs/index.js.map +1 -1
  198. package/lib/commonjs/init.js +4 -11
  199. package/lib/commonjs/init.js.map +1 -1
  200. package/lib/commonjs/jestUtils/index.js +4 -5
  201. package/lib/commonjs/jestUtils/index.js.map +1 -1
  202. package/lib/commonjs/jestUtils/jestUtils.js +19 -83
  203. package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
  204. package/lib/commonjs/mocks.js +5 -15
  205. package/lib/commonjs/mocks.js.map +1 -1
  206. package/lib/commonjs/mountRegistry.js +3 -12
  207. package/lib/commonjs/mountRegistry.js.map +1 -1
  208. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +1 -5
  209. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
  210. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +2 -7
  211. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  212. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +2 -7
  213. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  214. package/lib/commonjs/typeUtils.js.map +1 -1
  215. package/lib/commonjs/utils.js +15 -30
  216. package/lib/commonjs/utils.js.map +1 -1
  217. package/lib/commonjs/web/Gestures.js +5 -23
  218. package/lib/commonjs/web/Gestures.js.map +1 -1
  219. package/lib/commonjs/web/constants.js +2 -4
  220. package/lib/commonjs/web/constants.js.map +1 -1
  221. package/lib/commonjs/web/detectors/RotationGestureDetector.js +26 -62
  222. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  223. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +36 -65
  224. package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
  225. package/lib/commonjs/web/handlers/FlingGestureHandler.js +12 -55
  226. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  227. package/lib/commonjs/web/handlers/GestureHandler.js +160 -273
  228. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  229. package/lib/commonjs/web/handlers/HoverGestureHandler.js +8 -21
  230. package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
  231. package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -1
  232. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +12 -53
  233. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
  234. package/lib/commonjs/web/handlers/ManualGestureHandler.js +1 -11
  235. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
  236. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +21 -62
  237. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  238. package/lib/commonjs/web/handlers/PanGestureHandler.js +23 -138
  239. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  240. package/lib/commonjs/web/handlers/PinchGestureHandler.js +19 -56
  241. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
  242. package/lib/commonjs/web/handlers/RotationGestureHandler.js +16 -54
  243. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
  244. package/lib/commonjs/web/handlers/TapGestureHandler.js +10 -71
  245. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  246. package/lib/commonjs/web/interfaces.js +9 -17
  247. package/lib/commonjs/web/interfaces.js.map +1 -1
  248. package/lib/commonjs/web/tools/CircularBuffer.js +17 -29
  249. package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
  250. package/lib/commonjs/web/tools/EventManager.js +7 -41
  251. package/lib/commonjs/web/tools/EventManager.js.map +1 -1
  252. package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -1
  253. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +51 -118
  254. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  255. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +37 -58
  256. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  257. package/lib/commonjs/web/tools/InteractionManager.js +21 -40
  258. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  259. package/lib/commonjs/web/tools/KeyboardEventManager.js +4 -26
  260. package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
  261. package/lib/commonjs/web/tools/LeastSquareSolver.js +30 -67
  262. package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
  263. package/lib/commonjs/web/tools/NodeManager.js +9 -16
  264. package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
  265. package/lib/commonjs/web/tools/PointerEventManager.js +10 -45
  266. package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
  267. package/lib/commonjs/web/tools/PointerTracker.js +24 -60
  268. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
  269. package/lib/commonjs/web/tools/Vector.js +3 -18
  270. package/lib/commonjs/web/tools/Vector.js.map +1 -1
  271. package/lib/commonjs/web/tools/VelocityTracker.js +10 -32
  272. package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
  273. package/lib/commonjs/web/tools/WheelEventManager.js +4 -17
  274. package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
  275. package/lib/commonjs/web/utils.js +26 -55
  276. package/lib/commonjs/web/utils.js.map +1 -1
  277. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +7 -19
  278. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
  279. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +3 -13
  280. package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
  281. package/lib/commonjs/web_hammer/Errors.js +0 -3
  282. package/lib/commonjs/web_hammer/Errors.js.map +1 -1
  283. package/lib/commonjs/web_hammer/FlingGestureHandler.js +13 -44
  284. package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
  285. package/lib/commonjs/web_hammer/GestureHandler.js +55 -142
  286. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
  287. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +2 -11
  288. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  289. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +5 -19
  290. package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
  291. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +16 -24
  292. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
  293. package/lib/commonjs/web_hammer/NodeManager.js +9 -16
  294. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
  295. package/lib/commonjs/web_hammer/PanGestureHandler.js +8 -49
  296. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
  297. package/lib/commonjs/web_hammer/PinchGestureHandler.js +2 -11
  298. package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
  299. package/lib/commonjs/web_hammer/PressGestureHandler.js +15 -43
  300. package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
  301. package/lib/commonjs/web_hammer/RotationGestureHandler.js +2 -13
  302. package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
  303. package/lib/commonjs/web_hammer/TapGestureHandler.js +33 -52
  304. package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
  305. package/lib/commonjs/web_hammer/constants.js +13 -26
  306. package/lib/commonjs/web_hammer/constants.js.map +1 -1
  307. package/lib/commonjs/web_hammer/utils.js +4 -14
  308. package/lib/commonjs/web_hammer/utils.js.map +1 -1
  309. package/lib/module/ActionType.js +3 -1
  310. package/lib/module/ActionType.js.map +1 -1
  311. package/lib/module/Directions.js +9 -3
  312. package/lib/module/Directions.js.map +1 -1
  313. package/lib/module/EnableNewWebImplementation.js +2 -5
  314. package/lib/module/EnableNewWebImplementation.js.map +1 -1
  315. package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
  316. package/lib/module/PlatformConstants.js +0 -1
  317. package/lib/module/PlatformConstants.js.map +1 -1
  318. package/lib/module/PlatformConstants.web.js +0 -1
  319. package/lib/module/PlatformConstants.web.js.map +1 -1
  320. package/lib/module/PointerType.js +3 -4
  321. package/lib/module/PointerType.js.map +1 -1
  322. package/lib/module/RNGestureHandlerModule.js +1 -0
  323. package/lib/module/RNGestureHandlerModule.js.map +1 -1
  324. package/lib/module/RNGestureHandlerModule.web.js +12 -22
  325. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  326. package/lib/module/RNGestureHandlerModule.windows.js +18 -17
  327. package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
  328. package/lib/module/RNRenderer.js.map +1 -1
  329. package/lib/module/RNRenderer.web.js.map +1 -1
  330. package/lib/module/State.js +4 -1
  331. package/lib/module/State.js.map +1 -1
  332. package/lib/module/TouchEventType.js +3 -1
  333. package/lib/module/TouchEventType.js.map +1 -1
  334. package/lib/module/components/DrawerLayout.js +87 -99
  335. package/lib/module/components/DrawerLayout.js.map +1 -1
  336. package/lib/module/components/GestureButtons.js +27 -55
  337. package/lib/module/components/GestureButtons.js.map +1 -1
  338. package/lib/module/components/GestureButtonsProps.js.map +1 -1
  339. package/lib/module/components/GestureComponents.js +17 -12
  340. package/lib/module/components/GestureComponents.js.map +1 -1
  341. package/lib/module/components/GestureComponents.web.js +4 -4
  342. package/lib/module/components/GestureComponents.web.js.map +1 -1
  343. package/lib/module/components/GestureHandlerButton.js.map +1 -1
  344. package/lib/module/components/GestureHandlerButton.web.js +1 -2
  345. package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
  346. package/lib/module/components/GestureHandlerRootView.android.js +1 -2
  347. package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
  348. package/lib/module/components/GestureHandlerRootView.js +1 -2
  349. package/lib/module/components/GestureHandlerRootView.js.map +1 -1
  350. package/lib/module/components/GestureHandlerRootView.web.js +1 -2
  351. package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
  352. package/lib/module/components/Pressable/Pressable.js +44 -61
  353. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  354. package/lib/module/components/Pressable/PressableProps.js.map +1 -1
  355. package/lib/module/components/Pressable/index.js.map +1 -1
  356. package/lib/module/components/Pressable/utils.js +4 -14
  357. package/lib/module/components/Pressable/utils.js.map +1 -1
  358. package/lib/module/components/ReanimatedDrawerLayout.js +34 -56
  359. package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
  360. package/lib/module/components/ReanimatedSwipeable.js +57 -44
  361. package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
  362. package/lib/module/components/Swipeable.js +28 -59
  363. package/lib/module/components/Swipeable.js.map +1 -1
  364. package/lib/module/components/Text.js +14 -13
  365. package/lib/module/components/Text.js.map +1 -1
  366. package/lib/module/components/gestureHandlerRootHOC.js +2 -2
  367. package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
  368. package/lib/module/components/touchables/GenericTouchable.js +34 -63
  369. package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
  370. package/lib/module/components/touchables/GenericTouchableProps.js.map +1 -1
  371. package/lib/module/components/touchables/TouchableHighlight.js +16 -23
  372. package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
  373. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +11 -19
  374. package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  375. package/lib/module/components/touchables/TouchableNativeFeedback.js +6 -1
  376. package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
  377. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  378. package/lib/module/components/touchables/TouchableOpacity.js +13 -14
  379. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  380. package/lib/module/components/touchables/TouchableWithoutFeedback.js +9 -2
  381. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  382. package/lib/module/components/touchables/index.js.map +1 -1
  383. package/lib/module/findNodeHandle.js.map +1 -1
  384. package/lib/module/findNodeHandle.web.js +9 -8
  385. package/lib/module/findNodeHandle.web.js.map +1 -1
  386. package/lib/module/getReactNativeVersion.js.map +1 -1
  387. package/lib/module/getReactNativeVersion.web.js.map +1 -1
  388. package/lib/module/getShadowNodeFromRef.js +13 -13
  389. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  390. package/lib/module/getShadowNodeFromRef.web.js.map +1 -1
  391. package/lib/module/ghQueueMicrotask.js.map +1 -1
  392. package/lib/module/handlers/FlingGestureHandler.js +13 -0
  393. package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
  394. package/lib/module/handlers/ForceTouchGestureHandler.js +16 -8
  395. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
  396. package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
  397. package/lib/module/handlers/LongPressGestureHandler.js +13 -0
  398. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
  399. package/lib/module/handlers/NativeViewGestureHandler.js +13 -0
  400. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
  401. package/lib/module/handlers/PanGestureHandler.js +15 -19
  402. package/lib/module/handlers/PanGestureHandler.js.map +1 -1
  403. package/lib/module/handlers/PinchGestureHandler.js +13 -0
  404. package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
  405. package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
  406. package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -1
  407. package/lib/module/handlers/RotationGestureHandler.js +13 -0
  408. package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
  409. package/lib/module/handlers/TapGestureHandler.js +13 -0
  410. package/lib/module/handlers/TapGestureHandler.js.map +1 -1
  411. package/lib/module/handlers/createHandler.js +54 -108
  412. package/lib/module/handlers/createHandler.js.map +1 -1
  413. package/lib/module/handlers/createNativeWrapper.js +12 -17
  414. package/lib/module/handlers/createNativeWrapper.js.map +1 -1
  415. package/lib/module/handlers/customDirectEventTypes.js.map +1 -1
  416. package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -1
  417. package/lib/module/handlers/gestureHandlerCommon.js +9 -4
  418. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  419. package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -1
  420. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +3 -4
  421. package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  422. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +5 -6
  423. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  424. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +8 -16
  425. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  426. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -1
  427. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  428. package/lib/module/handlers/gestures/GestureDetector/index.js +9 -15
  429. package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
  430. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -2
  431. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  432. package/lib/module/handlers/gestures/GestureDetector/types.js.map +1 -1
  433. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +11 -14
  434. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  435. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -39
  436. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  437. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +5 -5
  438. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  439. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +2 -6
  440. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  441. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -9
  442. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  443. package/lib/module/handlers/gestures/GestureDetector/utils.js +25 -30
  444. package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
  445. package/lib/module/handlers/gestures/eventReceiver.js +14 -38
  446. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
  447. package/lib/module/handlers/gestures/flingGesture.js +5 -9
  448. package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
  449. package/lib/module/handlers/gestures/forceTouchGesture.js +8 -17
  450. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
  451. package/lib/module/handlers/gestures/gesture.js +44 -73
  452. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  453. package/lib/module/handlers/gestures/gestureComposition.js +16 -24
  454. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
  455. package/lib/module/handlers/gestures/gestureObjects.js +1 -14
  456. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
  457. package/lib/module/handlers/gestures/gestureStateManager.js +3 -4
  458. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
  459. package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -1
  460. package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
  461. package/lib/module/handlers/gestures/hoverGesture.js +9 -18
  462. package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
  463. package/lib/module/handlers/gestures/longPressGesture.js +6 -11
  464. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
  465. package/lib/module/handlers/gestures/manualGesture.js +0 -4
  466. package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
  467. package/lib/module/handlers/gestures/nativeGesture.js +5 -9
  468. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
  469. package/lib/module/handlers/gestures/panGesture.js +18 -41
  470. package/lib/module/handlers/gestures/panGesture.js.map +1 -1
  471. package/lib/module/handlers/gestures/pinchGesture.js +2 -7
  472. package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
  473. package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -5
  474. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
  475. package/lib/module/handlers/gestures/rotationGesture.js +2 -7
  476. package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
  477. package/lib/module/handlers/gestures/tapGesture.js +10 -19
  478. package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
  479. package/lib/module/handlers/getNextHandlerTag.js.map +1 -1
  480. package/lib/module/handlers/handlersRegistry.js +6 -8
  481. package/lib/module/handlers/handlersRegistry.js.map +1 -1
  482. package/lib/module/handlers/utils.js +4 -13
  483. package/lib/module/handlers/utils.js.map +1 -1
  484. package/lib/module/index.js.map +1 -1
  485. package/lib/module/init.js +3 -2
  486. package/lib/module/init.js.map +1 -1
  487. package/lib/module/jestUtils/index.js.map +1 -1
  488. package/lib/module/jestUtils/jestUtils.js +20 -66
  489. package/lib/module/jestUtils/jestUtils.js.map +1 -1
  490. package/lib/module/mocks.js +3 -7
  491. package/lib/module/mocks.js.map +1 -1
  492. package/lib/module/mountRegistry.js +3 -10
  493. package/lib/module/mountRegistry.js.map +1 -1
  494. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
  495. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  496. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  497. package/lib/module/typeUtils.js.map +1 -1
  498. package/lib/module/utils.js +8 -13
  499. package/lib/module/utils.js.map +1 -1
  500. package/lib/module/web/Gestures.js +2 -1
  501. package/lib/module/web/Gestures.js.map +1 -1
  502. package/lib/module/web/constants.js.map +1 -1
  503. package/lib/module/web/detectors/RotationGestureDetector.js +26 -59
  504. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  505. package/lib/module/web/detectors/ScaleGestureDetector.js +36 -61
  506. package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
  507. package/lib/module/web/handlers/FlingGestureHandler.js +11 -45
  508. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  509. package/lib/module/web/handlers/GestureHandler.js +159 -259
  510. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  511. package/lib/module/web/handlers/HoverGestureHandler.js +7 -13
  512. package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
  513. package/lib/module/web/handlers/IGestureHandler.js.map +1 -1
  514. package/lib/module/web/handlers/LongPressGestureHandler.js +11 -46
  515. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
  516. package/lib/module/web/handlers/ManualGestureHandler.js +0 -6
  517. package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
  518. package/lib/module/web/handlers/NativeViewGestureHandler.js +20 -54
  519. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  520. package/lib/module/web/handlers/PanGestureHandler.js +22 -129
  521. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  522. package/lib/module/web/handlers/PinchGestureHandler.js +18 -48
  523. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
  524. package/lib/module/web/handlers/RotationGestureHandler.js +15 -46
  525. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
  526. package/lib/module/web/handlers/TapGestureHandler.js +9 -63
  527. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  528. package/lib/module/web/interfaces.js +9 -14
  529. package/lib/module/web/interfaces.js.map +1 -1
  530. package/lib/module/web/tools/CircularBuffer.js +17 -27
  531. package/lib/module/web/tools/CircularBuffer.js.map +1 -1
  532. package/lib/module/web/tools/EventManager.js +7 -39
  533. package/lib/module/web/tools/EventManager.js.map +1 -1
  534. package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -1
  535. package/lib/module/web/tools/GestureHandlerOrchestrator.js +50 -111
  536. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  537. package/lib/module/web/tools/GestureHandlerWebDelegate.js +36 -47
  538. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  539. package/lib/module/web/tools/InteractionManager.js +21 -35
  540. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  541. package/lib/module/web/tools/KeyboardEventManager.js +3 -19
  542. package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
  543. package/lib/module/web/tools/LeastSquareSolver.js +30 -65
  544. package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
  545. package/lib/module/web/tools/NodeManager.js +9 -14
  546. package/lib/module/web/tools/NodeManager.js.map +1 -1
  547. package/lib/module/web/tools/PointerEventManager.js +9 -35
  548. package/lib/module/web/tools/PointerEventManager.js.map +1 -1
  549. package/lib/module/web/tools/PointerTracker.js +23 -54
  550. package/lib/module/web/tools/PointerTracker.js.map +1 -1
  551. package/lib/module/web/tools/Vector.js +3 -14
  552. package/lib/module/web/tools/Vector.js.map +1 -1
  553. package/lib/module/web/tools/VelocityTracker.js +9 -26
  554. package/lib/module/web/tools/VelocityTracker.js.map +1 -1
  555. package/lib/module/web/tools/WheelEventManager.js +3 -10
  556. package/lib/module/web/tools/WheelEventManager.js.map +1 -1
  557. package/lib/module/web/utils.js +21 -40
  558. package/lib/module/web/utils.js.map +1 -1
  559. package/lib/module/web_hammer/DiscreteGestureHandler.js +4 -13
  560. package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
  561. package/lib/module/web_hammer/DraggingGestureHandler.js +0 -5
  562. package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
  563. package/lib/module/web_hammer/Errors.js +0 -1
  564. package/lib/module/web_hammer/Errors.js.map +1 -1
  565. package/lib/module/web_hammer/FlingGestureHandler.js +10 -35
  566. package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
  567. package/lib/module/web_hammer/GestureHandler.js +53 -130
  568. package/lib/module/web_hammer/GestureHandler.js.map +1 -1
  569. package/lib/module/web_hammer/IndiscreteGestureHandler.js +1 -6
  570. package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  571. package/lib/module/web_hammer/LongPressGestureHandler.js +2 -11
  572. package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -1
  573. package/lib/module/web_hammer/NativeViewGestureHandler.js +12 -12
  574. package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -1
  575. package/lib/module/web_hammer/NodeManager.js +6 -8
  576. package/lib/module/web_hammer/NodeManager.js.map +1 -1
  577. package/lib/module/web_hammer/PanGestureHandler.js +6 -40
  578. package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
  579. package/lib/module/web_hammer/PinchGestureHandler.js +0 -5
  580. package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
  581. package/lib/module/web_hammer/PressGestureHandler.js +13 -34
  582. package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
  583. package/lib/module/web_hammer/RotationGestureHandler.js +0 -6
  584. package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
  585. package/lib/module/web_hammer/TapGestureHandler.js +31 -45
  586. package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
  587. package/lib/module/web_hammer/constants.js +2 -1
  588. package/lib/module/web_hammer/constants.js.map +1 -1
  589. package/lib/module/web_hammer/utils.js +2 -2
  590. package/lib/module/web_hammer/utils.js.map +1 -1
  591. package/lib/typescript/components/DrawerLayout.d.ts +27 -0
  592. package/lib/typescript/components/GestureButtonsProps.d.ts +18 -2
  593. package/lib/typescript/components/Pressable/PressableProps.d.ts +3 -10
  594. package/lib/typescript/components/Pressable/index.d.ts +1 -1
  595. package/lib/typescript/components/ReanimatedSwipeable.d.ts +6 -0
  596. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +5 -0
  597. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +2 -0
  598. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +5 -1
  599. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -0
  600. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +5 -0
  601. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +6 -0
  602. package/lib/typescript/handlers/FlingGestureHandler.d.ts +9 -0
  603. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +9 -0
  604. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +9 -0
  605. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +9 -0
  606. package/lib/typescript/handlers/PanGestureHandler.d.ts +9 -0
  607. package/lib/typescript/handlers/PinchGestureHandler.d.ts +9 -0
  608. package/lib/typescript/handlers/RotationGestureHandler.d.ts +9 -0
  609. package/lib/typescript/handlers/TapGestureHandler.d.ts +9 -0
  610. package/lib/typescript/handlers/handlersRegistry.d.ts +1 -0
  611. package/lib/typescript/index.d.ts +1 -1
  612. package/lib/typescript/utils.d.ts +1 -1
  613. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +7 -7
  614. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +8 -8
  615. package/lib/typescript/web/handlers/GestureHandler.d.ts +33 -28
  616. package/lib/typescript/web/handlers/IGestureHandler.d.ts +12 -13
  617. package/lib/typescript/web/tools/CircularBuffer.d.ts +3 -3
  618. package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +1 -1
  619. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +2 -2
  620. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +3 -2
  621. package/lib/typescript/web/tools/InteractionManager.d.ts +2 -2
  622. package/lib/typescript/web/tools/NodeManager.d.ts +1 -1
  623. package/lib/typescript/web/tools/PointerTracker.d.ts +4 -4
  624. package/lib/typescript/web/tools/VelocityTracker.d.ts +1 -1
  625. package/package.json +2 -2
  626. package/src/RNGestureHandlerModule.web.ts +2 -2
  627. package/src/components/DrawerLayout.tsx +29 -0
  628. package/src/components/GestureButtons.tsx +13 -2
  629. package/src/components/GestureButtonsProps.ts +31 -2
  630. package/src/components/Pressable/Pressable.tsx +22 -5
  631. package/src/components/Pressable/PressableProps.tsx +4 -11
  632. package/src/components/Pressable/index.ts +4 -1
  633. package/src/components/ReanimatedSwipeable.tsx +97 -66
  634. package/src/components/Text.tsx +13 -4
  635. package/src/components/touchables/TouchableHighlight.tsx +5 -0
  636. package/src/components/touchables/TouchableNativeFeedback.android.tsx +2 -0
  637. package/src/components/touchables/TouchableNativeFeedback.tsx +6 -1
  638. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -0
  639. package/src/components/touchables/TouchableOpacity.tsx +5 -0
  640. package/src/components/touchables/TouchableWithoutFeedback.tsx +6 -0
  641. package/src/findNodeHandle.web.ts +6 -0
  642. package/src/handlers/FlingGestureHandler.ts +10 -0
  643. package/src/handlers/ForceTouchGestureHandler.ts +9 -0
  644. package/src/handlers/LongPressGestureHandler.ts +10 -0
  645. package/src/handlers/NativeViewGestureHandler.ts +10 -0
  646. package/src/handlers/PanGestureHandler.ts +10 -0
  647. package/src/handlers/PinchGestureHandler.ts +10 -0
  648. package/src/handlers/RotationGestureHandler.ts +10 -0
  649. package/src/handlers/TapGestureHandler.ts +10 -0
  650. package/src/handlers/createHandler.tsx +11 -4
  651. package/src/handlers/gestures/GestureDetector/index.tsx +2 -2
  652. package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +3 -3
  653. package/src/handlers/gestures/GestureDetector/utils.ts +2 -2
  654. package/src/handlers/handlersRegistry.ts +7 -3
  655. package/src/index.ts +4 -1
  656. package/src/utils.ts +2 -2
  657. package/src/web/detectors/RotationGestureDetector.ts +22 -22
  658. package/src/web/detectors/ScaleGestureDetector.ts +24 -24
  659. package/src/web/handlers/FlingGestureHandler.ts +6 -7
  660. package/src/web/handlers/GestureHandler.ts +115 -105
  661. package/src/web/handlers/HoverGestureHandler.ts +2 -2
  662. package/src/web/handlers/IGestureHandler.ts +12 -13
  663. package/src/web/handlers/LongPressGestureHandler.ts +7 -7
  664. package/src/web/handlers/NativeViewGestureHandler.ts +14 -19
  665. package/src/web/handlers/PanGestureHandler.ts +17 -17
  666. package/src/web/handlers/PinchGestureHandler.ts +17 -21
  667. package/src/web/handlers/RotationGestureHandler.ts +12 -12
  668. package/src/web/handlers/TapGestureHandler.ts +4 -6
  669. package/src/web/tools/CircularBuffer.ts +15 -15
  670. package/src/web/tools/GestureHandlerDelegate.ts +1 -1
  671. package/src/web/tools/GestureHandlerOrchestrator.ts +42 -42
  672. package/src/web/tools/GestureHandlerWebDelegate.ts +32 -13
  673. package/src/web/tools/InteractionManager.ts +16 -16
  674. package/src/web/tools/NodeManager.ts +2 -2
  675. package/src/web/tools/PointerTracker.ts +20 -20
  676. package/src/web/tools/Vector.ts +1 -1
  677. package/src/web/tools/VelocityTracker.ts +1 -1
@@ -4,50 +4,32 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GestureHandlerWebDelegate = void 0;
7
-
8
7
  var _findNodeHandle = _interopRequireDefault(require("../../findNodeHandle"));
9
-
10
8
  var _PointerEventManager = _interopRequireDefault(require("./PointerEventManager"));
11
-
12
9
  var _State = require("../../State");
13
-
14
10
  var _utils = require("../utils");
15
-
16
11
  var _gestureHandlerCommon = require("../../handlers/gestureHandlerCommon");
17
-
18
12
  var _KeyboardEventManager = _interopRequireDefault(require("./KeyboardEventManager"));
19
-
20
13
  var _WheelEventManager = _interopRequireDefault(require("./WheelEventManager"));
21
-
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
- 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; }
25
-
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ 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; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
17
+ 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); }
26
18
  class GestureHandlerWebDelegate {
27
19
  constructor() {
28
20
  _defineProperty(this, "isInitialized", false);
29
-
30
- _defineProperty(this, "view", void 0);
31
-
21
+ _defineProperty(this, "_view", void 0);
32
22
  _defineProperty(this, "gestureHandler", void 0);
33
-
34
23
  _defineProperty(this, "eventManagers", []);
35
-
36
24
  _defineProperty(this, "defaultViewStyles", {
37
25
  userSelect: '',
38
26
  touchAction: ''
39
27
  });
40
28
  }
41
-
42
- getView() {
43
- return this.view;
44
- }
45
-
46
29
  init(viewRef, handler) {
47
30
  if (!viewRef) {
48
- throw new Error(`Cannot find HTML Element for handler ${handler.getTag()}`);
31
+ throw new Error(`Cannot find HTML Element for handler ${handler.handlerTag}`);
49
32
  }
50
-
51
33
  this.isInitialized = true;
52
34
  this.gestureHandler = handler;
53
35
  this.view = (0, _findNodeHandle.default)(viewRef);
@@ -55,7 +37,7 @@ class GestureHandlerWebDelegate {
55
37
  userSelect: this.view.style.userSelect,
56
38
  touchAction: this.view.style.touchAction
57
39
  };
58
- const config = handler.getConfig();
40
+ const config = handler.config;
59
41
  this.setUserSelect(config.enabled);
60
42
  this.setTouchAction(config.enabled);
61
43
  this.setContextMenu(config.enabled);
@@ -64,7 +46,6 @@ class GestureHandlerWebDelegate {
64
46
  this.eventManagers.push(new _WheelEventManager.default(this.view));
65
47
  this.eventManagers.forEach(manager => this.gestureHandler.attachEventManager(manager));
66
48
  }
67
-
68
49
  isPointerInBounds({
69
50
  x,
70
51
  y
@@ -74,7 +55,6 @@ class GestureHandlerWebDelegate {
74
55
  y
75
56
  });
76
57
  }
77
-
78
58
  measureView() {
79
59
  const rect = this.view.getBoundingClientRect();
80
60
  return {
@@ -84,23 +64,18 @@ class GestureHandlerWebDelegate {
84
64
  height: rect.height
85
65
  };
86
66
  }
87
-
88
67
  reset() {
89
68
  this.eventManagers.forEach(manager => manager.resetManager());
90
69
  }
91
-
92
70
  tryResetCursor() {
93
- const config = this.gestureHandler.getConfig();
94
-
95
- if (config.activeCursor && config.activeCursor !== 'auto' && this.gestureHandler.getState() === _State.State.ACTIVE) {
71
+ const config = this.gestureHandler.config;
72
+ if (config.activeCursor && config.activeCursor !== 'auto' && this.gestureHandler.state === _State.State.ACTIVE) {
96
73
  this.view.style.cursor = 'auto';
97
74
  }
98
75
  }
99
-
100
76
  shouldDisableContextMenu(config) {
101
77
  return config.enableContextMenu === undefined && this.gestureHandler.isButtonInConfig(_gestureHandlerCommon.MouseButton.RIGHT) || config.enableContextMenu === false;
102
78
  }
103
-
104
79
  addContextMenuListeners(config) {
105
80
  if (this.shouldDisableContextMenu(config)) {
106
81
  this.view.addEventListener('contextmenu', this.disableContextMenu);
@@ -108,7 +83,6 @@ class GestureHandlerWebDelegate {
108
83
  this.view.addEventListener('contextmenu', this.enableContextMenu);
109
84
  }
110
85
  }
111
-
112
86
  removeContextMenuListeners(config) {
113
87
  if (this.shouldDisableContextMenu(config)) {
114
88
  this.view.removeEventListener('contextmenu', this.disableContextMenu);
@@ -116,83 +90,88 @@ class GestureHandlerWebDelegate {
116
90
  this.view.removeEventListener('contextmenu', this.enableContextMenu);
117
91
  }
118
92
  }
119
-
120
93
  disableContextMenu(e) {
121
94
  e.preventDefault();
122
95
  }
123
-
124
96
  enableContextMenu(e) {
125
97
  e.stopPropagation();
126
98
  }
127
-
128
99
  setUserSelect(isHandlerEnabled) {
129
100
  const {
130
101
  userSelect
131
- } = this.gestureHandler.getConfig();
102
+ } = this.gestureHandler.config;
132
103
  this.view.style['userSelect'] = isHandlerEnabled ? userSelect !== null && userSelect !== void 0 ? userSelect : 'none' : this.defaultViewStyles.userSelect;
133
104
  this.view.style['webkitUserSelect'] = isHandlerEnabled ? userSelect !== null && userSelect !== void 0 ? userSelect : 'none' : this.defaultViewStyles.userSelect;
134
105
  }
135
-
136
106
  setTouchAction(isHandlerEnabled) {
137
107
  const {
138
108
  touchAction
139
- } = this.gestureHandler.getConfig();
140
- this.view.style['touchAction'] = isHandlerEnabled ? touchAction !== null && touchAction !== void 0 ? touchAction : 'none' : this.defaultViewStyles.touchAction; // @ts-ignore This one disables default events on Safari
109
+ } = this.gestureHandler.config;
110
+ this.view.style['touchAction'] = isHandlerEnabled ? touchAction !== null && touchAction !== void 0 ? touchAction : 'none' : this.defaultViewStyles.touchAction;
141
111
 
112
+ // @ts-ignore This one disables default events on Safari
142
113
  this.view.style['WebkitTouchCallout'] = isHandlerEnabled ? touchAction !== null && touchAction !== void 0 ? touchAction : 'none' : this.defaultViewStyles.touchAction;
143
114
  }
144
-
145
115
  setContextMenu(isHandlerEnabled) {
146
- const config = this.gestureHandler.getConfig();
147
-
116
+ const config = this.gestureHandler.config;
148
117
  if (isHandlerEnabled) {
149
118
  this.addContextMenuListeners(config);
150
119
  } else {
151
120
  this.removeContextMenuListeners(config);
152
121
  }
153
122
  }
154
-
155
123
  onEnabledChange(enabled) {
156
124
  if (!this.isInitialized) {
157
125
  return;
158
126
  }
159
-
160
127
  this.setUserSelect(enabled);
161
128
  this.setTouchAction(enabled);
162
129
  this.setContextMenu(enabled);
130
+ if (enabled) {
131
+ this.eventManagers.forEach(manager => {
132
+ // It may look like managers will be registered twice when handler is mounted for the first time.
133
+ // However, `init` method is called AFTER `updateGestureConfig` - it means that delegate has not
134
+ // been initialized yet, so this code won't be executed.
135
+ //
136
+ // Also, because we use defined functions, not lambdas, they will not be registered multiple times.
137
+ manager.registerListeners();
138
+ });
139
+ } else {
140
+ this.eventManagers.forEach(manager => {
141
+ manager.unregisterListeners();
142
+ });
143
+ }
163
144
  }
164
-
165
- onBegin() {// no-op for now
145
+ onBegin() {
146
+ // no-op for now
166
147
  }
167
-
168
148
  onActivate() {
169
- const config = this.gestureHandler.getConfig();
170
-
149
+ const config = this.gestureHandler.config;
171
150
  if ((!this.view.style.cursor || this.view.style.cursor === 'auto') && config.activeCursor) {
172
151
  this.view.style.cursor = config.activeCursor;
173
152
  }
174
153
  }
175
-
176
154
  onEnd() {
177
155
  this.tryResetCursor();
178
156
  }
179
-
180
157
  onCancel() {
181
158
  this.tryResetCursor();
182
159
  }
183
-
184
160
  onFail() {
185
161
  this.tryResetCursor();
186
162
  }
187
-
188
163
  destroy(config) {
189
164
  this.removeContextMenuListeners(config);
190
165
  this.eventManagers.forEach(manager => {
191
166
  manager.unregisterListeners();
192
167
  });
193
168
  }
194
-
169
+ get view() {
170
+ return this._view;
171
+ }
172
+ set view(value) {
173
+ this._view = value;
174
+ }
195
175
  }
196
-
197
176
  exports.GestureHandlerWebDelegate = GestureHandlerWebDelegate;
198
177
  //# sourceMappingURL=GestureHandlerWebDelegate.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["GestureHandlerWebDelegate.ts"],"names":["GestureHandlerWebDelegate","userSelect","touchAction","getView","view","init","viewRef","handler","Error","getTag","isInitialized","gestureHandler","defaultViewStyles","style","config","getConfig","setUserSelect","enabled","setTouchAction","setContextMenu","eventManagers","push","PointerEventManager","KeyboardEventManager","WheelEventManager","forEach","manager","attachEventManager","isPointerInBounds","x","y","measureView","rect","getBoundingClientRect","pageX","left","pageY","top","width","height","reset","resetManager","tryResetCursor","activeCursor","getState","State","ACTIVE","cursor","shouldDisableContextMenu","enableContextMenu","undefined","isButtonInConfig","MouseButton","RIGHT","addContextMenuListeners","addEventListener","disableContextMenu","removeContextMenuListeners","removeEventListener","e","preventDefault","stopPropagation","isHandlerEnabled","onEnabledChange","onBegin","onActivate","onEnd","onCancel","onFail","destroy","unregisterListeners"],"mappings":"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","sourcesContent":["import findNodeHandle from '../../findNodeHandle';\nimport type IGestureHandler from '../handlers/IGestureHandler';\nimport {\n GestureHandlerDelegate,\n MeasureResult,\n} from './GestureHandlerDelegate';\nimport PointerEventManager from './PointerEventManager';\nimport { State } from '../../State';\nimport { isPointerInBounds } from '../utils';\nimport EventManager from './EventManager';\nimport { Config } from '../interfaces';\nimport { MouseButton } from '../../handlers/gestureHandlerCommon';\nimport KeyboardEventManager from './KeyboardEventManager';\nimport WheelEventManager from './WheelEventManager';\n\ninterface DefaultViewStyles {\n userSelect: string;\n touchAction: string;\n}\n\nexport class GestureHandlerWebDelegate\n implements GestureHandlerDelegate<HTMLElement, IGestureHandler>\n{\n private isInitialized = false;\n private view!: HTMLElement;\n private gestureHandler!: IGestureHandler;\n private eventManagers: EventManager<unknown>[] = [];\n private defaultViewStyles: DefaultViewStyles = {\n userSelect: '',\n touchAction: '',\n };\n\n getView(): HTMLElement {\n return this.view;\n }\n\n init(viewRef: number, handler: IGestureHandler): void {\n if (!viewRef) {\n throw new Error(\n `Cannot find HTML Element for handler ${handler.getTag()}`\n );\n }\n\n this.isInitialized = true;\n\n this.gestureHandler = handler;\n this.view = findNodeHandle(viewRef) as unknown as HTMLElement;\n\n this.defaultViewStyles = {\n userSelect: this.view.style.userSelect,\n touchAction: this.view.style.touchAction,\n };\n\n const config = handler.getConfig();\n\n this.setUserSelect(config.enabled);\n this.setTouchAction(config.enabled);\n this.setContextMenu(config.enabled);\n\n this.eventManagers.push(new PointerEventManager(this.view));\n this.eventManagers.push(new KeyboardEventManager(this.view));\n this.eventManagers.push(new WheelEventManager(this.view));\n\n this.eventManagers.forEach((manager) =>\n this.gestureHandler.attachEventManager(manager)\n );\n }\n\n isPointerInBounds({ x, y }: { x: number; y: number }): boolean {\n return isPointerInBounds(this.view, { x, y });\n }\n\n measureView(): MeasureResult {\n const rect = this.view.getBoundingClientRect();\n\n return {\n pageX: rect.left,\n pageY: rect.top,\n width: rect.width,\n height: rect.height,\n };\n }\n\n reset(): void {\n this.eventManagers.forEach((manager: EventManager<unknown>) =>\n manager.resetManager()\n );\n }\n\n tryResetCursor() {\n const config = this.gestureHandler.getConfig();\n\n if (\n config.activeCursor &&\n config.activeCursor !== 'auto' &&\n this.gestureHandler.getState() === State.ACTIVE\n ) {\n this.view.style.cursor = 'auto';\n }\n }\n\n private shouldDisableContextMenu(config: Config) {\n return (\n (config.enableContextMenu === undefined &&\n this.gestureHandler.isButtonInConfig(MouseButton.RIGHT)) ||\n config.enableContextMenu === false\n );\n }\n\n private addContextMenuListeners(config: Config): void {\n if (this.shouldDisableContextMenu(config)) {\n this.view.addEventListener('contextmenu', this.disableContextMenu);\n } else if (config.enableContextMenu) {\n this.view.addEventListener('contextmenu', this.enableContextMenu);\n }\n }\n\n private removeContextMenuListeners(config: Config): void {\n if (this.shouldDisableContextMenu(config)) {\n this.view.removeEventListener('contextmenu', this.disableContextMenu);\n } else if (config.enableContextMenu) {\n this.view.removeEventListener('contextmenu', this.enableContextMenu);\n }\n }\n\n private disableContextMenu(this: void, e: MouseEvent): void {\n e.preventDefault();\n }\n\n private enableContextMenu(this: void, e: MouseEvent): void {\n e.stopPropagation();\n }\n\n private setUserSelect(isHandlerEnabled: boolean) {\n const { userSelect } = this.gestureHandler.getConfig();\n\n this.view.style['userSelect'] = isHandlerEnabled\n ? (userSelect ?? 'none')\n : this.defaultViewStyles.userSelect;\n\n this.view.style['webkitUserSelect'] = isHandlerEnabled\n ? (userSelect ?? 'none')\n : this.defaultViewStyles.userSelect;\n }\n\n private setTouchAction(isHandlerEnabled: boolean) {\n const { touchAction } = this.gestureHandler.getConfig();\n\n this.view.style['touchAction'] = isHandlerEnabled\n ? (touchAction ?? 'none')\n : this.defaultViewStyles.touchAction;\n\n // @ts-ignore This one disables default events on Safari\n this.view.style['WebkitTouchCallout'] = isHandlerEnabled\n ? (touchAction ?? 'none')\n : this.defaultViewStyles.touchAction;\n }\n\n private setContextMenu(isHandlerEnabled: boolean) {\n const config = this.gestureHandler.getConfig();\n\n if (isHandlerEnabled) {\n this.addContextMenuListeners(config);\n } else {\n this.removeContextMenuListeners(config);\n }\n }\n\n onEnabledChange(enabled: boolean): void {\n if (!this.isInitialized) {\n return;\n }\n\n this.setUserSelect(enabled);\n this.setTouchAction(enabled);\n this.setContextMenu(enabled);\n }\n\n onBegin(): void {\n // no-op for now\n }\n\n onActivate(): void {\n const config = this.gestureHandler.getConfig();\n\n if (\n (!this.view.style.cursor || this.view.style.cursor === 'auto') &&\n config.activeCursor\n ) {\n this.view.style.cursor = config.activeCursor;\n }\n }\n\n onEnd(): void {\n this.tryResetCursor();\n }\n\n onCancel(): void {\n this.tryResetCursor();\n }\n\n onFail(): void {\n this.tryResetCursor();\n }\n\n public destroy(config: Config): void {\n this.removeContextMenuListeners(config);\n\n this.eventManagers.forEach((manager) => {\n manager.unregisterListeners();\n });\n }\n}\n"]}
1
+ {"version":3,"names":["_findNodeHandle","_interopRequireDefault","require","_PointerEventManager","_State","_utils","_gestureHandlerCommon","_KeyboardEventManager","_WheelEventManager","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GestureHandlerWebDelegate","constructor","userSelect","touchAction","init","viewRef","handler","Error","handlerTag","isInitialized","gestureHandler","view","findNodeHandle","defaultViewStyles","style","config","setUserSelect","enabled","setTouchAction","setContextMenu","eventManagers","push","PointerEventManager","KeyboardEventManager","WheelEventManager","forEach","manager","attachEventManager","isPointerInBounds","x","y","measureView","rect","getBoundingClientRect","pageX","left","pageY","top","width","height","reset","resetManager","tryResetCursor","activeCursor","state","State","ACTIVE","cursor","shouldDisableContextMenu","enableContextMenu","undefined","isButtonInConfig","MouseButton","RIGHT","addContextMenuListeners","addEventListener","disableContextMenu","removeContextMenuListeners","removeEventListener","preventDefault","stopPropagation","isHandlerEnabled","onEnabledChange","registerListeners","unregisterListeners","onBegin","onActivate","onEnd","onCancel","onFail","destroy","_view","exports"],"sources":["GestureHandlerWebDelegate.ts"],"sourcesContent":["import findNodeHandle from '../../findNodeHandle';\nimport type IGestureHandler from '../handlers/IGestureHandler';\nimport {\n GestureHandlerDelegate,\n MeasureResult,\n} from './GestureHandlerDelegate';\nimport PointerEventManager from './PointerEventManager';\nimport { State } from '../../State';\nimport { isPointerInBounds } from '../utils';\nimport EventManager from './EventManager';\nimport { Config } from '../interfaces';\nimport { MouseButton } from '../../handlers/gestureHandlerCommon';\nimport KeyboardEventManager from './KeyboardEventManager';\nimport WheelEventManager from './WheelEventManager';\n\ninterface DefaultViewStyles {\n userSelect: string;\n touchAction: string;\n}\n\nexport class GestureHandlerWebDelegate\n implements GestureHandlerDelegate<HTMLElement, IGestureHandler>\n{\n private isInitialized = false;\n private _view!: HTMLElement;\n\n private gestureHandler!: IGestureHandler;\n private eventManagers: EventManager<unknown>[] = [];\n private defaultViewStyles: DefaultViewStyles = {\n userSelect: '',\n touchAction: '',\n };\n\n init(viewRef: number, handler: IGestureHandler): void {\n if (!viewRef) {\n throw new Error(\n `Cannot find HTML Element for handler ${handler.handlerTag}`\n );\n }\n\n this.isInitialized = true;\n\n this.gestureHandler = handler;\n this.view = findNodeHandle(viewRef) as unknown as HTMLElement;\n\n this.defaultViewStyles = {\n userSelect: this.view.style.userSelect,\n touchAction: this.view.style.touchAction,\n };\n\n const config = handler.config;\n\n this.setUserSelect(config.enabled);\n this.setTouchAction(config.enabled);\n this.setContextMenu(config.enabled);\n\n this.eventManagers.push(new PointerEventManager(this.view));\n this.eventManagers.push(new KeyboardEventManager(this.view));\n this.eventManagers.push(new WheelEventManager(this.view));\n\n this.eventManagers.forEach((manager) =>\n this.gestureHandler.attachEventManager(manager)\n );\n }\n\n isPointerInBounds({ x, y }: { x: number; y: number }): boolean {\n return isPointerInBounds(this.view, { x, y });\n }\n\n measureView(): MeasureResult {\n const rect = this.view.getBoundingClientRect();\n\n return {\n pageX: rect.left,\n pageY: rect.top,\n width: rect.width,\n height: rect.height,\n };\n }\n\n reset(): void {\n this.eventManagers.forEach((manager: EventManager<unknown>) =>\n manager.resetManager()\n );\n }\n\n tryResetCursor() {\n const config = this.gestureHandler.config;\n\n if (\n config.activeCursor &&\n config.activeCursor !== 'auto' &&\n this.gestureHandler.state === State.ACTIVE\n ) {\n this.view.style.cursor = 'auto';\n }\n }\n\n private shouldDisableContextMenu(config: Config) {\n return (\n (config.enableContextMenu === undefined &&\n this.gestureHandler.isButtonInConfig(MouseButton.RIGHT)) ||\n config.enableContextMenu === false\n );\n }\n\n private addContextMenuListeners(config: Config): void {\n if (this.shouldDisableContextMenu(config)) {\n this.view.addEventListener('contextmenu', this.disableContextMenu);\n } else if (config.enableContextMenu) {\n this.view.addEventListener('contextmenu', this.enableContextMenu);\n }\n }\n\n private removeContextMenuListeners(config: Config): void {\n if (this.shouldDisableContextMenu(config)) {\n this.view.removeEventListener('contextmenu', this.disableContextMenu);\n } else if (config.enableContextMenu) {\n this.view.removeEventListener('contextmenu', this.enableContextMenu);\n }\n }\n\n private disableContextMenu(this: void, e: MouseEvent): void {\n e.preventDefault();\n }\n\n private enableContextMenu(this: void, e: MouseEvent): void {\n e.stopPropagation();\n }\n\n private setUserSelect(isHandlerEnabled: boolean) {\n const { userSelect } = this.gestureHandler.config;\n\n this.view.style['userSelect'] = isHandlerEnabled\n ? (userSelect ?? 'none')\n : this.defaultViewStyles.userSelect;\n\n this.view.style['webkitUserSelect'] = isHandlerEnabled\n ? (userSelect ?? 'none')\n : this.defaultViewStyles.userSelect;\n }\n\n private setTouchAction(isHandlerEnabled: boolean) {\n const { touchAction } = this.gestureHandler.config;\n\n this.view.style['touchAction'] = isHandlerEnabled\n ? (touchAction ?? 'none')\n : this.defaultViewStyles.touchAction;\n\n // @ts-ignore This one disables default events on Safari\n this.view.style['WebkitTouchCallout'] = isHandlerEnabled\n ? (touchAction ?? 'none')\n : this.defaultViewStyles.touchAction;\n }\n\n private setContextMenu(isHandlerEnabled: boolean) {\n const config = this.gestureHandler.config;\n\n if (isHandlerEnabled) {\n this.addContextMenuListeners(config);\n } else {\n this.removeContextMenuListeners(config);\n }\n }\n\n onEnabledChange(enabled: boolean): void {\n if (!this.isInitialized) {\n return;\n }\n\n this.setUserSelect(enabled);\n this.setTouchAction(enabled);\n this.setContextMenu(enabled);\n\n if (enabled) {\n this.eventManagers.forEach((manager) => {\n // It may look like managers will be registered twice when handler is mounted for the first time.\n // However, `init` method is called AFTER `updateGestureConfig` - it means that delegate has not\n // been initialized yet, so this code won't be executed.\n //\n // Also, because we use defined functions, not lambdas, they will not be registered multiple times.\n manager.registerListeners();\n });\n } else {\n this.eventManagers.forEach((manager) => {\n manager.unregisterListeners();\n });\n }\n }\n\n onBegin(): void {\n // no-op for now\n }\n\n onActivate(): void {\n const config = this.gestureHandler.config;\n\n if (\n (!this.view.style.cursor || this.view.style.cursor === 'auto') &&\n config.activeCursor\n ) {\n this.view.style.cursor = config.activeCursor;\n }\n }\n\n onEnd(): void {\n this.tryResetCursor();\n }\n\n onCancel(): void {\n this.tryResetCursor();\n }\n\n onFail(): void {\n this.tryResetCursor();\n }\n\n public destroy(config: Config): void {\n this.removeContextMenuListeners(config);\n\n this.eventManagers.forEach((manager) => {\n manager.unregisterListeners();\n });\n }\n\n public get view() {\n return this._view;\n }\n public set view(value: HTMLElement) {\n this._view = value;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMA,IAAAC,oBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAGA,IAAAI,qBAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,kBAAA,GAAAP,sBAAA,CAAAC,OAAA;AAAoD,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAO7C,MAAMgB,yBAAyB,CAEtC;EAAAC,YAAA;IAAAnB,eAAA,wBAC0B,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBAIoB,EAAE;IAAAA,eAAA,4BACJ;MAC7CoB,UAAU,EAAE,EAAE;MACdC,WAAW,EAAE;IACf,CAAC;EAAA;EAEDC,IAAIA,CAACC,OAAe,EAAEC,OAAwB,EAAQ;IACpD,IAAI,CAACD,OAAO,EAAE;MACZ,MAAM,IAAIE,KAAK,CACb,wCAAwCD,OAAO,CAACE,UAAU,EAC5D,CAAC;IACH;IAEA,IAAI,CAACC,aAAa,GAAG,IAAI;IAEzB,IAAI,CAACC,cAAc,GAAGJ,OAAO;IAC7B,IAAI,CAACK,IAAI,GAAG,IAAAC,uBAAc,EAACP,OAAO,CAA2B;IAE7D,IAAI,CAACQ,iBAAiB,GAAG;MACvBX,UAAU,EAAE,IAAI,CAACS,IAAI,CAACG,KAAK,CAACZ,UAAU;MACtCC,WAAW,EAAE,IAAI,CAACQ,IAAI,CAACG,KAAK,CAACX;IAC/B,CAAC;IAED,MAAMY,MAAM,GAAGT,OAAO,CAACS,MAAM;IAE7B,IAAI,CAACC,aAAa,CAACD,MAAM,CAACE,OAAO,CAAC;IAClC,IAAI,CAACC,cAAc,CAACH,MAAM,CAACE,OAAO,CAAC;IACnC,IAAI,CAACE,cAAc,CAACJ,MAAM,CAACE,OAAO,CAAC;IAEnC,IAAI,CAACG,aAAa,CAACC,IAAI,CAAC,IAAIC,4BAAmB,CAAC,IAAI,CAACX,IAAI,CAAC,CAAC;IAC3D,IAAI,CAACS,aAAa,CAACC,IAAI,CAAC,IAAIE,6BAAoB,CAAC,IAAI,CAACZ,IAAI,CAAC,CAAC;IAC5D,IAAI,CAACS,aAAa,CAACC,IAAI,CAAC,IAAIG,0BAAiB,CAAC,IAAI,CAACb,IAAI,CAAC,CAAC;IAEzD,IAAI,CAACS,aAAa,CAACK,OAAO,CAAEC,OAAO,IACjC,IAAI,CAAChB,cAAc,CAACiB,kBAAkB,CAACD,OAAO,CAChD,CAAC;EACH;EAEAE,iBAAiBA,CAAC;IAAEC,CAAC;IAAEC;EAA4B,CAAC,EAAW;IAC7D,OAAO,IAAAF,wBAAiB,EAAC,IAAI,CAACjB,IAAI,EAAE;MAAEkB,CAAC;MAAEC;IAAE,CAAC,CAAC;EAC/C;EAEAC,WAAWA,CAAA,EAAkB;IAC3B,MAAMC,IAAI,GAAG,IAAI,CAACrB,IAAI,CAACsB,qBAAqB,CAAC,CAAC;IAE9C,OAAO;MACLC,KAAK,EAAEF,IAAI,CAACG,IAAI;MAChBC,KAAK,EAAEJ,IAAI,CAACK,GAAG;MACfC,KAAK,EAAEN,IAAI,CAACM,KAAK;MACjBC,MAAM,EAAEP,IAAI,CAACO;IACf,CAAC;EACH;EAEAC,KAAKA,CAAA,EAAS;IACZ,IAAI,CAACpB,aAAa,CAACK,OAAO,CAAEC,OAA8B,IACxDA,OAAO,CAACe,YAAY,CAAC,CACvB,CAAC;EACH;EAEAC,cAAcA,CAAA,EAAG;IACf,MAAM3B,MAAM,GAAG,IAAI,CAACL,cAAc,CAACK,MAAM;IAEzC,IACEA,MAAM,CAAC4B,YAAY,IACnB5B,MAAM,CAAC4B,YAAY,KAAK,MAAM,IAC9B,IAAI,CAACjC,cAAc,CAACkC,KAAK,KAAKC,YAAK,CAACC,MAAM,EAC1C;MACA,IAAI,CAACnC,IAAI,CAACG,KAAK,CAACiC,MAAM,GAAG,MAAM;IACjC;EACF;EAEQC,wBAAwBA,CAACjC,MAAc,EAAE;IAC/C,OACGA,MAAM,CAACkC,iBAAiB,KAAKC,SAAS,IACrC,IAAI,CAACxC,cAAc,CAACyC,gBAAgB,CAACC,iCAAW,CAACC,KAAK,CAAC,IACzDtC,MAAM,CAACkC,iBAAiB,KAAK,KAAK;EAEtC;EAEQK,uBAAuBA,CAACvC,MAAc,EAAQ;IACpD,IAAI,IAAI,CAACiC,wBAAwB,CAACjC,MAAM,CAAC,EAAE;MACzC,IAAI,CAACJ,IAAI,CAAC4C,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAACC,kBAAkB,CAAC;IACpE,CAAC,MAAM,IAAIzC,MAAM,CAACkC,iBAAiB,EAAE;MACnC,IAAI,CAACtC,IAAI,CAAC4C,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAACN,iBAAiB,CAAC;IACnE;EACF;EAEQQ,0BAA0BA,CAAC1C,MAAc,EAAQ;IACvD,IAAI,IAAI,CAACiC,wBAAwB,CAACjC,MAAM,CAAC,EAAE;MACzC,IAAI,CAACJ,IAAI,CAAC+C,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAACF,kBAAkB,CAAC;IACvE,CAAC,MAAM,IAAIzC,MAAM,CAACkC,iBAAiB,EAAE;MACnC,IAAI,CAACtC,IAAI,CAAC+C,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAACT,iBAAiB,CAAC;IACtE;EACF;EAEQO,kBAAkBA,CAAa7E,CAAa,EAAQ;IAC1DA,CAAC,CAACgF,cAAc,CAAC,CAAC;EACpB;EAEQV,iBAAiBA,CAAatE,CAAa,EAAQ;IACzDA,CAAC,CAACiF,eAAe,CAAC,CAAC;EACrB;EAEQ5C,aAAaA,CAAC6C,gBAAyB,EAAE;IAC/C,MAAM;MAAE3D;IAAW,CAAC,GAAG,IAAI,CAACQ,cAAc,CAACK,MAAM;IAEjD,IAAI,CAACJ,IAAI,CAACG,KAAK,CAAC,YAAY,CAAC,GAAG+C,gBAAgB,GAC3C3D,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,MAAM,GACrB,IAAI,CAACW,iBAAiB,CAACX,UAAU;IAErC,IAAI,CAACS,IAAI,CAACG,KAAK,CAAC,kBAAkB,CAAC,GAAG+C,gBAAgB,GACjD3D,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,MAAM,GACrB,IAAI,CAACW,iBAAiB,CAACX,UAAU;EACvC;EAEQgB,cAAcA,CAAC2C,gBAAyB,EAAE;IAChD,MAAM;MAAE1D;IAAY,CAAC,GAAG,IAAI,CAACO,cAAc,CAACK,MAAM;IAElD,IAAI,CAACJ,IAAI,CAACG,KAAK,CAAC,aAAa,CAAC,GAAG+C,gBAAgB,GAC5C1D,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI,MAAM,GACtB,IAAI,CAACU,iBAAiB,CAACV,WAAW;;IAEtC;IACA,IAAI,CAACQ,IAAI,CAACG,KAAK,CAAC,oBAAoB,CAAC,GAAG+C,gBAAgB,GACnD1D,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI,MAAM,GACtB,IAAI,CAACU,iBAAiB,CAACV,WAAW;EACxC;EAEQgB,cAAcA,CAAC0C,gBAAyB,EAAE;IAChD,MAAM9C,MAAM,GAAG,IAAI,CAACL,cAAc,CAACK,MAAM;IAEzC,IAAI8C,gBAAgB,EAAE;MACpB,IAAI,CAACP,uBAAuB,CAACvC,MAAM,CAAC;IACtC,CAAC,MAAM;MACL,IAAI,CAAC0C,0BAA0B,CAAC1C,MAAM,CAAC;IACzC;EACF;EAEA+C,eAAeA,CAAC7C,OAAgB,EAAQ;IACtC,IAAI,CAAC,IAAI,CAACR,aAAa,EAAE;MACvB;IACF;IAEA,IAAI,CAACO,aAAa,CAACC,OAAO,CAAC;IAC3B,IAAI,CAACC,cAAc,CAACD,OAAO,CAAC;IAC5B,IAAI,CAACE,cAAc,CAACF,OAAO,CAAC;IAE5B,IAAIA,OAAO,EAAE;MACX,IAAI,CAACG,aAAa,CAACK,OAAO,CAAEC,OAAO,IAAK;QACtC;QACA;QACA;QACA;QACA;QACAA,OAAO,CAACqC,iBAAiB,CAAC,CAAC;MAC7B,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAAC3C,aAAa,CAACK,OAAO,CAAEC,OAAO,IAAK;QACtCA,OAAO,CAACsC,mBAAmB,CAAC,CAAC;MAC/B,CAAC,CAAC;IACJ;EACF;EAEAC,OAAOA,CAAA,EAAS;IACd;EAAA;EAGFC,UAAUA,CAAA,EAAS;IACjB,MAAMnD,MAAM,GAAG,IAAI,CAACL,cAAc,CAACK,MAAM;IAEzC,IACE,CAAC,CAAC,IAAI,CAACJ,IAAI,CAACG,KAAK,CAACiC,MAAM,IAAI,IAAI,CAACpC,IAAI,CAACG,KAAK,CAACiC,MAAM,KAAK,MAAM,KAC7DhC,MAAM,CAAC4B,YAAY,EACnB;MACA,IAAI,CAAChC,IAAI,CAACG,KAAK,CAACiC,MAAM,GAAGhC,MAAM,CAAC4B,YAAY;IAC9C;EACF;EAEAwB,KAAKA,CAAA,EAAS;IACZ,IAAI,CAACzB,cAAc,CAAC,CAAC;EACvB;EAEA0B,QAAQA,CAAA,EAAS;IACf,IAAI,CAAC1B,cAAc,CAAC,CAAC;EACvB;EAEA2B,MAAMA,CAAA,EAAS;IACb,IAAI,CAAC3B,cAAc,CAAC,CAAC;EACvB;EAEO4B,OAAOA,CAACvD,MAAc,EAAQ;IACnC,IAAI,CAAC0C,0BAA0B,CAAC1C,MAAM,CAAC;IAEvC,IAAI,CAACK,aAAa,CAACK,OAAO,CAAEC,OAAO,IAAK;MACtCA,OAAO,CAACsC,mBAAmB,CAAC,CAAC;IAC/B,CAAC,CAAC;EACJ;EAEA,IAAWrD,IAAIA,CAAA,EAAG;IAChB,OAAO,IAAI,CAAC4D,KAAK;EACnB;EACA,IAAW5D,IAAIA,CAACvB,KAAkB,EAAE;IAClC,IAAI,CAACmF,KAAK,GAAGnF,KAAK;EACpB;AACF;AAACoF,OAAA,CAAAxE,yBAAA,GAAAA,yBAAA","ignoreList":[]}
@@ -4,25 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _State = require("../../State");
9
-
10
- 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; }
11
-
8
+ var _InteractionManager;
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); }
12
12
  class InteractionManager {
13
13
  // Private becaues of singleton
14
14
  // eslint-disable-next-line no-useless-constructor, @typescript-eslint/no-empty-function
15
15
  constructor() {
16
16
  _defineProperty(this, "waitForRelations", new Map());
17
-
18
17
  _defineProperty(this, "simultaneousRelations", new Map());
19
-
20
18
  _defineProperty(this, "blocksHandlersRelations", new Map());
21
19
  }
22
-
23
20
  configureInteractions(handler, config) {
24
- this.dropRelationsForHandlerWithTag(handler.getTag());
25
-
21
+ this.dropRelationsForHandlerWithTag(handler.handlerTag);
26
22
  if (config.waitFor) {
27
23
  const waitFor = [];
28
24
  config.waitFor.forEach(otherHandler => {
@@ -34,9 +30,8 @@ class InteractionManager {
34
30
  waitFor.push(otherHandler.handlerTag);
35
31
  }
36
32
  });
37
- this.waitForRelations.set(handler.getTag(), waitFor);
33
+ this.waitForRelations.set(handler.handlerTag, waitFor);
38
34
  }
39
-
40
35
  if (config.simultaneousHandlers) {
41
36
  const simultaneousHandlers = [];
42
37
  config.simultaneousHandlers.forEach(otherHandler => {
@@ -46,9 +41,8 @@ class InteractionManager {
46
41
  simultaneousHandlers.push(otherHandler.handlerTag);
47
42
  }
48
43
  });
49
- this.simultaneousRelations.set(handler.getTag(), simultaneousHandlers);
44
+ this.simultaneousRelations.set(handler.handlerTag, simultaneousHandlers);
50
45
  }
51
-
52
46
  if (config.blocksHandlers) {
53
47
  const blocksHandlers = [];
54
48
  config.blocksHandlers.forEach(otherHandler => {
@@ -58,66 +52,53 @@ class InteractionManager {
58
52
  blocksHandlers.push(otherHandler.handlerTag);
59
53
  }
60
54
  });
61
- this.blocksHandlersRelations.set(handler.getTag(), blocksHandlers);
55
+ this.blocksHandlersRelations.set(handler.handlerTag, blocksHandlers);
62
56
  }
63
57
  }
64
-
65
58
  shouldWaitForHandlerFailure(handler, otherHandler) {
66
- const waitFor = this.waitForRelations.get(handler.getTag());
59
+ const waitFor = this.waitForRelations.get(handler.handlerTag);
67
60
  return (waitFor === null || waitFor === void 0 ? void 0 : waitFor.find(tag => {
68
- return tag === otherHandler.getTag();
61
+ return tag === otherHandler.handlerTag;
69
62
  })) !== undefined;
70
63
  }
71
-
72
64
  shouldRecognizeSimultaneously(handler, otherHandler) {
73
- const simultaneousHandlers = this.simultaneousRelations.get(handler.getTag());
65
+ const simultaneousHandlers = this.simultaneousRelations.get(handler.handlerTag);
74
66
  return (simultaneousHandlers === null || simultaneousHandlers === void 0 ? void 0 : simultaneousHandlers.find(tag => {
75
- return tag === otherHandler.getTag();
67
+ return tag === otherHandler.handlerTag;
76
68
  })) !== undefined;
77
69
  }
78
-
79
70
  shouldRequireHandlerToWaitForFailure(handler, otherHandler) {
80
- const waitFor = this.blocksHandlersRelations.get(handler.getTag());
71
+ const waitFor = this.blocksHandlersRelations.get(handler.handlerTag);
81
72
  return (waitFor === null || waitFor === void 0 ? void 0 : waitFor.find(tag => {
82
- return tag === otherHandler.getTag();
73
+ return tag === otherHandler.handlerTag;
83
74
  })) !== undefined;
84
75
  }
85
-
86
76
  shouldHandlerBeCancelledBy(_handler, otherHandler) {
87
77
  var _otherHandler$isButto;
88
-
89
78
  // We check constructor name instead of using `instanceof` in order do avoid circular dependencies
90
79
  const isNativeHandler = otherHandler.constructor.name === 'NativeViewGestureHandler';
91
-
92
- const isActive = otherHandler.getState() === _State.State.ACTIVE;
93
-
80
+ const isActive = otherHandler.state === _State.State.ACTIVE;
94
81
  const isButton = ((_otherHandler$isButto = otherHandler.isButton) === null || _otherHandler$isButto === void 0 ? void 0 : _otherHandler$isButto.call(otherHandler)) === true;
95
82
  return isNativeHandler && isActive && !isButton;
96
83
  }
97
-
98
84
  dropRelationsForHandlerWithTag(handlerTag) {
99
85
  this.waitForRelations.delete(handlerTag);
100
86
  this.simultaneousRelations.delete(handlerTag);
101
87
  this.blocksHandlersRelations.delete(handlerTag);
102
88
  }
103
-
104
89
  reset() {
105
90
  this.waitForRelations.clear();
106
91
  this.simultaneousRelations.clear();
107
92
  this.blocksHandlersRelations.clear();
108
93
  }
109
-
110
- static getInstance() {
111
- if (!this.instance) {
112
- this.instance = new InteractionManager();
94
+ static get instance() {
95
+ if (!this._instance) {
96
+ this._instance = new InteractionManager();
113
97
  }
114
-
115
- return this.instance;
98
+ return this._instance;
116
99
  }
117
-
118
100
  }
119
-
120
101
  exports.default = InteractionManager;
121
-
122
- _defineProperty(InteractionManager, "instance", void 0);
102
+ _InteractionManager = InteractionManager;
103
+ _defineProperty(InteractionManager, "_instance", void 0);
123
104
  //# sourceMappingURL=InteractionManager.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["InteractionManager.ts"],"names":["InteractionManager","constructor","Map","configureInteractions","handler","config","dropRelationsForHandlerWithTag","getTag","waitFor","forEach","otherHandler","push","handlerTag","waitForRelations","set","simultaneousHandlers","simultaneousRelations","blocksHandlers","blocksHandlersRelations","shouldWaitForHandlerFailure","get","find","tag","undefined","shouldRecognizeSimultaneously","shouldRequireHandlerToWaitForFailure","shouldHandlerBeCancelledBy","_handler","isNativeHandler","name","isActive","getState","State","ACTIVE","isButton","delete","reset","clear","getInstance","instance"],"mappings":"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","sourcesContent":["import type IGestureHandler from '../handlers/IGestureHandler';\nimport { State } from '../../State';\nimport { Config, Handler } from '../interfaces';\n\nexport default class InteractionManager {\n private static instance: InteractionManager;\n private readonly waitForRelations: Map<number, number[]> = new Map();\n private readonly simultaneousRelations: Map<number, number[]> = new Map();\n private readonly blocksHandlersRelations: Map<number, number[]> = new Map();\n\n // Private becaues of singleton\n // eslint-disable-next-line no-useless-constructor, @typescript-eslint/no-empty-function\n private constructor() {}\n\n public configureInteractions(handler: IGestureHandler, config: Config) {\n this.dropRelationsForHandlerWithTag(handler.getTag());\n\n if (config.waitFor) {\n const waitFor: number[] = [];\n config.waitFor.forEach((otherHandler: Handler): void => {\n // New API reference\n if (typeof otherHandler === 'number') {\n waitFor.push(otherHandler);\n } else {\n // Old API reference\n waitFor.push(otherHandler.handlerTag);\n }\n });\n\n this.waitForRelations.set(handler.getTag(), waitFor);\n }\n\n if (config.simultaneousHandlers) {\n const simultaneousHandlers: number[] = [];\n config.simultaneousHandlers.forEach((otherHandler: Handler): void => {\n if (typeof otherHandler === 'number') {\n simultaneousHandlers.push(otherHandler);\n } else {\n simultaneousHandlers.push(otherHandler.handlerTag);\n }\n });\n\n this.simultaneousRelations.set(handler.getTag(), simultaneousHandlers);\n }\n\n if (config.blocksHandlers) {\n const blocksHandlers: number[] = [];\n config.blocksHandlers.forEach((otherHandler: Handler): void => {\n if (typeof otherHandler === 'number') {\n blocksHandlers.push(otherHandler);\n } else {\n blocksHandlers.push(otherHandler.handlerTag);\n }\n });\n\n this.blocksHandlersRelations.set(handler.getTag(), blocksHandlers);\n }\n }\n\n public shouldWaitForHandlerFailure(\n handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n const waitFor: number[] | undefined = this.waitForRelations.get(\n handler.getTag()\n );\n\n return (\n waitFor?.find((tag: number) => {\n return tag === otherHandler.getTag();\n }) !== undefined\n );\n }\n\n public shouldRecognizeSimultaneously(\n handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n const simultaneousHandlers: number[] | undefined =\n this.simultaneousRelations.get(handler.getTag());\n\n return (\n simultaneousHandlers?.find((tag: number) => {\n return tag === otherHandler.getTag();\n }) !== undefined\n );\n }\n\n public shouldRequireHandlerToWaitForFailure(\n handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n const waitFor: number[] | undefined = this.blocksHandlersRelations.get(\n handler.getTag()\n );\n\n return (\n waitFor?.find((tag: number) => {\n return tag === otherHandler.getTag();\n }) !== undefined\n );\n }\n\n public shouldHandlerBeCancelledBy(\n _handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n // We check constructor name instead of using `instanceof` in order do avoid circular dependencies\n const isNativeHandler =\n otherHandler.constructor.name === 'NativeViewGestureHandler';\n const isActive = otherHandler.getState() === State.ACTIVE;\n const isButton = otherHandler.isButton?.() === true;\n\n return isNativeHandler && isActive && !isButton;\n }\n\n public dropRelationsForHandlerWithTag(handlerTag: number): void {\n this.waitForRelations.delete(handlerTag);\n this.simultaneousRelations.delete(handlerTag);\n this.blocksHandlersRelations.delete(handlerTag);\n }\n\n public reset() {\n this.waitForRelations.clear();\n this.simultaneousRelations.clear();\n this.blocksHandlersRelations.clear();\n }\n\n public static getInstance(): InteractionManager {\n if (!this.instance) {\n this.instance = new InteractionManager();\n }\n\n return this.instance;\n }\n}\n"]}
1
+ {"version":3,"names":["_State","require","_InteractionManager","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","InteractionManager","constructor","Map","configureInteractions","handler","config","dropRelationsForHandlerWithTag","handlerTag","waitFor","forEach","otherHandler","push","waitForRelations","set","simultaneousHandlers","simultaneousRelations","blocksHandlers","blocksHandlersRelations","shouldWaitForHandlerFailure","get","find","tag","undefined","shouldRecognizeSimultaneously","shouldRequireHandlerToWaitForFailure","shouldHandlerBeCancelledBy","_handler","_otherHandler$isButto","isNativeHandler","name","isActive","state","State","ACTIVE","isButton","delete","reset","clear","instance","_instance","exports","default"],"sources":["InteractionManager.ts"],"sourcesContent":["import type IGestureHandler from '../handlers/IGestureHandler';\nimport { State } from '../../State';\nimport { Config, Handler } from '../interfaces';\n\nexport default class InteractionManager {\n private static _instance: InteractionManager;\n private readonly waitForRelations: Map<number, number[]> = new Map();\n private readonly simultaneousRelations: Map<number, number[]> = new Map();\n private readonly blocksHandlersRelations: Map<number, number[]> = new Map();\n\n // Private becaues of singleton\n // eslint-disable-next-line no-useless-constructor, @typescript-eslint/no-empty-function\n private constructor() {}\n\n public configureInteractions(handler: IGestureHandler, config: Config) {\n this.dropRelationsForHandlerWithTag(handler.handlerTag);\n\n if (config.waitFor) {\n const waitFor: number[] = [];\n config.waitFor.forEach((otherHandler: Handler): void => {\n // New API reference\n if (typeof otherHandler === 'number') {\n waitFor.push(otherHandler);\n } else {\n // Old API reference\n waitFor.push(otherHandler.handlerTag);\n }\n });\n\n this.waitForRelations.set(handler.handlerTag, waitFor);\n }\n\n if (config.simultaneousHandlers) {\n const simultaneousHandlers: number[] = [];\n config.simultaneousHandlers.forEach((otherHandler: Handler): void => {\n if (typeof otherHandler === 'number') {\n simultaneousHandlers.push(otherHandler);\n } else {\n simultaneousHandlers.push(otherHandler.handlerTag);\n }\n });\n\n this.simultaneousRelations.set(handler.handlerTag, simultaneousHandlers);\n }\n\n if (config.blocksHandlers) {\n const blocksHandlers: number[] = [];\n config.blocksHandlers.forEach((otherHandler: Handler): void => {\n if (typeof otherHandler === 'number') {\n blocksHandlers.push(otherHandler);\n } else {\n blocksHandlers.push(otherHandler.handlerTag);\n }\n });\n\n this.blocksHandlersRelations.set(handler.handlerTag, blocksHandlers);\n }\n }\n\n public shouldWaitForHandlerFailure(\n handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n const waitFor: number[] | undefined = this.waitForRelations.get(\n handler.handlerTag\n );\n\n return (\n waitFor?.find((tag: number) => {\n return tag === otherHandler.handlerTag;\n }) !== undefined\n );\n }\n\n public shouldRecognizeSimultaneously(\n handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n const simultaneousHandlers: number[] | undefined =\n this.simultaneousRelations.get(handler.handlerTag);\n\n return (\n simultaneousHandlers?.find((tag: number) => {\n return tag === otherHandler.handlerTag;\n }) !== undefined\n );\n }\n\n public shouldRequireHandlerToWaitForFailure(\n handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n const waitFor: number[] | undefined = this.blocksHandlersRelations.get(\n handler.handlerTag\n );\n\n return (\n waitFor?.find((tag: number) => {\n return tag === otherHandler.handlerTag;\n }) !== undefined\n );\n }\n\n public shouldHandlerBeCancelledBy(\n _handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n // We check constructor name instead of using `instanceof` in order do avoid circular dependencies\n const isNativeHandler =\n otherHandler.constructor.name === 'NativeViewGestureHandler';\n const isActive = otherHandler.state === State.ACTIVE;\n const isButton = otherHandler.isButton?.() === true;\n\n return isNativeHandler && isActive && !isButton;\n }\n\n public dropRelationsForHandlerWithTag(handlerTag: number): void {\n this.waitForRelations.delete(handlerTag);\n this.simultaneousRelations.delete(handlerTag);\n this.blocksHandlersRelations.delete(handlerTag);\n }\n\n public reset() {\n this.waitForRelations.clear();\n this.simultaneousRelations.clear();\n this.blocksHandlersRelations.clear();\n }\n\n public static get instance(): InteractionManager {\n if (!this._instance) {\n this._instance = new InteractionManager();\n }\n\n return this._instance;\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAAoC,IAAAC,mBAAA;AAAA,SAAAC,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAGrB,MAAMgB,kBAAkB,CAAC;EAMtC;EACA;EACQC,WAAWA,CAAA,EAAG;IAAApB,eAAA,2BANqC,IAAIqB,GAAG,CAAC,CAAC;IAAArB,eAAA,gCACJ,IAAIqB,GAAG,CAAC,CAAC;IAAArB,eAAA,kCACP,IAAIqB,GAAG,CAAC,CAAC;EAIpD;EAEhBC,qBAAqBA,CAACC,OAAwB,EAAEC,MAAc,EAAE;IACrE,IAAI,CAACC,8BAA8B,CAACF,OAAO,CAACG,UAAU,CAAC;IAEvD,IAAIF,MAAM,CAACG,OAAO,EAAE;MAClB,MAAMA,OAAiB,GAAG,EAAE;MAC5BH,MAAM,CAACG,OAAO,CAACC,OAAO,CAAEC,YAAqB,IAAW;QACtD;QACA,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;UACpCF,OAAO,CAACG,IAAI,CAACD,YAAY,CAAC;QAC5B,CAAC,MAAM;UACL;UACAF,OAAO,CAACG,IAAI,CAACD,YAAY,CAACH,UAAU,CAAC;QACvC;MACF,CAAC,CAAC;MAEF,IAAI,CAACK,gBAAgB,CAACC,GAAG,CAACT,OAAO,CAACG,UAAU,EAAEC,OAAO,CAAC;IACxD;IAEA,IAAIH,MAAM,CAACS,oBAAoB,EAAE;MAC/B,MAAMA,oBAA8B,GAAG,EAAE;MACzCT,MAAM,CAACS,oBAAoB,CAACL,OAAO,CAAEC,YAAqB,IAAW;QACnE,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;UACpCI,oBAAoB,CAACH,IAAI,CAACD,YAAY,CAAC;QACzC,CAAC,MAAM;UACLI,oBAAoB,CAACH,IAAI,CAACD,YAAY,CAACH,UAAU,CAAC;QACpD;MACF,CAAC,CAAC;MAEF,IAAI,CAACQ,qBAAqB,CAACF,GAAG,CAACT,OAAO,CAACG,UAAU,EAAEO,oBAAoB,CAAC;IAC1E;IAEA,IAAIT,MAAM,CAACW,cAAc,EAAE;MACzB,MAAMA,cAAwB,GAAG,EAAE;MACnCX,MAAM,CAACW,cAAc,CAACP,OAAO,CAAEC,YAAqB,IAAW;QAC7D,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;UACpCM,cAAc,CAACL,IAAI,CAACD,YAAY,CAAC;QACnC,CAAC,MAAM;UACLM,cAAc,CAACL,IAAI,CAACD,YAAY,CAACH,UAAU,CAAC;QAC9C;MACF,CAAC,CAAC;MAEF,IAAI,CAACU,uBAAuB,CAACJ,GAAG,CAACT,OAAO,CAACG,UAAU,EAAES,cAAc,CAAC;IACtE;EACF;EAEOE,2BAA2BA,CAChCd,OAAwB,EACxBM,YAA6B,EACpB;IACT,MAAMF,OAA6B,GAAG,IAAI,CAACI,gBAAgB,CAACO,GAAG,CAC7Df,OAAO,CAACG,UACV,CAAC;IAED,OACE,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEY,IAAI,CAAEC,GAAW,IAAK;MAC7B,OAAOA,GAAG,KAAKX,YAAY,CAACH,UAAU;IACxC,CAAC,CAAC,MAAKe,SAAS;EAEpB;EAEOC,6BAA6BA,CAClCnB,OAAwB,EACxBM,YAA6B,EACpB;IACT,MAAMI,oBAA0C,GAC9C,IAAI,CAACC,qBAAqB,CAACI,GAAG,CAACf,OAAO,CAACG,UAAU,CAAC;IAEpD,OACE,CAAAO,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEM,IAAI,CAAEC,GAAW,IAAK;MAC1C,OAAOA,GAAG,KAAKX,YAAY,CAACH,UAAU;IACxC,CAAC,CAAC,MAAKe,SAAS;EAEpB;EAEOE,oCAAoCA,CACzCpB,OAAwB,EACxBM,YAA6B,EACpB;IACT,MAAMF,OAA6B,GAAG,IAAI,CAACS,uBAAuB,CAACE,GAAG,CACpEf,OAAO,CAACG,UACV,CAAC;IAED,OACE,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEY,IAAI,CAAEC,GAAW,IAAK;MAC7B,OAAOA,GAAG,KAAKX,YAAY,CAACH,UAAU;IACxC,CAAC,CAAC,MAAKe,SAAS;EAEpB;EAEOG,0BAA0BA,CAC/BC,QAAyB,EACzBhB,YAA6B,EACpB;IAAA,IAAAiB,qBAAA;IACT;IACA,MAAMC,eAAe,GACnBlB,YAAY,CAACT,WAAW,CAAC4B,IAAI,KAAK,0BAA0B;IAC9D,MAAMC,QAAQ,GAAGpB,YAAY,CAACqB,KAAK,KAAKC,YAAK,CAACC,MAAM;IACpD,MAAMC,QAAQ,GAAG,EAAAP,qBAAA,GAAAjB,YAAY,CAACwB,QAAQ,cAAAP,qBAAA,uBAArBA,qBAAA,CAAA/B,IAAA,CAAAc,YAAwB,CAAC,MAAK,IAAI;IAEnD,OAAOkB,eAAe,IAAIE,QAAQ,IAAI,CAACI,QAAQ;EACjD;EAEO5B,8BAA8BA,CAACC,UAAkB,EAAQ;IAC9D,IAAI,CAACK,gBAAgB,CAACuB,MAAM,CAAC5B,UAAU,CAAC;IACxC,IAAI,CAACQ,qBAAqB,CAACoB,MAAM,CAAC5B,UAAU,CAAC;IAC7C,IAAI,CAACU,uBAAuB,CAACkB,MAAM,CAAC5B,UAAU,CAAC;EACjD;EAEO6B,KAAKA,CAAA,EAAG;IACb,IAAI,CAACxB,gBAAgB,CAACyB,KAAK,CAAC,CAAC;IAC7B,IAAI,CAACtB,qBAAqB,CAACsB,KAAK,CAAC,CAAC;IAClC,IAAI,CAACpB,uBAAuB,CAACoB,KAAK,CAAC,CAAC;EACtC;EAEA,WAAkBC,QAAQA,CAAA,EAAuB;IAC/C,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE;MACnB,IAAI,CAACA,SAAS,GAAG,IAAIvC,kBAAkB,CAAC,CAAC;IAC3C;IAEA,OAAO,IAAI,CAACuC,SAAS;EACvB;AACF;AAACC,OAAA,CAAAC,OAAA,GAAAzC,kBAAA;AAAApB,mBAAA,GAnIoBoB,kBAAkB;AAAAnB,eAAA,CAAlBmB,kBAAkB","ignoreList":[]}
@@ -4,84 +4,64 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _interfaces = require("../interfaces");
9
-
10
8
  var _EventManager = _interopRequireDefault(require("./EventManager"));
11
-
12
9
  var _PointerType = require("../../PointerType");
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
-
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); }
18
14
  class KeyboardEventManager extends _EventManager.default {
19
15
  constructor(...args) {
20
16
  super(...args);
21
-
22
17
  _defineProperty(this, "activationKeys", ['Enter', ' ']);
23
-
24
18
  _defineProperty(this, "cancelationKeys", ['Tab']);
25
-
26
19
  _defineProperty(this, "isPressed", false);
27
-
28
20
  _defineProperty(this, "keyDownCallback", event => {
29
21
  if (this.cancelationKeys.indexOf(event.key) !== -1 && this.isPressed) {
30
22
  this.dispatchEvent(event, _interfaces.EventTypes.CANCEL);
31
23
  return;
32
24
  }
33
-
34
25
  if (this.activationKeys.indexOf(event.key) === -1) {
35
26
  return;
36
27
  }
37
-
38
28
  this.dispatchEvent(event, _interfaces.EventTypes.DOWN);
39
29
  });
40
-
41
30
  _defineProperty(this, "keyUpCallback", event => {
42
31
  if (this.activationKeys.indexOf(event.key) === -1 || !this.isPressed) {
43
32
  return;
44
33
  }
45
-
46
34
  this.dispatchEvent(event, _interfaces.EventTypes.UP);
47
35
  });
48
36
  }
49
-
50
37
  dispatchEvent(event, eventType) {
51
38
  if (!(event.target instanceof HTMLElement)) {
52
39
  return;
53
40
  }
54
-
55
41
  const adaptedEvent = this.mapEvent(event, eventType);
56
-
57
42
  switch (eventType) {
58
43
  case _interfaces.EventTypes.UP:
59
44
  this.isPressed = false;
60
45
  this.onPointerUp(adaptedEvent);
61
46
  break;
62
-
63
47
  case _interfaces.EventTypes.DOWN:
64
48
  this.isPressed = true;
65
49
  this.onPointerDown(adaptedEvent);
66
50
  break;
67
-
68
51
  case _interfaces.EventTypes.CANCEL:
69
52
  this.isPressed = false;
70
53
  this.onPointerCancel(adaptedEvent);
71
54
  break;
72
55
  }
73
56
  }
74
-
75
57
  registerListeners() {
76
58
  this.view.addEventListener('keydown', this.keyDownCallback);
77
59
  this.view.addEventListener('keyup', this.keyUpCallback);
78
60
  }
79
-
80
61
  unregisterListeners() {
81
62
  this.view.removeEventListener('keydown', this.keyDownCallback);
82
63
  this.view.removeEventListener('keyup', this.keyUpCallback);
83
64
  }
84
-
85
65
  mapEvent(event, eventType) {
86
66
  const viewRect = event.target.getBoundingClientRect();
87
67
  const viewportPosition = {
@@ -103,8 +83,6 @@ class KeyboardEventManager extends _EventManager.default {
103
83
  time: event.timeStamp
104
84
  };
105
85
  }
106
-
107
86
  }
108
-
109
87
  exports.default = KeyboardEventManager;
110
88
  //# sourceMappingURL=KeyboardEventManager.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["KeyboardEventManager.ts"],"names":["KeyboardEventManager","EventManager","event","cancelationKeys","indexOf","key","isPressed","dispatchEvent","EventTypes","CANCEL","activationKeys","DOWN","UP","eventType","target","HTMLElement","adaptedEvent","mapEvent","onPointerUp","onPointerDown","onPointerCancel","registerListeners","view","addEventListener","keyDownCallback","keyUpCallback","unregisterListeners","removeEventListener","viewRect","getBoundingClientRect","viewportPosition","x","width","y","height","relativePosition","offsetX","offsetY","pointerId","pointerType","PointerType","KEY","time","timeStamp"],"mappings":"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","sourcesContent":["import { AdaptedEvent, EventTypes } from '../interfaces';\nimport EventManager from './EventManager';\nimport { PointerType } from '../../PointerType';\n\nexport default class KeyboardEventManager extends EventManager<HTMLElement> {\n private activationKeys = ['Enter', ' '];\n private cancelationKeys = ['Tab'];\n private isPressed = false;\n\n private keyDownCallback = (event: KeyboardEvent): void => {\n if (this.cancelationKeys.indexOf(event.key) !== -1 && this.isPressed) {\n this.dispatchEvent(event, EventTypes.CANCEL);\n return;\n }\n\n if (this.activationKeys.indexOf(event.key) === -1) {\n return;\n }\n\n this.dispatchEvent(event, EventTypes.DOWN);\n };\n\n private keyUpCallback = (event: KeyboardEvent): void => {\n if (this.activationKeys.indexOf(event.key) === -1 || !this.isPressed) {\n return;\n }\n\n this.dispatchEvent(event, EventTypes.UP);\n };\n\n private dispatchEvent(event: KeyboardEvent, eventType: EventTypes) {\n if (!(event.target instanceof HTMLElement)) {\n return;\n }\n\n const adaptedEvent = this.mapEvent(event, eventType);\n\n switch (eventType) {\n case EventTypes.UP:\n this.isPressed = false;\n this.onPointerUp(adaptedEvent);\n break;\n case EventTypes.DOWN:\n this.isPressed = true;\n this.onPointerDown(adaptedEvent);\n break;\n case EventTypes.CANCEL:\n this.isPressed = false;\n this.onPointerCancel(adaptedEvent);\n break;\n }\n }\n\n public registerListeners(): void {\n this.view.addEventListener('keydown', this.keyDownCallback);\n this.view.addEventListener('keyup', this.keyUpCallback);\n }\n\n public unregisterListeners(): void {\n this.view.removeEventListener('keydown', this.keyDownCallback);\n this.view.removeEventListener('keyup', this.keyUpCallback);\n }\n\n protected mapEvent(\n event: KeyboardEvent,\n eventType: EventTypes\n ): AdaptedEvent {\n const viewRect = (event.target as HTMLElement).getBoundingClientRect();\n\n const viewportPosition = {\n x: viewRect?.x + viewRect?.width / 2,\n y: viewRect?.y + viewRect?.height / 2,\n };\n\n const relativePosition = {\n x: viewRect?.width / 2,\n y: viewRect?.height / 2,\n };\n\n return {\n x: viewportPosition.x,\n y: viewportPosition.y,\n offsetX: relativePosition.x,\n offsetY: relativePosition.y,\n pointerId: 0,\n eventType: eventType,\n pointerType: PointerType.KEY,\n time: event.timeStamp,\n };\n }\n}\n"]}
1
+ {"version":3,"names":["_interfaces","require","_EventManager","_interopRequireDefault","_PointerType","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","KeyboardEventManager","EventManager","constructor","args","event","cancelationKeys","indexOf","key","isPressed","dispatchEvent","EventTypes","CANCEL","activationKeys","DOWN","UP","eventType","target","HTMLElement","adaptedEvent","mapEvent","onPointerUp","onPointerDown","onPointerCancel","registerListeners","view","addEventListener","keyDownCallback","keyUpCallback","unregisterListeners","removeEventListener","viewRect","getBoundingClientRect","viewportPosition","x","width","y","height","relativePosition","offsetX","offsetY","pointerId","pointerType","PointerType","KEY","time","timeStamp","exports"],"sources":["KeyboardEventManager.ts"],"sourcesContent":["import { AdaptedEvent, EventTypes } from '../interfaces';\nimport EventManager from './EventManager';\nimport { PointerType } from '../../PointerType';\n\nexport default class KeyboardEventManager extends EventManager<HTMLElement> {\n private activationKeys = ['Enter', ' '];\n private cancelationKeys = ['Tab'];\n private isPressed = false;\n\n private keyDownCallback = (event: KeyboardEvent): void => {\n if (this.cancelationKeys.indexOf(event.key) !== -1 && this.isPressed) {\n this.dispatchEvent(event, EventTypes.CANCEL);\n return;\n }\n\n if (this.activationKeys.indexOf(event.key) === -1) {\n return;\n }\n\n this.dispatchEvent(event, EventTypes.DOWN);\n };\n\n private keyUpCallback = (event: KeyboardEvent): void => {\n if (this.activationKeys.indexOf(event.key) === -1 || !this.isPressed) {\n return;\n }\n\n this.dispatchEvent(event, EventTypes.UP);\n };\n\n private dispatchEvent(event: KeyboardEvent, eventType: EventTypes) {\n if (!(event.target instanceof HTMLElement)) {\n return;\n }\n\n const adaptedEvent = this.mapEvent(event, eventType);\n\n switch (eventType) {\n case EventTypes.UP:\n this.isPressed = false;\n this.onPointerUp(adaptedEvent);\n break;\n case EventTypes.DOWN:\n this.isPressed = true;\n this.onPointerDown(adaptedEvent);\n break;\n case EventTypes.CANCEL:\n this.isPressed = false;\n this.onPointerCancel(adaptedEvent);\n break;\n }\n }\n\n public registerListeners(): void {\n this.view.addEventListener('keydown', this.keyDownCallback);\n this.view.addEventListener('keyup', this.keyUpCallback);\n }\n\n public unregisterListeners(): void {\n this.view.removeEventListener('keydown', this.keyDownCallback);\n this.view.removeEventListener('keyup', this.keyUpCallback);\n }\n\n protected mapEvent(\n event: KeyboardEvent,\n eventType: EventTypes\n ): AdaptedEvent {\n const viewRect = (event.target as HTMLElement).getBoundingClientRect();\n\n const viewportPosition = {\n x: viewRect?.x + viewRect?.width / 2,\n y: viewRect?.y + viewRect?.height / 2,\n };\n\n const relativePosition = {\n x: viewRect?.width / 2,\n y: viewRect?.height / 2,\n };\n\n return {\n x: viewportPosition.x,\n y: viewportPosition.y,\n offsetX: relativePosition.x,\n offsetY: relativePosition.y,\n pointerId: 0,\n eventType: eventType,\n pointerType: PointerType.KEY,\n time: event.timeStamp,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}