@amazon-devices/react-native-gesture-handler 4.0.1 → 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 (507) hide show
  1. package/kepler-compatibility.json +2 -1
  2. package/lib/commonjs/index.js +0 -268
  3. package/package.json +1 -1
  4. package/src/index.ts +0 -168
  5. package/README.md +0 -70
  6. package/lib/commonjs/ActionType.js +0 -15
  7. package/lib/commonjs/Directions.js +0 -31
  8. package/lib/commonjs/EnableNewWebImplementation.js +0 -40
  9. package/lib/commonjs/GestureHandlerRootViewContext.js +0 -10
  10. package/lib/commonjs/PlatformConstants.js +0 -9
  11. package/lib/commonjs/PlatformConstants.kepler.js +0 -12
  12. package/lib/commonjs/PlatformConstants.web.js +0 -12
  13. package/lib/commonjs/PointerType.js +0 -15
  14. package/lib/commonjs/RNGestureHandlerModule.js +0 -12
  15. package/lib/commonjs/RNGestureHandlerModule.kepler.js +0 -29
  16. package/lib/commonjs/RNGestureHandlerModule.web.js +0 -95
  17. package/lib/commonjs/RNGestureHandlerModule.windows.js +0 -56
  18. package/lib/commonjs/RNRenderer.js +0 -14
  19. package/lib/commonjs/RNRenderer.web.js +0 -10
  20. package/lib/commonjs/State.js +0 -19
  21. package/lib/commonjs/TouchEventType.js +0 -16
  22. package/lib/commonjs/components/DrawerLayout.js +0 -548
  23. package/lib/commonjs/components/GestureButtons.js +0 -212
  24. package/lib/commonjs/components/GestureButtonsProps.js +0 -6
  25. package/lib/commonjs/components/GestureComponents.js +0 -106
  26. package/lib/commonjs/components/GestureComponents.web.js +0 -39
  27. package/lib/commonjs/components/GestureHandlerButton.js +0 -10
  28. package/lib/commonjs/components/GestureHandlerButton.web.js +0 -16
  29. package/lib/commonjs/components/GestureHandlerRootView.android.js +0 -36
  30. package/lib/commonjs/components/GestureHandlerRootView.js +0 -35
  31. package/lib/commonjs/components/GestureHandlerRootView.kepler.js +0 -21
  32. package/lib/commonjs/components/GestureHandlerRootView.web.js +0 -30
  33. package/lib/commonjs/components/Pressable/Pressable.js +0 -274
  34. package/lib/commonjs/components/Pressable/PressableProps.js +0 -6
  35. package/lib/commonjs/components/Pressable/StateMachine.js +0 -44
  36. package/lib/commonjs/components/Pressable/index.js +0 -14
  37. package/lib/commonjs/components/Pressable/stateDefinitions.js +0 -88
  38. package/lib/commonjs/components/Pressable/utils.js +0 -92
  39. package/lib/commonjs/components/ReanimatedDrawerLayout.js +0 -357
  40. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -337
  41. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -12
  42. package/lib/commonjs/components/ReanimatedSwipeable/index.js +0 -21
  43. package/lib/commonjs/components/Swipeable.js +0 -370
  44. package/lib/commonjs/components/Text.js +0 -60
  45. package/lib/commonjs/components/gestureHandlerRootHOC.js +0 -37
  46. package/lib/commonjs/components/touchables/ExtraButtonProps.js +0 -2
  47. package/lib/commonjs/components/touchables/GenericTouchable.js +0 -245
  48. package/lib/commonjs/components/touchables/GenericTouchableProps.js +0 -6
  49. package/lib/commonjs/components/touchables/TouchableHighlight.js +0 -93
  50. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +0 -84
  51. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +0 -13
  52. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js +0 -6
  53. package/lib/commonjs/components/touchables/TouchableOpacity.js +0 -65
  54. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +0 -33
  55. package/lib/commonjs/components/touchables/index.js +0 -35
  56. package/lib/commonjs/components/utils.js +0 -17
  57. package/lib/commonjs/findNodeHandle.js +0 -9
  58. package/lib/commonjs/findNodeHandle.web.js +0 -39
  59. package/lib/commonjs/getShadowNodeFromRef.js +0 -51
  60. package/lib/commonjs/getShadowNodeFromRef.web.js +0 -14
  61. package/lib/commonjs/ghQueueMicrotask.js +0 -10
  62. package/lib/commonjs/handlers/FlingGestureHandler.js +0 -31
  63. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +0 -46
  64. package/lib/commonjs/handlers/GestureHandlerEventPayload.js +0 -6
  65. package/lib/commonjs/handlers/LongPressGestureHandler.js +0 -33
  66. package/lib/commonjs/handlers/NativeViewGestureHandler.js +0 -32
  67. package/lib/commonjs/handlers/PanGestureHandler.js +0 -112
  68. package/lib/commonjs/handlers/PinchGestureHandler.js +0 -29
  69. package/lib/commonjs/handlers/PressabilityDebugView.js +0 -13
  70. package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -11
  71. package/lib/commonjs/handlers/RotationGestureHandler.js +0 -29
  72. package/lib/commonjs/handlers/TapGestureHandler.js +0 -33
  73. package/lib/commonjs/handlers/createHandler.js +0 -405
  74. package/lib/commonjs/handlers/createNativeWrapper.js +0 -77
  75. package/lib/commonjs/handlers/customDirectEventTypes.js +0 -13
  76. package/lib/commonjs/handlers/customDirectEventTypes.web.js +0 -10
  77. package/lib/commonjs/handlers/gestureHandlerCommon.js +0 -27
  78. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +0 -6
  79. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +0 -32
  80. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +0 -41
  81. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +0 -67
  82. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +0 -20
  83. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +0 -125
  84. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -22
  85. package/lib/commonjs/handlers/gestures/GestureDetector/types.js +0 -6
  86. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +0 -66
  87. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -143
  88. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -47
  89. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +0 -41
  90. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -45
  91. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +0 -143
  92. package/lib/commonjs/handlers/gestures/eventReceiver.js +0 -117
  93. package/lib/commonjs/handlers/gestures/flingGesture.js +0 -37
  94. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +0 -80
  95. package/lib/commonjs/handlers/gestures/gesture.js +0 -338
  96. package/lib/commonjs/handlers/gestures/gestureComposition.js +0 -90
  97. package/lib/commonjs/handlers/gestures/gestureObjects.js +0 -132
  98. package/lib/commonjs/handlers/gestures/gestureStateManager.js +0 -70
  99. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +0 -28
  100. package/lib/commonjs/handlers/gestures/hoverGesture.js +0 -57
  101. package/lib/commonjs/handlers/gestures/longPressGesture.js +0 -46
  102. package/lib/commonjs/handlers/gestures/manualGesture.js +0 -25
  103. package/lib/commonjs/handlers/gestures/nativeGesture.js +0 -34
  104. package/lib/commonjs/handlers/gestures/panGesture.js +0 -197
  105. package/lib/commonjs/handlers/gestures/pinchGesture.js +0 -38
  106. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +0 -29
  107. package/lib/commonjs/handlers/gestures/rotationGesture.js +0 -38
  108. package/lib/commonjs/handlers/gestures/tapGesture.js +0 -87
  109. package/lib/commonjs/handlers/getNextHandlerTag.js +0 -11
  110. package/lib/commonjs/handlers/handlersRegistry.js +0 -50
  111. package/lib/commonjs/handlers/utils.js +0 -69
  112. package/lib/commonjs/init.js +0 -25
  113. package/lib/commonjs/jestUtils/index.js +0 -19
  114. package/lib/commonjs/jestUtils/jestUtils.js +0 -316
  115. package/lib/commonjs/mocks/Pressable.js +0 -13
  116. package/lib/commonjs/mocks/mocks.js +0 -70
  117. package/lib/commonjs/mocks.js +0 -61
  118. package/lib/commonjs/mountRegistry.js +0 -37
  119. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +0 -9
  120. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -20
  121. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  122. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -17
  123. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  124. package/lib/commonjs/typeUtils.js +0 -2
  125. package/lib/commonjs/utils.js +0 -95
  126. package/lib/commonjs/web/Gestures.js +0 -48
  127. package/lib/commonjs/web/constants.js +0 -9
  128. package/lib/commonjs/web/detectors/RotationGestureDetector.js +0 -124
  129. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +0 -111
  130. package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -143
  131. package/lib/commonjs/web/handlers/GestureHandler.js +0 -689
  132. package/lib/commonjs/web/handlers/HoverGestureHandler.js +0 -45
  133. package/lib/commonjs/web/handlers/IGestureHandler.js +0 -2
  134. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -146
  135. package/lib/commonjs/web/handlers/ManualGestureHandler.js +0 -38
  136. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -141
  137. package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -399
  138. package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -122
  139. package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -129
  140. package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -215
  141. package/lib/commonjs/web/interfaces.js +0 -32
  142. package/lib/commonjs/web/tools/CircularBuffer.js +0 -40
  143. package/lib/commonjs/web/tools/EventManager.js +0 -94
  144. package/lib/commonjs/web/tools/GestureHandlerDelegate.js +0 -6
  145. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +0 -267
  146. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +0 -165
  147. package/lib/commonjs/web/tools/InteractionManager.js +0 -96
  148. package/lib/commonjs/web/tools/KeyboardEventManager.js +0 -108
  149. package/lib/commonjs/web/tools/LeastSquareSolver.js +0 -159
  150. package/lib/commonjs/web/tools/NodeManager.js +0 -39
  151. package/lib/commonjs/web/tools/PointerEventManager.js +0 -189
  152. package/lib/commonjs/web/tools/PointerTracker.js +0 -192
  153. package/lib/commonjs/web/tools/Vector.js +0 -37
  154. package/lib/commonjs/web/tools/VelocityTracker.js +0 -85
  155. package/lib/commonjs/web/tools/WheelEventManager.js +0 -55
  156. package/lib/commonjs/web/utils.js +0 -235
  157. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +0 -93
  158. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +0 -43
  159. package/lib/commonjs/web_hammer/Errors.js +0 -13
  160. package/lib/commonjs/web_hammer/FlingGestureHandler.js +0 -139
  161. package/lib/commonjs/web_hammer/GestureHandler.js +0 -484
  162. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +0 -45
  163. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +0 -57
  164. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +0 -57
  165. package/lib/commonjs/web_hammer/NodeManager.js +0 -41
  166. package/lib/commonjs/web_hammer/PanGestureHandler.js +0 -167
  167. package/lib/commonjs/web_hammer/PinchGestureHandler.js +0 -31
  168. package/lib/commonjs/web_hammer/PressGestureHandler.js +0 -153
  169. package/lib/commonjs/web_hammer/RotationGestureHandler.js +0 -32
  170. package/lib/commonjs/web_hammer/TapGestureHandler.js +0 -165
  171. package/lib/commonjs/web_hammer/constants.js +0 -51
  172. package/lib/commonjs/web_hammer/utils.js +0 -32
  173. package/lib/module/ActionType.js +0 -11
  174. package/lib/module/Directions.js +0 -27
  175. package/lib/module/EnableNewWebImplementation.js +0 -34
  176. package/lib/module/GestureHandlerRootViewContext.js +0 -5
  177. package/lib/module/PlatformConstants.js +0 -5
  178. package/lib/module/PlatformConstants.kepler.js +0 -8
  179. package/lib/module/PlatformConstants.web.js +0 -8
  180. package/lib/module/PointerType.js +0 -11
  181. package/lib/module/RNGestureHandlerModule.js +0 -8
  182. package/lib/module/RNGestureHandlerModule.kepler.js +0 -25
  183. package/lib/module/RNGestureHandlerModule.web.js +0 -90
  184. package/lib/module/RNGestureHandlerModule.windows.js +0 -50
  185. package/lib/module/RNRenderer.js +0 -6
  186. package/lib/module/RNRenderer.web.js +0 -6
  187. package/lib/module/State.js +0 -15
  188. package/lib/module/TouchEventType.js +0 -12
  189. package/lib/module/components/DrawerLayout.js +0 -541
  190. package/lib/module/components/GestureButtons.js +0 -200
  191. package/lib/module/components/GestureButtonsProps.js +0 -4
  192. package/lib/module/components/GestureComponents.js +0 -100
  193. package/lib/module/components/GestureComponents.web.js +0 -32
  194. package/lib/module/components/GestureHandlerButton.js +0 -5
  195. package/lib/module/components/GestureHandlerButton.web.js +0 -11
  196. package/lib/module/components/GestureHandlerRootView.android.js +0 -30
  197. package/lib/module/components/GestureHandlerRootView.js +0 -29
  198. package/lib/module/components/GestureHandlerRootView.kepler.js +0 -15
  199. package/lib/module/components/GestureHandlerRootView.web.js +0 -24
  200. package/lib/module/components/Pressable/Pressable.js +0 -268
  201. package/lib/module/components/Pressable/PressableProps.js +0 -4
  202. package/lib/module/components/Pressable/StateMachine.js +0 -40
  203. package/lib/module/components/Pressable/index.js +0 -4
  204. package/lib/module/components/Pressable/stateDefinitions.js +0 -83
  205. package/lib/module/components/Pressable/utils.js +0 -84
  206. package/lib/module/components/ReanimatedDrawerLayout.js +0 -352
  207. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -332
  208. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -8
  209. package/lib/module/components/ReanimatedSwipeable/index.js +0 -5
  210. package/lib/module/components/Swipeable.js +0 -364
  211. package/lib/module/components/Text.js +0 -55
  212. package/lib/module/components/gestureHandlerRootHOC.js +0 -33
  213. package/lib/module/components/touchables/ExtraButtonProps.js +0 -2
  214. package/lib/module/components/touchables/GenericTouchable.js +0 -239
  215. package/lib/module/components/touchables/GenericTouchableProps.js +0 -4
  216. package/lib/module/components/touchables/TouchableHighlight.js +0 -87
  217. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +0 -77
  218. package/lib/module/components/touchables/TouchableNativeFeedback.js +0 -10
  219. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js +0 -4
  220. package/lib/module/components/touchables/TouchableOpacity.js +0 -59
  221. package/lib/module/components/touchables/TouchableWithoutFeedback.js +0 -27
  222. package/lib/module/components/touchables/index.js +0 -7
  223. package/lib/module/components/utils.js +0 -13
  224. package/lib/module/findNodeHandle.js +0 -5
  225. package/lib/module/findNodeHandle.web.js +0 -35
  226. package/lib/module/getShadowNodeFromRef.js +0 -47
  227. package/lib/module/getShadowNodeFromRef.web.js +0 -10
  228. package/lib/module/ghQueueMicrotask.js +0 -6
  229. package/lib/module/handlers/FlingGestureHandler.js +0 -26
  230. package/lib/module/handlers/ForceTouchGestureHandler.js +0 -41
  231. package/lib/module/handlers/GestureHandlerEventPayload.js +0 -4
  232. package/lib/module/handlers/LongPressGestureHandler.js +0 -28
  233. package/lib/module/handlers/NativeViewGestureHandler.js +0 -27
  234. package/lib/module/handlers/PanGestureHandler.js +0 -105
  235. package/lib/module/handlers/PinchGestureHandler.js +0 -25
  236. package/lib/module/handlers/PressabilityDebugView.js +0 -5
  237. package/lib/module/handlers/PressabilityDebugView.web.js +0 -7
  238. package/lib/module/handlers/RotationGestureHandler.js +0 -25
  239. package/lib/module/handlers/TapGestureHandler.js +0 -28
  240. package/lib/module/handlers/createHandler.js +0 -399
  241. package/lib/module/handlers/createNativeWrapper.js +0 -74
  242. package/lib/module/handlers/customDirectEventTypes.js +0 -5
  243. package/lib/module/handlers/customDirectEventTypes.web.js +0 -7
  244. package/lib/module/handlers/gestureHandlerCommon.js +0 -26
  245. package/lib/module/handlers/gestureHandlerTypesCompat.js +0 -4
  246. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +0 -26
  247. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +0 -36
  248. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +0 -62
  249. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -15
  250. package/lib/module/handlers/gestures/GestureDetector/index.js +0 -117
  251. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -18
  252. package/lib/module/handlers/gestures/GestureDetector/types.js +0 -4
  253. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +0 -61
  254. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -139
  255. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -43
  256. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +0 -37
  257. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -40
  258. package/lib/module/handlers/gestures/GestureDetector/utils.js +0 -134
  259. package/lib/module/handlers/gestures/eventReceiver.js +0 -110
  260. package/lib/module/handlers/gestures/flingGesture.js +0 -32
  261. package/lib/module/handlers/gestures/forceTouchGesture.js +0 -76
  262. package/lib/module/handlers/gestures/gesture.js +0 -332
  263. package/lib/module/handlers/gestures/gestureComposition.js +0 -83
  264. package/lib/module/handlers/gestures/gestureObjects.js +0 -129
  265. package/lib/module/handlers/gestures/gestureStateManager.js +0 -66
  266. package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -23
  267. package/lib/module/handlers/gestures/hoverGesture.js +0 -52
  268. package/lib/module/handlers/gestures/longPressGesture.js +0 -41
  269. package/lib/module/handlers/gestures/manualGesture.js +0 -20
  270. package/lib/module/handlers/gestures/nativeGesture.js +0 -29
  271. package/lib/module/handlers/gestures/panGesture.js +0 -192
  272. package/lib/module/handlers/gestures/pinchGesture.js +0 -33
  273. package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -26
  274. package/lib/module/handlers/gestures/rotationGesture.js +0 -33
  275. package/lib/module/handlers/gestures/tapGesture.js +0 -82
  276. package/lib/module/handlers/getNextHandlerTag.js +0 -7
  277. package/lib/module/handlers/handlersRegistry.js +0 -39
  278. package/lib/module/handlers/utils.js +0 -61
  279. package/lib/module/index.js +0 -31
  280. package/lib/module/init.js +0 -19
  281. package/lib/module/jestUtils/index.js +0 -4
  282. package/lib/module/jestUtils/jestUtils.js +0 -311
  283. package/lib/module/mocks/Pressable.js +0 -4
  284. package/lib/module/mocks/mocks.js +0 -64
  285. package/lib/module/mocks.js +0 -57
  286. package/lib/module/mountRegistry.js +0 -32
  287. package/lib/module/specs/NativeRNGestureHandlerModule.js +0 -5
  288. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -14
  289. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  290. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -11
  291. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  292. package/lib/module/typeUtils.js +0 -2
  293. package/lib/module/utils.js +0 -81
  294. package/lib/module/web/Gestures.js +0 -42
  295. package/lib/module/web/constants.js +0 -5
  296. package/lib/module/web/detectors/RotationGestureDetector.js +0 -119
  297. package/lib/module/web/detectors/ScaleGestureDetector.js +0 -106
  298. package/lib/module/web/handlers/FlingGestureHandler.js +0 -137
  299. package/lib/module/web/handlers/GestureHandler.js +0 -682
  300. package/lib/module/web/handlers/HoverGestureHandler.js +0 -39
  301. package/lib/module/web/handlers/IGestureHandler.js +0 -2
  302. package/lib/module/web/handlers/LongPressGestureHandler.js +0 -140
  303. package/lib/module/web/handlers/ManualGestureHandler.js +0 -32
  304. package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -135
  305. package/lib/module/web/handlers/PanGestureHandler.js +0 -393
  306. package/lib/module/web/handlers/PinchGestureHandler.js +0 -116
  307. package/lib/module/web/handlers/RotationGestureHandler.js +0 -123
  308. package/lib/module/web/handlers/TapGestureHandler.js +0 -209
  309. package/lib/module/web/interfaces.js +0 -28
  310. package/lib/module/web/tools/CircularBuffer.js +0 -35
  311. package/lib/module/web/tools/EventManager.js +0 -89
  312. package/lib/module/web/tools/GestureHandlerDelegate.js +0 -4
  313. package/lib/module/web/tools/GestureHandlerOrchestrator.js +0 -261
  314. package/lib/module/web/tools/GestureHandlerWebDelegate.js +0 -159
  315. package/lib/module/web/tools/InteractionManager.js +0 -91
  316. package/lib/module/web/tools/KeyboardEventManager.js +0 -102
  317. package/lib/module/web/tools/LeastSquareSolver.js +0 -154
  318. package/lib/module/web/tools/NodeManager.js +0 -34
  319. package/lib/module/web/tools/PointerEventManager.js +0 -183
  320. package/lib/module/web/tools/PointerTracker.js +0 -186
  321. package/lib/module/web/tools/Vector.js +0 -32
  322. package/lib/module/web/tools/VelocityTracker.js +0 -79
  323. package/lib/module/web/tools/WheelEventManager.js +0 -49
  324. package/lib/module/web/utils.js +0 -223
  325. package/lib/module/web_hammer/DiscreteGestureHandler.js +0 -87
  326. package/lib/module/web_hammer/DraggingGestureHandler.js +0 -37
  327. package/lib/module/web_hammer/Errors.js +0 -8
  328. package/lib/module/web_hammer/FlingGestureHandler.js +0 -133
  329. package/lib/module/web_hammer/GestureHandler.js +0 -478
  330. package/lib/module/web_hammer/IndiscreteGestureHandler.js +0 -41
  331. package/lib/module/web_hammer/LongPressGestureHandler.js +0 -51
  332. package/lib/module/web_hammer/NativeViewGestureHandler.js +0 -51
  333. package/lib/module/web_hammer/NodeManager.js +0 -33
  334. package/lib/module/web_hammer/PanGestureHandler.js +0 -162
  335. package/lib/module/web_hammer/PinchGestureHandler.js +0 -26
  336. package/lib/module/web_hammer/PressGestureHandler.js +0 -148
  337. package/lib/module/web_hammer/RotationGestureHandler.js +0 -27
  338. package/lib/module/web_hammer/TapGestureHandler.js +0 -160
  339. package/lib/module/web_hammer/constants.js +0 -46
  340. package/lib/module/web_hammer/utils.js +0 -21
  341. package/src/ActionType.ts +0 -9
  342. package/src/Directions.ts +0 -26
  343. package/src/EnableNewWebImplementation.ts +0 -53
  344. package/src/GestureHandlerRootViewContext.ts +0 -3
  345. package/src/PlatformConstants.kepler.ts +0 -5
  346. package/src/PlatformConstants.ts +0 -8
  347. package/src/PlatformConstants.web.ts +0 -5
  348. package/src/PointerType.ts +0 -7
  349. package/src/RNGestureHandlerModule.kepler.ts +0 -63
  350. package/src/RNGestureHandlerModule.ts +0 -5
  351. package/src/RNGestureHandlerModule.web.ts +0 -124
  352. package/src/RNGestureHandlerModule.windows.ts +0 -62
  353. package/src/RNRenderer.ts +0 -3
  354. package/src/RNRenderer.web.ts +0 -3
  355. package/src/State.ts +0 -13
  356. package/src/TouchEventType.ts +0 -11
  357. package/src/components/DrawerLayout.tsx +0 -788
  358. package/src/components/GestureButtons.tsx +0 -272
  359. package/src/components/GestureButtonsProps.ts +0 -156
  360. package/src/components/GestureComponents.tsx +0 -148
  361. package/src/components/GestureComponents.web.tsx +0 -41
  362. package/src/components/GestureHandlerButton.tsx +0 -5
  363. package/src/components/GestureHandlerButton.web.tsx +0 -6
  364. package/src/components/GestureHandlerRootView.android.tsx +0 -32
  365. package/src/components/GestureHandlerRootView.kepler.tsx +0 -18
  366. package/src/components/GestureHandlerRootView.tsx +0 -28
  367. package/src/components/GestureHandlerRootView.web.tsx +0 -22
  368. package/src/components/Pressable/Pressable.tsx +0 -401
  369. package/src/components/Pressable/PressableProps.tsx +0 -174
  370. package/src/components/Pressable/StateMachine.tsx +0 -57
  371. package/src/components/Pressable/index.ts +0 -5
  372. package/src/components/Pressable/stateDefinitions.ts +0 -126
  373. package/src/components/Pressable/utils.ts +0 -140
  374. package/src/components/ReanimatedDrawerLayout.tsx +0 -754
  375. package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +0 -607
  376. package/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts +0 -199
  377. package/src/components/ReanimatedSwipeable/index.ts +0 -6
  378. package/src/components/Swipeable.tsx +0 -595
  379. package/src/components/Text.tsx +0 -77
  380. package/src/components/gestureHandlerRootHOC.tsx +0 -33
  381. package/src/components/touchables/ExtraButtonProps.ts +0 -7
  382. package/src/components/touchables/GenericTouchable.tsx +0 -275
  383. package/src/components/touchables/GenericTouchableProps.ts +0 -28
  384. package/src/components/touchables/TouchableHighlight.tsx +0 -118
  385. package/src/components/touchables/TouchableNativeFeedback.android.tsx +0 -83
  386. package/src/components/touchables/TouchableNativeFeedback.tsx +0 -8
  387. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +0 -10
  388. package/src/components/touchables/TouchableOpacity.tsx +0 -78
  389. package/src/components/touchables/TouchableWithoutFeedback.tsx +0 -39
  390. package/src/components/touchables/index.ts +0 -7
  391. package/src/components/utils.ts +0 -26
  392. package/src/findNodeHandle.ts +0 -3
  393. package/src/findNodeHandle.web.ts +0 -41
  394. package/src/getShadowNodeFromRef.ts +0 -50
  395. package/src/getShadowNodeFromRef.web.ts +0 -7
  396. package/src/ghQueueMicrotask.ts +0 -8
  397. package/src/handlers/FlingGestureHandler.ts +0 -64
  398. package/src/handlers/ForceTouchGestureHandler.ts +0 -88
  399. package/src/handlers/GestureHandlerEventPayload.ts +0 -229
  400. package/src/handlers/LongPressGestureHandler.ts +0 -65
  401. package/src/handlers/NativeViewGestureHandler.ts +0 -59
  402. package/src/handlers/PanGestureHandler.ts +0 -282
  403. package/src/handlers/PinchGestureHandler.ts +0 -32
  404. package/src/handlers/PressabilityDebugView.tsx +0 -2
  405. package/src/handlers/PressabilityDebugView.web.tsx +0 -4
  406. package/src/handlers/RotationGestureHandler.ts +0 -32
  407. package/src/handlers/TapGestureHandler.ts +0 -99
  408. package/src/handlers/createHandler.tsx +0 -586
  409. package/src/handlers/createNativeWrapper.tsx +0 -89
  410. package/src/handlers/customDirectEventTypes.ts +0 -2
  411. package/src/handlers/customDirectEventTypes.web.ts +0 -5
  412. package/src/handlers/gestureHandlerCommon.ts +0 -211
  413. package/src/handlers/gestureHandlerTypesCompat.ts +0 -101
  414. package/src/handlers/gestures/GestureDetector/Wrap.tsx +0 -35
  415. package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +0 -42
  416. package/src/handlers/gestures/GestureDetector/attachHandlers.ts +0 -112
  417. package/src/handlers/gestures/GestureDetector/dropHandlers.ts +0 -17
  418. package/src/handlers/gestures/GestureDetector/index.tsx +0 -191
  419. package/src/handlers/gestures/GestureDetector/needsToReattach.ts +0 -27
  420. package/src/handlers/gestures/GestureDetector/types.ts +0 -32
  421. package/src/handlers/gestures/GestureDetector/updateHandlers.ts +0 -92
  422. package/src/handlers/gestures/GestureDetector/useAnimatedGesture.ts +0 -209
  423. package/src/handlers/gestures/GestureDetector/useDetectorUpdater.ts +0 -69
  424. package/src/handlers/gestures/GestureDetector/useMountReactions.ts +0 -51
  425. package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +0 -58
  426. package/src/handlers/gestures/GestureDetector/utils.ts +0 -181
  427. package/src/handlers/gestures/eventReceiver.ts +0 -173
  428. package/src/handlers/gestures/flingGesture.ts +0 -36
  429. package/src/handlers/gestures/forceTouchGesture.ts +0 -95
  430. package/src/handlers/gestures/gesture.ts +0 -472
  431. package/src/handlers/gestures/gestureComposition.ts +0 -124
  432. package/src/handlers/gestures/gestureObjects.ts +0 -143
  433. package/src/handlers/gestures/gestureStateManager.ts +0 -76
  434. package/src/handlers/gestures/gestureStateManager.web.ts +0 -26
  435. package/src/handlers/gestures/hoverGesture.ts +0 -77
  436. package/src/handlers/gestures/longPressGesture.ts +0 -45
  437. package/src/handlers/gestures/manualGesture.ts +0 -31
  438. package/src/handlers/gestures/nativeGesture.ts +0 -33
  439. package/src/handlers/gestures/panGesture.ts +0 -221
  440. package/src/handlers/gestures/pinchGesture.ts +0 -51
  441. package/src/handlers/gestures/reanimatedWrapper.ts +0 -57
  442. package/src/handlers/gestures/rotationGesture.ts +0 -51
  443. package/src/handlers/gestures/tapGesture.ts +0 -86
  444. package/src/handlers/getNextHandlerTag.ts +0 -5
  445. package/src/handlers/handlersRegistry.ts +0 -58
  446. package/src/handlers/utils.ts +0 -76
  447. package/src/init.ts +0 -18
  448. package/src/jestUtils/index.ts +0 -1
  449. package/src/jestUtils/jestUtils.ts +0 -513
  450. package/src/mocks/Pressable.tsx +0 -1
  451. package/src/mocks/mocks.tsx +0 -70
  452. package/src/mocks.ts +0 -67
  453. package/src/mountRegistry.ts +0 -51
  454. package/src/specs/NativeRNGestureHandlerModule.ts +0 -26
  455. package/src/specs/RNGestureHandlerButtonNativeComponent.kepler.ts +0 -27
  456. package/src/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  457. package/src/specs/RNGestureHandlerRootViewNativeComponent.kepler.ts +0 -21
  458. package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  459. package/src/typeUtils.ts +0 -1
  460. package/src/utils.ts +0 -107
  461. package/src/web/Gestures.ts +0 -41
  462. package/src/web/constants.ts +0 -2
  463. package/src/web/detectors/RotationGestureDetector.ts +0 -170
  464. package/src/web/detectors/ScaleGestureDetector.ts +0 -171
  465. package/src/web/handlers/FlingGestureHandler.ts +0 -196
  466. package/src/web/handlers/GestureHandler.ts +0 -881
  467. package/src/web/handlers/HoverGestureHandler.ts +0 -49
  468. package/src/web/handlers/IGestureHandler.ts +0 -49
  469. package/src/web/handlers/LongPressGestureHandler.ts +0 -175
  470. package/src/web/handlers/ManualGestureHandler.ts +0 -37
  471. package/src/web/handlers/NativeViewGestureHandler.ts +0 -175
  472. package/src/web/handlers/PanGestureHandler.ts +0 -571
  473. package/src/web/handlers/PinchGestureHandler.ts +0 -152
  474. package/src/web/handlers/RotationGestureHandler.ts +0 -166
  475. package/src/web/handlers/TapGestureHandler.ts +0 -274
  476. package/src/web/interfaces.ts +0 -190
  477. package/src/web/tools/CircularBuffer.ts +0 -42
  478. package/src/web/tools/EventManager.ts +0 -108
  479. package/src/web/tools/GestureHandlerDelegate.ts +0 -26
  480. package/src/web/tools/GestureHandlerOrchestrator.ts +0 -392
  481. package/src/web/tools/GestureHandlerWebDelegate.ts +0 -227
  482. package/src/web/tools/InteractionManager.ts +0 -135
  483. package/src/web/tools/KeyboardEventManager.ts +0 -133
  484. package/src/web/tools/LeastSquareSolver.ts +0 -182
  485. package/src/web/tools/NodeManager.ts +0 -48
  486. package/src/web/tools/PointerEventManager.ts +0 -226
  487. package/src/web/tools/PointerTracker.ts +0 -228
  488. package/src/web/tools/Vector.ts +0 -59
  489. package/src/web/tools/VelocityTracker.ts +0 -98
  490. package/src/web/tools/WheelEventManager.ts +0 -48
  491. package/src/web/utils.ts +0 -293
  492. package/src/web_hammer/DiscreteGestureHandler.ts +0 -82
  493. package/src/web_hammer/DraggingGestureHandler.ts +0 -34
  494. package/src/web_hammer/Errors.ts +0 -7
  495. package/src/web_hammer/FlingGestureHandler.ts +0 -134
  496. package/src/web_hammer/GestureHandler.ts +0 -600
  497. package/src/web_hammer/IndiscreteGestureHandler.ts +0 -33
  498. package/src/web_hammer/LongPressGestureHandler.ts +0 -56
  499. package/src/web_hammer/NativeViewGestureHandler.ts +0 -47
  500. package/src/web_hammer/NodeManager.ts +0 -33
  501. package/src/web_hammer/PanGestureHandler.ts +0 -226
  502. package/src/web_hammer/PinchGestureHandler.ts +0 -25
  503. package/src/web_hammer/PressGestureHandler.ts +0 -170
  504. package/src/web_hammer/RotationGestureHandler.ts +0 -25
  505. package/src/web_hammer/TapGestureHandler.ts +0 -172
  506. package/src/web_hammer/constants.ts +0 -48
  507. 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';