react-native-gesture-handler 2.22.1 → 2.23.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 (677) hide show
  1. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +14 -0
  2. package/android/src/main/jni/cpp-adapter.cpp +19 -12
  3. package/apple/RNGestureHandler.mm +15 -8
  4. package/apple/RNGestureHandlerModule.mm +17 -5
  5. package/lib/commonjs/ActionType.js +3 -3
  6. package/lib/commonjs/ActionType.js.map +1 -1
  7. package/lib/commonjs/Directions.js +11 -8
  8. package/lib/commonjs/Directions.js.map +1 -1
  9. package/lib/commonjs/EnableNewWebImplementation.js +2 -10
  10. package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
  11. package/lib/commonjs/GestureHandlerRootViewContext.js +2 -7
  12. package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
  13. package/lib/commonjs/PlatformConstants.js +1 -6
  14. package/lib/commonjs/PlatformConstants.js.map +1 -1
  15. package/lib/commonjs/PlatformConstants.web.js +1 -3
  16. package/lib/commonjs/PlatformConstants.web.js.map +1 -1
  17. package/lib/commonjs/PointerType.js +3 -5
  18. package/lib/commonjs/PointerType.js.map +1 -1
  19. package/lib/commonjs/RNGestureHandlerModule.js +2 -6
  20. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
  21. package/lib/commonjs/RNGestureHandlerModule.web.js +13 -39
  22. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  23. package/lib/commonjs/RNGestureHandlerModule.windows.js +22 -32
  24. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
  25. package/lib/commonjs/RNRenderer.js +1 -3
  26. package/lib/commonjs/RNRenderer.js.map +1 -1
  27. package/lib/commonjs/RNRenderer.web.js +1 -2
  28. package/lib/commonjs/RNRenderer.web.js.map +1 -1
  29. package/lib/commonjs/State.js +4 -3
  30. package/lib/commonjs/State.js.map +1 -1
  31. package/lib/commonjs/TouchEventType.js +3 -3
  32. package/lib/commonjs/TouchEventType.js.map +1 -1
  33. package/lib/commonjs/components/DrawerLayout.js +96 -115
  34. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  35. package/lib/commonjs/components/GestureButtons.js +36 -80
  36. package/lib/commonjs/components/GestureButtons.js.map +1 -1
  37. package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
  38. package/lib/commonjs/components/GestureComponents.js +26 -37
  39. package/lib/commonjs/components/GestureComponents.js.map +1 -1
  40. package/lib/commonjs/components/GestureComponents.web.js +13 -27
  41. package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
  42. package/lib/commonjs/components/GestureHandlerButton.js +2 -6
  43. package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
  44. package/lib/commonjs/components/GestureHandlerButton.web.js +4 -12
  45. package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
  46. package/lib/commonjs/components/GestureHandlerRootView.android.js +4 -15
  47. package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
  48. package/lib/commonjs/components/GestureHandlerRootView.js +4 -14
  49. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
  50. package/lib/commonjs/components/GestureHandlerRootView.web.js +4 -13
  51. package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
  52. package/lib/commonjs/components/Pressable/Pressable.js +46 -78
  53. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
  54. package/lib/commonjs/components/Pressable/PressableProps.js.map +1 -1
  55. package/lib/commonjs/components/Pressable/index.js +1 -3
  56. package/lib/commonjs/components/Pressable/index.js.map +1 -1
  57. package/lib/commonjs/components/Pressable/utils.js +5 -20
  58. package/lib/commonjs/components/Pressable/utils.js.map +1 -1
  59. package/lib/commonjs/components/ReanimatedDrawerLayout.js +38 -76
  60. package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
  61. package/lib/commonjs/components/ReanimatedSwipeable.js +61 -59
  62. package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
  63. package/lib/commonjs/components/Swipeable.js +34 -75
  64. package/lib/commonjs/components/Swipeable.js.map +1 -1
  65. package/lib/commonjs/components/Text.js +18 -26
  66. package/lib/commonjs/components/Text.js.map +1 -1
  67. package/lib/commonjs/components/gestureHandlerRootHOC.js +5 -14
  68. package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
  69. package/lib/commonjs/components/touchables/GenericTouchable.js +40 -76
  70. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
  71. package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +1 -1
  72. package/lib/commonjs/components/touchables/TouchableHighlight.js +20 -33
  73. package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
  74. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +17 -31
  75. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  76. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -4
  77. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
  78. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  79. package/lib/commonjs/components/touchables/TouchableOpacity.js +17 -24
  80. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  81. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +12 -13
  82. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  83. package/lib/commonjs/components/touchables/index.js +7 -12
  84. package/lib/commonjs/components/touchables/index.js.map +1 -1
  85. package/lib/commonjs/findNodeHandle.js +1 -4
  86. package/lib/commonjs/findNodeHandle.js.map +1 -1
  87. package/lib/commonjs/findNodeHandle.web.js +9 -10
  88. package/lib/commonjs/findNodeHandle.web.js.map +1 -1
  89. package/lib/commonjs/getReactNativeVersion.js +1 -6
  90. package/lib/commonjs/getReactNativeVersion.js.map +1 -1
  91. package/lib/commonjs/getReactNativeVersion.web.js +0 -1
  92. package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
  93. package/lib/commonjs/getShadowNodeFromRef.js +13 -14
  94. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  95. package/lib/commonjs/getShadowNodeFromRef.web.js +0 -1
  96. package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
  97. package/lib/commonjs/ghQueueMicrotask.js +1 -2
  98. package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
  99. package/lib/commonjs/handlers/FlingGestureHandler.js +16 -10
  100. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
  101. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +20 -23
  102. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
  103. package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
  104. package/lib/commonjs/handlers/LongPressGestureHandler.js +16 -10
  105. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
  106. package/lib/commonjs/handlers/NativeViewGestureHandler.js +17 -12
  107. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
  108. package/lib/commonjs/handlers/PanGestureHandler.js +20 -31
  109. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
  110. package/lib/commonjs/handlers/PinchGestureHandler.js +14 -8
  111. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
  112. package/lib/commonjs/handlers/PressabilityDebugView.js +0 -1
  113. package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
  114. package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -1
  115. package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
  116. package/lib/commonjs/handlers/RotationGestureHandler.js +14 -8
  117. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
  118. package/lib/commonjs/handlers/TapGestureHandler.js +16 -10
  119. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
  120. package/lib/commonjs/handlers/createHandler.js +55 -135
  121. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  122. package/lib/commonjs/handlers/createNativeWrapper.js +17 -27
  123. package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
  124. package/lib/commonjs/handlers/customDirectEventTypes.js +0 -1
  125. package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
  126. package/lib/commonjs/handlers/customDirectEventTypes.web.js +1 -2
  127. package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
  128. package/lib/commonjs/handlers/gestureHandlerCommon.js +9 -10
  129. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  130. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -1
  131. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +5 -14
  132. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  133. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +10 -20
  134. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  135. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +9 -29
  136. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  137. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +1 -10
  138. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  139. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +12 -37
  140. package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
  141. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -3
  142. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  143. package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +1 -1
  144. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +12 -24
  145. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  146. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -48
  147. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  148. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +3 -13
  149. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  150. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +2 -9
  151. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  152. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +8 -16
  153. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  154. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +28 -56
  155. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
  156. package/lib/commonjs/handlers/gestures/eventReceiver.js +14 -46
  157. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
  158. package/lib/commonjs/handlers/gestures/flingGesture.js +5 -12
  159. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
  160. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +8 -19
  161. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
  162. package/lib/commonjs/handlers/gestures/gesture.js +44 -84
  163. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  164. package/lib/commonjs/handlers/gestures/gestureComposition.js +17 -31
  165. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
  166. package/lib/commonjs/handlers/gestures/gestureObjects.js +1 -27
  167. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
  168. package/lib/commonjs/handlers/gestures/gestureStateManager.js +3 -9
  169. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
  170. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +2 -7
  171. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
  172. package/lib/commonjs/handlers/gestures/hoverGesture.js +11 -25
  173. package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
  174. package/lib/commonjs/handlers/gestures/longPressGesture.js +6 -14
  175. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
  176. package/lib/commonjs/handlers/gestures/manualGesture.js +0 -6
  177. package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
  178. package/lib/commonjs/handlers/gestures/nativeGesture.js +5 -12
  179. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
  180. package/lib/commonjs/handlers/gestures/panGesture.js +18 -43
  181. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
  182. package/lib/commonjs/handlers/gestures/pinchGesture.js +2 -9
  183. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
  184. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +1 -8
  185. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
  186. package/lib/commonjs/handlers/gestures/rotationGesture.js +2 -9
  187. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
  188. package/lib/commonjs/handlers/gestures/tapGesture.js +10 -22
  189. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
  190. package/lib/commonjs/handlers/getNextHandlerTag.js +0 -1
  191. package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
  192. package/lib/commonjs/handlers/handlersRegistry.js +11 -21
  193. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
  194. package/lib/commonjs/handlers/utils.js +6 -26
  195. package/lib/commonjs/handlers/utils.js.map +1 -1
  196. package/lib/commonjs/index.js +75 -104
  197. package/lib/commonjs/index.js.map +1 -1
  198. package/lib/commonjs/init.js +4 -11
  199. package/lib/commonjs/init.js.map +1 -1
  200. package/lib/commonjs/jestUtils/index.js +4 -5
  201. package/lib/commonjs/jestUtils/index.js.map +1 -1
  202. package/lib/commonjs/jestUtils/jestUtils.js +19 -83
  203. package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
  204. package/lib/commonjs/mocks.js +5 -15
  205. package/lib/commonjs/mocks.js.map +1 -1
  206. package/lib/commonjs/mountRegistry.js +3 -12
  207. package/lib/commonjs/mountRegistry.js.map +1 -1
  208. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +1 -5
  209. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
  210. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +2 -7
  211. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  212. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +2 -7
  213. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  214. package/lib/commonjs/typeUtils.js.map +1 -1
  215. package/lib/commonjs/utils.js +15 -30
  216. package/lib/commonjs/utils.js.map +1 -1
  217. package/lib/commonjs/web/Gestures.js +5 -23
  218. package/lib/commonjs/web/Gestures.js.map +1 -1
  219. package/lib/commonjs/web/constants.js +2 -4
  220. package/lib/commonjs/web/constants.js.map +1 -1
  221. package/lib/commonjs/web/detectors/RotationGestureDetector.js +26 -62
  222. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  223. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +36 -65
  224. package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
  225. package/lib/commonjs/web/handlers/FlingGestureHandler.js +12 -55
  226. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  227. package/lib/commonjs/web/handlers/GestureHandler.js +160 -273
  228. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  229. package/lib/commonjs/web/handlers/HoverGestureHandler.js +8 -21
  230. package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
  231. package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -1
  232. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +12 -53
  233. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
  234. package/lib/commonjs/web/handlers/ManualGestureHandler.js +1 -11
  235. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
  236. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +21 -62
  237. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  238. package/lib/commonjs/web/handlers/PanGestureHandler.js +23 -138
  239. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  240. package/lib/commonjs/web/handlers/PinchGestureHandler.js +19 -56
  241. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
  242. package/lib/commonjs/web/handlers/RotationGestureHandler.js +16 -54
  243. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
  244. package/lib/commonjs/web/handlers/TapGestureHandler.js +10 -71
  245. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  246. package/lib/commonjs/web/interfaces.js +9 -17
  247. package/lib/commonjs/web/interfaces.js.map +1 -1
  248. package/lib/commonjs/web/tools/CircularBuffer.js +17 -29
  249. package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
  250. package/lib/commonjs/web/tools/EventManager.js +7 -41
  251. package/lib/commonjs/web/tools/EventManager.js.map +1 -1
  252. package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -1
  253. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +51 -118
  254. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  255. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +37 -58
  256. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  257. package/lib/commonjs/web/tools/InteractionManager.js +21 -40
  258. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  259. package/lib/commonjs/web/tools/KeyboardEventManager.js +4 -26
  260. package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
  261. package/lib/commonjs/web/tools/LeastSquareSolver.js +30 -67
  262. package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
  263. package/lib/commonjs/web/tools/NodeManager.js +9 -16
  264. package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
  265. package/lib/commonjs/web/tools/PointerEventManager.js +10 -45
  266. package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
  267. package/lib/commonjs/web/tools/PointerTracker.js +24 -60
  268. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
  269. package/lib/commonjs/web/tools/Vector.js +3 -18
  270. package/lib/commonjs/web/tools/Vector.js.map +1 -1
  271. package/lib/commonjs/web/tools/VelocityTracker.js +10 -32
  272. package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
  273. package/lib/commonjs/web/tools/WheelEventManager.js +4 -17
  274. package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
  275. package/lib/commonjs/web/utils.js +26 -55
  276. package/lib/commonjs/web/utils.js.map +1 -1
  277. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +7 -19
  278. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
  279. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +3 -13
  280. package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
  281. package/lib/commonjs/web_hammer/Errors.js +0 -3
  282. package/lib/commonjs/web_hammer/Errors.js.map +1 -1
  283. package/lib/commonjs/web_hammer/FlingGestureHandler.js +13 -44
  284. package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
  285. package/lib/commonjs/web_hammer/GestureHandler.js +55 -142
  286. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
  287. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +2 -11
  288. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  289. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +5 -19
  290. package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
  291. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +16 -24
  292. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
  293. package/lib/commonjs/web_hammer/NodeManager.js +9 -16
  294. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
  295. package/lib/commonjs/web_hammer/PanGestureHandler.js +8 -49
  296. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
  297. package/lib/commonjs/web_hammer/PinchGestureHandler.js +2 -11
  298. package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
  299. package/lib/commonjs/web_hammer/PressGestureHandler.js +15 -43
  300. package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
  301. package/lib/commonjs/web_hammer/RotationGestureHandler.js +2 -13
  302. package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
  303. package/lib/commonjs/web_hammer/TapGestureHandler.js +33 -52
  304. package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
  305. package/lib/commonjs/web_hammer/constants.js +13 -26
  306. package/lib/commonjs/web_hammer/constants.js.map +1 -1
  307. package/lib/commonjs/web_hammer/utils.js +4 -14
  308. package/lib/commonjs/web_hammer/utils.js.map +1 -1
  309. package/lib/module/ActionType.js +3 -1
  310. package/lib/module/ActionType.js.map +1 -1
  311. package/lib/module/Directions.js +9 -3
  312. package/lib/module/Directions.js.map +1 -1
  313. package/lib/module/EnableNewWebImplementation.js +2 -5
  314. package/lib/module/EnableNewWebImplementation.js.map +1 -1
  315. package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
  316. package/lib/module/PlatformConstants.js +0 -1
  317. package/lib/module/PlatformConstants.js.map +1 -1
  318. package/lib/module/PlatformConstants.web.js +0 -1
  319. package/lib/module/PlatformConstants.web.js.map +1 -1
  320. package/lib/module/PointerType.js +3 -4
  321. package/lib/module/PointerType.js.map +1 -1
  322. package/lib/module/RNGestureHandlerModule.js +1 -0
  323. package/lib/module/RNGestureHandlerModule.js.map +1 -1
  324. package/lib/module/RNGestureHandlerModule.web.js +12 -22
  325. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  326. package/lib/module/RNGestureHandlerModule.windows.js +18 -17
  327. package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
  328. package/lib/module/RNRenderer.js.map +1 -1
  329. package/lib/module/RNRenderer.web.js.map +1 -1
  330. package/lib/module/State.js +4 -1
  331. package/lib/module/State.js.map +1 -1
  332. package/lib/module/TouchEventType.js +3 -1
  333. package/lib/module/TouchEventType.js.map +1 -1
  334. package/lib/module/components/DrawerLayout.js +87 -99
  335. package/lib/module/components/DrawerLayout.js.map +1 -1
  336. package/lib/module/components/GestureButtons.js +27 -55
  337. package/lib/module/components/GestureButtons.js.map +1 -1
  338. package/lib/module/components/GestureButtonsProps.js.map +1 -1
  339. package/lib/module/components/GestureComponents.js +17 -12
  340. package/lib/module/components/GestureComponents.js.map +1 -1
  341. package/lib/module/components/GestureComponents.web.js +4 -4
  342. package/lib/module/components/GestureComponents.web.js.map +1 -1
  343. package/lib/module/components/GestureHandlerButton.js.map +1 -1
  344. package/lib/module/components/GestureHandlerButton.web.js +1 -2
  345. package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
  346. package/lib/module/components/GestureHandlerRootView.android.js +1 -2
  347. package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
  348. package/lib/module/components/GestureHandlerRootView.js +1 -2
  349. package/lib/module/components/GestureHandlerRootView.js.map +1 -1
  350. package/lib/module/components/GestureHandlerRootView.web.js +1 -2
  351. package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
  352. package/lib/module/components/Pressable/Pressable.js +44 -61
  353. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  354. package/lib/module/components/Pressable/PressableProps.js.map +1 -1
  355. package/lib/module/components/Pressable/index.js.map +1 -1
  356. package/lib/module/components/Pressable/utils.js +4 -14
  357. package/lib/module/components/Pressable/utils.js.map +1 -1
  358. package/lib/module/components/ReanimatedDrawerLayout.js +34 -56
  359. package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
  360. package/lib/module/components/ReanimatedSwipeable.js +57 -44
  361. package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
  362. package/lib/module/components/Swipeable.js +28 -59
  363. package/lib/module/components/Swipeable.js.map +1 -1
  364. package/lib/module/components/Text.js +14 -13
  365. package/lib/module/components/Text.js.map +1 -1
  366. package/lib/module/components/gestureHandlerRootHOC.js +2 -2
  367. package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
  368. package/lib/module/components/touchables/GenericTouchable.js +34 -63
  369. package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
  370. package/lib/module/components/touchables/GenericTouchableProps.js.map +1 -1
  371. package/lib/module/components/touchables/TouchableHighlight.js +16 -23
  372. package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
  373. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +11 -19
  374. package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  375. package/lib/module/components/touchables/TouchableNativeFeedback.js +6 -1
  376. package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
  377. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  378. package/lib/module/components/touchables/TouchableOpacity.js +13 -14
  379. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  380. package/lib/module/components/touchables/TouchableWithoutFeedback.js +9 -2
  381. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  382. package/lib/module/components/touchables/index.js.map +1 -1
  383. package/lib/module/findNodeHandle.js.map +1 -1
  384. package/lib/module/findNodeHandle.web.js +9 -8
  385. package/lib/module/findNodeHandle.web.js.map +1 -1
  386. package/lib/module/getReactNativeVersion.js.map +1 -1
  387. package/lib/module/getReactNativeVersion.web.js.map +1 -1
  388. package/lib/module/getShadowNodeFromRef.js +13 -13
  389. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  390. package/lib/module/getShadowNodeFromRef.web.js.map +1 -1
  391. package/lib/module/ghQueueMicrotask.js.map +1 -1
  392. package/lib/module/handlers/FlingGestureHandler.js +13 -0
  393. package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
  394. package/lib/module/handlers/ForceTouchGestureHandler.js +16 -8
  395. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
  396. package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
  397. package/lib/module/handlers/LongPressGestureHandler.js +13 -0
  398. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
  399. package/lib/module/handlers/NativeViewGestureHandler.js +13 -0
  400. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
  401. package/lib/module/handlers/PanGestureHandler.js +15 -19
  402. package/lib/module/handlers/PanGestureHandler.js.map +1 -1
  403. package/lib/module/handlers/PinchGestureHandler.js +13 -0
  404. package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
  405. package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
  406. package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -1
  407. package/lib/module/handlers/RotationGestureHandler.js +13 -0
  408. package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
  409. package/lib/module/handlers/TapGestureHandler.js +13 -0
  410. package/lib/module/handlers/TapGestureHandler.js.map +1 -1
  411. package/lib/module/handlers/createHandler.js +54 -108
  412. package/lib/module/handlers/createHandler.js.map +1 -1
  413. package/lib/module/handlers/createNativeWrapper.js +12 -17
  414. package/lib/module/handlers/createNativeWrapper.js.map +1 -1
  415. package/lib/module/handlers/customDirectEventTypes.js.map +1 -1
  416. package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -1
  417. package/lib/module/handlers/gestureHandlerCommon.js +9 -4
  418. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  419. package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -1
  420. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +3 -4
  421. package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  422. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +5 -6
  423. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  424. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +8 -16
  425. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  426. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -1
  427. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  428. package/lib/module/handlers/gestures/GestureDetector/index.js +9 -15
  429. package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
  430. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -2
  431. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  432. package/lib/module/handlers/gestures/GestureDetector/types.js.map +1 -1
  433. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +11 -14
  434. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  435. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -39
  436. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  437. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +5 -5
  438. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  439. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +2 -6
  440. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  441. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -9
  442. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  443. package/lib/module/handlers/gestures/GestureDetector/utils.js +25 -30
  444. package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
  445. package/lib/module/handlers/gestures/eventReceiver.js +14 -38
  446. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
  447. package/lib/module/handlers/gestures/flingGesture.js +5 -9
  448. package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
  449. package/lib/module/handlers/gestures/forceTouchGesture.js +8 -17
  450. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
  451. package/lib/module/handlers/gestures/gesture.js +44 -73
  452. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  453. package/lib/module/handlers/gestures/gestureComposition.js +16 -24
  454. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
  455. package/lib/module/handlers/gestures/gestureObjects.js +1 -14
  456. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
  457. package/lib/module/handlers/gestures/gestureStateManager.js +3 -4
  458. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
  459. package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -1
  460. package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
  461. package/lib/module/handlers/gestures/hoverGesture.js +9 -18
  462. package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
  463. package/lib/module/handlers/gestures/longPressGesture.js +6 -11
  464. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
  465. package/lib/module/handlers/gestures/manualGesture.js +0 -4
  466. package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
  467. package/lib/module/handlers/gestures/nativeGesture.js +5 -9
  468. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
  469. package/lib/module/handlers/gestures/panGesture.js +18 -41
  470. package/lib/module/handlers/gestures/panGesture.js.map +1 -1
  471. package/lib/module/handlers/gestures/pinchGesture.js +2 -7
  472. package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
  473. package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -5
  474. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
  475. package/lib/module/handlers/gestures/rotationGesture.js +2 -7
  476. package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
  477. package/lib/module/handlers/gestures/tapGesture.js +10 -19
  478. package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
  479. package/lib/module/handlers/getNextHandlerTag.js.map +1 -1
  480. package/lib/module/handlers/handlersRegistry.js +6 -8
  481. package/lib/module/handlers/handlersRegistry.js.map +1 -1
  482. package/lib/module/handlers/utils.js +4 -13
  483. package/lib/module/handlers/utils.js.map +1 -1
  484. package/lib/module/index.js.map +1 -1
  485. package/lib/module/init.js +3 -2
  486. package/lib/module/init.js.map +1 -1
  487. package/lib/module/jestUtils/index.js.map +1 -1
  488. package/lib/module/jestUtils/jestUtils.js +20 -66
  489. package/lib/module/jestUtils/jestUtils.js.map +1 -1
  490. package/lib/module/mocks.js +3 -7
  491. package/lib/module/mocks.js.map +1 -1
  492. package/lib/module/mountRegistry.js +3 -10
  493. package/lib/module/mountRegistry.js.map +1 -1
  494. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
  495. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  496. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  497. package/lib/module/typeUtils.js.map +1 -1
  498. package/lib/module/utils.js +8 -13
  499. package/lib/module/utils.js.map +1 -1
  500. package/lib/module/web/Gestures.js +2 -1
  501. package/lib/module/web/Gestures.js.map +1 -1
  502. package/lib/module/web/constants.js.map +1 -1
  503. package/lib/module/web/detectors/RotationGestureDetector.js +26 -59
  504. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  505. package/lib/module/web/detectors/ScaleGestureDetector.js +36 -61
  506. package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
  507. package/lib/module/web/handlers/FlingGestureHandler.js +11 -45
  508. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  509. package/lib/module/web/handlers/GestureHandler.js +159 -259
  510. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  511. package/lib/module/web/handlers/HoverGestureHandler.js +7 -13
  512. package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
  513. package/lib/module/web/handlers/IGestureHandler.js.map +1 -1
  514. package/lib/module/web/handlers/LongPressGestureHandler.js +11 -46
  515. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
  516. package/lib/module/web/handlers/ManualGestureHandler.js +0 -6
  517. package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
  518. package/lib/module/web/handlers/NativeViewGestureHandler.js +20 -54
  519. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  520. package/lib/module/web/handlers/PanGestureHandler.js +22 -129
  521. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  522. package/lib/module/web/handlers/PinchGestureHandler.js +18 -48
  523. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
  524. package/lib/module/web/handlers/RotationGestureHandler.js +15 -46
  525. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
  526. package/lib/module/web/handlers/TapGestureHandler.js +9 -63
  527. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  528. package/lib/module/web/interfaces.js +9 -14
  529. package/lib/module/web/interfaces.js.map +1 -1
  530. package/lib/module/web/tools/CircularBuffer.js +17 -27
  531. package/lib/module/web/tools/CircularBuffer.js.map +1 -1
  532. package/lib/module/web/tools/EventManager.js +7 -39
  533. package/lib/module/web/tools/EventManager.js.map +1 -1
  534. package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -1
  535. package/lib/module/web/tools/GestureHandlerOrchestrator.js +50 -111
  536. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  537. package/lib/module/web/tools/GestureHandlerWebDelegate.js +36 -47
  538. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  539. package/lib/module/web/tools/InteractionManager.js +21 -35
  540. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  541. package/lib/module/web/tools/KeyboardEventManager.js +3 -19
  542. package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
  543. package/lib/module/web/tools/LeastSquareSolver.js +30 -65
  544. package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
  545. package/lib/module/web/tools/NodeManager.js +9 -14
  546. package/lib/module/web/tools/NodeManager.js.map +1 -1
  547. package/lib/module/web/tools/PointerEventManager.js +9 -35
  548. package/lib/module/web/tools/PointerEventManager.js.map +1 -1
  549. package/lib/module/web/tools/PointerTracker.js +23 -54
  550. package/lib/module/web/tools/PointerTracker.js.map +1 -1
  551. package/lib/module/web/tools/Vector.js +3 -14
  552. package/lib/module/web/tools/Vector.js.map +1 -1
  553. package/lib/module/web/tools/VelocityTracker.js +9 -26
  554. package/lib/module/web/tools/VelocityTracker.js.map +1 -1
  555. package/lib/module/web/tools/WheelEventManager.js +3 -10
  556. package/lib/module/web/tools/WheelEventManager.js.map +1 -1
  557. package/lib/module/web/utils.js +21 -40
  558. package/lib/module/web/utils.js.map +1 -1
  559. package/lib/module/web_hammer/DiscreteGestureHandler.js +4 -13
  560. package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
  561. package/lib/module/web_hammer/DraggingGestureHandler.js +0 -5
  562. package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
  563. package/lib/module/web_hammer/Errors.js +0 -1
  564. package/lib/module/web_hammer/Errors.js.map +1 -1
  565. package/lib/module/web_hammer/FlingGestureHandler.js +10 -35
  566. package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
  567. package/lib/module/web_hammer/GestureHandler.js +53 -130
  568. package/lib/module/web_hammer/GestureHandler.js.map +1 -1
  569. package/lib/module/web_hammer/IndiscreteGestureHandler.js +1 -6
  570. package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  571. package/lib/module/web_hammer/LongPressGestureHandler.js +2 -11
  572. package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -1
  573. package/lib/module/web_hammer/NativeViewGestureHandler.js +12 -12
  574. package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -1
  575. package/lib/module/web_hammer/NodeManager.js +6 -8
  576. package/lib/module/web_hammer/NodeManager.js.map +1 -1
  577. package/lib/module/web_hammer/PanGestureHandler.js +6 -40
  578. package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
  579. package/lib/module/web_hammer/PinchGestureHandler.js +0 -5
  580. package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
  581. package/lib/module/web_hammer/PressGestureHandler.js +13 -34
  582. package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
  583. package/lib/module/web_hammer/RotationGestureHandler.js +0 -6
  584. package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
  585. package/lib/module/web_hammer/TapGestureHandler.js +31 -45
  586. package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
  587. package/lib/module/web_hammer/constants.js +2 -1
  588. package/lib/module/web_hammer/constants.js.map +1 -1
  589. package/lib/module/web_hammer/utils.js +2 -2
  590. package/lib/module/web_hammer/utils.js.map +1 -1
  591. package/lib/typescript/components/DrawerLayout.d.ts +27 -0
  592. package/lib/typescript/components/GestureButtonsProps.d.ts +18 -2
  593. package/lib/typescript/components/Pressable/PressableProps.d.ts +3 -10
  594. package/lib/typescript/components/Pressable/index.d.ts +1 -1
  595. package/lib/typescript/components/ReanimatedSwipeable.d.ts +6 -0
  596. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +5 -0
  597. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +2 -0
  598. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +5 -1
  599. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -0
  600. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +5 -0
  601. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +6 -0
  602. package/lib/typescript/handlers/FlingGestureHandler.d.ts +9 -0
  603. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +9 -0
  604. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +9 -0
  605. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +9 -0
  606. package/lib/typescript/handlers/PanGestureHandler.d.ts +9 -0
  607. package/lib/typescript/handlers/PinchGestureHandler.d.ts +9 -0
  608. package/lib/typescript/handlers/RotationGestureHandler.d.ts +9 -0
  609. package/lib/typescript/handlers/TapGestureHandler.d.ts +9 -0
  610. package/lib/typescript/handlers/handlersRegistry.d.ts +1 -0
  611. package/lib/typescript/index.d.ts +1 -1
  612. package/lib/typescript/utils.d.ts +1 -1
  613. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +7 -7
  614. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +8 -8
  615. package/lib/typescript/web/handlers/GestureHandler.d.ts +33 -28
  616. package/lib/typescript/web/handlers/IGestureHandler.d.ts +12 -13
  617. package/lib/typescript/web/tools/CircularBuffer.d.ts +3 -3
  618. package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +1 -1
  619. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +2 -2
  620. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +3 -2
  621. package/lib/typescript/web/tools/InteractionManager.d.ts +2 -2
  622. package/lib/typescript/web/tools/NodeManager.d.ts +1 -1
  623. package/lib/typescript/web/tools/PointerTracker.d.ts +4 -4
  624. package/lib/typescript/web/tools/VelocityTracker.d.ts +1 -1
  625. package/package.json +2 -2
  626. package/src/RNGestureHandlerModule.web.ts +2 -2
  627. package/src/components/DrawerLayout.tsx +29 -0
  628. package/src/components/GestureButtons.tsx +13 -2
  629. package/src/components/GestureButtonsProps.ts +31 -2
  630. package/src/components/Pressable/Pressable.tsx +22 -5
  631. package/src/components/Pressable/PressableProps.tsx +4 -11
  632. package/src/components/Pressable/index.ts +4 -1
  633. package/src/components/ReanimatedSwipeable.tsx +97 -66
  634. package/src/components/Text.tsx +13 -4
  635. package/src/components/touchables/TouchableHighlight.tsx +5 -0
  636. package/src/components/touchables/TouchableNativeFeedback.android.tsx +2 -0
  637. package/src/components/touchables/TouchableNativeFeedback.tsx +6 -1
  638. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -0
  639. package/src/components/touchables/TouchableOpacity.tsx +5 -0
  640. package/src/components/touchables/TouchableWithoutFeedback.tsx +6 -0
  641. package/src/findNodeHandle.web.ts +6 -0
  642. package/src/handlers/FlingGestureHandler.ts +10 -0
  643. package/src/handlers/ForceTouchGestureHandler.ts +9 -0
  644. package/src/handlers/LongPressGestureHandler.ts +10 -0
  645. package/src/handlers/NativeViewGestureHandler.ts +10 -0
  646. package/src/handlers/PanGestureHandler.ts +10 -0
  647. package/src/handlers/PinchGestureHandler.ts +10 -0
  648. package/src/handlers/RotationGestureHandler.ts +10 -0
  649. package/src/handlers/TapGestureHandler.ts +10 -0
  650. package/src/handlers/createHandler.tsx +11 -4
  651. package/src/handlers/gestures/GestureDetector/index.tsx +2 -2
  652. package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +3 -3
  653. package/src/handlers/gestures/GestureDetector/utils.ts +2 -2
  654. package/src/handlers/handlersRegistry.ts +7 -3
  655. package/src/index.ts +4 -1
  656. package/src/utils.ts +2 -2
  657. package/src/web/detectors/RotationGestureDetector.ts +22 -22
  658. package/src/web/detectors/ScaleGestureDetector.ts +24 -24
  659. package/src/web/handlers/FlingGestureHandler.ts +6 -7
  660. package/src/web/handlers/GestureHandler.ts +115 -105
  661. package/src/web/handlers/HoverGestureHandler.ts +2 -2
  662. package/src/web/handlers/IGestureHandler.ts +12 -13
  663. package/src/web/handlers/LongPressGestureHandler.ts +7 -7
  664. package/src/web/handlers/NativeViewGestureHandler.ts +14 -19
  665. package/src/web/handlers/PanGestureHandler.ts +17 -17
  666. package/src/web/handlers/PinchGestureHandler.ts +17 -21
  667. package/src/web/handlers/RotationGestureHandler.ts +12 -12
  668. package/src/web/handlers/TapGestureHandler.ts +4 -6
  669. package/src/web/tools/CircularBuffer.ts +15 -15
  670. package/src/web/tools/GestureHandlerDelegate.ts +1 -1
  671. package/src/web/tools/GestureHandlerOrchestrator.ts +42 -42
  672. package/src/web/tools/GestureHandlerWebDelegate.ts +32 -13
  673. package/src/web/tools/InteractionManager.ts +16 -16
  674. package/src/web/tools/NodeManager.ts +2 -2
  675. package/src/web/tools/PointerTracker.ts +20 -20
  676. package/src/web/tools/Vector.ts +1 -1
  677. package/src/web/tools/VelocityTracker.ts +1 -1
@@ -6,7 +6,7 @@ export interface MeasureResult {
6
6
  height: number;
7
7
  }
8
8
  export interface GestureHandlerDelegate<TComponent, THandler> {
9
- getView(): TComponent;
9
+ view: TComponent;
10
10
  init(viewRef: number, handler: THandler): void;
11
11
  isPointerInBounds({ x, y }: {
12
12
  x: number;
@@ -1,7 +1,7 @@
1
1
  import { State } from '../../State';
2
2
  import type IGestureHandler from '../handlers/IGestureHandler';
3
3
  export default class GestureHandlerOrchestrator {
4
- private static instance;
4
+ private static _instance;
5
5
  private gestureHandlers;
6
6
  private awaitingHandlers;
7
7
  private awaitingHandlersTags;
@@ -27,5 +27,5 @@ export default class GestureHandlerOrchestrator {
27
27
  private checkOverlap;
28
28
  private isFinished;
29
29
  cancelMouseAndPenGestures(currentHandler: IGestureHandler): void;
30
- static getInstance(): GestureHandlerOrchestrator;
30
+ static get instance(): GestureHandlerOrchestrator;
31
31
  }
@@ -3,11 +3,10 @@ import { GestureHandlerDelegate, MeasureResult } from './GestureHandlerDelegate'
3
3
  import { Config } from '../interfaces';
4
4
  export declare class GestureHandlerWebDelegate implements GestureHandlerDelegate<HTMLElement, IGestureHandler> {
5
5
  private isInitialized;
6
- private view;
6
+ private _view;
7
7
  private gestureHandler;
8
8
  private eventManagers;
9
9
  private defaultViewStyles;
10
- getView(): HTMLElement;
11
10
  init(viewRef: number, handler: IGestureHandler): void;
12
11
  isPointerInBounds({ x, y }: {
13
12
  x: number;
@@ -31,4 +30,6 @@ export declare class GestureHandlerWebDelegate implements GestureHandlerDelegate
31
30
  onCancel(): void;
32
31
  onFail(): void;
33
32
  destroy(config: Config): void;
33
+ get view(): HTMLElement;
34
+ set view(value: HTMLElement);
34
35
  }
@@ -1,7 +1,7 @@
1
1
  import type IGestureHandler from '../handlers/IGestureHandler';
2
2
  import { Config } from '../interfaces';
3
3
  export default class InteractionManager {
4
- private static instance;
4
+ private static _instance;
5
5
  private readonly waitForRelations;
6
6
  private readonly simultaneousRelations;
7
7
  private readonly blocksHandlersRelations;
@@ -13,5 +13,5 @@ export default class InteractionManager {
13
13
  shouldHandlerBeCancelledBy(_handler: IGestureHandler, otherHandler: IGestureHandler): boolean;
14
14
  dropRelationsForHandlerWithTag(handlerTag: number): void;
15
15
  reset(): void;
16
- static getInstance(): InteractionManager;
16
+ static get instance(): InteractionManager;
17
17
  }
@@ -6,7 +6,7 @@ export default abstract class NodeManager {
6
6
  static getHandler(tag: number): IGestureHandler;
7
7
  static createGestureHandler(handlerTag: number, handler: InstanceType<ValueOf<typeof Gestures>>): void;
8
8
  static dropGestureHandler(handlerTag: number): void;
9
- static getNodes(): {
9
+ static get nodes(): {
10
10
  [x: number]: import("../handlers/PanGestureHandler").default | import("../handlers/TapGestureHandler").default | import("../handlers/LongPressGestureHandler").default | import("../handlers/PinchGestureHandler").default | import("../handlers/RotationGestureHandler").default | import("../handlers/FlingGestureHandler").default | import("../handlers/NativeViewGestureHandler").default | import("../handlers/ManualGestureHandler").default | import("../handlers/HoverGestureHandler").default;
11
11
  };
12
12
  }
@@ -8,7 +8,7 @@ export interface TrackerElement {
8
8
  }
9
9
  export default class PointerTracker {
10
10
  private velocityTracker;
11
- private trackedPointers;
11
+ private readonly _trackedPointers;
12
12
  private touchEventsIds;
13
13
  private lastMovedPointerId;
14
14
  private cachedAbsoluteAverages;
@@ -42,9 +42,9 @@ export default class PointerTracker {
42
42
  x: number;
43
43
  y: number;
44
44
  };
45
- getTrackedPointersCount(): number;
46
- getTrackedPointersID(): number[];
47
- getData(): Map<number, TrackerElement>;
48
45
  resetTracker(): void;
49
46
  static shareCommonPointers(stPointers: number[], ndPointers: number[]): boolean;
47
+ get trackedPointersCount(): number;
48
+ get trackedPointersIDs(): number[];
49
+ get trackedPointers(): Map<number, TrackerElement>;
50
50
  }
@@ -8,6 +8,6 @@ export default class VelocityTracker {
8
8
  constructor();
9
9
  add(event: AdaptedEvent): void;
10
10
  private getVelocityEstimate;
11
- getVelocity(): [number, number];
11
+ get velocity(): [number, number];
12
12
  reset(): void;
13
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-gesture-handler",
3
- "version": "2.22.1",
3
+ "version": "2.23.0",
4
4
  "description": "Declarative API exposing native platform touch and gesture system to React Native",
5
5
  "scripts": {
6
6
  "prepare": "bob build && husky install",
@@ -99,7 +99,7 @@
99
99
  "react": "18.3.1",
100
100
  "react-native": "0.77.0-rc.3",
101
101
  "react-native-builder-bob": "^0.17.1",
102
- "react-native-reanimated": "^3.12.0",
102
+ "react-native-reanimated": "^3.16.3",
103
103
  "react-test-renderer": "18.2.0",
104
104
  "release-it": "^13.6.5",
105
105
  "typescript": "5.0.4"
@@ -40,7 +40,7 @@ export default {
40
40
  handlerTag,
41
41
  new GestureClass(new GestureHandlerWebDelegate())
42
42
  );
43
- InteractionManager.getInstance().configureInteractions(
43
+ InteractionManager.instance.configureInteractions(
44
44
  NodeManager.getHandler(handlerTag),
45
45
  config as unknown as Config
46
46
  );
@@ -93,7 +93,7 @@ export default {
93
93
  if (isNewWebImplementationEnabled()) {
94
94
  NodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);
95
95
 
96
- InteractionManager.getInstance().configureInteractions(
96
+ InteractionManager.instance.configureInteractions(
97
97
  NodeManager.getHandler(handlerTag),
98
98
  newConfig
99
99
  );
@@ -44,20 +44,39 @@ const IDLE: DrawerState = 'Idle';
44
44
  const DRAGGING: DrawerState = 'Dragging';
45
45
  const SETTLING: DrawerState = 'Settling';
46
46
 
47
+ /**
48
+ * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
49
+ */
47
50
  export type DrawerPosition = 'left' | 'right';
48
51
 
52
+ /**
53
+ * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
54
+ */
49
55
  export type DrawerState = 'Idle' | 'Dragging' | 'Settling';
50
56
 
57
+ /**
58
+ * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
59
+ */
51
60
  export type DrawerType = 'front' | 'back' | 'slide';
52
61
 
62
+ /**
63
+ * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
64
+ */
53
65
  export type DrawerLockMode = 'unlocked' | 'locked-closed' | 'locked-open';
54
66
 
67
+ /**
68
+ * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
69
+ */
55
70
  export type DrawerKeyboardDismissMode = 'none' | 'on-drag';
56
71
 
57
72
  // Animated.AnimatedInterpolation has been converted to a generic type
58
73
  // in @types/react-native 0.70. This way we can maintain compatibility
59
74
  // with all versions of @types/react-native`
60
75
  type AnimatedInterpolation = ReturnType<Animated.Value['interpolate']>;
76
+
77
+ /**
78
+ * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
79
+ */
61
80
  export interface DrawerLayoutProps {
62
81
  /**
63
82
  * This attribute is present in the standard implementation already and is one
@@ -186,6 +205,9 @@ export interface DrawerLayoutProps {
186
205
  enableContextMenu?: boolean;
187
206
  }
188
207
 
208
+ /**
209
+ * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
210
+ */
189
211
  export type DrawerLayoutState = {
190
212
  dragX: Animated.Value;
191
213
  touchX: Animated.Value;
@@ -195,10 +217,17 @@ export type DrawerLayoutState = {
195
217
  drawerOpened: boolean;
196
218
  };
197
219
 
220
+ /**
221
+ * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
222
+ */
198
223
  export type DrawerMovementOption = {
199
224
  velocity?: number;
200
225
  speed?: number;
201
226
  };
227
+
228
+ /**
229
+ * @deprecated use Reanimated version of DrawerLayout instead
230
+ */
202
231
  export default class DrawerLayout extends Component<
203
232
  DrawerLayoutProps,
204
233
  DrawerLayoutState
@@ -18,12 +18,15 @@ import type {
18
18
  BorderlessButtonWithRefProps,
19
19
  BorderlessButtonProps,
20
20
  } from './GestureButtonsProps';
21
+ import { isFabric } from '../utils';
21
22
 
22
23
  export const RawButton = createNativeWrapper(GestureHandlerButton, {
23
24
  shouldCancelWhenOutside: false,
24
25
  shouldActivateOnStart: false,
25
26
  });
26
27
 
28
+ let IS_FABRIC: null | boolean = null;
29
+
27
30
  class InnerBaseButton extends React.Component<BaseButtonWithRefProps> {
28
31
  static defaultProps = {
29
32
  delayLongPress: 600,
@@ -120,12 +123,20 @@ class InnerBaseButton extends React.Component<BaseButtonWithRefProps> {
120
123
  };
121
124
 
122
125
  render() {
123
- const { rippleColor, style, ...rest } = this.props;
126
+ const { rippleColor: unprocessedRippleColor, style, ...rest } = this.props;
127
+
128
+ if (IS_FABRIC === null) {
129
+ IS_FABRIC = isFabric();
130
+ }
131
+
132
+ const rippleColor = IS_FABRIC
133
+ ? unprocessedRippleColor
134
+ : processColor(unprocessedRippleColor ?? undefined);
124
135
 
125
136
  return (
126
137
  <RawButton
127
138
  ref={this.props.innerRef}
128
- rippleColor={processColor(rippleColor)}
139
+ rippleColor={rippleColor}
129
140
  style={[style, Platform.OS === 'ios' && { cursor: undefined }]}
130
141
  {...rest}
131
142
  onGestureEvent={this.onGestureEvent}
@@ -1,5 +1,10 @@
1
1
  import * as React from 'react';
2
- import { AccessibilityProps, StyleProp, ViewStyle } from 'react-native';
2
+ import {
3
+ AccessibilityProps,
4
+ ColorValue,
5
+ StyleProp,
6
+ ViewStyle,
7
+ } from 'react-native';
3
8
  import type { NativeViewGestureHandlerProps } from '../handlers/NativeViewGestureHandler';
4
9
 
5
10
  export interface RawButtonProps
@@ -16,7 +21,7 @@ export interface RawButtonProps
16
21
  *
17
22
  * Defines color of native ripple animation used since API level 21.
18
23
  */
19
- rippleColor?: any; // it was present in BaseButtonProps before but is used here in code
24
+ rippleColor?: number | ColorValue | null;
20
25
 
21
26
  /**
22
27
  * Android only.
@@ -50,6 +55,30 @@ export interface RawButtonProps
50
55
  * Style object, use it to set additional styles.
51
56
  */
52
57
  style?: StyleProp<ViewStyle>;
58
+
59
+ /**
60
+ * Used for testing-library compatibility, not passed to the native component.
61
+ */
62
+ // eslint-disable-next-line @typescript-eslint/ban-types
63
+ testOnly_onPress?: Function | null;
64
+
65
+ /**
66
+ * Used for testing-library compatibility, not passed to the native component.
67
+ */
68
+ // eslint-disable-next-line @typescript-eslint/ban-types
69
+ testOnly_onPressIn?: Function | null;
70
+
71
+ /**
72
+ * Used for testing-library compatibility, not passed to the native component.
73
+ */
74
+ // eslint-disable-next-line @typescript-eslint/ban-types
75
+ testOnly_onPressOut?: Function | null;
76
+
77
+ /**
78
+ * Used for testing-library compatibility, not passed to the native component.
79
+ */
80
+ // eslint-disable-next-line @typescript-eslint/ban-types
81
+ testOnly_onLongPress?: Function | null;
53
82
  }
54
83
  interface ButtonWithRefProps {
55
84
  innerRef?: React.ForwardedRef<React.ComponentType<any>>;
@@ -20,9 +20,12 @@ import {
20
20
  } from './utils';
21
21
  import { PressabilityDebugView } from '../../handlers/PressabilityDebugView';
22
22
  import { GestureTouchEvent } from '../../handlers/gestureHandlerCommon';
23
- import { INT32_MAX } from '../../utils';
23
+ import { INT32_MAX, isFabric, isTestEnv } from '../../utils';
24
24
 
25
25
  const DEFAULT_LONG_PRESS_DURATION = 500;
26
+ const IS_TEST_ENV = isTestEnv();
27
+
28
+ let IS_FABRIC: null | boolean = null;
26
29
 
27
30
  export default function Pressable(props: PressableProps) {
28
31
  const {
@@ -366,8 +369,6 @@ export default function Pressable(props: PressableProps) {
366
369
 
367
370
  const gesture = Gesture.Simultaneous(...gestures);
368
371
 
369
- const defaultRippleColor = android_ripple ? undefined : 'transparent';
370
-
371
372
  // `cursor: 'pointer'` on `RNButton` crashes iOS
372
373
  const pointerStyle: StyleProp<ViewStyle> =
373
374
  Platform.OS === 'web' ? { cursor: 'pointer' } : {};
@@ -380,6 +381,18 @@ export default function Pressable(props: PressableProps) {
380
381
  ? children({ pressed: pressedState })
381
382
  : children;
382
383
 
384
+ const rippleColor = useMemo(() => {
385
+ if (IS_FABRIC === null) {
386
+ IS_FABRIC = isFabric();
387
+ }
388
+
389
+ const defaultRippleColor = android_ripple ? undefined : 'transparent';
390
+ const unprocessedRippleColor = android_ripple?.color ?? defaultRippleColor;
391
+ return IS_FABRIC
392
+ ? unprocessedRippleColor
393
+ : processColor(unprocessedRippleColor);
394
+ }, [android_ripple]);
395
+
383
396
  return (
384
397
  <GestureDetector gesture={gesture}>
385
398
  <NativeButton
@@ -388,9 +401,13 @@ export default function Pressable(props: PressableProps) {
388
401
  hitSlop={appliedHitSlop}
389
402
  enabled={isPressableEnabled}
390
403
  touchSoundDisabled={android_disableSound ?? undefined}
391
- rippleColor={processColor(android_ripple?.color ?? defaultRippleColor)}
404
+ rippleColor={rippleColor}
392
405
  rippleRadius={android_ripple?.radius ?? undefined}
393
- style={[pointerStyle, styleProp]}>
406
+ style={[pointerStyle, styleProp]}
407
+ testOnly_onPress={IS_TEST_ENV ? onPress : undefined}
408
+ testOnly_onPressIn={IS_TEST_ENV ? onPressIn : undefined}
409
+ testOnly_onPressOut={IS_TEST_ENV ? onPressOut : undefined}
410
+ testOnly_onLongPress={IS_TEST_ENV ? onLongPress : undefined}>
394
411
  {childrenProp}
395
412
  {__DEV__ ? (
396
413
  <PressabilityDebugView color="red" hitSlop={normalizedHitSlop} />
@@ -1,22 +1,15 @@
1
1
  import {
2
- ColorValue,
3
2
  AccessibilityProps,
4
3
  ViewProps,
5
4
  Insets,
6
5
  StyleProp,
7
6
  ViewStyle,
7
+ PressableStateCallbackType as RNPressableStateCallbackType,
8
+ PressableAndroidRippleConfig as RNPressableAndroidRippleConfig,
8
9
  } from 'react-native';
9
10
 
10
- export interface PressableStateCallbackType {
11
- readonly pressed: boolean;
12
- }
13
-
14
- export interface PressableAndroidRippleConfig {
15
- color?: null | ColorValue | undefined;
16
- borderless?: null | boolean | undefined;
17
- radius?: null | number | undefined;
18
- foreground?: null | boolean | undefined;
19
- }
11
+ export type PressableStateCallbackType = RNPressableStateCallbackType;
12
+ export type PressableAndroidRippleConfig = RNPressableAndroidRippleConfig;
20
13
 
21
14
  export type InnerPressableEvent = {
22
15
  changedTouches: InnerPressableEvent[];
@@ -1,2 +1,5 @@
1
- export type { PressableProps } from './PressableProps';
1
+ export type {
2
+ PressableProps,
3
+ PressableStateCallbackType,
4
+ } from './PressableProps';
2
5
  export { default } from './Pressable';
@@ -9,6 +9,7 @@ import React, {
9
9
  useImperativeHandle,
10
10
  useMemo,
11
11
  } from 'react';
12
+ import { GestureRef } from '../handlers/gestures/gesture';
12
13
  import { GestureObjects as Gesture } from '../handlers/gestures/gestureObjects';
13
14
  import { GestureDetector } from '../handlers/gestures/GestureDetector';
14
15
  import {
@@ -202,6 +203,14 @@ export interface SwipeableProps
202
203
  * apply `flex: 1`
203
204
  */
204
205
  childrenContainerStyle?: StyleProp<ViewStyle>;
206
+
207
+ /**
208
+ * A gesture object or an array of gesture objects containing the configuration and callbacks to be
209
+ * used with the swipeable's gesture handler.
210
+ */
211
+ simultaneousWithExternalGesture?:
212
+ | Exclude<GestureRef, number>
213
+ | Exclude<GestureRef, number>[];
205
214
  }
206
215
 
207
216
  export interface SwipeableMethods {
@@ -247,6 +256,7 @@ const Swipeable = forwardRef<SwipeableMethods, SwipeableProps>(
247
256
  onSwipeableClose,
248
257
  renderLeftActions,
249
258
  renderRightActions,
259
+ simultaneousWithExternalGesture,
250
260
  ...remainingProps
251
261
  } = props;
252
262
 
@@ -456,7 +466,7 @@ const Swipeable = forwardRef<SwipeableMethods, SwipeableProps>(
456
466
  rightLayoutRef,
457
467
  leftWidth,
458
468
  rightWidth,
459
- rowWidth.value,
469
+ rowWidth,
460
470
  ]);
461
471
 
462
472
  const swipeableMethods = useMemo<SwipeableMethods>(
@@ -635,73 +645,94 @@ const Swipeable = forwardRef<SwipeableMethods, SwipeableProps>(
635
645
 
636
646
  const dragStarted = useSharedValue<boolean>(false);
637
647
 
638
- const tapGesture = useMemo(
639
- () =>
640
- Gesture.Tap()
641
- .shouldCancelWhenOutside(true)
642
- .onStart(() => {
643
- if (rowState.value !== 0) {
644
- close();
645
- }
646
- }),
647
- [close, rowState]
648
- );
649
-
650
- const panGesture = useMemo(
651
- () =>
652
- Gesture.Pan()
653
- .enabled(enabled !== false)
654
- .enableTrackpadTwoFingerGesture(enableTrackpadTwoFingerGesture)
655
- .activeOffsetX([-dragOffsetFromRightEdge, dragOffsetFromLeftEdge])
656
- .onStart(updateElementWidths)
657
- .onUpdate(
658
- (event: GestureUpdateEvent<PanGestureHandlerEventPayload>) => {
659
- userDrag.value = event.translationX;
660
-
661
- const direction =
662
- rowState.value === -1
663
- ? SwipeDirection.RIGHT
664
- : rowState.value === 1
665
- ? SwipeDirection.LEFT
666
- : event.translationX > 0
667
- ? SwipeDirection.RIGHT
668
- : SwipeDirection.LEFT;
669
-
670
- if (!dragStarted.value) {
671
- dragStarted.value = true;
672
- if (rowState.value === 0 && onSwipeableOpenStartDrag) {
673
- runOnJS(onSwipeableOpenStartDrag)(direction);
674
- } else if (onSwipeableCloseStartDrag) {
675
- runOnJS(onSwipeableCloseStartDrag)(direction);
676
- }
648
+ const tapGesture = useMemo(() => {
649
+ const tap = Gesture.Tap()
650
+ .shouldCancelWhenOutside(true)
651
+ .onStart(() => {
652
+ if (rowState.value !== 0) {
653
+ close();
654
+ }
655
+ });
656
+
657
+ if (!simultaneousWithExternalGesture) {
658
+ return tap;
659
+ }
660
+
661
+ if (Array.isArray(simultaneousWithExternalGesture)) {
662
+ tap.simultaneousWithExternalGesture(...simultaneousWithExternalGesture);
663
+ } else {
664
+ tap.simultaneousWithExternalGesture(simultaneousWithExternalGesture);
665
+ }
666
+
667
+ return tap;
668
+ }, [close, rowState, simultaneousWithExternalGesture]);
669
+
670
+ const panGesture = useMemo(() => {
671
+ const pan = Gesture.Pan()
672
+ .enabled(enabled !== false)
673
+ .enableTrackpadTwoFingerGesture(enableTrackpadTwoFingerGesture)
674
+ .activeOffsetX([-dragOffsetFromRightEdge, dragOffsetFromLeftEdge])
675
+ .onStart(updateElementWidths)
676
+ .onUpdate(
677
+ (event: GestureUpdateEvent<PanGestureHandlerEventPayload>) => {
678
+ userDrag.value = event.translationX;
679
+
680
+ const direction =
681
+ rowState.value === -1
682
+ ? SwipeDirection.RIGHT
683
+ : rowState.value === 1
684
+ ? SwipeDirection.LEFT
685
+ : event.translationX > 0
686
+ ? SwipeDirection.RIGHT
687
+ : SwipeDirection.LEFT;
688
+
689
+ if (!dragStarted.value) {
690
+ dragStarted.value = true;
691
+ if (rowState.value === 0 && onSwipeableOpenStartDrag) {
692
+ runOnJS(onSwipeableOpenStartDrag)(direction);
693
+ } else if (onSwipeableCloseStartDrag) {
694
+ runOnJS(onSwipeableCloseStartDrag)(direction);
677
695
  }
678
-
679
- updateAnimatedEvent();
680
- }
681
- )
682
- .onEnd(
683
- (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => {
684
- handleRelease(event);
685
696
  }
686
- )
687
- .onFinalize(() => {
688
- dragStarted.value = false;
689
- }),
690
- [
691
- dragOffsetFromLeftEdge,
692
- dragOffsetFromRightEdge,
693
- dragStarted,
694
- enableTrackpadTwoFingerGesture,
695
- enabled,
696
- handleRelease,
697
- onSwipeableCloseStartDrag,
698
- onSwipeableOpenStartDrag,
699
- rowState,
700
- updateAnimatedEvent,
701
- updateElementWidths,
702
- userDrag,
703
- ]
704
- );
697
+
698
+ updateAnimatedEvent();
699
+ }
700
+ )
701
+ .onEnd(
702
+ (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => {
703
+ handleRelease(event);
704
+ }
705
+ )
706
+ .onFinalize(() => {
707
+ dragStarted.value = false;
708
+ });
709
+
710
+ if (!simultaneousWithExternalGesture) {
711
+ return pan;
712
+ }
713
+
714
+ if (Array.isArray(simultaneousWithExternalGesture)) {
715
+ pan.simultaneousWithExternalGesture(...simultaneousWithExternalGesture);
716
+ } else {
717
+ pan.simultaneousWithExternalGesture(simultaneousWithExternalGesture);
718
+ }
719
+
720
+ return pan;
721
+ }, [
722
+ dragOffsetFromLeftEdge,
723
+ dragOffsetFromRightEdge,
724
+ dragStarted,
725
+ enableTrackpadTwoFingerGesture,
726
+ enabled,
727
+ handleRelease,
728
+ onSwipeableCloseStartDrag,
729
+ onSwipeableOpenStartDrag,
730
+ rowState,
731
+ updateAnimatedEvent,
732
+ updateElementWidths,
733
+ userDrag,
734
+ simultaneousWithExternalGesture,
735
+ ]);
705
736
 
706
737
  useImperativeHandle(ref, () => swipeableMethods, [swipeableMethods]);
707
738
 
@@ -11,11 +11,13 @@ import {
11
11
  TextProps as RNTextProps,
12
12
  } from 'react-native';
13
13
 
14
- import { Gesture, GestureDetector } from '../';
14
+ import { GestureObjects as Gesture } from '../handlers/gestures/gestureObjects';
15
+ import { GestureDetector } from '../handlers/gestures/GestureDetector';
15
16
 
16
17
  export const Text = forwardRef(
17
18
  (props: RNTextProps, ref: ForwardedRef<RNText>) => {
18
- const { onPress, ...rest } = props;
19
+ const { onPress, onLongPress, ...rest } = props;
20
+
19
21
  const textRef = useRef<RNText | null>(null);
20
22
  const native = Gesture.Native().runOnJS(true);
21
23
 
@@ -49,10 +51,17 @@ export const Text = forwardRef(
49
51
  );
50
52
  }, []);
51
53
 
52
- return (
54
+ return onPress || onLongPress ? (
53
55
  <GestureDetector gesture={native}>
54
- <RNText onPress={onPress} ref={refHandler} {...rest} />
56
+ <RNText
57
+ onPress={onPress}
58
+ onLongPress={onLongPress}
59
+ ref={refHandler}
60
+ {...rest}
61
+ />
55
62
  </GestureDetector>
63
+ ) : (
64
+ <RNText ref={ref} {...rest} />
56
65
  );
57
66
  }
58
67
  );
@@ -19,10 +19,15 @@ interface State {
19
19
  };
20
20
  }
21
21
 
22
+ /**
23
+ * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler.
24
+ */
22
25
  export type TouchableHighlightProps = RNTouchableHighlightProps &
23
26
  GenericTouchableProps;
24
27
 
25
28
  /**
29
+ * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler.
30
+ *
26
31
  * TouchableHighlight follows RN's implementation
27
32
  */
28
33
  export default class TouchableHighlight extends Component<
@@ -8,6 +8,8 @@ import {
8
8
  } from './TouchableNativeFeedbackProps';
9
9
 
10
10
  /**
11
+ * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler.
12
+ *
11
13
  * TouchableNativeFeedback behaves slightly different than RN's TouchableNativeFeedback.
12
14
  * There's small difference with handling long press ripple since RN's implementation calls
13
15
  * ripple animation via bridge. This solution leaves all animations' handling for native components so
@@ -1,3 +1,8 @@
1
- import { TouchableNativeFeedback } from 'react-native';
1
+ import { TouchableNativeFeedback as RNTouchableNativeFeedback } from 'react-native';
2
+
3
+ /**
4
+ * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler.
5
+ */
6
+ const TouchableNativeFeedback = RNTouchableNativeFeedback;
2
7
 
3
8
  export default TouchableNativeFeedback;