@amazon-devices/react-native-gesture-handler 4.0.0 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/SystemModules/amzn__react-native-gesture-handler-4.modules.txt +3 -0
  2. package/SystemModules/amzn__react-native-gesture-handler-4.private.modules.txt +81 -35
  3. package/kepler-compatibility.json +3 -1
  4. package/lib/commonjs/RNGestureHandlerModule.kepler.js.map +1 -1
  5. package/lib/commonjs/index.js +0 -268
  6. package/lib/module/RNGestureHandlerModule.kepler.js.map +1 -1
  7. package/lib/typescript/RNGestureHandlerModule.kepler.d.ts.map +1 -1
  8. package/oss-attribution/attribution.txt +0 -0
  9. package/oss-attribution/licenseInfos.json +1 -0
  10. package/package.json +1 -1
  11. package/src/index.ts +0 -168
  12. package/README.md +0 -70
  13. package/SystemBundles/6340ec90c9b9f38941444b2ca176a58b9d8116a6cd975690f53747ed00595c90.bundle +0 -14669
  14. package/SystemBundles/6340ec90c9b9f38941444b2ca176a58b9d8116a6cd975690f53747ed00595c90.map +0 -5041
  15. package/lib/commonjs/ActionType.js +0 -15
  16. package/lib/commonjs/Directions.js +0 -31
  17. package/lib/commonjs/EnableNewWebImplementation.js +0 -40
  18. package/lib/commonjs/GestureHandlerRootViewContext.js +0 -10
  19. package/lib/commonjs/PlatformConstants.js +0 -9
  20. package/lib/commonjs/PlatformConstants.kepler.js +0 -12
  21. package/lib/commonjs/PlatformConstants.web.js +0 -12
  22. package/lib/commonjs/PointerType.js +0 -15
  23. package/lib/commonjs/RNGestureHandlerModule.js +0 -12
  24. package/lib/commonjs/RNGestureHandlerModule.kepler.js +0 -32
  25. package/lib/commonjs/RNGestureHandlerModule.web.js +0 -95
  26. package/lib/commonjs/RNGestureHandlerModule.windows.js +0 -56
  27. package/lib/commonjs/RNRenderer.js +0 -14
  28. package/lib/commonjs/RNRenderer.web.js +0 -10
  29. package/lib/commonjs/State.js +0 -19
  30. package/lib/commonjs/TouchEventType.js +0 -16
  31. package/lib/commonjs/components/DrawerLayout.js +0 -548
  32. package/lib/commonjs/components/GestureButtons.js +0 -212
  33. package/lib/commonjs/components/GestureButtonsProps.js +0 -6
  34. package/lib/commonjs/components/GestureComponents.js +0 -106
  35. package/lib/commonjs/components/GestureComponents.web.js +0 -39
  36. package/lib/commonjs/components/GestureHandlerButton.js +0 -10
  37. package/lib/commonjs/components/GestureHandlerButton.web.js +0 -16
  38. package/lib/commonjs/components/GestureHandlerRootView.android.js +0 -36
  39. package/lib/commonjs/components/GestureHandlerRootView.js +0 -35
  40. package/lib/commonjs/components/GestureHandlerRootView.kepler.js +0 -21
  41. package/lib/commonjs/components/GestureHandlerRootView.web.js +0 -30
  42. package/lib/commonjs/components/Pressable/Pressable.js +0 -274
  43. package/lib/commonjs/components/Pressable/PressableProps.js +0 -6
  44. package/lib/commonjs/components/Pressable/StateMachine.js +0 -44
  45. package/lib/commonjs/components/Pressable/index.js +0 -14
  46. package/lib/commonjs/components/Pressable/stateDefinitions.js +0 -88
  47. package/lib/commonjs/components/Pressable/utils.js +0 -92
  48. package/lib/commonjs/components/ReanimatedDrawerLayout.js +0 -357
  49. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -337
  50. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -12
  51. package/lib/commonjs/components/ReanimatedSwipeable/index.js +0 -21
  52. package/lib/commonjs/components/Swipeable.js +0 -370
  53. package/lib/commonjs/components/Text.js +0 -60
  54. package/lib/commonjs/components/gestureHandlerRootHOC.js +0 -37
  55. package/lib/commonjs/components/touchables/ExtraButtonProps.js +0 -2
  56. package/lib/commonjs/components/touchables/GenericTouchable.js +0 -245
  57. package/lib/commonjs/components/touchables/GenericTouchableProps.js +0 -6
  58. package/lib/commonjs/components/touchables/TouchableHighlight.js +0 -93
  59. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +0 -84
  60. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +0 -13
  61. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js +0 -6
  62. package/lib/commonjs/components/touchables/TouchableOpacity.js +0 -65
  63. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +0 -33
  64. package/lib/commonjs/components/touchables/index.js +0 -35
  65. package/lib/commonjs/components/utils.js +0 -17
  66. package/lib/commonjs/findNodeHandle.js +0 -9
  67. package/lib/commonjs/findNodeHandle.web.js +0 -39
  68. package/lib/commonjs/getShadowNodeFromRef.js +0 -51
  69. package/lib/commonjs/getShadowNodeFromRef.web.js +0 -14
  70. package/lib/commonjs/ghQueueMicrotask.js +0 -10
  71. package/lib/commonjs/handlers/FlingGestureHandler.js +0 -31
  72. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +0 -46
  73. package/lib/commonjs/handlers/GestureHandlerEventPayload.js +0 -6
  74. package/lib/commonjs/handlers/LongPressGestureHandler.js +0 -33
  75. package/lib/commonjs/handlers/NativeViewGestureHandler.js +0 -32
  76. package/lib/commonjs/handlers/PanGestureHandler.js +0 -112
  77. package/lib/commonjs/handlers/PinchGestureHandler.js +0 -29
  78. package/lib/commonjs/handlers/PressabilityDebugView.js +0 -13
  79. package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -11
  80. package/lib/commonjs/handlers/RotationGestureHandler.js +0 -29
  81. package/lib/commonjs/handlers/TapGestureHandler.js +0 -33
  82. package/lib/commonjs/handlers/createHandler.js +0 -405
  83. package/lib/commonjs/handlers/createNativeWrapper.js +0 -77
  84. package/lib/commonjs/handlers/customDirectEventTypes.js +0 -13
  85. package/lib/commonjs/handlers/customDirectEventTypes.web.js +0 -10
  86. package/lib/commonjs/handlers/gestureHandlerCommon.js +0 -27
  87. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +0 -6
  88. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +0 -32
  89. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +0 -41
  90. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +0 -67
  91. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +0 -20
  92. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +0 -125
  93. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -22
  94. package/lib/commonjs/handlers/gestures/GestureDetector/types.js +0 -6
  95. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +0 -66
  96. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -143
  97. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -47
  98. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +0 -41
  99. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -45
  100. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +0 -143
  101. package/lib/commonjs/handlers/gestures/eventReceiver.js +0 -117
  102. package/lib/commonjs/handlers/gestures/flingGesture.js +0 -37
  103. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +0 -80
  104. package/lib/commonjs/handlers/gestures/gesture.js +0 -338
  105. package/lib/commonjs/handlers/gestures/gestureComposition.js +0 -90
  106. package/lib/commonjs/handlers/gestures/gestureObjects.js +0 -132
  107. package/lib/commonjs/handlers/gestures/gestureStateManager.js +0 -70
  108. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +0 -28
  109. package/lib/commonjs/handlers/gestures/hoverGesture.js +0 -57
  110. package/lib/commonjs/handlers/gestures/longPressGesture.js +0 -46
  111. package/lib/commonjs/handlers/gestures/manualGesture.js +0 -25
  112. package/lib/commonjs/handlers/gestures/nativeGesture.js +0 -34
  113. package/lib/commonjs/handlers/gestures/panGesture.js +0 -197
  114. package/lib/commonjs/handlers/gestures/pinchGesture.js +0 -38
  115. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +0 -29
  116. package/lib/commonjs/handlers/gestures/rotationGesture.js +0 -38
  117. package/lib/commonjs/handlers/gestures/tapGesture.js +0 -87
  118. package/lib/commonjs/handlers/getNextHandlerTag.js +0 -11
  119. package/lib/commonjs/handlers/handlersRegistry.js +0 -50
  120. package/lib/commonjs/handlers/utils.js +0 -69
  121. package/lib/commonjs/init.js +0 -25
  122. package/lib/commonjs/jestUtils/index.js +0 -19
  123. package/lib/commonjs/jestUtils/jestUtils.js +0 -316
  124. package/lib/commonjs/mocks/Pressable.js +0 -13
  125. package/lib/commonjs/mocks/mocks.js +0 -70
  126. package/lib/commonjs/mocks.js +0 -61
  127. package/lib/commonjs/mountRegistry.js +0 -37
  128. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +0 -9
  129. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -20
  130. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  131. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -17
  132. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  133. package/lib/commonjs/typeUtils.js +0 -2
  134. package/lib/commonjs/utils.js +0 -95
  135. package/lib/commonjs/web/Gestures.js +0 -48
  136. package/lib/commonjs/web/constants.js +0 -9
  137. package/lib/commonjs/web/detectors/RotationGestureDetector.js +0 -124
  138. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +0 -111
  139. package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -143
  140. package/lib/commonjs/web/handlers/GestureHandler.js +0 -689
  141. package/lib/commonjs/web/handlers/HoverGestureHandler.js +0 -45
  142. package/lib/commonjs/web/handlers/IGestureHandler.js +0 -2
  143. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -146
  144. package/lib/commonjs/web/handlers/ManualGestureHandler.js +0 -38
  145. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -141
  146. package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -399
  147. package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -122
  148. package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -129
  149. package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -215
  150. package/lib/commonjs/web/interfaces.js +0 -32
  151. package/lib/commonjs/web/tools/CircularBuffer.js +0 -40
  152. package/lib/commonjs/web/tools/EventManager.js +0 -94
  153. package/lib/commonjs/web/tools/GestureHandlerDelegate.js +0 -6
  154. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +0 -267
  155. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +0 -165
  156. package/lib/commonjs/web/tools/InteractionManager.js +0 -96
  157. package/lib/commonjs/web/tools/KeyboardEventManager.js +0 -108
  158. package/lib/commonjs/web/tools/LeastSquareSolver.js +0 -159
  159. package/lib/commonjs/web/tools/NodeManager.js +0 -39
  160. package/lib/commonjs/web/tools/PointerEventManager.js +0 -189
  161. package/lib/commonjs/web/tools/PointerTracker.js +0 -192
  162. package/lib/commonjs/web/tools/Vector.js +0 -37
  163. package/lib/commonjs/web/tools/VelocityTracker.js +0 -85
  164. package/lib/commonjs/web/tools/WheelEventManager.js +0 -55
  165. package/lib/commonjs/web/utils.js +0 -235
  166. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +0 -93
  167. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +0 -43
  168. package/lib/commonjs/web_hammer/Errors.js +0 -13
  169. package/lib/commonjs/web_hammer/FlingGestureHandler.js +0 -139
  170. package/lib/commonjs/web_hammer/GestureHandler.js +0 -484
  171. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +0 -45
  172. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +0 -57
  173. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +0 -57
  174. package/lib/commonjs/web_hammer/NodeManager.js +0 -41
  175. package/lib/commonjs/web_hammer/PanGestureHandler.js +0 -167
  176. package/lib/commonjs/web_hammer/PinchGestureHandler.js +0 -31
  177. package/lib/commonjs/web_hammer/PressGestureHandler.js +0 -153
  178. package/lib/commonjs/web_hammer/RotationGestureHandler.js +0 -32
  179. package/lib/commonjs/web_hammer/TapGestureHandler.js +0 -165
  180. package/lib/commonjs/web_hammer/constants.js +0 -51
  181. package/lib/commonjs/web_hammer/utils.js +0 -32
  182. package/lib/module/ActionType.js +0 -11
  183. package/lib/module/Directions.js +0 -27
  184. package/lib/module/EnableNewWebImplementation.js +0 -34
  185. package/lib/module/GestureHandlerRootViewContext.js +0 -5
  186. package/lib/module/PlatformConstants.js +0 -5
  187. package/lib/module/PlatformConstants.kepler.js +0 -8
  188. package/lib/module/PlatformConstants.web.js +0 -8
  189. package/lib/module/PointerType.js +0 -11
  190. package/lib/module/RNGestureHandlerModule.js +0 -8
  191. package/lib/module/RNGestureHandlerModule.kepler.js +0 -26
  192. package/lib/module/RNGestureHandlerModule.web.js +0 -90
  193. package/lib/module/RNGestureHandlerModule.windows.js +0 -50
  194. package/lib/module/RNRenderer.js +0 -6
  195. package/lib/module/RNRenderer.web.js +0 -6
  196. package/lib/module/State.js +0 -15
  197. package/lib/module/TouchEventType.js +0 -12
  198. package/lib/module/components/DrawerLayout.js +0 -541
  199. package/lib/module/components/GestureButtons.js +0 -200
  200. package/lib/module/components/GestureButtonsProps.js +0 -4
  201. package/lib/module/components/GestureComponents.js +0 -100
  202. package/lib/module/components/GestureComponents.web.js +0 -32
  203. package/lib/module/components/GestureHandlerButton.js +0 -5
  204. package/lib/module/components/GestureHandlerButton.web.js +0 -11
  205. package/lib/module/components/GestureHandlerRootView.android.js +0 -30
  206. package/lib/module/components/GestureHandlerRootView.js +0 -29
  207. package/lib/module/components/GestureHandlerRootView.kepler.js +0 -15
  208. package/lib/module/components/GestureHandlerRootView.web.js +0 -24
  209. package/lib/module/components/Pressable/Pressable.js +0 -268
  210. package/lib/module/components/Pressable/PressableProps.js +0 -4
  211. package/lib/module/components/Pressable/StateMachine.js +0 -40
  212. package/lib/module/components/Pressable/index.js +0 -4
  213. package/lib/module/components/Pressable/stateDefinitions.js +0 -83
  214. package/lib/module/components/Pressable/utils.js +0 -84
  215. package/lib/module/components/ReanimatedDrawerLayout.js +0 -352
  216. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -332
  217. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -8
  218. package/lib/module/components/ReanimatedSwipeable/index.js +0 -5
  219. package/lib/module/components/Swipeable.js +0 -364
  220. package/lib/module/components/Text.js +0 -55
  221. package/lib/module/components/gestureHandlerRootHOC.js +0 -33
  222. package/lib/module/components/touchables/ExtraButtonProps.js +0 -2
  223. package/lib/module/components/touchables/GenericTouchable.js +0 -239
  224. package/lib/module/components/touchables/GenericTouchableProps.js +0 -4
  225. package/lib/module/components/touchables/TouchableHighlight.js +0 -87
  226. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +0 -77
  227. package/lib/module/components/touchables/TouchableNativeFeedback.js +0 -10
  228. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js +0 -4
  229. package/lib/module/components/touchables/TouchableOpacity.js +0 -59
  230. package/lib/module/components/touchables/TouchableWithoutFeedback.js +0 -27
  231. package/lib/module/components/touchables/index.js +0 -7
  232. package/lib/module/components/utils.js +0 -13
  233. package/lib/module/findNodeHandle.js +0 -5
  234. package/lib/module/findNodeHandle.web.js +0 -35
  235. package/lib/module/getShadowNodeFromRef.js +0 -47
  236. package/lib/module/getShadowNodeFromRef.web.js +0 -10
  237. package/lib/module/ghQueueMicrotask.js +0 -6
  238. package/lib/module/handlers/FlingGestureHandler.js +0 -26
  239. package/lib/module/handlers/ForceTouchGestureHandler.js +0 -41
  240. package/lib/module/handlers/GestureHandlerEventPayload.js +0 -4
  241. package/lib/module/handlers/LongPressGestureHandler.js +0 -28
  242. package/lib/module/handlers/NativeViewGestureHandler.js +0 -27
  243. package/lib/module/handlers/PanGestureHandler.js +0 -105
  244. package/lib/module/handlers/PinchGestureHandler.js +0 -25
  245. package/lib/module/handlers/PressabilityDebugView.js +0 -5
  246. package/lib/module/handlers/PressabilityDebugView.web.js +0 -7
  247. package/lib/module/handlers/RotationGestureHandler.js +0 -25
  248. package/lib/module/handlers/TapGestureHandler.js +0 -28
  249. package/lib/module/handlers/createHandler.js +0 -399
  250. package/lib/module/handlers/createNativeWrapper.js +0 -74
  251. package/lib/module/handlers/customDirectEventTypes.js +0 -5
  252. package/lib/module/handlers/customDirectEventTypes.web.js +0 -7
  253. package/lib/module/handlers/gestureHandlerCommon.js +0 -26
  254. package/lib/module/handlers/gestureHandlerTypesCompat.js +0 -4
  255. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +0 -26
  256. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +0 -36
  257. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +0 -62
  258. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -15
  259. package/lib/module/handlers/gestures/GestureDetector/index.js +0 -117
  260. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -18
  261. package/lib/module/handlers/gestures/GestureDetector/types.js +0 -4
  262. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +0 -61
  263. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -139
  264. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -43
  265. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +0 -37
  266. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -40
  267. package/lib/module/handlers/gestures/GestureDetector/utils.js +0 -134
  268. package/lib/module/handlers/gestures/eventReceiver.js +0 -110
  269. package/lib/module/handlers/gestures/flingGesture.js +0 -32
  270. package/lib/module/handlers/gestures/forceTouchGesture.js +0 -76
  271. package/lib/module/handlers/gestures/gesture.js +0 -332
  272. package/lib/module/handlers/gestures/gestureComposition.js +0 -83
  273. package/lib/module/handlers/gestures/gestureObjects.js +0 -129
  274. package/lib/module/handlers/gestures/gestureStateManager.js +0 -66
  275. package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -23
  276. package/lib/module/handlers/gestures/hoverGesture.js +0 -52
  277. package/lib/module/handlers/gestures/longPressGesture.js +0 -41
  278. package/lib/module/handlers/gestures/manualGesture.js +0 -20
  279. package/lib/module/handlers/gestures/nativeGesture.js +0 -29
  280. package/lib/module/handlers/gestures/panGesture.js +0 -192
  281. package/lib/module/handlers/gestures/pinchGesture.js +0 -33
  282. package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -26
  283. package/lib/module/handlers/gestures/rotationGesture.js +0 -33
  284. package/lib/module/handlers/gestures/tapGesture.js +0 -82
  285. package/lib/module/handlers/getNextHandlerTag.js +0 -7
  286. package/lib/module/handlers/handlersRegistry.js +0 -39
  287. package/lib/module/handlers/utils.js +0 -61
  288. package/lib/module/index.js +0 -31
  289. package/lib/module/init.js +0 -19
  290. package/lib/module/jestUtils/index.js +0 -4
  291. package/lib/module/jestUtils/jestUtils.js +0 -311
  292. package/lib/module/mocks/Pressable.js +0 -4
  293. package/lib/module/mocks/mocks.js +0 -64
  294. package/lib/module/mocks.js +0 -57
  295. package/lib/module/mountRegistry.js +0 -32
  296. package/lib/module/specs/NativeRNGestureHandlerModule.js +0 -5
  297. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -14
  298. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  299. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -11
  300. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  301. package/lib/module/typeUtils.js +0 -2
  302. package/lib/module/utils.js +0 -81
  303. package/lib/module/web/Gestures.js +0 -42
  304. package/lib/module/web/constants.js +0 -5
  305. package/lib/module/web/detectors/RotationGestureDetector.js +0 -119
  306. package/lib/module/web/detectors/ScaleGestureDetector.js +0 -106
  307. package/lib/module/web/handlers/FlingGestureHandler.js +0 -137
  308. package/lib/module/web/handlers/GestureHandler.js +0 -682
  309. package/lib/module/web/handlers/HoverGestureHandler.js +0 -39
  310. package/lib/module/web/handlers/IGestureHandler.js +0 -2
  311. package/lib/module/web/handlers/LongPressGestureHandler.js +0 -140
  312. package/lib/module/web/handlers/ManualGestureHandler.js +0 -32
  313. package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -135
  314. package/lib/module/web/handlers/PanGestureHandler.js +0 -393
  315. package/lib/module/web/handlers/PinchGestureHandler.js +0 -116
  316. package/lib/module/web/handlers/RotationGestureHandler.js +0 -123
  317. package/lib/module/web/handlers/TapGestureHandler.js +0 -209
  318. package/lib/module/web/interfaces.js +0 -28
  319. package/lib/module/web/tools/CircularBuffer.js +0 -35
  320. package/lib/module/web/tools/EventManager.js +0 -89
  321. package/lib/module/web/tools/GestureHandlerDelegate.js +0 -4
  322. package/lib/module/web/tools/GestureHandlerOrchestrator.js +0 -261
  323. package/lib/module/web/tools/GestureHandlerWebDelegate.js +0 -159
  324. package/lib/module/web/tools/InteractionManager.js +0 -91
  325. package/lib/module/web/tools/KeyboardEventManager.js +0 -102
  326. package/lib/module/web/tools/LeastSquareSolver.js +0 -154
  327. package/lib/module/web/tools/NodeManager.js +0 -34
  328. package/lib/module/web/tools/PointerEventManager.js +0 -183
  329. package/lib/module/web/tools/PointerTracker.js +0 -186
  330. package/lib/module/web/tools/Vector.js +0 -32
  331. package/lib/module/web/tools/VelocityTracker.js +0 -79
  332. package/lib/module/web/tools/WheelEventManager.js +0 -49
  333. package/lib/module/web/utils.js +0 -223
  334. package/lib/module/web_hammer/DiscreteGestureHandler.js +0 -87
  335. package/lib/module/web_hammer/DraggingGestureHandler.js +0 -37
  336. package/lib/module/web_hammer/Errors.js +0 -8
  337. package/lib/module/web_hammer/FlingGestureHandler.js +0 -133
  338. package/lib/module/web_hammer/GestureHandler.js +0 -478
  339. package/lib/module/web_hammer/IndiscreteGestureHandler.js +0 -41
  340. package/lib/module/web_hammer/LongPressGestureHandler.js +0 -51
  341. package/lib/module/web_hammer/NativeViewGestureHandler.js +0 -51
  342. package/lib/module/web_hammer/NodeManager.js +0 -33
  343. package/lib/module/web_hammer/PanGestureHandler.js +0 -162
  344. package/lib/module/web_hammer/PinchGestureHandler.js +0 -26
  345. package/lib/module/web_hammer/PressGestureHandler.js +0 -148
  346. package/lib/module/web_hammer/RotationGestureHandler.js +0 -27
  347. package/lib/module/web_hammer/TapGestureHandler.js +0 -160
  348. package/lib/module/web_hammer/constants.js +0 -46
  349. package/lib/module/web_hammer/utils.js +0 -21
  350. package/src/ActionType.ts +0 -9
  351. package/src/Directions.ts +0 -26
  352. package/src/EnableNewWebImplementation.ts +0 -53
  353. package/src/GestureHandlerRootViewContext.ts +0 -3
  354. package/src/PlatformConstants.kepler.ts +0 -5
  355. package/src/PlatformConstants.ts +0 -8
  356. package/src/PlatformConstants.web.ts +0 -5
  357. package/src/PointerType.ts +0 -7
  358. package/src/RNGestureHandlerModule.kepler.ts +0 -64
  359. package/src/RNGestureHandlerModule.ts +0 -5
  360. package/src/RNGestureHandlerModule.web.ts +0 -124
  361. package/src/RNGestureHandlerModule.windows.ts +0 -62
  362. package/src/RNRenderer.ts +0 -3
  363. package/src/RNRenderer.web.ts +0 -3
  364. package/src/State.ts +0 -13
  365. package/src/TouchEventType.ts +0 -11
  366. package/src/components/DrawerLayout.tsx +0 -788
  367. package/src/components/GestureButtons.tsx +0 -272
  368. package/src/components/GestureButtonsProps.ts +0 -156
  369. package/src/components/GestureComponents.tsx +0 -148
  370. package/src/components/GestureComponents.web.tsx +0 -41
  371. package/src/components/GestureHandlerButton.tsx +0 -5
  372. package/src/components/GestureHandlerButton.web.tsx +0 -6
  373. package/src/components/GestureHandlerRootView.android.tsx +0 -32
  374. package/src/components/GestureHandlerRootView.kepler.tsx +0 -18
  375. package/src/components/GestureHandlerRootView.tsx +0 -28
  376. package/src/components/GestureHandlerRootView.web.tsx +0 -22
  377. package/src/components/Pressable/Pressable.tsx +0 -401
  378. package/src/components/Pressable/PressableProps.tsx +0 -174
  379. package/src/components/Pressable/StateMachine.tsx +0 -57
  380. package/src/components/Pressable/index.ts +0 -5
  381. package/src/components/Pressable/stateDefinitions.ts +0 -126
  382. package/src/components/Pressable/utils.ts +0 -140
  383. package/src/components/ReanimatedDrawerLayout.tsx +0 -754
  384. package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +0 -607
  385. package/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts +0 -199
  386. package/src/components/ReanimatedSwipeable/index.ts +0 -6
  387. package/src/components/Swipeable.tsx +0 -595
  388. package/src/components/Text.tsx +0 -77
  389. package/src/components/gestureHandlerRootHOC.tsx +0 -33
  390. package/src/components/touchables/ExtraButtonProps.ts +0 -7
  391. package/src/components/touchables/GenericTouchable.tsx +0 -275
  392. package/src/components/touchables/GenericTouchableProps.ts +0 -28
  393. package/src/components/touchables/TouchableHighlight.tsx +0 -118
  394. package/src/components/touchables/TouchableNativeFeedback.android.tsx +0 -83
  395. package/src/components/touchables/TouchableNativeFeedback.tsx +0 -8
  396. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +0 -10
  397. package/src/components/touchables/TouchableOpacity.tsx +0 -78
  398. package/src/components/touchables/TouchableWithoutFeedback.tsx +0 -39
  399. package/src/components/touchables/index.ts +0 -7
  400. package/src/components/utils.ts +0 -26
  401. package/src/findNodeHandle.ts +0 -3
  402. package/src/findNodeHandle.web.ts +0 -41
  403. package/src/getShadowNodeFromRef.ts +0 -50
  404. package/src/getShadowNodeFromRef.web.ts +0 -7
  405. package/src/ghQueueMicrotask.ts +0 -8
  406. package/src/handlers/FlingGestureHandler.ts +0 -64
  407. package/src/handlers/ForceTouchGestureHandler.ts +0 -88
  408. package/src/handlers/GestureHandlerEventPayload.ts +0 -229
  409. package/src/handlers/LongPressGestureHandler.ts +0 -65
  410. package/src/handlers/NativeViewGestureHandler.ts +0 -59
  411. package/src/handlers/PanGestureHandler.ts +0 -282
  412. package/src/handlers/PinchGestureHandler.ts +0 -32
  413. package/src/handlers/PressabilityDebugView.tsx +0 -2
  414. package/src/handlers/PressabilityDebugView.web.tsx +0 -4
  415. package/src/handlers/RotationGestureHandler.ts +0 -32
  416. package/src/handlers/TapGestureHandler.ts +0 -99
  417. package/src/handlers/createHandler.tsx +0 -586
  418. package/src/handlers/createNativeWrapper.tsx +0 -89
  419. package/src/handlers/customDirectEventTypes.ts +0 -2
  420. package/src/handlers/customDirectEventTypes.web.ts +0 -5
  421. package/src/handlers/gestureHandlerCommon.ts +0 -211
  422. package/src/handlers/gestureHandlerTypesCompat.ts +0 -101
  423. package/src/handlers/gestures/GestureDetector/Wrap.tsx +0 -35
  424. package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +0 -42
  425. package/src/handlers/gestures/GestureDetector/attachHandlers.ts +0 -112
  426. package/src/handlers/gestures/GestureDetector/dropHandlers.ts +0 -17
  427. package/src/handlers/gestures/GestureDetector/index.tsx +0 -191
  428. package/src/handlers/gestures/GestureDetector/needsToReattach.ts +0 -27
  429. package/src/handlers/gestures/GestureDetector/types.ts +0 -32
  430. package/src/handlers/gestures/GestureDetector/updateHandlers.ts +0 -92
  431. package/src/handlers/gestures/GestureDetector/useAnimatedGesture.ts +0 -209
  432. package/src/handlers/gestures/GestureDetector/useDetectorUpdater.ts +0 -69
  433. package/src/handlers/gestures/GestureDetector/useMountReactions.ts +0 -51
  434. package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +0 -58
  435. package/src/handlers/gestures/GestureDetector/utils.ts +0 -181
  436. package/src/handlers/gestures/eventReceiver.ts +0 -173
  437. package/src/handlers/gestures/flingGesture.ts +0 -36
  438. package/src/handlers/gestures/forceTouchGesture.ts +0 -95
  439. package/src/handlers/gestures/gesture.ts +0 -472
  440. package/src/handlers/gestures/gestureComposition.ts +0 -124
  441. package/src/handlers/gestures/gestureObjects.ts +0 -143
  442. package/src/handlers/gestures/gestureStateManager.ts +0 -76
  443. package/src/handlers/gestures/gestureStateManager.web.ts +0 -26
  444. package/src/handlers/gestures/hoverGesture.ts +0 -77
  445. package/src/handlers/gestures/longPressGesture.ts +0 -45
  446. package/src/handlers/gestures/manualGesture.ts +0 -31
  447. package/src/handlers/gestures/nativeGesture.ts +0 -33
  448. package/src/handlers/gestures/panGesture.ts +0 -221
  449. package/src/handlers/gestures/pinchGesture.ts +0 -51
  450. package/src/handlers/gestures/reanimatedWrapper.ts +0 -57
  451. package/src/handlers/gestures/rotationGesture.ts +0 -51
  452. package/src/handlers/gestures/tapGesture.ts +0 -86
  453. package/src/handlers/getNextHandlerTag.ts +0 -5
  454. package/src/handlers/handlersRegistry.ts +0 -58
  455. package/src/handlers/utils.ts +0 -76
  456. package/src/init.ts +0 -18
  457. package/src/jestUtils/index.ts +0 -1
  458. package/src/jestUtils/jestUtils.ts +0 -513
  459. package/src/mocks/Pressable.tsx +0 -1
  460. package/src/mocks/mocks.tsx +0 -70
  461. package/src/mocks.ts +0 -67
  462. package/src/mountRegistry.ts +0 -51
  463. package/src/specs/NativeRNGestureHandlerModule.ts +0 -26
  464. package/src/specs/RNGestureHandlerButtonNativeComponent.kepler.ts +0 -27
  465. package/src/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  466. package/src/specs/RNGestureHandlerRootViewNativeComponent.kepler.ts +0 -21
  467. package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  468. package/src/typeUtils.ts +0 -1
  469. package/src/utils.ts +0 -107
  470. package/src/web/Gestures.ts +0 -41
  471. package/src/web/constants.ts +0 -2
  472. package/src/web/detectors/RotationGestureDetector.ts +0 -170
  473. package/src/web/detectors/ScaleGestureDetector.ts +0 -171
  474. package/src/web/handlers/FlingGestureHandler.ts +0 -196
  475. package/src/web/handlers/GestureHandler.ts +0 -881
  476. package/src/web/handlers/HoverGestureHandler.ts +0 -49
  477. package/src/web/handlers/IGestureHandler.ts +0 -49
  478. package/src/web/handlers/LongPressGestureHandler.ts +0 -175
  479. package/src/web/handlers/ManualGestureHandler.ts +0 -37
  480. package/src/web/handlers/NativeViewGestureHandler.ts +0 -175
  481. package/src/web/handlers/PanGestureHandler.ts +0 -571
  482. package/src/web/handlers/PinchGestureHandler.ts +0 -152
  483. package/src/web/handlers/RotationGestureHandler.ts +0 -166
  484. package/src/web/handlers/TapGestureHandler.ts +0 -274
  485. package/src/web/interfaces.ts +0 -190
  486. package/src/web/tools/CircularBuffer.ts +0 -42
  487. package/src/web/tools/EventManager.ts +0 -108
  488. package/src/web/tools/GestureHandlerDelegate.ts +0 -26
  489. package/src/web/tools/GestureHandlerOrchestrator.ts +0 -392
  490. package/src/web/tools/GestureHandlerWebDelegate.ts +0 -227
  491. package/src/web/tools/InteractionManager.ts +0 -135
  492. package/src/web/tools/KeyboardEventManager.ts +0 -133
  493. package/src/web/tools/LeastSquareSolver.ts +0 -182
  494. package/src/web/tools/NodeManager.ts +0 -48
  495. package/src/web/tools/PointerEventManager.ts +0 -226
  496. package/src/web/tools/PointerTracker.ts +0 -228
  497. package/src/web/tools/Vector.ts +0 -59
  498. package/src/web/tools/VelocityTracker.ts +0 -98
  499. package/src/web/tools/WheelEventManager.ts +0 -48
  500. package/src/web/utils.ts +0 -293
  501. package/src/web_hammer/DiscreteGestureHandler.ts +0 -82
  502. package/src/web_hammer/DraggingGestureHandler.ts +0 -34
  503. package/src/web_hammer/Errors.ts +0 -7
  504. package/src/web_hammer/FlingGestureHandler.ts +0 -134
  505. package/src/web_hammer/GestureHandler.ts +0 -600
  506. package/src/web_hammer/IndiscreteGestureHandler.ts +0 -33
  507. package/src/web_hammer/LongPressGestureHandler.ts +0 -56
  508. package/src/web_hammer/NativeViewGestureHandler.ts +0 -47
  509. package/src/web_hammer/NodeManager.ts +0 -33
  510. package/src/web_hammer/PanGestureHandler.ts +0 -226
  511. package/src/web_hammer/PinchGestureHandler.ts +0 -25
  512. package/src/web_hammer/PressGestureHandler.ts +0 -170
  513. package/src/web_hammer/RotationGestureHandler.ts +0 -25
  514. package/src/web_hammer/TapGestureHandler.ts +0 -172
  515. package/src/web_hammer/constants.ts +0 -48
  516. package/src/web_hammer/utils.ts +0 -24
@@ -1,28 +0,0 @@
1
- import * as React from 'react';
2
- import { PropsWithChildren } from 'react';
3
- import { View, ViewProps, StyleSheet } from 'react-native';
4
- import { maybeInitializeFabric } from '../init';
5
- import GestureHandlerRootViewContext from '../GestureHandlerRootViewContext';
6
-
7
- export interface GestureHandlerRootViewProps
8
- extends PropsWithChildren<ViewProps> { }
9
-
10
- export default function GestureHandlerRootView({
11
- style,
12
- ...rest
13
- }: GestureHandlerRootViewProps) {
14
- // Try initialize fabric on the first render, at this point we can
15
- // reliably check if fabric is enabled (the function contains a flag
16
- // to make sure it's called only once)
17
- maybeInitializeFabric();
18
-
19
- return (
20
- <GestureHandlerRootViewContext.Provider value>
21
- <View style={style ?? styles.container} {...rest} />
22
- </GestureHandlerRootViewContext.Provider>
23
- );
24
- }
25
-
26
- const styles = StyleSheet.create({
27
- container: { flex: 1 },
28
- });
@@ -1,22 +0,0 @@
1
- import * as React from 'react';
2
- import { PropsWithChildren } from 'react';
3
- import { View, ViewProps, StyleSheet } from 'react-native';
4
- import GestureHandlerRootViewContext from '../GestureHandlerRootViewContext';
5
-
6
- export interface GestureHandlerRootViewProps
7
- extends PropsWithChildren<ViewProps> { }
8
-
9
- export default function GestureHandlerRootView({
10
- style,
11
- ...rest
12
- }: GestureHandlerRootViewProps) {
13
- return (
14
- <GestureHandlerRootViewContext.Provider value>
15
- <View style={style ?? styles.container} {...rest} />
16
- </GestureHandlerRootViewContext.Provider>
17
- );
18
- }
19
-
20
- const styles = StyleSheet.create({
21
- container: { flex: 1 },
22
- });
@@ -1,401 +0,0 @@
1
- import React, {
2
- useCallback,
3
- useEffect,
4
- useMemo,
5
- useRef,
6
- useState,
7
- } from 'react';
8
- import { GestureObjects as Gesture } from '../../handlers/gestures/gestureObjects';
9
- import { GestureDetector } from '../../handlers/gestures/GestureDetector';
10
- import {
11
- PressableEvent,
12
- PressableProps,
13
- PressableDimensions,
14
- } from './PressableProps';
15
- import {
16
- Insets,
17
- LayoutChangeEvent,
18
- Platform,
19
- StyleProp,
20
- ViewStyle,
21
- processColor,
22
- } from 'react-native';
23
- import NativeButton from '../GestureHandlerButton';
24
- import {
25
- gestureToPressableEvent,
26
- addInsets,
27
- numberAsInset,
28
- gestureTouchToPressableEvent,
29
- isTouchWithinInset,
30
- } from './utils';
31
- import { PressabilityDebugView } from '../../handlers/PressabilityDebugView';
32
- import { INT32_MAX, isFabric, isTestEnv } from '../../utils';
33
- import {
34
- applyRelationProp,
35
- RelationPropName,
36
- RelationPropType,
37
- } from '../utils';
38
- import { getStatesConfig, StateMachineEvent } from './stateDefinitions';
39
- import { PressableStateMachine } from './StateMachine';
40
-
41
- const DEFAULT_LONG_PRESS_DURATION = 500;
42
- const IS_TEST_ENV = isTestEnv();
43
-
44
- let IS_FABRIC: null | boolean = null;
45
-
46
- const Pressable = (props: PressableProps) => {
47
- const {
48
- testOnly_pressed,
49
- hitSlop,
50
- pressRetentionOffset,
51
- delayHoverIn,
52
- delayHoverOut,
53
- delayLongPress,
54
- unstable_pressDelay,
55
- onHoverIn,
56
- onHoverOut,
57
- onPress,
58
- onPressIn,
59
- onPressOut,
60
- onLongPress,
61
- onLayout,
62
- style,
63
- children,
64
- android_disableSound,
65
- android_ripple,
66
- disabled,
67
- accessible,
68
- simultaneousWithExternalGesture,
69
- requireExternalGestureToFail,
70
- blocksExternalGesture,
71
- ...remainingProps
72
- } = props;
73
-
74
- const relationProps = {
75
- simultaneousWithExternalGesture,
76
- requireExternalGestureToFail,
77
- blocksExternalGesture,
78
- };
79
-
80
- const [pressedState, setPressedState] = useState(testOnly_pressed ?? false);
81
-
82
- const longPressTimeoutRef = useRef<number | null>(null);
83
- const pressDelayTimeoutRef = useRef<number | null>(null);
84
- const isOnPressAllowed = useRef<boolean>(true);
85
- const isCurrentlyPressed = useRef<boolean>(false);
86
- const dimensions = useRef<PressableDimensions>({ width: 0, height: 0 });
87
-
88
- const normalizedHitSlop: Insets = useMemo(
89
- () =>
90
- typeof hitSlop === 'number' ? numberAsInset(hitSlop) : (hitSlop ?? {}),
91
- [hitSlop]
92
- );
93
-
94
- const normalizedPressRetentionOffset: Insets = useMemo(
95
- () =>
96
- typeof pressRetentionOffset === 'number'
97
- ? numberAsInset(pressRetentionOffset)
98
- : (pressRetentionOffset ?? {}),
99
- [pressRetentionOffset]
100
- );
101
-
102
- const appliedHitSlop = addInsets(
103
- normalizedHitSlop,
104
- normalizedPressRetentionOffset
105
- );
106
-
107
- const cancelLongPress = useCallback(() => {
108
- if (longPressTimeoutRef.current) {
109
- clearTimeout(longPressTimeoutRef.current);
110
- longPressTimeoutRef.current = null;
111
- isOnPressAllowed.current = true;
112
- }
113
- }, []);
114
-
115
- const cancelDelayedPress = useCallback(() => {
116
- if (pressDelayTimeoutRef.current) {
117
- clearTimeout(pressDelayTimeoutRef.current);
118
- pressDelayTimeoutRef.current = null;
119
- }
120
- }, []);
121
-
122
- const startLongPress = useCallback(
123
- (event: PressableEvent) => {
124
- if (onLongPress) {
125
- cancelLongPress();
126
- longPressTimeoutRef.current = setTimeout(() => {
127
- isOnPressAllowed.current = false;
128
- onLongPress(event);
129
- }, delayLongPress ?? DEFAULT_LONG_PRESS_DURATION);
130
- }
131
- },
132
- [onLongPress, cancelLongPress, delayLongPress]
133
- );
134
-
135
- const innerHandlePressIn = useCallback(
136
- (event: PressableEvent) => {
137
- onPressIn?.(event);
138
- startLongPress(event);
139
- setPressedState(true);
140
- if (pressDelayTimeoutRef.current) {
141
- clearTimeout(pressDelayTimeoutRef.current);
142
- pressDelayTimeoutRef.current = null;
143
- }
144
- },
145
- [onPressIn, startLongPress]
146
- );
147
-
148
- const handleFinalize = useCallback(() => {
149
- isCurrentlyPressed.current = false;
150
- cancelLongPress();
151
- cancelDelayedPress();
152
- setPressedState(false);
153
- }, [cancelDelayedPress, cancelLongPress]);
154
-
155
- const handlePressIn = useCallback(
156
- (event: PressableEvent) => {
157
- if (
158
- !isTouchWithinInset(
159
- dimensions.current,
160
- normalizedHitSlop,
161
- event.nativeEvent.changedTouches.at(-1)
162
- )
163
- ) {
164
- // Ignoring pressIn within pressRetentionOffset
165
- return;
166
- }
167
-
168
- isCurrentlyPressed.current = true;
169
- if (unstable_pressDelay) {
170
- pressDelayTimeoutRef.current = setTimeout(() => {
171
- innerHandlePressIn(event);
172
- }, unstable_pressDelay);
173
- } else {
174
- innerHandlePressIn(event);
175
- }
176
- },
177
- [innerHandlePressIn, normalizedHitSlop, unstable_pressDelay]
178
- );
179
-
180
- const handlePressOut = useCallback(
181
- (event: PressableEvent, success: boolean = true) => {
182
- if (!isCurrentlyPressed.current) {
183
- // Some prop configurations may lead to handlePressOut being called mutliple times.
184
- return;
185
- }
186
-
187
- isCurrentlyPressed.current = false;
188
-
189
- if (pressDelayTimeoutRef.current) {
190
- innerHandlePressIn(event);
191
- }
192
-
193
- onPressOut?.(event);
194
-
195
- if (isOnPressAllowed.current && success) {
196
- onPress?.(event);
197
- }
198
-
199
- handleFinalize();
200
- },
201
- [handleFinalize, innerHandlePressIn, onPress, onPressOut]
202
- );
203
-
204
- const stateMachine = useMemo(() => new PressableStateMachine(), []);
205
-
206
- useEffect(() => {
207
- const configuration = getStatesConfig(handlePressIn, handlePressOut);
208
- stateMachine.setStates(configuration);
209
- }, [handlePressIn, handlePressOut, stateMachine]);
210
-
211
- const hoverInTimeout = useRef<number | null>(null);
212
- const hoverOutTimeout = useRef<number | null>(null);
213
-
214
- const hoverGesture = useMemo(
215
- () =>
216
- Gesture.Hover()
217
- .manualActivation(true) // Prevents Hover blocking Gesture.Native() on web
218
- .cancelsTouchesInView(false)
219
- .onBegin((event) => {
220
- if (hoverOutTimeout.current) {
221
- clearTimeout(hoverOutTimeout.current);
222
- }
223
- if (delayHoverIn) {
224
- hoverInTimeout.current = setTimeout(
225
- () => onHoverIn?.(gestureToPressableEvent(event)),
226
- delayHoverIn
227
- );
228
- return;
229
- }
230
- onHoverIn?.(gestureToPressableEvent(event));
231
- })
232
- .onFinalize((event) => {
233
- if (hoverInTimeout.current) {
234
- clearTimeout(hoverInTimeout.current);
235
- }
236
- if (delayHoverOut) {
237
- hoverOutTimeout.current = setTimeout(
238
- () => onHoverOut?.(gestureToPressableEvent(event)),
239
- delayHoverOut
240
- );
241
- return;
242
- }
243
- onHoverOut?.(gestureToPressableEvent(event));
244
- }),
245
- [delayHoverIn, delayHoverOut, onHoverIn, onHoverOut]
246
- );
247
-
248
- const pressAndTouchGesture = useMemo(
249
- () =>
250
- Gesture.LongPress()
251
- .minDuration(INT32_MAX) // Stops long press from blocking Gesture.Native()
252
- .maxDistance(INT32_MAX) // Stops long press from cancelling on touch move
253
- .cancelsTouchesInView(false)
254
- .onTouchesDown((event) => {
255
- const pressableEvent = gestureTouchToPressableEvent(event);
256
- stateMachine.handleEvent(
257
- StateMachineEvent.LONG_PRESS_TOUCHES_DOWN,
258
- pressableEvent
259
- );
260
- })
261
- .onTouchesUp(() => {
262
- if (Platform.OS === 'android') {
263
- // Prevents potential soft-locks
264
- stateMachine.reset();
265
- handleFinalize();
266
- }
267
- })
268
- .onTouchesCancelled((event) => {
269
- const pressableEvent = gestureTouchToPressableEvent(event);
270
- stateMachine.reset();
271
- handlePressOut(pressableEvent, false);
272
- })
273
- .onFinalize((_event, success) => {
274
- if (Platform.OS === 'web') {
275
- if (success) {
276
- stateMachine.handleEvent(StateMachineEvent.FINALIZE);
277
- } else {
278
- stateMachine.handleEvent(StateMachineEvent.CANCEL);
279
- }
280
- handleFinalize();
281
- }
282
- }),
283
- [stateMachine, handleFinalize, handlePressOut]
284
- );
285
-
286
- // RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events
287
- const buttonGesture = useMemo(
288
- () =>
289
- Gesture.Native()
290
- .onTouchesCancelled((event) => {
291
- if (Platform.OS !== 'macos' && Platform.OS !== 'web') {
292
- // On MacOS cancel occurs in middle of gesture
293
- // On Web cancel occurs on mouse move, which is unwanted
294
- const pressableEvent = gestureTouchToPressableEvent(event);
295
- stateMachine.reset();
296
- handlePressOut(pressableEvent, false);
297
- }
298
- })
299
- .onBegin(() => {
300
- stateMachine.handleEvent(StateMachineEvent.NATIVE_BEGIN);
301
- })
302
- .onStart(() => {
303
- if (Platform.OS !== 'android') {
304
- // Gesture.Native().onStart() is broken with Android + hitSlop
305
- stateMachine.handleEvent(StateMachineEvent.NATIVE_START);
306
- }
307
- })
308
- .onFinalize((_event, success) => {
309
- if (Platform.OS !== 'web') {
310
- // On Web we use LongPress().onFinalize() instead of Native().onFinalize(),
311
- // as Native cancels on mouse move, and LongPress does not.
312
- if (success) {
313
- stateMachine.handleEvent(StateMachineEvent.FINALIZE);
314
- } else {
315
- stateMachine.handleEvent(StateMachineEvent.CANCEL);
316
- }
317
- handleFinalize();
318
- }
319
- }),
320
- [stateMachine, handlePressOut, handleFinalize]
321
- );
322
-
323
- const isPressableEnabled = disabled !== true;
324
-
325
- const gestures = [buttonGesture, pressAndTouchGesture, hoverGesture];
326
-
327
- for (const gesture of gestures) {
328
- gesture.enabled(isPressableEnabled);
329
- gesture.runOnJS(true);
330
- gesture.hitSlop(appliedHitSlop);
331
- gesture.shouldCancelWhenOutside(Platform.OS !== 'web');
332
-
333
- Object.entries(relationProps).forEach(([relationName, relation]) => {
334
- applyRelationProp(
335
- gesture,
336
- relationName as RelationPropName,
337
- relation as RelationPropType
338
- );
339
- });
340
- }
341
-
342
- const gesture = Gesture.Simultaneous(...gestures);
343
-
344
- // `cursor: 'pointer'` on `RNButton` crashes iOS
345
- const pointerStyle: StyleProp<ViewStyle> =
346
- Platform.OS === 'web' ? { cursor: 'pointer' } : {};
347
-
348
- const styleProp =
349
- typeof style === 'function' ? style({ pressed: pressedState }) : style;
350
-
351
- const childrenProp =
352
- typeof children === 'function'
353
- ? children({ pressed: pressedState })
354
- : children;
355
-
356
- const rippleColor = useMemo(() => {
357
- if (IS_FABRIC === null) {
358
- IS_FABRIC = isFabric();
359
- }
360
-
361
- const defaultRippleColor = android_ripple ? undefined : 'transparent';
362
- const unprocessedRippleColor = android_ripple?.color ?? defaultRippleColor;
363
- return IS_FABRIC
364
- ? unprocessedRippleColor
365
- : processColor(unprocessedRippleColor);
366
- }, [android_ripple]);
367
-
368
- const setDimensions = useCallback(
369
- (event: LayoutChangeEvent) => {
370
- onLayout?.(event);
371
- dimensions.current = event.nativeEvent.layout;
372
- },
373
- [onLayout]
374
- );
375
-
376
- return (
377
- <GestureDetector gesture={gesture}>
378
- <NativeButton
379
- {...remainingProps}
380
- onLayout={setDimensions}
381
- accessible={accessible !== false}
382
- hitSlop={appliedHitSlop}
383
- enabled={isPressableEnabled}
384
- touchSoundDisabled={android_disableSound ?? undefined}
385
- rippleColor={rippleColor}
386
- rippleRadius={android_ripple?.radius ?? undefined}
387
- style={[pointerStyle, styleProp]}
388
- testOnly_onPress={IS_TEST_ENV ? onPress : undefined}
389
- testOnly_onPressIn={IS_TEST_ENV ? onPressIn : undefined}
390
- testOnly_onPressOut={IS_TEST_ENV ? onPressOut : undefined}
391
- testOnly_onLongPress={IS_TEST_ENV ? onLongPress : undefined}>
392
- {childrenProp}
393
- {__DEV__ ? (
394
- <PressabilityDebugView color="red" hitSlop={normalizedHitSlop} />
395
- ) : null}
396
- </NativeButton>
397
- </GestureDetector>
398
- );
399
- };
400
-
401
- export default Pressable;
@@ -1,174 +0,0 @@
1
- import {
2
- AccessibilityProps,
3
- ViewProps,
4
- Insets,
5
- StyleProp,
6
- ViewStyle,
7
- PressableStateCallbackType as RNPressableStateCallbackType,
8
- PressableAndroidRippleConfig as RNPressableAndroidRippleConfig,
9
- View,
10
- } from 'react-native';
11
- import { RelationPropType } from '../utils';
12
-
13
- export type PressableDimensions = { width: number; height: number };
14
-
15
- export type PressableStateCallbackType = RNPressableStateCallbackType;
16
- export type PressableAndroidRippleConfig = RNPressableAndroidRippleConfig;
17
-
18
- export type InnerPressableEvent = {
19
- changedTouches: InnerPressableEvent[];
20
- identifier: number;
21
- locationX: number;
22
- locationY: number;
23
- pageX: number;
24
- pageY: number;
25
- target: number;
26
- timestamp: number;
27
- touches: InnerPressableEvent[];
28
- force?: number;
29
- };
30
-
31
- export type PressableEvent = { nativeEvent: InnerPressableEvent };
32
-
33
- export interface PressableProps
34
- extends AccessibilityProps,
35
- Omit<ViewProps, 'children' | 'style' | 'hitSlop'> {
36
- /**
37
- * Called when the hover is activated to provide visual feedback.
38
- */
39
- onHoverIn?: null | ((event: PressableEvent) => void);
40
-
41
- /**
42
- * Called when the hover is deactivated to undo visual feedback.
43
- */
44
- onHoverOut?: null | ((event: PressableEvent) => void);
45
-
46
- /**
47
- * Called when a single tap gesture is detected.
48
- */
49
- onPress?: null | ((event: PressableEvent) => void);
50
-
51
- /**
52
- * Called when a touch is engaged before `onPress`.
53
- */
54
- onPressIn?: null | ((event: PressableEvent) => void);
55
-
56
- /**
57
- * Called when a touch is released before `onPress`.
58
- */
59
- onPressOut?: null | ((event: PressableEvent) => void);
60
-
61
- /**
62
- * Called when a long-tap gesture is detected.
63
- */
64
- onLongPress?: null | ((event: PressableEvent) => void);
65
-
66
- /**
67
- * A reference to the pressable element.
68
- */
69
- ref?: React.Ref<View>;
70
-
71
- /**
72
- * Either children or a render prop that receives a boolean reflecting whether
73
- * the component is currently pressed.
74
- */
75
- children?:
76
- | React.ReactNode
77
- | ((state: PressableStateCallbackType) => React.ReactNode);
78
-
79
- /**
80
- * Whether a press gesture can be interrupted by a parent gesture such as a
81
- * scroll event. Defaults to true.
82
- */
83
- cancelable?: null | boolean;
84
-
85
- /**
86
- * Duration to wait after hover in before calling `onHoverIn`.
87
- * @platform web macos
88
- *
89
- * NOTE: not present in RN docs
90
- */
91
- delayHoverIn?: number | null;
92
-
93
- /**
94
- * Duration to wait after hover out before calling `onHoverOut`.
95
- * @platform web macos
96
- *
97
- * NOTE: not present in RN docs
98
- */
99
- delayHoverOut?: number | null;
100
-
101
- /**
102
- * Duration (in milliseconds) from `onPressIn` before `onLongPress` is called.
103
- */
104
- delayLongPress?: null | number;
105
-
106
- /**
107
- * Whether the press behavior is disabled.
108
- */
109
- disabled?: null | boolean;
110
-
111
- /**
112
- * Additional distance outside of this view in which a press is detected.
113
- */
114
- hitSlop?: null | Insets | number;
115
-
116
- /**
117
- * Additional distance outside of this view in which a touch is considered a
118
- * press before `onPressOut` is triggered.
119
- */
120
- pressRetentionOffset?: null | Insets | number;
121
-
122
- /**
123
- * If true, doesn't play system sound on touch.
124
- * @platform android
125
- */
126
- android_disableSound?: null | boolean;
127
-
128
- /**
129
- * Enables the Android ripple effect and configures its color.
130
- * @platform android
131
- */
132
- android_ripple?: null | PressableAndroidRippleConfig;
133
-
134
- /**
135
- * Used only for documentation or testing (e.g. snapshot testing).
136
- */
137
- testOnly_pressed?: null | boolean;
138
-
139
- /**
140
- * Either view styles or a function that receives a boolean reflecting whether
141
- * the component is currently pressed and returns view styles.
142
- */
143
- style?:
144
- | StyleProp<ViewStyle>
145
- | ((state: PressableStateCallbackType) => StyleProp<ViewStyle>);
146
-
147
- /**
148
- * Duration (in milliseconds) to wait after press down before calling onPressIn.
149
- */
150
- unstable_pressDelay?: number;
151
-
152
- /**
153
- * A gesture object or an array of gesture objects containing the configuration and callbacks to be
154
- * used with the Pressable's gesture handlers.
155
- */
156
- simultaneousWithExternalGesture?: RelationPropType;
157
-
158
- /**
159
- * A gesture object or an array of gesture objects containing the configuration and callbacks to be
160
- * used with the Pressable's gesture handlers.
161
- */
162
- requireExternalGestureToFail?: RelationPropType;
163
-
164
- /**
165
- * A gesture object or an array of gesture objects containing the configuration and callbacks to be
166
- * used with the Pressable's gesture handlers.
167
- */
168
- blocksExternalGesture?: RelationPropType;
169
-
170
- /**
171
- * @deprecated This property is no longer used, and will be removed in the future.
172
- */
173
- dimensionsAfterResize?: PressableDimensions;
174
- }
@@ -1,57 +0,0 @@
1
- import { PressableEvent } from './PressableProps';
2
-
3
- export interface StateDefinition {
4
- eventName: string;
5
- callback?: (event: PressableEvent) => void;
6
- }
7
-
8
- class PressableStateMachine {
9
- private states: StateDefinition[] | null;
10
- private currentStepIndex: number;
11
- private eventPayload: PressableEvent | null;
12
-
13
- constructor() {
14
- this.states = null;
15
- this.currentStepIndex = 0;
16
- this.eventPayload = null;
17
- }
18
-
19
- public setStates(states: StateDefinition[]) {
20
- this.states = states;
21
- }
22
-
23
- public reset() {
24
- this.currentStepIndex = 0;
25
- this.eventPayload = null;
26
- }
27
-
28
- public handleEvent(eventName: string, eventPayload?: PressableEvent) {
29
- if (!this.states) {
30
- return;
31
- }
32
-
33
- const step = this.states[this.currentStepIndex];
34
- this.eventPayload = eventPayload || this.eventPayload;
35
-
36
- if (step.eventName !== eventName) {
37
- if (this.currentStepIndex > 0) {
38
- // retry with position at index 0
39
- this.reset();
40
- this.handleEvent(eventName, eventPayload);
41
- }
42
- return;
43
- }
44
-
45
- if (this.eventPayload && step.callback) {
46
- step.callback(this.eventPayload);
47
- }
48
-
49
- this.currentStepIndex++;
50
-
51
- if (this.currentStepIndex === this.states.length) {
52
- this.reset();
53
- }
54
- }
55
- }
56
-
57
- export { PressableStateMachine };
@@ -1,5 +0,0 @@
1
- export type {
2
- PressableProps,
3
- PressableStateCallbackType,
4
- } from './PressableProps';
5
- export { default } from './Pressable';