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":["State","DEFAULT_TOUCH_SLOP","WheelDevice","GestureHandler","DEFAULT_MIN_POINTERS","DEFAULT_MAX_POINTERS","DEFAULT_MIN_DIST_SQ","PanGestureHandler","constructor","args","_defineProperty","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","UNDETERMINED","updateGestureConfig","enabled","props","resetConfig","checkCustomActivationCriteria","customActivationProperties","config","minDist","undefined","minDistSq","hasCustomActivationCriteria","minPointers","maxPointers","minVelocity","minVelocityX","minVelocityY","activateAfterLongPress","activeOffsetXStart","activeOffsetXEnd","failOffsetXStart","failOffsetXEnd","activeOffsetYStart","activeOffsetYEnd","failOffsetYStart","failOffsetYEnd","enableTrackpadTwoFingerGesture","minVelocitySq","transformNativeEvent","translationX","getTranslationX","translationY","getTranslationY","isNaN","velocityX","velocityY","stylusData","lastX","startX","offsetX","lastY","startY","offsetY","clearActivationTimeout","clearTimeout","activationTimeout","onPointerDown","event","isButtonInConfig","button","tracker","addToTracker","lastCoords","getAbsoluteCoordsAverage","x","y","tryBegin","checkBegan","tryToSendTouchEvent","onPointerAdd","trackedPointersCount","state","ACTIVE","cancel","fail","onPointerUp","removeFromTracker","pointerId","end","resetProgress","onPointerRemove","onPointerMove","track","velocity","getVelocity","onPointerOutOfBounds","shouldCancelWhenOutside","scheduleWheelEnd","endWheelTimeout","setTimeout","wheelDevice","onWheel","MOUSE","wheelDeltaY","TOUCHPAD","begin","activate","tryToSendMoveEvent","shouldActivate","dx","dy","distanceSq","vx","vy","velocitySq","shouldFail","BEGAN","force","onCancel","onReset"],"sources":["PanGestureHandler.ts"],"sourcesContent":["import { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, Config, StylusData, WheelDevice } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MIN_POINTERS = 1;\nconst DEFAULT_MAX_POINTERS = 10;\nconst DEFAULT_MIN_DIST_SQ = DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP;\n\nexport default class PanGestureHandler extends GestureHandler {\n private readonly customActivationProperties: string[] = [\n 'activeOffsetXStart',\n 'activeOffsetXEnd',\n 'failOffsetXStart',\n 'failOffsetXEnd',\n 'activeOffsetYStart',\n 'activeOffsetYEnd',\n 'failOffsetYStart',\n 'failOffsetYEnd',\n 'minVelocityX',\n 'minVelocityY',\n 'minVelocity',\n ];\n\n public velocityX = 0;\n public velocityY = 0;\n\n private minDistSq = DEFAULT_MIN_DIST_SQ;\n\n private activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n private activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetXStart = Number.MIN_SAFE_INTEGER;\n private failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n private activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n private activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetYStart = Number.MIN_SAFE_INTEGER;\n private failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n private minVelocityX = Number.MAX_SAFE_INTEGER;\n private minVelocityY = Number.MAX_SAFE_INTEGER;\n private minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n private minPointers = DEFAULT_MIN_POINTERS;\n private maxPointers = DEFAULT_MAX_POINTERS;\n\n private startX = 0;\n private startY = 0;\n private offsetX = 0;\n private offsetY = 0;\n private lastX = 0;\n private lastY = 0;\n\n private stylusData: StylusData | undefined;\n\n private activateAfterLongPress = 0;\n private activationTimeout = 0;\n\n private enableTrackpadTwoFingerGesture = false;\n private endWheelTimeout = 0;\n private wheelDevice = WheelDevice.UNDETERMINED;\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n this.resetConfig();\n\n super.updateGestureConfig({ enabled: enabled, ...props });\n this.checkCustomActivationCriteria(this.customActivationProperties);\n\n if (this.config.minDist !== undefined) {\n this.minDistSq = this.config.minDist * this.config.minDist;\n } else if (this.hasCustomActivationCriteria) {\n this.minDistSq = Number.MAX_SAFE_INTEGER;\n }\n\n if (this.config.minPointers !== undefined) {\n this.minPointers = this.config.minPointers;\n }\n\n if (this.config.maxPointers !== undefined) {\n this.maxPointers = this.config.maxPointers;\n }\n\n if (this.config.minVelocity !== undefined) {\n this.minVelocityX = this.config.minVelocity;\n this.minVelocityY = this.config.minVelocity;\n }\n\n if (this.config.minVelocityX !== undefined) {\n this.minVelocityX = this.config.minVelocityX;\n }\n\n if (this.config.minVelocityY !== undefined) {\n this.minVelocityY = this.config.minVelocityY;\n }\n\n if (this.config.activateAfterLongPress !== undefined) {\n this.activateAfterLongPress = this.config.activateAfterLongPress;\n }\n\n if (this.config.activeOffsetXStart !== undefined) {\n this.activeOffsetXStart = this.config.activeOffsetXStart;\n\n if (this.config.activeOffsetXEnd === undefined) {\n this.activeOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetXEnd !== undefined) {\n this.activeOffsetXEnd = this.config.activeOffsetXEnd;\n\n if (this.config.activeOffsetXStart === undefined) {\n this.activeOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXStart !== undefined) {\n this.failOffsetXStart = this.config.failOffsetXStart;\n\n if (this.config.failOffsetXEnd === undefined) {\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXEnd !== undefined) {\n this.failOffsetXEnd = this.config.failOffsetXEnd;\n\n if (this.config.failOffsetXStart === undefined) {\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYStart !== undefined) {\n this.activeOffsetYStart = this.config.activeOffsetYStart;\n\n if (this.config.activeOffsetYEnd === undefined) {\n this.activeOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYEnd !== undefined) {\n this.activeOffsetYEnd = this.config.activeOffsetYEnd;\n\n if (this.config.activeOffsetYStart === undefined) {\n this.activeOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYStart !== undefined) {\n this.failOffsetYStart = this.config.failOffsetYStart;\n\n if (this.config.failOffsetYEnd === undefined) {\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYEnd !== undefined) {\n this.failOffsetYEnd = this.config.failOffsetYEnd;\n\n if (this.config.failOffsetYStart === undefined) {\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.enableTrackpadTwoFingerGesture !== undefined) {\n this.enableTrackpadTwoFingerGesture =\n this.config.enableTrackpadTwoFingerGesture;\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n\n this.activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n this.activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n this.activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n this.activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n this.minVelocityX = Number.MAX_SAFE_INTEGER;\n this.minVelocityY = Number.MAX_SAFE_INTEGER;\n this.minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n this.minDistSq = DEFAULT_MIN_DIST_SQ;\n\n this.minPointers = DEFAULT_MIN_POINTERS;\n this.maxPointers = DEFAULT_MAX_POINTERS;\n\n this.activateAfterLongPress = 0;\n }\n\n protected transformNativeEvent() {\n const translationX: number = this.getTranslationX();\n const translationY: number = this.getTranslationY();\n\n return {\n ...super.transformNativeEvent(),\n translationX: isNaN(translationX) ? 0 : translationX,\n translationY: isNaN(translationY) ? 0 : translationY,\n velocityX: this.velocityX,\n velocityY: this.velocityY,\n stylusData: this.stylusData,\n };\n }\n\n private getTranslationX(): number {\n return this.lastX - this.startX + this.offsetX;\n }\n private getTranslationY(): number {\n return this.lastY - this.startY + this.offsetY;\n }\n\n private clearActivationTimeout(): void {\n clearTimeout(this.activationTimeout);\n }\n\n // Events Handling\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n this.stylusData = event.stylusData;\n\n super.onPointerDown(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.tryBegin(event);\n this.checkBegan();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.tryBegin(event);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (this.tracker.trackedPointersCount > this.maxPointers) {\n if (this.state === State.ACTIVE) {\n this.cancel();\n } else {\n this.fail();\n }\n } else {\n this.checkBegan();\n }\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n this.stylusData = event.stylusData;\n\n super.onPointerUp(event);\n if (this.state === State.ACTIVE) {\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n }\n\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.tracker.trackedPointersCount === 0) {\n this.clearActivationTimeout();\n }\n\n if (this.state === State.ACTIVE) {\n this.end();\n } else {\n this.resetProgress();\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (\n !(\n this.state === State.ACTIVE &&\n this.tracker.trackedPointersCount < this.minPointers\n )\n ) {\n this.checkBegan();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.shouldCancelWhenOutside) {\n return;\n }\n\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n if (this.state === State.ACTIVE) {\n super.onPointerOutOfBounds(event);\n }\n }\n\n private scheduleWheelEnd(event: AdaptedEvent) {\n clearTimeout(this.endWheelTimeout);\n\n this.endWheelTimeout = setTimeout(() => {\n if (this.state === State.ACTIVE) {\n this.end();\n this.tracker.removeFromTracker(event.pointerId);\n this.state = State.UNDETERMINED;\n }\n\n this.wheelDevice = WheelDevice.UNDETERMINED;\n }, 30);\n }\n\n protected onWheel(event: AdaptedEvent): void {\n if (\n this.wheelDevice === WheelDevice.MOUSE ||\n !this.enableTrackpadTwoFingerGesture\n ) {\n return;\n }\n\n if (this.state === State.UNDETERMINED) {\n this.wheelDevice =\n event.wheelDeltaY! % 120 !== 0\n ? WheelDevice.TOUCHPAD\n : WheelDevice.MOUSE;\n\n if (this.wheelDevice === WheelDevice.MOUSE) {\n this.scheduleWheelEnd(event);\n return;\n }\n\n this.tracker.addToTracker(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.begin();\n this.activate();\n }\n this.tracker.track(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.tryToSendMoveEvent(false, event);\n this.scheduleWheelEnd(event);\n }\n\n private shouldActivate(): boolean {\n const dx: number = this.getTranslationX();\n\n if (\n this.activeOffsetXStart !== Number.MAX_SAFE_INTEGER &&\n dx < this.activeOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetXEnd !== Number.MIN_SAFE_INTEGER &&\n dx > this.activeOffsetXEnd\n ) {\n return true;\n }\n\n const dy: number = this.getTranslationY();\n\n if (\n this.activeOffsetYStart !== Number.MAX_SAFE_INTEGER &&\n dy < this.activeOffsetYStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetYEnd !== Number.MIN_SAFE_INTEGER &&\n dy > this.activeOffsetYEnd\n ) {\n return true;\n }\n\n const distanceSq: number = dx * dx + dy * dy;\n\n if (\n this.minDistSq !== Number.MAX_SAFE_INTEGER &&\n distanceSq >= this.minDistSq\n ) {\n return true;\n }\n\n const vx: number = this.velocityX;\n\n if (\n this.minVelocityX !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityX < 0 && vx <= this.minVelocityX) ||\n (this.minVelocityX >= 0 && this.minVelocityX <= vx))\n ) {\n return true;\n }\n\n const vy: number = this.velocityY;\n if (\n this.minVelocityY !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityY < 0 && vy <= this.minVelocityY) ||\n (this.minVelocityY >= 0 && this.minVelocityY <= vy))\n ) {\n return true;\n }\n\n const velocitySq: number = vx * vx + vy * vy;\n\n return (\n this.minVelocitySq !== Number.MAX_SAFE_INTEGER &&\n velocitySq >= this.minVelocitySq\n );\n }\n\n private shouldFail(): boolean {\n const dx: number = this.getTranslationX();\n const dy: number = this.getTranslationY();\n const distanceSq = dx * dx + dy * dy;\n\n if (this.activateAfterLongPress > 0 && distanceSq > DEFAULT_MIN_DIST_SQ) {\n this.clearActivationTimeout();\n return true;\n }\n\n if (\n this.failOffsetXStart !== Number.MIN_SAFE_INTEGER &&\n dx < this.failOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.failOffsetXEnd !== Number.MAX_SAFE_INTEGER &&\n dx > this.failOffsetXEnd\n ) {\n return true;\n }\n\n if (\n this.failOffsetYStart !== Number.MIN_SAFE_INTEGER &&\n dy < this.failOffsetYStart\n ) {\n return true;\n }\n\n return (\n this.failOffsetYEnd !== Number.MAX_SAFE_INTEGER &&\n dy > this.failOffsetYEnd\n );\n }\n\n private tryBegin(event: AdaptedEvent): void {\n if (\n this.state === State.UNDETERMINED &&\n this.tracker.trackedPointersCount >= this.minPointers\n ) {\n this.resetProgress();\n this.offsetX = 0;\n this.offsetY = 0;\n this.velocityX = 0;\n this.velocityY = 0;\n\n this.begin();\n\n if (this.activateAfterLongPress > 0) {\n this.activationTimeout = setTimeout(() => {\n this.activate();\n }, this.activateAfterLongPress);\n }\n } else {\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n }\n }\n\n private checkBegan(): void {\n if (this.state === State.BEGAN) {\n if (this.shouldFail()) {\n this.fail();\n } else if (this.shouldActivate()) {\n this.activate();\n }\n }\n }\n\n public activate(force = false): void {\n if (this.state !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(force);\n }\n\n protected onCancel(): void {\n this.clearActivationTimeout();\n }\n\n protected onReset(): void {\n this.clearActivationTimeout();\n }\n\n protected resetProgress(): void {\n if (this.state === State.ACTIVE) {\n return;\n }\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["PanGestureHandler.ts"],"names":["State","DEFAULT_TOUCH_SLOP","WheelDevice","GestureHandler","DEFAULT_MIN_POINTERS","DEFAULT_MAX_POINTERS","DEFAULT_MIN_DIST_SQ","PanGestureHandler","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","UNDETERMINED","updateGestureConfig","enabled","props","resetConfig","checkCustomActivationCriteria","customActivationProperties","config","minDist","undefined","minDistSq","hasCustomActivationCriteria","minPointers","maxPointers","minVelocity","minVelocityX","minVelocityY","activateAfterLongPress","activeOffsetXStart","activeOffsetXEnd","failOffsetXStart","failOffsetXEnd","activeOffsetYStart","activeOffsetYEnd","failOffsetYStart","failOffsetYEnd","enableTrackpadTwoFingerGesture","minVelocitySq","transformNativeEvent","translationX","getTranslationX","translationY","getTranslationY","isNaN","velocityX","velocityY","stylusData","lastX","startX","offsetX","lastY","startY","offsetY","clearActivationTimeout","clearTimeout","activationTimeout","onPointerDown","event","isButtonInConfig","button","tracker","addToTracker","lastCoords","getAbsoluteCoordsAverage","x","y","tryBegin","checkBegan","tryToSendTouchEvent","onPointerAdd","trackedPointersCount","state","ACTIVE","cancel","fail","onPointerUp","removeFromTracker","pointerId","end","resetProgress","onPointerRemove","onPointerMove","track","velocity","getVelocity","onPointerOutOfBounds","shouldCancelWhenOutside","scheduleWheelEnd","endWheelTimeout","setTimeout","wheelDevice","onWheel","MOUSE","wheelDeltaY","TOUCHPAD","begin","activate","tryToSendMoveEvent","shouldActivate","dx","dy","distanceSq","vx","vy","velocitySq","shouldFail","BEGAN","force","onCancel","onReset"],"mappings":"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","sourcesContent":["import { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, Config, StylusData, WheelDevice } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MIN_POINTERS = 1;\nconst DEFAULT_MAX_POINTERS = 10;\nconst DEFAULT_MIN_DIST_SQ = DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP;\n\nexport default class PanGestureHandler extends GestureHandler {\n private readonly customActivationProperties: string[] = [\n 'activeOffsetXStart',\n 'activeOffsetXEnd',\n 'failOffsetXStart',\n 'failOffsetXEnd',\n 'activeOffsetYStart',\n 'activeOffsetYEnd',\n 'failOffsetYStart',\n 'failOffsetYEnd',\n 'minVelocityX',\n 'minVelocityY',\n 'minVelocity',\n ];\n\n public velocityX = 0;\n public velocityY = 0;\n\n private minDistSq = DEFAULT_MIN_DIST_SQ;\n\n private activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n private activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetXStart = Number.MIN_SAFE_INTEGER;\n private failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n private activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n private activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetYStart = Number.MIN_SAFE_INTEGER;\n private failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n private minVelocityX = Number.MAX_SAFE_INTEGER;\n private minVelocityY = Number.MAX_SAFE_INTEGER;\n private minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n private minPointers = DEFAULT_MIN_POINTERS;\n private maxPointers = DEFAULT_MAX_POINTERS;\n\n private startX = 0;\n private startY = 0;\n private offsetX = 0;\n private offsetY = 0;\n private lastX = 0;\n private lastY = 0;\n\n private stylusData: StylusData | undefined;\n\n private activateAfterLongPress = 0;\n private activationTimeout = 0;\n\n private enableTrackpadTwoFingerGesture = false;\n private endWheelTimeout = 0;\n private wheelDevice = WheelDevice.UNDETERMINED;\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n this.resetConfig();\n\n super.updateGestureConfig({ enabled: enabled, ...props });\n this.checkCustomActivationCriteria(this.customActivationProperties);\n\n if (this.config.minDist !== undefined) {\n this.minDistSq = this.config.minDist * this.config.minDist;\n } else if (this.hasCustomActivationCriteria) {\n this.minDistSq = Number.MAX_SAFE_INTEGER;\n }\n\n if (this.config.minPointers !== undefined) {\n this.minPointers = this.config.minPointers;\n }\n\n if (this.config.maxPointers !== undefined) {\n this.maxPointers = this.config.maxPointers;\n }\n\n if (this.config.minVelocity !== undefined) {\n this.minVelocityX = this.config.minVelocity;\n this.minVelocityY = this.config.minVelocity;\n }\n\n if (this.config.minVelocityX !== undefined) {\n this.minVelocityX = this.config.minVelocityX;\n }\n\n if (this.config.minVelocityY !== undefined) {\n this.minVelocityY = this.config.minVelocityY;\n }\n\n if (this.config.activateAfterLongPress !== undefined) {\n this.activateAfterLongPress = this.config.activateAfterLongPress;\n }\n\n if (this.config.activeOffsetXStart !== undefined) {\n this.activeOffsetXStart = this.config.activeOffsetXStart;\n\n if (this.config.activeOffsetXEnd === undefined) {\n this.activeOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetXEnd !== undefined) {\n this.activeOffsetXEnd = this.config.activeOffsetXEnd;\n\n if (this.config.activeOffsetXStart === undefined) {\n this.activeOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXStart !== undefined) {\n this.failOffsetXStart = this.config.failOffsetXStart;\n\n if (this.config.failOffsetXEnd === undefined) {\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXEnd !== undefined) {\n this.failOffsetXEnd = this.config.failOffsetXEnd;\n\n if (this.config.failOffsetXStart === undefined) {\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYStart !== undefined) {\n this.activeOffsetYStart = this.config.activeOffsetYStart;\n\n if (this.config.activeOffsetYEnd === undefined) {\n this.activeOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYEnd !== undefined) {\n this.activeOffsetYEnd = this.config.activeOffsetYEnd;\n\n if (this.config.activeOffsetYStart === undefined) {\n this.activeOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYStart !== undefined) {\n this.failOffsetYStart = this.config.failOffsetYStart;\n\n if (this.config.failOffsetYEnd === undefined) {\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYEnd !== undefined) {\n this.failOffsetYEnd = this.config.failOffsetYEnd;\n\n if (this.config.failOffsetYStart === undefined) {\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.enableTrackpadTwoFingerGesture !== undefined) {\n this.enableTrackpadTwoFingerGesture =\n this.config.enableTrackpadTwoFingerGesture;\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n\n this.activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n this.activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n this.activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n this.activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n this.minVelocityX = Number.MAX_SAFE_INTEGER;\n this.minVelocityY = Number.MAX_SAFE_INTEGER;\n this.minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n this.minDistSq = DEFAULT_MIN_DIST_SQ;\n\n this.minPointers = DEFAULT_MIN_POINTERS;\n this.maxPointers = DEFAULT_MAX_POINTERS;\n\n this.activateAfterLongPress = 0;\n }\n\n protected transformNativeEvent() {\n const translationX: number = this.getTranslationX();\n const translationY: number = this.getTranslationY();\n\n return {\n ...super.transformNativeEvent(),\n translationX: isNaN(translationX) ? 0 : translationX,\n translationY: isNaN(translationY) ? 0 : translationY,\n velocityX: this.velocityX,\n velocityY: this.velocityY,\n stylusData: this.stylusData,\n };\n }\n\n private getTranslationX(): number {\n return this.lastX - this.startX + this.offsetX;\n }\n private getTranslationY(): number {\n return this.lastY - this.startY + this.offsetY;\n }\n\n private clearActivationTimeout(): void {\n clearTimeout(this.activationTimeout);\n }\n\n // Events Handling\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n this.stylusData = event.stylusData;\n\n super.onPointerDown(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.tryBegin(event);\n this.checkBegan();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.tryBegin(event);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (this.tracker.trackedPointersCount > this.maxPointers) {\n if (this.state === State.ACTIVE) {\n this.cancel();\n } else {\n this.fail();\n }\n } else {\n this.checkBegan();\n }\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n this.stylusData = event.stylusData;\n\n super.onPointerUp(event);\n if (this.state === State.ACTIVE) {\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n }\n\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.tracker.trackedPointersCount === 0) {\n this.clearActivationTimeout();\n }\n\n if (this.state === State.ACTIVE) {\n this.end();\n } else {\n this.resetProgress();\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (\n !(\n this.state === State.ACTIVE &&\n this.tracker.trackedPointersCount < this.minPointers\n )\n ) {\n this.checkBegan();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.shouldCancelWhenOutside) {\n return;\n }\n\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n if (this.state === State.ACTIVE) {\n super.onPointerOutOfBounds(event);\n }\n }\n\n private scheduleWheelEnd(event: AdaptedEvent) {\n clearTimeout(this.endWheelTimeout);\n\n this.endWheelTimeout = setTimeout(() => {\n if (this.state === State.ACTIVE) {\n this.end();\n this.tracker.removeFromTracker(event.pointerId);\n this.state = State.UNDETERMINED;\n }\n\n this.wheelDevice = WheelDevice.UNDETERMINED;\n }, 30);\n }\n\n protected onWheel(event: AdaptedEvent): void {\n if (\n this.wheelDevice === WheelDevice.MOUSE ||\n !this.enableTrackpadTwoFingerGesture\n ) {\n return;\n }\n\n if (this.state === State.UNDETERMINED) {\n this.wheelDevice =\n event.wheelDeltaY! % 120 !== 0\n ? WheelDevice.TOUCHPAD\n : WheelDevice.MOUSE;\n\n if (this.wheelDevice === WheelDevice.MOUSE) {\n this.scheduleWheelEnd(event);\n return;\n }\n\n this.tracker.addToTracker(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.begin();\n this.activate();\n }\n this.tracker.track(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.tryToSendMoveEvent(false, event);\n this.scheduleWheelEnd(event);\n }\n\n private shouldActivate(): boolean {\n const dx: number = this.getTranslationX();\n\n if (\n this.activeOffsetXStart !== Number.MAX_SAFE_INTEGER &&\n dx < this.activeOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetXEnd !== Number.MIN_SAFE_INTEGER &&\n dx > this.activeOffsetXEnd\n ) {\n return true;\n }\n\n const dy: number = this.getTranslationY();\n\n if (\n this.activeOffsetYStart !== Number.MAX_SAFE_INTEGER &&\n dy < this.activeOffsetYStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetYEnd !== Number.MIN_SAFE_INTEGER &&\n dy > this.activeOffsetYEnd\n ) {\n return true;\n }\n\n const distanceSq: number = dx * dx + dy * dy;\n\n if (\n this.minDistSq !== Number.MAX_SAFE_INTEGER &&\n distanceSq >= this.minDistSq\n ) {\n return true;\n }\n\n const vx: number = this.velocityX;\n\n if (\n this.minVelocityX !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityX < 0 && vx <= this.minVelocityX) ||\n (this.minVelocityX >= 0 && this.minVelocityX <= vx))\n ) {\n return true;\n }\n\n const vy: number = this.velocityY;\n if (\n this.minVelocityY !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityY < 0 && vy <= this.minVelocityY) ||\n (this.minVelocityY >= 0 && this.minVelocityY <= vy))\n ) {\n return true;\n }\n\n const velocitySq: number = vx * vx + vy * vy;\n\n return (\n this.minVelocitySq !== Number.MAX_SAFE_INTEGER &&\n velocitySq >= this.minVelocitySq\n );\n }\n\n private shouldFail(): boolean {\n const dx: number = this.getTranslationX();\n const dy: number = this.getTranslationY();\n const distanceSq = dx * dx + dy * dy;\n\n if (this.activateAfterLongPress > 0 && distanceSq > DEFAULT_MIN_DIST_SQ) {\n this.clearActivationTimeout();\n return true;\n }\n\n if (\n this.failOffsetXStart !== Number.MIN_SAFE_INTEGER &&\n dx < this.failOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.failOffsetXEnd !== Number.MAX_SAFE_INTEGER &&\n dx > this.failOffsetXEnd\n ) {\n return true;\n }\n\n if (\n this.failOffsetYStart !== Number.MIN_SAFE_INTEGER &&\n dy < this.failOffsetYStart\n ) {\n return true;\n }\n\n return (\n this.failOffsetYEnd !== Number.MAX_SAFE_INTEGER &&\n dy > this.failOffsetYEnd\n );\n }\n\n private tryBegin(event: AdaptedEvent): void {\n if (\n this.state === State.UNDETERMINED &&\n this.tracker.trackedPointersCount >= this.minPointers\n ) {\n this.resetProgress();\n this.offsetX = 0;\n this.offsetY = 0;\n this.velocityX = 0;\n this.velocityY = 0;\n\n this.begin();\n\n if (this.activateAfterLongPress > 0) {\n this.activationTimeout = setTimeout(() => {\n this.activate();\n }, this.activateAfterLongPress);\n }\n } else {\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n }\n }\n\n private checkBegan(): void {\n if (this.state === State.BEGAN) {\n if (this.shouldFail()) {\n this.fail();\n } else if (this.shouldActivate()) {\n this.activate();\n }\n }\n }\n\n public activate(force = false): void {\n if (this.state !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(force);\n }\n\n protected onCancel(): void {\n this.clearActivationTimeout();\n }\n\n protected onReset(): void {\n this.clearActivationTimeout();\n }\n\n protected resetProgress(): void {\n if (this.state === State.ACTIVE) {\n return;\n }\n\n this.startX = this.lastX;\n this.startY = this.lastY;\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 { DEFAULT_TOUCH_SLOP } from '../constants';
6
5
  import GestureHandler from './GestureHandler';
@@ -8,10 +7,15 @@ import ScaleGestureDetector from '../detectors/ScaleGestureDetector';
8
7
  export default class PinchGestureHandler extends GestureHandler {
9
8
  constructor(...args) {
10
9
  super(...args);
10
+
11
11
  _defineProperty(this, "scale", 1);
12
+
12
13
  _defineProperty(this, "velocity", 0);
14
+
13
15
  _defineProperty(this, "startingSpan", 0);
16
+
14
17
  _defineProperty(this, "spanSlop", DEFAULT_TOUCH_SLOP);
18
+
15
19
  _defineProperty(this, "scaleDetectorListener", {
16
20
  onScaleBegin: detector => {
17
21
  this.startingSpan = detector.currentSpan;
@@ -21,22 +25,28 @@ export default class PinchGestureHandler extends GestureHandler {
21
25
  const prevScaleFactor = this.scale;
22
26
  this.scale *= detector.calculateScaleFactor(this.tracker.trackedPointersCount);
23
27
  const delta = detector.timeDelta;
28
+
24
29
  if (delta > 0) {
25
30
  this.velocity = (this.scale - prevScaleFactor) / delta;
26
31
  }
32
+
27
33
  if (Math.abs(this.startingSpan - detector.currentSpan) >= this.spanSlop && this.state === State.BEGAN) {
28
34
  this.activate();
29
35
  }
36
+
30
37
  return true;
31
38
  },
32
39
  onScaleEnd: _detector => {}
33
40
  });
41
+
34
42
  _defineProperty(this, "scaleGestureDetector", new ScaleGestureDetector(this.scaleDetectorListener));
35
43
  }
44
+
36
45
  init(ref, propsRef) {
37
46
  super.init(ref, propsRef);
38
47
  this.shouldCancelWhenOutside = false;
39
48
  }
49
+
40
50
  transformNativeEvent() {
41
51
  return {
42
52
  focalX: this.scaleGestureDetector.focusX,
@@ -45,76 +55,96 @@ export default class PinchGestureHandler extends GestureHandler {
45
55
  scale: this.scale
46
56
  };
47
57
  }
58
+
48
59
  onPointerDown(event) {
49
60
  this.tracker.addToTracker(event);
50
61
  super.onPointerDown(event);
51
62
  this.tryToSendTouchEvent(event);
52
63
  }
64
+
53
65
  onPointerAdd(event) {
54
66
  this.tracker.addToTracker(event);
55
67
  super.onPointerAdd(event);
56
68
  this.tryBegin();
57
69
  this.scaleGestureDetector.onTouchEvent(event, this.tracker);
58
70
  }
71
+
59
72
  onPointerUp(event) {
60
73
  super.onPointerUp(event);
61
74
  this.tracker.removeFromTracker(event.pointerId);
75
+
62
76
  if (this.state !== State.ACTIVE) {
63
77
  return;
64
78
  }
79
+
65
80
  this.scaleGestureDetector.onTouchEvent(event, this.tracker);
81
+
66
82
  if (this.state === State.ACTIVE) {
67
83
  this.end();
68
84
  } else {
69
85
  this.fail();
70
86
  }
71
87
  }
88
+
72
89
  onPointerRemove(event) {
73
90
  super.onPointerRemove(event);
74
91
  this.scaleGestureDetector.onTouchEvent(event, this.tracker);
75
92
  this.tracker.removeFromTracker(event.pointerId);
93
+
76
94
  if (this.state === State.ACTIVE && this.tracker.trackedPointersCount < 2) {
77
95
  this.end();
78
96
  }
79
97
  }
98
+
80
99
  onPointerMove(event) {
81
100
  if (this.tracker.trackedPointersCount < 2) {
82
101
  return;
83
102
  }
103
+
84
104
  this.tracker.track(event);
85
105
  this.scaleGestureDetector.onTouchEvent(event, this.tracker);
86
106
  super.onPointerMove(event);
87
107
  }
108
+
88
109
  onPointerOutOfBounds(event) {
89
110
  if (this.tracker.trackedPointersCount < 2) {
90
111
  return;
91
112
  }
113
+
92
114
  this.tracker.track(event);
93
115
  this.scaleGestureDetector.onTouchEvent(event, this.tracker);
94
116
  super.onPointerOutOfBounds(event);
95
117
  }
118
+
96
119
  tryBegin() {
97
120
  if (this.state !== State.UNDETERMINED) {
98
121
  return;
99
122
  }
123
+
100
124
  this.resetProgress();
101
125
  this.begin();
102
126
  }
127
+
103
128
  activate(force) {
104
129
  if (this.state !== State.ACTIVE) {
105
130
  this.resetProgress();
106
131
  }
132
+
107
133
  super.activate(force);
108
134
  }
135
+
109
136
  onReset() {
110
137
  this.resetProgress();
111
138
  }
139
+
112
140
  resetProgress() {
113
141
  if (this.state === State.ACTIVE) {
114
142
  return;
115
143
  }
144
+
116
145
  this.velocity = 0;
117
146
  this.scale = 1;
118
147
  }
148
+
119
149
  }
120
150
  //# sourceMappingURL=PinchGestureHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["State","DEFAULT_TOUCH_SLOP","GestureHandler","ScaleGestureDetector","PinchGestureHandler","constructor","args","_defineProperty","onScaleBegin","detector","startingSpan","currentSpan","onScale","prevScaleFactor","scale","calculateScaleFactor","tracker","trackedPointersCount","delta","timeDelta","velocity","Math","abs","spanSlop","state","BEGAN","activate","onScaleEnd","_detector","scaleDetectorListener","init","ref","propsRef","shouldCancelWhenOutside","transformNativeEvent","focalX","scaleGestureDetector","focusX","focalY","focusY","onPointerDown","event","addToTracker","tryToSendTouchEvent","onPointerAdd","tryBegin","onTouchEvent","onPointerUp","removeFromTracker","pointerId","ACTIVE","end","fail","onPointerRemove","onPointerMove","track","onPointerOutOfBounds","UNDETERMINED","resetProgress","begin","force","onReset"],"sources":["PinchGestureHandler.ts"],"sourcesContent":["import { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport ScaleGestureDetector, {\n ScaleGestureListener,\n} from '../detectors/ScaleGestureDetector';\n\nexport default class PinchGestureHandler extends GestureHandler {\n private scale = 1;\n private velocity = 0;\n\n private startingSpan = 0;\n private spanSlop = DEFAULT_TOUCH_SLOP;\n\n private scaleDetectorListener: ScaleGestureListener = {\n onScaleBegin: (detector: ScaleGestureDetector): boolean => {\n this.startingSpan = detector.currentSpan;\n return true;\n },\n onScale: (detector: ScaleGestureDetector): boolean => {\n const prevScaleFactor: number = this.scale;\n this.scale *= detector.calculateScaleFactor(\n this.tracker.trackedPointersCount\n );\n\n const delta = detector.timeDelta;\n if (delta > 0) {\n this.velocity = (this.scale - prevScaleFactor) / delta;\n }\n\n if (\n Math.abs(this.startingSpan - detector.currentSpan) >= this.spanSlop &&\n this.state === State.BEGAN\n ) {\n this.activate();\n }\n return true;\n },\n onScaleEnd: (\n _detector: ScaleGestureDetector\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n ): void => {},\n };\n\n private scaleGestureDetector: ScaleGestureDetector = new ScaleGestureDetector(\n this.scaleDetectorListener\n );\n\n public init(ref: number, propsRef: React.RefObject<unknown>) {\n super.init(ref, propsRef);\n\n this.shouldCancelWhenOutside = false;\n }\n\n protected transformNativeEvent() {\n return {\n focalX: this.scaleGestureDetector.focusX,\n focalY: this.scaleGestureDetector.focusY,\n velocity: this.velocity,\n scale: this.scale,\n };\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.tryBegin();\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n if (this.state !== State.ACTIVE) {\n return;\n }\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n\n if (this.state === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.state === State.ACTIVE && this.tracker.trackedPointersCount < 2) {\n this.end();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n this.tracker.track(event);\n\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n super.onPointerMove(event);\n }\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n this.tracker.track(event);\n\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n super.onPointerOutOfBounds(event);\n }\n\n private tryBegin(): void {\n if (this.state !== State.UNDETERMINED) {\n return;\n }\n\n this.resetProgress();\n this.begin();\n }\n\n public activate(force?: boolean): void {\n if (this.state !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(force);\n }\n\n protected onReset(): void {\n this.resetProgress();\n }\n\n protected resetProgress(): void {\n if (this.state === State.ACTIVE) {\n return;\n }\n this.velocity = 0;\n this.scale = 1;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["PinchGestureHandler.ts"],"names":["State","DEFAULT_TOUCH_SLOP","GestureHandler","ScaleGestureDetector","PinchGestureHandler","onScaleBegin","detector","startingSpan","currentSpan","onScale","prevScaleFactor","scale","calculateScaleFactor","tracker","trackedPointersCount","delta","timeDelta","velocity","Math","abs","spanSlop","state","BEGAN","activate","onScaleEnd","_detector","scaleDetectorListener","init","ref","propsRef","shouldCancelWhenOutside","transformNativeEvent","focalX","scaleGestureDetector","focusX","focalY","focusY","onPointerDown","event","addToTracker","tryToSendTouchEvent","onPointerAdd","tryBegin","onTouchEvent","onPointerUp","removeFromTracker","pointerId","ACTIVE","end","fail","onPointerRemove","onPointerMove","track","onPointerOutOfBounds","UNDETERMINED","resetProgress","begin","force","onReset"],"mappings":"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","sourcesContent":["import { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport ScaleGestureDetector, {\n ScaleGestureListener,\n} from '../detectors/ScaleGestureDetector';\n\nexport default class PinchGestureHandler extends GestureHandler {\n private scale = 1;\n private velocity = 0;\n\n private startingSpan = 0;\n private spanSlop = DEFAULT_TOUCH_SLOP;\n\n private scaleDetectorListener: ScaleGestureListener = {\n onScaleBegin: (detector: ScaleGestureDetector): boolean => {\n this.startingSpan = detector.currentSpan;\n return true;\n },\n onScale: (detector: ScaleGestureDetector): boolean => {\n const prevScaleFactor: number = this.scale;\n this.scale *= detector.calculateScaleFactor(\n this.tracker.trackedPointersCount\n );\n\n const delta = detector.timeDelta;\n if (delta > 0) {\n this.velocity = (this.scale - prevScaleFactor) / delta;\n }\n\n if (\n Math.abs(this.startingSpan - detector.currentSpan) >= this.spanSlop &&\n this.state === State.BEGAN\n ) {\n this.activate();\n }\n return true;\n },\n onScaleEnd: (\n _detector: ScaleGestureDetector\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n ): void => {},\n };\n\n private scaleGestureDetector: ScaleGestureDetector = new ScaleGestureDetector(\n this.scaleDetectorListener\n );\n\n public init(ref: number, propsRef: React.RefObject<unknown>) {\n super.init(ref, propsRef);\n\n this.shouldCancelWhenOutside = false;\n }\n\n protected transformNativeEvent() {\n return {\n focalX: this.scaleGestureDetector.focusX,\n focalY: this.scaleGestureDetector.focusY,\n velocity: this.velocity,\n scale: this.scale,\n };\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.tryBegin();\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n if (this.state !== State.ACTIVE) {\n return;\n }\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n\n if (this.state === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.state === State.ACTIVE && this.tracker.trackedPointersCount < 2) {\n this.end();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n this.tracker.track(event);\n\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n super.onPointerMove(event);\n }\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n this.tracker.track(event);\n\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n super.onPointerOutOfBounds(event);\n }\n\n private tryBegin(): void {\n if (this.state !== State.UNDETERMINED) {\n return;\n }\n\n this.resetProgress();\n this.begin();\n }\n\n public activate(force?: boolean): void {\n if (this.state !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(force);\n }\n\n protected onReset(): void {\n this.resetProgress();\n }\n\n protected resetProgress(): void {\n if (this.state === State.ACTIVE) {\n return;\n }\n this.velocity = 0;\n this.scale = 1;\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 GestureHandler from './GestureHandler';
6
5
  import RotationGestureDetector from '../detectors/RotationGestureDetector';
@@ -8,34 +7,45 @@ const ROTATION_RECOGNITION_THRESHOLD = Math.PI / 36;
8
7
  export default class RotationGestureHandler extends GestureHandler {
9
8
  constructor(...args) {
10
9
  super(...args);
10
+
11
11
  _defineProperty(this, "rotation", 0);
12
+
12
13
  _defineProperty(this, "velocity", 0);
14
+
13
15
  _defineProperty(this, "cachedAnchorX", 0);
16
+
14
17
  _defineProperty(this, "cachedAnchorY", 0);
18
+
15
19
  _defineProperty(this, "rotationGestureListener", {
16
20
  onRotationBegin: _detector => true,
17
21
  onRotation: detector => {
18
22
  const previousRotation = this.rotation;
19
23
  this.rotation += detector.rotation;
20
24
  const delta = detector.timeDelta;
25
+
21
26
  if (delta > 0) {
22
27
  this.velocity = (this.rotation - previousRotation) / delta;
23
28
  }
29
+
24
30
  if (Math.abs(this.rotation) >= ROTATION_RECOGNITION_THRESHOLD && this.state === State.BEGAN) {
25
31
  this.activate();
26
32
  }
33
+
27
34
  return true;
28
35
  },
29
36
  onRotationEnd: _detector => {
30
37
  this.end();
31
38
  }
32
39
  });
40
+
33
41
  _defineProperty(this, "rotationGestureDetector", new RotationGestureDetector(this.rotationGestureListener));
34
42
  }
43
+
35
44
  init(ref, propsRef) {
36
45
  super.init(ref, propsRef);
37
46
  this.shouldCancelWhenOutside = false;
38
47
  }
48
+
39
49
  transformNativeEvent() {
40
50
  return {
41
51
  rotation: this.rotation ? this.rotation : 0,
@@ -44,84 +54,105 @@ export default class RotationGestureHandler extends GestureHandler {
44
54
  velocity: this.velocity ? this.velocity : 0
45
55
  };
46
56
  }
57
+
47
58
  getAnchorX() {
48
59
  const anchorX = this.rotationGestureDetector.anchorX;
49
60
  return anchorX ? anchorX : this.cachedAnchorX;
50
61
  }
62
+
51
63
  getAnchorY() {
52
64
  const anchorY = this.rotationGestureDetector.anchorY;
53
65
  return anchorY ? anchorY : this.cachedAnchorY;
54
66
  }
67
+
55
68
  onPointerDown(event) {
56
69
  this.tracker.addToTracker(event);
57
70
  super.onPointerDown(event);
58
71
  this.tryToSendTouchEvent(event);
59
72
  }
73
+
60
74
  onPointerAdd(event) {
61
75
  this.tracker.addToTracker(event);
62
76
  super.onPointerAdd(event);
63
77
  this.tryBegin();
64
78
  this.rotationGestureDetector.onTouchEvent(event, this.tracker);
65
79
  }
80
+
66
81
  onPointerMove(event) {
67
82
  if (this.tracker.trackedPointersCount < 2) {
68
83
  return;
69
84
  }
85
+
70
86
  if (this.getAnchorX()) {
71
87
  this.cachedAnchorX = this.getAnchorX();
72
88
  }
89
+
73
90
  if (this.getAnchorY()) {
74
91
  this.cachedAnchorY = this.getAnchorY();
75
92
  }
93
+
76
94
  this.tracker.track(event);
77
95
  this.rotationGestureDetector.onTouchEvent(event, this.tracker);
78
96
  super.onPointerMove(event);
79
97
  }
98
+
80
99
  onPointerOutOfBounds(event) {
81
100
  if (this.tracker.trackedPointersCount < 2) {
82
101
  return;
83
102
  }
103
+
84
104
  if (this.getAnchorX()) {
85
105
  this.cachedAnchorX = this.getAnchorX();
86
106
  }
107
+
87
108
  if (this.getAnchorY()) {
88
109
  this.cachedAnchorY = this.getAnchorY();
89
110
  }
111
+
90
112
  this.tracker.track(event);
91
113
  this.rotationGestureDetector.onTouchEvent(event, this.tracker);
92
114
  super.onPointerOutOfBounds(event);
93
115
  }
116
+
94
117
  onPointerUp(event) {
95
118
  super.onPointerUp(event);
96
119
  this.tracker.removeFromTracker(event.pointerId);
97
120
  this.rotationGestureDetector.onTouchEvent(event, this.tracker);
121
+
98
122
  if (this.state !== State.ACTIVE) {
99
123
  return;
100
124
  }
125
+
101
126
  if (this.state === State.ACTIVE) {
102
127
  this.end();
103
128
  } else {
104
129
  this.fail();
105
130
  }
106
131
  }
132
+
107
133
  onPointerRemove(event) {
108
134
  super.onPointerRemove(event);
109
135
  this.rotationGestureDetector.onTouchEvent(event, this.tracker);
110
136
  this.tracker.removeFromTracker(event.pointerId);
111
137
  }
138
+
112
139
  tryBegin() {
113
140
  if (this.state !== State.UNDETERMINED) {
114
141
  return;
115
142
  }
143
+
116
144
  this.begin();
117
145
  }
146
+
118
147
  onReset() {
119
148
  if (this.state === State.ACTIVE) {
120
149
  return;
121
150
  }
151
+
122
152
  this.rotation = 0;
123
153
  this.velocity = 0;
124
154
  this.rotationGestureDetector.reset();
125
155
  }
156
+
126
157
  }
127
158
  //# sourceMappingURL=RotationGestureHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["State","GestureHandler","RotationGestureDetector","ROTATION_RECOGNITION_THRESHOLD","Math","PI","RotationGestureHandler","constructor","args","_defineProperty","onRotationBegin","_detector","onRotation","detector","previousRotation","rotation","delta","timeDelta","velocity","abs","state","BEGAN","activate","onRotationEnd","end","rotationGestureListener","init","ref","propsRef","shouldCancelWhenOutside","transformNativeEvent","anchorX","getAnchorX","anchorY","getAnchorY","rotationGestureDetector","cachedAnchorX","cachedAnchorY","onPointerDown","event","tracker","addToTracker","tryToSendTouchEvent","onPointerAdd","tryBegin","onTouchEvent","onPointerMove","trackedPointersCount","track","onPointerOutOfBounds","onPointerUp","removeFromTracker","pointerId","ACTIVE","fail","onPointerRemove","UNDETERMINED","begin","onReset","reset"],"sources":["RotationGestureHandler.ts"],"sourcesContent":["import { State } from '../../State';\nimport { AdaptedEvent } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport RotationGestureDetector, {\n RotationGestureListener,\n} from '../detectors/RotationGestureDetector';\n\nconst ROTATION_RECOGNITION_THRESHOLD = Math.PI / 36;\n\nexport default class RotationGestureHandler extends GestureHandler {\n private rotation = 0;\n private velocity = 0;\n\n private cachedAnchorX = 0;\n private cachedAnchorY = 0;\n\n private rotationGestureListener: RotationGestureListener = {\n onRotationBegin: (_detector: RotationGestureDetector): boolean => true,\n onRotation: (detector: RotationGestureDetector): boolean => {\n const previousRotation: number = this.rotation;\n this.rotation += detector.rotation;\n\n const delta = detector.timeDelta;\n\n if (delta > 0) {\n this.velocity = (this.rotation - previousRotation) / delta;\n }\n\n if (\n Math.abs(this.rotation) >= ROTATION_RECOGNITION_THRESHOLD &&\n this.state === State.BEGAN\n ) {\n this.activate();\n }\n\n return true;\n },\n onRotationEnd: (_detector: RotationGestureDetector): void => {\n this.end();\n },\n };\n\n private rotationGestureDetector: RotationGestureDetector =\n new RotationGestureDetector(this.rotationGestureListener);\n\n public init(ref: number, propsRef: React.RefObject<unknown>): void {\n super.init(ref, propsRef);\n\n this.shouldCancelWhenOutside = false;\n }\n\n protected transformNativeEvent() {\n return {\n rotation: this.rotation ? this.rotation : 0,\n anchorX: this.getAnchorX(),\n anchorY: this.getAnchorY(),\n velocity: this.velocity ? this.velocity : 0,\n };\n }\n\n public getAnchorX(): number {\n const anchorX = this.rotationGestureDetector.anchorX;\n\n return anchorX ? anchorX : this.cachedAnchorX;\n }\n\n public getAnchorY(): number {\n const anchorY = this.rotationGestureDetector.anchorY;\n\n return anchorY ? anchorY : this.cachedAnchorY;\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n\n this.tryBegin();\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n\n if (this.getAnchorX()) {\n this.cachedAnchorX = this.getAnchorX();\n }\n if (this.getAnchorY()) {\n this.cachedAnchorY = this.getAnchorY();\n }\n\n this.tracker.track(event);\n\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n\n if (this.getAnchorX()) {\n this.cachedAnchorX = this.getAnchorX();\n }\n if (this.getAnchorY()) {\n this.cachedAnchorY = this.getAnchorY();\n }\n\n this.tracker.track(event);\n\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n super.onPointerOutOfBounds(event);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n if (this.state !== State.ACTIVE) {\n return;\n }\n\n if (this.state === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n this.tracker.removeFromTracker(event.pointerId);\n }\n\n protected tryBegin(): void {\n if (this.state !== State.UNDETERMINED) {\n return;\n }\n\n this.begin();\n }\n\n protected onReset(): void {\n if (this.state === State.ACTIVE) {\n return;\n }\n\n this.rotation = 0;\n this.velocity = 0;\n this.rotationGestureDetector.reset();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["RotationGestureHandler.ts"],"names":["State","GestureHandler","RotationGestureDetector","ROTATION_RECOGNITION_THRESHOLD","Math","PI","RotationGestureHandler","onRotationBegin","_detector","onRotation","detector","previousRotation","rotation","delta","timeDelta","velocity","abs","state","BEGAN","activate","onRotationEnd","end","rotationGestureListener","init","ref","propsRef","shouldCancelWhenOutside","transformNativeEvent","anchorX","getAnchorX","anchorY","getAnchorY","rotationGestureDetector","cachedAnchorX","cachedAnchorY","onPointerDown","event","tracker","addToTracker","tryToSendTouchEvent","onPointerAdd","tryBegin","onTouchEvent","onPointerMove","trackedPointersCount","track","onPointerOutOfBounds","onPointerUp","removeFromTracker","pointerId","ACTIVE","fail","onPointerRemove","UNDETERMINED","begin","onReset","reset"],"mappings":"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","sourcesContent":["import { State } from '../../State';\nimport { AdaptedEvent } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport RotationGestureDetector, {\n RotationGestureListener,\n} from '../detectors/RotationGestureDetector';\n\nconst ROTATION_RECOGNITION_THRESHOLD = Math.PI / 36;\n\nexport default class RotationGestureHandler extends GestureHandler {\n private rotation = 0;\n private velocity = 0;\n\n private cachedAnchorX = 0;\n private cachedAnchorY = 0;\n\n private rotationGestureListener: RotationGestureListener = {\n onRotationBegin: (_detector: RotationGestureDetector): boolean => true,\n onRotation: (detector: RotationGestureDetector): boolean => {\n const previousRotation: number = this.rotation;\n this.rotation += detector.rotation;\n\n const delta = detector.timeDelta;\n\n if (delta > 0) {\n this.velocity = (this.rotation - previousRotation) / delta;\n }\n\n if (\n Math.abs(this.rotation) >= ROTATION_RECOGNITION_THRESHOLD &&\n this.state === State.BEGAN\n ) {\n this.activate();\n }\n\n return true;\n },\n onRotationEnd: (_detector: RotationGestureDetector): void => {\n this.end();\n },\n };\n\n private rotationGestureDetector: RotationGestureDetector =\n new RotationGestureDetector(this.rotationGestureListener);\n\n public init(ref: number, propsRef: React.RefObject<unknown>): void {\n super.init(ref, propsRef);\n\n this.shouldCancelWhenOutside = false;\n }\n\n protected transformNativeEvent() {\n return {\n rotation: this.rotation ? this.rotation : 0,\n anchorX: this.getAnchorX(),\n anchorY: this.getAnchorY(),\n velocity: this.velocity ? this.velocity : 0,\n };\n }\n\n public getAnchorX(): number {\n const anchorX = this.rotationGestureDetector.anchorX;\n\n return anchorX ? anchorX : this.cachedAnchorX;\n }\n\n public getAnchorY(): number {\n const anchorY = this.rotationGestureDetector.anchorY;\n\n return anchorY ? anchorY : this.cachedAnchorY;\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n\n this.tryBegin();\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n\n if (this.getAnchorX()) {\n this.cachedAnchorX = this.getAnchorX();\n }\n if (this.getAnchorY()) {\n this.cachedAnchorY = this.getAnchorY();\n }\n\n this.tracker.track(event);\n\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n\n if (this.getAnchorX()) {\n this.cachedAnchorX = this.getAnchorX();\n }\n if (this.getAnchorY()) {\n this.cachedAnchorY = this.getAnchorY();\n }\n\n this.tracker.track(event);\n\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n super.onPointerOutOfBounds(event);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n if (this.state !== State.ACTIVE) {\n return;\n }\n\n if (this.state === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n this.tracker.removeFromTracker(event.pointerId);\n }\n\n protected tryBegin(): void {\n if (this.state !== State.UNDETERMINED) {\n return;\n }\n\n this.begin();\n }\n\n protected onReset(): void {\n if (this.state === State.ACTIVE) {\n return;\n }\n\n this.rotation = 0;\n this.velocity = 0;\n this.rotationGestureDetector.reset();\n }\n}\n"]}