react-native-gesture-handler 2.23.0 → 2.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (633) hide show
  1. package/RNGestureHandler.podspec +8 -0
  2. package/android/build.gradle +9 -3
  3. package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +2 -1
  4. package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +2 -1
  5. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +60 -0
  6. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +26 -0
  7. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +26 -0
  8. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +16 -0
  9. package/android/paper77/src/main/java/com/swmansion/gesturehandler/NativeRNGestureHandlerModuleSpec.java +67 -0
  10. package/android/paper77/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +13 -0
  11. package/apple/RNGestureHandlerButton.mm +12 -2
  12. package/lib/commonjs/ActionType.js +3 -3
  13. package/lib/commonjs/ActionType.js.map +1 -1
  14. package/lib/commonjs/Directions.js +8 -11
  15. package/lib/commonjs/Directions.js.map +1 -1
  16. package/lib/commonjs/EnableNewWebImplementation.js +10 -2
  17. package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
  18. package/lib/commonjs/GestureHandlerRootViewContext.js +7 -2
  19. package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
  20. package/lib/commonjs/PlatformConstants.js +6 -1
  21. package/lib/commonjs/PlatformConstants.js.map +1 -1
  22. package/lib/commonjs/PlatformConstants.web.js +3 -1
  23. package/lib/commonjs/PlatformConstants.web.js.map +1 -1
  24. package/lib/commonjs/PointerType.js +5 -3
  25. package/lib/commonjs/PointerType.js.map +1 -1
  26. package/lib/commonjs/RNGestureHandlerModule.js +6 -2
  27. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
  28. package/lib/commonjs/RNGestureHandlerModule.web.js +37 -11
  29. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  30. package/lib/commonjs/RNGestureHandlerModule.windows.js +32 -22
  31. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
  32. package/lib/commonjs/RNRenderer.js +3 -1
  33. package/lib/commonjs/RNRenderer.js.map +1 -1
  34. package/lib/commonjs/RNRenderer.web.js +2 -1
  35. package/lib/commonjs/RNRenderer.web.js.map +1 -1
  36. package/lib/commonjs/State.js +3 -4
  37. package/lib/commonjs/State.js.map +1 -1
  38. package/lib/commonjs/TouchEventType.js +3 -3
  39. package/lib/commonjs/TouchEventType.js.map +1 -1
  40. package/lib/commonjs/components/DrawerLayout.js +115 -90
  41. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  42. package/lib/commonjs/components/GestureButtons.js +81 -28
  43. package/lib/commonjs/components/GestureButtons.js.map +1 -1
  44. package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
  45. package/lib/commonjs/components/GestureComponents.js +37 -26
  46. package/lib/commonjs/components/GestureComponents.js.map +1 -1
  47. package/lib/commonjs/components/GestureComponents.web.js +27 -13
  48. package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
  49. package/lib/commonjs/components/GestureHandlerButton.js +6 -2
  50. package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
  51. package/lib/commonjs/components/GestureHandlerButton.web.js +12 -4
  52. package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
  53. package/lib/commonjs/components/GestureHandlerRootView.android.js +15 -4
  54. package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
  55. package/lib/commonjs/components/GestureHandlerRootView.js +14 -4
  56. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
  57. package/lib/commonjs/components/GestureHandlerRootView.web.js +13 -4
  58. package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
  59. package/lib/commonjs/components/Pressable/Pressable.js +77 -29
  60. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
  61. package/lib/commonjs/components/Pressable/PressableProps.js.map +1 -1
  62. package/lib/commonjs/components/Pressable/index.js +3 -1
  63. package/lib/commonjs/components/Pressable/index.js.map +1 -1
  64. package/lib/commonjs/components/Pressable/utils.js +20 -5
  65. package/lib/commonjs/components/Pressable/utils.js.map +1 -1
  66. package/lib/commonjs/components/ReanimatedDrawerLayout.js +86 -44
  67. package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
  68. package/lib/commonjs/components/ReanimatedSwipeable.js +45 -18
  69. package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
  70. package/lib/commonjs/components/Swipeable.js +75 -34
  71. package/lib/commonjs/components/Swipeable.js.map +1 -1
  72. package/lib/commonjs/components/Text.js +28 -10
  73. package/lib/commonjs/components/Text.js.map +1 -1
  74. package/lib/commonjs/components/gestureHandlerRootHOC.js +14 -5
  75. package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
  76. package/lib/commonjs/components/touchables/ExtraButtonProps.js +2 -0
  77. package/lib/commonjs/components/touchables/ExtraButtonProps.js.map +1 -0
  78. package/lib/commonjs/components/touchables/GenericTouchable.js +76 -40
  79. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
  80. package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +1 -1
  81. package/lib/commonjs/components/touchables/TouchableHighlight.js +34 -19
  82. package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
  83. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +32 -16
  84. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  85. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -2
  86. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
  87. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  88. package/lib/commonjs/components/touchables/TouchableOpacity.js +25 -16
  89. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  90. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +25 -13
  91. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  92. package/lib/commonjs/components/touchables/index.js +12 -7
  93. package/lib/commonjs/components/touchables/index.js.map +1 -1
  94. package/lib/commonjs/findNodeHandle.js +4 -1
  95. package/lib/commonjs/findNodeHandle.js.map +1 -1
  96. package/lib/commonjs/findNodeHandle.web.js +14 -5
  97. package/lib/commonjs/findNodeHandle.web.js.map +1 -1
  98. package/lib/commonjs/getReactNativeVersion.js +6 -1
  99. package/lib/commonjs/getReactNativeVersion.js.map +1 -1
  100. package/lib/commonjs/getReactNativeVersion.web.js +1 -0
  101. package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
  102. package/lib/commonjs/getShadowNodeFromRef.js +14 -13
  103. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  104. package/lib/commonjs/getShadowNodeFromRef.web.js +1 -0
  105. package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
  106. package/lib/commonjs/ghQueueMicrotask.js +2 -1
  107. package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
  108. package/lib/commonjs/handlers/FlingGestureHandler.js +11 -9
  109. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
  110. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +22 -15
  111. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
  112. package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
  113. package/lib/commonjs/handlers/LongPressGestureHandler.js +11 -9
  114. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
  115. package/lib/commonjs/handlers/NativeViewGestureHandler.js +13 -10
  116. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
  117. package/lib/commonjs/handlers/PanGestureHandler.js +32 -13
  118. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
  119. package/lib/commonjs/handlers/PinchGestureHandler.js +9 -7
  120. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
  121. package/lib/commonjs/handlers/PressabilityDebugView.js +1 -0
  122. package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
  123. package/lib/commonjs/handlers/PressabilityDebugView.web.js +1 -0
  124. package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
  125. package/lib/commonjs/handlers/RotationGestureHandler.js +9 -7
  126. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
  127. package/lib/commonjs/handlers/TapGestureHandler.js +11 -9
  128. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
  129. package/lib/commonjs/handlers/createHandler.js +146 -59
  130. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  131. package/lib/commonjs/handlers/createNativeWrapper.js +30 -18
  132. package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
  133. package/lib/commonjs/handlers/customDirectEventTypes.js +1 -0
  134. package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
  135. package/lib/commonjs/handlers/customDirectEventTypes.web.js +2 -1
  136. package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
  137. package/lib/commonjs/handlers/gestureHandlerCommon.js +10 -9
  138. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  139. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -1
  140. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +14 -5
  141. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  142. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +21 -13
  143. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  144. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +29 -9
  145. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  146. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +10 -1
  147. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  148. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +36 -11
  149. package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
  150. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +3 -0
  151. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  152. package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +1 -1
  153. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +24 -12
  154. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  155. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +48 -12
  156. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  157. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +13 -3
  158. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  159. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +9 -2
  160. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  161. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +14 -6
  162. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  163. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +55 -27
  164. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
  165. package/lib/commonjs/handlers/gestures/eventReceiver.js +46 -14
  166. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
  167. package/lib/commonjs/handlers/gestures/flingGesture.js +12 -5
  168. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
  169. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +19 -8
  170. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
  171. package/lib/commonjs/handlers/gestures/gesture.js +84 -44
  172. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  173. package/lib/commonjs/handlers/gestures/gestureComposition.js +31 -17
  174. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
  175. package/lib/commonjs/handlers/gestures/gestureObjects.js +27 -1
  176. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
  177. package/lib/commonjs/handlers/gestures/gestureStateManager.js +9 -3
  178. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
  179. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +7 -2
  180. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
  181. package/lib/commonjs/handlers/gestures/hoverGesture.js +25 -11
  182. package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
  183. package/lib/commonjs/handlers/gestures/longPressGesture.js +14 -6
  184. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
  185. package/lib/commonjs/handlers/gestures/manualGesture.js +6 -0
  186. package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
  187. package/lib/commonjs/handlers/gestures/nativeGesture.js +12 -5
  188. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
  189. package/lib/commonjs/handlers/gestures/panGesture.js +43 -18
  190. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
  191. package/lib/commonjs/handlers/gestures/pinchGesture.js +9 -2
  192. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
  193. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +8 -1
  194. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
  195. package/lib/commonjs/handlers/gestures/rotationGesture.js +9 -2
  196. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
  197. package/lib/commonjs/handlers/gestures/tapGesture.js +22 -10
  198. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
  199. package/lib/commonjs/handlers/getNextHandlerTag.js +1 -0
  200. package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
  201. package/lib/commonjs/handlers/handlersRegistry.js +21 -6
  202. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
  203. package/lib/commonjs/handlers/utils.js +26 -6
  204. package/lib/commonjs/handlers/utils.js.map +1 -1
  205. package/lib/commonjs/index.js +104 -75
  206. package/lib/commonjs/index.js.map +1 -1
  207. package/lib/commonjs/init.js +11 -4
  208. package/lib/commonjs/init.js.map +1 -1
  209. package/lib/commonjs/jestUtils/index.js +5 -4
  210. package/lib/commonjs/jestUtils/index.js.map +1 -1
  211. package/lib/commonjs/jestUtils/jestUtils.js +83 -19
  212. package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
  213. package/lib/commonjs/mocks.js +15 -5
  214. package/lib/commonjs/mocks.js.map +1 -1
  215. package/lib/commonjs/mountRegistry.js +12 -3
  216. package/lib/commonjs/mountRegistry.js.map +1 -1
  217. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +5 -1
  218. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
  219. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +7 -2
  220. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  221. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +7 -2
  222. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  223. package/lib/commonjs/typeUtils.js.map +1 -1
  224. package/lib/commonjs/utils.js +37 -13
  225. package/lib/commonjs/utils.js.map +1 -1
  226. package/lib/commonjs/web/Gestures.js +23 -5
  227. package/lib/commonjs/web/Gestures.js.map +1 -1
  228. package/lib/commonjs/web/constants.js +4 -2
  229. package/lib/commonjs/web/constants.js.map +1 -1
  230. package/lib/commonjs/web/detectors/RotationGestureDetector.js +41 -5
  231. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  232. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +42 -13
  233. package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
  234. package/lib/commonjs/web/handlers/FlingGestureHandler.js +49 -6
  235. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  236. package/lib/commonjs/web/handlers/GestureHandler.js +195 -62
  237. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  238. package/lib/commonjs/web/handlers/HoverGestureHandler.js +19 -6
  239. package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
  240. package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -1
  241. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +47 -6
  242. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
  243. package/lib/commonjs/web/handlers/ManualGestureHandler.js +11 -1
  244. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
  245. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +49 -8
  246. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  247. package/lib/commonjs/web/handlers/PanGestureHandler.js +123 -8
  248. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  249. package/lib/commonjs/web/handlers/PinchGestureHandler.js +41 -4
  250. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
  251. package/lib/commonjs/web/handlers/RotationGestureHandler.js +42 -4
  252. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
  253. package/lib/commonjs/web/handlers/TapGestureHandler.js +67 -6
  254. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  255. package/lib/commonjs/web/interfaces.js +17 -9
  256. package/lib/commonjs/web/interfaces.js.map +1 -1
  257. package/lib/commonjs/web/tools/CircularBuffer.js +15 -3
  258. package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
  259. package/lib/commonjs/web/tools/EventManager.js +41 -7
  260. package/lib/commonjs/web/tools/EventManager.js.map +1 -1
  261. package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -1
  262. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +78 -11
  263. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  264. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +48 -8
  265. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  266. package/lib/commonjs/web/tools/InteractionManager.js +22 -5
  267. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  268. package/lib/commonjs/web/tools/KeyboardEventManager.js +26 -4
  269. package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
  270. package/lib/commonjs/web/tools/LeastSquareSolver.js +67 -30
  271. package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
  272. package/lib/commonjs/web/tools/NodeManager.js +14 -7
  273. package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
  274. package/lib/commonjs/web/tools/PointerEventManager.js +45 -10
  275. package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
  276. package/lib/commonjs/web/tools/PointerTracker.js +45 -9
  277. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
  278. package/lib/commonjs/web/tools/Vector.js +18 -3
  279. package/lib/commonjs/web/tools/Vector.js.map +1 -1
  280. package/lib/commonjs/web/tools/VelocityTracker.js +31 -9
  281. package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
  282. package/lib/commonjs/web/tools/WheelEventManager.js +17 -4
  283. package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
  284. package/lib/commonjs/web/utils.js +76 -27
  285. package/lib/commonjs/web/utils.js.map +1 -1
  286. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +19 -7
  287. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
  288. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +13 -3
  289. package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
  290. package/lib/commonjs/web_hammer/Errors.js +3 -0
  291. package/lib/commonjs/web_hammer/Errors.js.map +1 -1
  292. package/lib/commonjs/web_hammer/FlingGestureHandler.js +44 -13
  293. package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
  294. package/lib/commonjs/web_hammer/GestureHandler.js +142 -55
  295. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
  296. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +11 -2
  297. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  298. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +19 -5
  299. package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
  300. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +24 -16
  301. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
  302. package/lib/commonjs/web_hammer/NodeManager.js +16 -9
  303. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
  304. package/lib/commonjs/web_hammer/PanGestureHandler.js +49 -8
  305. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
  306. package/lib/commonjs/web_hammer/PinchGestureHandler.js +11 -2
  307. package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
  308. package/lib/commonjs/web_hammer/PressGestureHandler.js +43 -15
  309. package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
  310. package/lib/commonjs/web_hammer/RotationGestureHandler.js +13 -2
  311. package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
  312. package/lib/commonjs/web_hammer/TapGestureHandler.js +52 -33
  313. package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
  314. package/lib/commonjs/web_hammer/constants.js +26 -13
  315. package/lib/commonjs/web_hammer/constants.js.map +1 -1
  316. package/lib/commonjs/web_hammer/utils.js +14 -4
  317. package/lib/commonjs/web_hammer/utils.js.map +1 -1
  318. package/lib/module/ActionType.js +1 -3
  319. package/lib/module/ActionType.js.map +1 -1
  320. package/lib/module/Directions.js +3 -9
  321. package/lib/module/Directions.js.map +1 -1
  322. package/lib/module/EnableNewWebImplementation.js +5 -2
  323. package/lib/module/EnableNewWebImplementation.js.map +1 -1
  324. package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
  325. package/lib/module/PlatformConstants.js +1 -0
  326. package/lib/module/PlatformConstants.js.map +1 -1
  327. package/lib/module/PlatformConstants.web.js +1 -0
  328. package/lib/module/PlatformConstants.web.js.map +1 -1
  329. package/lib/module/PointerType.js +4 -3
  330. package/lib/module/PointerType.js.map +1 -1
  331. package/lib/module/RNGestureHandlerModule.js +0 -1
  332. package/lib/module/RNGestureHandlerModule.js.map +1 -1
  333. package/lib/module/RNGestureHandlerModule.web.js +20 -10
  334. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  335. package/lib/module/RNGestureHandlerModule.windows.js +17 -18
  336. package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
  337. package/lib/module/RNRenderer.js.map +1 -1
  338. package/lib/module/RNRenderer.web.js.map +1 -1
  339. package/lib/module/State.js +1 -4
  340. package/lib/module/State.js.map +1 -1
  341. package/lib/module/TouchEventType.js +1 -3
  342. package/lib/module/TouchEventType.js.map +1 -1
  343. package/lib/module/components/DrawerLayout.js +99 -80
  344. package/lib/module/components/DrawerLayout.js.map +1 -1
  345. package/lib/module/components/GestureButtons.js +55 -19
  346. package/lib/module/components/GestureButtons.js.map +1 -1
  347. package/lib/module/components/GestureButtonsProps.js.map +1 -1
  348. package/lib/module/components/GestureComponents.js +12 -17
  349. package/lib/module/components/GestureComponents.js.map +1 -1
  350. package/lib/module/components/GestureComponents.web.js +4 -4
  351. package/lib/module/components/GestureComponents.web.js.map +1 -1
  352. package/lib/module/components/GestureHandlerButton.js.map +1 -1
  353. package/lib/module/components/GestureHandlerButton.web.js +2 -1
  354. package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
  355. package/lib/module/components/GestureHandlerRootView.android.js +2 -1
  356. package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
  357. package/lib/module/components/GestureHandlerRootView.js +2 -1
  358. package/lib/module/components/GestureHandlerRootView.js.map +1 -1
  359. package/lib/module/components/GestureHandlerRootView.web.js +2 -1
  360. package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
  361. package/lib/module/components/Pressable/Pressable.js +59 -26
  362. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  363. package/lib/module/components/Pressable/PressableProps.js.map +1 -1
  364. package/lib/module/components/Pressable/index.js.map +1 -1
  365. package/lib/module/components/Pressable/utils.js +14 -4
  366. package/lib/module/components/Pressable/utils.js.map +1 -1
  367. package/lib/module/components/ReanimatedDrawerLayout.js +66 -40
  368. package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
  369. package/lib/module/components/ReanimatedSwipeable.js +30 -14
  370. package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
  371. package/lib/module/components/Swipeable.js +59 -28
  372. package/lib/module/components/Swipeable.js.map +1 -1
  373. package/lib/module/components/Text.js +15 -7
  374. package/lib/module/components/Text.js.map +1 -1
  375. package/lib/module/components/gestureHandlerRootHOC.js +2 -2
  376. package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
  377. package/lib/module/components/touchables/ExtraButtonProps.js +2 -0
  378. package/lib/module/components/touchables/ExtraButtonProps.js.map +1 -0
  379. package/lib/module/components/touchables/GenericTouchable.js +63 -34
  380. package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
  381. package/lib/module/components/touchables/GenericTouchableProps.js.map +1 -1
  382. package/lib/module/components/touchables/TouchableHighlight.js +24 -15
  383. package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
  384. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +20 -10
  385. package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  386. package/lib/module/components/touchables/TouchableNativeFeedback.js +2 -2
  387. package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
  388. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  389. package/lib/module/components/touchables/TouchableOpacity.js +16 -10
  390. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  391. package/lib/module/components/touchables/TouchableWithoutFeedback.js +15 -10
  392. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  393. package/lib/module/components/touchables/index.js.map +1 -1
  394. package/lib/module/findNodeHandle.js.map +1 -1
  395. package/lib/module/findNodeHandle.web.js +11 -5
  396. package/lib/module/findNodeHandle.web.js.map +1 -1
  397. package/lib/module/getReactNativeVersion.js.map +1 -1
  398. package/lib/module/getReactNativeVersion.web.js.map +1 -1
  399. package/lib/module/getShadowNodeFromRef.js +13 -13
  400. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  401. package/lib/module/getShadowNodeFromRef.web.js.map +1 -1
  402. package/lib/module/ghQueueMicrotask.js.map +1 -1
  403. package/lib/module/handlers/FlingGestureHandler.js +0 -6
  404. package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
  405. package/lib/module/handlers/ForceTouchGestureHandler.js +8 -12
  406. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
  407. package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
  408. package/lib/module/handlers/LongPressGestureHandler.js +0 -6
  409. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
  410. package/lib/module/handlers/NativeViewGestureHandler.js +0 -6
  411. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
  412. package/lib/module/handlers/PanGestureHandler.js +19 -8
  413. package/lib/module/handlers/PanGestureHandler.js.map +1 -1
  414. package/lib/module/handlers/PinchGestureHandler.js +0 -2
  415. package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
  416. package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
  417. package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -1
  418. package/lib/module/handlers/RotationGestureHandler.js +0 -2
  419. package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
  420. package/lib/module/handlers/TapGestureHandler.js +0 -6
  421. package/lib/module/handlers/TapGestureHandler.js.map +1 -1
  422. package/lib/module/handlers/createHandler.js +119 -57
  423. package/lib/module/handlers/createHandler.js.map +1 -1
  424. package/lib/module/handlers/createNativeWrapper.js +22 -15
  425. package/lib/module/handlers/createNativeWrapper.js.map +1 -1
  426. package/lib/module/handlers/customDirectEventTypes.js.map +1 -1
  427. package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -1
  428. package/lib/module/handlers/gestureHandlerCommon.js +4 -9
  429. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  430. package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -1
  431. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +4 -3
  432. package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  433. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +7 -8
  434. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  435. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +16 -8
  436. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  437. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +1 -0
  438. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  439. package/lib/module/handlers/gestures/GestureDetector/index.js +13 -7
  440. package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
  441. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +2 -0
  442. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  443. package/lib/module/handlers/gestures/GestureDetector/types.js.map +1 -1
  444. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +14 -11
  445. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  446. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +39 -12
  447. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  448. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +5 -5
  449. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  450. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +6 -2
  451. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  452. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -5
  453. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  454. package/lib/module/handlers/gestures/GestureDetector/utils.js +28 -23
  455. package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
  456. package/lib/module/handlers/gestures/eventReceiver.js +38 -14
  457. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
  458. package/lib/module/handlers/gestures/flingGesture.js +9 -5
  459. package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
  460. package/lib/module/handlers/gestures/forceTouchGesture.js +17 -8
  461. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
  462. package/lib/module/handlers/gestures/gesture.js +73 -44
  463. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  464. package/lib/module/handlers/gestures/gestureComposition.js +24 -16
  465. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
  466. package/lib/module/handlers/gestures/gestureObjects.js +14 -1
  467. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
  468. package/lib/module/handlers/gestures/gestureStateManager.js +4 -3
  469. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
  470. package/lib/module/handlers/gestures/gestureStateManager.web.js +1 -0
  471. package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
  472. package/lib/module/handlers/gestures/hoverGesture.js +18 -9
  473. package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
  474. package/lib/module/handlers/gestures/longPressGesture.js +11 -6
  475. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
  476. package/lib/module/handlers/gestures/manualGesture.js +4 -0
  477. package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
  478. package/lib/module/handlers/gestures/nativeGesture.js +9 -5
  479. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
  480. package/lib/module/handlers/gestures/panGesture.js +41 -18
  481. package/lib/module/handlers/gestures/panGesture.js.map +1 -1
  482. package/lib/module/handlers/gestures/pinchGesture.js +7 -2
  483. package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
  484. package/lib/module/handlers/gestures/reanimatedWrapper.js +5 -0
  485. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
  486. package/lib/module/handlers/gestures/rotationGesture.js +7 -2
  487. package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
  488. package/lib/module/handlers/gestures/tapGesture.js +19 -10
  489. package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
  490. package/lib/module/handlers/getNextHandlerTag.js.map +1 -1
  491. package/lib/module/handlers/handlersRegistry.js +5 -0
  492. package/lib/module/handlers/handlersRegistry.js.map +1 -1
  493. package/lib/module/handlers/utils.js +13 -4
  494. package/lib/module/handlers/utils.js.map +1 -1
  495. package/lib/module/index.js.map +1 -1
  496. package/lib/module/init.js +2 -3
  497. package/lib/module/init.js.map +1 -1
  498. package/lib/module/jestUtils/index.js.map +1 -1
  499. package/lib/module/jestUtils/jestUtils.js +66 -20
  500. package/lib/module/jestUtils/jestUtils.js.map +1 -1
  501. package/lib/module/mocks.js +7 -3
  502. package/lib/module/mocks.js.map +1 -1
  503. package/lib/module/mountRegistry.js +10 -3
  504. package/lib/module/mountRegistry.js.map +1 -1
  505. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
  506. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  507. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  508. package/lib/module/typeUtils.js.map +1 -1
  509. package/lib/module/utils.js +15 -6
  510. package/lib/module/utils.js.map +1 -1
  511. package/lib/module/web/Gestures.js +1 -2
  512. package/lib/module/web/Gestures.js.map +1 -1
  513. package/lib/module/web/constants.js.map +1 -1
  514. package/lib/module/web/detectors/RotationGestureDetector.js +38 -5
  515. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  516. package/lib/module/web/detectors/ScaleGestureDetector.js +38 -13
  517. package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
  518. package/lib/module/web/handlers/FlingGestureHandler.js +39 -5
  519. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  520. package/lib/module/web/handlers/GestureHandler.js +181 -61
  521. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  522. package/lib/module/web/handlers/HoverGestureHandler.js +11 -5
  523. package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
  524. package/lib/module/web/handlers/IGestureHandler.js.map +1 -1
  525. package/lib/module/web/handlers/LongPressGestureHandler.js +40 -5
  526. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
  527. package/lib/module/web/handlers/ManualGestureHandler.js +6 -0
  528. package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
  529. package/lib/module/web/handlers/NativeViewGestureHandler.js +41 -7
  530. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  531. package/lib/module/web/handlers/PanGestureHandler.js +114 -7
  532. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  533. package/lib/module/web/handlers/PinchGestureHandler.js +33 -3
  534. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
  535. package/lib/module/web/handlers/RotationGestureHandler.js +34 -3
  536. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
  537. package/lib/module/web/handlers/TapGestureHandler.js +59 -5
  538. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  539. package/lib/module/web/interfaces.js +14 -9
  540. package/lib/module/web/interfaces.js.map +1 -1
  541. package/lib/module/web/tools/CircularBuffer.js +13 -3
  542. package/lib/module/web/tools/CircularBuffer.js.map +1 -1
  543. package/lib/module/web/tools/EventManager.js +39 -7
  544. package/lib/module/web/tools/EventManager.js.map +1 -1
  545. package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -1
  546. package/lib/module/web/tools/GestureHandlerOrchestrator.js +71 -10
  547. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  548. package/lib/module/web/tools/GestureHandlerWebDelegate.js +37 -7
  549. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  550. package/lib/module/web/tools/InteractionManager.js +19 -5
  551. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  552. package/lib/module/web/tools/KeyboardEventManager.js +19 -3
  553. package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
  554. package/lib/module/web/tools/LeastSquareSolver.js +65 -30
  555. package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
  556. package/lib/module/web/tools/NodeManager.js +12 -7
  557. package/lib/module/web/tools/NodeManager.js.map +1 -1
  558. package/lib/module/web/tools/PointerEventManager.js +35 -9
  559. package/lib/module/web/tools/PointerEventManager.js.map +1 -1
  560. package/lib/module/web/tools/PointerTracker.js +39 -8
  561. package/lib/module/web/tools/PointerTracker.js.map +1 -1
  562. package/lib/module/web/tools/Vector.js +14 -3
  563. package/lib/module/web/tools/Vector.js.map +1 -1
  564. package/lib/module/web/tools/VelocityTracker.js +25 -8
  565. package/lib/module/web/tools/VelocityTracker.js.map +1 -1
  566. package/lib/module/web/tools/WheelEventManager.js +10 -3
  567. package/lib/module/web/tools/WheelEventManager.js.map +1 -1
  568. package/lib/module/web/utils.js +57 -22
  569. package/lib/module/web/utils.js.map +1 -1
  570. package/lib/module/web_hammer/DiscreteGestureHandler.js +13 -4
  571. package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
  572. package/lib/module/web_hammer/DraggingGestureHandler.js +5 -0
  573. package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
  574. package/lib/module/web_hammer/Errors.js +1 -0
  575. package/lib/module/web_hammer/Errors.js.map +1 -1
  576. package/lib/module/web_hammer/FlingGestureHandler.js +35 -10
  577. package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
  578. package/lib/module/web_hammer/GestureHandler.js +130 -53
  579. package/lib/module/web_hammer/GestureHandler.js.map +1 -1
  580. package/lib/module/web_hammer/IndiscreteGestureHandler.js +6 -1
  581. package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  582. package/lib/module/web_hammer/LongPressGestureHandler.js +11 -2
  583. package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -1
  584. package/lib/module/web_hammer/NativeViewGestureHandler.js +12 -12
  585. package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -1
  586. package/lib/module/web_hammer/NodeManager.js +8 -6
  587. package/lib/module/web_hammer/NodeManager.js.map +1 -1
  588. package/lib/module/web_hammer/PanGestureHandler.js +40 -6
  589. package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
  590. package/lib/module/web_hammer/PinchGestureHandler.js +5 -0
  591. package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
  592. package/lib/module/web_hammer/PressGestureHandler.js +34 -13
  593. package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
  594. package/lib/module/web_hammer/RotationGestureHandler.js +6 -0
  595. package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
  596. package/lib/module/web_hammer/TapGestureHandler.js +45 -31
  597. package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
  598. package/lib/module/web_hammer/constants.js +1 -2
  599. package/lib/module/web_hammer/constants.js.map +1 -1
  600. package/lib/module/web_hammer/utils.js +2 -2
  601. package/lib/module/web_hammer/utils.js.map +1 -1
  602. package/lib/typescript/components/GestureComponents.d.ts +1 -1
  603. package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +5 -0
  604. package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +7 -0
  605. package/lib/typescript/components/touchables/GenericTouchable.d.ts +0 -2
  606. package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +2 -0
  607. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +2 -2
  608. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +3 -3
  609. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +1 -1
  610. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -7
  611. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +2 -2
  612. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +2 -2
  613. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +1 -1
  614. package/lib/typescript/utils.d.ts +1 -0
  615. package/lib/typescript/web/utils.d.ts +2 -0
  616. package/package.json +9 -8
  617. package/src/components/GestureComponents.tsx +1 -1
  618. package/src/components/ReanimatedDrawerLayout.tsx +17 -4
  619. package/src/components/Text.tsx +5 -0
  620. package/src/components/touchables/ExtraButtonProps.ts +7 -0
  621. package/src/components/touchables/GenericTouchable.tsx +0 -2
  622. package/src/components/touchables/GenericTouchableProps.ts +2 -0
  623. package/src/components/touchables/TouchableHighlight.tsx +2 -2
  624. package/src/components/touchables/TouchableNativeFeedback.android.tsx +1 -1
  625. package/src/components/touchables/TouchableNativeFeedback.tsx +1 -1
  626. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -8
  627. package/src/components/touchables/TouchableOpacity.tsx +2 -2
  628. package/src/components/touchables/TouchableWithoutFeedback.tsx +22 -4
  629. package/src/handlers/createHandler.tsx +20 -9
  630. package/src/handlers/createNativeWrapper.tsx +7 -3
  631. package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +2 -4
  632. package/src/utils.ts +6 -0
  633. package/src/web/utils.ts +21 -3
@@ -1,7 +1,6 @@
1
1
  // TODO(TS) remove if not necessary after rewrite
2
- export const isnan = v => Number.isNaN(v);
2
+ export const isnan = v => Number.isNaN(v); // TODO(TS) remove if not necessary after rewrite
3
3
 
4
- // TODO(TS) remove if not necessary after rewrite
5
4
  export const isValidNumber = v => typeof v === 'number' && !Number.isNaN(v);
6
5
  export const TEST_MIN_IF_NOT_NAN = (value, limit) => !isnan(limit) && (limit < 0 && value <= limit || limit >= 0 && value >= limit);
7
6
  export const VEC_LEN_SQ = ({
@@ -14,6 +13,7 @@ export function fireAfterInterval(method, interval) {
14
13
  method();
15
14
  return null;
16
15
  }
16
+
17
17
  return setTimeout(() => method(), interval);
18
18
  }
19
19
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isnan","v","Number","isNaN","isValidNumber","TEST_MIN_IF_NOT_NAN","value","limit","VEC_LEN_SQ","x","y","TEST_MAX_IF_NOT_NAN","max","fireAfterInterval","method","interval","setTimeout"],"sources":["utils.ts"],"sourcesContent":["// TODO(TS) remove if not necessary after rewrite\nexport const isnan = (v: unknown) => Number.isNaN(v);\n\n// TODO(TS) remove if not necessary after rewrite\nexport const isValidNumber = (v: unknown) =>\n typeof v === 'number' && !Number.isNaN(v);\n\nexport const TEST_MIN_IF_NOT_NAN = (value: number, limit: number): boolean =>\n !isnan(limit) &&\n ((limit < 0 && value <= limit) || (limit >= 0 && value >= limit));\nexport const VEC_LEN_SQ = ({ x = 0, y = 0 } = {}) => x * x + y * y;\nexport const TEST_MAX_IF_NOT_NAN = (value: number, max: number) =>\n !isnan(max) && ((max < 0 && value < max) || (max >= 0 && value > max));\n\nexport function fireAfterInterval(\n method: () => void,\n interval?: number | boolean\n) {\n if (!interval) {\n method();\n return null;\n }\n return setTimeout(() => method(), interval as number);\n}\n"],"mappings":"AAAA;AACA,OAAO,MAAMA,KAAK,GAAIC,CAAU,IAAKC,MAAM,CAACC,KAAK,CAACF,CAAC,CAAC;;AAEpD;AACA,OAAO,MAAMG,aAAa,GAAIH,CAAU,IACtC,OAAOA,CAAC,KAAK,QAAQ,IAAI,CAACC,MAAM,CAACC,KAAK,CAACF,CAAC,CAAC;AAE3C,OAAO,MAAMI,mBAAmB,GAAGA,CAACC,KAAa,EAAEC,KAAa,KAC9D,CAACP,KAAK,CAACO,KAAK,CAAC,KACXA,KAAK,GAAG,CAAC,IAAID,KAAK,IAAIC,KAAK,IAAMA,KAAK,IAAI,CAAC,IAAID,KAAK,IAAIC,KAAM,CAAC;AACnE,OAAO,MAAMC,UAAU,GAAGA,CAAC;EAAEC,CAAC,GAAG,CAAC;EAAEC,CAAC,GAAG;AAAE,CAAC,GAAG,CAAC,CAAC,KAAKD,CAAC,GAAGA,CAAC,GAAGC,CAAC,GAAGA,CAAC;AAClE,OAAO,MAAMC,mBAAmB,GAAGA,CAACL,KAAa,EAAEM,GAAW,KAC5D,CAACZ,KAAK,CAACY,GAAG,CAAC,KAAMA,GAAG,GAAG,CAAC,IAAIN,KAAK,GAAGM,GAAG,IAAMA,GAAG,IAAI,CAAC,IAAIN,KAAK,GAAGM,GAAI,CAAC;AAExE,OAAO,SAASC,iBAAiBA,CAC/BC,MAAkB,EAClBC,QAA2B,EAC3B;EACA,IAAI,CAACA,QAAQ,EAAE;IACbD,MAAM,CAAC,CAAC;IACR,OAAO,IAAI;EACb;EACA,OAAOE,UAAU,CAAC,MAAMF,MAAM,CAAC,CAAC,EAAEC,QAAkB,CAAC;AACvD","ignoreList":[]}
1
+ {"version":3,"sources":["utils.ts"],"names":["isnan","v","Number","isNaN","isValidNumber","TEST_MIN_IF_NOT_NAN","value","limit","VEC_LEN_SQ","x","y","TEST_MAX_IF_NOT_NAN","max","fireAfterInterval","method","interval","setTimeout"],"mappings":"AAAA;AACA,OAAO,MAAMA,KAAK,GAAIC,CAAD,IAAgBC,MAAM,CAACC,KAAP,CAAaF,CAAb,CAA9B,C,CAEP;;AACA,OAAO,MAAMG,aAAa,GAAIH,CAAD,IAC3B,OAAOA,CAAP,KAAa,QAAb,IAAyB,CAACC,MAAM,CAACC,KAAP,CAAaF,CAAb,CADrB;AAGP,OAAO,MAAMI,mBAAmB,GAAG,CAACC,KAAD,EAAgBC,KAAhB,KACjC,CAACP,KAAK,CAACO,KAAD,CAAN,KACEA,KAAK,GAAG,CAAR,IAAaD,KAAK,IAAIC,KAAvB,IAAkCA,KAAK,IAAI,CAAT,IAAcD,KAAK,IAAIC,KAD1D,CADK;AAGP,OAAO,MAAMC,UAAU,GAAG,CAAC;AAAEC,EAAAA,CAAC,GAAG,CAAN;AAASC,EAAAA,CAAC,GAAG;AAAb,IAAmB,EAApB,KAA2BD,CAAC,GAAGA,CAAJ,GAAQC,CAAC,GAAGA,CAA1D;AACP,OAAO,MAAMC,mBAAmB,GAAG,CAACL,KAAD,EAAgBM,GAAhB,KACjC,CAACZ,KAAK,CAACY,GAAD,CAAN,KAAiBA,GAAG,GAAG,CAAN,IAAWN,KAAK,GAAGM,GAApB,IAA6BA,GAAG,IAAI,CAAP,IAAYN,KAAK,GAAGM,GAAjE,CADK;AAGP,OAAO,SAASC,iBAAT,CACLC,MADK,EAELC,QAFK,EAGL;AACA,MAAI,CAACA,QAAL,EAAe;AACbD,IAAAA,MAAM;AACN,WAAO,IAAP;AACD;;AACD,SAAOE,UAAU,CAAC,MAAMF,MAAM,EAAb,EAAiBC,QAAjB,CAAjB;AACD","sourcesContent":["// TODO(TS) remove if not necessary after rewrite\nexport const isnan = (v: unknown) => Number.isNaN(v);\n\n// TODO(TS) remove if not necessary after rewrite\nexport const isValidNumber = (v: unknown) =>\n typeof v === 'number' && !Number.isNaN(v);\n\nexport const TEST_MIN_IF_NOT_NAN = (value: number, limit: number): boolean =>\n !isnan(limit) &&\n ((limit < 0 && value <= limit) || (limit >= 0 && value >= limit));\nexport const VEC_LEN_SQ = ({ x = 0, y = 0 } = {}) => x * x + y * y;\nexport const TEST_MAX_IF_NOT_NAN = (value: number, max: number) =>\n !isnan(max) && ((max < 0 && value < max) || (max >= 0 && value > max));\n\nexport function fireAfterInterval(\n method: () => void,\n interval?: number | boolean\n) {\n if (!interval) {\n method();\n return null;\n }\n return setTimeout(() => method(), interval as number);\n}\n"]}
@@ -17,6 +17,6 @@ export declare const DrawerLayoutAndroid: React.ForwardRefExoticComponent<RNDraw
17
17
  children?: React.ReactNode;
18
18
  } & NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
19
19
  export type DrawerLayoutAndroid = typeof DrawerLayoutAndroid & RNDrawerLayoutAndroid;
20
- export declare const FlatList: <ItemT = any>(props: React.PropsWithChildren<Omit<RNFlatListProps<ItemT>, "renderScrollComponent"> & React.RefAttributes<FlatList<ItemT>> & NativeViewGestureHandlerProps>, ref: React.ForwardedRef<FlatList<ItemT>>) => ReactElement | null;
20
+ export declare const FlatList: <ItemT = any>(props: React.PropsWithChildren<Omit<RNFlatListProps<ItemT>, "renderScrollComponent"> & React.RefAttributes<FlatList<ItemT>> & NativeViewGestureHandlerProps>, ref?: React.ForwardedRef<FlatList<ItemT>> | undefined) => ReactElement | null;
21
21
  export type FlatList<ItemT = any> = typeof FlatList & RNFlatList<ItemT>;
22
22
  export {};
@@ -76,6 +76,11 @@ export interface DrawerLayoutProps {
76
76
  * Type of animation that will play when opening the drawer.
77
77
  */
78
78
  drawerType?: DrawerType;
79
+ /**
80
+ * Speed of animation that will play when letting go, or dismissing the drawer.
81
+ * This will also be the default animation speed for programatic controlls.
82
+ */
83
+ animationSpeed?: number;
79
84
  /**
80
85
  * Defines how far from the edge of the content view the gesture should
81
86
  * activate.
@@ -0,0 +1,7 @@
1
+ export type ExtraButtonProps = {
2
+ borderless?: boolean;
3
+ rippleColor?: number | string | null;
4
+ rippleRadius?: number | null;
5
+ foreground?: boolean;
6
+ exclusive?: boolean;
7
+ };
@@ -2,7 +2,6 @@ import * as React from 'react';
2
2
  import { Component } from 'react';
3
3
  import { GestureEvent, HandlerStateChangeEvent } from '../../handlers/gestureHandlerCommon';
4
4
  import type { NativeViewGestureHandlerPayload } from '../../handlers/GestureHandlerEventPayload';
5
- import type { TouchableNativeFeedbackExtraProps } from './TouchableNativeFeedbackProps';
6
5
  import type { GenericTouchableProps } from './GenericTouchableProps';
7
6
  /**
8
7
  * Each touchable is a states' machine which preforms transitions.
@@ -18,7 +17,6 @@ export declare const TOUCHABLE_STATE: {
18
17
  };
19
18
  type TouchableState = (typeof TOUCHABLE_STATE)[keyof typeof TOUCHABLE_STATE];
20
19
  interface InternalProps {
21
- extraButtonProps: TouchableNativeFeedbackExtraProps;
22
20
  onStateChange?: (oldState: TouchableState, newState: TouchableState) => void;
23
21
  }
24
22
  type Timeout = ReturnType<typeof setTimeout> | null | undefined;
@@ -1,5 +1,6 @@
1
1
  import type { StyleProp, ViewStyle, TouchableWithoutFeedbackProps, Insets } from 'react-native';
2
2
  import type { UserSelect } from '../../handlers/gestureHandlerCommon';
3
+ import { ExtraButtonProps } from './ExtraButtonProps';
3
4
  export interface GenericTouchableProps extends Omit<TouchableWithoutFeedbackProps, 'hitSlop'> {
4
5
  onPress?: () => void;
5
6
  onPressIn?: () => void;
@@ -11,4 +12,5 @@ export interface GenericTouchableProps extends Omit<TouchableWithoutFeedbackProp
11
12
  containerStyle?: StyleProp<ViewStyle>;
12
13
  hitSlop?: Insets | number;
13
14
  userSelect?: UserSelect;
15
+ extraButtonProps?: ExtraButtonProps;
14
16
  }
@@ -11,11 +11,11 @@ interface State {
11
11
  };
12
12
  }
13
13
  /**
14
- * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler.
14
+ * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler. Use Pressable instead.
15
15
  */
16
16
  export type TouchableHighlightProps = RNTouchableHighlightProps & GenericTouchableProps;
17
17
  /**
18
- * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler.
18
+ * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler. Use Pressable instead.
19
19
  *
20
20
  * TouchableHighlight follows RN's implementation
21
21
  */
@@ -1,9 +1,9 @@
1
1
  import { ColorValue } from 'react-native';
2
2
  import * as React from 'react';
3
3
  import { Component } from 'react';
4
- import { TouchableNativeFeedbackProps, TouchableNativeFeedbackExtraProps } from './TouchableNativeFeedbackProps';
4
+ import { TouchableNativeFeedbackProps } from './TouchableNativeFeedbackProps';
5
5
  /**
6
- * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler.
6
+ * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
7
7
  *
8
8
  * TouchableNativeFeedback behaves slightly different than RN's TouchableNativeFeedback.
9
9
  * There's small difference with handling long press ripple since RN's implementation calls
@@ -35,6 +35,6 @@ export default class TouchableNativeFeedback extends Component<TouchableNativeFe
35
35
  rippleRadius: number | undefined;
36
36
  };
37
37
  static canUseNativeForeground: () => boolean;
38
- getExtraButtonProps(): TouchableNativeFeedbackExtraProps;
38
+ getExtraButtonProps(): import("./ExtraButtonProps").ExtraButtonProps;
39
39
  render(): React.JSX.Element;
40
40
  }
@@ -1,6 +1,6 @@
1
1
  import { TouchableNativeFeedback as RNTouchableNativeFeedback } from 'react-native';
2
2
  /**
3
- * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler.
3
+ * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
4
4
  */
5
5
  declare const TouchableNativeFeedback: typeof RNTouchableNativeFeedback;
6
6
  export default TouchableNativeFeedback;
@@ -1,12 +1,8 @@
1
1
  import type { TouchableNativeFeedbackProps as RNTouchableNativeFeedbackProps } from 'react-native';
2
2
  import type { GenericTouchableProps } from './GenericTouchableProps';
3
- export type TouchableNativeFeedbackExtraProps = {
4
- borderless?: boolean;
5
- rippleColor?: number | null;
6
- rippleRadius?: number | null;
7
- foreground?: boolean;
8
- };
3
+ import { ExtraButtonProps } from './ExtraButtonProps';
4
+ export type TouchableNativeFeedbackExtraProps = ExtraButtonProps;
9
5
  /**
10
- * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler.
6
+ * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
11
7
  */
12
8
  export type TouchableNativeFeedbackProps = RNTouchableNativeFeedbackProps & GenericTouchableProps;
@@ -3,13 +3,13 @@ import type { GenericTouchableProps } from './GenericTouchableProps';
3
3
  import * as React from 'react';
4
4
  import { Component } from 'react';
5
5
  /**
6
- * @deprecated TouchableOpacity will be removed in the future version of Gesture Handler.
6
+ * @deprecated TouchableOpacity will be removed in the future version of Gesture Handler. Use Pressable instead.
7
7
  */
8
8
  export type TouchableOpacityProps = RNTouchableOpacityProps & GenericTouchableProps & {
9
9
  useNativeAnimations?: boolean;
10
10
  };
11
11
  /**
12
- * @deprecated TouchableOpacity will be removed in the future version of Gesture Handler.
12
+ * @deprecated TouchableOpacity will be removed in the future version of Gesture Handler. Use Pressable instead.
13
13
  *
14
14
  * TouchableOpacity bases on timing animation which has been used in RN's core
15
15
  */
@@ -2,11 +2,11 @@ import * as React from 'react';
2
2
  import GenericTouchable from './GenericTouchable';
3
3
  import type { GenericTouchableProps } from './GenericTouchableProps';
4
4
  /**
5
- * @deprecated TouchableWithoutFeedback will be removed in the future version of Gesture Handler.
5
+ * @deprecated TouchableWithoutFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
6
6
  */
7
7
  export type TouchableWithoutFeedbackProps = GenericTouchableProps;
8
8
  /**
9
- * @deprecated TouchableWithoutFeedback will be removed in the future version of Gesture Handler.
9
+ * @deprecated TouchableWithoutFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
10
10
  */
11
11
  declare const TouchableWithoutFeedback: React.ForwardRefExoticComponent<GenericTouchableProps & {
12
12
  children?: React.ReactNode;
@@ -10,4 +10,4 @@ export declare function extractGestureRelations(gesture: GestureType): {
10
10
  export declare function checkGestureCallbacksForWorklets(gesture: GestureType): void;
11
11
  export declare function validateDetectorChildren(ref: any): void;
12
12
  export declare function useForceRender(): () => void;
13
- export declare function useWebEventHandlers(): import("react").MutableRefObject<WebEventHandler>;
13
+ export declare function useWebEventHandlers(): import("react").RefObject<WebEventHandler>;
@@ -5,6 +5,7 @@ export declare function hasProperty(object: object, key: string): boolean;
5
5
  export declare function isTestEnv(): boolean;
6
6
  export declare function tagMessage(msg: string): string;
7
7
  export declare function isFabric(): boolean;
8
+ export declare function isReact19(): boolean;
8
9
  export declare function isRemoteDebuggingEnabled(): boolean;
9
10
  /**
10
11
  * Recursively compares two objects for deep equality.
@@ -9,4 +9,6 @@ export declare function calculateViewScale(view: HTMLElement): {
9
9
  scaleY: number;
10
10
  };
11
11
  export declare function tryExtractStylusData(event: PointerEvent): StylusData | undefined;
12
+ export declare const RNSVGElements: Set<string>;
12
13
  export declare function isRNSVGElement(viewRef: SVGRef | GestureHandlerRef): boolean;
14
+ export declare function isRNSVGNode(node: any): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-gesture-handler",
3
- "version": "2.23.0",
3
+ "version": "2.24.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",
@@ -36,6 +36,7 @@
36
36
  "android/src/main/jni/",
37
37
  "android/fabric/src/main/java",
38
38
  "android/paper/src/main/java",
39
+ "android/paper77/src/main/java",
39
40
  "android/common/src/main/java/",
40
41
  "android/reanimated/src/main/java/",
41
42
  "android/noreanimated/src/main/java/",
@@ -74,13 +75,13 @@
74
75
  "@babel/core": "^7.25.2",
75
76
  "@babel/preset-env": "^7.25.3",
76
77
  "@babel/preset-typescript": "^7.12.7",
77
- "@react-native/babel-preset": "0.77.0-rc.3",
78
+ "@react-native/babel-preset": "0.78.0",
78
79
  "@testing-library/react-native": "^12.5.1",
79
80
  "@types/hoist-non-react-statics": "^3.3.1",
80
81
  "@types/invariant": "^2.2.37",
81
82
  "@types/jest": "^27.0.3",
82
- "@types/react": "^18.2.6",
83
- "@types/react-test-renderer": "^17.0.0",
83
+ "@types/react": "^19.0.0",
84
+ "@types/react-test-renderer": "^19.0.0",
84
85
  "@typescript-eslint/eslint-plugin": "^4.33.0",
85
86
  "@typescript-eslint/parser": "^4.33.0",
86
87
  "babel-plugin-module-resolver": "^5.0.2",
@@ -96,11 +97,11 @@
96
97
  "lint-staged": "^12.3.2",
97
98
  "madge": "^6.1.0",
98
99
  "prettier": "3.3.3",
99
- "react": "18.3.1",
100
- "react-native": "0.77.0-rc.3",
100
+ "react": "19.0.0",
101
+ "react-native": "0.78.0",
101
102
  "react-native-builder-bob": "^0.17.1",
102
- "react-native-reanimated": "^3.16.3",
103
- "react-test-renderer": "18.2.0",
103
+ "react-native-reanimated": "^3.12.0",
104
+ "react-test-renderer": "19.0.0",
104
105
  "release-it": "^13.6.5",
105
106
  "typescript": "5.0.4"
106
107
  },
@@ -142,7 +142,7 @@ export const FlatList = React.forwardRef((props, ref) => {
142
142
  RefAttributes<FlatList<ItemT>> &
143
143
  NativeViewGestureHandlerProps
144
144
  >,
145
- ref: ForwardedRef<FlatList<ItemT>>
145
+ ref?: ForwardedRef<FlatList<ItemT>>
146
146
  ) => ReactElement | null;
147
147
  // eslint-disable-next-line @typescript-eslint/no-redeclare
148
148
  export type FlatList<ItemT = any> = typeof FlatList & RNFlatList<ItemT>;
@@ -143,6 +143,12 @@ export interface DrawerLayoutProps {
143
143
  */
144
144
  drawerType?: DrawerType;
145
145
 
146
+ /**
147
+ * Speed of animation that will play when letting go, or dismissing the drawer.
148
+ * This will also be the default animation speed for programatic controlls.
149
+ */
150
+ animationSpeed?: number;
151
+
146
152
  /**
147
153
  * Defines how far from the edge of the content view the gesture should
148
154
  * activate.
@@ -256,6 +262,10 @@ const defaultProps = {
256
262
  statusBarAnimation: 'slide' as StatusBarAnimation,
257
263
  };
258
264
 
265
+ // StatusBar.setHidden and Keyboard.dismiss cannot be directly referenced in worklets.
266
+ const setStatusBarHidden = StatusBar.setHidden;
267
+ const dismissKeyboard = Keyboard.dismiss;
268
+
259
269
  const DrawerLayout = forwardRef<DrawerLayoutMethods, DrawerLayoutProps>(
260
270
  function DrawerLayout(props: DrawerLayoutProps, ref) {
261
271
  const [containerWidth, setContainerWidth] = useState(0);
@@ -288,6 +298,7 @@ const DrawerLayout = forwardRef<DrawerLayoutMethods, DrawerLayoutProps>(
288
298
  onDrawerClose,
289
299
  onDrawerOpen,
290
300
  onDrawerStateChanged,
301
+ animationSpeed: animationSpeedProp,
291
302
  } = props;
292
303
 
293
304
  const isFromLeft = drawerPosition === DrawerPosition.LEFT;
@@ -366,7 +377,7 @@ const DrawerLayout = forwardRef<DrawerLayoutMethods, DrawerLayoutProps>(
366
377
  runOnJS(setDrawerState)(DrawerState.SETTLING);
367
378
 
368
379
  if (hideStatusBar) {
369
- runOnJS(StatusBar.setHidden)(willShow, statusBarAnimation);
380
+ runOnJS(setStatusBarHidden)(willShow, statusBarAnimation);
370
381
  }
371
382
 
372
383
  const normalizedToValue = interpolate(
@@ -388,7 +399,9 @@ const DrawerLayout = forwardRef<DrawerLayoutMethods, DrawerLayoutProps>(
388
399
  {
389
400
  overshootClamping: true,
390
401
  velocity: normalizedInitialVelocity,
391
- mass: animationSpeed ? 1 / animationSpeed : 1,
402
+ mass: animationSpeed
403
+ ? 1 / animationSpeed
404
+ : 1 / (animationSpeedProp ?? 1),
392
405
  damping: 40,
393
406
  stiffness: 500,
394
407
  },
@@ -529,10 +542,10 @@ const DrawerLayout = forwardRef<DrawerLayoutMethods, DrawerLayoutProps>(
529
542
  emitStateChanged(DrawerState.DRAGGING, false);
530
543
  runOnJS(setDrawerState)(DrawerState.DRAGGING);
531
544
  if (keyboardDismissMode === DrawerKeyboardDismissMode.ON_DRAG) {
532
- runOnJS(Keyboard.dismiss)();
545
+ runOnJS(dismissKeyboard)();
533
546
  }
534
547
  if (hideStatusBar) {
535
- runOnJS(StatusBar.setHidden)(true, statusBarAnimation);
548
+ runOnJS(setStatusBarHidden)(true, statusBarAnimation);
536
549
  }
537
550
  })
538
551
  .onUpdate((event) => {
@@ -35,6 +35,11 @@ export const Text = forwardRef(
35
35
  }
36
36
  };
37
37
 
38
+ // This is a special case for `Text` component. After https://github.com/software-mansion/react-native-gesture-handler/pull/3379 we check for
39
+ // `displayName` field. However, `Text` from RN has this field set to `Text`, but is also present in `RNSVGElements` set.
40
+ // We don't want to treat our `Text` as the one from `SVG`, therefore we add special field to ref.
41
+ refHandler.rngh = true;
42
+
38
43
  useEffect(() => {
39
44
  if (Platform.OS !== 'web') {
40
45
  return;
@@ -0,0 +1,7 @@
1
+ export type ExtraButtonProps = {
2
+ borderless?: boolean;
3
+ rippleColor?: number | string | null;
4
+ rippleRadius?: number | null;
5
+ foreground?: boolean;
6
+ exclusive?: boolean;
7
+ };
@@ -10,7 +10,6 @@ import {
10
10
  HandlerStateChangeEvent,
11
11
  } from '../../handlers/gestureHandlerCommon';
12
12
  import type { NativeViewGestureHandlerPayload } from '../../handlers/GestureHandlerEventPayload';
13
- import type { TouchableNativeFeedbackExtraProps } from './TouchableNativeFeedbackProps';
14
13
  import type { GenericTouchableProps } from './GenericTouchableProps';
15
14
 
16
15
  /**
@@ -29,7 +28,6 @@ export const TOUCHABLE_STATE = {
29
28
  type TouchableState = (typeof TOUCHABLE_STATE)[keyof typeof TOUCHABLE_STATE];
30
29
 
31
30
  interface InternalProps {
32
- extraButtonProps: TouchableNativeFeedbackExtraProps;
33
31
  onStateChange?: (oldState: TouchableState, newState: TouchableState) => void;
34
32
  }
35
33
 
@@ -5,6 +5,7 @@ import type {
5
5
  Insets,
6
6
  } from 'react-native';
7
7
  import type { UserSelect } from '../../handlers/gestureHandlerCommon';
8
+ import { ExtraButtonProps } from './ExtraButtonProps';
8
9
 
9
10
  export interface GenericTouchableProps
10
11
  extends Omit<TouchableWithoutFeedbackProps, 'hitSlop'> {
@@ -23,4 +24,5 @@ export interface GenericTouchableProps
23
24
  containerStyle?: StyleProp<ViewStyle>;
24
25
  hitSlop?: Insets | number;
25
26
  userSelect?: UserSelect;
27
+ extraButtonProps?: ExtraButtonProps;
26
28
  }
@@ -20,13 +20,13 @@ interface State {
20
20
  }
21
21
 
22
22
  /**
23
- * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler.
23
+ * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler. Use Pressable instead.
24
24
  */
25
25
  export type TouchableHighlightProps = RNTouchableHighlightProps &
26
26
  GenericTouchableProps;
27
27
 
28
28
  /**
29
- * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler.
29
+ * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler. Use Pressable instead.
30
30
  *
31
31
  * TouchableHighlight follows RN's implementation
32
32
  */
@@ -8,7 +8,7 @@ import {
8
8
  } from './TouchableNativeFeedbackProps';
9
9
 
10
10
  /**
11
- * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler.
11
+ * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
12
12
  *
13
13
  * TouchableNativeFeedback behaves slightly different than RN's TouchableNativeFeedback.
14
14
  * There's small difference with handling long press ripple since RN's implementation calls
@@ -1,7 +1,7 @@
1
1
  import { TouchableNativeFeedback as RNTouchableNativeFeedback } from 'react-native';
2
2
 
3
3
  /**
4
- * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler.
4
+ * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
5
5
  */
6
6
  const TouchableNativeFeedback = RNTouchableNativeFeedback;
7
7
 
@@ -1,15 +1,10 @@
1
1
  import type { TouchableNativeFeedbackProps as RNTouchableNativeFeedbackProps } from 'react-native';
2
2
  import type { GenericTouchableProps } from './GenericTouchableProps';
3
+ import { ExtraButtonProps } from './ExtraButtonProps';
3
4
 
4
- export type TouchableNativeFeedbackExtraProps = {
5
- borderless?: boolean;
6
- rippleColor?: number | null;
7
- rippleRadius?: number | null;
8
- foreground?: boolean;
9
- };
10
-
5
+ export type TouchableNativeFeedbackExtraProps = ExtraButtonProps;
11
6
  /**
12
- * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler.
7
+ * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
13
8
  */
14
9
  export type TouchableNativeFeedbackProps = RNTouchableNativeFeedbackProps &
15
10
  GenericTouchableProps;
@@ -11,7 +11,7 @@ import * as React from 'react';
11
11
  import { Component } from 'react';
12
12
 
13
13
  /**
14
- * @deprecated TouchableOpacity will be removed in the future version of Gesture Handler.
14
+ * @deprecated TouchableOpacity will be removed in the future version of Gesture Handler. Use Pressable instead.
15
15
  */
16
16
  export type TouchableOpacityProps = RNTouchableOpacityProps &
17
17
  GenericTouchableProps & {
@@ -19,7 +19,7 @@ export type TouchableOpacityProps = RNTouchableOpacityProps &
19
19
  };
20
20
 
21
21
  /**
22
- * @deprecated TouchableOpacity will be removed in the future version of Gesture Handler.
22
+ * @deprecated TouchableOpacity will be removed in the future version of Gesture Handler. Use Pressable instead.
23
23
  *
24
24
  * TouchableOpacity bases on timing animation which has been used in RN's core
25
25
  */
@@ -4,18 +4,36 @@ import GenericTouchable from './GenericTouchable';
4
4
  import type { GenericTouchableProps } from './GenericTouchableProps';
5
5
 
6
6
  /**
7
- * @deprecated TouchableWithoutFeedback will be removed in the future version of Gesture Handler.
7
+ * @deprecated TouchableWithoutFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
8
8
  */
9
9
  export type TouchableWithoutFeedbackProps = GenericTouchableProps;
10
10
 
11
11
  /**
12
- * @deprecated TouchableWithoutFeedback will be removed in the future version of Gesture Handler.
12
+ * @deprecated TouchableWithoutFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
13
13
  */
14
14
  const TouchableWithoutFeedback = React.forwardRef<
15
15
  GenericTouchable,
16
16
  PropsWithChildren<TouchableWithoutFeedbackProps>
17
- >((props, ref) => <GenericTouchable ref={ref} {...props} />);
17
+ >(
18
+ (
19
+ {
20
+ delayLongPress = 600,
21
+ extraButtonProps = {
22
+ rippleColor: 'transparent',
23
+ exclusive: true,
24
+ },
25
+ ...rest
26
+ },
18
27
 
19
- TouchableWithoutFeedback.defaultProps = GenericTouchable.defaultProps;
28
+ ref
29
+ ) => (
30
+ <GenericTouchable
31
+ ref={ref}
32
+ delayLongPress={delayLongPress}
33
+ extraButtonProps={extraButtonProps}
34
+ {...rest}
35
+ />
36
+ )
37
+ );
20
38
 
21
39
  export default TouchableWithoutFeedback;
@@ -23,12 +23,19 @@ import {
23
23
  import { filterConfig, scheduleFlushOperations } from './utils';
24
24
  import findNodeHandle from '../findNodeHandle';
25
25
  import { ValueOf } from '../typeUtils';
26
- import { deepEqual, isFabric, isTestEnv, tagMessage } from '../utils';
26
+ import {
27
+ deepEqual,
28
+ isFabric,
29
+ isReact19,
30
+ isTestEnv,
31
+ tagMessage,
32
+ } from '../utils';
27
33
  import { ActionType } from '../ActionType';
28
34
  import { PressabilityDebugView } from './PressabilityDebugView';
29
35
  import GestureHandlerRootViewContext from '../GestureHandlerRootViewContext';
30
36
  import { ghQueueMicrotask } from '../ghQueueMicrotask';
31
37
  import { MountRegistry } from '../mountRegistry';
38
+ import { ReactElement } from 'react';
32
39
 
33
40
  const UIManagerAny = UIManager as any;
34
41
 
@@ -308,14 +315,18 @@ export default function createHandler<
308
315
  this.viewNode = node;
309
316
 
310
317
  const child = React.Children.only(this.props.children);
311
- // TODO(TS) fix ref type
312
- const { ref }: any = child;
313
- if (ref !== null) {
314
- if (typeof ref === 'function') {
315
- ref(node);
316
- } else {
317
- ref.current = node;
318
- }
318
+ // @ts-ignore Since React 19 ref is accessible as standard prop
319
+ // https://react.dev/blog/2024/04/25/react-19-upgrade-guide#deprecated-element-ref
320
+ const ref = isReact19() ? (child as ReactElement).props?.ref : child?.ref;
321
+
322
+ if (!ref) {
323
+ return;
324
+ }
325
+
326
+ if (typeof ref === 'function') {
327
+ ref(node);
328
+ } else {
329
+ ref.current = node;
319
330
  }
320
331
  };
321
332
 
@@ -44,11 +44,15 @@ export default function createNativeWrapper<P>(
44
44
  },
45
45
  {
46
46
  gestureHandlerProps: { ...config }, // Watch out not to modify config
47
- childProps: { enabled: props.enabled } as P,
47
+ childProps: {
48
+ enabled: props.enabled,
49
+ hitSlop: props.hitSlop,
50
+ testID: props.testID,
51
+ } as P,
48
52
  }
49
53
  );
50
- const _ref = useRef<React.ComponentType<P>>();
51
- const _gestureHandlerRef = useRef<React.ComponentType<P>>();
54
+ const _ref = useRef<React.ComponentType<P>>(null);
55
+ const _gestureHandlerRef = useRef<React.ComponentType<P>>(null);
52
56
  useImperativeHandle(
53
57
  ref,
54
58
  // @ts-ignore TODO(TS) decide how nulls work in this context
@@ -1,6 +1,7 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  import type { LegacyRef, PropsWithChildren } from 'react';
3
3
  import { tagMessage } from '../../../utils';
4
+ import { isRNSVGNode } from '../../../web/utils';
4
5
 
5
6
  export const Wrap = forwardRef<HTMLDivElement, PropsWithChildren<{}>>(
6
7
  ({ children }, ref) => {
@@ -8,10 +9,7 @@ export const Wrap = forwardRef<HTMLDivElement, PropsWithChildren<{}>>(
8
9
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
10
  const child: any = React.Children.only(children);
10
11
 
11
- const isRNSVGNode =
12
- Object.getPrototypeOf(child?.type)?.name === 'WebShape';
13
-
14
- if (isRNSVGNode) {
12
+ if (isRNSVGNode(child)) {
15
13
  const clone = React.cloneElement(
16
14
  child,
17
15
  { ref },
package/src/utils.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import React from 'react';
2
+
1
3
  export function toArray<T>(object: T | T[]): T[] {
2
4
  if (!Array.isArray(object)) {
3
5
  return [object];
@@ -50,6 +52,10 @@ export function isFabric(): boolean {
50
52
  return !!global?.nativeFabricUIManager;
51
53
  }
52
54
 
55
+ export function isReact19() {
56
+ return React.version.startsWith('19.');
57
+ }
58
+
53
59
  export function isRemoteDebuggingEnabled(): boolean {
54
60
  // react-native-reanimated checks if in remote debugging in the same way
55
61
  // @ts-ignore global is available but node types are not included