@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,275 +0,0 @@
1
- import * as React from 'react';
2
- import { Component } from 'react';
3
- import { Animated, Platform } from 'react-native';
4
-
5
- import { State } from '../../State';
6
- import { BaseButton } from '../GestureButtons';
7
-
8
- import {
9
- GestureEvent,
10
- HandlerStateChangeEvent,
11
- } from '../../handlers/gestureHandlerCommon';
12
- import type { NativeViewGestureHandlerPayload } from '../../handlers/GestureHandlerEventPayload';
13
- import type { GenericTouchableProps } from './GenericTouchableProps';
14
-
15
- /**
16
- * Each touchable is a states' machine which preforms transitions.
17
- * On very beginning (and on the very end or recognition) touchable is
18
- * UNDETERMINED. Then it moves to BEGAN. If touchable recognizes that finger
19
- * travel outside it transits to special MOVED_OUTSIDE state. Gesture recognition
20
- * finishes in UNDETERMINED state.
21
- */
22
- export const TOUCHABLE_STATE = {
23
- UNDETERMINED: 0,
24
- BEGAN: 1,
25
- MOVED_OUTSIDE: 2,
26
- } as const;
27
-
28
- type TouchableState = (typeof TOUCHABLE_STATE)[keyof typeof TOUCHABLE_STATE];
29
-
30
- interface InternalProps {
31
- onStateChange?: (oldState: TouchableState, newState: TouchableState) => void;
32
- }
33
-
34
- // TODO: maybe can be better
35
- // TODO: all clearTimeout have ! added, maybe they shouldn't ?
36
- type Timeout = ReturnType<typeof setTimeout> | null | undefined;
37
-
38
- /**
39
- * GenericTouchable is not intented to be used as it is.
40
- * Should be treated as a source for the rest of touchables
41
- */
42
-
43
- export default class GenericTouchable extends Component<
44
- GenericTouchableProps & InternalProps
45
- > {
46
- static defaultProps = {
47
- delayLongPress: 600,
48
- extraButtonProps: {
49
- rippleColor: 'transparent',
50
- exclusive: true,
51
- },
52
- };
53
-
54
- // Timeout handlers
55
- pressInTimeout: Timeout;
56
- pressOutTimeout: Timeout;
57
- longPressTimeout: Timeout;
58
-
59
- // This flag is required since recognition of longPress implies not-invoking onPress
60
- longPressDetected = false;
61
-
62
- pointerInside = true;
63
-
64
- // State of touchable
65
- STATE: TouchableState = TOUCHABLE_STATE.UNDETERMINED;
66
-
67
- // handlePressIn in called on first touch on traveling inside component.
68
- // Handles state transition with delay.
69
- handlePressIn() {
70
- if (this.props.delayPressIn) {
71
- this.pressInTimeout = setTimeout(() => {
72
- this.moveToState(TOUCHABLE_STATE.BEGAN);
73
- this.pressInTimeout = null;
74
- }, this.props.delayPressIn);
75
- } else {
76
- this.moveToState(TOUCHABLE_STATE.BEGAN);
77
- }
78
- if (this.props.onLongPress) {
79
- const time =
80
- (this.props.delayPressIn || 0) + (this.props.delayLongPress || 0);
81
- this.longPressTimeout = setTimeout(this.onLongPressDetected, time);
82
- }
83
- }
84
- // handleMoveOutside in called on traveling outside component.
85
- // Handles state transition with delay.
86
- handleMoveOutside() {
87
- if (this.props.delayPressOut) {
88
- this.pressOutTimeout =
89
- this.pressOutTimeout ||
90
- setTimeout(() => {
91
- this.moveToState(TOUCHABLE_STATE.MOVED_OUTSIDE);
92
- this.pressOutTimeout = null;
93
- }, this.props.delayPressOut);
94
- } else {
95
- this.moveToState(TOUCHABLE_STATE.MOVED_OUTSIDE);
96
- }
97
- }
98
-
99
- // handleGoToUndetermined transits to UNDETERMINED state with proper delay
100
- handleGoToUndetermined() {
101
- clearTimeout(this.pressOutTimeout!); // TODO: maybe it can be undefined
102
- if (this.props.delayPressOut) {
103
- this.pressOutTimeout = setTimeout(() => {
104
- if (this.STATE === TOUCHABLE_STATE.UNDETERMINED) {
105
- this.moveToState(TOUCHABLE_STATE.BEGAN);
106
- }
107
- this.moveToState(TOUCHABLE_STATE.UNDETERMINED);
108
- this.pressOutTimeout = null;
109
- }, this.props.delayPressOut);
110
- } else {
111
- if (this.STATE === TOUCHABLE_STATE.UNDETERMINED) {
112
- this.moveToState(TOUCHABLE_STATE.BEGAN);
113
- }
114
- this.moveToState(TOUCHABLE_STATE.UNDETERMINED);
115
- }
116
- }
117
-
118
- componentDidMount() {
119
- this.reset();
120
- }
121
- // Reset timeout to prevent memory leaks.
122
- reset() {
123
- this.longPressDetected = false;
124
- this.pointerInside = true;
125
- clearTimeout(this.pressInTimeout!);
126
- clearTimeout(this.pressOutTimeout!);
127
- clearTimeout(this.longPressTimeout!);
128
- this.pressOutTimeout = null;
129
- this.longPressTimeout = null;
130
- this.pressInTimeout = null;
131
- }
132
-
133
- // All states' transitions are defined here.
134
- moveToState(newState: TouchableState) {
135
- if (newState === this.STATE) {
136
- // Ignore dummy transitions
137
- return;
138
- }
139
- if (newState === TOUCHABLE_STATE.BEGAN) {
140
- // First touch and moving inside
141
- this.props.onPressIn?.();
142
- } else if (newState === TOUCHABLE_STATE.MOVED_OUTSIDE) {
143
- // Moving outside
144
- this.props.onPressOut?.();
145
- } else if (newState === TOUCHABLE_STATE.UNDETERMINED) {
146
- // Need to reset each time on transition to UNDETERMINED
147
- this.reset();
148
- if (this.STATE === TOUCHABLE_STATE.BEGAN) {
149
- // ... and if it happens inside button.
150
- this.props.onPressOut?.();
151
- }
152
- }
153
- // Finally call lister (used by subclasses)
154
- this.props.onStateChange?.(this.STATE, newState);
155
- // ... and make transition.
156
- this.STATE = newState;
157
- }
158
-
159
- onGestureEvent = ({
160
- nativeEvent: { pointerInside },
161
- }: GestureEvent<NativeViewGestureHandlerPayload>) => {
162
- if (this.pointerInside !== pointerInside) {
163
- if (pointerInside) {
164
- this.onMoveIn();
165
- } else {
166
- this.onMoveOut();
167
- }
168
- }
169
- this.pointerInside = pointerInside;
170
- };
171
-
172
- onHandlerStateChange = ({
173
- nativeEvent,
174
- }: HandlerStateChangeEvent<NativeViewGestureHandlerPayload>) => {
175
- const { state } = nativeEvent;
176
- if (state === State.CANCELLED || state === State.FAILED) {
177
- // Need to handle case with external cancellation (e.g. by ScrollView)
178
- this.moveToState(TOUCHABLE_STATE.UNDETERMINED);
179
- } else if (
180
- // This platform check is an implication of slightly different behavior of handlers on different platform.
181
- // And Android "Active" state is achieving on first move of a finger, not on press in.
182
- // On iOS event on "Began" is not delivered.
183
- state === (Platform.OS !== 'android' ? State.ACTIVE : State.BEGAN) &&
184
- this.STATE === TOUCHABLE_STATE.UNDETERMINED
185
- ) {
186
- // Moving inside requires
187
- this.handlePressIn();
188
- } else if (state === State.END) {
189
- const shouldCallOnPress =
190
- !this.longPressDetected &&
191
- this.STATE !== TOUCHABLE_STATE.MOVED_OUTSIDE &&
192
- this.pressOutTimeout === null;
193
- this.handleGoToUndetermined();
194
- if (shouldCallOnPress) {
195
- // Calls only inside component whether no long press was called previously
196
- this.props.onPress?.();
197
- }
198
- }
199
- };
200
-
201
- onLongPressDetected = () => {
202
- this.longPressDetected = true;
203
- // Checked for in the caller of `onLongPressDetected`, but better to check twice
204
- this.props.onLongPress?.();
205
- };
206
-
207
- componentWillUnmount() {
208
- // To prevent memory leaks
209
- this.reset();
210
- }
211
-
212
- onMoveIn() {
213
- if (this.STATE === TOUCHABLE_STATE.MOVED_OUTSIDE) {
214
- // This call is not throttled with delays (like in RN's implementation).
215
- this.moveToState(TOUCHABLE_STATE.BEGAN);
216
- }
217
- }
218
-
219
- onMoveOut() {
220
- // Long press should no longer be detected
221
- clearTimeout(this.longPressTimeout!);
222
- this.longPressTimeout = null;
223
- if (this.STATE === TOUCHABLE_STATE.BEGAN) {
224
- this.handleMoveOutside();
225
- }
226
- }
227
-
228
- render() {
229
- const hitSlop =
230
- (typeof this.props.hitSlop === 'number'
231
- ? {
232
- top: this.props.hitSlop,
233
- left: this.props.hitSlop,
234
- bottom: this.props.hitSlop,
235
- right: this.props.hitSlop,
236
- }
237
- : this.props.hitSlop) ?? undefined;
238
-
239
- const coreProps = {
240
- accessible: this.props.accessible !== false,
241
- accessibilityLabel: this.props.accessibilityLabel,
242
- accessibilityHint: this.props.accessibilityHint,
243
- accessibilityRole: this.props.accessibilityRole,
244
- // TODO: check if changed to no 's' correctly, also removed 2 props that are no longer available: `accessibilityComponentType` and `accessibilityTraits`,
245
- // would be good to check if it is ok for sure, see: https://github.com/facebook/react-native/issues/24016
246
- accessibilityState: this.props.accessibilityState,
247
- accessibilityActions: this.props.accessibilityActions,
248
- onAccessibilityAction: this.props.onAccessibilityAction,
249
- nativeID: this.props.nativeID,
250
- onLayout: this.props.onLayout,
251
- };
252
-
253
- return (
254
- <BaseButton
255
- style={this.props.containerStyle}
256
- onHandlerStateChange={
257
- // TODO: not sure if it can be undefined instead of null
258
- this.props.disabled ? undefined : this.onHandlerStateChange
259
- }
260
- onGestureEvent={this.onGestureEvent}
261
- hitSlop={hitSlop}
262
- userSelect={this.props.userSelect}
263
- shouldActivateOnStart={this.props.shouldActivateOnStart}
264
- disallowInterruption={this.props.disallowInterruption}
265
- testID={this.props.testID}
266
- touchSoundDisabled={this.props.touchSoundDisabled ?? false}
267
- enabled={!this.props.disabled}
268
- {...this.props.extraButtonProps}>
269
- <Animated.View {...coreProps} style={this.props.style}>
270
- {this.props.children}
271
- </Animated.View>
272
- </BaseButton>
273
- );
274
- }
275
- }
@@ -1,28 +0,0 @@
1
- import type {
2
- StyleProp,
3
- ViewStyle,
4
- TouchableWithoutFeedbackProps,
5
- Insets,
6
- } from 'react-native';
7
- import type { UserSelect } from '../../handlers/gestureHandlerCommon';
8
- import { ExtraButtonProps } from './ExtraButtonProps';
9
-
10
- export interface GenericTouchableProps
11
- extends Omit<TouchableWithoutFeedbackProps, 'hitSlop'> {
12
- // Decided to drop not used fields from RN's implementation.
13
- // e.g. onBlur and onFocus as well as deprecated props. - TODO: this comment may be unuseful in this moment
14
- // TODO: in RN these events get native event parameter, which prolly could be used in our implementation too
15
- onPress?: () => void;
16
- onPressIn?: () => void;
17
- onPressOut?: () => void;
18
- onLongPress?: () => void;
19
-
20
- nativeID?: string;
21
- shouldActivateOnStart?: boolean;
22
- disallowInterruption?: boolean;
23
-
24
- containerStyle?: StyleProp<ViewStyle>;
25
- hitSlop?: Insets | number;
26
- userSelect?: UserSelect;
27
- extraButtonProps?: ExtraButtonProps;
28
- }
@@ -1,118 +0,0 @@
1
- import * as React from 'react';
2
- import { Component } from 'react';
3
- import GenericTouchable, { TOUCHABLE_STATE } from './GenericTouchable';
4
- import type { GenericTouchableProps } from './GenericTouchableProps';
5
- import {
6
- StyleSheet,
7
- View,
8
- TouchableHighlightProps as RNTouchableHighlightProps,
9
- ColorValue,
10
- ViewProps,
11
- } from 'react-native';
12
-
13
- interface State {
14
- extraChildStyle: null | {
15
- opacity?: number;
16
- };
17
- extraUnderlayStyle: null | {
18
- backgroundColor?: ColorValue;
19
- };
20
- }
21
-
22
- /**
23
- * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler. Use Pressable instead.
24
- */
25
- export type TouchableHighlightProps = RNTouchableHighlightProps &
26
- GenericTouchableProps;
27
-
28
- /**
29
- * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler. Use Pressable instead.
30
- *
31
- * TouchableHighlight follows RN's implementation
32
- */
33
- export default class TouchableHighlight extends Component<
34
- TouchableHighlightProps,
35
- State
36
- > {
37
- static defaultProps = {
38
- ...GenericTouchable.defaultProps,
39
- activeOpacity: 0.85,
40
- delayPressOut: 100,
41
- underlayColor: 'black',
42
- };
43
-
44
- constructor(props: TouchableHighlightProps) {
45
- super(props);
46
- this.state = {
47
- extraChildStyle: null,
48
- extraUnderlayStyle: null,
49
- };
50
- }
51
-
52
- // Copied from RN
53
- showUnderlay = () => {
54
- if (!this.hasPressHandler()) {
55
- return;
56
- }
57
- this.setState({
58
- extraChildStyle: {
59
- opacity: this.props.activeOpacity,
60
- },
61
- extraUnderlayStyle: {
62
- backgroundColor: this.props.underlayColor,
63
- },
64
- });
65
- this.props.onShowUnderlay?.();
66
- };
67
-
68
- hasPressHandler = () =>
69
- this.props.onPress ||
70
- this.props.onPressIn ||
71
- this.props.onPressOut ||
72
- this.props.onLongPress;
73
-
74
- hideUnderlay = () => {
75
- this.setState({
76
- extraChildStyle: null,
77
- extraUnderlayStyle: null,
78
- });
79
- this.props.onHideUnderlay?.();
80
- };
81
-
82
- renderChildren() {
83
- if (!this.props.children) {
84
- return <View />;
85
- }
86
-
87
- const child = React.Children.only(
88
- this.props.children
89
- ) as React.ReactElement<ViewProps>; // TODO: not sure if OK but fixes error
90
- return React.cloneElement(child, {
91
- style: StyleSheet.compose(child.props.style, this.state.extraChildStyle),
92
- });
93
- }
94
-
95
- onStateChange = (_from: number, to: number) => {
96
- if (to === TOUCHABLE_STATE.BEGAN) {
97
- this.showUnderlay();
98
- } else if (
99
- to === TOUCHABLE_STATE.UNDETERMINED ||
100
- to === TOUCHABLE_STATE.MOVED_OUTSIDE
101
- ) {
102
- this.hideUnderlay();
103
- }
104
- };
105
-
106
- render() {
107
- const { style = {}, ...rest } = this.props;
108
- const { extraUnderlayStyle } = this.state;
109
- return (
110
- <GenericTouchable
111
- {...rest}
112
- style={[style, extraUnderlayStyle]}
113
- onStateChange={this.onStateChange}>
114
- {this.renderChildren()}
115
- </GenericTouchable>
116
- );
117
- }
118
- }
@@ -1,83 +0,0 @@
1
- import { Platform, ColorValue } from 'react-native';
2
- import * as React from 'react';
3
- import { Component } from 'react';
4
- import GenericTouchable from './GenericTouchable';
5
- import {
6
- TouchableNativeFeedbackProps,
7
- TouchableNativeFeedbackExtraProps,
8
- } from './TouchableNativeFeedbackProps';
9
-
10
- /**
11
- * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
12
- *
13
- * TouchableNativeFeedback behaves slightly different than RN's TouchableNativeFeedback.
14
- * There's small difference with handling long press ripple since RN's implementation calls
15
- * ripple animation via bridge. This solution leaves all animations' handling for native components so
16
- * it follows native behaviours.
17
- */
18
- export default class TouchableNativeFeedback extends Component<TouchableNativeFeedbackProps> {
19
- static defaultProps = {
20
- ...GenericTouchable.defaultProps,
21
- useForeground: true,
22
- extraButtonProps: {
23
- // Disable hiding ripple on Android
24
- rippleColor: null,
25
- },
26
- };
27
-
28
- // Could be taken as RNTouchableNativeFeedback.SelectableBackground etc. but the API may change
29
- static SelectableBackground = (rippleRadius?: number) => ({
30
- type: 'ThemeAttrAndroid',
31
- // I added `attribute` prop to clone the implementation of RN and be able to use only 2 types
32
- attribute: 'selectableItemBackground',
33
- rippleRadius,
34
- });
35
- static SelectableBackgroundBorderless = (rippleRadius?: number) => ({
36
- type: 'ThemeAttrAndroid',
37
- attribute: 'selectableItemBackgroundBorderless',
38
- rippleRadius,
39
- });
40
- static Ripple = (
41
- color: ColorValue,
42
- borderless: boolean,
43
- rippleRadius?: number
44
- ) => ({
45
- type: 'RippleAndroid',
46
- color,
47
- borderless,
48
- rippleRadius,
49
- });
50
-
51
- static canUseNativeForeground = () =>
52
- Platform.OS === 'android' && Platform.Version >= 23;
53
-
54
- getExtraButtonProps() {
55
- const extraProps: TouchableNativeFeedbackExtraProps = {};
56
- const { background } = this.props;
57
- if (background) {
58
- // I changed type values to match those used in RN
59
- // TODO(TS): check if it works the same as previous implementation - looks like it works the same as RN component, so it should be ok
60
- if (background.type === 'RippleAndroid') {
61
- extraProps['borderless'] = background.borderless;
62
- extraProps['rippleColor'] = background.color;
63
- } else if (background.type === 'ThemeAttrAndroid') {
64
- extraProps['borderless'] =
65
- background.attribute === 'selectableItemBackgroundBorderless';
66
- }
67
- // I moved it from above since it should be available in all options
68
- extraProps['rippleRadius'] = background.rippleRadius;
69
- }
70
- extraProps['foreground'] = this.props.useForeground;
71
- return extraProps;
72
- }
73
- render() {
74
- const { style = {}, ...rest } = this.props;
75
- return (
76
- <GenericTouchable
77
- {...rest}
78
- style={style}
79
- extraButtonProps={this.getExtraButtonProps()}
80
- />
81
- );
82
- }
83
- }
@@ -1,8 +0,0 @@
1
- import { TouchableNativeFeedback as RNTouchableNativeFeedback } from 'react-native';
2
-
3
- /**
4
- * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
5
- */
6
- const TouchableNativeFeedback = RNTouchableNativeFeedback;
7
-
8
- export default TouchableNativeFeedback;
@@ -1,10 +0,0 @@
1
- import type { TouchableNativeFeedbackProps as RNTouchableNativeFeedbackProps } from 'react-native';
2
- import type { GenericTouchableProps } from './GenericTouchableProps';
3
- import { ExtraButtonProps } from './ExtraButtonProps';
4
-
5
- export type TouchableNativeFeedbackExtraProps = ExtraButtonProps;
6
- /**
7
- * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
8
- */
9
- export type TouchableNativeFeedbackProps = RNTouchableNativeFeedbackProps &
10
- GenericTouchableProps;
@@ -1,78 +0,0 @@
1
- import {
2
- Animated,
3
- Easing,
4
- StyleSheet,
5
- View,
6
- TouchableOpacityProps as RNTouchableOpacityProps,
7
- } from 'react-native';
8
- import GenericTouchable, { TOUCHABLE_STATE } from './GenericTouchable';
9
- import type { GenericTouchableProps } from './GenericTouchableProps';
10
- import * as React from 'react';
11
- import { Component } from 'react';
12
-
13
- /**
14
- * @deprecated TouchableOpacity will be removed in the future version of Gesture Handler. Use Pressable instead.
15
- */
16
- export type TouchableOpacityProps = RNTouchableOpacityProps &
17
- GenericTouchableProps & {
18
- useNativeAnimations?: boolean;
19
- };
20
-
21
- /**
22
- * @deprecated TouchableOpacity will be removed in the future version of Gesture Handler. Use Pressable instead.
23
- *
24
- * TouchableOpacity bases on timing animation which has been used in RN's core
25
- */
26
- export default class TouchableOpacity extends Component<TouchableOpacityProps> {
27
- static defaultProps = {
28
- ...GenericTouchable.defaultProps,
29
- activeOpacity: 0.2,
30
- };
31
-
32
- // Opacity is 1 one by default but could be overwritten
33
- getChildStyleOpacityWithDefault = () => {
34
- const childStyle = StyleSheet.flatten(this.props.style) || {};
35
- return childStyle.opacity == null
36
- ? 1
37
- : (childStyle.opacity.valueOf() as number);
38
- };
39
-
40
- opacity = new Animated.Value(this.getChildStyleOpacityWithDefault());
41
-
42
- setOpacityTo = (value: number, duration: number) => {
43
- Animated.timing(this.opacity, {
44
- toValue: value,
45
- duration: duration,
46
- easing: Easing.inOut(Easing.quad),
47
- useNativeDriver: this.props.useNativeAnimations ?? true,
48
- }).start();
49
- };
50
-
51
- onStateChange = (_from: number, to: number) => {
52
- if (to === TOUCHABLE_STATE.BEGAN) {
53
- this.setOpacityTo(this.props.activeOpacity!, 0);
54
- } else if (
55
- to === TOUCHABLE_STATE.UNDETERMINED ||
56
- to === TOUCHABLE_STATE.MOVED_OUTSIDE
57
- ) {
58
- this.setOpacityTo(this.getChildStyleOpacityWithDefault(), 150);
59
- }
60
- };
61
-
62
- render() {
63
- const { style = {}, ...rest } = this.props;
64
- return (
65
- <GenericTouchable
66
- {...rest}
67
- style={[
68
- style,
69
- {
70
- opacity: this.opacity as unknown as number, // TODO: fix this
71
- },
72
- ]}
73
- onStateChange={this.onStateChange}>
74
- {this.props.children ? this.props.children : <View />}
75
- </GenericTouchable>
76
- );
77
- }
78
- }
@@ -1,39 +0,0 @@
1
- import * as React from 'react';
2
- import { PropsWithChildren } from 'react';
3
- import GenericTouchable from './GenericTouchable';
4
- import type { GenericTouchableProps } from './GenericTouchableProps';
5
-
6
- /**
7
- * @deprecated TouchableWithoutFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
8
- */
9
- export type TouchableWithoutFeedbackProps = GenericTouchableProps;
10
-
11
- /**
12
- * @deprecated TouchableWithoutFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
13
- */
14
- const TouchableWithoutFeedback = React.forwardRef<
15
- GenericTouchable,
16
- PropsWithChildren<TouchableWithoutFeedbackProps>
17
- >(
18
- (
19
- {
20
- delayLongPress = 600,
21
- extraButtonProps = {
22
- rippleColor: 'transparent',
23
- exclusive: true,
24
- },
25
- ...rest
26
- },
27
-
28
- ref
29
- ) => (
30
- <GenericTouchable
31
- ref={ref}
32
- delayLongPress={delayLongPress}
33
- extraButtonProps={extraButtonProps}
34
- {...rest}
35
- />
36
- )
37
- );
38
-
39
- export default TouchableWithoutFeedback;
@@ -1,7 +0,0 @@
1
- export type { TouchableHighlightProps } from './TouchableHighlight';
2
- export type { TouchableOpacityProps } from './TouchableOpacity';
3
- export type { TouchableWithoutFeedbackProps } from './TouchableWithoutFeedback';
4
- export { default as TouchableNativeFeedback } from './TouchableNativeFeedback';
5
- export { default as TouchableWithoutFeedback } from './TouchableWithoutFeedback';
6
- export { default as TouchableOpacity } from './TouchableOpacity';
7
- export { default as TouchableHighlight } from './TouchableHighlight';
@@ -1,26 +0,0 @@
1
- import { BaseGesture, GestureRef } from '../handlers/gestures/gesture';
2
-
3
- export type RelationPropName =
4
- | 'simultaneousWithExternalGesture'
5
- | 'requireExternalGestureToFail'
6
- | 'blocksExternalGesture';
7
-
8
- export type RelationPropType =
9
- | Exclude<GestureRef, number>
10
- | Exclude<GestureRef, number>[];
11
-
12
- export function applyRelationProp(
13
- gesture: BaseGesture<any>,
14
- relationPropName: RelationPropName,
15
- relationProp: RelationPropType
16
- ) {
17
- if (!relationProp) {
18
- return;
19
- }
20
-
21
- if (Array.isArray(relationProp)) {
22
- gesture[relationPropName](...relationProp);
23
- } else {
24
- gesture[relationPropName](relationProp);
25
- }
26
- }
@@ -1,3 +0,0 @@
1
- import { findNodeHandle } from 'react-native';
2
-
3
- export default findNodeHandle;