react-native-gesture-handler 2.27.1 → 2.27.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/ReanimatedSwipeable/package.json +4 -4
  2. package/android/build.gradle +8 -1
  3. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +14 -8
  4. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +10 -5
  5. package/apple/RNGestureHandler.h +4 -0
  6. package/apple/RNGestureHandler.mm +41 -6
  7. package/jestSetup.js +22 -3
  8. package/lib/commonjs/components/Pressable/Pressable.js +12 -21
  9. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
  10. package/lib/commonjs/components/Pressable/StateMachine.js +8 -2
  11. package/lib/commonjs/components/Pressable/StateMachine.js.map +1 -1
  12. package/lib/commonjs/components/Pressable/stateDefinitions.js +22 -23
  13. package/lib/commonjs/components/Pressable/stateDefinitions.js.map +1 -1
  14. package/lib/commonjs/components/{ReanimatedSwipeable.js → ReanimatedSwipeable/ReanimatedSwipeable.js} +30 -39
  15. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js.map +1 -0
  16. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +12 -0
  17. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js.map +1 -0
  18. package/lib/commonjs/components/ReanimatedSwipeable/index.js +21 -0
  19. package/lib/commonjs/components/ReanimatedSwipeable/index.js.map +1 -0
  20. package/lib/commonjs/mocks/Pressable.js +13 -0
  21. package/lib/commonjs/mocks/Pressable.js.map +1 -0
  22. package/lib/commonjs/{mocks.js → mocks/mocks.js} +8 -11
  23. package/lib/commonjs/mocks/mocks.js.map +1 -0
  24. package/lib/commonjs/web/handlers/GestureHandler.js +1 -0
  25. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  26. package/lib/module/components/Pressable/Pressable.js +14 -23
  27. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  28. package/lib/module/components/Pressable/StateMachine.js +8 -2
  29. package/lib/module/components/Pressable/StateMachine.js.map +1 -1
  30. package/lib/module/components/Pressable/stateDefinitions.js +21 -22
  31. package/lib/module/components/Pressable/stateDefinitions.js.map +1 -1
  32. package/lib/module/components/{ReanimatedSwipeable.js → ReanimatedSwipeable/ReanimatedSwipeable.js} +24 -33
  33. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js.map +1 -0
  34. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +8 -0
  35. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js.map +1 -0
  36. package/lib/module/components/ReanimatedSwipeable/index.js +5 -0
  37. package/lib/module/components/ReanimatedSwipeable/index.js.map +1 -0
  38. package/lib/module/mocks/Pressable.js +4 -0
  39. package/lib/module/mocks/Pressable.js.map +1 -0
  40. package/lib/module/{mocks.js → mocks/mocks.js} +7 -11
  41. package/lib/module/mocks/mocks.js.map +1 -0
  42. package/lib/module/web/handlers/GestureHandler.js +1 -0
  43. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  44. package/lib/typescript/ActionType.d.ts +1 -0
  45. package/lib/typescript/Directions.d.ts +1 -0
  46. package/lib/typescript/EnableNewWebImplementation.d.ts +1 -0
  47. package/lib/typescript/GestureHandlerRootViewContext.d.ts +1 -0
  48. package/lib/typescript/PlatformConstants.d.ts +1 -0
  49. package/lib/typescript/PlatformConstants.web.d.ts +1 -0
  50. package/lib/typescript/PointerType.d.ts +1 -0
  51. package/lib/typescript/RNGestureHandlerModule.d.ts +1 -0
  52. package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -0
  53. package/lib/typescript/RNGestureHandlerModule.windows.d.ts +1 -0
  54. package/lib/typescript/RNRenderer.d.ts +1 -0
  55. package/lib/typescript/RNRenderer.web.d.ts +1 -0
  56. package/lib/typescript/State.d.ts +1 -0
  57. package/lib/typescript/TouchEventType.d.ts +1 -0
  58. package/lib/typescript/components/DrawerLayout.d.ts +1 -0
  59. package/lib/typescript/components/GestureButtons.d.ts +1 -0
  60. package/lib/typescript/components/GestureButtonsProps.d.ts +10 -1
  61. package/lib/typescript/components/GestureButtonsProps.d.ts.map +1 -1
  62. package/lib/typescript/components/GestureComponents.d.ts +1 -0
  63. package/lib/typescript/components/GestureComponents.web.d.ts +1 -0
  64. package/lib/typescript/components/GestureHandlerButton.d.ts +1 -0
  65. package/lib/typescript/components/GestureHandlerButton.web.d.ts +1 -0
  66. package/lib/typescript/components/GestureHandlerRootView.android.d.ts +1 -0
  67. package/lib/typescript/components/GestureHandlerRootView.d.ts +1 -0
  68. package/lib/typescript/components/GestureHandlerRootView.web.d.ts +1 -0
  69. package/lib/typescript/components/Pressable/Pressable.d.ts +1 -0
  70. package/lib/typescript/components/Pressable/Pressable.d.ts.map +1 -1
  71. package/lib/typescript/components/Pressable/PressableProps.d.ts +3 -4
  72. package/lib/typescript/components/Pressable/PressableProps.d.ts.map +1 -1
  73. package/lib/typescript/components/Pressable/StateMachine.d.ts +4 -2
  74. package/lib/typescript/components/Pressable/StateMachine.d.ts.map +1 -1
  75. package/lib/typescript/components/Pressable/index.d.ts +1 -0
  76. package/lib/typescript/components/Pressable/stateDefinitions.d.ts +3 -2
  77. package/lib/typescript/components/Pressable/stateDefinitions.d.ts.map +1 -1
  78. package/lib/typescript/components/Pressable/utils.d.ts +1 -0
  79. package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +1 -0
  80. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts +6 -0
  81. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts.map +1 -0
  82. package/lib/typescript/components/{ReanimatedSwipeable.d.ts → ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts} +10 -7
  83. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts.map +1 -0
  84. package/lib/typescript/components/ReanimatedSwipeable/index.d.ts +3 -0
  85. package/lib/typescript/components/ReanimatedSwipeable/index.d.ts.map +1 -0
  86. package/lib/typescript/components/Swipeable.d.ts +1 -0
  87. package/lib/typescript/components/Text.d.ts +1 -0
  88. package/lib/typescript/components/gestureHandlerRootHOC.d.ts +1 -0
  89. package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +1 -0
  90. package/lib/typescript/components/touchables/GenericTouchable.d.ts +1 -0
  91. package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +1 -0
  92. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +1 -0
  93. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +1 -0
  94. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +1 -0
  95. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +1 -0
  96. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +1 -0
  97. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +1 -0
  98. package/lib/typescript/components/touchables/index.d.ts +1 -0
  99. package/lib/typescript/components/utils.d.ts +1 -0
  100. package/lib/typescript/findNodeHandle.d.ts +1 -0
  101. package/lib/typescript/findNodeHandle.web.d.ts +1 -0
  102. package/lib/typescript/getShadowNodeFromRef.d.ts +1 -0
  103. package/lib/typescript/getShadowNodeFromRef.web.d.ts +1 -0
  104. package/lib/typescript/ghQueueMicrotask.d.ts +1 -0
  105. package/lib/typescript/handlers/FlingGestureHandler.d.ts +1 -0
  106. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +1 -0
  107. package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts +1 -0
  108. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +1 -0
  109. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +1 -0
  110. package/lib/typescript/handlers/PanGestureHandler.d.ts +1 -0
  111. package/lib/typescript/handlers/PinchGestureHandler.d.ts +1 -0
  112. package/lib/typescript/handlers/PressabilityDebugView.d.ts +1 -0
  113. package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +1 -0
  114. package/lib/typescript/handlers/RotationGestureHandler.d.ts +1 -0
  115. package/lib/typescript/handlers/TapGestureHandler.d.ts +1 -0
  116. package/lib/typescript/handlers/createHandler.d.ts +1 -0
  117. package/lib/typescript/handlers/createNativeWrapper.d.ts +1 -0
  118. package/lib/typescript/handlers/customDirectEventTypes.d.ts +1 -0
  119. package/lib/typescript/handlers/customDirectEventTypes.web.d.ts +1 -0
  120. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +1 -0
  121. package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +1 -0
  122. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.d.ts +1 -0
  123. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.d.ts +1 -0
  124. package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.d.ts +1 -0
  125. package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.d.ts +1 -0
  126. package/lib/typescript/handlers/gestures/GestureDetector/index.d.ts +1 -0
  127. package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.d.ts +1 -0
  128. package/lib/typescript/handlers/gestures/GestureDetector/types.d.ts +1 -0
  129. package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.d.ts +1 -0
  130. package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.d.ts +1 -0
  131. package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.d.ts +1 -0
  132. package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.d.ts +1 -0
  133. package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.d.ts +1 -0
  134. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +1 -0
  135. package/lib/typescript/handlers/gestures/eventReceiver.d.ts +1 -0
  136. package/lib/typescript/handlers/gestures/flingGesture.d.ts +1 -0
  137. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +1 -0
  138. package/lib/typescript/handlers/gestures/gesture.d.ts +1 -0
  139. package/lib/typescript/handlers/gestures/gestureComposition.d.ts +1 -0
  140. package/lib/typescript/handlers/gestures/gestureObjects.d.ts +1 -0
  141. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +1 -0
  142. package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +1 -0
  143. package/lib/typescript/handlers/gestures/hoverGesture.d.ts +1 -0
  144. package/lib/typescript/handlers/gestures/longPressGesture.d.ts +1 -0
  145. package/lib/typescript/handlers/gestures/manualGesture.d.ts +1 -0
  146. package/lib/typescript/handlers/gestures/nativeGesture.d.ts +1 -0
  147. package/lib/typescript/handlers/gestures/panGesture.d.ts +1 -0
  148. package/lib/typescript/handlers/gestures/pinchGesture.d.ts +1 -0
  149. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +1 -0
  150. package/lib/typescript/handlers/gestures/rotationGesture.d.ts +1 -0
  151. package/lib/typescript/handlers/gestures/tapGesture.d.ts +1 -0
  152. package/lib/typescript/handlers/getNextHandlerTag.d.ts +1 -0
  153. package/lib/typescript/handlers/handlersRegistry.d.ts +1 -0
  154. package/lib/typescript/handlers/utils.d.ts +1 -0
  155. package/lib/typescript/index.d.ts +1 -0
  156. package/lib/typescript/init.d.ts +1 -0
  157. package/lib/typescript/jestUtils/index.d.ts +1 -0
  158. package/lib/typescript/jestUtils/jestUtils.d.ts +1 -0
  159. package/lib/typescript/mocks/Pressable.d.ts +2 -0
  160. package/lib/typescript/mocks/Pressable.d.ts.map +1 -0
  161. package/lib/typescript/{mocks.d.ts → mocks/mocks.d.ts} +5 -4
  162. package/lib/typescript/mocks/mocks.d.ts.map +1 -0
  163. package/lib/typescript/mountRegistry.d.ts +1 -0
  164. package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +1 -0
  165. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +1 -0
  166. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +1 -0
  167. package/lib/typescript/typeUtils.d.ts +1 -0
  168. package/lib/typescript/utils.d.ts +1 -0
  169. package/lib/typescript/web/Gestures.d.ts +1 -0
  170. package/lib/typescript/web/constants.d.ts +1 -0
  171. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +1 -0
  172. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +1 -0
  173. package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +1 -0
  174. package/lib/typescript/web/handlers/GestureHandler.d.ts +1 -0
  175. package/lib/typescript/web/handlers/GestureHandler.d.ts.map +1 -1
  176. package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +1 -0
  177. package/lib/typescript/web/handlers/IGestureHandler.d.ts +1 -0
  178. package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +1 -0
  179. package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +1 -0
  180. package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +1 -0
  181. package/lib/typescript/web/handlers/PanGestureHandler.d.ts +1 -0
  182. package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +1 -0
  183. package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +1 -0
  184. package/lib/typescript/web/handlers/TapGestureHandler.d.ts +1 -0
  185. package/lib/typescript/web/interfaces.d.ts +1 -0
  186. package/lib/typescript/web/tools/CircularBuffer.d.ts +1 -0
  187. package/lib/typescript/web/tools/EventManager.d.ts +1 -0
  188. package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +1 -0
  189. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +1 -0
  190. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +1 -0
  191. package/lib/typescript/web/tools/InteractionManager.d.ts +1 -0
  192. package/lib/typescript/web/tools/KeyboardEventManager.d.ts +1 -0
  193. package/lib/typescript/web/tools/LeastSquareSolver.d.ts +1 -0
  194. package/lib/typescript/web/tools/NodeManager.d.ts +1 -0
  195. package/lib/typescript/web/tools/PointerEventManager.d.ts +1 -0
  196. package/lib/typescript/web/tools/PointerTracker.d.ts +1 -0
  197. package/lib/typescript/web/tools/Vector.d.ts +1 -0
  198. package/lib/typescript/web/tools/VelocityTracker.d.ts +1 -0
  199. package/lib/typescript/web/tools/WheelEventManager.d.ts +1 -0
  200. package/lib/typescript/web/utils.d.ts +1 -0
  201. package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts +1 -0
  202. package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts +1 -0
  203. package/lib/typescript/web_hammer/Errors.d.ts +1 -0
  204. package/lib/typescript/web_hammer/FlingGestureHandler.d.ts +1 -0
  205. package/lib/typescript/web_hammer/GestureHandler.d.ts +1 -0
  206. package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts +1 -0
  207. package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts +1 -0
  208. package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts +1 -0
  209. package/lib/typescript/web_hammer/NodeManager.d.ts +1 -0
  210. package/lib/typescript/web_hammer/PanGestureHandler.d.ts +1 -0
  211. package/lib/typescript/web_hammer/PinchGestureHandler.d.ts +1 -0
  212. package/lib/typescript/web_hammer/PressGestureHandler.d.ts +1 -0
  213. package/lib/typescript/web_hammer/RotationGestureHandler.d.ts +1 -0
  214. package/lib/typescript/web_hammer/TapGestureHandler.d.ts +1 -0
  215. package/lib/typescript/web_hammer/constants.d.ts +1 -0
  216. package/lib/typescript/web_hammer/utils.d.ts +1 -0
  217. package/package.json +1 -1
  218. package/src/components/GestureButtonsProps.ts +10 -0
  219. package/src/components/Pressable/Pressable.tsx +20 -31
  220. package/src/components/Pressable/PressableProps.tsx +2 -4
  221. package/src/components/Pressable/StateMachine.tsx +12 -4
  222. package/src/components/Pressable/stateDefinitions.ts +23 -23
  223. package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +603 -0
  224. package/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts +199 -0
  225. package/src/components/ReanimatedSwipeable/index.ts +6 -0
  226. package/src/mocks/Pressable.tsx +1 -0
  227. package/src/{mocks.tsx → mocks/mocks.tsx} +7 -11
  228. package/src/web/handlers/GestureHandler.ts +1 -0
  229. package/lib/commonjs/components/ReanimatedSwipeable.js.map +0 -1
  230. package/lib/commonjs/mocks.js.map +0 -1
  231. package/lib/module/components/ReanimatedSwipeable.js.map +0 -1
  232. package/lib/module/mocks.js.map +0 -1
  233. package/lib/typescript/ActionType.js +0 -6
  234. package/lib/typescript/Directions.js +0 -18
  235. package/lib/typescript/EnableNewWebImplementation.js +0 -30
  236. package/lib/typescript/GestureHandlerRootViewContext.js +0 -2
  237. package/lib/typescript/PlatformConstants.js +0 -3
  238. package/lib/typescript/PlatformConstants.web.js +0 -5
  239. package/lib/typescript/PointerType.js +0 -8
  240. package/lib/typescript/RNGestureHandlerModule.js +0 -4
  241. package/lib/typescript/RNGestureHandlerModule.web.js +0 -92
  242. package/lib/typescript/RNGestureHandlerModule.windows.js +0 -47
  243. package/lib/typescript/RNRenderer.js +0 -3
  244. package/lib/typescript/RNRenderer.web.js +0 -3
  245. package/lib/typescript/State.js +0 -9
  246. package/lib/typescript/TouchEventType.js +0 -7
  247. package/lib/typescript/components/DrawerLayout.js +0 -417
  248. package/lib/typescript/components/GestureButtons.js +0 -165
  249. package/lib/typescript/components/GestureButtonsProps.js +0 -1
  250. package/lib/typescript/components/GestureComponents.js +0 -67
  251. package/lib/typescript/components/GestureComponents.web.js +0 -21
  252. package/lib/typescript/components/GestureHandlerButton.js +0 -2
  253. package/lib/typescript/components/GestureHandlerButton.web.js +0 -3
  254. package/lib/typescript/components/GestureHandlerRootView.android.js +0 -17
  255. package/lib/typescript/components/GestureHandlerRootView.js +0 -16
  256. package/lib/typescript/components/GestureHandlerRootView.web.js +0 -11
  257. package/lib/typescript/components/Pressable/Pressable.js +0 -231
  258. package/lib/typescript/components/Pressable/PressableProps.js +0 -1
  259. package/lib/typescript/components/Pressable/StateMachine.js +0 -34
  260. package/lib/typescript/components/Pressable/index.js +0 -1
  261. package/lib/typescript/components/Pressable/stateDefinitions.js +0 -104
  262. package/lib/typescript/components/Pressable/utils.js +0 -80
  263. package/lib/typescript/components/ReanimatedDrawerLayout.js +0 -364
  264. package/lib/typescript/components/ReanimatedSwipeable.d.ts.map +0 -1
  265. package/lib/typescript/components/ReanimatedSwipeable.js +0 -400
  266. package/lib/typescript/components/Swipeable.js +0 -287
  267. package/lib/typescript/components/Text.js +0 -38
  268. package/lib/typescript/components/gestureHandlerRootHOC.js +0 -18
  269. package/lib/typescript/components/touchables/ExtraButtonProps.js +0 -1
  270. package/lib/typescript/components/touchables/GenericTouchable.js +0 -221
  271. package/lib/typescript/components/touchables/GenericTouchableProps.js +0 -1
  272. package/lib/typescript/components/touchables/TouchableHighlight.js +0 -75
  273. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.js +0 -65
  274. package/lib/typescript/components/touchables/TouchableNativeFeedback.js +0 -6
  275. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.js +0 -1
  276. package/lib/typescript/components/touchables/TouchableOpacity.js +0 -51
  277. package/lib/typescript/components/touchables/TouchableWithoutFeedback.js +0 -10
  278. package/lib/typescript/components/touchables/index.js +0 -4
  279. package/lib/typescript/components/utils.js +0 -11
  280. package/lib/typescript/findNodeHandle.js +0 -2
  281. package/lib/typescript/findNodeHandle.web.js +0 -31
  282. package/lib/typescript/getShadowNodeFromRef.js +0 -45
  283. package/lib/typescript/getShadowNodeFromRef.web.js +0 -7
  284. package/lib/typescript/ghQueueMicrotask.js +0 -7
  285. package/lib/typescript/handlers/FlingGestureHandler.js +0 -19
  286. package/lib/typescript/handlers/ForceTouchGestureHandler.js +0 -37
  287. package/lib/typescript/handlers/GestureHandlerEventPayload.js +0 -1
  288. package/lib/typescript/handlers/LongPressGestureHandler.js +0 -22
  289. package/lib/typescript/handlers/NativeViewGestureHandler.js +0 -20
  290. package/lib/typescript/handlers/PanGestureHandler.js +0 -128
  291. package/lib/typescript/handlers/PinchGestureHandler.js +0 -12
  292. package/lib/typescript/handlers/PressabilityDebugView.js +0 -2
  293. package/lib/typescript/handlers/PressabilityDebugView.web.js +0 -4
  294. package/lib/typescript/handlers/RotationGestureHandler.js +0 -12
  295. package/lib/typescript/handlers/TapGestureHandler.js +0 -26
  296. package/lib/typescript/handlers/createHandler.js +0 -375
  297. package/lib/typescript/handlers/createNativeWrapper.js +0 -67
  298. package/lib/typescript/handlers/customDirectEventTypes.js +0 -2
  299. package/lib/typescript/handlers/customDirectEventTypes.web.js +0 -4
  300. package/lib/typescript/handlers/gestureHandlerCommon.js +0 -42
  301. package/lib/typescript/handlers/gestureHandlerTypesCompat.js +0 -1
  302. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.js +0 -22
  303. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.js +0 -24
  304. package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.js +0 -55
  305. package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.js +0 -12
  306. package/lib/typescript/handlers/gestures/GestureDetector/index.js +0 -114
  307. package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.js +0 -18
  308. package/lib/typescript/handlers/gestures/GestureDetector/types.js +0 -1
  309. package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.js +0 -54
  310. package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -137
  311. package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -48
  312. package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.js +0 -35
  313. package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -32
  314. package/lib/typescript/handlers/gestures/GestureDetector/utils.js +0 -140
  315. package/lib/typescript/handlers/gestures/eventReceiver.js +0 -105
  316. package/lib/typescript/handlers/gestures/flingGesture.js +0 -27
  317. package/lib/typescript/handlers/gestures/forceTouchGesture.js +0 -57
  318. package/lib/typescript/handlers/gestures/gesture.js +0 -303
  319. package/lib/typescript/handlers/gestures/gestureComposition.js +0 -78
  320. package/lib/typescript/handlers/gestures/gestureObjects.js +0 -125
  321. package/lib/typescript/handlers/gestures/gestureStateManager.js +0 -60
  322. package/lib/typescript/handlers/gestures/gestureStateManager.web.js +0 -19
  323. package/lib/typescript/handlers/gestures/hoverGesture.js +0 -45
  324. package/lib/typescript/handlers/gestures/longPressGesture.js +0 -35
  325. package/lib/typescript/handlers/gestures/manualGesture.js +0 -16
  326. package/lib/typescript/handlers/gestures/nativeGesture.js +0 -24
  327. package/lib/typescript/handlers/gestures/panGesture.js +0 -181
  328. package/lib/typescript/handlers/gestures/pinchGesture.js +0 -27
  329. package/lib/typescript/handlers/gestures/reanimatedWrapper.js +0 -23
  330. package/lib/typescript/handlers/gestures/rotationGesture.js +0 -27
  331. package/lib/typescript/handlers/gestures/tapGesture.js +0 -72
  332. package/lib/typescript/handlers/getNextHandlerTag.js +0 -4
  333. package/lib/typescript/handlers/handlersRegistry.js +0 -36
  334. package/lib/typescript/handlers/utils.js +0 -58
  335. package/lib/typescript/index.js +0 -28
  336. package/lib/typescript/init.js +0 -15
  337. package/lib/typescript/jestUtils/index.js +0 -1
  338. package/lib/typescript/jestUtils/jestUtils.js +0 -290
  339. package/lib/typescript/mocks.d.ts.map +0 -1
  340. package/lib/typescript/mocks.js +0 -59
  341. package/lib/typescript/mountRegistry.js +0 -29
  342. package/lib/typescript/specs/NativeRNGestureHandlerModule.js +0 -2
  343. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.js +0 -2
  344. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.js +0 -2
  345. package/lib/typescript/typeUtils.js +0 -1
  346. package/lib/typescript/utils.js +0 -80
  347. package/lib/typescript/web/Gestures.js +0 -38
  348. package/lib/typescript/web/constants.js +0 -2
  349. package/lib/typescript/web/detectors/RotationGestureDetector.js +0 -122
  350. package/lib/typescript/web/detectors/ScaleGestureDetector.js +0 -117
  351. package/lib/typescript/web/handlers/FlingGestureHandler.js +0 -133
  352. package/lib/typescript/web/handlers/GestureHandler.js +0 -656
  353. package/lib/typescript/web/handlers/HoverGestureHandler.js +0 -37
  354. package/lib/typescript/web/handlers/IGestureHandler.js +0 -1
  355. package/lib/typescript/web/handlers/LongPressGestureHandler.js +0 -136
  356. package/lib/typescript/web/handlers/ManualGestureHandler.js +0 -29
  357. package/lib/typescript/web/handlers/NativeViewGestureHandler.js +0 -133
  358. package/lib/typescript/web/handlers/PanGestureHandler.js +0 -420
  359. package/lib/typescript/web/handlers/PinchGestureHandler.js +0 -117
  360. package/lib/typescript/web/handlers/RotationGestureHandler.js +0 -122
  361. package/lib/typescript/web/handlers/TapGestureHandler.js +0 -202
  362. package/lib/typescript/web/interfaces.js +0 -25
  363. package/lib/typescript/web/tools/CircularBuffer.js +0 -37
  364. package/lib/typescript/web/tools/EventManager.js +0 -85
  365. package/lib/typescript/web/tools/GestureHandlerDelegate.js +0 -1
  366. package/lib/typescript/web/tools/GestureHandlerOrchestrator.js +0 -273
  367. package/lib/typescript/web/tools/GestureHandlerWebDelegate.js +0 -169
  368. package/lib/typescript/web/tools/InteractionManager.js +0 -91
  369. package/lib/typescript/web/tools/KeyboardEventManager.js +0 -73
  370. package/lib/typescript/web/tools/LeastSquareSolver.js +0 -147
  371. package/lib/typescript/web/tools/NodeManager.js +0 -28
  372. package/lib/typescript/web/tools/PointerEventManager.js +0 -179
  373. package/lib/typescript/web/tools/PointerTracker.js +0 -161
  374. package/lib/typescript/web/tools/Vector.js +0 -43
  375. package/lib/typescript/web/tools/VelocityTracker.js +0 -76
  376. package/lib/typescript/web/tools/WheelEventManager.js +0 -40
  377. package/lib/typescript/web/utils.js +0 -233
  378. package/lib/typescript/web_hammer/DiscreteGestureHandler.js +0 -48
  379. package/lib/typescript/web_hammer/DraggingGestureHandler.js +0 -25
  380. package/lib/typescript/web_hammer/Errors.js +0 -5
  381. package/lib/typescript/web_hammer/FlingGestureHandler.js +0 -119
  382. package/lib/typescript/web_hammer/GestureHandler.js +0 -469
  383. package/lib/typescript/web_hammer/IndiscreteGestureHandler.js +0 -26
  384. package/lib/typescript/web_hammer/LongPressGestureHandler.js +0 -46
  385. package/lib/typescript/web_hammer/NativeViewGestureHandler.js +0 -40
  386. package/lib/typescript/web_hammer/NodeManager.js +0 -28
  387. package/lib/typescript/web_hammer/PanGestureHandler.js +0 -151
  388. package/lib/typescript/web_hammer/PinchGestureHandler.js +0 -19
  389. package/lib/typescript/web_hammer/PressGestureHandler.js +0 -133
  390. package/lib/typescript/web_hammer/RotationGestureHandler.js +0 -20
  391. package/lib/typescript/web_hammer/TapGestureHandler.js +0 -142
  392. package/lib/typescript/web_hammer/constants.js +0 -42
  393. package/lib/typescript/web_hammer/utils.js +0 -15
  394. package/src/components/ReanimatedSwipeable.tsx +0 -811
@@ -1,80 +0,0 @@
1
- import React from 'react';
2
- export function toArray(object) {
3
- if (!Array.isArray(object)) {
4
- return [object];
5
- }
6
- return object;
7
- }
8
- export function withPrevAndCurrent(array, mapFn) {
9
- const previousArr = [null];
10
- const currentArr = [...array];
11
- const transformedArr = [];
12
- currentArr.forEach((current, i) => {
13
- // This type cast is fine and solves problem mentioned in https://github.com/software-mansion/react-native-gesture-handler/pull/2867 (namely that `previous` can be undefined).
14
- // Unfortunately, linter on our CI does not allow this type of casting as it is unnecessary. To bypass that we use eslint-disable.
15
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
16
- const previous = previousArr[i];
17
- const transformed = mapFn(previous, current);
18
- previousArr.push(transformed);
19
- transformedArr.push(transformed);
20
- });
21
- return transformedArr;
22
- }
23
- export function hasProperty(object, key) {
24
- return Object.prototype.hasOwnProperty.call(object, key);
25
- }
26
- export function isTestEnv() {
27
- // @ts-ignore Do not use `@types/node` because it will prioritise Node types over RN types which breaks the types (ex. setTimeout) in React Native projects.
28
- return hasProperty(global, 'process') && process.env.NODE_ENV === 'test';
29
- }
30
- export function tagMessage(msg) {
31
- return `[react-native-gesture-handler] ${msg}`;
32
- }
33
- // Helper method to check whether Fabric is enabled, however global.nativeFabricUIManager
34
- // may not be initialized before the first render
35
- export function isFabric() {
36
- // @ts-expect-error nativeFabricUIManager is not yet included in the RN types
37
- return !!global?.nativeFabricUIManager;
38
- }
39
- export function isReact19() {
40
- return React.version.startsWith('19.');
41
- }
42
- export function isRemoteDebuggingEnabled() {
43
- // react-native-reanimated checks if in remote debugging in the same way
44
- // @ts-ignore global is available but node types are not included
45
- const localGlobal = global;
46
- return ((!localGlobal.nativeCallSyncHook || !!localGlobal.__REMOTEDEV__) &&
47
- !localGlobal.RN$Bridgeless);
48
- }
49
- /**
50
- * Recursively compares two objects for deep equality.
51
- *
52
- * **Note:** This function does not support cyclic references.
53
- *
54
- * @param obj1 - The first object to compare.
55
- * @param obj2 - The second object to compare.
56
- * @returns `true` if the objects are deeply equal, `false` otherwise.
57
- */
58
- export function deepEqual(obj1, obj2) {
59
- if (obj1 === obj2) {
60
- return true;
61
- }
62
- if (typeof obj1 !== 'object' ||
63
- typeof obj2 !== 'object' ||
64
- obj1 === null ||
65
- obj2 === null) {
66
- return false;
67
- }
68
- const keys1 = Object.keys(obj1);
69
- const keys2 = Object.keys(obj2);
70
- if (keys1.length !== keys2.length) {
71
- return false;
72
- }
73
- for (const key of keys1) {
74
- if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) {
75
- return false;
76
- }
77
- }
78
- return true;
79
- }
80
- export const INT32_MAX = 2 ** 31 - 1;
@@ -1,38 +0,0 @@
1
- // Gesture Handlers
2
- import PanGestureHandler from './handlers/PanGestureHandler';
3
- import TapGestureHandler from './handlers/TapGestureHandler';
4
- import LongPressGestureHandler from './handlers/LongPressGestureHandler';
5
- import PinchGestureHandler from './handlers/PinchGestureHandler';
6
- import RotationGestureHandler from './handlers/RotationGestureHandler';
7
- import FlingGestureHandler from './handlers/FlingGestureHandler';
8
- import NativeViewGestureHandler from './handlers/NativeViewGestureHandler';
9
- import ManualGestureHandler from './handlers/ManualGestureHandler';
10
- import HoverGestureHandler from './handlers/HoverGestureHandler';
11
- // Hammer Handlers
12
- import HammerNativeViewGestureHandler from '../web_hammer/NativeViewGestureHandler';
13
- import HammerPanGestureHandler from '../web_hammer/PanGestureHandler';
14
- import HammerTapGestureHandler from '../web_hammer/TapGestureHandler';
15
- import HammerLongPressGestureHandler from '../web_hammer/LongPressGestureHandler';
16
- import HammerPinchGestureHandler from '../web_hammer/PinchGestureHandler';
17
- import HammerRotationGestureHandler from '../web_hammer/RotationGestureHandler';
18
- import HammerFlingGestureHandler from '../web_hammer/FlingGestureHandler';
19
- export const Gestures = {
20
- NativeViewGestureHandler,
21
- PanGestureHandler,
22
- TapGestureHandler,
23
- LongPressGestureHandler,
24
- PinchGestureHandler,
25
- RotationGestureHandler,
26
- FlingGestureHandler,
27
- ManualGestureHandler,
28
- HoverGestureHandler,
29
- };
30
- export const HammerGestures = {
31
- NativeViewGestureHandler: HammerNativeViewGestureHandler,
32
- PanGestureHandler: HammerPanGestureHandler,
33
- TapGestureHandler: HammerTapGestureHandler,
34
- LongPressGestureHandler: HammerLongPressGestureHandler,
35
- PinchGestureHandler: HammerPinchGestureHandler,
36
- RotationGestureHandler: HammerRotationGestureHandler,
37
- FlingGestureHandler: HammerFlingGestureHandler,
38
- };
@@ -1,2 +0,0 @@
1
- export const DEFAULT_TOUCH_SLOP = 15;
2
- export const MINIMAL_RECOGNIZABLE_MAGNITUDE = 0.1;
@@ -1,122 +0,0 @@
1
- import { EventTypes } from '../interfaces';
2
- export default class RotationGestureDetector {
3
- onRotationBegin;
4
- onRotation;
5
- onRotationEnd;
6
- currentTime = 0;
7
- previousTime = 0;
8
- previousAngle = 0;
9
- _rotation = 0;
10
- _anchorX = 0;
11
- _anchorY = 0;
12
- isInProgress = false;
13
- keyPointers = [NaN, NaN];
14
- constructor(callbacks) {
15
- this.onRotationBegin = callbacks.onRotationBegin;
16
- this.onRotation = callbacks.onRotation;
17
- this.onRotationEnd = callbacks.onRotationEnd;
18
- }
19
- updateCurrent(event, tracker) {
20
- this.previousTime = this.currentTime;
21
- this.currentTime = event.time;
22
- const [firstPointerID, secondPointerID] = this.keyPointers;
23
- const firstPointerCoords = tracker.getLastAbsoluteCoords(firstPointerID);
24
- const secondPointerCoords = tracker.getLastAbsoluteCoords(secondPointerID);
25
- if (!firstPointerCoords || !secondPointerCoords) {
26
- return;
27
- }
28
- const vectorX = secondPointerCoords.x - firstPointerCoords.x;
29
- const vectorY = secondPointerCoords.y - firstPointerCoords.y;
30
- this._anchorX = (firstPointerCoords.x + secondPointerCoords.x) / 2;
31
- this._anchorY = (firstPointerCoords.y + secondPointerCoords.y) / 2;
32
- // Angle diff should be positive when rotating in clockwise direction
33
- const angle = -Math.atan2(vectorY, vectorX);
34
- this._rotation = Number.isNaN(this.previousAngle)
35
- ? 0
36
- : this.previousAngle - angle;
37
- this.previousAngle = angle;
38
- if (this.rotation > Math.PI) {
39
- this._rotation -= Math.PI;
40
- }
41
- else if (this.rotation < -Math.PI) {
42
- this._rotation += Math.PI;
43
- }
44
- if (this.rotation > Math.PI / 2) {
45
- this._rotation -= Math.PI;
46
- }
47
- else if (this.rotation < -Math.PI / 2) {
48
- this._rotation += Math.PI;
49
- }
50
- }
51
- finish() {
52
- if (!this.isInProgress) {
53
- return;
54
- }
55
- this.isInProgress = false;
56
- this.keyPointers = [NaN, NaN];
57
- this.onRotationEnd(this);
58
- }
59
- setKeyPointers(tracker) {
60
- if (this.keyPointers[0] && this.keyPointers[1]) {
61
- return;
62
- }
63
- const pointerIDs = tracker.trackedPointers.keys();
64
- this.keyPointers[0] = pointerIDs.next().value;
65
- this.keyPointers[1] = pointerIDs.next().value;
66
- }
67
- onTouchEvent(event, tracker) {
68
- switch (event.eventType) {
69
- case EventTypes.DOWN:
70
- this.isInProgress = false;
71
- break;
72
- case EventTypes.ADDITIONAL_POINTER_DOWN:
73
- if (this.isInProgress) {
74
- break;
75
- }
76
- this.isInProgress = true;
77
- this.previousTime = event.time;
78
- this.previousAngle = NaN;
79
- this.setKeyPointers(tracker);
80
- this.updateCurrent(event, tracker);
81
- this.onRotationBegin(this);
82
- break;
83
- case EventTypes.MOVE:
84
- if (!this.isInProgress) {
85
- break;
86
- }
87
- this.updateCurrent(event, tracker);
88
- this.onRotation(this);
89
- break;
90
- case EventTypes.ADDITIONAL_POINTER_UP:
91
- if (!this.isInProgress) {
92
- break;
93
- }
94
- if (this.keyPointers.indexOf(event.pointerId) >= 0) {
95
- this.finish();
96
- }
97
- break;
98
- case EventTypes.UP:
99
- if (this.isInProgress) {
100
- this.finish();
101
- }
102
- break;
103
- }
104
- return true;
105
- }
106
- reset() {
107
- this.keyPointers = [NaN, NaN];
108
- this.isInProgress = false;
109
- }
110
- get anchorX() {
111
- return this._anchorX;
112
- }
113
- get anchorY() {
114
- return this._anchorY;
115
- }
116
- get rotation() {
117
- return this._rotation;
118
- }
119
- get timeDelta() {
120
- return this.currentTime + this.previousTime;
121
- }
122
- }
@@ -1,117 +0,0 @@
1
- import { DEFAULT_TOUCH_SLOP } from '../constants';
2
- import { EventTypes } from '../interfaces';
3
- export default class ScaleGestureDetector {
4
- onScaleBegin;
5
- onScale;
6
- onScaleEnd;
7
- _focusX;
8
- _focusY;
9
- _currentSpan;
10
- prevSpan;
11
- initialSpan;
12
- currentTime;
13
- prevTime;
14
- inProgress = false;
15
- spanSlop;
16
- minSpan;
17
- constructor(callbacks) {
18
- this.onScaleBegin = callbacks.onScaleBegin;
19
- this.onScale = callbacks.onScale;
20
- this.onScaleEnd = callbacks.onScaleEnd;
21
- this.spanSlop = DEFAULT_TOUCH_SLOP * 2;
22
- this.minSpan = 0;
23
- }
24
- onTouchEvent(event, tracker) {
25
- this.currentTime = event.time;
26
- const action = event.eventType;
27
- const numOfPointers = tracker.trackedPointersCount;
28
- const streamComplete = action === EventTypes.UP ||
29
- action === EventTypes.ADDITIONAL_POINTER_UP ||
30
- action === EventTypes.CANCEL;
31
- if (action === EventTypes.DOWN || streamComplete) {
32
- if (this.inProgress) {
33
- this.onScaleEnd(this);
34
- this.inProgress = false;
35
- this.initialSpan = 0;
36
- }
37
- if (streamComplete) {
38
- return true;
39
- }
40
- }
41
- const configChanged = action === EventTypes.DOWN ||
42
- action === EventTypes.ADDITIONAL_POINTER_UP ||
43
- action === EventTypes.ADDITIONAL_POINTER_DOWN;
44
- const pointerUp = action === EventTypes.ADDITIONAL_POINTER_UP;
45
- const ignoredPointer = pointerUp
46
- ? event.pointerId
47
- : undefined;
48
- // Determine focal point
49
- const div = pointerUp ? numOfPointers - 1 : numOfPointers;
50
- const coordsSum = tracker.getAbsoluteCoordsSum();
51
- const focusX = coordsSum.x / div;
52
- const focusY = coordsSum.y / div;
53
- // Determine average deviation from focal point
54
- let devSumX = 0;
55
- let devSumY = 0;
56
- tracker.trackedPointers.forEach((value, key) => {
57
- if (key === ignoredPointer) {
58
- return;
59
- }
60
- devSumX += Math.abs(value.abosoluteCoords.x - focusX);
61
- devSumY += Math.abs(value.abosoluteCoords.y - focusY);
62
- });
63
- const devX = devSumX / div;
64
- const devY = devSumY / div;
65
- const spanX = devX * 2;
66
- const spanY = devY * 2;
67
- const span = Math.hypot(spanX, spanY);
68
- // Begin/end events
69
- const wasInProgress = this.inProgress;
70
- this._focusX = focusX;
71
- this._focusY = focusY;
72
- if (this.inProgress && (span < this.minSpan || configChanged)) {
73
- this.onScaleEnd(this);
74
- this.inProgress = false;
75
- this.initialSpan = span;
76
- }
77
- if (configChanged) {
78
- this.initialSpan = this.prevSpan = this._currentSpan = span;
79
- }
80
- if (!this.inProgress &&
81
- span >= this.minSpan &&
82
- (wasInProgress || Math.abs(span - this.initialSpan) > this.spanSlop)) {
83
- this.prevSpan = this._currentSpan = span;
84
- this.prevTime = this.currentTime;
85
- this.inProgress = this.onScaleBegin(this);
86
- }
87
- // Handle motion
88
- if (action !== EventTypes.MOVE) {
89
- return true;
90
- }
91
- this._currentSpan = span;
92
- if (this.inProgress && !this.onScale(this)) {
93
- return true;
94
- }
95
- this.prevSpan = this.currentSpan;
96
- this.prevTime = this.currentTime;
97
- return true;
98
- }
99
- calculateScaleFactor(numOfPointers) {
100
- if (numOfPointers < 2) {
101
- return 1;
102
- }
103
- return this.prevSpan > 0 ? this.currentSpan / this.prevSpan : 1;
104
- }
105
- get currentSpan() {
106
- return this._currentSpan;
107
- }
108
- get focusX() {
109
- return this._focusX;
110
- }
111
- get focusY() {
112
- return this._focusY;
113
- }
114
- get timeDelta() {
115
- return this.currentTime - this.prevTime;
116
- }
117
- }
@@ -1,133 +0,0 @@
1
- import { State } from '../../State';
2
- import { DiagonalDirections, Directions } from '../../Directions';
3
- import GestureHandler from './GestureHandler';
4
- import Vector from '../tools/Vector';
5
- import { coneToDeviation } from '../utils';
6
- const DEFAULT_MAX_DURATION_MS = 800;
7
- const DEFAULT_MIN_VELOCITY = 700;
8
- const DEFAULT_ALIGNMENT_CONE = 30;
9
- const DEFAULT_DIRECTION = Directions.RIGHT;
10
- const DEFAULT_NUMBER_OF_TOUCHES_REQUIRED = 1;
11
- const AXIAL_DEVIATION_COSINE = coneToDeviation(DEFAULT_ALIGNMENT_CONE);
12
- const DIAGONAL_DEVIATION_COSINE = coneToDeviation(90 - DEFAULT_ALIGNMENT_CONE);
13
- export default class FlingGestureHandler extends GestureHandler {
14
- numberOfPointersRequired = DEFAULT_NUMBER_OF_TOUCHES_REQUIRED;
15
- direction = DEFAULT_DIRECTION;
16
- maxDurationMs = DEFAULT_MAX_DURATION_MS;
17
- minVelocity = DEFAULT_MIN_VELOCITY;
18
- delayTimeout;
19
- maxNumberOfPointersSimultaneously = 0;
20
- keyPointer = NaN;
21
- updateGestureConfig({ enabled = true, ...props }) {
22
- super.updateGestureConfig({ enabled: enabled, ...props });
23
- if (this.config.direction) {
24
- this.direction = this.config.direction;
25
- }
26
- if (this.config.numberOfPointers) {
27
- this.numberOfPointersRequired = this.config.numberOfPointers;
28
- }
29
- }
30
- startFling() {
31
- this.begin();
32
- this.maxNumberOfPointersSimultaneously = 1;
33
- this.delayTimeout = setTimeout(() => this.fail(), this.maxDurationMs);
34
- }
35
- tryEndFling() {
36
- const velocityVector = Vector.fromVelocity(this.tracker, this.keyPointer);
37
- if (!velocityVector) {
38
- return false;
39
- }
40
- const getAlignment = (direction, minimalAlignmentCosine) => {
41
- return ((direction & this.direction) === direction &&
42
- velocityVector.isSimilar(Vector.fromDirection(direction), minimalAlignmentCosine));
43
- };
44
- const axialDirectionsList = Object.values(Directions);
45
- const diagonalDirectionsList = Object.values(DiagonalDirections);
46
- // List of alignments to all activated directions
47
- const axialAlignmentList = axialDirectionsList.map((direction) => getAlignment(direction, AXIAL_DEVIATION_COSINE));
48
- const diagonalAlignmentList = diagonalDirectionsList.map((direction) => getAlignment(direction, DIAGONAL_DEVIATION_COSINE));
49
- const isAligned = axialAlignmentList.some(Boolean) || diagonalAlignmentList.some(Boolean);
50
- const isFast = velocityVector.magnitude > this.minVelocity;
51
- if (this.maxNumberOfPointersSimultaneously ===
52
- this.numberOfPointersRequired &&
53
- isAligned &&
54
- isFast) {
55
- clearTimeout(this.delayTimeout);
56
- this.activate();
57
- return true;
58
- }
59
- return false;
60
- }
61
- endFling() {
62
- if (!this.tryEndFling()) {
63
- this.fail();
64
- }
65
- }
66
- onPointerDown(event) {
67
- if (!this.isButtonInConfig(event.button)) {
68
- return;
69
- }
70
- this.tracker.addToTracker(event);
71
- this.keyPointer = event.pointerId;
72
- super.onPointerDown(event);
73
- this.newPointerAction();
74
- this.tryToSendTouchEvent(event);
75
- }
76
- onPointerAdd(event) {
77
- this.tracker.addToTracker(event);
78
- super.onPointerAdd(event);
79
- this.newPointerAction();
80
- }
81
- newPointerAction() {
82
- if (this.state === State.UNDETERMINED) {
83
- this.startFling();
84
- }
85
- if (this.state !== State.BEGAN) {
86
- return;
87
- }
88
- this.tryEndFling();
89
- if (this.tracker.trackedPointersCount > this.maxNumberOfPointersSimultaneously) {
90
- this.maxNumberOfPointersSimultaneously =
91
- this.tracker.trackedPointersCount;
92
- }
93
- }
94
- pointerMoveAction(event) {
95
- this.tracker.track(event);
96
- if (this.state !== State.BEGAN) {
97
- return;
98
- }
99
- this.tryEndFling();
100
- }
101
- onPointerMove(event) {
102
- this.pointerMoveAction(event);
103
- super.onPointerMove(event);
104
- }
105
- onPointerOutOfBounds(event) {
106
- this.pointerMoveAction(event);
107
- super.onPointerOutOfBounds(event);
108
- }
109
- onPointerUp(event) {
110
- super.onPointerUp(event);
111
- this.onUp(event);
112
- this.keyPointer = NaN;
113
- }
114
- onPointerRemove(event) {
115
- super.onPointerRemove(event);
116
- this.onUp(event);
117
- }
118
- onUp(event) {
119
- if (this.state === State.BEGAN) {
120
- this.endFling();
121
- }
122
- this.tracker.removeFromTracker(event.pointerId);
123
- }
124
- activate(force) {
125
- super.activate(force);
126
- this.end();
127
- }
128
- resetConfig() {
129
- super.resetConfig();
130
- this.numberOfPointersRequired = DEFAULT_NUMBER_OF_TOUCHES_REQUIRED;
131
- this.direction = DEFAULT_DIRECTION;
132
- }
133
- }