react-native-gesture-handler 2.25.0 → 2.27.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 (880) hide show
  1. package/README.md +2 -4
  2. package/RNGestureHandler.podspec +1 -0
  3. package/android/build.gradle +41 -42
  4. package/android/fabric/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +1 -1
  5. package/android/gradle.properties +1 -1
  6. package/android/noreanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +2 -2
  7. package/android/paper/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +4 -1
  8. package/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +1 -1
  9. package/android/{package77/src → src}/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +14 -19
  10. package/android/src/main/java/com/swmansion/gesturehandler/core/FlingGestureHandler.kt +29 -5
  11. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +229 -114
  12. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerInteractionController.kt +4 -4
  13. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +91 -49
  14. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerRegistry.kt +1 -1
  15. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureUtils.kt +13 -4
  16. package/android/src/main/java/com/swmansion/gesturehandler/core/HoverGestureHandler.kt +20 -6
  17. package/android/src/main/java/com/swmansion/gesturehandler/core/LongPressGestureHandler.kt +52 -21
  18. package/android/src/main/java/com/swmansion/gesturehandler/core/ManualGestureHandler.kt +12 -1
  19. package/android/src/main/java/com/swmansion/gesturehandler/core/NativeViewGestureHandler.kt +65 -35
  20. package/android/src/main/java/com/swmansion/gesturehandler/core/OnTouchEventListener.kt +3 -3
  21. package/android/src/main/java/com/swmansion/gesturehandler/core/PanGestureHandler.kt +187 -92
  22. package/android/src/main/java/com/swmansion/gesturehandler/core/PinchGestureHandler.kt +12 -5
  23. package/android/src/main/java/com/swmansion/gesturehandler/core/PointerEventsConfig.kt +1 -1
  24. package/android/src/main/java/com/swmansion/gesturehandler/core/RotationGestureDetector.kt +3 -1
  25. package/android/src/main/java/com/swmansion/gesturehandler/core/RotationGestureHandler.kt +12 -5
  26. package/android/src/main/java/com/swmansion/gesturehandler/core/StylusData.kt +1 -1
  27. package/android/src/main/java/com/swmansion/gesturehandler/core/TapGestureHandler.kt +55 -33
  28. package/android/src/main/java/com/swmansion/gesturehandler/core/Vector.kt +13 -18
  29. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +27 -21
  30. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +7 -2
  31. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +13 -12
  32. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDispatcher.kt +189 -0
  33. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerFactoryUtil.kt +34 -0
  34. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +7 -11
  35. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +29 -590
  36. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +8 -14
  37. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +26 -16
  38. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +15 -12
  39. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +2 -4
  40. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +17 -16
  41. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +6 -4
  42. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +7 -5
  43. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/FlingGestureHandlerEventDataBuilder.kt +2 -1
  44. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/GestureHandlerEventDataBuilder.kt +1 -1
  45. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/HoverGestureHandlerEventDataBuilder.kt +2 -1
  46. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/LongPressGestureHandlerEventDataBuilder.kt +2 -1
  47. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/ManualGestureHandlerEventDataBuilder.kt +2 -1
  48. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/NativeGestureHandlerEventDataBuilder.kt +2 -1
  49. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/PanGestureHandlerEventDataBuilder.kt +2 -1
  50. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/PinchGestureHandlerEventDataBuilder.kt +2 -1
  51. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/RotationGestureHandlerEventDataBuilder.kt +2 -1
  52. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/TapGestureHandlerEventDataBuilder.kt +2 -1
  53. package/android/src/main/jni/CMakeLists.txt +8 -18
  54. package/android/svg/src/main/java/com/swmansion/gesturehandler/RNSVGHitTester.kt +1 -3
  55. package/apple/RNGestureHandlerButton.mm +6 -2
  56. package/package.json +29 -47
  57. package/src/components/DrawerLayout.tsx +5 -2
  58. package/src/components/GestureButtons.tsx +2 -2
  59. package/src/components/GestureComponents.web.tsx +1 -1
  60. package/src/components/GestureHandlerButton.web.tsx +3 -3
  61. package/src/components/Pressable/Pressable.tsx +362 -425
  62. package/src/components/Pressable/PressableProps.tsx +34 -0
  63. package/src/components/Pressable/StateMachine.tsx +49 -0
  64. package/src/components/Pressable/stateDefinitions.ts +125 -0
  65. package/src/components/Pressable/utils.ts +11 -7
  66. package/src/components/ReanimatedSwipeable.tsx +55 -33
  67. package/src/components/Swipeable.tsx +3 -0
  68. package/src/components/Text.tsx +5 -2
  69. package/src/components/utils.ts +26 -0
  70. package/src/getShadowNodeFromRef.ts +2 -2
  71. package/src/handlers/GestureHandlerEventPayload.ts +3 -0
  72. package/src/handlers/createHandler.tsx +1 -0
  73. package/src/handlers/gestureHandlerTypesCompat.ts +9 -0
  74. package/src/handlers/gestures/forceTouchGesture.ts +9 -0
  75. package/src/handlers/gestures/gestureObjects.ts +3 -1
  76. package/src/handlers/gestures/reanimatedWrapper.ts +0 -1
  77. package/src/handlers/utils.ts +1 -1
  78. package/src/utils.ts +0 -1
  79. package/src/web/detectors/RotationGestureDetector.ts +4 -0
  80. package/src/web/handlers/FlingGestureHandler.ts +4 -0
  81. package/src/web/handlers/GestureHandler.ts +9 -3
  82. package/src/web/handlers/PanGestureHandler.ts +25 -36
  83. package/src/web/handlers/TapGestureHandler.ts +14 -19
  84. package/src/web/tools/GestureHandlerOrchestrator.ts +1 -0
  85. package/src/web/tools/PointerEventManager.ts +1 -1
  86. package/src/web/tools/PointerTracker.ts +17 -15
  87. package/src/web/tools/Vector.ts +1 -1
  88. package/src/web_hammer/DiscreteGestureHandler.ts +1 -1
  89. package/src/web_hammer/DraggingGestureHandler.ts +1 -1
  90. package/src/web_hammer/FlingGestureHandler.ts +1 -1
  91. package/src/web_hammer/GestureHandler.ts +2 -1
  92. package/src/web_hammer/LongPressGestureHandler.ts +1 -1
  93. package/android/packageDeprecated/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +0 -85
  94. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +0 -60
  95. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +0 -26
  96. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +0 -26
  97. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +0 -16
  98. package/android/paper77/src/main/java/com/swmansion/gesturehandler/NativeRNGestureHandlerModuleSpec.java +0 -67
  99. package/android/paper77/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +0 -13
  100. package/lib/commonjs/ActionType.js +0 -15
  101. package/lib/commonjs/ActionType.js.map +0 -1
  102. package/lib/commonjs/Directions.js +0 -28
  103. package/lib/commonjs/Directions.js.map +0 -1
  104. package/lib/commonjs/EnableNewWebImplementation.js +0 -48
  105. package/lib/commonjs/EnableNewWebImplementation.js.map +0 -1
  106. package/lib/commonjs/GestureHandlerRootViewContext.js +0 -15
  107. package/lib/commonjs/GestureHandlerRootViewContext.js.map +0 -1
  108. package/lib/commonjs/PlatformConstants.js +0 -15
  109. package/lib/commonjs/PlatformConstants.js.map +0 -1
  110. package/lib/commonjs/PlatformConstants.web.js +0 -14
  111. package/lib/commonjs/PlatformConstants.web.js.map +0 -1
  112. package/lib/commonjs/PointerType.js +0 -17
  113. package/lib/commonjs/PointerType.js.map +0 -1
  114. package/lib/commonjs/RNGestureHandlerModule.js +0 -16
  115. package/lib/commonjs/RNGestureHandlerModule.js.map +0 -1
  116. package/lib/commonjs/RNGestureHandlerModule.web.js +0 -122
  117. package/lib/commonjs/RNGestureHandlerModule.web.js.map +0 -1
  118. package/lib/commonjs/RNGestureHandlerModule.windows.js +0 -66
  119. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +0 -1
  120. package/lib/commonjs/RNRenderer.js +0 -16
  121. package/lib/commonjs/RNRenderer.js.map +0 -1
  122. package/lib/commonjs/RNRenderer.web.js +0 -11
  123. package/lib/commonjs/RNRenderer.web.js.map +0 -1
  124. package/lib/commonjs/State.js +0 -18
  125. package/lib/commonjs/State.js.map +0 -1
  126. package/lib/commonjs/TouchEventType.js +0 -16
  127. package/lib/commonjs/TouchEventType.js.map +0 -1
  128. package/lib/commonjs/components/DrawerLayout.js +0 -574
  129. package/lib/commonjs/components/DrawerLayout.js.map +0 -1
  130. package/lib/commonjs/components/GestureButtons.js +0 -269
  131. package/lib/commonjs/components/GestureButtons.js.map +0 -1
  132. package/lib/commonjs/components/GestureButtonsProps.js +0 -6
  133. package/lib/commonjs/components/GestureButtonsProps.js.map +0 -1
  134. package/lib/commonjs/components/GestureComponents.js +0 -115
  135. package/lib/commonjs/components/GestureComponents.js.map +0 -1
  136. package/lib/commonjs/components/GestureComponents.web.js +0 -52
  137. package/lib/commonjs/components/GestureComponents.web.js.map +0 -1
  138. package/lib/commonjs/components/GestureHandlerButton.js +0 -14
  139. package/lib/commonjs/components/GestureHandlerButton.js.map +0 -1
  140. package/lib/commonjs/components/GestureHandlerButton.web.js +0 -24
  141. package/lib/commonjs/components/GestureHandlerButton.web.js.map +0 -1
  142. package/lib/commonjs/components/GestureHandlerRootView.android.js +0 -46
  143. package/lib/commonjs/components/GestureHandlerRootView.android.js.map +0 -1
  144. package/lib/commonjs/components/GestureHandlerRootView.js +0 -44
  145. package/lib/commonjs/components/GestureHandlerRootView.js.map +0 -1
  146. package/lib/commonjs/components/GestureHandlerRootView.web.js +0 -38
  147. package/lib/commonjs/components/GestureHandlerRootView.web.js.map +0 -1
  148. package/lib/commonjs/components/Pressable/Pressable.js +0 -370
  149. package/lib/commonjs/components/Pressable/Pressable.js.map +0 -1
  150. package/lib/commonjs/components/Pressable/PressableProps.js +0 -6
  151. package/lib/commonjs/components/Pressable/PressableProps.js.map +0 -1
  152. package/lib/commonjs/components/Pressable/index.js +0 -16
  153. package/lib/commonjs/components/Pressable/index.js.map +0 -1
  154. package/lib/commonjs/components/Pressable/utils.js +0 -114
  155. package/lib/commonjs/components/Pressable/utils.js.map +0 -1
  156. package/lib/commonjs/components/ReanimatedDrawerLayout.js +0 -393
  157. package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +0 -1
  158. package/lib/commonjs/components/ReanimatedSwipeable.js +0 -367
  159. package/lib/commonjs/components/ReanimatedSwipeable.js.map +0 -1
  160. package/lib/commonjs/components/Swipeable.js +0 -415
  161. package/lib/commonjs/components/Swipeable.js.map +0 -1
  162. package/lib/commonjs/components/Text.js +0 -71
  163. package/lib/commonjs/components/Text.js.map +0 -1
  164. package/lib/commonjs/components/gestureHandlerRootHOC.js +0 -40
  165. package/lib/commonjs/components/gestureHandlerRootHOC.js.map +0 -1
  166. package/lib/commonjs/components/touchables/ExtraButtonProps.js +0 -2
  167. package/lib/commonjs/components/touchables/ExtraButtonProps.js.map +0 -1
  168. package/lib/commonjs/components/touchables/GenericTouchable.js +0 -290
  169. package/lib/commonjs/components/touchables/GenericTouchable.js.map +0 -1
  170. package/lib/commonjs/components/touchables/GenericTouchableProps.js +0 -6
  171. package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +0 -1
  172. package/lib/commonjs/components/touchables/TouchableHighlight.js +0 -111
  173. package/lib/commonjs/components/touchables/TouchableHighlight.js.map +0 -1
  174. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +0 -102
  175. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +0 -1
  176. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +0 -16
  177. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +0 -1
  178. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js +0 -6
  179. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +0 -1
  180. package/lib/commonjs/components/touchables/TouchableOpacity.js +0 -79
  181. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +0 -1
  182. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +0 -37
  183. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +0 -1
  184. package/lib/commonjs/components/touchables/index.js +0 -40
  185. package/lib/commonjs/components/touchables/index.js.map +0 -1
  186. package/lib/commonjs/findNodeHandle.js +0 -12
  187. package/lib/commonjs/findNodeHandle.js.map +0 -1
  188. package/lib/commonjs/findNodeHandle.web.js +0 -48
  189. package/lib/commonjs/findNodeHandle.web.js.map +0 -1
  190. package/lib/commonjs/getShadowNodeFromRef.js +0 -52
  191. package/lib/commonjs/getShadowNodeFromRef.js.map +0 -1
  192. package/lib/commonjs/getShadowNodeFromRef.web.js +0 -15
  193. package/lib/commonjs/getShadowNodeFromRef.web.js.map +0 -1
  194. package/lib/commonjs/ghQueueMicrotask.js +0 -11
  195. package/lib/commonjs/ghQueueMicrotask.js.map +0 -1
  196. package/lib/commonjs/handlers/FlingGestureHandler.js +0 -33
  197. package/lib/commonjs/handlers/FlingGestureHandler.js.map +0 -1
  198. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +0 -53
  199. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +0 -1
  200. package/lib/commonjs/handlers/GestureHandlerEventPayload.js +0 -6
  201. package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +0 -1
  202. package/lib/commonjs/handlers/LongPressGestureHandler.js +0 -35
  203. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +0 -1
  204. package/lib/commonjs/handlers/NativeViewGestureHandler.js +0 -35
  205. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +0 -1
  206. package/lib/commonjs/handlers/PanGestureHandler.js +0 -131
  207. package/lib/commonjs/handlers/PanGestureHandler.js.map +0 -1
  208. package/lib/commonjs/handlers/PinchGestureHandler.js +0 -31
  209. package/lib/commonjs/handlers/PinchGestureHandler.js.map +0 -1
  210. package/lib/commonjs/handlers/PressabilityDebugView.js +0 -14
  211. package/lib/commonjs/handlers/PressabilityDebugView.js.map +0 -1
  212. package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -12
  213. package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +0 -1
  214. package/lib/commonjs/handlers/RotationGestureHandler.js +0 -31
  215. package/lib/commonjs/handlers/RotationGestureHandler.js.map +0 -1
  216. package/lib/commonjs/handlers/TapGestureHandler.js +0 -35
  217. package/lib/commonjs/handlers/TapGestureHandler.js.map +0 -1
  218. package/lib/commonjs/handlers/createHandler.js +0 -494
  219. package/lib/commonjs/handlers/createHandler.js.map +0 -1
  220. package/lib/commonjs/handlers/createNativeWrapper.js +0 -87
  221. package/lib/commonjs/handlers/createNativeWrapper.js.map +0 -1
  222. package/lib/commonjs/handlers/customDirectEventTypes.js +0 -14
  223. package/lib/commonjs/handlers/customDirectEventTypes.js.map +0 -1
  224. package/lib/commonjs/handlers/customDirectEventTypes.web.js +0 -11
  225. package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +0 -1
  226. package/lib/commonjs/handlers/gestureHandlerCommon.js +0 -28
  227. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +0 -1
  228. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +0 -6
  229. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +0 -1
  230. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +0 -42
  231. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +0 -1
  232. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +0 -49
  233. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +0 -1
  234. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +0 -87
  235. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +0 -1
  236. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +0 -29
  237. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +0 -1
  238. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +0 -148
  239. package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +0 -1
  240. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -25
  241. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +0 -1
  242. package/lib/commonjs/handlers/gestures/GestureDetector/types.js +0 -6
  243. package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +0 -1
  244. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +0 -77
  245. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +0 -1
  246. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -180
  247. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +0 -1
  248. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -57
  249. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +0 -1
  250. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +0 -48
  251. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +0 -1
  252. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -49
  253. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +0 -1
  254. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +0 -172
  255. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +0 -1
  256. package/lib/commonjs/handlers/gestures/eventReceiver.js +0 -147
  257. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +0 -1
  258. package/lib/commonjs/handlers/gestures/flingGesture.js +0 -47
  259. package/lib/commonjs/handlers/gestures/flingGesture.js.map +0 -1
  260. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +0 -82
  261. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +0 -1
  262. package/lib/commonjs/handlers/gestures/gesture.js +0 -381
  263. package/lib/commonjs/handlers/gestures/gesture.js.map +0 -1
  264. package/lib/commonjs/handlers/gestures/gestureComposition.js +0 -107
  265. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +0 -1
  266. package/lib/commonjs/handlers/gestures/gestureObjects.js +0 -156
  267. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +0 -1
  268. package/lib/commonjs/handlers/gestures/gestureStateManager.js +0 -75
  269. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +0 -1
  270. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +0 -32
  271. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +0 -1
  272. package/lib/commonjs/handlers/gestures/hoverGesture.js +0 -74
  273. package/lib/commonjs/handlers/gestures/hoverGesture.js.map +0 -1
  274. package/lib/commonjs/handlers/gestures/longPressGesture.js +0 -57
  275. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +0 -1
  276. package/lib/commonjs/handlers/gestures/manualGesture.js +0 -31
  277. package/lib/commonjs/handlers/gestures/manualGesture.js.map +0 -1
  278. package/lib/commonjs/handlers/gestures/nativeGesture.js +0 -44
  279. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +0 -1
  280. package/lib/commonjs/handlers/gestures/panGesture.js +0 -225
  281. package/lib/commonjs/handlers/gestures/panGesture.js.map +0 -1
  282. package/lib/commonjs/handlers/gestures/pinchGesture.js +0 -45
  283. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +0 -1
  284. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +0 -37
  285. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +0 -1
  286. package/lib/commonjs/handlers/gestures/rotationGesture.js +0 -45
  287. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +0 -1
  288. package/lib/commonjs/handlers/gestures/tapGesture.js +0 -102
  289. package/lib/commonjs/handlers/gestures/tapGesture.js.map +0 -1
  290. package/lib/commonjs/handlers/getNextHandlerTag.js +0 -12
  291. package/lib/commonjs/handlers/getNextHandlerTag.js.map +0 -1
  292. package/lib/commonjs/handlers/handlersRegistry.js +0 -66
  293. package/lib/commonjs/handlers/handlersRegistry.js.map +0 -1
  294. package/lib/commonjs/handlers/utils.js +0 -92
  295. package/lib/commonjs/handlers/utils.js.map +0 -1
  296. package/lib/commonjs/index.js +0 -298
  297. package/lib/commonjs/index.js.map +0 -1
  298. package/lib/commonjs/init.js +0 -32
  299. package/lib/commonjs/init.js.map +0 -1
  300. package/lib/commonjs/jestUtils/index.js +0 -20
  301. package/lib/commonjs/jestUtils/index.js.map +0 -1
  302. package/lib/commonjs/jestUtils/jestUtils.js +0 -383
  303. package/lib/commonjs/jestUtils/jestUtils.js.map +0 -1
  304. package/lib/commonjs/mocks.js +0 -81
  305. package/lib/commonjs/mocks.js.map +0 -1
  306. package/lib/commonjs/mountRegistry.js +0 -49
  307. package/lib/commonjs/mountRegistry.js.map +0 -1
  308. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +0 -13
  309. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +0 -1
  310. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +0 -15
  311. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +0 -1
  312. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +0 -15
  313. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +0 -1
  314. package/lib/commonjs/typeUtils.js +0 -2
  315. package/lib/commonjs/typeUtils.js.map +0 -1
  316. package/lib/commonjs/utils.js +0 -116
  317. package/lib/commonjs/utils.js.map +0 -1
  318. package/lib/commonjs/web/Gestures.js +0 -66
  319. package/lib/commonjs/web/Gestures.js.map +0 -1
  320. package/lib/commonjs/web/constants.js +0 -11
  321. package/lib/commonjs/web/constants.js.map +0 -1
  322. package/lib/commonjs/web/detectors/RotationGestureDetector.js +0 -163
  323. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +0 -1
  324. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +0 -155
  325. package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +0 -1
  326. package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -190
  327. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +0 -1
  328. package/lib/commonjs/web/handlers/GestureHandler.js +0 -821
  329. package/lib/commonjs/web/handlers/GestureHandler.js.map +0 -1
  330. package/lib/commonjs/web/handlers/HoverGestureHandler.js +0 -65
  331. package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +0 -1
  332. package/lib/commonjs/web/handlers/IGestureHandler.js +0 -2
  333. package/lib/commonjs/web/handlers/IGestureHandler.js.map +0 -1
  334. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -194
  335. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +0 -1
  336. package/lib/commonjs/web/handlers/ManualGestureHandler.js +0 -48
  337. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +0 -1
  338. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -189
  339. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +0 -1
  340. package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -530
  341. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +0 -1
  342. package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -165
  343. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +0 -1
  344. package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -173
  345. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +0 -1
  346. package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -286
  347. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +0 -1
  348. package/lib/commonjs/web/interfaces.js +0 -40
  349. package/lib/commonjs/web/interfaces.js.map +0 -1
  350. package/lib/commonjs/web/tools/CircularBuffer.js +0 -59
  351. package/lib/commonjs/web/tools/CircularBuffer.js.map +0 -1
  352. package/lib/commonjs/web/tools/EventManager.js +0 -133
  353. package/lib/commonjs/web/tools/EventManager.js.map +0 -1
  354. package/lib/commonjs/web/tools/GestureHandlerDelegate.js +0 -6
  355. package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +0 -1
  356. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +0 -340
  357. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +0 -1
  358. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +0 -217
  359. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +0 -1
  360. package/lib/commonjs/web/tools/InteractionManager.js +0 -119
  361. package/lib/commonjs/web/tools/InteractionManager.js.map +0 -1
  362. package/lib/commonjs/web/tools/KeyboardEventManager.js +0 -110
  363. package/lib/commonjs/web/tools/KeyboardEventManager.js.map +0 -1
  364. package/lib/commonjs/web/tools/LeastSquareSolver.js +0 -204
  365. package/lib/commonjs/web/tools/LeastSquareSolver.js.map +0 -1
  366. package/lib/commonjs/web/tools/NodeManager.js +0 -49
  367. package/lib/commonjs/web/tools/NodeManager.js.map +0 -1
  368. package/lib/commonjs/web/tools/PointerEventManager.js +0 -229
  369. package/lib/commonjs/web/tools/PointerEventManager.js.map +0 -1
  370. package/lib/commonjs/web/tools/PointerTracker.js +0 -234
  371. package/lib/commonjs/web/tools/PointerTracker.js.map +0 -1
  372. package/lib/commonjs/web/tools/Vector.js +0 -61
  373. package/lib/commonjs/web/tools/Vector.js.map +0 -1
  374. package/lib/commonjs/web/tools/VelocityTracker.js +0 -111
  375. package/lib/commonjs/web/tools/VelocityTracker.js.map +0 -1
  376. package/lib/commonjs/web/tools/WheelEventManager.js +0 -74
  377. package/lib/commonjs/web/tools/WheelEventManager.js.map +0 -1
  378. package/lib/commonjs/web/utils.js +0 -270
  379. package/lib/commonjs/web/utils.js.map +0 -1
  380. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +0 -105
  381. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +0 -1
  382. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +0 -53
  383. package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +0 -1
  384. package/lib/commonjs/web_hammer/Errors.js +0 -16
  385. package/lib/commonjs/web_hammer/Errors.js.map +0 -1
  386. package/lib/commonjs/web_hammer/FlingGestureHandler.js +0 -170
  387. package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +0 -1
  388. package/lib/commonjs/web_hammer/GestureHandler.js +0 -579
  389. package/lib/commonjs/web_hammer/GestureHandler.js.map +0 -1
  390. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +0 -54
  391. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +0 -1
  392. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +0 -71
  393. package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +0 -1
  394. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +0 -66
  395. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +0 -1
  396. package/lib/commonjs/web_hammer/NodeManager.js +0 -48
  397. package/lib/commonjs/web_hammer/NodeManager.js.map +0 -1
  398. package/lib/commonjs/web_hammer/PanGestureHandler.js +0 -208
  399. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +0 -1
  400. package/lib/commonjs/web_hammer/PinchGestureHandler.js +0 -40
  401. package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +0 -1
  402. package/lib/commonjs/web_hammer/PressGestureHandler.js +0 -188
  403. package/lib/commonjs/web_hammer/PressGestureHandler.js.map +0 -1
  404. package/lib/commonjs/web_hammer/RotationGestureHandler.js +0 -44
  405. package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +0 -1
  406. package/lib/commonjs/web_hammer/TapGestureHandler.js +0 -192
  407. package/lib/commonjs/web_hammer/TapGestureHandler.js.map +0 -1
  408. package/lib/commonjs/web_hammer/constants.js +0 -64
  409. package/lib/commonjs/web_hammer/constants.js.map +0 -1
  410. package/lib/commonjs/web_hammer/utils.js +0 -42
  411. package/lib/commonjs/web_hammer/utils.js.map +0 -1
  412. package/lib/module/ActionType.js +0 -7
  413. package/lib/module/ActionType.js.map +0 -1
  414. package/lib/module/Directions.js +0 -19
  415. package/lib/module/Directions.js.map +0 -1
  416. package/lib/module/EnableNewWebImplementation.js +0 -35
  417. package/lib/module/EnableNewWebImplementation.js.map +0 -1
  418. package/lib/module/GestureHandlerRootViewContext.js +0 -3
  419. package/lib/module/GestureHandlerRootViewContext.js.map +0 -1
  420. package/lib/module/PlatformConstants.js +0 -5
  421. package/lib/module/PlatformConstants.js.map +0 -1
  422. package/lib/module/PlatformConstants.web.js +0 -7
  423. package/lib/module/PlatformConstants.web.js.map +0 -1
  424. package/lib/module/PointerType.js +0 -10
  425. package/lib/module/PointerType.js.map +0 -1
  426. package/lib/module/RNGestureHandlerModule.js +0 -5
  427. package/lib/module/RNGestureHandlerModule.js.map +0 -1
  428. package/lib/module/RNGestureHandlerModule.web.js +0 -98
  429. package/lib/module/RNGestureHandlerModule.web.js.map +0 -1
  430. package/lib/module/RNGestureHandlerModule.windows.js +0 -47
  431. package/lib/module/RNGestureHandlerModule.windows.js.map +0 -1
  432. package/lib/module/RNRenderer.js +0 -4
  433. package/lib/module/RNRenderer.js.map +0 -1
  434. package/lib/module/RNRenderer.web.js +0 -4
  435. package/lib/module/RNRenderer.web.js.map +0 -1
  436. package/lib/module/State.js +0 -10
  437. package/lib/module/State.js.map +0 -1
  438. package/lib/module/TouchEventType.js +0 -8
  439. package/lib/module/TouchEventType.js.map +0 -1
  440. package/lib/module/components/DrawerLayout.js +0 -560
  441. package/lib/module/components/DrawerLayout.js.map +0 -1
  442. package/lib/module/components/GestureButtons.js +0 -237
  443. package/lib/module/components/GestureButtons.js.map +0 -1
  444. package/lib/module/components/GestureButtonsProps.js +0 -2
  445. package/lib/module/components/GestureButtonsProps.js.map +0 -1
  446. package/lib/module/components/GestureComponents.js +0 -90
  447. package/lib/module/components/GestureComponents.js.map +0 -1
  448. package/lib/module/components/GestureComponents.web.js +0 -28
  449. package/lib/module/components/GestureComponents.web.js.map +0 -1
  450. package/lib/module/components/GestureHandlerButton.js +0 -3
  451. package/lib/module/components/GestureHandlerButton.js.map +0 -1
  452. package/lib/module/components/GestureHandlerButton.web.js +0 -9
  453. package/lib/module/components/GestureHandlerButton.web.js.map +0 -1
  454. package/lib/module/components/GestureHandlerRootView.android.js +0 -27
  455. package/lib/module/components/GestureHandlerRootView.android.js.map +0 -1
  456. package/lib/module/components/GestureHandlerRootView.js +0 -26
  457. package/lib/module/components/GestureHandlerRootView.js.map +0 -1
  458. package/lib/module/components/GestureHandlerRootView.web.js +0 -21
  459. package/lib/module/components/GestureHandlerRootView.web.js.map +0 -1
  460. package/lib/module/components/Pressable/Pressable.js +0 -346
  461. package/lib/module/components/Pressable/Pressable.js.map +0 -1
  462. package/lib/module/components/Pressable/PressableProps.js +0 -2
  463. package/lib/module/components/Pressable/PressableProps.js.map +0 -1
  464. package/lib/module/components/Pressable/index.js +0 -2
  465. package/lib/module/components/Pressable/index.js.map +0 -1
  466. package/lib/module/components/Pressable/utils.js +0 -99
  467. package/lib/module/components/Pressable/utils.js.map +0 -1
  468. package/lib/module/components/ReanimatedDrawerLayout.js +0 -369
  469. package/lib/module/components/ReanimatedDrawerLayout.js.map +0 -1
  470. package/lib/module/components/ReanimatedSwipeable.js +0 -350
  471. package/lib/module/components/ReanimatedSwipeable.js.map +0 -1
  472. package/lib/module/components/Swipeable.js +0 -398
  473. package/lib/module/components/Swipeable.js.map +0 -1
  474. package/lib/module/components/Text.js +0 -53
  475. package/lib/module/components/Text.js.map +0 -1
  476. package/lib/module/components/gestureHandlerRootHOC.js +0 -22
  477. package/lib/module/components/gestureHandlerRootHOC.js.map +0 -1
  478. package/lib/module/components/touchables/ExtraButtonProps.js +0 -2
  479. package/lib/module/components/touchables/ExtraButtonProps.js.map +0 -1
  480. package/lib/module/components/touchables/GenericTouchable.js +0 -274
  481. package/lib/module/components/touchables/GenericTouchable.js.map +0 -1
  482. package/lib/module/components/touchables/GenericTouchableProps.js +0 -2
  483. package/lib/module/components/touchables/GenericTouchableProps.js.map +0 -1
  484. package/lib/module/components/touchables/TouchableHighlight.js +0 -97
  485. package/lib/module/components/touchables/TouchableHighlight.js.map +0 -1
  486. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +0 -86
  487. package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +0 -1
  488. package/lib/module/components/touchables/TouchableNativeFeedback.js +0 -8
  489. package/lib/module/components/touchables/TouchableNativeFeedback.js.map +0 -1
  490. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js +0 -2
  491. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +0 -1
  492. package/lib/module/components/touchables/TouchableOpacity.js +0 -68
  493. package/lib/module/components/touchables/TouchableOpacity.js.map +0 -1
  494. package/lib/module/components/touchables/TouchableWithoutFeedback.js +0 -22
  495. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +0 -1
  496. package/lib/module/components/touchables/index.js +0 -5
  497. package/lib/module/components/touchables/index.js.map +0 -1
  498. package/lib/module/findNodeHandle.js +0 -3
  499. package/lib/module/findNodeHandle.js.map +0 -1
  500. package/lib/module/findNodeHandle.web.js +0 -39
  501. package/lib/module/findNodeHandle.web.js.map +0 -1
  502. package/lib/module/getShadowNodeFromRef.js +0 -45
  503. package/lib/module/getShadowNodeFromRef.js.map +0 -1
  504. package/lib/module/getShadowNodeFromRef.web.js +0 -8
  505. package/lib/module/getShadowNodeFromRef.web.js.map +0 -1
  506. package/lib/module/ghQueueMicrotask.js +0 -4
  507. package/lib/module/ghQueueMicrotask.js.map +0 -1
  508. package/lib/module/handlers/FlingGestureHandler.js +0 -18
  509. package/lib/module/handlers/FlingGestureHandler.js.map +0 -1
  510. package/lib/module/handlers/ForceTouchGestureHandler.js +0 -35
  511. package/lib/module/handlers/ForceTouchGestureHandler.js.map +0 -1
  512. package/lib/module/handlers/GestureHandlerEventPayload.js +0 -2
  513. package/lib/module/handlers/GestureHandlerEventPayload.js.map +0 -1
  514. package/lib/module/handlers/LongPressGestureHandler.js +0 -20
  515. package/lib/module/handlers/LongPressGestureHandler.js.map +0 -1
  516. package/lib/module/handlers/NativeViewGestureHandler.js +0 -19
  517. package/lib/module/handlers/NativeViewGestureHandler.js.map +0 -1
  518. package/lib/module/handlers/PanGestureHandler.js +0 -114
  519. package/lib/module/handlers/PanGestureHandler.js.map +0 -1
  520. package/lib/module/handlers/PinchGestureHandler.js +0 -21
  521. package/lib/module/handlers/PinchGestureHandler.js.map +0 -1
  522. package/lib/module/handlers/PressabilityDebugView.js +0 -3
  523. package/lib/module/handlers/PressabilityDebugView.js.map +0 -1
  524. package/lib/module/handlers/PressabilityDebugView.web.js +0 -5
  525. package/lib/module/handlers/PressabilityDebugView.web.js.map +0 -1
  526. package/lib/module/handlers/RotationGestureHandler.js +0 -21
  527. package/lib/module/handlers/RotationGestureHandler.js.map +0 -1
  528. package/lib/module/handlers/TapGestureHandler.js +0 -20
  529. package/lib/module/handlers/TapGestureHandler.js.map +0 -1
  530. package/lib/module/handlers/createHandler.js +0 -460
  531. package/lib/module/handlers/createHandler.js.map +0 -1
  532. package/lib/module/handlers/createNativeWrapper.js +0 -75
  533. package/lib/module/handlers/createNativeWrapper.js.map +0 -1
  534. package/lib/module/handlers/customDirectEventTypes.js +0 -3
  535. package/lib/module/handlers/customDirectEventTypes.js.map +0 -1
  536. package/lib/module/handlers/customDirectEventTypes.web.js +0 -5
  537. package/lib/module/handlers/customDirectEventTypes.web.js.map +0 -1
  538. package/lib/module/handlers/gestureHandlerCommon.js +0 -19
  539. package/lib/module/handlers/gestureHandlerCommon.js.map +0 -1
  540. package/lib/module/handlers/gestureHandlerTypesCompat.js +0 -2
  541. package/lib/module/handlers/gestureHandlerTypesCompat.js.map +0 -1
  542. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +0 -26
  543. package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +0 -1
  544. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +0 -32
  545. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +0 -1
  546. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +0 -68
  547. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +0 -1
  548. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -14
  549. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +0 -1
  550. package/lib/module/handlers/gestures/GestureDetector/index.js +0 -118
  551. package/lib/module/handlers/gestures/GestureDetector/index.js.map +0 -1
  552. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -18
  553. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +0 -1
  554. package/lib/module/handlers/gestures/GestureDetector/types.js +0 -2
  555. package/lib/module/handlers/gestures/GestureDetector/types.js.map +0 -1
  556. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +0 -61
  557. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +0 -1
  558. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -165
  559. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +0 -1
  560. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -41
  561. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +0 -1
  562. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +0 -39
  563. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +0 -1
  564. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -36
  565. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +0 -1
  566. package/lib/module/handlers/gestures/GestureDetector/utils.js +0 -139
  567. package/lib/module/handlers/gestures/GestureDetector/utils.js.map +0 -1
  568. package/lib/module/handlers/gestures/eventReceiver.js +0 -131
  569. package/lib/module/handlers/gestures/eventReceiver.js.map +0 -1
  570. package/lib/module/handlers/gestures/flingGesture.js +0 -37
  571. package/lib/module/handlers/gestures/flingGesture.js.map +0 -1
  572. package/lib/module/handlers/gestures/forceTouchGesture.js +0 -73
  573. package/lib/module/handlers/gestures/forceTouchGesture.js.map +0 -1
  574. package/lib/module/handlers/gestures/gesture.js +0 -362
  575. package/lib/module/handlers/gestures/gesture.js.map +0 -1
  576. package/lib/module/handlers/gestures/gestureComposition.js +0 -92
  577. package/lib/module/handlers/gestures/gestureComposition.js.map +0 -1
  578. package/lib/module/handlers/gestures/gestureObjects.js +0 -138
  579. package/lib/module/handlers/gestures/gestureObjects.js.map +0 -1
  580. package/lib/module/handlers/gestures/gestureStateManager.js +0 -64
  581. package/lib/module/handlers/gestures/gestureStateManager.js.map +0 -1
  582. package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -21
  583. package/lib/module/handlers/gestures/gestureStateManager.web.js.map +0 -1
  584. package/lib/module/handlers/gestures/hoverGesture.js +0 -62
  585. package/lib/module/handlers/gestures/hoverGesture.js.map +0 -1
  586. package/lib/module/handlers/gestures/longPressGesture.js +0 -47
  587. package/lib/module/handlers/gestures/longPressGesture.js.map +0 -1
  588. package/lib/module/handlers/gestures/manualGesture.js +0 -22
  589. package/lib/module/handlers/gestures/manualGesture.js.map +0 -1
  590. package/lib/module/handlers/gestures/nativeGesture.js +0 -34
  591. package/lib/module/handlers/gestures/nativeGesture.js.map +0 -1
  592. package/lib/module/handlers/gestures/panGesture.js +0 -216
  593. package/lib/module/handlers/gestures/panGesture.js.map +0 -1
  594. package/lib/module/handlers/gestures/pinchGesture.js +0 -36
  595. package/lib/module/handlers/gestures/pinchGesture.js.map +0 -1
  596. package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -30
  597. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +0 -1
  598. package/lib/module/handlers/gestures/rotationGesture.js +0 -36
  599. package/lib/module/handlers/gestures/rotationGesture.js.map +0 -1
  600. package/lib/module/handlers/gestures/tapGesture.js +0 -92
  601. package/lib/module/handlers/gestures/tapGesture.js.map +0 -1
  602. package/lib/module/handlers/getNextHandlerTag.js +0 -5
  603. package/lib/module/handlers/getNextHandlerTag.js.map +0 -1
  604. package/lib/module/handlers/handlersRegistry.js +0 -43
  605. package/lib/module/handlers/handlersRegistry.js.map +0 -1
  606. package/lib/module/handlers/utils.js +0 -71
  607. package/lib/module/handlers/utils.js.map +0 -1
  608. package/lib/module/index.js +0 -29
  609. package/lib/module/index.js.map +0 -1
  610. package/lib/module/init.js +0 -16
  611. package/lib/module/init.js.map +0 -1
  612. package/lib/module/jestUtils/index.js +0 -2
  613. package/lib/module/jestUtils/index.js.map +0 -1
  614. package/lib/module/jestUtils/jestUtils.js +0 -358
  615. package/lib/module/jestUtils/jestUtils.js.map +0 -1
  616. package/lib/module/mocks.js +0 -68
  617. package/lib/module/mocks.js.map +0 -1
  618. package/lib/module/mountRegistry.js +0 -40
  619. package/lib/module/mountRegistry.js.map +0 -1
  620. package/lib/module/specs/NativeRNGestureHandlerModule.js +0 -3
  621. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +0 -1
  622. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js +0 -3
  623. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +0 -1
  624. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js +0 -3
  625. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +0 -1
  626. package/lib/module/typeUtils.js +0 -2
  627. package/lib/module/typeUtils.js.map +0 -1
  628. package/lib/module/utils.js +0 -87
  629. package/lib/module/utils.js.map +0 -1
  630. package/lib/module/web/Gestures.js +0 -39
  631. package/lib/module/web/Gestures.js.map +0 -1
  632. package/lib/module/web/constants.js +0 -3
  633. package/lib/module/web/constants.js.map +0 -1
  634. package/lib/module/web/detectors/RotationGestureDetector.js +0 -153
  635. package/lib/module/web/detectors/RotationGestureDetector.js.map +0 -1
  636. package/lib/module/web/detectors/ScaleGestureDetector.js +0 -144
  637. package/lib/module/web/detectors/ScaleGestureDetector.js.map +0 -1
  638. package/lib/module/web/handlers/FlingGestureHandler.js +0 -173
  639. package/lib/module/web/handlers/FlingGestureHandler.js.map +0 -1
  640. package/lib/module/web/handlers/GestureHandler.js +0 -801
  641. package/lib/module/web/handlers/GestureHandler.js.map +0 -1
  642. package/lib/module/web/handlers/HoverGestureHandler.js +0 -50
  643. package/lib/module/web/handlers/HoverGestureHandler.js.map +0 -1
  644. package/lib/module/web/handlers/IGestureHandler.js +0 -2
  645. package/lib/module/web/handlers/IGestureHandler.js.map +0 -1
  646. package/lib/module/web/handlers/LongPressGestureHandler.js +0 -180
  647. package/lib/module/web/handlers/LongPressGestureHandler.js.map +0 -1
  648. package/lib/module/web/handlers/ManualGestureHandler.js +0 -36
  649. package/lib/module/web/handlers/ManualGestureHandler.js.map +0 -1
  650. package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -174
  651. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +0 -1
  652. package/lib/module/web/handlers/PanGestureHandler.js +0 -514
  653. package/lib/module/web/handlers/PanGestureHandler.js.map +0 -1
  654. package/lib/module/web/handlers/PinchGestureHandler.js +0 -150
  655. package/lib/module/web/handlers/PinchGestureHandler.js.map +0 -1
  656. package/lib/module/web/handlers/RotationGestureHandler.js +0 -158
  657. package/lib/module/web/handlers/RotationGestureHandler.js.map +0 -1
  658. package/lib/module/web/handlers/TapGestureHandler.js +0 -271
  659. package/lib/module/web/handlers/TapGestureHandler.js.map +0 -1
  660. package/lib/module/web/interfaces.js +0 -31
  661. package/lib/module/web/interfaces.js.map +0 -1
  662. package/lib/module/web/tools/CircularBuffer.js +0 -50
  663. package/lib/module/web/tools/CircularBuffer.js.map +0 -1
  664. package/lib/module/web/tools/EventManager.js +0 -124
  665. package/lib/module/web/tools/EventManager.js.map +0 -1
  666. package/lib/module/web/tools/GestureHandlerDelegate.js +0 -2
  667. package/lib/module/web/tools/GestureHandlerDelegate.js.map +0 -1
  668. package/lib/module/web/tools/GestureHandlerOrchestrator.js +0 -326
  669. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +0 -1
  670. package/lib/module/web/tools/GestureHandlerWebDelegate.js +0 -199
  671. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +0 -1
  672. package/lib/module/web/tools/InteractionManager.js +0 -110
  673. package/lib/module/web/tools/InteractionManager.js.map +0 -1
  674. package/lib/module/web/tools/KeyboardEventManager.js +0 -96
  675. package/lib/module/web/tools/KeyboardEventManager.js.map +0 -1
  676. package/lib/module/web/tools/LeastSquareSolver.js +0 -195
  677. package/lib/module/web/tools/LeastSquareSolver.js.map +0 -1
  678. package/lib/module/web/tools/NodeManager.js +0 -40
  679. package/lib/module/web/tools/NodeManager.js.map +0 -1
  680. package/lib/module/web/tools/PointerEventManager.js +0 -212
  681. package/lib/module/web/tools/PointerEventManager.js.map +0 -1
  682. package/lib/module/web/tools/PointerTracker.js +0 -221
  683. package/lib/module/web/tools/PointerTracker.js.map +0 -1
  684. package/lib/module/web/tools/Vector.js +0 -50
  685. package/lib/module/web/tools/Vector.js.map +0 -1
  686. package/lib/module/web/tools/VelocityTracker.js +0 -98
  687. package/lib/module/web/tools/VelocityTracker.js.map +0 -1
  688. package/lib/module/web/tools/WheelEventManager.js +0 -60
  689. package/lib/module/web/tools/WheelEventManager.js.map +0 -1
  690. package/lib/module/web/utils.js +0 -243
  691. package/lib/module/web/utils.js.map +0 -1
  692. package/lib/module/web_hammer/DiscreteGestureHandler.js +0 -94
  693. package/lib/module/web_hammer/DiscreteGestureHandler.js.map +0 -1
  694. package/lib/module/web_hammer/DraggingGestureHandler.js +0 -40
  695. package/lib/module/web_hammer/DraggingGestureHandler.js.map +0 -1
  696. package/lib/module/web_hammer/Errors.js +0 -7
  697. package/lib/module/web_hammer/Errors.js.map +0 -1
  698. package/lib/module/web_hammer/FlingGestureHandler.js +0 -156
  699. package/lib/module/web_hammer/FlingGestureHandler.js.map +0 -1
  700. package/lib/module/web_hammer/GestureHandler.js +0 -563
  701. package/lib/module/web_hammer/GestureHandler.js.map +0 -1
  702. package/lib/module/web_hammer/IndiscreteGestureHandler.js +0 -44
  703. package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +0 -1
  704. package/lib/module/web_hammer/LongPressGestureHandler.js +0 -58
  705. package/lib/module/web_hammer/LongPressGestureHandler.js.map +0 -1
  706. package/lib/module/web_hammer/NativeViewGestureHandler.js +0 -49
  707. package/lib/module/web_hammer/NativeViewGestureHandler.js.map +0 -1
  708. package/lib/module/web_hammer/NodeManager.js +0 -33
  709. package/lib/module/web_hammer/NodeManager.js.map +0 -1
  710. package/lib/module/web_hammer/PanGestureHandler.js +0 -194
  711. package/lib/module/web_hammer/PanGestureHandler.js.map +0 -1
  712. package/lib/module/web_hammer/PinchGestureHandler.js +0 -29
  713. package/lib/module/web_hammer/PinchGestureHandler.js.map +0 -1
  714. package/lib/module/web_hammer/PressGestureHandler.js +0 -174
  715. package/lib/module/web_hammer/PressGestureHandler.js.map +0 -1
  716. package/lib/module/web_hammer/RotationGestureHandler.js +0 -32
  717. package/lib/module/web_hammer/RotationGestureHandler.js.map +0 -1
  718. package/lib/module/web_hammer/TapGestureHandler.js +0 -180
  719. package/lib/module/web_hammer/TapGestureHandler.js.map +0 -1
  720. package/lib/module/web_hammer/constants.js +0 -43
  721. package/lib/module/web_hammer/constants.js.map +0 -1
  722. package/lib/module/web_hammer/utils.js +0 -19
  723. package/lib/module/web_hammer/utils.js.map +0 -1
  724. package/lib/typescript/ActionType.d.ts +0 -7
  725. package/lib/typescript/Directions.d.ts +0 -14
  726. package/lib/typescript/EnableNewWebImplementation.d.ts +0 -9
  727. package/lib/typescript/GestureHandlerRootViewContext.d.ts +0 -3
  728. package/lib/typescript/PlatformConstants.d.ts +0 -5
  729. package/lib/typescript/PlatformConstants.web.d.ts +0 -4
  730. package/lib/typescript/PointerType.d.ts +0 -7
  731. package/lib/typescript/RNGestureHandlerModule.d.ts +0 -2
  732. package/lib/typescript/RNGestureHandlerModule.web.d.ts +0 -15
  733. package/lib/typescript/RNGestureHandlerModule.windows.d.ts +0 -32
  734. package/lib/typescript/RNRenderer.d.ts +0 -1
  735. package/lib/typescript/RNRenderer.web.d.ts +0 -3
  736. package/lib/typescript/State.d.ts +0 -9
  737. package/lib/typescript/TouchEventType.d.ts +0 -8
  738. package/lib/typescript/components/DrawerLayout.d.ts +0 -185
  739. package/lib/typescript/components/GestureButtons.d.ts +0 -7
  740. package/lib/typescript/components/GestureButtonsProps.d.ts +0 -115
  741. package/lib/typescript/components/GestureComponents.d.ts +0 -22
  742. package/lib/typescript/components/GestureComponents.web.d.ts +0 -8
  743. package/lib/typescript/components/GestureHandlerButton.d.ts +0 -4
  744. package/lib/typescript/components/GestureHandlerButton.web.d.ts +0 -4
  745. package/lib/typescript/components/GestureHandlerRootView.android.d.ts +0 -6
  746. package/lib/typescript/components/GestureHandlerRootView.d.ts +0 -6
  747. package/lib/typescript/components/GestureHandlerRootView.web.d.ts +0 -6
  748. package/lib/typescript/components/Pressable/Pressable.d.ts +0 -5
  749. package/lib/typescript/components/Pressable/PressableProps.d.ts +0 -109
  750. package/lib/typescript/components/Pressable/index.d.ts +0 -2
  751. package/lib/typescript/components/Pressable/utils.d.ts +0 -13
  752. package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +0 -167
  753. package/lib/typescript/components/ReanimatedSwipeable.d.ts +0 -137
  754. package/lib/typescript/components/Swipeable.d.ts +0 -183
  755. package/lib/typescript/components/Text.d.ts +0 -4
  756. package/lib/typescript/components/gestureHandlerRootHOC.d.ts +0 -3
  757. package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +0 -7
  758. package/lib/typescript/components/touchables/GenericTouchable.d.ts +0 -55
  759. package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +0 -16
  760. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +0 -41
  761. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +0 -40
  762. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +0 -6
  763. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +0 -8
  764. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +0 -30
  765. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +0 -14
  766. package/lib/typescript/components/touchables/index.d.ts +0 -7
  767. package/lib/typescript/findNodeHandle.d.ts +0 -2
  768. package/lib/typescript/findNodeHandle.web.d.ts +0 -2
  769. package/lib/typescript/getShadowNodeFromRef.d.ts +0 -1
  770. package/lib/typescript/getShadowNodeFromRef.web.d.ts +0 -1
  771. package/lib/typescript/ghQueueMicrotask.d.ts +0 -1
  772. package/lib/typescript/handlers/FlingGestureHandler.d.ts +0 -39
  773. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +0 -44
  774. package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts +0 -194
  775. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +0 -36
  776. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +0 -33
  777. package/lib/typescript/handlers/PanGestureHandler.d.ts +0 -100
  778. package/lib/typescript/handlers/PinchGestureHandler.d.ts +0 -17
  779. package/lib/typescript/handlers/PressabilityDebugView.d.ts +0 -1
  780. package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +0 -1
  781. package/lib/typescript/handlers/RotationGestureHandler.d.ts +0 -17
  782. package/lib/typescript/handlers/TapGestureHandler.d.ts +0 -62
  783. package/lib/typescript/handlers/createHandler.d.ts +0 -11
  784. package/lib/typescript/handlers/createNativeWrapper.d.ts +0 -3
  785. package/lib/typescript/handlers/customDirectEventTypes.d.ts +0 -1
  786. package/lib/typescript/handlers/customDirectEventTypes.web.d.ts +0 -2
  787. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +0 -78
  788. package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +0 -43
  789. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.d.ts +0 -13
  790. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.d.ts +0 -7
  791. package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.d.ts +0 -13
  792. package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.d.ts +0 -2
  793. package/lib/typescript/handlers/gestures/GestureDetector/index.d.ts +0 -49
  794. package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.d.ts +0 -3
  795. package/lib/typescript/handlers/gestures/GestureDetector/types.d.ts +0 -21
  796. package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.d.ts +0 -4
  797. package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.d.ts +0 -2
  798. package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.d.ts +0 -5
  799. package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.d.ts +0 -2
  800. package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.d.ts +0 -3
  801. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +0 -13
  802. package/lib/typescript/handlers/gestures/eventReceiver.d.ts +0 -4
  803. package/lib/typescript/handlers/gestures/flingGesture.d.ts +0 -21
  804. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +0 -30
  805. package/lib/typescript/handlers/gestures/gesture.d.ts +0 -218
  806. package/lib/typescript/handlers/gestures/gestureComposition.d.ts +0 -21
  807. package/lib/typescript/handlers/gestures/gestureObjects.d.ts +0 -98
  808. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +0 -11
  809. package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +0 -4
  810. package/lib/typescript/handlers/gestures/hoverGesture.d.ts +0 -27
  811. package/lib/typescript/handlers/gestures/longPressGesture.d.ts +0 -25
  812. package/lib/typescript/handlers/gestures/manualGesture.d.ts +0 -7
  813. package/lib/typescript/handlers/gestures/nativeGesture.d.ts +0 -18
  814. package/lib/typescript/handlers/gestures/panGesture.d.ts +0 -90
  815. package/lib/typescript/handlers/gestures/pinchGesture.d.ts +0 -11
  816. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +0 -14
  817. package/lib/typescript/handlers/gestures/rotationGesture.d.ts +0 -12
  818. package/lib/typescript/handlers/gestures/tapGesture.d.ts +0 -50
  819. package/lib/typescript/handlers/getNextHandlerTag.d.ts +0 -1
  820. package/lib/typescript/handlers/handlersRegistry.d.ts +0 -14
  821. package/lib/typescript/handlers/utils.d.ts +0 -7
  822. package/lib/typescript/index.d.ts +0 -58
  823. package/lib/typescript/init.d.ts +0 -2
  824. package/lib/typescript/jestUtils/index.d.ts +0 -1
  825. package/lib/typescript/jestUtils/jestUtils.d.ts +0 -30
  826. package/lib/typescript/mocks.d.ts +0 -46
  827. package/lib/typescript/mountRegistry.d.ts +0 -17
  828. package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +0 -14
  829. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +0 -17
  830. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +0 -6
  831. package/lib/typescript/typeUtils.d.ts +0 -1
  832. package/lib/typescript/utils.d.ts +0 -20
  833. package/lib/typescript/web/Gestures.d.ts +0 -36
  834. package/lib/typescript/web/constants.d.ts +0 -2
  835. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +0 -30
  836. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +0 -29
  837. package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +0 -26
  838. package/lib/typescript/web/handlers/GestureHandler.d.ts +0 -103
  839. package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +0 -10
  840. package/lib/typescript/web/handlers/IGestureHandler.d.ts +0 -37
  841. package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +0 -31
  842. package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +0 -10
  843. package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +0 -26
  844. package/lib/typescript/web/handlers/PanGestureHandler.d.ts +0 -61
  845. package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +0 -28
  846. package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +0 -28
  847. package/lib/typescript/web/handlers/TapGestureHandler.d.ts +0 -38
  848. package/lib/typescript/web/interfaces.d.ts +0 -157
  849. package/lib/typescript/web/tools/CircularBuffer.d.ts +0 -11
  850. package/lib/typescript/web/tools/EventManager.d.ts +0 -39
  851. package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +0 -24
  852. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +0 -31
  853. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +0 -35
  854. package/lib/typescript/web/tools/InteractionManager.d.ts +0 -17
  855. package/lib/typescript/web/tools/KeyboardEventManager.d.ts +0 -13
  856. package/lib/typescript/web/tools/LeastSquareSolver.d.ts +0 -12
  857. package/lib/typescript/web/tools/NodeManager.d.ts +0 -12
  858. package/lib/typescript/web/tools/PointerEventManager.d.ts +0 -19
  859. package/lib/typescript/web/tools/PointerTracker.d.ts +0 -50
  860. package/lib/typescript/web/tools/Vector.d.ts +0 -15
  861. package/lib/typescript/web/tools/VelocityTracker.d.ts +0 -13
  862. package/lib/typescript/web/tools/WheelEventManager.d.ts +0 -11
  863. package/lib/typescript/web/utils.d.ts +0 -14
  864. package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts +0 -20
  865. package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts +0 -15
  866. package/lib/typescript/web_hammer/Errors.d.ts +0 -3
  867. package/lib/typescript/web_hammer/FlingGestureHandler.d.ts +0 -43
  868. package/lib/typescript/web_hammer/GestureHandler.d.ts +0 -145
  869. package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts +0 -40
  870. package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts +0 -38
  871. package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts +0 -7
  872. package/lib/typescript/web_hammer/NodeManager.d.ts +0 -7
  873. package/lib/typescript/web_hammer/PanGestureHandler.d.ts +0 -56
  874. package/lib/typescript/web_hammer/PinchGestureHandler.d.ts +0 -13
  875. package/lib/typescript/web_hammer/PressGestureHandler.d.ts +0 -83
  876. package/lib/typescript/web_hammer/RotationGestureHandler.d.ts +0 -13
  877. package/lib/typescript/web_hammer/TapGestureHandler.d.ts +0 -57
  878. package/lib/typescript/web_hammer/constants.d.ts +0 -39
  879. package/lib/typescript/web_hammer/utils.d.ts +0 -9
  880. /package/android/{common → noreanimated}/src/main/java/com/swmansion/common/GestureHandlerStateManager.kt +0 -0
@@ -1,15 +1,17 @@
1
1
  import React, {
2
- ForwardedRef,
3
- forwardRef,
4
- RefObject,
5
2
  useCallback,
3
+ useLayoutEffect,
6
4
  useMemo,
7
5
  useRef,
8
6
  useState,
9
7
  } from 'react';
10
8
  import { GestureObjects as Gesture } from '../../handlers/gestures/gestureObjects';
11
9
  import { GestureDetector } from '../../handlers/gestures/GestureDetector';
12
- import { PressableEvent, PressableProps } from './PressableProps';
10
+ import {
11
+ PressableEvent,
12
+ PressableProps,
13
+ PressableDimensions,
14
+ } from './PressableProps';
13
15
  import {
14
16
  Insets,
15
17
  Platform,
@@ -20,448 +22,383 @@ import {
20
22
  } from 'react-native';
21
23
  import NativeButton from '../GestureHandlerButton';
22
24
  import {
23
- numberAsInset,
24
25
  gestureToPressableEvent,
25
- isTouchWithinInset,
26
- gestureTouchToPressableEvent,
27
26
  addInsets,
27
+ numberAsInset,
28
+ gestureTouchToPressableEvent,
29
+ isTouchWithinInset,
28
30
  } from './utils';
29
31
  import { PressabilityDebugView } from '../../handlers/PressabilityDebugView';
30
- import { GestureTouchEvent } from '../../handlers/gestureHandlerCommon';
31
32
  import { INT32_MAX, isFabric, isTestEnv } from '../../utils';
33
+ import {
34
+ applyRelationProp,
35
+ RelationPropName,
36
+ RelationPropType,
37
+ } from '../utils';
38
+ import {
39
+ getConfiguredStateMachine,
40
+ StateMachineEvent,
41
+ } from './stateDefinitions';
32
42
 
33
43
  const DEFAULT_LONG_PRESS_DURATION = 500;
34
44
  const IS_TEST_ENV = isTestEnv();
35
45
 
36
46
  let IS_FABRIC: null | boolean = null;
37
47
 
38
- const Pressable = forwardRef(
39
- (props: PressableProps, pressableRef: ForwardedRef<View>) => {
40
- const {
41
- testOnly_pressed,
42
- hitSlop,
43
- pressRetentionOffset,
44
- delayHoverIn,
45
- onHoverIn,
46
- delayHoverOut,
47
- onHoverOut,
48
- delayLongPress,
49
- unstable_pressDelay,
50
- onPress,
51
- onPressIn,
52
- onPressOut,
53
- onLongPress,
54
- style,
55
- children,
56
- android_disableSound,
57
- android_ripple,
58
- disabled,
59
- accessible,
60
- ...remainingProps
61
- } = props;
62
-
63
- const [pressedState, setPressedState] = useState(testOnly_pressed ?? false);
64
-
65
- // Disabled when onLongPress has been called
66
- const isPressCallbackEnabled = useRef<boolean>(true);
67
- const hasPassedBoundsChecks = useRef<boolean>(false);
68
- const shouldPreventNativeEffects = useRef<boolean>(false);
69
-
70
- const normalizedHitSlop: Insets = useMemo(
71
- () =>
72
- typeof hitSlop === 'number' ? numberAsInset(hitSlop) : (hitSlop ?? {}),
73
- [hitSlop]
74
- );
75
-
76
- const normalizedPressRetentionOffset: Insets = useMemo(
77
- () =>
78
- typeof pressRetentionOffset === 'number'
79
- ? numberAsInset(pressRetentionOffset)
80
- : (pressRetentionOffset ?? {}),
81
- [pressRetentionOffset]
82
- );
83
-
84
- const hoverInTimeout = useRef<number | null>(null);
85
- const hoverOutTimeout = useRef<number | null>(null);
86
-
87
- const hoverGesture = useMemo(
88
- () =>
89
- Gesture.Hover()
90
- .manualActivation(true) // Stops Hover from blocking Native gesture activation on web
91
- .cancelsTouchesInView(false)
92
- .onBegin((event) => {
93
- if (hoverOutTimeout.current) {
94
- clearTimeout(hoverOutTimeout.current);
95
- }
96
- if (delayHoverIn) {
97
- hoverInTimeout.current = setTimeout(
98
- () => onHoverIn?.(gestureToPressableEvent(event)),
99
- delayHoverIn
100
- );
101
- return;
102
- }
103
- onHoverIn?.(gestureToPressableEvent(event));
104
- })
105
- .onFinalize((event) => {
106
- if (hoverInTimeout.current) {
107
- clearTimeout(hoverInTimeout.current);
108
- }
109
- if (delayHoverOut) {
110
- hoverOutTimeout.current = setTimeout(
111
- () => onHoverOut?.(gestureToPressableEvent(event)),
112
- delayHoverOut
113
- );
114
- return;
115
- }
116
- onHoverOut?.(gestureToPressableEvent(event));
117
- }),
118
- [delayHoverIn, delayHoverOut, onHoverIn, onHoverOut]
119
- );
120
-
121
- const pressDelayTimeoutRef = useRef<number | null>(null);
122
- const isTouchPropagationAllowed = useRef<boolean>(false);
123
-
124
- // iOS only: due to varying flow of gestures, events sometimes have to be saved for later use
125
- const deferredEventPayload = useRef<PressableEvent | null>(null);
126
-
127
- const pressInHandler = useCallback(
128
- (event: PressableEvent) => {
129
- if (handlingOnTouchesDown.current) {
130
- deferredEventPayload.current = event;
131
- }
132
-
133
- if (!isTouchPropagationAllowed.current) {
134
- return;
135
- }
136
-
137
- deferredEventPayload.current = null;
138
-
139
- onPressIn?.(event);
140
- isPressCallbackEnabled.current = true;
141
- pressDelayTimeoutRef.current = null;
142
- setPressedState(true);
143
- },
144
- [onPressIn]
145
- );
146
-
147
- const pressOutHandler = useCallback(
148
- (event: PressableEvent) => {
149
- if (!isTouchPropagationAllowed.current) {
150
- hasPassedBoundsChecks.current = false;
151
- isPressCallbackEnabled.current = true;
152
- deferredEventPayload.current = null;
153
-
154
- if (longPressTimeoutRef.current) {
155
- clearTimeout(longPressTimeoutRef.current);
156
- longPressTimeoutRef.current = null;
157
- }
158
-
159
- if (pressDelayTimeoutRef.current) {
160
- clearTimeout(pressDelayTimeoutRef.current);
161
- pressDelayTimeoutRef.current = null;
162
- }
48
+ const Pressable = (props: PressableProps) => {
49
+ const {
50
+ ref,
51
+ testOnly_pressed,
52
+ hitSlop,
53
+ pressRetentionOffset,
54
+ delayHoverIn,
55
+ delayHoverOut,
56
+ delayLongPress,
57
+ unstable_pressDelay,
58
+ onHoverIn,
59
+ onHoverOut,
60
+ onPress,
61
+ onPressIn,
62
+ onPressOut,
63
+ onLongPress,
64
+ style,
65
+ children,
66
+ android_disableSound,
67
+ android_ripple,
68
+ disabled,
69
+ accessible,
70
+ simultaneousWithExternalGesture,
71
+ requireExternalGestureToFail,
72
+ blocksExternalGesture,
73
+ dimensionsAfterResize,
74
+ ...remainingProps
75
+ } = props;
76
+
77
+ const relationProps = {
78
+ simultaneousWithExternalGesture,
79
+ requireExternalGestureToFail,
80
+ blocksExternalGesture,
81
+ };
82
+
83
+ // used only if `ref` is undefined
84
+ const fallbackRef = useRef<View>(null);
85
+
86
+ const [pressedState, setPressedState] = useState(testOnly_pressed ?? false);
87
+
88
+ const longPressTimeoutRef = useRef<number | null>(null);
89
+ const pressDelayTimeoutRef = useRef<number | null>(null);
90
+ const isOnPressAllowed = useRef<boolean>(true);
91
+ const isCurrentlyPressed = useRef<boolean>(false);
92
+ const dimensions = useRef<PressableDimensions>({ width: 0, height: 0 });
93
+
94
+ const normalizedHitSlop: Insets = useMemo(
95
+ () =>
96
+ typeof hitSlop === 'number' ? numberAsInset(hitSlop) : (hitSlop ?? {}),
97
+ [hitSlop]
98
+ );
99
+
100
+ const normalizedPressRetentionOffset: Insets = useMemo(
101
+ () =>
102
+ typeof pressRetentionOffset === 'number'
103
+ ? numberAsInset(pressRetentionOffset)
104
+ : (pressRetentionOffset ?? {}),
105
+ [pressRetentionOffset]
106
+ );
107
+
108
+ const appliedHitSlop = addInsets(
109
+ normalizedHitSlop,
110
+ normalizedPressRetentionOffset
111
+ );
112
+
113
+ useLayoutEffect(() => {
114
+ if (dimensionsAfterResize) {
115
+ dimensions.current = dimensionsAfterResize;
116
+ } else {
117
+ requestAnimationFrame(() => {
118
+ (ref ?? fallbackRef).current?.measure((_x, _y, width, height) => {
119
+ dimensions.current = {
120
+ width,
121
+ height,
122
+ };
123
+ });
124
+ });
125
+ }
126
+ }, [dimensionsAfterResize, ref]);
163
127
 
164
- return;
165
- }
166
-
167
- if (
168
- !hasPassedBoundsChecks.current ||
169
- event.nativeEvent.touches.length >
170
- event.nativeEvent.changedTouches.length
171
- ) {
172
- return;
173
- }
174
-
175
- if (unstable_pressDelay && pressDelayTimeoutRef.current !== null) {
176
- // When delay is preemptively finished by lifting touches,
177
- // we want to immediately activate it's effects - pressInHandler,
178
- // even though we are located at the pressOutHandler
179
- clearTimeout(pressDelayTimeoutRef.current);
180
- pressInHandler(event);
181
- }
182
-
183
- if (deferredEventPayload.current) {
184
- onPressIn?.(deferredEventPayload.current);
185
- deferredEventPayload.current = null;
186
- }
187
-
188
- onPressOut?.(event);
189
-
190
- if (isPressCallbackEnabled.current) {
191
- onPress?.(event);
192
- }
193
-
194
- if (longPressTimeoutRef.current) {
195
- clearTimeout(longPressTimeoutRef.current);
196
- longPressTimeoutRef.current = null;
197
- }
198
-
199
- isTouchPropagationAllowed.current = false;
200
- hasPassedBoundsChecks.current = false;
201
- isPressCallbackEnabled.current = true;
202
- setPressedState(false);
203
- },
204
- [onPress, onPressIn, onPressOut, pressInHandler, unstable_pressDelay]
205
- );
206
-
207
- const handlingOnTouchesDown = useRef<boolean>(false);
208
- const onEndHandlingTouchesDown = useRef<(() => void) | null>(null);
209
- const cancelledMidPress = useRef<boolean>(false);
210
-
211
- const activateLongPress = useCallback(
212
- (event: GestureTouchEvent) => {
213
- if (!isTouchPropagationAllowed.current) {
214
- return;
215
- }
216
-
217
- if (hasPassedBoundsChecks.current) {
218
- onLongPress?.(gestureTouchToPressableEvent(event));
219
- isPressCallbackEnabled.current = false;
220
- }
221
-
222
- if (longPressTimeoutRef.current) {
223
- clearTimeout(longPressTimeoutRef.current);
224
- longPressTimeoutRef.current = null;
225
- }
226
- },
227
- [onLongPress]
228
- );
229
-
230
- const longPressTimeoutRef = useRef<number | null>(null);
231
- const longPressMinDuration =
232
- (delayLongPress ?? DEFAULT_LONG_PRESS_DURATION) +
233
- (unstable_pressDelay ?? 0);
234
-
235
- const innerPressableRef = useRef<View>(null);
236
-
237
- const measureCallback = useCallback(
238
- (width: number, height: number, event: GestureTouchEvent) => {
239
- if (
240
- !isTouchWithinInset(
241
- {
242
- width,
243
- height,
244
- },
245
- normalizedHitSlop,
246
- event.changedTouches.at(-1)
247
- ) ||
248
- hasPassedBoundsChecks.current ||
249
- cancelledMidPress.current
250
- ) {
251
- cancelledMidPress.current = false;
252
- onEndHandlingTouchesDown.current = null;
253
- handlingOnTouchesDown.current = false;
254
- return;
255
- }
256
-
257
- hasPassedBoundsChecks.current = true;
258
-
259
- // In case of multiple touches, the first one starts long press gesture
260
- if (longPressTimeoutRef.current === null) {
261
- // Start long press gesture timer
262
- longPressTimeoutRef.current = setTimeout(
263
- () => activateLongPress(event),
264
- longPressMinDuration
265
- );
266
- }
267
-
268
- if (unstable_pressDelay) {
269
- pressDelayTimeoutRef.current = setTimeout(() => {
270
- pressInHandler(gestureTouchToPressableEvent(event));
271
- }, unstable_pressDelay);
272
- } else {
273
- pressInHandler(gestureTouchToPressableEvent(event));
274
- }
275
-
276
- onEndHandlingTouchesDown.current?.();
277
- onEndHandlingTouchesDown.current = null;
278
- handlingOnTouchesDown.current = false;
279
- },
280
- [
281
- activateLongPress,
282
- longPressMinDuration,
283
- normalizedHitSlop,
284
- pressInHandler,
285
- unstable_pressDelay,
286
- ]
287
- );
288
-
289
- const pressAndTouchGesture = useMemo(
290
- () =>
291
- Gesture.LongPress()
292
- .minDuration(INT32_MAX) // Stops long press from blocking native gesture
293
- .maxDistance(INT32_MAX) // Stops long press from cancelling after set distance
294
- .cancelsTouchesInView(false)
295
- .onTouchesDown((event) => {
296
- handlingOnTouchesDown.current = true;
297
- if (pressableRef) {
298
- (pressableRef as RefObject<View>).current?.measure(
299
- (_x, _y, width, height) => {
300
- measureCallback(width, height, event);
301
- }
302
- );
303
- } else {
304
- innerPressableRef.current?.measure((_x, _y, width, height) => {
305
- measureCallback(width, height, event);
306
- });
307
- }
308
- })
309
- .onTouchesUp((event) => {
310
- if (handlingOnTouchesDown.current) {
311
- onEndHandlingTouchesDown.current = () =>
312
- pressOutHandler(gestureTouchToPressableEvent(event));
313
- return;
314
- }
315
- // On iOS, short taps will make LongPress gesture call onTouchesUp before Native gesture calls onStart
316
- // This variable ensures that onStart isn't detected as the first gesture since Pressable is pressed.
317
- if (deferredEventPayload.current !== null) {
318
- shouldPreventNativeEffects.current = true;
319
- }
320
- pressOutHandler(gestureTouchToPressableEvent(event));
321
- })
322
- .onTouchesCancelled((event) => {
323
- isPressCallbackEnabled.current = false;
324
-
325
- if (handlingOnTouchesDown.current) {
326
- cancelledMidPress.current = true;
327
- onEndHandlingTouchesDown.current = () =>
328
- pressOutHandler(gestureTouchToPressableEvent(event));
329
- return;
330
- }
331
-
332
- if (
333
- !hasPassedBoundsChecks.current ||
334
- event.allTouches.length > event.changedTouches.length
335
- ) {
336
- return;
337
- }
338
-
339
- pressOutHandler(gestureTouchToPressableEvent(event));
340
- }),
341
- [pressableRef, measureCallback, pressOutHandler]
342
- );
343
-
344
- // RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events
345
- const buttonGesture = useMemo(
346
- () =>
347
- Gesture.Native()
348
- .onBegin(() => {
349
- // Android sets BEGAN state on press down
350
- if (Platform.OS === 'android' || Platform.OS === 'macos') {
351
- isTouchPropagationAllowed.current = true;
352
- }
353
- })
354
- .onStart(() => {
355
- if (Platform.OS === 'web') {
356
- isTouchPropagationAllowed.current = true;
357
- }
358
-
359
- // iOS sets ACTIVE state on press down
360
- if (Platform.OS !== 'ios') {
361
- return;
362
- }
363
-
364
- if (deferredEventPayload.current) {
365
- isTouchPropagationAllowed.current = true;
366
-
367
- if (hasPassedBoundsChecks.current) {
368
- pressInHandler(deferredEventPayload.current);
369
- deferredEventPayload.current = null;
370
- } else {
371
- pressOutHandler(deferredEventPayload.current);
372
- isTouchPropagationAllowed.current = false;
373
- }
374
-
375
- return;
376
- }
377
-
378
- if (hasPassedBoundsChecks.current) {
379
- isTouchPropagationAllowed.current = true;
380
- return;
381
- }
382
-
383
- if (shouldPreventNativeEffects.current) {
384
- shouldPreventNativeEffects.current = false;
385
- if (!handlingOnTouchesDown.current) {
386
- return;
387
- }
388
- }
389
-
390
- isTouchPropagationAllowed.current = true;
391
- }),
392
- [pressInHandler, pressOutHandler]
393
- );
394
-
395
- const appliedHitSlop = addInsets(
396
- normalizedHitSlop,
397
- normalizedPressRetentionOffset
398
- );
399
-
400
- const isPressableEnabled = disabled !== true;
401
-
402
- const gestures = [buttonGesture, pressAndTouchGesture, hoverGesture];
403
-
404
- for (const gesture of gestures) {
405
- gesture.enabled(isPressableEnabled);
406
- gesture.runOnJS(true);
407
- gesture.hitSlop(appliedHitSlop);
408
- gesture.shouldCancelWhenOutside(Platform.OS === 'web' ? false : true);
128
+ const cancelLongPress = useCallback(() => {
129
+ if (longPressTimeoutRef.current) {
130
+ clearTimeout(longPressTimeoutRef.current);
131
+ longPressTimeoutRef.current = null;
132
+ isOnPressAllowed.current = true;
409
133
  }
134
+ }, []);
410
135
 
411
- // Uses different hitSlop, to activate on hitSlop area instead of pressRetentionOffset area
412
- buttonGesture.hitSlop(normalizedHitSlop);
136
+ const cancelDelayedPress = useCallback(() => {
137
+ if (pressDelayTimeoutRef.current) {
138
+ clearTimeout(pressDelayTimeoutRef.current);
139
+ pressDelayTimeoutRef.current = null;
140
+ }
141
+ }, []);
142
+
143
+ const startLongPress = useCallback(
144
+ (event: PressableEvent) => {
145
+ if (onLongPress) {
146
+ cancelLongPress();
147
+ longPressTimeoutRef.current = setTimeout(() => {
148
+ isOnPressAllowed.current = false;
149
+ onLongPress(event);
150
+ }, delayLongPress ?? DEFAULT_LONG_PRESS_DURATION);
151
+ }
152
+ },
153
+ [onLongPress, cancelLongPress, delayLongPress]
154
+ );
155
+
156
+ const innerHandlePressIn = useCallback(
157
+ (event: PressableEvent) => {
158
+ onPressIn?.(event);
159
+ startLongPress(event);
160
+ setPressedState(true);
161
+ if (pressDelayTimeoutRef.current) {
162
+ clearTimeout(pressDelayTimeoutRef.current);
163
+ pressDelayTimeoutRef.current = null;
164
+ }
165
+ },
166
+ [onPressIn, startLongPress]
167
+ );
168
+
169
+ const handleFinalize = useCallback(() => {
170
+ isCurrentlyPressed.current = false;
171
+ cancelLongPress();
172
+ cancelDelayedPress();
173
+ setPressedState(false);
174
+ }, [cancelDelayedPress, cancelLongPress]);
175
+
176
+ const handlePressIn = useCallback(
177
+ (event: PressableEvent) => {
178
+ if (
179
+ !isTouchWithinInset(
180
+ dimensions.current,
181
+ normalizedHitSlop,
182
+ event.nativeEvent.changedTouches.at(-1)
183
+ )
184
+ ) {
185
+ // Ignoring pressIn within pressRetentionOffset
186
+ return;
187
+ }
413
188
 
414
- const gesture = Gesture.Simultaneous(...gestures);
189
+ isCurrentlyPressed.current = true;
190
+ if (unstable_pressDelay) {
191
+ pressDelayTimeoutRef.current = setTimeout(() => {
192
+ innerHandlePressIn(event);
193
+ }, unstable_pressDelay);
194
+ } else {
195
+ innerHandlePressIn(event);
196
+ }
197
+ },
198
+ [innerHandlePressIn, normalizedHitSlop, unstable_pressDelay]
199
+ );
200
+
201
+ const handlePressOut = useCallback(
202
+ (event: PressableEvent, success: boolean = true) => {
203
+ if (!isCurrentlyPressed.current) {
204
+ // Some prop configurations may lead to handlePressOut being called mutliple times.
205
+ return;
206
+ }
415
207
 
416
- // `cursor: 'pointer'` on `RNButton` crashes iOS
417
- const pointerStyle: StyleProp<ViewStyle> =
418
- Platform.OS === 'web' ? { cursor: 'pointer' } : {};
208
+ isCurrentlyPressed.current = false;
419
209
 
420
- const styleProp =
421
- typeof style === 'function' ? style({ pressed: pressedState }) : style;
210
+ if (pressDelayTimeoutRef.current) {
211
+ innerHandlePressIn(event);
212
+ }
422
213
 
423
- const childrenProp =
424
- typeof children === 'function'
425
- ? children({ pressed: pressedState })
426
- : children;
214
+ onPressOut?.(event);
427
215
 
428
- const rippleColor = useMemo(() => {
429
- if (IS_FABRIC === null) {
430
- IS_FABRIC = isFabric();
216
+ if (isOnPressAllowed.current && success) {
217
+ onPress?.(event);
431
218
  }
432
219
 
433
- const defaultRippleColor = android_ripple ? undefined : 'transparent';
434
- const unprocessedRippleColor =
435
- android_ripple?.color ?? defaultRippleColor;
436
- return IS_FABRIC
437
- ? unprocessedRippleColor
438
- : processColor(unprocessedRippleColor);
439
- }, [android_ripple]);
440
-
441
- return (
442
- <GestureDetector gesture={gesture}>
443
- <NativeButton
444
- {...remainingProps}
445
- ref={pressableRef ?? innerPressableRef}
446
- accessible={accessible !== false}
447
- hitSlop={appliedHitSlop}
448
- enabled={isPressableEnabled}
449
- touchSoundDisabled={android_disableSound ?? undefined}
450
- rippleColor={rippleColor}
451
- rippleRadius={android_ripple?.radius ?? undefined}
452
- style={[pointerStyle, styleProp]}
453
- testOnly_onPress={IS_TEST_ENV ? onPress : undefined}
454
- testOnly_onPressIn={IS_TEST_ENV ? onPressIn : undefined}
455
- testOnly_onPressOut={IS_TEST_ENV ? onPressOut : undefined}
456
- testOnly_onLongPress={IS_TEST_ENV ? onLongPress : undefined}>
457
- {childrenProp}
458
- {__DEV__ ? (
459
- <PressabilityDebugView color="red" hitSlop={normalizedHitSlop} />
460
- ) : null}
461
- </NativeButton>
462
- </GestureDetector>
463
- );
220
+ handleFinalize();
221
+ },
222
+ [handleFinalize, innerHandlePressIn, onPress, onPressOut]
223
+ );
224
+
225
+ const stateMachine = useMemo(
226
+ () => getConfiguredStateMachine(handlePressIn, handlePressOut),
227
+ [handlePressIn, handlePressOut]
228
+ );
229
+
230
+ const hoverInTimeout = useRef<number | null>(null);
231
+ const hoverOutTimeout = useRef<number | null>(null);
232
+
233
+ const hoverGesture = useMemo(
234
+ () =>
235
+ Gesture.Hover()
236
+ .manualActivation(true) // Prevents Hover blocking Gesture.Native() on web
237
+ .cancelsTouchesInView(false)
238
+ .onBegin((event) => {
239
+ if (hoverOutTimeout.current) {
240
+ clearTimeout(hoverOutTimeout.current);
241
+ }
242
+ if (delayHoverIn) {
243
+ hoverInTimeout.current = setTimeout(
244
+ () => onHoverIn?.(gestureToPressableEvent(event)),
245
+ delayHoverIn
246
+ );
247
+ return;
248
+ }
249
+ onHoverIn?.(gestureToPressableEvent(event));
250
+ })
251
+ .onFinalize((event) => {
252
+ if (hoverInTimeout.current) {
253
+ clearTimeout(hoverInTimeout.current);
254
+ }
255
+ if (delayHoverOut) {
256
+ hoverOutTimeout.current = setTimeout(
257
+ () => onHoverOut?.(gestureToPressableEvent(event)),
258
+ delayHoverOut
259
+ );
260
+ return;
261
+ }
262
+ onHoverOut?.(gestureToPressableEvent(event));
263
+ }),
264
+ [delayHoverIn, delayHoverOut, onHoverIn, onHoverOut]
265
+ );
266
+
267
+ const pressAndTouchGesture = useMemo(
268
+ () =>
269
+ Gesture.LongPress()
270
+ .minDuration(INT32_MAX) // Stops long press from blocking Gesture.Native()
271
+ .maxDistance(INT32_MAX) // Stops long press from cancelling on touch move
272
+ .cancelsTouchesInView(false)
273
+ .onTouchesDown((event) => {
274
+ const pressableEvent = gestureTouchToPressableEvent(event);
275
+ stateMachine.handleEvent(
276
+ StateMachineEvent.LONG_PRESS_TOUCHES_DOWN,
277
+ pressableEvent
278
+ );
279
+ })
280
+ .onTouchesUp(() => {
281
+ if (Platform.OS === 'android') {
282
+ // Prevents potential soft-locks
283
+ stateMachine.reset();
284
+ handleFinalize();
285
+ }
286
+ })
287
+ .onTouchesCancelled((event) => {
288
+ const pressableEvent = gestureTouchToPressableEvent(event);
289
+ stateMachine.reset();
290
+ handlePressOut(pressableEvent, false);
291
+ })
292
+ .onFinalize(() => {
293
+ if (Platform.OS === 'web') {
294
+ stateMachine.handleEvent(StateMachineEvent.FINALIZE);
295
+ handleFinalize();
296
+ }
297
+ }),
298
+ [stateMachine, handleFinalize, handlePressOut]
299
+ );
300
+
301
+ // RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events
302
+ const buttonGesture = useMemo(
303
+ () =>
304
+ Gesture.Native()
305
+ .onTouchesCancelled((event) => {
306
+ if (Platform.OS !== 'macos' && Platform.OS !== 'web') {
307
+ // On MacOS cancel occurs in middle of gesture
308
+ // On Web cancel occurs on mouse move, which is unwanted
309
+ const pressableEvent = gestureTouchToPressableEvent(event);
310
+ stateMachine.reset();
311
+ handlePressOut(pressableEvent, false);
312
+ }
313
+ })
314
+ .onBegin(() => {
315
+ stateMachine.handleEvent(StateMachineEvent.NATIVE_BEGIN);
316
+ })
317
+ .onStart(() => {
318
+ if (Platform.OS !== 'android') {
319
+ // Gesture.Native().onStart() is broken with Android + hitSlop
320
+ stateMachine.handleEvent(StateMachineEvent.NATIVE_START);
321
+ }
322
+ })
323
+ .onFinalize(() => {
324
+ if (Platform.OS !== 'web') {
325
+ // On Web we use LongPress().onFinalize() instead of Native().onFinalize(),
326
+ // as Native cancels on mouse move, and LongPress does not.
327
+ stateMachine.handleEvent(StateMachineEvent.FINALIZE);
328
+ handleFinalize();
329
+ }
330
+ }),
331
+ [stateMachine, handlePressOut, handleFinalize]
332
+ );
333
+
334
+ const isPressableEnabled = disabled !== true;
335
+
336
+ const gestures = [buttonGesture, pressAndTouchGesture, hoverGesture];
337
+
338
+ for (const gesture of gestures) {
339
+ gesture.enabled(isPressableEnabled);
340
+ gesture.runOnJS(true);
341
+ gesture.hitSlop(appliedHitSlop);
342
+ gesture.shouldCancelWhenOutside(Platform.OS !== 'web');
343
+
344
+ Object.entries(relationProps).forEach(([relationName, relation]) => {
345
+ applyRelationProp(
346
+ gesture,
347
+ relationName as RelationPropName,
348
+ relation as RelationPropType
349
+ );
350
+ });
464
351
  }
465
- );
352
+
353
+ const gesture = Gesture.Simultaneous(...gestures);
354
+
355
+ // `cursor: 'pointer'` on `RNButton` crashes iOS
356
+ const pointerStyle: StyleProp<ViewStyle> =
357
+ Platform.OS === 'web' ? { cursor: 'pointer' } : {};
358
+
359
+ const styleProp =
360
+ typeof style === 'function' ? style({ pressed: pressedState }) : style;
361
+
362
+ const childrenProp =
363
+ typeof children === 'function'
364
+ ? children({ pressed: pressedState })
365
+ : children;
366
+
367
+ const rippleColor = useMemo(() => {
368
+ if (IS_FABRIC === null) {
369
+ IS_FABRIC = isFabric();
370
+ }
371
+
372
+ const defaultRippleColor = android_ripple ? undefined : 'transparent';
373
+ const unprocessedRippleColor = android_ripple?.color ?? defaultRippleColor;
374
+ return IS_FABRIC
375
+ ? unprocessedRippleColor
376
+ : processColor(unprocessedRippleColor);
377
+ }, [android_ripple]);
378
+
379
+ return (
380
+ <GestureDetector gesture={gesture}>
381
+ <NativeButton
382
+ {...remainingProps}
383
+ ref={ref ?? fallbackRef}
384
+ accessible={accessible !== false}
385
+ hitSlop={appliedHitSlop}
386
+ enabled={isPressableEnabled}
387
+ touchSoundDisabled={android_disableSound ?? undefined}
388
+ rippleColor={rippleColor}
389
+ rippleRadius={android_ripple?.radius ?? undefined}
390
+ style={[pointerStyle, styleProp]}
391
+ testOnly_onPress={IS_TEST_ENV ? onPress : undefined}
392
+ testOnly_onPressIn={IS_TEST_ENV ? onPressIn : undefined}
393
+ testOnly_onPressOut={IS_TEST_ENV ? onPressOut : undefined}
394
+ testOnly_onLongPress={IS_TEST_ENV ? onLongPress : undefined}>
395
+ {childrenProp}
396
+ {__DEV__ ? (
397
+ <PressabilityDebugView color="red" hitSlop={normalizedHitSlop} />
398
+ ) : null}
399
+ </NativeButton>
400
+ </GestureDetector>
401
+ );
402
+ };
466
403
 
467
404
  export default Pressable;