react-native-gesture-handler 2.23.0 → 2.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (633) hide show
  1. package/RNGestureHandler.podspec +8 -0
  2. package/android/build.gradle +9 -3
  3. package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +2 -1
  4. package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +2 -1
  5. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +60 -0
  6. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +26 -0
  7. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +26 -0
  8. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +16 -0
  9. package/android/paper77/src/main/java/com/swmansion/gesturehandler/NativeRNGestureHandlerModuleSpec.java +67 -0
  10. package/android/paper77/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +13 -0
  11. package/apple/RNGestureHandlerButton.mm +12 -2
  12. package/lib/commonjs/ActionType.js +3 -3
  13. package/lib/commonjs/ActionType.js.map +1 -1
  14. package/lib/commonjs/Directions.js +8 -11
  15. package/lib/commonjs/Directions.js.map +1 -1
  16. package/lib/commonjs/EnableNewWebImplementation.js +10 -2
  17. package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
  18. package/lib/commonjs/GestureHandlerRootViewContext.js +7 -2
  19. package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
  20. package/lib/commonjs/PlatformConstants.js +6 -1
  21. package/lib/commonjs/PlatformConstants.js.map +1 -1
  22. package/lib/commonjs/PlatformConstants.web.js +3 -1
  23. package/lib/commonjs/PlatformConstants.web.js.map +1 -1
  24. package/lib/commonjs/PointerType.js +5 -3
  25. package/lib/commonjs/PointerType.js.map +1 -1
  26. package/lib/commonjs/RNGestureHandlerModule.js +6 -2
  27. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
  28. package/lib/commonjs/RNGestureHandlerModule.web.js +37 -11
  29. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  30. package/lib/commonjs/RNGestureHandlerModule.windows.js +32 -22
  31. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
  32. package/lib/commonjs/RNRenderer.js +3 -1
  33. package/lib/commonjs/RNRenderer.js.map +1 -1
  34. package/lib/commonjs/RNRenderer.web.js +2 -1
  35. package/lib/commonjs/RNRenderer.web.js.map +1 -1
  36. package/lib/commonjs/State.js +3 -4
  37. package/lib/commonjs/State.js.map +1 -1
  38. package/lib/commonjs/TouchEventType.js +3 -3
  39. package/lib/commonjs/TouchEventType.js.map +1 -1
  40. package/lib/commonjs/components/DrawerLayout.js +115 -90
  41. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  42. package/lib/commonjs/components/GestureButtons.js +81 -28
  43. package/lib/commonjs/components/GestureButtons.js.map +1 -1
  44. package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
  45. package/lib/commonjs/components/GestureComponents.js +37 -26
  46. package/lib/commonjs/components/GestureComponents.js.map +1 -1
  47. package/lib/commonjs/components/GestureComponents.web.js +27 -13
  48. package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
  49. package/lib/commonjs/components/GestureHandlerButton.js +6 -2
  50. package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
  51. package/lib/commonjs/components/GestureHandlerButton.web.js +12 -4
  52. package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
  53. package/lib/commonjs/components/GestureHandlerRootView.android.js +15 -4
  54. package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
  55. package/lib/commonjs/components/GestureHandlerRootView.js +14 -4
  56. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
  57. package/lib/commonjs/components/GestureHandlerRootView.web.js +13 -4
  58. package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
  59. package/lib/commonjs/components/Pressable/Pressable.js +77 -29
  60. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
  61. package/lib/commonjs/components/Pressable/PressableProps.js.map +1 -1
  62. package/lib/commonjs/components/Pressable/index.js +3 -1
  63. package/lib/commonjs/components/Pressable/index.js.map +1 -1
  64. package/lib/commonjs/components/Pressable/utils.js +20 -5
  65. package/lib/commonjs/components/Pressable/utils.js.map +1 -1
  66. package/lib/commonjs/components/ReanimatedDrawerLayout.js +86 -44
  67. package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
  68. package/lib/commonjs/components/ReanimatedSwipeable.js +45 -18
  69. package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
  70. package/lib/commonjs/components/Swipeable.js +75 -34
  71. package/lib/commonjs/components/Swipeable.js.map +1 -1
  72. package/lib/commonjs/components/Text.js +28 -10
  73. package/lib/commonjs/components/Text.js.map +1 -1
  74. package/lib/commonjs/components/gestureHandlerRootHOC.js +14 -5
  75. package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
  76. package/lib/commonjs/components/touchables/ExtraButtonProps.js +2 -0
  77. package/lib/commonjs/components/touchables/ExtraButtonProps.js.map +1 -0
  78. package/lib/commonjs/components/touchables/GenericTouchable.js +76 -40
  79. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
  80. package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +1 -1
  81. package/lib/commonjs/components/touchables/TouchableHighlight.js +34 -19
  82. package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
  83. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +32 -16
  84. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  85. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -2
  86. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
  87. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  88. package/lib/commonjs/components/touchables/TouchableOpacity.js +25 -16
  89. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  90. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +25 -13
  91. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  92. package/lib/commonjs/components/touchables/index.js +12 -7
  93. package/lib/commonjs/components/touchables/index.js.map +1 -1
  94. package/lib/commonjs/findNodeHandle.js +4 -1
  95. package/lib/commonjs/findNodeHandle.js.map +1 -1
  96. package/lib/commonjs/findNodeHandle.web.js +14 -5
  97. package/lib/commonjs/findNodeHandle.web.js.map +1 -1
  98. package/lib/commonjs/getReactNativeVersion.js +6 -1
  99. package/lib/commonjs/getReactNativeVersion.js.map +1 -1
  100. package/lib/commonjs/getReactNativeVersion.web.js +1 -0
  101. package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
  102. package/lib/commonjs/getShadowNodeFromRef.js +14 -13
  103. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  104. package/lib/commonjs/getShadowNodeFromRef.web.js +1 -0
  105. package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
  106. package/lib/commonjs/ghQueueMicrotask.js +2 -1
  107. package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
  108. package/lib/commonjs/handlers/FlingGestureHandler.js +11 -9
  109. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
  110. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +22 -15
  111. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
  112. package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
  113. package/lib/commonjs/handlers/LongPressGestureHandler.js +11 -9
  114. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
  115. package/lib/commonjs/handlers/NativeViewGestureHandler.js +13 -10
  116. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
  117. package/lib/commonjs/handlers/PanGestureHandler.js +32 -13
  118. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
  119. package/lib/commonjs/handlers/PinchGestureHandler.js +9 -7
  120. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
  121. package/lib/commonjs/handlers/PressabilityDebugView.js +1 -0
  122. package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
  123. package/lib/commonjs/handlers/PressabilityDebugView.web.js +1 -0
  124. package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
  125. package/lib/commonjs/handlers/RotationGestureHandler.js +9 -7
  126. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
  127. package/lib/commonjs/handlers/TapGestureHandler.js +11 -9
  128. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
  129. package/lib/commonjs/handlers/createHandler.js +146 -59
  130. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  131. package/lib/commonjs/handlers/createNativeWrapper.js +30 -18
  132. package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
  133. package/lib/commonjs/handlers/customDirectEventTypes.js +1 -0
  134. package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
  135. package/lib/commonjs/handlers/customDirectEventTypes.web.js +2 -1
  136. package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
  137. package/lib/commonjs/handlers/gestureHandlerCommon.js +10 -9
  138. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  139. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -1
  140. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +14 -5
  141. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  142. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +21 -13
  143. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  144. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +29 -9
  145. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  146. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +10 -1
  147. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  148. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +36 -11
  149. package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
  150. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +3 -0
  151. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  152. package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +1 -1
  153. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +24 -12
  154. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  155. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +48 -12
  156. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  157. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +13 -3
  158. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  159. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +9 -2
  160. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  161. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +14 -6
  162. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  163. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +55 -27
  164. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
  165. package/lib/commonjs/handlers/gestures/eventReceiver.js +46 -14
  166. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
  167. package/lib/commonjs/handlers/gestures/flingGesture.js +12 -5
  168. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
  169. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +19 -8
  170. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
  171. package/lib/commonjs/handlers/gestures/gesture.js +84 -44
  172. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  173. package/lib/commonjs/handlers/gestures/gestureComposition.js +31 -17
  174. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
  175. package/lib/commonjs/handlers/gestures/gestureObjects.js +27 -1
  176. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
  177. package/lib/commonjs/handlers/gestures/gestureStateManager.js +9 -3
  178. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
  179. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +7 -2
  180. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
  181. package/lib/commonjs/handlers/gestures/hoverGesture.js +25 -11
  182. package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
  183. package/lib/commonjs/handlers/gestures/longPressGesture.js +14 -6
  184. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
  185. package/lib/commonjs/handlers/gestures/manualGesture.js +6 -0
  186. package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
  187. package/lib/commonjs/handlers/gestures/nativeGesture.js +12 -5
  188. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
  189. package/lib/commonjs/handlers/gestures/panGesture.js +43 -18
  190. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
  191. package/lib/commonjs/handlers/gestures/pinchGesture.js +9 -2
  192. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
  193. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +8 -1
  194. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
  195. package/lib/commonjs/handlers/gestures/rotationGesture.js +9 -2
  196. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
  197. package/lib/commonjs/handlers/gestures/tapGesture.js +22 -10
  198. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
  199. package/lib/commonjs/handlers/getNextHandlerTag.js +1 -0
  200. package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
  201. package/lib/commonjs/handlers/handlersRegistry.js +21 -6
  202. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
  203. package/lib/commonjs/handlers/utils.js +26 -6
  204. package/lib/commonjs/handlers/utils.js.map +1 -1
  205. package/lib/commonjs/index.js +104 -75
  206. package/lib/commonjs/index.js.map +1 -1
  207. package/lib/commonjs/init.js +11 -4
  208. package/lib/commonjs/init.js.map +1 -1
  209. package/lib/commonjs/jestUtils/index.js +5 -4
  210. package/lib/commonjs/jestUtils/index.js.map +1 -1
  211. package/lib/commonjs/jestUtils/jestUtils.js +83 -19
  212. package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
  213. package/lib/commonjs/mocks.js +15 -5
  214. package/lib/commonjs/mocks.js.map +1 -1
  215. package/lib/commonjs/mountRegistry.js +12 -3
  216. package/lib/commonjs/mountRegistry.js.map +1 -1
  217. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +5 -1
  218. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
  219. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +7 -2
  220. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  221. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +7 -2
  222. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  223. package/lib/commonjs/typeUtils.js.map +1 -1
  224. package/lib/commonjs/utils.js +37 -13
  225. package/lib/commonjs/utils.js.map +1 -1
  226. package/lib/commonjs/web/Gestures.js +23 -5
  227. package/lib/commonjs/web/Gestures.js.map +1 -1
  228. package/lib/commonjs/web/constants.js +4 -2
  229. package/lib/commonjs/web/constants.js.map +1 -1
  230. package/lib/commonjs/web/detectors/RotationGestureDetector.js +41 -5
  231. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  232. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +42 -13
  233. package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
  234. package/lib/commonjs/web/handlers/FlingGestureHandler.js +49 -6
  235. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  236. package/lib/commonjs/web/handlers/GestureHandler.js +195 -62
  237. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  238. package/lib/commonjs/web/handlers/HoverGestureHandler.js +19 -6
  239. package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
  240. package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -1
  241. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +47 -6
  242. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
  243. package/lib/commonjs/web/handlers/ManualGestureHandler.js +11 -1
  244. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
  245. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +49 -8
  246. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  247. package/lib/commonjs/web/handlers/PanGestureHandler.js +123 -8
  248. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  249. package/lib/commonjs/web/handlers/PinchGestureHandler.js +41 -4
  250. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
  251. package/lib/commonjs/web/handlers/RotationGestureHandler.js +42 -4
  252. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
  253. package/lib/commonjs/web/handlers/TapGestureHandler.js +67 -6
  254. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  255. package/lib/commonjs/web/interfaces.js +17 -9
  256. package/lib/commonjs/web/interfaces.js.map +1 -1
  257. package/lib/commonjs/web/tools/CircularBuffer.js +15 -3
  258. package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
  259. package/lib/commonjs/web/tools/EventManager.js +41 -7
  260. package/lib/commonjs/web/tools/EventManager.js.map +1 -1
  261. package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -1
  262. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +78 -11
  263. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  264. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +48 -8
  265. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  266. package/lib/commonjs/web/tools/InteractionManager.js +22 -5
  267. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  268. package/lib/commonjs/web/tools/KeyboardEventManager.js +26 -4
  269. package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
  270. package/lib/commonjs/web/tools/LeastSquareSolver.js +67 -30
  271. package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
  272. package/lib/commonjs/web/tools/NodeManager.js +14 -7
  273. package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
  274. package/lib/commonjs/web/tools/PointerEventManager.js +45 -10
  275. package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
  276. package/lib/commonjs/web/tools/PointerTracker.js +45 -9
  277. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
  278. package/lib/commonjs/web/tools/Vector.js +18 -3
  279. package/lib/commonjs/web/tools/Vector.js.map +1 -1
  280. package/lib/commonjs/web/tools/VelocityTracker.js +31 -9
  281. package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
  282. package/lib/commonjs/web/tools/WheelEventManager.js +17 -4
  283. package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
  284. package/lib/commonjs/web/utils.js +76 -27
  285. package/lib/commonjs/web/utils.js.map +1 -1
  286. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +19 -7
  287. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
  288. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +13 -3
  289. package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
  290. package/lib/commonjs/web_hammer/Errors.js +3 -0
  291. package/lib/commonjs/web_hammer/Errors.js.map +1 -1
  292. package/lib/commonjs/web_hammer/FlingGestureHandler.js +44 -13
  293. package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
  294. package/lib/commonjs/web_hammer/GestureHandler.js +142 -55
  295. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
  296. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +11 -2
  297. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  298. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +19 -5
  299. package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
  300. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +24 -16
  301. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
  302. package/lib/commonjs/web_hammer/NodeManager.js +16 -9
  303. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
  304. package/lib/commonjs/web_hammer/PanGestureHandler.js +49 -8
  305. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
  306. package/lib/commonjs/web_hammer/PinchGestureHandler.js +11 -2
  307. package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
  308. package/lib/commonjs/web_hammer/PressGestureHandler.js +43 -15
  309. package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
  310. package/lib/commonjs/web_hammer/RotationGestureHandler.js +13 -2
  311. package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
  312. package/lib/commonjs/web_hammer/TapGestureHandler.js +52 -33
  313. package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
  314. package/lib/commonjs/web_hammer/constants.js +26 -13
  315. package/lib/commonjs/web_hammer/constants.js.map +1 -1
  316. package/lib/commonjs/web_hammer/utils.js +14 -4
  317. package/lib/commonjs/web_hammer/utils.js.map +1 -1
  318. package/lib/module/ActionType.js +1 -3
  319. package/lib/module/ActionType.js.map +1 -1
  320. package/lib/module/Directions.js +3 -9
  321. package/lib/module/Directions.js.map +1 -1
  322. package/lib/module/EnableNewWebImplementation.js +5 -2
  323. package/lib/module/EnableNewWebImplementation.js.map +1 -1
  324. package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
  325. package/lib/module/PlatformConstants.js +1 -0
  326. package/lib/module/PlatformConstants.js.map +1 -1
  327. package/lib/module/PlatformConstants.web.js +1 -0
  328. package/lib/module/PlatformConstants.web.js.map +1 -1
  329. package/lib/module/PointerType.js +4 -3
  330. package/lib/module/PointerType.js.map +1 -1
  331. package/lib/module/RNGestureHandlerModule.js +0 -1
  332. package/lib/module/RNGestureHandlerModule.js.map +1 -1
  333. package/lib/module/RNGestureHandlerModule.web.js +20 -10
  334. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  335. package/lib/module/RNGestureHandlerModule.windows.js +17 -18
  336. package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
  337. package/lib/module/RNRenderer.js.map +1 -1
  338. package/lib/module/RNRenderer.web.js.map +1 -1
  339. package/lib/module/State.js +1 -4
  340. package/lib/module/State.js.map +1 -1
  341. package/lib/module/TouchEventType.js +1 -3
  342. package/lib/module/TouchEventType.js.map +1 -1
  343. package/lib/module/components/DrawerLayout.js +99 -80
  344. package/lib/module/components/DrawerLayout.js.map +1 -1
  345. package/lib/module/components/GestureButtons.js +55 -19
  346. package/lib/module/components/GestureButtons.js.map +1 -1
  347. package/lib/module/components/GestureButtonsProps.js.map +1 -1
  348. package/lib/module/components/GestureComponents.js +12 -17
  349. package/lib/module/components/GestureComponents.js.map +1 -1
  350. package/lib/module/components/GestureComponents.web.js +4 -4
  351. package/lib/module/components/GestureComponents.web.js.map +1 -1
  352. package/lib/module/components/GestureHandlerButton.js.map +1 -1
  353. package/lib/module/components/GestureHandlerButton.web.js +2 -1
  354. package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
  355. package/lib/module/components/GestureHandlerRootView.android.js +2 -1
  356. package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
  357. package/lib/module/components/GestureHandlerRootView.js +2 -1
  358. package/lib/module/components/GestureHandlerRootView.js.map +1 -1
  359. package/lib/module/components/GestureHandlerRootView.web.js +2 -1
  360. package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
  361. package/lib/module/components/Pressable/Pressable.js +59 -26
  362. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  363. package/lib/module/components/Pressable/PressableProps.js.map +1 -1
  364. package/lib/module/components/Pressable/index.js.map +1 -1
  365. package/lib/module/components/Pressable/utils.js +14 -4
  366. package/lib/module/components/Pressable/utils.js.map +1 -1
  367. package/lib/module/components/ReanimatedDrawerLayout.js +66 -40
  368. package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
  369. package/lib/module/components/ReanimatedSwipeable.js +30 -14
  370. package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
  371. package/lib/module/components/Swipeable.js +59 -28
  372. package/lib/module/components/Swipeable.js.map +1 -1
  373. package/lib/module/components/Text.js +15 -7
  374. package/lib/module/components/Text.js.map +1 -1
  375. package/lib/module/components/gestureHandlerRootHOC.js +2 -2
  376. package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
  377. package/lib/module/components/touchables/ExtraButtonProps.js +2 -0
  378. package/lib/module/components/touchables/ExtraButtonProps.js.map +1 -0
  379. package/lib/module/components/touchables/GenericTouchable.js +63 -34
  380. package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
  381. package/lib/module/components/touchables/GenericTouchableProps.js.map +1 -1
  382. package/lib/module/components/touchables/TouchableHighlight.js +24 -15
  383. package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
  384. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +20 -10
  385. package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  386. package/lib/module/components/touchables/TouchableNativeFeedback.js +2 -2
  387. package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
  388. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  389. package/lib/module/components/touchables/TouchableOpacity.js +16 -10
  390. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  391. package/lib/module/components/touchables/TouchableWithoutFeedback.js +15 -10
  392. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  393. package/lib/module/components/touchables/index.js.map +1 -1
  394. package/lib/module/findNodeHandle.js.map +1 -1
  395. package/lib/module/findNodeHandle.web.js +11 -5
  396. package/lib/module/findNodeHandle.web.js.map +1 -1
  397. package/lib/module/getReactNativeVersion.js.map +1 -1
  398. package/lib/module/getReactNativeVersion.web.js.map +1 -1
  399. package/lib/module/getShadowNodeFromRef.js +13 -13
  400. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  401. package/lib/module/getShadowNodeFromRef.web.js.map +1 -1
  402. package/lib/module/ghQueueMicrotask.js.map +1 -1
  403. package/lib/module/handlers/FlingGestureHandler.js +0 -6
  404. package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
  405. package/lib/module/handlers/ForceTouchGestureHandler.js +8 -12
  406. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
  407. package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
  408. package/lib/module/handlers/LongPressGestureHandler.js +0 -6
  409. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
  410. package/lib/module/handlers/NativeViewGestureHandler.js +0 -6
  411. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
  412. package/lib/module/handlers/PanGestureHandler.js +19 -8
  413. package/lib/module/handlers/PanGestureHandler.js.map +1 -1
  414. package/lib/module/handlers/PinchGestureHandler.js +0 -2
  415. package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
  416. package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
  417. package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -1
  418. package/lib/module/handlers/RotationGestureHandler.js +0 -2
  419. package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
  420. package/lib/module/handlers/TapGestureHandler.js +0 -6
  421. package/lib/module/handlers/TapGestureHandler.js.map +1 -1
  422. package/lib/module/handlers/createHandler.js +119 -57
  423. package/lib/module/handlers/createHandler.js.map +1 -1
  424. package/lib/module/handlers/createNativeWrapper.js +22 -15
  425. package/lib/module/handlers/createNativeWrapper.js.map +1 -1
  426. package/lib/module/handlers/customDirectEventTypes.js.map +1 -1
  427. package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -1
  428. package/lib/module/handlers/gestureHandlerCommon.js +4 -9
  429. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  430. package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -1
  431. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +4 -3
  432. package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  433. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +7 -8
  434. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  435. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +16 -8
  436. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  437. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +1 -0
  438. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  439. package/lib/module/handlers/gestures/GestureDetector/index.js +13 -7
  440. package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
  441. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +2 -0
  442. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  443. package/lib/module/handlers/gestures/GestureDetector/types.js.map +1 -1
  444. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +14 -11
  445. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  446. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +39 -12
  447. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  448. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +5 -5
  449. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  450. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +6 -2
  451. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  452. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -5
  453. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  454. package/lib/module/handlers/gestures/GestureDetector/utils.js +28 -23
  455. package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
  456. package/lib/module/handlers/gestures/eventReceiver.js +38 -14
  457. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
  458. package/lib/module/handlers/gestures/flingGesture.js +9 -5
  459. package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
  460. package/lib/module/handlers/gestures/forceTouchGesture.js +17 -8
  461. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
  462. package/lib/module/handlers/gestures/gesture.js +73 -44
  463. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  464. package/lib/module/handlers/gestures/gestureComposition.js +24 -16
  465. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
  466. package/lib/module/handlers/gestures/gestureObjects.js +14 -1
  467. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
  468. package/lib/module/handlers/gestures/gestureStateManager.js +4 -3
  469. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
  470. package/lib/module/handlers/gestures/gestureStateManager.web.js +1 -0
  471. package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
  472. package/lib/module/handlers/gestures/hoverGesture.js +18 -9
  473. package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
  474. package/lib/module/handlers/gestures/longPressGesture.js +11 -6
  475. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
  476. package/lib/module/handlers/gestures/manualGesture.js +4 -0
  477. package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
  478. package/lib/module/handlers/gestures/nativeGesture.js +9 -5
  479. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
  480. package/lib/module/handlers/gestures/panGesture.js +41 -18
  481. package/lib/module/handlers/gestures/panGesture.js.map +1 -1
  482. package/lib/module/handlers/gestures/pinchGesture.js +7 -2
  483. package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
  484. package/lib/module/handlers/gestures/reanimatedWrapper.js +5 -0
  485. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
  486. package/lib/module/handlers/gestures/rotationGesture.js +7 -2
  487. package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
  488. package/lib/module/handlers/gestures/tapGesture.js +19 -10
  489. package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
  490. package/lib/module/handlers/getNextHandlerTag.js.map +1 -1
  491. package/lib/module/handlers/handlersRegistry.js +5 -0
  492. package/lib/module/handlers/handlersRegistry.js.map +1 -1
  493. package/lib/module/handlers/utils.js +13 -4
  494. package/lib/module/handlers/utils.js.map +1 -1
  495. package/lib/module/index.js.map +1 -1
  496. package/lib/module/init.js +2 -3
  497. package/lib/module/init.js.map +1 -1
  498. package/lib/module/jestUtils/index.js.map +1 -1
  499. package/lib/module/jestUtils/jestUtils.js +66 -20
  500. package/lib/module/jestUtils/jestUtils.js.map +1 -1
  501. package/lib/module/mocks.js +7 -3
  502. package/lib/module/mocks.js.map +1 -1
  503. package/lib/module/mountRegistry.js +10 -3
  504. package/lib/module/mountRegistry.js.map +1 -1
  505. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
  506. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  507. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  508. package/lib/module/typeUtils.js.map +1 -1
  509. package/lib/module/utils.js +15 -6
  510. package/lib/module/utils.js.map +1 -1
  511. package/lib/module/web/Gestures.js +1 -2
  512. package/lib/module/web/Gestures.js.map +1 -1
  513. package/lib/module/web/constants.js.map +1 -1
  514. package/lib/module/web/detectors/RotationGestureDetector.js +38 -5
  515. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  516. package/lib/module/web/detectors/ScaleGestureDetector.js +38 -13
  517. package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
  518. package/lib/module/web/handlers/FlingGestureHandler.js +39 -5
  519. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  520. package/lib/module/web/handlers/GestureHandler.js +181 -61
  521. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  522. package/lib/module/web/handlers/HoverGestureHandler.js +11 -5
  523. package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
  524. package/lib/module/web/handlers/IGestureHandler.js.map +1 -1
  525. package/lib/module/web/handlers/LongPressGestureHandler.js +40 -5
  526. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
  527. package/lib/module/web/handlers/ManualGestureHandler.js +6 -0
  528. package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
  529. package/lib/module/web/handlers/NativeViewGestureHandler.js +41 -7
  530. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  531. package/lib/module/web/handlers/PanGestureHandler.js +114 -7
  532. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  533. package/lib/module/web/handlers/PinchGestureHandler.js +33 -3
  534. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
  535. package/lib/module/web/handlers/RotationGestureHandler.js +34 -3
  536. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
  537. package/lib/module/web/handlers/TapGestureHandler.js +59 -5
  538. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  539. package/lib/module/web/interfaces.js +14 -9
  540. package/lib/module/web/interfaces.js.map +1 -1
  541. package/lib/module/web/tools/CircularBuffer.js +13 -3
  542. package/lib/module/web/tools/CircularBuffer.js.map +1 -1
  543. package/lib/module/web/tools/EventManager.js +39 -7
  544. package/lib/module/web/tools/EventManager.js.map +1 -1
  545. package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -1
  546. package/lib/module/web/tools/GestureHandlerOrchestrator.js +71 -10
  547. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  548. package/lib/module/web/tools/GestureHandlerWebDelegate.js +37 -7
  549. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  550. package/lib/module/web/tools/InteractionManager.js +19 -5
  551. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  552. package/lib/module/web/tools/KeyboardEventManager.js +19 -3
  553. package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
  554. package/lib/module/web/tools/LeastSquareSolver.js +65 -30
  555. package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
  556. package/lib/module/web/tools/NodeManager.js +12 -7
  557. package/lib/module/web/tools/NodeManager.js.map +1 -1
  558. package/lib/module/web/tools/PointerEventManager.js +35 -9
  559. package/lib/module/web/tools/PointerEventManager.js.map +1 -1
  560. package/lib/module/web/tools/PointerTracker.js +39 -8
  561. package/lib/module/web/tools/PointerTracker.js.map +1 -1
  562. package/lib/module/web/tools/Vector.js +14 -3
  563. package/lib/module/web/tools/Vector.js.map +1 -1
  564. package/lib/module/web/tools/VelocityTracker.js +25 -8
  565. package/lib/module/web/tools/VelocityTracker.js.map +1 -1
  566. package/lib/module/web/tools/WheelEventManager.js +10 -3
  567. package/lib/module/web/tools/WheelEventManager.js.map +1 -1
  568. package/lib/module/web/utils.js +57 -22
  569. package/lib/module/web/utils.js.map +1 -1
  570. package/lib/module/web_hammer/DiscreteGestureHandler.js +13 -4
  571. package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
  572. package/lib/module/web_hammer/DraggingGestureHandler.js +5 -0
  573. package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
  574. package/lib/module/web_hammer/Errors.js +1 -0
  575. package/lib/module/web_hammer/Errors.js.map +1 -1
  576. package/lib/module/web_hammer/FlingGestureHandler.js +35 -10
  577. package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
  578. package/lib/module/web_hammer/GestureHandler.js +130 -53
  579. package/lib/module/web_hammer/GestureHandler.js.map +1 -1
  580. package/lib/module/web_hammer/IndiscreteGestureHandler.js +6 -1
  581. package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  582. package/lib/module/web_hammer/LongPressGestureHandler.js +11 -2
  583. package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -1
  584. package/lib/module/web_hammer/NativeViewGestureHandler.js +12 -12
  585. package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -1
  586. package/lib/module/web_hammer/NodeManager.js +8 -6
  587. package/lib/module/web_hammer/NodeManager.js.map +1 -1
  588. package/lib/module/web_hammer/PanGestureHandler.js +40 -6
  589. package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
  590. package/lib/module/web_hammer/PinchGestureHandler.js +5 -0
  591. package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
  592. package/lib/module/web_hammer/PressGestureHandler.js +34 -13
  593. package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
  594. package/lib/module/web_hammer/RotationGestureHandler.js +6 -0
  595. package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
  596. package/lib/module/web_hammer/TapGestureHandler.js +45 -31
  597. package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
  598. package/lib/module/web_hammer/constants.js +1 -2
  599. package/lib/module/web_hammer/constants.js.map +1 -1
  600. package/lib/module/web_hammer/utils.js +2 -2
  601. package/lib/module/web_hammer/utils.js.map +1 -1
  602. package/lib/typescript/components/GestureComponents.d.ts +1 -1
  603. package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +5 -0
  604. package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +7 -0
  605. package/lib/typescript/components/touchables/GenericTouchable.d.ts +0 -2
  606. package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +2 -0
  607. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +2 -2
  608. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +3 -3
  609. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +1 -1
  610. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -7
  611. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +2 -2
  612. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +2 -2
  613. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +1 -1
  614. package/lib/typescript/utils.d.ts +1 -0
  615. package/lib/typescript/web/utils.d.ts +2 -0
  616. package/package.json +9 -8
  617. package/src/components/GestureComponents.tsx +1 -1
  618. package/src/components/ReanimatedDrawerLayout.tsx +17 -4
  619. package/src/components/Text.tsx +5 -0
  620. package/src/components/touchables/ExtraButtonProps.ts +7 -0
  621. package/src/components/touchables/GenericTouchable.tsx +0 -2
  622. package/src/components/touchables/GenericTouchableProps.ts +2 -0
  623. package/src/components/touchables/TouchableHighlight.tsx +2 -2
  624. package/src/components/touchables/TouchableNativeFeedback.android.tsx +1 -1
  625. package/src/components/touchables/TouchableNativeFeedback.tsx +1 -1
  626. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -8
  627. package/src/components/touchables/TouchableOpacity.tsx +2 -2
  628. package/src/components/touchables/TouchableWithoutFeedback.tsx +22 -4
  629. package/src/handlers/createHandler.tsx +20 -9
  630. package/src/handlers/createNativeWrapper.tsx +7 -3
  631. package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +2 -4
  632. package/src/utils.ts +6 -0
  633. package/src/web/utils.ts +21 -3
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_TOUCH_SLOP","EventTypes","ScaleGestureDetector","constructor","callbacks","_defineProperty","onScaleBegin","onScale","onScaleEnd","spanSlop","minSpan","onTouchEvent","event","tracker","currentTime","time","action","eventType","numOfPointers","trackedPointersCount","streamComplete","UP","ADDITIONAL_POINTER_UP","CANCEL","DOWN","inProgress","initialSpan","configChanged","ADDITIONAL_POINTER_DOWN","pointerUp","ignoredPointer","pointerId","undefined","div","coordsSum","getAbsoluteCoordsSum","focusX","x","focusY","y","devSumX","devSumY","trackedPointers","forEach","value","key","Math","abs","abosoluteCoords","devX","devY","spanX","spanY","span","hypot","wasInProgress","_focusX","_focusY","prevSpan","_currentSpan","prevTime","MOVE","currentSpan","calculateScaleFactor","timeDelta"],"sources":["ScaleGestureDetector.ts"],"sourcesContent":["import { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, EventTypes } from '../interfaces';\n\nimport PointerTracker from '../tools/PointerTracker';\n\nexport interface ScaleGestureListener {\n onScaleBegin: (detector: ScaleGestureDetector) => boolean;\n onScale: (detector: ScaleGestureDetector) => boolean;\n onScaleEnd: (detector: ScaleGestureDetector) => void;\n}\n\nexport default class ScaleGestureDetector implements ScaleGestureListener {\n public onScaleBegin: (detector: ScaleGestureDetector) => boolean;\n public onScale: (detector: ScaleGestureDetector) => boolean;\n public onScaleEnd: (detector: ScaleGestureDetector) => void;\n\n private _focusX!: number;\n private _focusY!: number;\n\n private _currentSpan!: number;\n private prevSpan!: number;\n private initialSpan!: number;\n\n private currentTime!: number;\n private prevTime!: number;\n\n private inProgress = false;\n\n private spanSlop: number;\n private minSpan: number;\n\n constructor(callbacks: ScaleGestureListener) {\n this.onScaleBegin = callbacks.onScaleBegin;\n this.onScale = callbacks.onScale;\n this.onScaleEnd = callbacks.onScaleEnd;\n\n this.spanSlop = DEFAULT_TOUCH_SLOP * 2;\n this.minSpan = 0;\n }\n\n public onTouchEvent(event: AdaptedEvent, tracker: PointerTracker): boolean {\n this.currentTime = event.time;\n\n const action: EventTypes = event.eventType;\n const numOfPointers = tracker.trackedPointersCount;\n\n const streamComplete: boolean =\n action === EventTypes.UP ||\n action === EventTypes.ADDITIONAL_POINTER_UP ||\n action === EventTypes.CANCEL;\n\n if (action === EventTypes.DOWN || streamComplete) {\n if (this.inProgress) {\n this.onScaleEnd(this);\n this.inProgress = false;\n this.initialSpan = 0;\n }\n\n if (streamComplete) {\n return true;\n }\n }\n\n const configChanged: boolean =\n action === EventTypes.DOWN ||\n action === EventTypes.ADDITIONAL_POINTER_UP ||\n action === EventTypes.ADDITIONAL_POINTER_DOWN;\n\n const pointerUp = action === EventTypes.ADDITIONAL_POINTER_UP;\n\n const ignoredPointer: number | undefined = pointerUp\n ? event.pointerId\n : undefined;\n\n // Determine focal point\n\n const div: number = pointerUp ? numOfPointers - 1 : numOfPointers;\n\n const coordsSum = tracker.getAbsoluteCoordsSum();\n\n const focusX = coordsSum.x / div;\n const focusY = coordsSum.y / div;\n\n // Determine average deviation from focal point\n\n let devSumX = 0;\n let devSumY = 0;\n\n tracker.trackedPointers.forEach((value, key) => {\n if (key === ignoredPointer) {\n return;\n }\n\n devSumX += Math.abs(value.abosoluteCoords.x - focusX);\n devSumY += Math.abs(value.abosoluteCoords.y - focusY);\n });\n\n const devX: number = devSumX / div;\n const devY: number = devSumY / div;\n\n const spanX: number = devX * 2;\n const spanY: number = devY * 2;\n\n const span = Math.hypot(spanX, spanY);\n\n // Begin/end events\n const wasInProgress: boolean = this.inProgress;\n this._focusX = focusX;\n this._focusY = focusY;\n\n if (this.inProgress && (span < this.minSpan || configChanged)) {\n this.onScaleEnd(this);\n this.inProgress = false;\n this.initialSpan = span;\n }\n\n if (configChanged) {\n this.initialSpan = this.prevSpan = this._currentSpan = span;\n }\n\n if (\n !this.inProgress &&\n span >= this.minSpan &&\n (wasInProgress || Math.abs(span - this.initialSpan) > this.spanSlop)\n ) {\n this.prevSpan = this._currentSpan = span;\n this.prevTime = this.currentTime;\n this.inProgress = this.onScaleBegin(this);\n }\n\n // Handle motion\n if (action !== EventTypes.MOVE) {\n return true;\n }\n\n this._currentSpan = span;\n\n if (this.inProgress && !this.onScale(this)) {\n return true;\n }\n\n this.prevSpan = this.currentSpan;\n this.prevTime = this.currentTime;\n\n return true;\n }\n\n public calculateScaleFactor(numOfPointers: number): number {\n if (numOfPointers < 2) {\n return 1;\n }\n\n return this.prevSpan > 0 ? this.currentSpan / this.prevSpan : 1;\n }\n\n public get currentSpan() {\n return this._currentSpan;\n }\n\n public get focusX() {\n return this._focusX;\n }\n\n public get focusY() {\n return this._focusY;\n }\n\n public get timeDelta() {\n return this.currentTime - this.prevTime;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["ScaleGestureDetector.ts"],"names":["DEFAULT_TOUCH_SLOP","EventTypes","ScaleGestureDetector","constructor","callbacks","onScaleBegin","onScale","onScaleEnd","spanSlop","minSpan","onTouchEvent","event","tracker","currentTime","time","action","eventType","numOfPointers","trackedPointersCount","streamComplete","UP","ADDITIONAL_POINTER_UP","CANCEL","DOWN","inProgress","initialSpan","configChanged","ADDITIONAL_POINTER_DOWN","pointerUp","ignoredPointer","pointerId","undefined","div","coordsSum","getAbsoluteCoordsSum","focusX","x","focusY","y","devSumX","devSumY","trackedPointers","forEach","value","key","Math","abs","abosoluteCoords","devX","devY","spanX","spanY","span","hypot","wasInProgress","_focusX","_focusY","prevSpan","_currentSpan","prevTime","MOVE","currentSpan","calculateScaleFactor","timeDelta"],"mappings":"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","sourcesContent":["import { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, EventTypes } from '../interfaces';\n\nimport PointerTracker from '../tools/PointerTracker';\n\nexport interface ScaleGestureListener {\n onScaleBegin: (detector: ScaleGestureDetector) => boolean;\n onScale: (detector: ScaleGestureDetector) => boolean;\n onScaleEnd: (detector: ScaleGestureDetector) => void;\n}\n\nexport default class ScaleGestureDetector implements ScaleGestureListener {\n public onScaleBegin: (detector: ScaleGestureDetector) => boolean;\n public onScale: (detector: ScaleGestureDetector) => boolean;\n public onScaleEnd: (detector: ScaleGestureDetector) => void;\n\n private _focusX!: number;\n private _focusY!: number;\n\n private _currentSpan!: number;\n private prevSpan!: number;\n private initialSpan!: number;\n\n private currentTime!: number;\n private prevTime!: number;\n\n private inProgress = false;\n\n private spanSlop: number;\n private minSpan: number;\n\n constructor(callbacks: ScaleGestureListener) {\n this.onScaleBegin = callbacks.onScaleBegin;\n this.onScale = callbacks.onScale;\n this.onScaleEnd = callbacks.onScaleEnd;\n\n this.spanSlop = DEFAULT_TOUCH_SLOP * 2;\n this.minSpan = 0;\n }\n\n public onTouchEvent(event: AdaptedEvent, tracker: PointerTracker): boolean {\n this.currentTime = event.time;\n\n const action: EventTypes = event.eventType;\n const numOfPointers = tracker.trackedPointersCount;\n\n const streamComplete: boolean =\n action === EventTypes.UP ||\n action === EventTypes.ADDITIONAL_POINTER_UP ||\n action === EventTypes.CANCEL;\n\n if (action === EventTypes.DOWN || streamComplete) {\n if (this.inProgress) {\n this.onScaleEnd(this);\n this.inProgress = false;\n this.initialSpan = 0;\n }\n\n if (streamComplete) {\n return true;\n }\n }\n\n const configChanged: boolean =\n action === EventTypes.DOWN ||\n action === EventTypes.ADDITIONAL_POINTER_UP ||\n action === EventTypes.ADDITIONAL_POINTER_DOWN;\n\n const pointerUp = action === EventTypes.ADDITIONAL_POINTER_UP;\n\n const ignoredPointer: number | undefined = pointerUp\n ? event.pointerId\n : undefined;\n\n // Determine focal point\n\n const div: number = pointerUp ? numOfPointers - 1 : numOfPointers;\n\n const coordsSum = tracker.getAbsoluteCoordsSum();\n\n const focusX = coordsSum.x / div;\n const focusY = coordsSum.y / div;\n\n // Determine average deviation from focal point\n\n let devSumX = 0;\n let devSumY = 0;\n\n tracker.trackedPointers.forEach((value, key) => {\n if (key === ignoredPointer) {\n return;\n }\n\n devSumX += Math.abs(value.abosoluteCoords.x - focusX);\n devSumY += Math.abs(value.abosoluteCoords.y - focusY);\n });\n\n const devX: number = devSumX / div;\n const devY: number = devSumY / div;\n\n const spanX: number = devX * 2;\n const spanY: number = devY * 2;\n\n const span = Math.hypot(spanX, spanY);\n\n // Begin/end events\n const wasInProgress: boolean = this.inProgress;\n this._focusX = focusX;\n this._focusY = focusY;\n\n if (this.inProgress && (span < this.minSpan || configChanged)) {\n this.onScaleEnd(this);\n this.inProgress = false;\n this.initialSpan = span;\n }\n\n if (configChanged) {\n this.initialSpan = this.prevSpan = this._currentSpan = span;\n }\n\n if (\n !this.inProgress &&\n span >= this.minSpan &&\n (wasInProgress || Math.abs(span - this.initialSpan) > this.spanSlop)\n ) {\n this.prevSpan = this._currentSpan = span;\n this.prevTime = this.currentTime;\n this.inProgress = this.onScaleBegin(this);\n }\n\n // Handle motion\n if (action !== EventTypes.MOVE) {\n return true;\n }\n\n this._currentSpan = span;\n\n if (this.inProgress && !this.onScale(this)) {\n return true;\n }\n\n this.prevSpan = this.currentSpan;\n this.prevTime = this.currentTime;\n\n return true;\n }\n\n public calculateScaleFactor(numOfPointers: number): number {\n if (numOfPointers < 2) {\n return 1;\n }\n\n return this.prevSpan > 0 ? this.currentSpan / this.prevSpan : 1;\n }\n\n public get currentSpan() {\n return this._currentSpan;\n }\n\n public get focusX() {\n return this._focusX;\n }\n\n public get focusY() {\n return this._focusY;\n }\n\n public get timeDelta() {\n return this.currentTime - this.prevTime;\n }\n}\n"]}
@@ -1,6 +1,5 @@
1
- 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; }
2
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
- 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); }
1
+ 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; }
2
+
4
3
  import { State } from '../../State';
5
4
  import { DiagonalDirections, Directions } from '../../Directions';
6
5
  import GestureHandler from './GestureHandler';
@@ -16,14 +15,22 @@ const DIAGONAL_DEVIATION_COSINE = coneToDeviation(90 - DEFAULT_ALIGNMENT_CONE);
16
15
  export default class FlingGestureHandler extends GestureHandler {
17
16
  constructor(...args) {
18
17
  super(...args);
18
+
19
19
  _defineProperty(this, "numberOfPointersRequired", DEFAULT_NUMBER_OF_TOUCHES_REQUIRED);
20
+
20
21
  _defineProperty(this, "direction", DEFAULT_DIRECTION);
22
+
21
23
  _defineProperty(this, "maxDurationMs", DEFAULT_MAX_DURATION_MS);
24
+
22
25
  _defineProperty(this, "minVelocity", DEFAULT_MIN_VELOCITY);
26
+
23
27
  _defineProperty(this, "delayTimeout", void 0);
28
+
24
29
  _defineProperty(this, "maxNumberOfPointersSimultaneously", 0);
30
+
25
31
  _defineProperty(this, "keyPointer", NaN);
26
32
  }
33
+
27
34
  updateGestureConfig({
28
35
  enabled = true,
29
36
  ...props
@@ -32,108 +39,135 @@ export default class FlingGestureHandler extends GestureHandler {
32
39
  enabled: enabled,
33
40
  ...props
34
41
  });
42
+
35
43
  if (this.config.direction) {
36
44
  this.direction = this.config.direction;
37
45
  }
46
+
38
47
  if (this.config.numberOfPointers) {
39
48
  this.numberOfPointersRequired = this.config.numberOfPointers;
40
49
  }
41
50
  }
51
+
42
52
  startFling() {
43
53
  this.begin();
44
54
  this.maxNumberOfPointersSimultaneously = 1;
45
55
  this.delayTimeout = setTimeout(() => this.fail(), this.maxDurationMs);
46
56
  }
57
+
47
58
  tryEndFling() {
48
59
  const velocityVector = Vector.fromVelocity(this.tracker, this.keyPointer);
60
+
49
61
  const getAlignment = (direction, minimalAlignmentCosine) => {
50
62
  return (direction & this.direction) === direction && velocityVector.isSimilar(Vector.fromDirection(direction), minimalAlignmentCosine);
51
63
  };
64
+
52
65
  const axialDirectionsList = Object.values(Directions);
53
- const diagonalDirectionsList = Object.values(DiagonalDirections);
66
+ const diagonalDirectionsList = Object.values(DiagonalDirections); // List of alignments to all activated directions
54
67
 
55
- // List of alignments to all activated directions
56
68
  const axialAlignmentList = axialDirectionsList.map(direction => getAlignment(direction, AXIAL_DEVIATION_COSINE));
57
69
  const diagonalAlignmentList = diagonalDirectionsList.map(direction => getAlignment(direction, DIAGONAL_DEVIATION_COSINE));
58
70
  const isAligned = axialAlignmentList.some(Boolean) || diagonalAlignmentList.some(Boolean);
59
71
  const isFast = velocityVector.magnitude > this.minVelocity;
72
+
60
73
  if (this.maxNumberOfPointersSimultaneously === this.numberOfPointersRequired && isAligned && isFast) {
61
74
  clearTimeout(this.delayTimeout);
62
75
  this.activate();
63
76
  return true;
64
77
  }
78
+
65
79
  return false;
66
80
  }
81
+
67
82
  endFling() {
68
83
  if (!this.tryEndFling()) {
69
84
  this.fail();
70
85
  }
71
86
  }
87
+
72
88
  onPointerDown(event) {
73
89
  if (!this.isButtonInConfig(event.button)) {
74
90
  return;
75
91
  }
92
+
76
93
  this.tracker.addToTracker(event);
77
94
  this.keyPointer = event.pointerId;
78
95
  super.onPointerDown(event);
79
96
  this.newPointerAction();
80
97
  this.tryToSendTouchEvent(event);
81
98
  }
99
+
82
100
  onPointerAdd(event) {
83
101
  this.tracker.addToTracker(event);
84
102
  super.onPointerAdd(event);
85
103
  this.newPointerAction();
86
104
  }
105
+
87
106
  newPointerAction() {
88
107
  if (this.state === State.UNDETERMINED) {
89
108
  this.startFling();
90
109
  }
110
+
91
111
  if (this.state !== State.BEGAN) {
92
112
  return;
93
113
  }
114
+
94
115
  this.tryEndFling();
116
+
95
117
  if (this.tracker.trackedPointersCount > this.maxNumberOfPointersSimultaneously) {
96
118
  this.maxNumberOfPointersSimultaneously = this.tracker.trackedPointersCount;
97
119
  }
98
120
  }
121
+
99
122
  pointerMoveAction(event) {
100
123
  this.tracker.track(event);
124
+
101
125
  if (this.state !== State.BEGAN) {
102
126
  return;
103
127
  }
128
+
104
129
  this.tryEndFling();
105
130
  }
131
+
106
132
  onPointerMove(event) {
107
133
  this.pointerMoveAction(event);
108
134
  super.onPointerMove(event);
109
135
  }
136
+
110
137
  onPointerOutOfBounds(event) {
111
138
  this.pointerMoveAction(event);
112
139
  super.onPointerOutOfBounds(event);
113
140
  }
141
+
114
142
  onPointerUp(event) {
115
143
  super.onPointerUp(event);
116
144
  this.onUp(event);
117
145
  this.keyPointer = NaN;
118
146
  }
147
+
119
148
  onPointerRemove(event) {
120
149
  super.onPointerRemove(event);
121
150
  this.onUp(event);
122
151
  }
152
+
123
153
  onUp(event) {
124
154
  if (this.state === State.BEGAN) {
125
155
  this.endFling();
126
156
  }
157
+
127
158
  this.tracker.removeFromTracker(event.pointerId);
128
159
  }
160
+
129
161
  activate(force) {
130
162
  super.activate(force);
131
163
  this.end();
132
164
  }
165
+
133
166
  resetConfig() {
134
167
  super.resetConfig();
135
168
  this.numberOfPointersRequired = DEFAULT_NUMBER_OF_TOUCHES_REQUIRED;
136
169
  this.direction = DEFAULT_DIRECTION;
137
170
  }
171
+
138
172
  }
139
173
  //# sourceMappingURL=FlingGestureHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["State","DiagonalDirections","Directions","GestureHandler","Vector","coneToDeviation","DEFAULT_MAX_DURATION_MS","DEFAULT_MIN_VELOCITY","DEFAULT_ALIGNMENT_CONE","DEFAULT_DIRECTION","RIGHT","DEFAULT_NUMBER_OF_TOUCHES_REQUIRED","AXIAL_DEVIATION_COSINE","DIAGONAL_DEVIATION_COSINE","FlingGestureHandler","constructor","args","_defineProperty","NaN","updateGestureConfig","enabled","props","config","direction","numberOfPointers","numberOfPointersRequired","startFling","begin","maxNumberOfPointersSimultaneously","delayTimeout","setTimeout","fail","maxDurationMs","tryEndFling","velocityVector","fromVelocity","tracker","keyPointer","getAlignment","minimalAlignmentCosine","isSimilar","fromDirection","axialDirectionsList","Object","values","diagonalDirectionsList","axialAlignmentList","map","diagonalAlignmentList","isAligned","some","Boolean","isFast","magnitude","minVelocity","clearTimeout","activate","endFling","onPointerDown","event","isButtonInConfig","button","addToTracker","pointerId","newPointerAction","tryToSendTouchEvent","onPointerAdd","state","UNDETERMINED","BEGAN","trackedPointersCount","pointerMoveAction","track","onPointerMove","onPointerOutOfBounds","onPointerUp","onUp","onPointerRemove","removeFromTracker","force","end","resetConfig"],"sources":["FlingGestureHandler.ts"],"sourcesContent":["import { State } from '../../State';\nimport { DiagonalDirections, Directions } from '../../Directions';\nimport { AdaptedEvent, Config } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport Vector from '../tools/Vector';\nimport { coneToDeviation } from '../utils';\n\nconst DEFAULT_MAX_DURATION_MS = 800;\nconst DEFAULT_MIN_VELOCITY = 700;\nconst DEFAULT_ALIGNMENT_CONE = 30;\nconst DEFAULT_DIRECTION = Directions.RIGHT;\nconst DEFAULT_NUMBER_OF_TOUCHES_REQUIRED = 1;\n\nconst AXIAL_DEVIATION_COSINE = coneToDeviation(DEFAULT_ALIGNMENT_CONE);\nconst DIAGONAL_DEVIATION_COSINE = coneToDeviation(90 - DEFAULT_ALIGNMENT_CONE);\n\nexport default class FlingGestureHandler extends GestureHandler {\n private numberOfPointersRequired = DEFAULT_NUMBER_OF_TOUCHES_REQUIRED;\n private direction: Directions = DEFAULT_DIRECTION;\n\n private maxDurationMs = DEFAULT_MAX_DURATION_MS;\n private minVelocity = DEFAULT_MIN_VELOCITY;\n private delayTimeout!: number;\n\n private maxNumberOfPointersSimultaneously = 0;\n private keyPointer = NaN;\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n\n if (this.config.direction) {\n this.direction = this.config.direction;\n }\n\n if (this.config.numberOfPointers) {\n this.numberOfPointersRequired = this.config.numberOfPointers;\n }\n }\n\n private startFling(): void {\n this.begin();\n\n this.maxNumberOfPointersSimultaneously = 1;\n\n this.delayTimeout = setTimeout(() => this.fail(), this.maxDurationMs);\n }\n\n private tryEndFling(): boolean {\n const velocityVector = Vector.fromVelocity(this.tracker, this.keyPointer);\n\n const getAlignment = (\n direction: Directions | DiagonalDirections,\n minimalAlignmentCosine: number\n ) => {\n return (\n (direction & this.direction) === direction &&\n velocityVector.isSimilar(\n Vector.fromDirection(direction),\n minimalAlignmentCosine\n )\n );\n };\n\n const axialDirectionsList = Object.values(Directions);\n const diagonalDirectionsList = Object.values(DiagonalDirections);\n\n // List of alignments to all activated directions\n const axialAlignmentList = axialDirectionsList.map((direction) =>\n getAlignment(direction, AXIAL_DEVIATION_COSINE)\n );\n\n const diagonalAlignmentList = diagonalDirectionsList.map((direction) =>\n getAlignment(direction, DIAGONAL_DEVIATION_COSINE)\n );\n\n const isAligned =\n axialAlignmentList.some(Boolean) || diagonalAlignmentList.some(Boolean);\n\n const isFast = velocityVector.magnitude > this.minVelocity;\n\n if (\n this.maxNumberOfPointersSimultaneously ===\n this.numberOfPointersRequired &&\n isAligned &&\n isFast\n ) {\n clearTimeout(this.delayTimeout);\n this.activate();\n\n return true;\n }\n\n return false;\n }\n\n private endFling() {\n if (!this.tryEndFling()) {\n this.fail();\n }\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n this.keyPointer = event.pointerId;\n\n super.onPointerDown(event);\n this.newPointerAction();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.newPointerAction();\n }\n\n private newPointerAction(): void {\n if (this.state === State.UNDETERMINED) {\n this.startFling();\n }\n\n if (this.state !== State.BEGAN) {\n return;\n }\n\n this.tryEndFling();\n\n if (\n this.tracker.trackedPointersCount > this.maxNumberOfPointersSimultaneously\n ) {\n this.maxNumberOfPointersSimultaneously =\n this.tracker.trackedPointersCount;\n }\n }\n\n private pointerMoveAction(event: AdaptedEvent): void {\n this.tracker.track(event);\n\n if (this.state !== State.BEGAN) {\n return;\n }\n\n this.tryEndFling();\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.pointerMoveAction(event);\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n this.pointerMoveAction(event);\n super.onPointerOutOfBounds(event);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.onUp(event);\n\n this.keyPointer = NaN;\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.onUp(event);\n }\n\n private onUp(event: AdaptedEvent): void {\n if (this.state === State.BEGAN) {\n this.endFling();\n }\n\n this.tracker.removeFromTracker(event.pointerId);\n }\n\n public activate(force?: boolean): void {\n super.activate(force);\n this.end();\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n this.numberOfPointersRequired = DEFAULT_NUMBER_OF_TOUCHES_REQUIRED;\n this.direction = DEFAULT_DIRECTION;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["FlingGestureHandler.ts"],"names":["State","DiagonalDirections","Directions","GestureHandler","Vector","coneToDeviation","DEFAULT_MAX_DURATION_MS","DEFAULT_MIN_VELOCITY","DEFAULT_ALIGNMENT_CONE","DEFAULT_DIRECTION","RIGHT","DEFAULT_NUMBER_OF_TOUCHES_REQUIRED","AXIAL_DEVIATION_COSINE","DIAGONAL_DEVIATION_COSINE","FlingGestureHandler","NaN","updateGestureConfig","enabled","props","config","direction","numberOfPointers","numberOfPointersRequired","startFling","begin","maxNumberOfPointersSimultaneously","delayTimeout","setTimeout","fail","maxDurationMs","tryEndFling","velocityVector","fromVelocity","tracker","keyPointer","getAlignment","minimalAlignmentCosine","isSimilar","fromDirection","axialDirectionsList","Object","values","diagonalDirectionsList","axialAlignmentList","map","diagonalAlignmentList","isAligned","some","Boolean","isFast","magnitude","minVelocity","clearTimeout","activate","endFling","onPointerDown","event","isButtonInConfig","button","addToTracker","pointerId","newPointerAction","tryToSendTouchEvent","onPointerAdd","state","UNDETERMINED","BEGAN","trackedPointersCount","pointerMoveAction","track","onPointerMove","onPointerOutOfBounds","onPointerUp","onUp","onPointerRemove","removeFromTracker","force","end","resetConfig"],"mappings":"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","sourcesContent":["import { State } from '../../State';\nimport { DiagonalDirections, Directions } from '../../Directions';\nimport { AdaptedEvent, Config } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport Vector from '../tools/Vector';\nimport { coneToDeviation } from '../utils';\n\nconst DEFAULT_MAX_DURATION_MS = 800;\nconst DEFAULT_MIN_VELOCITY = 700;\nconst DEFAULT_ALIGNMENT_CONE = 30;\nconst DEFAULT_DIRECTION = Directions.RIGHT;\nconst DEFAULT_NUMBER_OF_TOUCHES_REQUIRED = 1;\n\nconst AXIAL_DEVIATION_COSINE = coneToDeviation(DEFAULT_ALIGNMENT_CONE);\nconst DIAGONAL_DEVIATION_COSINE = coneToDeviation(90 - DEFAULT_ALIGNMENT_CONE);\n\nexport default class FlingGestureHandler extends GestureHandler {\n private numberOfPointersRequired = DEFAULT_NUMBER_OF_TOUCHES_REQUIRED;\n private direction: Directions = DEFAULT_DIRECTION;\n\n private maxDurationMs = DEFAULT_MAX_DURATION_MS;\n private minVelocity = DEFAULT_MIN_VELOCITY;\n private delayTimeout!: number;\n\n private maxNumberOfPointersSimultaneously = 0;\n private keyPointer = NaN;\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n\n if (this.config.direction) {\n this.direction = this.config.direction;\n }\n\n if (this.config.numberOfPointers) {\n this.numberOfPointersRequired = this.config.numberOfPointers;\n }\n }\n\n private startFling(): void {\n this.begin();\n\n this.maxNumberOfPointersSimultaneously = 1;\n\n this.delayTimeout = setTimeout(() => this.fail(), this.maxDurationMs);\n }\n\n private tryEndFling(): boolean {\n const velocityVector = Vector.fromVelocity(this.tracker, this.keyPointer);\n\n const getAlignment = (\n direction: Directions | DiagonalDirections,\n minimalAlignmentCosine: number\n ) => {\n return (\n (direction & this.direction) === direction &&\n velocityVector.isSimilar(\n Vector.fromDirection(direction),\n minimalAlignmentCosine\n )\n );\n };\n\n const axialDirectionsList = Object.values(Directions);\n const diagonalDirectionsList = Object.values(DiagonalDirections);\n\n // List of alignments to all activated directions\n const axialAlignmentList = axialDirectionsList.map((direction) =>\n getAlignment(direction, AXIAL_DEVIATION_COSINE)\n );\n\n const diagonalAlignmentList = diagonalDirectionsList.map((direction) =>\n getAlignment(direction, DIAGONAL_DEVIATION_COSINE)\n );\n\n const isAligned =\n axialAlignmentList.some(Boolean) || diagonalAlignmentList.some(Boolean);\n\n const isFast = velocityVector.magnitude > this.minVelocity;\n\n if (\n this.maxNumberOfPointersSimultaneously ===\n this.numberOfPointersRequired &&\n isAligned &&\n isFast\n ) {\n clearTimeout(this.delayTimeout);\n this.activate();\n\n return true;\n }\n\n return false;\n }\n\n private endFling() {\n if (!this.tryEndFling()) {\n this.fail();\n }\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n this.keyPointer = event.pointerId;\n\n super.onPointerDown(event);\n this.newPointerAction();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.newPointerAction();\n }\n\n private newPointerAction(): void {\n if (this.state === State.UNDETERMINED) {\n this.startFling();\n }\n\n if (this.state !== State.BEGAN) {\n return;\n }\n\n this.tryEndFling();\n\n if (\n this.tracker.trackedPointersCount > this.maxNumberOfPointersSimultaneously\n ) {\n this.maxNumberOfPointersSimultaneously =\n this.tracker.trackedPointersCount;\n }\n }\n\n private pointerMoveAction(event: AdaptedEvent): void {\n this.tracker.track(event);\n\n if (this.state !== State.BEGAN) {\n return;\n }\n\n this.tryEndFling();\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.pointerMoveAction(event);\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n this.pointerMoveAction(event);\n super.onPointerOutOfBounds(event);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.onUp(event);\n\n this.keyPointer = NaN;\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.onUp(event);\n }\n\n private onUp(event: AdaptedEvent): void {\n if (this.state === State.BEGAN) {\n this.endFling();\n }\n\n this.tracker.removeFromTracker(event.pointerId);\n }\n\n public activate(force?: boolean): void {\n super.activate(force);\n this.end();\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n this.numberOfPointersRequired = DEFAULT_NUMBER_OF_TOUCHES_REQUIRED;\n this.direction = DEFAULT_DIRECTION;\n }\n}\n"]}