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
@@ -4,23 +4,38 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = Pressable;
7
+
7
8
  var _react = _interopRequireWildcard(require("react"));
9
+
8
10
  var _gestureObjects = require("../../handlers/gestures/gestureObjects");
11
+
9
12
  var _GestureDetector = require("../../handlers/gestures/GestureDetector");
13
+
10
14
  var _reactNative = require("react-native");
15
+
11
16
  var _GestureHandlerButton = _interopRequireDefault(require("../GestureHandlerButton"));
17
+
12
18
  var _utils = require("./utils");
19
+
13
20
  var _PressabilityDebugView = require("../../handlers/PressabilityDebugView");
21
+
14
22
  var _utils2 = require("../../utils");
15
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
27
+
28
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
30
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
31
+
19
32
  const DEFAULT_LONG_PRESS_DURATION = 500;
20
33
  const IS_TEST_ENV = (0, _utils2.isTestEnv)();
21
34
  let IS_FABRIC = null;
35
+
22
36
  function Pressable(props) {
23
37
  var _android_ripple$radiu;
38
+
24
39
  const {
25
40
  testOnly_pressed,
26
41
  hitSlop,
@@ -43,9 +58,8 @@ function Pressable(props) {
43
58
  ...remainingProps
44
59
  } = props;
45
60
  const [pressedState, setPressedState] = (0, _react.useState)(testOnly_pressed !== null && testOnly_pressed !== void 0 ? testOnly_pressed : false);
46
- const pressableRef = (0, _react.useRef)(null);
61
+ const pressableRef = (0, _react.useRef)(null); // Disabled when onLongPress has been called
47
62
 
48
- // Disabled when onLongPress has been called
49
63
  const isPressCallbackEnabled = (0, _react.useRef)(true);
50
64
  const hasPassedBoundsChecks = (0, _react.useRef)(false);
51
65
  const shouldPreventNativeEffects = (0, _react.useRef)(false);
@@ -58,35 +72,40 @@ function Pressable(props) {
58
72
  if (hoverOutTimeout.current) {
59
73
  clearTimeout(hoverOutTimeout.current);
60
74
  }
75
+
61
76
  if (delayHoverIn) {
62
77
  hoverInTimeout.current = setTimeout(() => onHoverIn === null || onHoverIn === void 0 ? void 0 : onHoverIn((0, _utils.gestureToPressableEvent)(event)), delayHoverIn);
63
78
  return;
64
79
  }
65
- onHoverIn === null || onHoverIn === void 0 || onHoverIn((0, _utils.gestureToPressableEvent)(event));
80
+
81
+ onHoverIn === null || onHoverIn === void 0 ? void 0 : onHoverIn((0, _utils.gestureToPressableEvent)(event));
66
82
  }).onFinalize(event => {
67
83
  if (hoverInTimeout.current) {
68
84
  clearTimeout(hoverInTimeout.current);
69
85
  }
86
+
70
87
  if (delayHoverOut) {
71
88
  hoverOutTimeout.current = setTimeout(() => onHoverOut === null || onHoverOut === void 0 ? void 0 : onHoverOut((0, _utils.gestureToPressableEvent)(event)), delayHoverOut);
72
89
  return;
73
90
  }
74
- onHoverOut === null || onHoverOut === void 0 || onHoverOut((0, _utils.gestureToPressableEvent)(event));
91
+
92
+ onHoverOut === null || onHoverOut === void 0 ? void 0 : onHoverOut((0, _utils.gestureToPressableEvent)(event));
75
93
  }), [delayHoverIn, delayHoverOut, onHoverIn, onHoverOut]);
76
94
  const pressDelayTimeoutRef = (0, _react.useRef)(null);
77
- const isTouchPropagationAllowed = (0, _react.useRef)(false);
95
+ const isTouchPropagationAllowed = (0, _react.useRef)(false); // iOS only: due to varying flow of gestures, events sometimes have to be saved for later use
78
96
 
79
- // iOS only: due to varying flow of gestures, events sometimes have to be saved for later use
80
97
  const deferredEventPayload = (0, _react.useRef)(null);
81
98
  const pressInHandler = (0, _react.useCallback)(event => {
82
99
  if (handlingOnTouchesDown.current) {
83
100
  deferredEventPayload.current = event;
84
101
  }
102
+
85
103
  if (!isTouchPropagationAllowed.current) {
86
104
  return;
87
105
  }
106
+
88
107
  deferredEventPayload.current = null;
89
- onPressIn === null || onPressIn === void 0 || onPressIn(event);
108
+ onPressIn === null || onPressIn === void 0 ? void 0 : onPressIn(event);
90
109
  isPressCallbackEnabled.current = true;
91
110
  pressDelayTimeoutRef.current = null;
92
111
  setPressedState(true);
@@ -95,6 +114,7 @@ function Pressable(props) {
95
114
  if (!hasPassedBoundsChecks.current || event.nativeEvent.touches.length > event.nativeEvent.changedTouches.length) {
96
115
  return;
97
116
  }
117
+
98
118
  if (unstable_pressDelay && pressDelayTimeoutRef.current !== null) {
99
119
  // When delay is preemptively finished by lifting touches,
100
120
  // we want to immediately activate it's effects - pressInHandler,
@@ -102,18 +122,23 @@ function Pressable(props) {
102
122
  clearTimeout(pressDelayTimeoutRef.current);
103
123
  pressInHandler(event);
104
124
  }
125
+
105
126
  if (deferredEventPayload.current) {
106
- onPressIn === null || onPressIn === void 0 || onPressIn(deferredEventPayload.current);
127
+ onPressIn === null || onPressIn === void 0 ? void 0 : onPressIn(deferredEventPayload.current);
107
128
  deferredEventPayload.current = null;
108
129
  }
109
- onPressOut === null || onPressOut === void 0 || onPressOut(event);
130
+
131
+ onPressOut === null || onPressOut === void 0 ? void 0 : onPressOut(event);
132
+
110
133
  if (isPressCallbackEnabled.current) {
111
- onPress === null || onPress === void 0 || onPress(event);
134
+ onPress === null || onPress === void 0 ? void 0 : onPress(event);
112
135
  }
136
+
113
137
  if (longPressTimeoutRef.current) {
114
138
  clearTimeout(longPressTimeoutRef.current);
115
139
  longPressTimeoutRef.current = null;
116
140
  }
141
+
117
142
  isTouchPropagationAllowed.current = false;
118
143
  hasPassedBoundsChecks.current = false;
119
144
  isPressCallbackEnabled.current = true;
@@ -126,10 +151,12 @@ function Pressable(props) {
126
151
  if (!isTouchPropagationAllowed.current) {
127
152
  return;
128
153
  }
154
+
129
155
  if (hasPassedBoundsChecks.current) {
130
- onLongPress === null || onLongPress === void 0 || onLongPress((0, _utils.gestureTouchToPressableEvent)(event));
156
+ onLongPress === null || onLongPress === void 0 ? void 0 : onLongPress((0, _utils.gestureTouchToPressableEvent)(event));
131
157
  isPressCallbackEnabled.current = false;
132
158
  }
159
+
133
160
  if (longPressTimeoutRef.current) {
134
161
  clearTimeout(longPressTimeoutRef.current);
135
162
  longPressTimeoutRef.current = null;
@@ -141,9 +168,11 @@ function Pressable(props) {
141
168
  .maxDistance(_utils2.INT32_MAX) // Stops long press from cancelling after set distance
142
169
  .cancelsTouchesInView(false).onTouchesDown(event => {
143
170
  var _pressableRef$current;
171
+
144
172
  handlingOnTouchesDown.current = true;
145
- (_pressableRef$current = pressableRef.current) === null || _pressableRef$current === void 0 || _pressableRef$current.measure((_x, _y, width, height) => {
173
+ (_pressableRef$current = pressableRef.current) === null || _pressableRef$current === void 0 ? void 0 : _pressableRef$current.measure((_x, _y, width, height) => {
146
174
  var _onEndHandlingTouches;
175
+
147
176
  if (!(0, _utils.isTouchWithinInset)({
148
177
  width,
149
178
  height
@@ -153,13 +182,14 @@ function Pressable(props) {
153
182
  handlingOnTouchesDown.current = false;
154
183
  return;
155
184
  }
156
- hasPassedBoundsChecks.current = true;
157
185
 
158
- // In case of multiple touches, the first one starts long press gesture
186
+ hasPassedBoundsChecks.current = true; // In case of multiple touches, the first one starts long press gesture
187
+
159
188
  if (longPressTimeoutRef.current === null) {
160
189
  // Start long press gesture timer
161
190
  longPressTimeoutRef.current = setTimeout(() => activateLongPress(event), longPressMinDuration);
162
191
  }
192
+
163
193
  if (unstable_pressDelay) {
164
194
  pressDelayTimeoutRef.current = setTimeout(() => {
165
195
  pressInHandler((0, _utils.gestureTouchToPressableEvent)(event));
@@ -167,35 +197,43 @@ function Pressable(props) {
167
197
  } else {
168
198
  pressInHandler((0, _utils.gestureTouchToPressableEvent)(event));
169
199
  }
170
- (_onEndHandlingTouches = onEndHandlingTouchesDown.current) === null || _onEndHandlingTouches === void 0 || _onEndHandlingTouches.call(onEndHandlingTouchesDown);
200
+
201
+ (_onEndHandlingTouches = onEndHandlingTouchesDown.current) === null || _onEndHandlingTouches === void 0 ? void 0 : _onEndHandlingTouches.call(onEndHandlingTouchesDown);
171
202
  onEndHandlingTouchesDown.current = null;
172
203
  handlingOnTouchesDown.current = false;
173
204
  });
174
205
  }).onTouchesUp(event => {
175
206
  if (handlingOnTouchesDown.current) {
176
207
  onEndHandlingTouchesDown.current = () => pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
208
+
177
209
  return;
178
- }
179
- // On iOS, short taps will make LongPress gesture call onTouchesUp before Native gesture calls onStart
210
+ } // On iOS, short taps will make LongPress gesture call onTouchesUp before Native gesture calls onStart
180
211
  // This variable ensures that onStart isn't detected as the first gesture since Pressable is pressed.
212
+
213
+
181
214
  if (deferredEventPayload.current !== null) {
182
215
  shouldPreventNativeEffects.current = true;
183
216
  }
217
+
184
218
  pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
185
219
  }).onTouchesCancelled(event => {
186
220
  isPressCallbackEnabled.current = false;
221
+
187
222
  if (handlingOnTouchesDown.current) {
188
223
  cancelledMidPress.current = true;
224
+
189
225
  onEndHandlingTouchesDown.current = () => pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
226
+
190
227
  return;
191
228
  }
229
+
192
230
  if (!hasPassedBoundsChecks.current || event.allTouches.length > event.changedTouches.length) {
193
231
  return;
194
232
  }
233
+
195
234
  pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
196
- }), [activateLongPress, longPressMinDuration, normalizedHitSlop, pressInHandler, pressOutHandler, unstable_pressDelay]);
235
+ }), [activateLongPress, longPressMinDuration, normalizedHitSlop, pressInHandler, pressOutHandler, unstable_pressDelay]); // RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events
197
236
 
198
- // RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events
199
237
  const buttonGesture = (0, _react.useMemo)(() => _gestureObjects.GestureObjects.Native().onBegin(() => {
200
238
  // Android sets BEGAN state on press down
201
239
  if (_reactNative.Platform.OS === 'android' || _reactNative.Platform.OS === 'macos') {
@@ -204,14 +242,16 @@ function Pressable(props) {
204
242
  }).onStart(() => {
205
243
  if (_reactNative.Platform.OS === 'web') {
206
244
  isTouchPropagationAllowed.current = true;
207
- }
245
+ } // iOS sets ACTIVE state on press down
246
+
208
247
 
209
- // iOS sets ACTIVE state on press down
210
248
  if (_reactNative.Platform.OS !== 'ios') {
211
249
  return;
212
250
  }
251
+
213
252
  if (deferredEventPayload.current) {
214
253
  isTouchPropagationAllowed.current = true;
254
+
215
255
  if (hasPassedBoundsChecks.current) {
216
256
  pressInHandler(deferredEventPayload.current);
217
257
  deferredEventPayload.current = null;
@@ -219,33 +259,39 @@ function Pressable(props) {
219
259
  pressOutHandler(deferredEventPayload.current);
220
260
  isTouchPropagationAllowed.current = false;
221
261
  }
262
+
222
263
  return;
223
264
  }
265
+
224
266
  if (hasPassedBoundsChecks.current) {
225
267
  isTouchPropagationAllowed.current = true;
226
268
  return;
227
269
  }
270
+
228
271
  if (shouldPreventNativeEffects.current) {
229
272
  shouldPreventNativeEffects.current = false;
230
273
  return;
231
274
  }
275
+
232
276
  isTouchPropagationAllowed.current = true;
233
277
  }), [pressInHandler, pressOutHandler]);
234
278
  const appliedHitSlop = (0, _utils.addInsets)(normalizedHitSlop, normalizedPressRetentionOffset);
235
279
  const isPressableEnabled = disabled !== true;
236
280
  const gestures = [buttonGesture, pressAndTouchGesture, hoverGesture];
281
+
237
282
  for (const gesture of gestures) {
238
283
  gesture.enabled(isPressableEnabled);
239
284
  gesture.runOnJS(true);
240
285
  gesture.hitSlop(appliedHitSlop);
241
286
  gesture.shouldCancelWhenOutside(_reactNative.Platform.OS === 'web' ? false : true);
242
- }
287
+ } // Uses different hitSlop, to activate on hitSlop area instead of pressRetentionOffset area
288
+
243
289
 
244
- // Uses different hitSlop, to activate on hitSlop area instead of pressRetentionOffset area
245
290
  buttonGesture.hitSlop(normalizedHitSlop);
246
- const gesture = _gestureObjects.GestureObjects.Simultaneous(...gestures);
247
291
 
248
- // `cursor: 'pointer'` on `RNButton` crashes iOS
292
+ const gesture = _gestureObjects.GestureObjects.Simultaneous(...gestures); // `cursor: 'pointer'` on `RNButton` crashes iOS
293
+
294
+
249
295
  const pointerStyle = _reactNative.Platform.OS === 'web' ? {
250
296
  cursor: 'pointer'
251
297
  } : {};
@@ -257,9 +303,11 @@ function Pressable(props) {
257
303
  }) : children;
258
304
  const rippleColor = (0, _react.useMemo)(() => {
259
305
  var _android_ripple$color;
306
+
260
307
  if (IS_FABRIC === null) {
261
308
  IS_FABRIC = (0, _utils2.isFabric)();
262
309
  }
310
+
263
311
  const defaultRippleColor = android_ripple ? undefined : 'transparent';
264
312
  const unprocessedRippleColor = (_android_ripple$color = android_ripple === null || android_ripple === void 0 ? void 0 : android_ripple.color) !== null && _android_ripple$color !== void 0 ? _android_ripple$color : defaultRippleColor;
265
313
  return IS_FABRIC ? unprocessedRippleColor : (0, _reactNative.processColor)(unprocessedRippleColor);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_gestureObjects","_GestureDetector","_reactNative","_GestureHandlerButton","_interopRequireDefault","_utils","_PressabilityDebugView","_utils2","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","DEFAULT_LONG_PRESS_DURATION","IS_TEST_ENV","isTestEnv","IS_FABRIC","Pressable","props","_android_ripple$radiu","testOnly_pressed","hitSlop","pressRetentionOffset","delayHoverIn","onHoverIn","delayHoverOut","onHoverOut","delayLongPress","unstable_pressDelay","onPress","onPressIn","onPressOut","onLongPress","style","children","android_disableSound","android_ripple","disabled","remainingProps","pressedState","setPressedState","useState","pressableRef","useRef","isPressCallbackEnabled","hasPassedBoundsChecks","shouldPreventNativeEffects","normalizedHitSlop","useMemo","numberAsInset","normalizedPressRetentionOffset","hoverInTimeout","hoverOutTimeout","hoverGesture","Gesture","Hover","manualActivation","cancelsTouchesInView","onBegin","event","current","clearTimeout","setTimeout","gestureToPressableEvent","onFinalize","pressDelayTimeoutRef","isTouchPropagationAllowed","deferredEventPayload","pressInHandler","useCallback","handlingOnTouchesDown","pressOutHandler","nativeEvent","touches","changedTouches","longPressTimeoutRef","onEndHandlingTouchesDown","cancelledMidPress","activateLongPress","gestureTouchToPressableEvent","longPressMinDuration","pressAndTouchGesture","LongPress","minDuration","INT32_MAX","maxDistance","onTouchesDown","_pressableRef$current","measure","_x","_y","width","height","_onEndHandlingTouches","isTouchWithinInset","at","onTouchesUp","onTouchesCancelled","allTouches","buttonGesture","Native","Platform","OS","onStart","appliedHitSlop","addInsets","isPressableEnabled","gestures","gesture","enabled","runOnJS","shouldCancelWhenOutside","Simultaneous","pointerStyle","cursor","styleProp","pressed","childrenProp","rippleColor","_android_ripple$color","isFabric","defaultRippleColor","undefined","unprocessedRippleColor","color","processColor","createElement","GestureDetector","ref","touchSoundDisabled","rippleRadius","radius","testOnly_onPress","testOnly_onPressIn","testOnly_onPressOut","testOnly_onLongPress","__DEV__","PressabilityDebugView"],"sources":["Pressable.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { GestureObjects as Gesture } from '../../handlers/gestures/gestureObjects';\nimport { GestureDetector } from '../../handlers/gestures/GestureDetector';\nimport { PressableEvent, PressableProps } from './PressableProps';\nimport {\n Insets,\n Platform,\n StyleProp,\n View,\n ViewStyle,\n processColor,\n} from 'react-native';\nimport NativeButton from '../GestureHandlerButton';\nimport {\n numberAsInset,\n gestureToPressableEvent,\n isTouchWithinInset,\n gestureTouchToPressableEvent,\n addInsets,\n} from './utils';\nimport { PressabilityDebugView } from '../../handlers/PressabilityDebugView';\nimport { GestureTouchEvent } from '../../handlers/gestureHandlerCommon';\nimport { INT32_MAX, isFabric, isTestEnv } from '../../utils';\n\nconst DEFAULT_LONG_PRESS_DURATION = 500;\nconst IS_TEST_ENV = isTestEnv();\n\nlet IS_FABRIC: null | boolean = null;\n\nexport default function Pressable(props: PressableProps) {\n const {\n testOnly_pressed,\n hitSlop,\n pressRetentionOffset,\n delayHoverIn,\n onHoverIn,\n delayHoverOut,\n onHoverOut,\n delayLongPress,\n unstable_pressDelay,\n onPress,\n onPressIn,\n onPressOut,\n onLongPress,\n style,\n children,\n android_disableSound,\n android_ripple,\n disabled,\n ...remainingProps\n } = props;\n\n const [pressedState, setPressedState] = useState(testOnly_pressed ?? false);\n\n const pressableRef = useRef<View>(null);\n\n // Disabled when onLongPress has been called\n const isPressCallbackEnabled = useRef<boolean>(true);\n const hasPassedBoundsChecks = useRef<boolean>(false);\n const shouldPreventNativeEffects = useRef<boolean>(false);\n\n const normalizedHitSlop: Insets = useMemo(\n () =>\n typeof hitSlop === 'number' ? numberAsInset(hitSlop) : (hitSlop ?? {}),\n [hitSlop]\n );\n\n const normalizedPressRetentionOffset: Insets = useMemo(\n () =>\n typeof pressRetentionOffset === 'number'\n ? numberAsInset(pressRetentionOffset)\n : (pressRetentionOffset ?? {}),\n [pressRetentionOffset]\n );\n\n const hoverInTimeout = useRef<number | null>(null);\n const hoverOutTimeout = useRef<number | null>(null);\n\n const hoverGesture = useMemo(\n () =>\n Gesture.Hover()\n .manualActivation(true) // Stops Hover from blocking Native gesture activation on web\n .cancelsTouchesInView(false)\n .onBegin((event) => {\n if (hoverOutTimeout.current) {\n clearTimeout(hoverOutTimeout.current);\n }\n if (delayHoverIn) {\n hoverInTimeout.current = setTimeout(\n () => onHoverIn?.(gestureToPressableEvent(event)),\n delayHoverIn\n );\n return;\n }\n onHoverIn?.(gestureToPressableEvent(event));\n })\n .onFinalize((event) => {\n if (hoverInTimeout.current) {\n clearTimeout(hoverInTimeout.current);\n }\n if (delayHoverOut) {\n hoverOutTimeout.current = setTimeout(\n () => onHoverOut?.(gestureToPressableEvent(event)),\n delayHoverOut\n );\n return;\n }\n onHoverOut?.(gestureToPressableEvent(event));\n }),\n [delayHoverIn, delayHoverOut, onHoverIn, onHoverOut]\n );\n\n const pressDelayTimeoutRef = useRef<number | null>(null);\n const isTouchPropagationAllowed = useRef<boolean>(false);\n\n // iOS only: due to varying flow of gestures, events sometimes have to be saved for later use\n const deferredEventPayload = useRef<PressableEvent | null>(null);\n\n const pressInHandler = useCallback(\n (event: PressableEvent) => {\n if (handlingOnTouchesDown.current) {\n deferredEventPayload.current = event;\n }\n\n if (!isTouchPropagationAllowed.current) {\n return;\n }\n\n deferredEventPayload.current = null;\n\n onPressIn?.(event);\n isPressCallbackEnabled.current = true;\n pressDelayTimeoutRef.current = null;\n setPressedState(true);\n },\n [onPressIn]\n );\n\n const pressOutHandler = useCallback(\n (event: PressableEvent) => {\n if (\n !hasPassedBoundsChecks.current ||\n event.nativeEvent.touches.length >\n event.nativeEvent.changedTouches.length\n ) {\n return;\n }\n\n if (unstable_pressDelay && pressDelayTimeoutRef.current !== null) {\n // When delay is preemptively finished by lifting touches,\n // we want to immediately activate it's effects - pressInHandler,\n // even though we are located at the pressOutHandler\n clearTimeout(pressDelayTimeoutRef.current);\n pressInHandler(event);\n }\n\n if (deferredEventPayload.current) {\n onPressIn?.(deferredEventPayload.current);\n deferredEventPayload.current = null;\n }\n\n onPressOut?.(event);\n\n if (isPressCallbackEnabled.current) {\n onPress?.(event);\n }\n\n if (longPressTimeoutRef.current) {\n clearTimeout(longPressTimeoutRef.current);\n longPressTimeoutRef.current = null;\n }\n\n isTouchPropagationAllowed.current = false;\n hasPassedBoundsChecks.current = false;\n isPressCallbackEnabled.current = true;\n setPressedState(false);\n },\n [onPress, onPressIn, onPressOut, pressInHandler, unstable_pressDelay]\n );\n\n const handlingOnTouchesDown = useRef<boolean>(false);\n const onEndHandlingTouchesDown = useRef<(() => void) | null>(null);\n const cancelledMidPress = useRef<boolean>(false);\n\n const activateLongPress = useCallback(\n (event: GestureTouchEvent) => {\n if (!isTouchPropagationAllowed.current) {\n return;\n }\n\n if (hasPassedBoundsChecks.current) {\n onLongPress?.(gestureTouchToPressableEvent(event));\n isPressCallbackEnabled.current = false;\n }\n\n if (longPressTimeoutRef.current) {\n clearTimeout(longPressTimeoutRef.current);\n longPressTimeoutRef.current = null;\n }\n },\n [onLongPress]\n );\n\n const longPressTimeoutRef = useRef<number | null>(null);\n const longPressMinDuration =\n (delayLongPress ?? DEFAULT_LONG_PRESS_DURATION) +\n (unstable_pressDelay ?? 0);\n\n const pressAndTouchGesture = useMemo(\n () =>\n Gesture.LongPress()\n .minDuration(INT32_MAX) // Stops long press from blocking native gesture\n .maxDistance(INT32_MAX) // Stops long press from cancelling after set distance\n .cancelsTouchesInView(false)\n .onTouchesDown((event) => {\n handlingOnTouchesDown.current = true;\n pressableRef.current?.measure((_x, _y, width, height) => {\n if (\n !isTouchWithinInset(\n {\n width,\n height,\n },\n normalizedHitSlop,\n event.changedTouches.at(-1)\n ) ||\n hasPassedBoundsChecks.current ||\n cancelledMidPress.current\n ) {\n cancelledMidPress.current = false;\n onEndHandlingTouchesDown.current = null;\n handlingOnTouchesDown.current = false;\n return;\n }\n\n hasPassedBoundsChecks.current = true;\n\n // In case of multiple touches, the first one starts long press gesture\n if (longPressTimeoutRef.current === null) {\n // Start long press gesture timer\n longPressTimeoutRef.current = setTimeout(\n () => activateLongPress(event),\n longPressMinDuration\n );\n }\n\n if (unstable_pressDelay) {\n pressDelayTimeoutRef.current = setTimeout(() => {\n pressInHandler(gestureTouchToPressableEvent(event));\n }, unstable_pressDelay);\n } else {\n pressInHandler(gestureTouchToPressableEvent(event));\n }\n\n onEndHandlingTouchesDown.current?.();\n onEndHandlingTouchesDown.current = null;\n handlingOnTouchesDown.current = false;\n });\n })\n .onTouchesUp((event) => {\n if (handlingOnTouchesDown.current) {\n onEndHandlingTouchesDown.current = () =>\n pressOutHandler(gestureTouchToPressableEvent(event));\n return;\n }\n // On iOS, short taps will make LongPress gesture call onTouchesUp before Native gesture calls onStart\n // This variable ensures that onStart isn't detected as the first gesture since Pressable is pressed.\n if (deferredEventPayload.current !== null) {\n shouldPreventNativeEffects.current = true;\n }\n pressOutHandler(gestureTouchToPressableEvent(event));\n })\n .onTouchesCancelled((event) => {\n isPressCallbackEnabled.current = false;\n\n if (handlingOnTouchesDown.current) {\n cancelledMidPress.current = true;\n onEndHandlingTouchesDown.current = () =>\n pressOutHandler(gestureTouchToPressableEvent(event));\n return;\n }\n\n if (\n !hasPassedBoundsChecks.current ||\n event.allTouches.length > event.changedTouches.length\n ) {\n return;\n }\n\n pressOutHandler(gestureTouchToPressableEvent(event));\n }),\n [\n activateLongPress,\n longPressMinDuration,\n normalizedHitSlop,\n pressInHandler,\n pressOutHandler,\n unstable_pressDelay,\n ]\n );\n\n // RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events\n const buttonGesture = useMemo(\n () =>\n Gesture.Native()\n .onBegin(() => {\n // Android sets BEGAN state on press down\n if (Platform.OS === 'android' || Platform.OS === 'macos') {\n isTouchPropagationAllowed.current = true;\n }\n })\n .onStart(() => {\n if (Platform.OS === 'web') {\n isTouchPropagationAllowed.current = true;\n }\n\n // iOS sets ACTIVE state on press down\n if (Platform.OS !== 'ios') {\n return;\n }\n\n if (deferredEventPayload.current) {\n isTouchPropagationAllowed.current = true;\n\n if (hasPassedBoundsChecks.current) {\n pressInHandler(deferredEventPayload.current);\n deferredEventPayload.current = null;\n } else {\n pressOutHandler(deferredEventPayload.current);\n isTouchPropagationAllowed.current = false;\n }\n\n return;\n }\n\n if (hasPassedBoundsChecks.current) {\n isTouchPropagationAllowed.current = true;\n return;\n }\n\n if (shouldPreventNativeEffects.current) {\n shouldPreventNativeEffects.current = false;\n return;\n }\n\n isTouchPropagationAllowed.current = true;\n }),\n [pressInHandler, pressOutHandler]\n );\n\n const appliedHitSlop = addInsets(\n normalizedHitSlop,\n normalizedPressRetentionOffset\n );\n\n const isPressableEnabled = disabled !== true;\n\n const gestures = [buttonGesture, pressAndTouchGesture, hoverGesture];\n\n for (const gesture of gestures) {\n gesture.enabled(isPressableEnabled);\n gesture.runOnJS(true);\n gesture.hitSlop(appliedHitSlop);\n gesture.shouldCancelWhenOutside(Platform.OS === 'web' ? false : true);\n }\n\n // Uses different hitSlop, to activate on hitSlop area instead of pressRetentionOffset area\n buttonGesture.hitSlop(normalizedHitSlop);\n\n const gesture = Gesture.Simultaneous(...gestures);\n\n // `cursor: 'pointer'` on `RNButton` crashes iOS\n const pointerStyle: StyleProp<ViewStyle> =\n Platform.OS === 'web' ? { cursor: 'pointer' } : {};\n\n const styleProp =\n typeof style === 'function' ? style({ pressed: pressedState }) : style;\n\n const childrenProp =\n typeof children === 'function'\n ? children({ pressed: pressedState })\n : children;\n\n const rippleColor = useMemo(() => {\n if (IS_FABRIC === null) {\n IS_FABRIC = isFabric();\n }\n\n const defaultRippleColor = android_ripple ? undefined : 'transparent';\n const unprocessedRippleColor = android_ripple?.color ?? defaultRippleColor;\n return IS_FABRIC\n ? unprocessedRippleColor\n : processColor(unprocessedRippleColor);\n }, [android_ripple]);\n\n return (\n <GestureDetector gesture={gesture}>\n <NativeButton\n {...remainingProps}\n ref={pressableRef}\n hitSlop={appliedHitSlop}\n enabled={isPressableEnabled}\n touchSoundDisabled={android_disableSound ?? undefined}\n rippleColor={rippleColor}\n rippleRadius={android_ripple?.radius ?? undefined}\n style={[pointerStyle, styleProp]}\n testOnly_onPress={IS_TEST_ENV ? onPress : undefined}\n testOnly_onPressIn={IS_TEST_ENV ? onPressIn : undefined}\n testOnly_onPressOut={IS_TEST_ENV ? onPressOut : undefined}\n testOnly_onLongPress={IS_TEST_ENV ? onLongPress : undefined}>\n {childrenProp}\n {__DEV__ ? (\n <PressabilityDebugView color=\"red\" hitSlop={normalizedHitSlop} />\n ) : null}\n </NativeButton>\n </GestureDetector>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["Pressable.tsx"],"names":["DEFAULT_LONG_PRESS_DURATION","IS_TEST_ENV","IS_FABRIC","Pressable","props","testOnly_pressed","hitSlop","pressRetentionOffset","delayHoverIn","onHoverIn","delayHoverOut","onHoverOut","delayLongPress","unstable_pressDelay","onPress","onPressIn","onPressOut","onLongPress","style","children","android_disableSound","android_ripple","disabled","remainingProps","pressedState","setPressedState","pressableRef","isPressCallbackEnabled","hasPassedBoundsChecks","shouldPreventNativeEffects","normalizedHitSlop","normalizedPressRetentionOffset","hoverInTimeout","hoverOutTimeout","hoverGesture","Gesture","Hover","manualActivation","cancelsTouchesInView","onBegin","event","current","clearTimeout","setTimeout","onFinalize","pressDelayTimeoutRef","isTouchPropagationAllowed","deferredEventPayload","pressInHandler","handlingOnTouchesDown","pressOutHandler","nativeEvent","touches","length","changedTouches","longPressTimeoutRef","onEndHandlingTouchesDown","cancelledMidPress","activateLongPress","longPressMinDuration","pressAndTouchGesture","LongPress","minDuration","INT32_MAX","maxDistance","onTouchesDown","measure","_x","_y","width","height","at","onTouchesUp","onTouchesCancelled","allTouches","buttonGesture","Native","Platform","OS","onStart","appliedHitSlop","isPressableEnabled","gestures","gesture","enabled","runOnJS","shouldCancelWhenOutside","Simultaneous","pointerStyle","cursor","styleProp","pressed","childrenProp","rippleColor","defaultRippleColor","undefined","unprocessedRippleColor","color","radius","__DEV__"],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { GestureObjects as Gesture } from '../../handlers/gestures/gestureObjects';\nimport { GestureDetector } from '../../handlers/gestures/GestureDetector';\nimport { PressableEvent, PressableProps } from './PressableProps';\nimport {\n Insets,\n Platform,\n StyleProp,\n View,\n ViewStyle,\n processColor,\n} from 'react-native';\nimport NativeButton from '../GestureHandlerButton';\nimport {\n numberAsInset,\n gestureToPressableEvent,\n isTouchWithinInset,\n gestureTouchToPressableEvent,\n addInsets,\n} from './utils';\nimport { PressabilityDebugView } from '../../handlers/PressabilityDebugView';\nimport { GestureTouchEvent } from '../../handlers/gestureHandlerCommon';\nimport { INT32_MAX, isFabric, isTestEnv } from '../../utils';\n\nconst DEFAULT_LONG_PRESS_DURATION = 500;\nconst IS_TEST_ENV = isTestEnv();\n\nlet IS_FABRIC: null | boolean = null;\n\nexport default function Pressable(props: PressableProps) {\n const {\n testOnly_pressed,\n hitSlop,\n pressRetentionOffset,\n delayHoverIn,\n onHoverIn,\n delayHoverOut,\n onHoverOut,\n delayLongPress,\n unstable_pressDelay,\n onPress,\n onPressIn,\n onPressOut,\n onLongPress,\n style,\n children,\n android_disableSound,\n android_ripple,\n disabled,\n ...remainingProps\n } = props;\n\n const [pressedState, setPressedState] = useState(testOnly_pressed ?? false);\n\n const pressableRef = useRef<View>(null);\n\n // Disabled when onLongPress has been called\n const isPressCallbackEnabled = useRef<boolean>(true);\n const hasPassedBoundsChecks = useRef<boolean>(false);\n const shouldPreventNativeEffects = useRef<boolean>(false);\n\n const normalizedHitSlop: Insets = useMemo(\n () =>\n typeof hitSlop === 'number' ? numberAsInset(hitSlop) : (hitSlop ?? {}),\n [hitSlop]\n );\n\n const normalizedPressRetentionOffset: Insets = useMemo(\n () =>\n typeof pressRetentionOffset === 'number'\n ? numberAsInset(pressRetentionOffset)\n : (pressRetentionOffset ?? {}),\n [pressRetentionOffset]\n );\n\n const hoverInTimeout = useRef<number | null>(null);\n const hoverOutTimeout = useRef<number | null>(null);\n\n const hoverGesture = useMemo(\n () =>\n Gesture.Hover()\n .manualActivation(true) // Stops Hover from blocking Native gesture activation on web\n .cancelsTouchesInView(false)\n .onBegin((event) => {\n if (hoverOutTimeout.current) {\n clearTimeout(hoverOutTimeout.current);\n }\n if (delayHoverIn) {\n hoverInTimeout.current = setTimeout(\n () => onHoverIn?.(gestureToPressableEvent(event)),\n delayHoverIn\n );\n return;\n }\n onHoverIn?.(gestureToPressableEvent(event));\n })\n .onFinalize((event) => {\n if (hoverInTimeout.current) {\n clearTimeout(hoverInTimeout.current);\n }\n if (delayHoverOut) {\n hoverOutTimeout.current = setTimeout(\n () => onHoverOut?.(gestureToPressableEvent(event)),\n delayHoverOut\n );\n return;\n }\n onHoverOut?.(gestureToPressableEvent(event));\n }),\n [delayHoverIn, delayHoverOut, onHoverIn, onHoverOut]\n );\n\n const pressDelayTimeoutRef = useRef<number | null>(null);\n const isTouchPropagationAllowed = useRef<boolean>(false);\n\n // iOS only: due to varying flow of gestures, events sometimes have to be saved for later use\n const deferredEventPayload = useRef<PressableEvent | null>(null);\n\n const pressInHandler = useCallback(\n (event: PressableEvent) => {\n if (handlingOnTouchesDown.current) {\n deferredEventPayload.current = event;\n }\n\n if (!isTouchPropagationAllowed.current) {\n return;\n }\n\n deferredEventPayload.current = null;\n\n onPressIn?.(event);\n isPressCallbackEnabled.current = true;\n pressDelayTimeoutRef.current = null;\n setPressedState(true);\n },\n [onPressIn]\n );\n\n const pressOutHandler = useCallback(\n (event: PressableEvent) => {\n if (\n !hasPassedBoundsChecks.current ||\n event.nativeEvent.touches.length >\n event.nativeEvent.changedTouches.length\n ) {\n return;\n }\n\n if (unstable_pressDelay && pressDelayTimeoutRef.current !== null) {\n // When delay is preemptively finished by lifting touches,\n // we want to immediately activate it's effects - pressInHandler,\n // even though we are located at the pressOutHandler\n clearTimeout(pressDelayTimeoutRef.current);\n pressInHandler(event);\n }\n\n if (deferredEventPayload.current) {\n onPressIn?.(deferredEventPayload.current);\n deferredEventPayload.current = null;\n }\n\n onPressOut?.(event);\n\n if (isPressCallbackEnabled.current) {\n onPress?.(event);\n }\n\n if (longPressTimeoutRef.current) {\n clearTimeout(longPressTimeoutRef.current);\n longPressTimeoutRef.current = null;\n }\n\n isTouchPropagationAllowed.current = false;\n hasPassedBoundsChecks.current = false;\n isPressCallbackEnabled.current = true;\n setPressedState(false);\n },\n [onPress, onPressIn, onPressOut, pressInHandler, unstable_pressDelay]\n );\n\n const handlingOnTouchesDown = useRef<boolean>(false);\n const onEndHandlingTouchesDown = useRef<(() => void) | null>(null);\n const cancelledMidPress = useRef<boolean>(false);\n\n const activateLongPress = useCallback(\n (event: GestureTouchEvent) => {\n if (!isTouchPropagationAllowed.current) {\n return;\n }\n\n if (hasPassedBoundsChecks.current) {\n onLongPress?.(gestureTouchToPressableEvent(event));\n isPressCallbackEnabled.current = false;\n }\n\n if (longPressTimeoutRef.current) {\n clearTimeout(longPressTimeoutRef.current);\n longPressTimeoutRef.current = null;\n }\n },\n [onLongPress]\n );\n\n const longPressTimeoutRef = useRef<number | null>(null);\n const longPressMinDuration =\n (delayLongPress ?? DEFAULT_LONG_PRESS_DURATION) +\n (unstable_pressDelay ?? 0);\n\n const pressAndTouchGesture = useMemo(\n () =>\n Gesture.LongPress()\n .minDuration(INT32_MAX) // Stops long press from blocking native gesture\n .maxDistance(INT32_MAX) // Stops long press from cancelling after set distance\n .cancelsTouchesInView(false)\n .onTouchesDown((event) => {\n handlingOnTouchesDown.current = true;\n pressableRef.current?.measure((_x, _y, width, height) => {\n if (\n !isTouchWithinInset(\n {\n width,\n height,\n },\n normalizedHitSlop,\n event.changedTouches.at(-1)\n ) ||\n hasPassedBoundsChecks.current ||\n cancelledMidPress.current\n ) {\n cancelledMidPress.current = false;\n onEndHandlingTouchesDown.current = null;\n handlingOnTouchesDown.current = false;\n return;\n }\n\n hasPassedBoundsChecks.current = true;\n\n // In case of multiple touches, the first one starts long press gesture\n if (longPressTimeoutRef.current === null) {\n // Start long press gesture timer\n longPressTimeoutRef.current = setTimeout(\n () => activateLongPress(event),\n longPressMinDuration\n );\n }\n\n if (unstable_pressDelay) {\n pressDelayTimeoutRef.current = setTimeout(() => {\n pressInHandler(gestureTouchToPressableEvent(event));\n }, unstable_pressDelay);\n } else {\n pressInHandler(gestureTouchToPressableEvent(event));\n }\n\n onEndHandlingTouchesDown.current?.();\n onEndHandlingTouchesDown.current = null;\n handlingOnTouchesDown.current = false;\n });\n })\n .onTouchesUp((event) => {\n if (handlingOnTouchesDown.current) {\n onEndHandlingTouchesDown.current = () =>\n pressOutHandler(gestureTouchToPressableEvent(event));\n return;\n }\n // On iOS, short taps will make LongPress gesture call onTouchesUp before Native gesture calls onStart\n // This variable ensures that onStart isn't detected as the first gesture since Pressable is pressed.\n if (deferredEventPayload.current !== null) {\n shouldPreventNativeEffects.current = true;\n }\n pressOutHandler(gestureTouchToPressableEvent(event));\n })\n .onTouchesCancelled((event) => {\n isPressCallbackEnabled.current = false;\n\n if (handlingOnTouchesDown.current) {\n cancelledMidPress.current = true;\n onEndHandlingTouchesDown.current = () =>\n pressOutHandler(gestureTouchToPressableEvent(event));\n return;\n }\n\n if (\n !hasPassedBoundsChecks.current ||\n event.allTouches.length > event.changedTouches.length\n ) {\n return;\n }\n\n pressOutHandler(gestureTouchToPressableEvent(event));\n }),\n [\n activateLongPress,\n longPressMinDuration,\n normalizedHitSlop,\n pressInHandler,\n pressOutHandler,\n unstable_pressDelay,\n ]\n );\n\n // RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events\n const buttonGesture = useMemo(\n () =>\n Gesture.Native()\n .onBegin(() => {\n // Android sets BEGAN state on press down\n if (Platform.OS === 'android' || Platform.OS === 'macos') {\n isTouchPropagationAllowed.current = true;\n }\n })\n .onStart(() => {\n if (Platform.OS === 'web') {\n isTouchPropagationAllowed.current = true;\n }\n\n // iOS sets ACTIVE state on press down\n if (Platform.OS !== 'ios') {\n return;\n }\n\n if (deferredEventPayload.current) {\n isTouchPropagationAllowed.current = true;\n\n if (hasPassedBoundsChecks.current) {\n pressInHandler(deferredEventPayload.current);\n deferredEventPayload.current = null;\n } else {\n pressOutHandler(deferredEventPayload.current);\n isTouchPropagationAllowed.current = false;\n }\n\n return;\n }\n\n if (hasPassedBoundsChecks.current) {\n isTouchPropagationAllowed.current = true;\n return;\n }\n\n if (shouldPreventNativeEffects.current) {\n shouldPreventNativeEffects.current = false;\n return;\n }\n\n isTouchPropagationAllowed.current = true;\n }),\n [pressInHandler, pressOutHandler]\n );\n\n const appliedHitSlop = addInsets(\n normalizedHitSlop,\n normalizedPressRetentionOffset\n );\n\n const isPressableEnabled = disabled !== true;\n\n const gestures = [buttonGesture, pressAndTouchGesture, hoverGesture];\n\n for (const gesture of gestures) {\n gesture.enabled(isPressableEnabled);\n gesture.runOnJS(true);\n gesture.hitSlop(appliedHitSlop);\n gesture.shouldCancelWhenOutside(Platform.OS === 'web' ? false : true);\n }\n\n // Uses different hitSlop, to activate on hitSlop area instead of pressRetentionOffset area\n buttonGesture.hitSlop(normalizedHitSlop);\n\n const gesture = Gesture.Simultaneous(...gestures);\n\n // `cursor: 'pointer'` on `RNButton` crashes iOS\n const pointerStyle: StyleProp<ViewStyle> =\n Platform.OS === 'web' ? { cursor: 'pointer' } : {};\n\n const styleProp =\n typeof style === 'function' ? style({ pressed: pressedState }) : style;\n\n const childrenProp =\n typeof children === 'function'\n ? children({ pressed: pressedState })\n : children;\n\n const rippleColor = useMemo(() => {\n if (IS_FABRIC === null) {\n IS_FABRIC = isFabric();\n }\n\n const defaultRippleColor = android_ripple ? undefined : 'transparent';\n const unprocessedRippleColor = android_ripple?.color ?? defaultRippleColor;\n return IS_FABRIC\n ? unprocessedRippleColor\n : processColor(unprocessedRippleColor);\n }, [android_ripple]);\n\n return (\n <GestureDetector gesture={gesture}>\n <NativeButton\n {...remainingProps}\n ref={pressableRef}\n hitSlop={appliedHitSlop}\n enabled={isPressableEnabled}\n touchSoundDisabled={android_disableSound ?? undefined}\n rippleColor={rippleColor}\n rippleRadius={android_ripple?.radius ?? undefined}\n style={[pointerStyle, styleProp]}\n testOnly_onPress={IS_TEST_ENV ? onPress : undefined}\n testOnly_onPressIn={IS_TEST_ENV ? onPressIn : undefined}\n testOnly_onPressOut={IS_TEST_ENV ? onPressOut : undefined}\n testOnly_onLongPress={IS_TEST_ENV ? onLongPress : undefined}>\n {childrenProp}\n {__DEV__ ? (\n <PressabilityDebugView color=\"red\" hitSlop={normalizedHitSlop} />\n ) : null}\n </NativeButton>\n </GestureDetector>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["PressableProps.tsx"],"sourcesContent":["import {\n AccessibilityProps,\n ViewProps,\n Insets,\n StyleProp,\n ViewStyle,\n PressableStateCallbackType as RNPressableStateCallbackType,\n PressableAndroidRippleConfig as RNPressableAndroidRippleConfig,\n} from 'react-native';\n\nexport type PressableStateCallbackType = RNPressableStateCallbackType;\nexport type PressableAndroidRippleConfig = RNPressableAndroidRippleConfig;\n\nexport type InnerPressableEvent = {\n changedTouches: InnerPressableEvent[];\n identifier: number;\n locationX: number;\n locationY: number;\n pageX: number;\n pageY: number;\n target: number;\n timestamp: number;\n touches: InnerPressableEvent[];\n force?: number;\n};\n\nexport type PressableEvent = { nativeEvent: InnerPressableEvent };\n\nexport interface PressableProps\n extends AccessibilityProps,\n Omit<ViewProps, 'children' | 'style' | 'hitSlop'> {\n /**\n * Called when the hover is activated to provide visual feedback.\n */\n onHoverIn?: null | ((event: PressableEvent) => void);\n\n /**\n * Called when the hover is deactivated to undo visual feedback.\n */\n onHoverOut?: null | ((event: PressableEvent) => void);\n\n /**\n * Called when a single tap gesture is detected.\n */\n onPress?: null | ((event: PressableEvent) => void);\n\n /**\n * Called when a touch is engaged before `onPress`.\n */\n onPressIn?: null | ((event: PressableEvent) => void);\n\n /**\n * Called when a touch is released before `onPress`.\n */\n onPressOut?: null | ((event: PressableEvent) => void);\n\n /**\n * Called when a long-tap gesture is detected.\n */\n onLongPress?: null | ((event: PressableEvent) => void);\n\n /**\n * Either children or a render prop that receives a boolean reflecting whether\n * the component is currently pressed.\n */\n children?:\n | React.ReactNode\n | ((state: PressableStateCallbackType) => React.ReactNode);\n\n /**\n * Whether a press gesture can be interrupted by a parent gesture such as a\n * scroll event. Defaults to true.\n */\n cancelable?: null | boolean;\n\n /**\n * Duration to wait after hover in before calling `onHoverIn`.\n * @platform web macos\n *\n * NOTE: not present in RN docs\n */\n delayHoverIn?: number | null;\n\n /**\n * Duration to wait after hover out before calling `onHoverOut`.\n * @platform web macos\n *\n * NOTE: not present in RN docs\n */\n delayHoverOut?: number | null;\n\n /**\n * Duration (in milliseconds) from `onPressIn` before `onLongPress` is called.\n */\n delayLongPress?: null | number;\n\n /**\n * Whether the press behavior is disabled.\n */\n disabled?: null | boolean;\n\n /**\n * Additional distance outside of this view in which a press is detected.\n */\n hitSlop?: null | Insets | number;\n\n /**\n * Additional distance outside of this view in which a touch is considered a\n * press before `onPressOut` is triggered.\n */\n pressRetentionOffset?: null | Insets | number;\n\n /**\n * If true, doesn't play system sound on touch.\n * @platform android\n */\n android_disableSound?: null | boolean;\n\n /**\n * Enables the Android ripple effect and configures its color.\n * @platform android\n */\n android_ripple?: null | PressableAndroidRippleConfig;\n\n /**\n * Used only for documentation or testing (e.g. snapshot testing).\n */\n testOnly_pressed?: null | boolean;\n\n /**\n * Either view styles or a function that receives a boolean reflecting whether\n * the component is currently pressed and returns view styles.\n */\n style?:\n | StyleProp<ViewStyle>\n | ((state: PressableStateCallbackType) => StyleProp<ViewStyle>);\n\n /**\n * Duration (in milliseconds) to wait after press down before calling onPressIn.\n */\n unstable_pressDelay?: number;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "default", {
9
9
  return _Pressable.default;
10
10
  }
11
11
  });
12
+
12
13
  var _Pressable = _interopRequireDefault(require("./Pressable"));
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_Pressable","_interopRequireDefault","require","e","__esModule","default"],"sources":["index.ts"],"sourcesContent":["export type {\n PressableProps,\n PressableStateCallbackType,\n} from './PressableProps';\nexport { default } from './Pressable';\n"],"mappings":";;;;;;;;;;;AAIA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAsC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA","sourcesContent":["export type {\n PressableProps,\n PressableStateCallbackType,\n} from './PressableProps';\nexport { default } from './Pressable';\n"]}
@@ -3,16 +3,20 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.numberAsInset = exports.isTouchWithinInset = exports.gestureTouchToPressableEvent = exports.gestureToPressableEvent = exports.addInsets = void 0;
6
+ exports.gestureTouchToPressableEvent = exports.gestureToPressableEvent = exports.isTouchWithinInset = exports.addInsets = exports.numberAsInset = void 0;
7
+
7
8
  const numberAsInset = value => ({
8
9
  left: value,
9
10
  right: value,
10
11
  top: value,
11
12
  bottom: value
12
13
  });
14
+
13
15
  exports.numberAsInset = numberAsInset;
16
+
14
17
  const addInsets = (a, b) => {
15
18
  var _a$left, _b$left, _a$right, _b$right, _a$top, _b$top, _a$bottom, _b$bottom;
19
+
16
20
  return {
17
21
  left: ((_a$left = a.left) !== null && _a$left !== void 0 ? _a$left : 0) + ((_b$left = b.left) !== null && _b$left !== void 0 ? _b$left : 0),
18
22
  right: ((_a$right = a.right) !== null && _a$right !== void 0 ? _a$right : 0) + ((_b$right = b.right) !== null && _b$right !== void 0 ? _b$right : 0),
@@ -20,7 +24,9 @@ const addInsets = (a, b) => {
20
24
  bottom: ((_a$bottom = a.bottom) !== null && _a$bottom !== void 0 ? _a$bottom : 0) + ((_b$bottom = b.bottom) !== null && _b$bottom !== void 0 ? _b$bottom : 0)
21
25
  };
22
26
  };
27
+
23
28
  exports.addInsets = addInsets;
29
+
24
30
  const touchDataToPressEvent = (data, timestamp, targetId) => ({
25
31
  identifier: data.id,
26
32
  locationX: data.x,
@@ -32,7 +38,9 @@ const touchDataToPressEvent = (data, timestamp, targetId) => ({
32
38
  touches: [],
33
39
  // Always empty - legacy compatibility
34
40
  changedTouches: [] // Always empty - legacy compatibility
41
+
35
42
  });
43
+
36
44
  const gestureToPressEvent = (event, timestamp, targetId) => ({
37
45
  identifier: event.handlerTag,
38
46
  locationX: event.x,
@@ -44,16 +52,20 @@ const gestureToPressEvent = (event, timestamp, targetId) => ({
44
52
  touches: [],
45
53
  // Always empty - legacy compatibility
46
54
  changedTouches: [] // Always empty - legacy compatibility
55
+
47
56
  });
57
+
48
58
  const isTouchWithinInset = (dimensions, inset, touch) => {
49
59
  var _touch$x, _inset$right, _touch$y, _inset$bottom, _touch$x2, _inset$left, _touch$y2, _inset$top;
60
+
50
61
  return ((_touch$x = touch === null || touch === void 0 ? void 0 : touch.x) !== null && _touch$x !== void 0 ? _touch$x : 0) < ((_inset$right = inset.right) !== null && _inset$right !== void 0 ? _inset$right : 0) + dimensions.width && ((_touch$y = touch === null || touch === void 0 ? void 0 : touch.y) !== null && _touch$y !== void 0 ? _touch$y : 0) < ((_inset$bottom = inset.bottom) !== null && _inset$bottom !== void 0 ? _inset$bottom : 0) + dimensions.height && ((_touch$x2 = touch === null || touch === void 0 ? void 0 : touch.x) !== null && _touch$x2 !== void 0 ? _touch$x2 : 0) > -((_inset$left = inset.left) !== null && _inset$left !== void 0 ? _inset$left : 0) && ((_touch$y2 = touch === null || touch === void 0 ? void 0 : touch.y) !== null && _touch$y2 !== void 0 ? _touch$y2 : 0) > -((_inset$top = inset.top) !== null && _inset$top !== void 0 ? _inset$top : 0);
51
62
  };
63
+
52
64
  exports.isTouchWithinInset = isTouchWithinInset;
65
+
53
66
  const gestureToPressableEvent = event => {
54
- const timestamp = Date.now();
67
+ const timestamp = Date.now(); // As far as I can see, there isn't a conventional way of getting targetId with the data we get
55
68
 
56
- // As far as I can see, there isn't a conventional way of getting targetId with the data we get
57
69
  const targetId = 0;
58
70
  const pressEvent = gestureToPressEvent(event, timestamp, targetId);
59
71
  return {
@@ -71,12 +83,14 @@ const gestureToPressableEvent = event => {
71
83
  }
72
84
  };
73
85
  };
86
+
74
87
  exports.gestureToPressableEvent = gestureToPressableEvent;
88
+
75
89
  const gestureTouchToPressableEvent = event => {
76
90
  var _event$allTouches$at$, _event$allTouches$at, _event$allTouches$at$2, _event$allTouches$at2, _event$allTouches$at$3, _event$allTouches$at3, _event$allTouches$at$4, _event$allTouches$at4;
77
- const timestamp = Date.now();
78
91
 
79
- // As far as I can see, there isn't a conventional way of getting targetId with the data we get
92
+ const timestamp = Date.now(); // As far as I can see, there isn't a conventional way of getting targetId with the data we get
93
+
80
94
  const targetId = 0;
81
95
  const touchesList = event.allTouches.map(touch => touchDataToPressEvent(touch, timestamp, targetId));
82
96
  const changedTouchesList = event.changedTouches.map(touch => touchDataToPressEvent(touch, timestamp, targetId));
@@ -95,5 +109,6 @@ const gestureTouchToPressableEvent = event => {
95
109
  }
96
110
  };
97
111
  };
112
+
98
113
  exports.gestureTouchToPressableEvent = gestureTouchToPressableEvent;
99
114
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["numberAsInset","value","left","right","top","bottom","exports","addInsets","a","b","_a$left","_b$left","_a$right","_b$right","_a$top","_b$top","_a$bottom","_b$bottom","touchDataToPressEvent","data","timestamp","targetId","identifier","id","locationX","x","locationY","y","pageX","absoluteX","pageY","absoluteY","target","touches","changedTouches","gestureToPressEvent","event","handlerTag","isTouchWithinInset","dimensions","inset","touch","_touch$x","_inset$right","_touch$y","_inset$bottom","_touch$x2","_inset$left","_touch$y2","_inset$top","width","height","gestureToPressableEvent","Date","now","pressEvent","nativeEvent","force","undefined","gestureTouchToPressableEvent","_event$allTouches$at$","_event$allTouches$at","_event$allTouches$at$2","_event$allTouches$at2","_event$allTouches$at$3","_event$allTouches$at3","_event$allTouches$at$4","_event$allTouches$at4","touchesList","allTouches","map","changedTouchesList","at"],"sources":["utils.ts"],"sourcesContent":["import { Insets } from 'react-native';\nimport {\n HoverGestureHandlerEventPayload,\n LongPressGestureHandlerEventPayload,\n} from '../../handlers/GestureHandlerEventPayload';\nimport {\n TouchData,\n GestureStateChangeEvent,\n GestureTouchEvent,\n} from '../../handlers/gestureHandlerCommon';\nimport { InnerPressableEvent, PressableEvent } from './PressableProps';\n\nconst numberAsInset = (value: number): Insets => ({\n left: value,\n right: value,\n top: value,\n bottom: value,\n});\n\nconst addInsets = (a: Insets, b: Insets): Insets => ({\n left: (a.left ?? 0) + (b.left ?? 0),\n right: (a.right ?? 0) + (b.right ?? 0),\n top: (a.top ?? 0) + (b.top ?? 0),\n bottom: (a.bottom ?? 0) + (b.bottom ?? 0),\n});\n\nconst touchDataToPressEvent = (\n data: TouchData,\n timestamp: number,\n targetId: number\n): InnerPressableEvent => ({\n identifier: data.id,\n locationX: data.x,\n locationY: data.y,\n pageX: data.absoluteX,\n pageY: data.absoluteY,\n target: targetId,\n timestamp: timestamp,\n touches: [], // Always empty - legacy compatibility\n changedTouches: [], // Always empty - legacy compatibility\n});\n\nconst gestureToPressEvent = (\n event: GestureStateChangeEvent<\n HoverGestureHandlerEventPayload | LongPressGestureHandlerEventPayload\n >,\n timestamp: number,\n targetId: number\n): InnerPressableEvent => ({\n identifier: event.handlerTag,\n locationX: event.x,\n locationY: event.y,\n pageX: event.absoluteX,\n pageY: event.absoluteY,\n target: targetId,\n timestamp: timestamp,\n touches: [], // Always empty - legacy compatibility\n changedTouches: [], // Always empty - legacy compatibility\n});\n\nconst isTouchWithinInset = (\n dimensions: { width: number; height: number },\n inset: Insets,\n touch?: TouchData\n) =>\n (touch?.x ?? 0) < (inset.right ?? 0) + dimensions.width &&\n (touch?.y ?? 0) < (inset.bottom ?? 0) + dimensions.height &&\n (touch?.x ?? 0) > -(inset.left ?? 0) &&\n (touch?.y ?? 0) > -(inset.top ?? 0);\n\nconst gestureToPressableEvent = (\n event: GestureStateChangeEvent<\n HoverGestureHandlerEventPayload | LongPressGestureHandlerEventPayload\n >\n): PressableEvent => {\n const timestamp = Date.now();\n\n // As far as I can see, there isn't a conventional way of getting targetId with the data we get\n const targetId = 0;\n\n const pressEvent = gestureToPressEvent(event, timestamp, targetId);\n\n return {\n nativeEvent: {\n touches: [pressEvent],\n changedTouches: [pressEvent],\n identifier: pressEvent.identifier,\n locationX: event.x,\n locationY: event.y,\n pageX: event.absoluteX,\n pageY: event.absoluteY,\n target: targetId,\n timestamp: timestamp,\n force: undefined,\n },\n };\n};\n\nconst gestureTouchToPressableEvent = (\n event: GestureTouchEvent\n): PressableEvent => {\n const timestamp = Date.now();\n\n // As far as I can see, there isn't a conventional way of getting targetId with the data we get\n const targetId = 0;\n\n const touchesList = event.allTouches.map((touch: TouchData) =>\n touchDataToPressEvent(touch, timestamp, targetId)\n );\n const changedTouchesList = event.changedTouches.map((touch: TouchData) =>\n touchDataToPressEvent(touch, timestamp, targetId)\n );\n\n return {\n nativeEvent: {\n touches: touchesList,\n changedTouches: changedTouchesList,\n identifier: event.handlerTag,\n locationX: event.allTouches.at(0)?.x ?? -1,\n locationY: event.allTouches.at(0)?.y ?? -1,\n pageX: event.allTouches.at(0)?.absoluteX ?? -1,\n pageY: event.allTouches.at(0)?.absoluteY ?? -1,\n target: targetId,\n timestamp: timestamp,\n force: undefined,\n },\n };\n};\n\nexport {\n numberAsInset,\n addInsets,\n isTouchWithinInset,\n gestureToPressableEvent,\n gestureTouchToPressableEvent,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["utils.ts"],"names":["numberAsInset","value","left","right","top","bottom","addInsets","a","b","touchDataToPressEvent","data","timestamp","targetId","identifier","id","locationX","x","locationY","y","pageX","absoluteX","pageY","absoluteY","target","touches","changedTouches","gestureToPressEvent","event","handlerTag","isTouchWithinInset","dimensions","inset","touch","width","height","gestureToPressableEvent","Date","now","pressEvent","nativeEvent","force","undefined","gestureTouchToPressableEvent","touchesList","allTouches","map","changedTouchesList","at"],"mappings":"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","sourcesContent":["import { Insets } from 'react-native';\nimport {\n HoverGestureHandlerEventPayload,\n LongPressGestureHandlerEventPayload,\n} from '../../handlers/GestureHandlerEventPayload';\nimport {\n TouchData,\n GestureStateChangeEvent,\n GestureTouchEvent,\n} from '../../handlers/gestureHandlerCommon';\nimport { InnerPressableEvent, PressableEvent } from './PressableProps';\n\nconst numberAsInset = (value: number): Insets => ({\n left: value,\n right: value,\n top: value,\n bottom: value,\n});\n\nconst addInsets = (a: Insets, b: Insets): Insets => ({\n left: (a.left ?? 0) + (b.left ?? 0),\n right: (a.right ?? 0) + (b.right ?? 0),\n top: (a.top ?? 0) + (b.top ?? 0),\n bottom: (a.bottom ?? 0) + (b.bottom ?? 0),\n});\n\nconst touchDataToPressEvent = (\n data: TouchData,\n timestamp: number,\n targetId: number\n): InnerPressableEvent => ({\n identifier: data.id,\n locationX: data.x,\n locationY: data.y,\n pageX: data.absoluteX,\n pageY: data.absoluteY,\n target: targetId,\n timestamp: timestamp,\n touches: [], // Always empty - legacy compatibility\n changedTouches: [], // Always empty - legacy compatibility\n});\n\nconst gestureToPressEvent = (\n event: GestureStateChangeEvent<\n HoverGestureHandlerEventPayload | LongPressGestureHandlerEventPayload\n >,\n timestamp: number,\n targetId: number\n): InnerPressableEvent => ({\n identifier: event.handlerTag,\n locationX: event.x,\n locationY: event.y,\n pageX: event.absoluteX,\n pageY: event.absoluteY,\n target: targetId,\n timestamp: timestamp,\n touches: [], // Always empty - legacy compatibility\n changedTouches: [], // Always empty - legacy compatibility\n});\n\nconst isTouchWithinInset = (\n dimensions: { width: number; height: number },\n inset: Insets,\n touch?: TouchData\n) =>\n (touch?.x ?? 0) < (inset.right ?? 0) + dimensions.width &&\n (touch?.y ?? 0) < (inset.bottom ?? 0) + dimensions.height &&\n (touch?.x ?? 0) > -(inset.left ?? 0) &&\n (touch?.y ?? 0) > -(inset.top ?? 0);\n\nconst gestureToPressableEvent = (\n event: GestureStateChangeEvent<\n HoverGestureHandlerEventPayload | LongPressGestureHandlerEventPayload\n >\n): PressableEvent => {\n const timestamp = Date.now();\n\n // As far as I can see, there isn't a conventional way of getting targetId with the data we get\n const targetId = 0;\n\n const pressEvent = gestureToPressEvent(event, timestamp, targetId);\n\n return {\n nativeEvent: {\n touches: [pressEvent],\n changedTouches: [pressEvent],\n identifier: pressEvent.identifier,\n locationX: event.x,\n locationY: event.y,\n pageX: event.absoluteX,\n pageY: event.absoluteY,\n target: targetId,\n timestamp: timestamp,\n force: undefined,\n },\n };\n};\n\nconst gestureTouchToPressableEvent = (\n event: GestureTouchEvent\n): PressableEvent => {\n const timestamp = Date.now();\n\n // As far as I can see, there isn't a conventional way of getting targetId with the data we get\n const targetId = 0;\n\n const touchesList = event.allTouches.map((touch: TouchData) =>\n touchDataToPressEvent(touch, timestamp, targetId)\n );\n const changedTouchesList = event.changedTouches.map((touch: TouchData) =>\n touchDataToPressEvent(touch, timestamp, targetId)\n );\n\n return {\n nativeEvent: {\n touches: touchesList,\n changedTouches: changedTouchesList,\n identifier: event.handlerTag,\n locationX: event.allTouches.at(0)?.x ?? -1,\n locationY: event.allTouches.at(0)?.y ?? -1,\n pageX: event.allTouches.at(0)?.absoluteX ?? -1,\n pageY: event.allTouches.at(0)?.absoluteY ?? -1,\n target: targetId,\n timestamp: timestamp,\n force: undefined,\n },\n };\n};\n\nexport {\n numberAsInset,\n addInsets,\n isTouchWithinInset,\n gestureToPressableEvent,\n gestureTouchToPressableEvent,\n};\n"]}