react-native-gesture-handler 2.23.0 → 2.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (633) hide show
  1. package/RNGestureHandler.podspec +8 -0
  2. package/android/build.gradle +9 -3
  3. package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +2 -1
  4. package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +2 -1
  5. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +60 -0
  6. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +26 -0
  7. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +26 -0
  8. package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +16 -0
  9. package/android/paper77/src/main/java/com/swmansion/gesturehandler/NativeRNGestureHandlerModuleSpec.java +67 -0
  10. package/android/paper77/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +13 -0
  11. package/apple/RNGestureHandlerButton.mm +12 -2
  12. package/lib/commonjs/ActionType.js +3 -3
  13. package/lib/commonjs/ActionType.js.map +1 -1
  14. package/lib/commonjs/Directions.js +8 -11
  15. package/lib/commonjs/Directions.js.map +1 -1
  16. package/lib/commonjs/EnableNewWebImplementation.js +10 -2
  17. package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
  18. package/lib/commonjs/GestureHandlerRootViewContext.js +7 -2
  19. package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
  20. package/lib/commonjs/PlatformConstants.js +6 -1
  21. package/lib/commonjs/PlatformConstants.js.map +1 -1
  22. package/lib/commonjs/PlatformConstants.web.js +3 -1
  23. package/lib/commonjs/PlatformConstants.web.js.map +1 -1
  24. package/lib/commonjs/PointerType.js +5 -3
  25. package/lib/commonjs/PointerType.js.map +1 -1
  26. package/lib/commonjs/RNGestureHandlerModule.js +6 -2
  27. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
  28. package/lib/commonjs/RNGestureHandlerModule.web.js +37 -11
  29. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  30. package/lib/commonjs/RNGestureHandlerModule.windows.js +32 -22
  31. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
  32. package/lib/commonjs/RNRenderer.js +3 -1
  33. package/lib/commonjs/RNRenderer.js.map +1 -1
  34. package/lib/commonjs/RNRenderer.web.js +2 -1
  35. package/lib/commonjs/RNRenderer.web.js.map +1 -1
  36. package/lib/commonjs/State.js +3 -4
  37. package/lib/commonjs/State.js.map +1 -1
  38. package/lib/commonjs/TouchEventType.js +3 -3
  39. package/lib/commonjs/TouchEventType.js.map +1 -1
  40. package/lib/commonjs/components/DrawerLayout.js +115 -90
  41. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  42. package/lib/commonjs/components/GestureButtons.js +81 -28
  43. package/lib/commonjs/components/GestureButtons.js.map +1 -1
  44. package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
  45. package/lib/commonjs/components/GestureComponents.js +37 -26
  46. package/lib/commonjs/components/GestureComponents.js.map +1 -1
  47. package/lib/commonjs/components/GestureComponents.web.js +27 -13
  48. package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
  49. package/lib/commonjs/components/GestureHandlerButton.js +6 -2
  50. package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
  51. package/lib/commonjs/components/GestureHandlerButton.web.js +12 -4
  52. package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
  53. package/lib/commonjs/components/GestureHandlerRootView.android.js +15 -4
  54. package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
  55. package/lib/commonjs/components/GestureHandlerRootView.js +14 -4
  56. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
  57. package/lib/commonjs/components/GestureHandlerRootView.web.js +13 -4
  58. package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
  59. package/lib/commonjs/components/Pressable/Pressable.js +77 -29
  60. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
  61. package/lib/commonjs/components/Pressable/PressableProps.js.map +1 -1
  62. package/lib/commonjs/components/Pressable/index.js +3 -1
  63. package/lib/commonjs/components/Pressable/index.js.map +1 -1
  64. package/lib/commonjs/components/Pressable/utils.js +20 -5
  65. package/lib/commonjs/components/Pressable/utils.js.map +1 -1
  66. package/lib/commonjs/components/ReanimatedDrawerLayout.js +86 -44
  67. package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
  68. package/lib/commonjs/components/ReanimatedSwipeable.js +45 -18
  69. package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
  70. package/lib/commonjs/components/Swipeable.js +75 -34
  71. package/lib/commonjs/components/Swipeable.js.map +1 -1
  72. package/lib/commonjs/components/Text.js +28 -10
  73. package/lib/commonjs/components/Text.js.map +1 -1
  74. package/lib/commonjs/components/gestureHandlerRootHOC.js +14 -5
  75. package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
  76. package/lib/commonjs/components/touchables/ExtraButtonProps.js +2 -0
  77. package/lib/commonjs/components/touchables/ExtraButtonProps.js.map +1 -0
  78. package/lib/commonjs/components/touchables/GenericTouchable.js +76 -40
  79. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
  80. package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +1 -1
  81. package/lib/commonjs/components/touchables/TouchableHighlight.js +34 -19
  82. package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
  83. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +32 -16
  84. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  85. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -2
  86. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
  87. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  88. package/lib/commonjs/components/touchables/TouchableOpacity.js +25 -16
  89. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  90. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +25 -13
  91. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  92. package/lib/commonjs/components/touchables/index.js +12 -7
  93. package/lib/commonjs/components/touchables/index.js.map +1 -1
  94. package/lib/commonjs/findNodeHandle.js +4 -1
  95. package/lib/commonjs/findNodeHandle.js.map +1 -1
  96. package/lib/commonjs/findNodeHandle.web.js +14 -5
  97. package/lib/commonjs/findNodeHandle.web.js.map +1 -1
  98. package/lib/commonjs/getReactNativeVersion.js +6 -1
  99. package/lib/commonjs/getReactNativeVersion.js.map +1 -1
  100. package/lib/commonjs/getReactNativeVersion.web.js +1 -0
  101. package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
  102. package/lib/commonjs/getShadowNodeFromRef.js +14 -13
  103. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  104. package/lib/commonjs/getShadowNodeFromRef.web.js +1 -0
  105. package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
  106. package/lib/commonjs/ghQueueMicrotask.js +2 -1
  107. package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
  108. package/lib/commonjs/handlers/FlingGestureHandler.js +11 -9
  109. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
  110. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +22 -15
  111. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
  112. package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
  113. package/lib/commonjs/handlers/LongPressGestureHandler.js +11 -9
  114. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
  115. package/lib/commonjs/handlers/NativeViewGestureHandler.js +13 -10
  116. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
  117. package/lib/commonjs/handlers/PanGestureHandler.js +32 -13
  118. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
  119. package/lib/commonjs/handlers/PinchGestureHandler.js +9 -7
  120. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
  121. package/lib/commonjs/handlers/PressabilityDebugView.js +1 -0
  122. package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
  123. package/lib/commonjs/handlers/PressabilityDebugView.web.js +1 -0
  124. package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
  125. package/lib/commonjs/handlers/RotationGestureHandler.js +9 -7
  126. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
  127. package/lib/commonjs/handlers/TapGestureHandler.js +11 -9
  128. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
  129. package/lib/commonjs/handlers/createHandler.js +146 -59
  130. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  131. package/lib/commonjs/handlers/createNativeWrapper.js +30 -18
  132. package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
  133. package/lib/commonjs/handlers/customDirectEventTypes.js +1 -0
  134. package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
  135. package/lib/commonjs/handlers/customDirectEventTypes.web.js +2 -1
  136. package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
  137. package/lib/commonjs/handlers/gestureHandlerCommon.js +10 -9
  138. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  139. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -1
  140. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +14 -5
  141. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  142. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +21 -13
  143. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  144. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +29 -9
  145. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  146. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +10 -1
  147. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  148. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +36 -11
  149. package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
  150. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +3 -0
  151. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  152. package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +1 -1
  153. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +24 -12
  154. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  155. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +48 -12
  156. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  157. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +13 -3
  158. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  159. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +9 -2
  160. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  161. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +14 -6
  162. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  163. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +55 -27
  164. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
  165. package/lib/commonjs/handlers/gestures/eventReceiver.js +46 -14
  166. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
  167. package/lib/commonjs/handlers/gestures/flingGesture.js +12 -5
  168. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
  169. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +19 -8
  170. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
  171. package/lib/commonjs/handlers/gestures/gesture.js +84 -44
  172. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  173. package/lib/commonjs/handlers/gestures/gestureComposition.js +31 -17
  174. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
  175. package/lib/commonjs/handlers/gestures/gestureObjects.js +27 -1
  176. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
  177. package/lib/commonjs/handlers/gestures/gestureStateManager.js +9 -3
  178. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
  179. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +7 -2
  180. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
  181. package/lib/commonjs/handlers/gestures/hoverGesture.js +25 -11
  182. package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
  183. package/lib/commonjs/handlers/gestures/longPressGesture.js +14 -6
  184. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
  185. package/lib/commonjs/handlers/gestures/manualGesture.js +6 -0
  186. package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
  187. package/lib/commonjs/handlers/gestures/nativeGesture.js +12 -5
  188. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
  189. package/lib/commonjs/handlers/gestures/panGesture.js +43 -18
  190. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
  191. package/lib/commonjs/handlers/gestures/pinchGesture.js +9 -2
  192. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
  193. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +8 -1
  194. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
  195. package/lib/commonjs/handlers/gestures/rotationGesture.js +9 -2
  196. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
  197. package/lib/commonjs/handlers/gestures/tapGesture.js +22 -10
  198. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
  199. package/lib/commonjs/handlers/getNextHandlerTag.js +1 -0
  200. package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
  201. package/lib/commonjs/handlers/handlersRegistry.js +21 -6
  202. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
  203. package/lib/commonjs/handlers/utils.js +26 -6
  204. package/lib/commonjs/handlers/utils.js.map +1 -1
  205. package/lib/commonjs/index.js +104 -75
  206. package/lib/commonjs/index.js.map +1 -1
  207. package/lib/commonjs/init.js +11 -4
  208. package/lib/commonjs/init.js.map +1 -1
  209. package/lib/commonjs/jestUtils/index.js +5 -4
  210. package/lib/commonjs/jestUtils/index.js.map +1 -1
  211. package/lib/commonjs/jestUtils/jestUtils.js +83 -19
  212. package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
  213. package/lib/commonjs/mocks.js +15 -5
  214. package/lib/commonjs/mocks.js.map +1 -1
  215. package/lib/commonjs/mountRegistry.js +12 -3
  216. package/lib/commonjs/mountRegistry.js.map +1 -1
  217. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +5 -1
  218. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
  219. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +7 -2
  220. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  221. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +7 -2
  222. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  223. package/lib/commonjs/typeUtils.js.map +1 -1
  224. package/lib/commonjs/utils.js +37 -13
  225. package/lib/commonjs/utils.js.map +1 -1
  226. package/lib/commonjs/web/Gestures.js +23 -5
  227. package/lib/commonjs/web/Gestures.js.map +1 -1
  228. package/lib/commonjs/web/constants.js +4 -2
  229. package/lib/commonjs/web/constants.js.map +1 -1
  230. package/lib/commonjs/web/detectors/RotationGestureDetector.js +41 -5
  231. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  232. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +42 -13
  233. package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
  234. package/lib/commonjs/web/handlers/FlingGestureHandler.js +49 -6
  235. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  236. package/lib/commonjs/web/handlers/GestureHandler.js +195 -62
  237. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  238. package/lib/commonjs/web/handlers/HoverGestureHandler.js +19 -6
  239. package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
  240. package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -1
  241. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +47 -6
  242. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
  243. package/lib/commonjs/web/handlers/ManualGestureHandler.js +11 -1
  244. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
  245. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +49 -8
  246. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  247. package/lib/commonjs/web/handlers/PanGestureHandler.js +123 -8
  248. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  249. package/lib/commonjs/web/handlers/PinchGestureHandler.js +41 -4
  250. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
  251. package/lib/commonjs/web/handlers/RotationGestureHandler.js +42 -4
  252. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
  253. package/lib/commonjs/web/handlers/TapGestureHandler.js +67 -6
  254. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  255. package/lib/commonjs/web/interfaces.js +17 -9
  256. package/lib/commonjs/web/interfaces.js.map +1 -1
  257. package/lib/commonjs/web/tools/CircularBuffer.js +15 -3
  258. package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
  259. package/lib/commonjs/web/tools/EventManager.js +41 -7
  260. package/lib/commonjs/web/tools/EventManager.js.map +1 -1
  261. package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -1
  262. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +78 -11
  263. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  264. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +48 -8
  265. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  266. package/lib/commonjs/web/tools/InteractionManager.js +22 -5
  267. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  268. package/lib/commonjs/web/tools/KeyboardEventManager.js +26 -4
  269. package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
  270. package/lib/commonjs/web/tools/LeastSquareSolver.js +67 -30
  271. package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
  272. package/lib/commonjs/web/tools/NodeManager.js +14 -7
  273. package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
  274. package/lib/commonjs/web/tools/PointerEventManager.js +45 -10
  275. package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
  276. package/lib/commonjs/web/tools/PointerTracker.js +45 -9
  277. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
  278. package/lib/commonjs/web/tools/Vector.js +18 -3
  279. package/lib/commonjs/web/tools/Vector.js.map +1 -1
  280. package/lib/commonjs/web/tools/VelocityTracker.js +31 -9
  281. package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
  282. package/lib/commonjs/web/tools/WheelEventManager.js +17 -4
  283. package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
  284. package/lib/commonjs/web/utils.js +76 -27
  285. package/lib/commonjs/web/utils.js.map +1 -1
  286. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +19 -7
  287. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
  288. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +13 -3
  289. package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
  290. package/lib/commonjs/web_hammer/Errors.js +3 -0
  291. package/lib/commonjs/web_hammer/Errors.js.map +1 -1
  292. package/lib/commonjs/web_hammer/FlingGestureHandler.js +44 -13
  293. package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
  294. package/lib/commonjs/web_hammer/GestureHandler.js +142 -55
  295. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
  296. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +11 -2
  297. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  298. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +19 -5
  299. package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
  300. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +24 -16
  301. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
  302. package/lib/commonjs/web_hammer/NodeManager.js +16 -9
  303. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
  304. package/lib/commonjs/web_hammer/PanGestureHandler.js +49 -8
  305. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
  306. package/lib/commonjs/web_hammer/PinchGestureHandler.js +11 -2
  307. package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
  308. package/lib/commonjs/web_hammer/PressGestureHandler.js +43 -15
  309. package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
  310. package/lib/commonjs/web_hammer/RotationGestureHandler.js +13 -2
  311. package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
  312. package/lib/commonjs/web_hammer/TapGestureHandler.js +52 -33
  313. package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
  314. package/lib/commonjs/web_hammer/constants.js +26 -13
  315. package/lib/commonjs/web_hammer/constants.js.map +1 -1
  316. package/lib/commonjs/web_hammer/utils.js +14 -4
  317. package/lib/commonjs/web_hammer/utils.js.map +1 -1
  318. package/lib/module/ActionType.js +1 -3
  319. package/lib/module/ActionType.js.map +1 -1
  320. package/lib/module/Directions.js +3 -9
  321. package/lib/module/Directions.js.map +1 -1
  322. package/lib/module/EnableNewWebImplementation.js +5 -2
  323. package/lib/module/EnableNewWebImplementation.js.map +1 -1
  324. package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
  325. package/lib/module/PlatformConstants.js +1 -0
  326. package/lib/module/PlatformConstants.js.map +1 -1
  327. package/lib/module/PlatformConstants.web.js +1 -0
  328. package/lib/module/PlatformConstants.web.js.map +1 -1
  329. package/lib/module/PointerType.js +4 -3
  330. package/lib/module/PointerType.js.map +1 -1
  331. package/lib/module/RNGestureHandlerModule.js +0 -1
  332. package/lib/module/RNGestureHandlerModule.js.map +1 -1
  333. package/lib/module/RNGestureHandlerModule.web.js +20 -10
  334. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  335. package/lib/module/RNGestureHandlerModule.windows.js +17 -18
  336. package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
  337. package/lib/module/RNRenderer.js.map +1 -1
  338. package/lib/module/RNRenderer.web.js.map +1 -1
  339. package/lib/module/State.js +1 -4
  340. package/lib/module/State.js.map +1 -1
  341. package/lib/module/TouchEventType.js +1 -3
  342. package/lib/module/TouchEventType.js.map +1 -1
  343. package/lib/module/components/DrawerLayout.js +99 -80
  344. package/lib/module/components/DrawerLayout.js.map +1 -1
  345. package/lib/module/components/GestureButtons.js +55 -19
  346. package/lib/module/components/GestureButtons.js.map +1 -1
  347. package/lib/module/components/GestureButtonsProps.js.map +1 -1
  348. package/lib/module/components/GestureComponents.js +12 -17
  349. package/lib/module/components/GestureComponents.js.map +1 -1
  350. package/lib/module/components/GestureComponents.web.js +4 -4
  351. package/lib/module/components/GestureComponents.web.js.map +1 -1
  352. package/lib/module/components/GestureHandlerButton.js.map +1 -1
  353. package/lib/module/components/GestureHandlerButton.web.js +2 -1
  354. package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
  355. package/lib/module/components/GestureHandlerRootView.android.js +2 -1
  356. package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
  357. package/lib/module/components/GestureHandlerRootView.js +2 -1
  358. package/lib/module/components/GestureHandlerRootView.js.map +1 -1
  359. package/lib/module/components/GestureHandlerRootView.web.js +2 -1
  360. package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
  361. package/lib/module/components/Pressable/Pressable.js +59 -26
  362. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  363. package/lib/module/components/Pressable/PressableProps.js.map +1 -1
  364. package/lib/module/components/Pressable/index.js.map +1 -1
  365. package/lib/module/components/Pressable/utils.js +14 -4
  366. package/lib/module/components/Pressable/utils.js.map +1 -1
  367. package/lib/module/components/ReanimatedDrawerLayout.js +66 -40
  368. package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
  369. package/lib/module/components/ReanimatedSwipeable.js +30 -14
  370. package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
  371. package/lib/module/components/Swipeable.js +59 -28
  372. package/lib/module/components/Swipeable.js.map +1 -1
  373. package/lib/module/components/Text.js +15 -7
  374. package/lib/module/components/Text.js.map +1 -1
  375. package/lib/module/components/gestureHandlerRootHOC.js +2 -2
  376. package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
  377. package/lib/module/components/touchables/ExtraButtonProps.js +2 -0
  378. package/lib/module/components/touchables/ExtraButtonProps.js.map +1 -0
  379. package/lib/module/components/touchables/GenericTouchable.js +63 -34
  380. package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
  381. package/lib/module/components/touchables/GenericTouchableProps.js.map +1 -1
  382. package/lib/module/components/touchables/TouchableHighlight.js +24 -15
  383. package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
  384. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +20 -10
  385. package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  386. package/lib/module/components/touchables/TouchableNativeFeedback.js +2 -2
  387. package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
  388. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  389. package/lib/module/components/touchables/TouchableOpacity.js +16 -10
  390. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  391. package/lib/module/components/touchables/TouchableWithoutFeedback.js +15 -10
  392. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  393. package/lib/module/components/touchables/index.js.map +1 -1
  394. package/lib/module/findNodeHandle.js.map +1 -1
  395. package/lib/module/findNodeHandle.web.js +11 -5
  396. package/lib/module/findNodeHandle.web.js.map +1 -1
  397. package/lib/module/getReactNativeVersion.js.map +1 -1
  398. package/lib/module/getReactNativeVersion.web.js.map +1 -1
  399. package/lib/module/getShadowNodeFromRef.js +13 -13
  400. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  401. package/lib/module/getShadowNodeFromRef.web.js.map +1 -1
  402. package/lib/module/ghQueueMicrotask.js.map +1 -1
  403. package/lib/module/handlers/FlingGestureHandler.js +0 -6
  404. package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
  405. package/lib/module/handlers/ForceTouchGestureHandler.js +8 -12
  406. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
  407. package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
  408. package/lib/module/handlers/LongPressGestureHandler.js +0 -6
  409. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
  410. package/lib/module/handlers/NativeViewGestureHandler.js +0 -6
  411. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
  412. package/lib/module/handlers/PanGestureHandler.js +19 -8
  413. package/lib/module/handlers/PanGestureHandler.js.map +1 -1
  414. package/lib/module/handlers/PinchGestureHandler.js +0 -2
  415. package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
  416. package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
  417. package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -1
  418. package/lib/module/handlers/RotationGestureHandler.js +0 -2
  419. package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
  420. package/lib/module/handlers/TapGestureHandler.js +0 -6
  421. package/lib/module/handlers/TapGestureHandler.js.map +1 -1
  422. package/lib/module/handlers/createHandler.js +119 -57
  423. package/lib/module/handlers/createHandler.js.map +1 -1
  424. package/lib/module/handlers/createNativeWrapper.js +22 -15
  425. package/lib/module/handlers/createNativeWrapper.js.map +1 -1
  426. package/lib/module/handlers/customDirectEventTypes.js.map +1 -1
  427. package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -1
  428. package/lib/module/handlers/gestureHandlerCommon.js +4 -9
  429. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  430. package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -1
  431. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +4 -3
  432. package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  433. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +7 -8
  434. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  435. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +16 -8
  436. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  437. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +1 -0
  438. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  439. package/lib/module/handlers/gestures/GestureDetector/index.js +13 -7
  440. package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
  441. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +2 -0
  442. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  443. package/lib/module/handlers/gestures/GestureDetector/types.js.map +1 -1
  444. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +14 -11
  445. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  446. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +39 -12
  447. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  448. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +5 -5
  449. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  450. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +6 -2
  451. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  452. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -5
  453. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  454. package/lib/module/handlers/gestures/GestureDetector/utils.js +28 -23
  455. package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
  456. package/lib/module/handlers/gestures/eventReceiver.js +38 -14
  457. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
  458. package/lib/module/handlers/gestures/flingGesture.js +9 -5
  459. package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
  460. package/lib/module/handlers/gestures/forceTouchGesture.js +17 -8
  461. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
  462. package/lib/module/handlers/gestures/gesture.js +73 -44
  463. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  464. package/lib/module/handlers/gestures/gestureComposition.js +24 -16
  465. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
  466. package/lib/module/handlers/gestures/gestureObjects.js +14 -1
  467. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
  468. package/lib/module/handlers/gestures/gestureStateManager.js +4 -3
  469. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
  470. package/lib/module/handlers/gestures/gestureStateManager.web.js +1 -0
  471. package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
  472. package/lib/module/handlers/gestures/hoverGesture.js +18 -9
  473. package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
  474. package/lib/module/handlers/gestures/longPressGesture.js +11 -6
  475. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
  476. package/lib/module/handlers/gestures/manualGesture.js +4 -0
  477. package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
  478. package/lib/module/handlers/gestures/nativeGesture.js +9 -5
  479. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
  480. package/lib/module/handlers/gestures/panGesture.js +41 -18
  481. package/lib/module/handlers/gestures/panGesture.js.map +1 -1
  482. package/lib/module/handlers/gestures/pinchGesture.js +7 -2
  483. package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
  484. package/lib/module/handlers/gestures/reanimatedWrapper.js +5 -0
  485. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
  486. package/lib/module/handlers/gestures/rotationGesture.js +7 -2
  487. package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
  488. package/lib/module/handlers/gestures/tapGesture.js +19 -10
  489. package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
  490. package/lib/module/handlers/getNextHandlerTag.js.map +1 -1
  491. package/lib/module/handlers/handlersRegistry.js +5 -0
  492. package/lib/module/handlers/handlersRegistry.js.map +1 -1
  493. package/lib/module/handlers/utils.js +13 -4
  494. package/lib/module/handlers/utils.js.map +1 -1
  495. package/lib/module/index.js.map +1 -1
  496. package/lib/module/init.js +2 -3
  497. package/lib/module/init.js.map +1 -1
  498. package/lib/module/jestUtils/index.js.map +1 -1
  499. package/lib/module/jestUtils/jestUtils.js +66 -20
  500. package/lib/module/jestUtils/jestUtils.js.map +1 -1
  501. package/lib/module/mocks.js +7 -3
  502. package/lib/module/mocks.js.map +1 -1
  503. package/lib/module/mountRegistry.js +10 -3
  504. package/lib/module/mountRegistry.js.map +1 -1
  505. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
  506. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  507. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  508. package/lib/module/typeUtils.js.map +1 -1
  509. package/lib/module/utils.js +15 -6
  510. package/lib/module/utils.js.map +1 -1
  511. package/lib/module/web/Gestures.js +1 -2
  512. package/lib/module/web/Gestures.js.map +1 -1
  513. package/lib/module/web/constants.js.map +1 -1
  514. package/lib/module/web/detectors/RotationGestureDetector.js +38 -5
  515. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  516. package/lib/module/web/detectors/ScaleGestureDetector.js +38 -13
  517. package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
  518. package/lib/module/web/handlers/FlingGestureHandler.js +39 -5
  519. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  520. package/lib/module/web/handlers/GestureHandler.js +181 -61
  521. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  522. package/lib/module/web/handlers/HoverGestureHandler.js +11 -5
  523. package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
  524. package/lib/module/web/handlers/IGestureHandler.js.map +1 -1
  525. package/lib/module/web/handlers/LongPressGestureHandler.js +40 -5
  526. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
  527. package/lib/module/web/handlers/ManualGestureHandler.js +6 -0
  528. package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
  529. package/lib/module/web/handlers/NativeViewGestureHandler.js +41 -7
  530. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  531. package/lib/module/web/handlers/PanGestureHandler.js +114 -7
  532. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  533. package/lib/module/web/handlers/PinchGestureHandler.js +33 -3
  534. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
  535. package/lib/module/web/handlers/RotationGestureHandler.js +34 -3
  536. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
  537. package/lib/module/web/handlers/TapGestureHandler.js +59 -5
  538. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  539. package/lib/module/web/interfaces.js +14 -9
  540. package/lib/module/web/interfaces.js.map +1 -1
  541. package/lib/module/web/tools/CircularBuffer.js +13 -3
  542. package/lib/module/web/tools/CircularBuffer.js.map +1 -1
  543. package/lib/module/web/tools/EventManager.js +39 -7
  544. package/lib/module/web/tools/EventManager.js.map +1 -1
  545. package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -1
  546. package/lib/module/web/tools/GestureHandlerOrchestrator.js +71 -10
  547. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  548. package/lib/module/web/tools/GestureHandlerWebDelegate.js +37 -7
  549. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  550. package/lib/module/web/tools/InteractionManager.js +19 -5
  551. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  552. package/lib/module/web/tools/KeyboardEventManager.js +19 -3
  553. package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
  554. package/lib/module/web/tools/LeastSquareSolver.js +65 -30
  555. package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
  556. package/lib/module/web/tools/NodeManager.js +12 -7
  557. package/lib/module/web/tools/NodeManager.js.map +1 -1
  558. package/lib/module/web/tools/PointerEventManager.js +35 -9
  559. package/lib/module/web/tools/PointerEventManager.js.map +1 -1
  560. package/lib/module/web/tools/PointerTracker.js +39 -8
  561. package/lib/module/web/tools/PointerTracker.js.map +1 -1
  562. package/lib/module/web/tools/Vector.js +14 -3
  563. package/lib/module/web/tools/Vector.js.map +1 -1
  564. package/lib/module/web/tools/VelocityTracker.js +25 -8
  565. package/lib/module/web/tools/VelocityTracker.js.map +1 -1
  566. package/lib/module/web/tools/WheelEventManager.js +10 -3
  567. package/lib/module/web/tools/WheelEventManager.js.map +1 -1
  568. package/lib/module/web/utils.js +57 -22
  569. package/lib/module/web/utils.js.map +1 -1
  570. package/lib/module/web_hammer/DiscreteGestureHandler.js +13 -4
  571. package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
  572. package/lib/module/web_hammer/DraggingGestureHandler.js +5 -0
  573. package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
  574. package/lib/module/web_hammer/Errors.js +1 -0
  575. package/lib/module/web_hammer/Errors.js.map +1 -1
  576. package/lib/module/web_hammer/FlingGestureHandler.js +35 -10
  577. package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
  578. package/lib/module/web_hammer/GestureHandler.js +130 -53
  579. package/lib/module/web_hammer/GestureHandler.js.map +1 -1
  580. package/lib/module/web_hammer/IndiscreteGestureHandler.js +6 -1
  581. package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  582. package/lib/module/web_hammer/LongPressGestureHandler.js +11 -2
  583. package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -1
  584. package/lib/module/web_hammer/NativeViewGestureHandler.js +12 -12
  585. package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -1
  586. package/lib/module/web_hammer/NodeManager.js +8 -6
  587. package/lib/module/web_hammer/NodeManager.js.map +1 -1
  588. package/lib/module/web_hammer/PanGestureHandler.js +40 -6
  589. package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
  590. package/lib/module/web_hammer/PinchGestureHandler.js +5 -0
  591. package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
  592. package/lib/module/web_hammer/PressGestureHandler.js +34 -13
  593. package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
  594. package/lib/module/web_hammer/RotationGestureHandler.js +6 -0
  595. package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
  596. package/lib/module/web_hammer/TapGestureHandler.js +45 -31
  597. package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
  598. package/lib/module/web_hammer/constants.js +1 -2
  599. package/lib/module/web_hammer/constants.js.map +1 -1
  600. package/lib/module/web_hammer/utils.js +2 -2
  601. package/lib/module/web_hammer/utils.js.map +1 -1
  602. package/lib/typescript/components/GestureComponents.d.ts +1 -1
  603. package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +5 -0
  604. package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +7 -0
  605. package/lib/typescript/components/touchables/GenericTouchable.d.ts +0 -2
  606. package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +2 -0
  607. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +2 -2
  608. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +3 -3
  609. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +1 -1
  610. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -7
  611. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +2 -2
  612. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +2 -2
  613. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +1 -1
  614. package/lib/typescript/utils.d.ts +1 -0
  615. package/lib/typescript/web/utils.d.ts +2 -0
  616. package/package.json +9 -8
  617. package/src/components/GestureComponents.tsx +1 -1
  618. package/src/components/ReanimatedDrawerLayout.tsx +17 -4
  619. package/src/components/Text.tsx +5 -0
  620. package/src/components/touchables/ExtraButtonProps.ts +7 -0
  621. package/src/components/touchables/GenericTouchable.tsx +0 -2
  622. package/src/components/touchables/GenericTouchableProps.ts +2 -0
  623. package/src/components/touchables/TouchableHighlight.tsx +2 -2
  624. package/src/components/touchables/TouchableNativeFeedback.android.tsx +1 -1
  625. package/src/components/touchables/TouchableNativeFeedback.tsx +1 -1
  626. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -8
  627. package/src/components/touchables/TouchableOpacity.tsx +2 -2
  628. package/src/components/touchables/TouchableWithoutFeedback.tsx +22 -4
  629. package/src/handlers/createHandler.tsx +20 -9
  630. package/src/handlers/createNativeWrapper.tsx +7 -3
  631. package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +2 -4
  632. package/src/utils.ts +6 -0
  633. package/src/web/utils.ts +21 -3
@@ -1,12 +1,13 @@
1
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
3
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
+
5
5
  import * as React from 'react';
6
6
  import { Component } from 'react';
7
7
  import { Animated, Platform } from 'react-native';
8
8
  import { State } from '../../State';
9
9
  import { BaseButton } from '../GestureButtons';
10
+
10
11
  /**
11
12
  * Each touchable is a states' machine which preforms transitions.
12
13
  * On very beginning (and on the very end or recognition) touchable is
@@ -20,26 +21,26 @@ export const TOUCHABLE_STATE = {
20
21
  MOVED_OUTSIDE: 2
21
22
  };
22
23
 
23
- // TODO: maybe can be better
24
- // TODO: all clearTimeout have ! added, maybe they shouldn't ?
25
-
26
24
  /**
27
25
  * GenericTouchable is not intented to be used as it is.
28
26
  * Should be treated as a source for the rest of touchables
29
27
  */
30
-
31
28
  export default class GenericTouchable extends Component {
32
29
  constructor(...args) {
33
30
  super(...args);
34
- // Timeout handlers
31
+
35
32
  _defineProperty(this, "pressInTimeout", void 0);
33
+
36
34
  _defineProperty(this, "pressOutTimeout", void 0);
35
+
37
36
  _defineProperty(this, "longPressTimeout", void 0);
38
- // This flag is required since recognition of longPress implies not-invoking onPress
37
+
39
38
  _defineProperty(this, "longPressDetected", false);
39
+
40
40
  _defineProperty(this, "pointerInside", true);
41
- // State of touchable
41
+
42
42
  _defineProperty(this, "STATE", TOUCHABLE_STATE.UNDETERMINED);
43
+
43
44
  _defineProperty(this, "onGestureEvent", ({
44
45
  nativeEvent: {
45
46
  pointerInside
@@ -52,19 +53,21 @@ export default class GenericTouchable extends Component {
52
53
  this.onMoveOut();
53
54
  }
54
55
  }
56
+
55
57
  this.pointerInside = pointerInside;
56
58
  });
59
+
57
60
  _defineProperty(this, "onHandlerStateChange", ({
58
61
  nativeEvent
59
62
  }) => {
60
63
  const {
61
64
  state
62
65
  } = nativeEvent;
66
+
63
67
  if (state === State.CANCELLED || state === State.FAILED) {
64
68
  // Need to handle case with external cancellation (e.g. by ScrollView)
65
69
  this.moveToState(TOUCHABLE_STATE.UNDETERMINED);
66
- } else if (
67
- // This platform check is an implication of slightly different behavior of handlers on different platform.
70
+ } else if ( // This platform check is an implication of slightly different behavior of handlers on different platform.
68
71
  // And Android "Active" state is achieving on first move of a finger, not on press in.
69
72
  // On iOS event on "Began" is not delivered.
70
73
  state === (Platform.OS !== 'android' ? State.ACTIVE : State.BEGAN) && this.STATE === TOUCHABLE_STATE.UNDETERMINED) {
@@ -73,20 +76,25 @@ export default class GenericTouchable extends Component {
73
76
  } else if (state === State.END) {
74
77
  const shouldCallOnPress = !this.longPressDetected && this.STATE !== TOUCHABLE_STATE.MOVED_OUTSIDE && this.pressOutTimeout === null;
75
78
  this.handleGoToUndetermined();
79
+
76
80
  if (shouldCallOnPress) {
77
81
  var _this$props$onPress, _this$props;
82
+
78
83
  // Calls only inside component whether no long press was called previously
79
- (_this$props$onPress = (_this$props = this.props).onPress) === null || _this$props$onPress === void 0 || _this$props$onPress.call(_this$props);
84
+ (_this$props$onPress = (_this$props = this.props).onPress) === null || _this$props$onPress === void 0 ? void 0 : _this$props$onPress.call(_this$props);
80
85
  }
81
86
  }
82
87
  });
88
+
83
89
  _defineProperty(this, "onLongPressDetected", () => {
84
90
  var _this$props$onLongPre, _this$props2;
85
- this.longPressDetected = true;
86
- // Checked for in the caller of `onLongPressDetected`, but better to check twice
87
- (_this$props$onLongPre = (_this$props2 = this.props).onLongPress) === null || _this$props$onLongPre === void 0 || _this$props$onLongPre.call(_this$props2);
91
+
92
+ this.longPressDetected = true; // Checked for in the caller of `onLongPressDetected`, but better to check twice
93
+
94
+ (_this$props$onLongPre = (_this$props2 = this.props).onLongPress) === null || _this$props$onLongPre === void 0 ? void 0 : _this$props$onLongPre.call(_this$props2);
88
95
  });
89
96
  }
97
+
90
98
  // handlePressIn in called on first touch on traveling inside component.
91
99
  // Handles state transition with delay.
92
100
  handlePressIn() {
@@ -98,13 +106,15 @@ export default class GenericTouchable extends Component {
98
106
  } else {
99
107
  this.moveToState(TOUCHABLE_STATE.BEGAN);
100
108
  }
109
+
101
110
  if (this.props.onLongPress) {
102
111
  const time = (this.props.delayPressIn || 0) + (this.props.delayLongPress || 0);
103
112
  this.longPressTimeout = setTimeout(this.onLongPressDetected, time);
104
113
  }
105
- }
106
- // handleMoveOutside in called on traveling outside component.
114
+ } // handleMoveOutside in called on traveling outside component.
107
115
  // Handles state transition with delay.
116
+
117
+
108
118
  handleMoveOutside() {
109
119
  if (this.props.delayPressOut) {
110
120
  this.pressOutTimeout = this.pressOutTimeout || setTimeout(() => {
@@ -114,16 +124,18 @@ export default class GenericTouchable extends Component {
114
124
  } else {
115
125
  this.moveToState(TOUCHABLE_STATE.MOVED_OUTSIDE);
116
126
  }
117
- }
127
+ } // handleGoToUndetermined transits to UNDETERMINED state with proper delay
128
+
118
129
 
119
- // handleGoToUndetermined transits to UNDETERMINED state with proper delay
120
130
  handleGoToUndetermined() {
121
131
  clearTimeout(this.pressOutTimeout); // TODO: maybe it can be undefined
132
+
122
133
  if (this.props.delayPressOut) {
123
134
  this.pressOutTimeout = setTimeout(() => {
124
135
  if (this.STATE === TOUCHABLE_STATE.UNDETERMINED) {
125
136
  this.moveToState(TOUCHABLE_STATE.BEGAN);
126
137
  }
138
+
127
139
  this.moveToState(TOUCHABLE_STATE.UNDETERMINED);
128
140
  this.pressOutTimeout = null;
129
141
  }, this.props.delayPressOut);
@@ -131,13 +143,16 @@ export default class GenericTouchable extends Component {
131
143
  if (this.STATE === TOUCHABLE_STATE.UNDETERMINED) {
132
144
  this.moveToState(TOUCHABLE_STATE.BEGAN);
133
145
  }
146
+
134
147
  this.moveToState(TOUCHABLE_STATE.UNDETERMINED);
135
148
  }
136
149
  }
150
+
137
151
  componentDidMount() {
138
152
  this.reset();
139
- }
140
- // Reset timeout to prevent memory leaks.
153
+ } // Reset timeout to prevent memory leaks.
154
+
155
+
141
156
  reset() {
142
157
  this.longPressDetected = false;
143
158
  this.pointerInside = true;
@@ -147,57 +162,70 @@ export default class GenericTouchable extends Component {
147
162
  this.pressOutTimeout = null;
148
163
  this.longPressTimeout = null;
149
164
  this.pressInTimeout = null;
150
- }
165
+ } // All states' transitions are defined here.
166
+
151
167
 
152
- // All states' transitions are defined here.
153
168
  moveToState(newState) {
154
169
  var _this$props$onStateCh, _this$props6;
170
+
155
171
  if (newState === this.STATE) {
156
172
  // Ignore dummy transitions
157
173
  return;
158
174
  }
175
+
159
176
  if (newState === TOUCHABLE_STATE.BEGAN) {
160
177
  var _this$props$onPressIn, _this$props3;
178
+
161
179
  // First touch and moving inside
162
- (_this$props$onPressIn = (_this$props3 = this.props).onPressIn) === null || _this$props$onPressIn === void 0 || _this$props$onPressIn.call(_this$props3);
180
+ (_this$props$onPressIn = (_this$props3 = this.props).onPressIn) === null || _this$props$onPressIn === void 0 ? void 0 : _this$props$onPressIn.call(_this$props3);
163
181
  } else if (newState === TOUCHABLE_STATE.MOVED_OUTSIDE) {
164
182
  var _this$props$onPressOu, _this$props4;
183
+
165
184
  // Moving outside
166
- (_this$props$onPressOu = (_this$props4 = this.props).onPressOut) === null || _this$props$onPressOu === void 0 || _this$props$onPressOu.call(_this$props4);
185
+ (_this$props$onPressOu = (_this$props4 = this.props).onPressOut) === null || _this$props$onPressOu === void 0 ? void 0 : _this$props$onPressOu.call(_this$props4);
167
186
  } else if (newState === TOUCHABLE_STATE.UNDETERMINED) {
168
187
  // Need to reset each time on transition to UNDETERMINED
169
188
  this.reset();
189
+
170
190
  if (this.STATE === TOUCHABLE_STATE.BEGAN) {
171
191
  var _this$props$onPressOu2, _this$props5;
192
+
172
193
  // ... and if it happens inside button.
173
- (_this$props$onPressOu2 = (_this$props5 = this.props).onPressOut) === null || _this$props$onPressOu2 === void 0 || _this$props$onPressOu2.call(_this$props5);
194
+ (_this$props$onPressOu2 = (_this$props5 = this.props).onPressOut) === null || _this$props$onPressOu2 === void 0 ? void 0 : _this$props$onPressOu2.call(_this$props5);
174
195
  }
175
- }
176
- // Finally call lister (used by subclasses)
177
- (_this$props$onStateCh = (_this$props6 = this.props).onStateChange) === null || _this$props$onStateCh === void 0 || _this$props$onStateCh.call(_this$props6, this.STATE, newState);
178
- // ... and make transition.
196
+ } // Finally call lister (used by subclasses)
197
+
198
+
199
+ (_this$props$onStateCh = (_this$props6 = this.props).onStateChange) === null || _this$props$onStateCh === void 0 ? void 0 : _this$props$onStateCh.call(_this$props6, this.STATE, newState); // ... and make transition.
200
+
179
201
  this.STATE = newState;
180
202
  }
203
+
181
204
  componentWillUnmount() {
182
205
  // To prevent memory leaks
183
206
  this.reset();
184
207
  }
208
+
185
209
  onMoveIn() {
186
210
  if (this.STATE === TOUCHABLE_STATE.MOVED_OUTSIDE) {
187
211
  // This call is not throttled with delays (like in RN's implementation).
188
212
  this.moveToState(TOUCHABLE_STATE.BEGAN);
189
213
  }
190
214
  }
215
+
191
216
  onMoveOut() {
192
217
  // Long press should no longer be detected
193
218
  clearTimeout(this.longPressTimeout);
194
219
  this.longPressTimeout = null;
220
+
195
221
  if (this.STATE === TOUCHABLE_STATE.BEGAN) {
196
222
  this.handleMoveOutside();
197
223
  }
198
224
  }
225
+
199
226
  render() {
200
227
  var _ref, _this$props$touchSoun;
228
+
201
229
  const hitSlop = (_ref = typeof this.props.hitSlop === 'number' ? {
202
230
  top: this.props.hitSlop,
203
231
  left: this.props.hitSlop,
@@ -219,8 +247,7 @@ export default class GenericTouchable extends Component {
219
247
  };
220
248
  return /*#__PURE__*/React.createElement(BaseButton, _extends({
221
249
  style: this.props.containerStyle,
222
- onHandlerStateChange:
223
- // TODO: not sure if it can be undefined instead of null
250
+ onHandlerStateChange: // TODO: not sure if it can be undefined instead of null
224
251
  this.props.disabled ? undefined : this.onHandlerStateChange,
225
252
  onGestureEvent: this.onGestureEvent,
226
253
  hitSlop: hitSlop,
@@ -234,7 +261,9 @@ export default class GenericTouchable extends Component {
234
261
  style: this.props.style
235
262
  }), this.props.children));
236
263
  }
264
+
237
265
  }
266
+
238
267
  _defineProperty(GenericTouchable, "defaultProps", {
239
268
  delayLongPress: 600,
240
269
  extraButtonProps: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","Animated","Platform","State","BaseButton","TOUCHABLE_STATE","UNDETERMINED","BEGAN","MOVED_OUTSIDE","GenericTouchable","constructor","args","_defineProperty","nativeEvent","pointerInside","onMoveIn","onMoveOut","state","CANCELLED","FAILED","moveToState","OS","ACTIVE","STATE","handlePressIn","END","shouldCallOnPress","longPressDetected","pressOutTimeout","handleGoToUndetermined","_this$props$onPress","_this$props","props","onPress","call","_this$props$onLongPre","_this$props2","onLongPress","delayPressIn","pressInTimeout","setTimeout","time","delayLongPress","longPressTimeout","onLongPressDetected","handleMoveOutside","delayPressOut","clearTimeout","componentDidMount","reset","newState","_this$props$onStateCh","_this$props6","_this$props$onPressIn","_this$props3","onPressIn","_this$props$onPressOu","_this$props4","onPressOut","_this$props$onPressOu2","_this$props5","onStateChange","componentWillUnmount","render","_ref","_this$props$touchSoun","hitSlop","top","left","bottom","right","undefined","coreProps","accessible","accessibilityLabel","accessibilityHint","accessibilityRole","accessibilityState","accessibilityActions","onAccessibilityAction","nativeID","onLayout","createElement","_extends","style","containerStyle","onHandlerStateChange","disabled","onGestureEvent","userSelect","shouldActivateOnStart","disallowInterruption","testID","touchSoundDisabled","enabled","extraButtonProps","View","children","rippleColor","exclusive"],"sources":["GenericTouchable.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component } from 'react';\nimport { Animated, Platform } from 'react-native';\n\nimport { State } from '../../State';\nimport { BaseButton } from '../GestureButtons';\n\nimport {\n GestureEvent,\n HandlerStateChangeEvent,\n} from '../../handlers/gestureHandlerCommon';\nimport type { NativeViewGestureHandlerPayload } from '../../handlers/GestureHandlerEventPayload';\nimport type { TouchableNativeFeedbackExtraProps } from './TouchableNativeFeedbackProps';\nimport type { GenericTouchableProps } from './GenericTouchableProps';\n\n/**\n * Each touchable is a states' machine which preforms transitions.\n * On very beginning (and on the very end or recognition) touchable is\n * UNDETERMINED. Then it moves to BEGAN. If touchable recognizes that finger\n * travel outside it transits to special MOVED_OUTSIDE state. Gesture recognition\n * finishes in UNDETERMINED state.\n */\nexport const TOUCHABLE_STATE = {\n UNDETERMINED: 0,\n BEGAN: 1,\n MOVED_OUTSIDE: 2,\n} as const;\n\ntype TouchableState = (typeof TOUCHABLE_STATE)[keyof typeof TOUCHABLE_STATE];\n\ninterface InternalProps {\n extraButtonProps: TouchableNativeFeedbackExtraProps;\n onStateChange?: (oldState: TouchableState, newState: TouchableState) => void;\n}\n\n// TODO: maybe can be better\n// TODO: all clearTimeout have ! added, maybe they shouldn't ?\ntype Timeout = ReturnType<typeof setTimeout> | null | undefined;\n\n/**\n * GenericTouchable is not intented to be used as it is.\n * Should be treated as a source for the rest of touchables\n */\n\nexport default class GenericTouchable extends Component<\n GenericTouchableProps & InternalProps\n> {\n static defaultProps = {\n delayLongPress: 600,\n extraButtonProps: {\n rippleColor: 'transparent',\n exclusive: true,\n },\n };\n\n // Timeout handlers\n pressInTimeout: Timeout;\n pressOutTimeout: Timeout;\n longPressTimeout: Timeout;\n\n // This flag is required since recognition of longPress implies not-invoking onPress\n longPressDetected = false;\n\n pointerInside = true;\n\n // State of touchable\n STATE: TouchableState = TOUCHABLE_STATE.UNDETERMINED;\n\n // handlePressIn in called on first touch on traveling inside component.\n // Handles state transition with delay.\n handlePressIn() {\n if (this.props.delayPressIn) {\n this.pressInTimeout = setTimeout(() => {\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n this.pressInTimeout = null;\n }, this.props.delayPressIn);\n } else {\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n }\n if (this.props.onLongPress) {\n const time =\n (this.props.delayPressIn || 0) + (this.props.delayLongPress || 0);\n this.longPressTimeout = setTimeout(this.onLongPressDetected, time);\n }\n }\n // handleMoveOutside in called on traveling outside component.\n // Handles state transition with delay.\n handleMoveOutside() {\n if (this.props.delayPressOut) {\n this.pressOutTimeout =\n this.pressOutTimeout ||\n setTimeout(() => {\n this.moveToState(TOUCHABLE_STATE.MOVED_OUTSIDE);\n this.pressOutTimeout = null;\n }, this.props.delayPressOut);\n } else {\n this.moveToState(TOUCHABLE_STATE.MOVED_OUTSIDE);\n }\n }\n\n // handleGoToUndetermined transits to UNDETERMINED state with proper delay\n handleGoToUndetermined() {\n clearTimeout(this.pressOutTimeout!); // TODO: maybe it can be undefined\n if (this.props.delayPressOut) {\n this.pressOutTimeout = setTimeout(() => {\n if (this.STATE === TOUCHABLE_STATE.UNDETERMINED) {\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n }\n this.moveToState(TOUCHABLE_STATE.UNDETERMINED);\n this.pressOutTimeout = null;\n }, this.props.delayPressOut);\n } else {\n if (this.STATE === TOUCHABLE_STATE.UNDETERMINED) {\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n }\n this.moveToState(TOUCHABLE_STATE.UNDETERMINED);\n }\n }\n\n componentDidMount() {\n this.reset();\n }\n // Reset timeout to prevent memory leaks.\n reset() {\n this.longPressDetected = false;\n this.pointerInside = true;\n clearTimeout(this.pressInTimeout!);\n clearTimeout(this.pressOutTimeout!);\n clearTimeout(this.longPressTimeout!);\n this.pressOutTimeout = null;\n this.longPressTimeout = null;\n this.pressInTimeout = null;\n }\n\n // All states' transitions are defined here.\n moveToState(newState: TouchableState) {\n if (newState === this.STATE) {\n // Ignore dummy transitions\n return;\n }\n if (newState === TOUCHABLE_STATE.BEGAN) {\n // First touch and moving inside\n this.props.onPressIn?.();\n } else if (newState === TOUCHABLE_STATE.MOVED_OUTSIDE) {\n // Moving outside\n this.props.onPressOut?.();\n } else if (newState === TOUCHABLE_STATE.UNDETERMINED) {\n // Need to reset each time on transition to UNDETERMINED\n this.reset();\n if (this.STATE === TOUCHABLE_STATE.BEGAN) {\n // ... and if it happens inside button.\n this.props.onPressOut?.();\n }\n }\n // Finally call lister (used by subclasses)\n this.props.onStateChange?.(this.STATE, newState);\n // ... and make transition.\n this.STATE = newState;\n }\n\n onGestureEvent = ({\n nativeEvent: { pointerInside },\n }: GestureEvent<NativeViewGestureHandlerPayload>) => {\n if (this.pointerInside !== pointerInside) {\n if (pointerInside) {\n this.onMoveIn();\n } else {\n this.onMoveOut();\n }\n }\n this.pointerInside = pointerInside;\n };\n\n onHandlerStateChange = ({\n nativeEvent,\n }: HandlerStateChangeEvent<NativeViewGestureHandlerPayload>) => {\n const { state } = nativeEvent;\n if (state === State.CANCELLED || state === State.FAILED) {\n // Need to handle case with external cancellation (e.g. by ScrollView)\n this.moveToState(TOUCHABLE_STATE.UNDETERMINED);\n } else if (\n // This platform check is an implication of slightly different behavior of handlers on different platform.\n // And Android \"Active\" state is achieving on first move of a finger, not on press in.\n // On iOS event on \"Began\" is not delivered.\n state === (Platform.OS !== 'android' ? State.ACTIVE : State.BEGAN) &&\n this.STATE === TOUCHABLE_STATE.UNDETERMINED\n ) {\n // Moving inside requires\n this.handlePressIn();\n } else if (state === State.END) {\n const shouldCallOnPress =\n !this.longPressDetected &&\n this.STATE !== TOUCHABLE_STATE.MOVED_OUTSIDE &&\n this.pressOutTimeout === null;\n this.handleGoToUndetermined();\n if (shouldCallOnPress) {\n // Calls only inside component whether no long press was called previously\n this.props.onPress?.();\n }\n }\n };\n\n onLongPressDetected = () => {\n this.longPressDetected = true;\n // Checked for in the caller of `onLongPressDetected`, but better to check twice\n this.props.onLongPress?.();\n };\n\n componentWillUnmount() {\n // To prevent memory leaks\n this.reset();\n }\n\n onMoveIn() {\n if (this.STATE === TOUCHABLE_STATE.MOVED_OUTSIDE) {\n // This call is not throttled with delays (like in RN's implementation).\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n }\n }\n\n onMoveOut() {\n // Long press should no longer be detected\n clearTimeout(this.longPressTimeout!);\n this.longPressTimeout = null;\n if (this.STATE === TOUCHABLE_STATE.BEGAN) {\n this.handleMoveOutside();\n }\n }\n\n render() {\n const hitSlop =\n (typeof this.props.hitSlop === 'number'\n ? {\n top: this.props.hitSlop,\n left: this.props.hitSlop,\n bottom: this.props.hitSlop,\n right: this.props.hitSlop,\n }\n : this.props.hitSlop) ?? undefined;\n\n const coreProps = {\n accessible: this.props.accessible !== false,\n accessibilityLabel: this.props.accessibilityLabel,\n accessibilityHint: this.props.accessibilityHint,\n accessibilityRole: this.props.accessibilityRole,\n // TODO: check if changed to no 's' correctly, also removed 2 props that are no longer available: `accessibilityComponentType` and `accessibilityTraits`,\n // would be good to check if it is ok for sure, see: https://github.com/facebook/react-native/issues/24016\n accessibilityState: this.props.accessibilityState,\n accessibilityActions: this.props.accessibilityActions,\n onAccessibilityAction: this.props.onAccessibilityAction,\n nativeID: this.props.nativeID,\n onLayout: this.props.onLayout,\n };\n\n return (\n <BaseButton\n style={this.props.containerStyle}\n onHandlerStateChange={\n // TODO: not sure if it can be undefined instead of null\n this.props.disabled ? undefined : this.onHandlerStateChange\n }\n onGestureEvent={this.onGestureEvent}\n hitSlop={hitSlop}\n userSelect={this.props.userSelect}\n shouldActivateOnStart={this.props.shouldActivateOnStart}\n disallowInterruption={this.props.disallowInterruption}\n testID={this.props.testID}\n touchSoundDisabled={this.props.touchSoundDisabled ?? false}\n enabled={!this.props.disabled}\n {...this.props.extraButtonProps}>\n <Animated.View {...coreProps} style={this.props.style}>\n {this.props.children}\n </Animated.View>\n </BaseButton>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["GenericTouchable.tsx"],"names":["React","Component","Animated","Platform","State","BaseButton","TOUCHABLE_STATE","UNDETERMINED","BEGAN","MOVED_OUTSIDE","GenericTouchable","nativeEvent","pointerInside","onMoveIn","onMoveOut","state","CANCELLED","FAILED","moveToState","OS","ACTIVE","STATE","handlePressIn","END","shouldCallOnPress","longPressDetected","pressOutTimeout","handleGoToUndetermined","props","onPress","onLongPress","delayPressIn","pressInTimeout","setTimeout","time","delayLongPress","longPressTimeout","onLongPressDetected","handleMoveOutside","delayPressOut","clearTimeout","componentDidMount","reset","newState","onPressIn","onPressOut","onStateChange","componentWillUnmount","render","hitSlop","top","left","bottom","right","undefined","coreProps","accessible","accessibilityLabel","accessibilityHint","accessibilityRole","accessibilityState","accessibilityActions","onAccessibilityAction","nativeID","onLayout","containerStyle","disabled","onHandlerStateChange","onGestureEvent","userSelect","shouldActivateOnStart","disallowInterruption","testID","touchSoundDisabled","extraButtonProps","style","children","rippleColor","exclusive"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,SAAT,QAA0B,OAA1B;AACA,SAASC,QAAT,EAAmBC,QAAnB,QAAmC,cAAnC;AAEA,SAASC,KAAT,QAAsB,aAAtB;AACA,SAASC,UAAT,QAA2B,mBAA3B;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAG;AAC7BC,EAAAA,YAAY,EAAE,CADe;AAE7BC,EAAAA,KAAK,EAAE,CAFsB;AAG7BC,EAAAA,aAAa,EAAE;AAHc,CAAxB;;AAgBP;AACA;AACA;AACA;AAEA,eAAe,MAAMC,gBAAN,SAA+BT,SAA/B,CAEb;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,+CAeoB,KAfpB;;AAAA,2CAiBgB,IAjBhB;;AAAA,mCAoBwBK,eAAe,CAACC,YApBxC;;AAAA,4CAkHiB,CAAC;AAChBI,MAAAA,WAAW,EAAE;AAAEC,QAAAA;AAAF;AADG,KAAD,KAEoC;AACnD,UAAI,KAAKA,aAAL,KAAuBA,aAA3B,EAA0C;AACxC,YAAIA,aAAJ,EAAmB;AACjB,eAAKC,QAAL;AACD,SAFD,MAEO;AACL,eAAKC,SAAL;AACD;AACF;;AACD,WAAKF,aAAL,GAAqBA,aAArB;AACD,KA7HD;;AAAA,kDA+HuB,CAAC;AACtBD,MAAAA;AADsB,KAAD,KAEyC;AAC9D,YAAM;AAAEI,QAAAA;AAAF,UAAYJ,WAAlB;;AACA,UAAII,KAAK,KAAKX,KAAK,CAACY,SAAhB,IAA6BD,KAAK,KAAKX,KAAK,CAACa,MAAjD,EAAyD;AACvD;AACA,aAAKC,WAAL,CAAiBZ,eAAe,CAACC,YAAjC;AACD,OAHD,MAGO,KACL;AACA;AACA;AACAQ,MAAAA,KAAK,MAAMZ,QAAQ,CAACgB,EAAT,KAAgB,SAAhB,GAA4Bf,KAAK,CAACgB,MAAlC,GAA2ChB,KAAK,CAACI,KAAvD,CAAL,IACA,KAAKa,KAAL,KAAef,eAAe,CAACC,YAL1B,EAML;AACA;AACA,aAAKe,aAAL;AACD,OATM,MASA,IAAIP,KAAK,KAAKX,KAAK,CAACmB,GAApB,EAAyB;AAC9B,cAAMC,iBAAiB,GACrB,CAAC,KAAKC,iBAAN,IACA,KAAKJ,KAAL,KAAef,eAAe,CAACG,aAD/B,IAEA,KAAKiB,eAAL,KAAyB,IAH3B;AAIA,aAAKC,sBAAL;;AACA,YAAIH,iBAAJ,EAAuB;AAAA;;AACrB;AACA,qDAAKI,KAAL,EAAWC,OAAX;AACD;AACF;AACF,KA1JD;;AAAA,iDA4JsB,MAAM;AAAA;;AAC1B,WAAKJ,iBAAL,GAAyB,IAAzB,CAD0B,CAE1B;;AACA,oDAAKG,KAAL,EAAWE,WAAX;AACD,KAhKD;AAAA;;AAsBA;AACA;AACAR,EAAAA,aAAa,GAAG;AACd,QAAI,KAAKM,KAAL,CAAWG,YAAf,EAA6B;AAC3B,WAAKC,cAAL,GAAsBC,UAAU,CAAC,MAAM;AACrC,aAAKf,WAAL,CAAiBZ,eAAe,CAACE,KAAjC;AACA,aAAKwB,cAAL,GAAsB,IAAtB;AACD,OAH+B,EAG7B,KAAKJ,KAAL,CAAWG,YAHkB,CAAhC;AAID,KALD,MAKO;AACL,WAAKb,WAAL,CAAiBZ,eAAe,CAACE,KAAjC;AACD;;AACD,QAAI,KAAKoB,KAAL,CAAWE,WAAf,EAA4B;AAC1B,YAAMI,IAAI,GACR,CAAC,KAAKN,KAAL,CAAWG,YAAX,IAA2B,CAA5B,KAAkC,KAAKH,KAAL,CAAWO,cAAX,IAA6B,CAA/D,CADF;AAEA,WAAKC,gBAAL,GAAwBH,UAAU,CAAC,KAAKI,mBAAN,EAA2BH,IAA3B,CAAlC;AACD;AACF,GAtCD,CAuCA;AACA;;;AACAI,EAAAA,iBAAiB,GAAG;AAClB,QAAI,KAAKV,KAAL,CAAWW,aAAf,EAA8B;AAC5B,WAAKb,eAAL,GACE,KAAKA,eAAL,IACAO,UAAU,CAAC,MAAM;AACf,aAAKf,WAAL,CAAiBZ,eAAe,CAACG,aAAjC;AACA,aAAKiB,eAAL,GAAuB,IAAvB;AACD,OAHS,EAGP,KAAKE,KAAL,CAAWW,aAHJ,CAFZ;AAMD,KAPD,MAOO;AACL,WAAKrB,WAAL,CAAiBZ,eAAe,CAACG,aAAjC;AACD;AACF,GApDD,CAsDA;;;AACAkB,EAAAA,sBAAsB,GAAG;AACvBa,IAAAA,YAAY,CAAC,KAAKd,eAAN,CAAZ,CADuB,CACc;;AACrC,QAAI,KAAKE,KAAL,CAAWW,aAAf,EAA8B;AAC5B,WAAKb,eAAL,GAAuBO,UAAU,CAAC,MAAM;AACtC,YAAI,KAAKZ,KAAL,KAAef,eAAe,CAACC,YAAnC,EAAiD;AAC/C,eAAKW,WAAL,CAAiBZ,eAAe,CAACE,KAAjC;AACD;;AACD,aAAKU,WAAL,CAAiBZ,eAAe,CAACC,YAAjC;AACA,aAAKmB,eAAL,GAAuB,IAAvB;AACD,OANgC,EAM9B,KAAKE,KAAL,CAAWW,aANmB,CAAjC;AAOD,KARD,MAQO;AACL,UAAI,KAAKlB,KAAL,KAAef,eAAe,CAACC,YAAnC,EAAiD;AAC/C,aAAKW,WAAL,CAAiBZ,eAAe,CAACE,KAAjC;AACD;;AACD,WAAKU,WAAL,CAAiBZ,eAAe,CAACC,YAAjC;AACD;AACF;;AAEDkC,EAAAA,iBAAiB,GAAG;AAClB,SAAKC,KAAL;AACD,GA3ED,CA4EA;;;AACAA,EAAAA,KAAK,GAAG;AACN,SAAKjB,iBAAL,GAAyB,KAAzB;AACA,SAAKb,aAAL,GAAqB,IAArB;AACA4B,IAAAA,YAAY,CAAC,KAAKR,cAAN,CAAZ;AACAQ,IAAAA,YAAY,CAAC,KAAKd,eAAN,CAAZ;AACAc,IAAAA,YAAY,CAAC,KAAKJ,gBAAN,CAAZ;AACA,SAAKV,eAAL,GAAuB,IAAvB;AACA,SAAKU,gBAAL,GAAwB,IAAxB;AACA,SAAKJ,cAAL,GAAsB,IAAtB;AACD,GAtFD,CAwFA;;;AACAd,EAAAA,WAAW,CAACyB,QAAD,EAA2B;AAAA;;AACpC,QAAIA,QAAQ,KAAK,KAAKtB,KAAtB,EAA6B;AAC3B;AACA;AACD;;AACD,QAAIsB,QAAQ,KAAKrC,eAAe,CAACE,KAAjC,EAAwC;AAAA;;AACtC;AACA,oDAAKoB,KAAL,EAAWgB,SAAX;AACD,KAHD,MAGO,IAAID,QAAQ,KAAKrC,eAAe,CAACG,aAAjC,EAAgD;AAAA;;AACrD;AACA,oDAAKmB,KAAL,EAAWiB,UAAX;AACD,KAHM,MAGA,IAAIF,QAAQ,KAAKrC,eAAe,CAACC,YAAjC,EAA+C;AACpD;AACA,WAAKmC,KAAL;;AACA,UAAI,KAAKrB,KAAL,KAAef,eAAe,CAACE,KAAnC,EAA0C;AAAA;;AACxC;AACA,uDAAKoB,KAAL,EAAWiB,UAAX;AACD;AACF,KAlBmC,CAmBpC;;;AACA,kDAAKjB,KAAL,EAAWkB,aAAX,mGAA2B,KAAKzB,KAAhC,EAAuCsB,QAAvC,EApBoC,CAqBpC;;AACA,SAAKtB,KAAL,GAAasB,QAAb;AACD;;AAkDDI,EAAAA,oBAAoB,GAAG;AACrB;AACA,SAAKL,KAAL;AACD;;AAED7B,EAAAA,QAAQ,GAAG;AACT,QAAI,KAAKQ,KAAL,KAAef,eAAe,CAACG,aAAnC,EAAkD;AAChD;AACA,WAAKS,WAAL,CAAiBZ,eAAe,CAACE,KAAjC;AACD;AACF;;AAEDM,EAAAA,SAAS,GAAG;AACV;AACA0B,IAAAA,YAAY,CAAC,KAAKJ,gBAAN,CAAZ;AACA,SAAKA,gBAAL,GAAwB,IAAxB;;AACA,QAAI,KAAKf,KAAL,KAAef,eAAe,CAACE,KAAnC,EAA0C;AACxC,WAAK8B,iBAAL;AACD;AACF;;AAEDU,EAAAA,MAAM,GAAG;AAAA;;AACP,UAAMC,OAAO,WACV,OAAO,KAAKrB,KAAL,CAAWqB,OAAlB,KAA8B,QAA9B,GACG;AACEC,MAAAA,GAAG,EAAE,KAAKtB,KAAL,CAAWqB,OADlB;AAEEE,MAAAA,IAAI,EAAE,KAAKvB,KAAL,CAAWqB,OAFnB;AAGEG,MAAAA,MAAM,EAAE,KAAKxB,KAAL,CAAWqB,OAHrB;AAIEI,MAAAA,KAAK,EAAE,KAAKzB,KAAL,CAAWqB;AAJpB,KADH,GAOG,KAAKrB,KAAL,CAAWqB,OARJ,uCAQgBK,SAR7B;AAUA,UAAMC,SAAS,GAAG;AAChBC,MAAAA,UAAU,EAAE,KAAK5B,KAAL,CAAW4B,UAAX,KAA0B,KADtB;AAEhBC,MAAAA,kBAAkB,EAAE,KAAK7B,KAAL,CAAW6B,kBAFf;AAGhBC,MAAAA,iBAAiB,EAAE,KAAK9B,KAAL,CAAW8B,iBAHd;AAIhBC,MAAAA,iBAAiB,EAAE,KAAK/B,KAAL,CAAW+B,iBAJd;AAKhB;AACA;AACAC,MAAAA,kBAAkB,EAAE,KAAKhC,KAAL,CAAWgC,kBAPf;AAQhBC,MAAAA,oBAAoB,EAAE,KAAKjC,KAAL,CAAWiC,oBARjB;AAShBC,MAAAA,qBAAqB,EAAE,KAAKlC,KAAL,CAAWkC,qBATlB;AAUhBC,MAAAA,QAAQ,EAAE,KAAKnC,KAAL,CAAWmC,QAVL;AAWhBC,MAAAA,QAAQ,EAAE,KAAKpC,KAAL,CAAWoC;AAXL,KAAlB;AAcA,wBACE,oBAAC,UAAD;AACE,MAAA,KAAK,EAAE,KAAKpC,KAAL,CAAWqC,cADpB;AAEE,MAAA,oBAAoB,EAClB;AACA,WAAKrC,KAAL,CAAWsC,QAAX,GAAsBZ,SAAtB,GAAkC,KAAKa,oBAJ3C;AAME,MAAA,cAAc,EAAE,KAAKC,cANvB;AAOE,MAAA,OAAO,EAAEnB,OAPX;AAQE,MAAA,UAAU,EAAE,KAAKrB,KAAL,CAAWyC,UARzB;AASE,MAAA,qBAAqB,EAAE,KAAKzC,KAAL,CAAW0C,qBATpC;AAUE,MAAA,oBAAoB,EAAE,KAAK1C,KAAL,CAAW2C,oBAVnC;AAWE,MAAA,MAAM,EAAE,KAAK3C,KAAL,CAAW4C,MAXrB;AAYE,MAAA,kBAAkB,2BAAE,KAAK5C,KAAL,CAAW6C,kBAAb,yEAAmC,KAZvD;AAaE,MAAA,OAAO,EAAE,CAAC,KAAK7C,KAAL,CAAWsC;AAbvB,OAcM,KAAKtC,KAAL,CAAW8C,gBAdjB,gBAeE,oBAAC,QAAD,CAAU,IAAV,eAAmBnB,SAAnB;AAA8B,MAAA,KAAK,EAAE,KAAK3B,KAAL,CAAW+C;AAAhD,QACG,KAAK/C,KAAL,CAAWgD,QADd,CAfF,CADF;AAqBD;;AArOD;;gBAFmBlE,gB,kBAGG;AACpByB,EAAAA,cAAc,EAAE,GADI;AAEpBuC,EAAAA,gBAAgB,EAAE;AAChBG,IAAAA,WAAW,EAAE,aADG;AAEhBC,IAAAA,SAAS,EAAE;AAFK;AAFE,C","sourcesContent":["import * as React from 'react';\nimport { Component } from 'react';\nimport { Animated, Platform } from 'react-native';\n\nimport { State } from '../../State';\nimport { BaseButton } from '../GestureButtons';\n\nimport {\n GestureEvent,\n HandlerStateChangeEvent,\n} from '../../handlers/gestureHandlerCommon';\nimport type { NativeViewGestureHandlerPayload } from '../../handlers/GestureHandlerEventPayload';\nimport type { GenericTouchableProps } from './GenericTouchableProps';\n\n/**\n * Each touchable is a states' machine which preforms transitions.\n * On very beginning (and on the very end or recognition) touchable is\n * UNDETERMINED. Then it moves to BEGAN. If touchable recognizes that finger\n * travel outside it transits to special MOVED_OUTSIDE state. Gesture recognition\n * finishes in UNDETERMINED state.\n */\nexport const TOUCHABLE_STATE = {\n UNDETERMINED: 0,\n BEGAN: 1,\n MOVED_OUTSIDE: 2,\n} as const;\n\ntype TouchableState = (typeof TOUCHABLE_STATE)[keyof typeof TOUCHABLE_STATE];\n\ninterface InternalProps {\n onStateChange?: (oldState: TouchableState, newState: TouchableState) => void;\n}\n\n// TODO: maybe can be better\n// TODO: all clearTimeout have ! added, maybe they shouldn't ?\ntype Timeout = ReturnType<typeof setTimeout> | null | undefined;\n\n/**\n * GenericTouchable is not intented to be used as it is.\n * Should be treated as a source for the rest of touchables\n */\n\nexport default class GenericTouchable extends Component<\n GenericTouchableProps & InternalProps\n> {\n static defaultProps = {\n delayLongPress: 600,\n extraButtonProps: {\n rippleColor: 'transparent',\n exclusive: true,\n },\n };\n\n // Timeout handlers\n pressInTimeout: Timeout;\n pressOutTimeout: Timeout;\n longPressTimeout: Timeout;\n\n // This flag is required since recognition of longPress implies not-invoking onPress\n longPressDetected = false;\n\n pointerInside = true;\n\n // State of touchable\n STATE: TouchableState = TOUCHABLE_STATE.UNDETERMINED;\n\n // handlePressIn in called on first touch on traveling inside component.\n // Handles state transition with delay.\n handlePressIn() {\n if (this.props.delayPressIn) {\n this.pressInTimeout = setTimeout(() => {\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n this.pressInTimeout = null;\n }, this.props.delayPressIn);\n } else {\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n }\n if (this.props.onLongPress) {\n const time =\n (this.props.delayPressIn || 0) + (this.props.delayLongPress || 0);\n this.longPressTimeout = setTimeout(this.onLongPressDetected, time);\n }\n }\n // handleMoveOutside in called on traveling outside component.\n // Handles state transition with delay.\n handleMoveOutside() {\n if (this.props.delayPressOut) {\n this.pressOutTimeout =\n this.pressOutTimeout ||\n setTimeout(() => {\n this.moveToState(TOUCHABLE_STATE.MOVED_OUTSIDE);\n this.pressOutTimeout = null;\n }, this.props.delayPressOut);\n } else {\n this.moveToState(TOUCHABLE_STATE.MOVED_OUTSIDE);\n }\n }\n\n // handleGoToUndetermined transits to UNDETERMINED state with proper delay\n handleGoToUndetermined() {\n clearTimeout(this.pressOutTimeout!); // TODO: maybe it can be undefined\n if (this.props.delayPressOut) {\n this.pressOutTimeout = setTimeout(() => {\n if (this.STATE === TOUCHABLE_STATE.UNDETERMINED) {\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n }\n this.moveToState(TOUCHABLE_STATE.UNDETERMINED);\n this.pressOutTimeout = null;\n }, this.props.delayPressOut);\n } else {\n if (this.STATE === TOUCHABLE_STATE.UNDETERMINED) {\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n }\n this.moveToState(TOUCHABLE_STATE.UNDETERMINED);\n }\n }\n\n componentDidMount() {\n this.reset();\n }\n // Reset timeout to prevent memory leaks.\n reset() {\n this.longPressDetected = false;\n this.pointerInside = true;\n clearTimeout(this.pressInTimeout!);\n clearTimeout(this.pressOutTimeout!);\n clearTimeout(this.longPressTimeout!);\n this.pressOutTimeout = null;\n this.longPressTimeout = null;\n this.pressInTimeout = null;\n }\n\n // All states' transitions are defined here.\n moveToState(newState: TouchableState) {\n if (newState === this.STATE) {\n // Ignore dummy transitions\n return;\n }\n if (newState === TOUCHABLE_STATE.BEGAN) {\n // First touch and moving inside\n this.props.onPressIn?.();\n } else if (newState === TOUCHABLE_STATE.MOVED_OUTSIDE) {\n // Moving outside\n this.props.onPressOut?.();\n } else if (newState === TOUCHABLE_STATE.UNDETERMINED) {\n // Need to reset each time on transition to UNDETERMINED\n this.reset();\n if (this.STATE === TOUCHABLE_STATE.BEGAN) {\n // ... and if it happens inside button.\n this.props.onPressOut?.();\n }\n }\n // Finally call lister (used by subclasses)\n this.props.onStateChange?.(this.STATE, newState);\n // ... and make transition.\n this.STATE = newState;\n }\n\n onGestureEvent = ({\n nativeEvent: { pointerInside },\n }: GestureEvent<NativeViewGestureHandlerPayload>) => {\n if (this.pointerInside !== pointerInside) {\n if (pointerInside) {\n this.onMoveIn();\n } else {\n this.onMoveOut();\n }\n }\n this.pointerInside = pointerInside;\n };\n\n onHandlerStateChange = ({\n nativeEvent,\n }: HandlerStateChangeEvent<NativeViewGestureHandlerPayload>) => {\n const { state } = nativeEvent;\n if (state === State.CANCELLED || state === State.FAILED) {\n // Need to handle case with external cancellation (e.g. by ScrollView)\n this.moveToState(TOUCHABLE_STATE.UNDETERMINED);\n } else if (\n // This platform check is an implication of slightly different behavior of handlers on different platform.\n // And Android \"Active\" state is achieving on first move of a finger, not on press in.\n // On iOS event on \"Began\" is not delivered.\n state === (Platform.OS !== 'android' ? State.ACTIVE : State.BEGAN) &&\n this.STATE === TOUCHABLE_STATE.UNDETERMINED\n ) {\n // Moving inside requires\n this.handlePressIn();\n } else if (state === State.END) {\n const shouldCallOnPress =\n !this.longPressDetected &&\n this.STATE !== TOUCHABLE_STATE.MOVED_OUTSIDE &&\n this.pressOutTimeout === null;\n this.handleGoToUndetermined();\n if (shouldCallOnPress) {\n // Calls only inside component whether no long press was called previously\n this.props.onPress?.();\n }\n }\n };\n\n onLongPressDetected = () => {\n this.longPressDetected = true;\n // Checked for in the caller of `onLongPressDetected`, but better to check twice\n this.props.onLongPress?.();\n };\n\n componentWillUnmount() {\n // To prevent memory leaks\n this.reset();\n }\n\n onMoveIn() {\n if (this.STATE === TOUCHABLE_STATE.MOVED_OUTSIDE) {\n // This call is not throttled with delays (like in RN's implementation).\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n }\n }\n\n onMoveOut() {\n // Long press should no longer be detected\n clearTimeout(this.longPressTimeout!);\n this.longPressTimeout = null;\n if (this.STATE === TOUCHABLE_STATE.BEGAN) {\n this.handleMoveOutside();\n }\n }\n\n render() {\n const hitSlop =\n (typeof this.props.hitSlop === 'number'\n ? {\n top: this.props.hitSlop,\n left: this.props.hitSlop,\n bottom: this.props.hitSlop,\n right: this.props.hitSlop,\n }\n : this.props.hitSlop) ?? undefined;\n\n const coreProps = {\n accessible: this.props.accessible !== false,\n accessibilityLabel: this.props.accessibilityLabel,\n accessibilityHint: this.props.accessibilityHint,\n accessibilityRole: this.props.accessibilityRole,\n // TODO: check if changed to no 's' correctly, also removed 2 props that are no longer available: `accessibilityComponentType` and `accessibilityTraits`,\n // would be good to check if it is ok for sure, see: https://github.com/facebook/react-native/issues/24016\n accessibilityState: this.props.accessibilityState,\n accessibilityActions: this.props.accessibilityActions,\n onAccessibilityAction: this.props.onAccessibilityAction,\n nativeID: this.props.nativeID,\n onLayout: this.props.onLayout,\n };\n\n return (\n <BaseButton\n style={this.props.containerStyle}\n onHandlerStateChange={\n // TODO: not sure if it can be undefined instead of null\n this.props.disabled ? undefined : this.onHandlerStateChange\n }\n onGestureEvent={this.onGestureEvent}\n hitSlop={hitSlop}\n userSelect={this.props.userSelect}\n shouldActivateOnStart={this.props.shouldActivateOnStart}\n disallowInterruption={this.props.disallowInterruption}\n testID={this.props.testID}\n touchSoundDisabled={this.props.touchSoundDisabled ?? false}\n enabled={!this.props.disabled}\n {...this.props.extraButtonProps}>\n <Animated.View {...coreProps} style={this.props.style}>\n {this.props.children}\n </Animated.View>\n </BaseButton>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["GenericTouchableProps.ts"],"sourcesContent":["import type {\n StyleProp,\n ViewStyle,\n TouchableWithoutFeedbackProps,\n Insets,\n} from 'react-native';\nimport type { UserSelect } from '../../handlers/gestureHandlerCommon';\n\nexport interface GenericTouchableProps\n extends Omit<TouchableWithoutFeedbackProps, 'hitSlop'> {\n // Decided to drop not used fields from RN's implementation.\n // e.g. onBlur and onFocus as well as deprecated props. - TODO: this comment may be unuseful in this moment\n // TODO: in RN these events get native event parameter, which prolly could be used in our implementation too\n onPress?: () => void;\n onPressIn?: () => void;\n onPressOut?: () => void;\n onLongPress?: () => void;\n\n nativeID?: string;\n shouldActivateOnStart?: boolean;\n disallowInterruption?: boolean;\n\n containerStyle?: StyleProp<ViewStyle>;\n hitSlop?: Insets | number;\n userSelect?: UserSelect;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -1,30 +1,28 @@
1
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
3
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
+
5
5
  import * as React from 'react';
6
6
  import { Component } from 'react';
7
7
  import GenericTouchable, { TOUCHABLE_STATE } from './GenericTouchable';
8
8
  import { StyleSheet, View } from 'react-native';
9
9
 
10
10
  /**
11
- * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler.
12
- */
13
-
14
- /**
15
- * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler.
11
+ * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler. Use Pressable instead.
16
12
  *
17
13
  * TouchableHighlight follows RN's implementation
18
14
  */
19
15
  export default class TouchableHighlight extends Component {
20
16
  constructor(props) {
21
17
  super(props);
22
- // Copied from RN
18
+
23
19
  _defineProperty(this, "showUnderlay", () => {
24
20
  var _this$props$onShowUnd, _this$props;
21
+
25
22
  if (!this.hasPressHandler()) {
26
23
  return;
27
24
  }
25
+
28
26
  this.setState({
29
27
  extraChildStyle: {
30
28
  opacity: this.props.activeOpacity
@@ -33,17 +31,21 @@ export default class TouchableHighlight extends Component {
33
31
  backgroundColor: this.props.underlayColor
34
32
  }
35
33
  });
36
- (_this$props$onShowUnd = (_this$props = this.props).onShowUnderlay) === null || _this$props$onShowUnd === void 0 || _this$props$onShowUnd.call(_this$props);
34
+ (_this$props$onShowUnd = (_this$props = this.props).onShowUnderlay) === null || _this$props$onShowUnd === void 0 ? void 0 : _this$props$onShowUnd.call(_this$props);
37
35
  });
36
+
38
37
  _defineProperty(this, "hasPressHandler", () => this.props.onPress || this.props.onPressIn || this.props.onPressOut || this.props.onLongPress);
38
+
39
39
  _defineProperty(this, "hideUnderlay", () => {
40
40
  var _this$props$onHideUnd, _this$props2;
41
+
41
42
  this.setState({
42
43
  extraChildStyle: null,
43
44
  extraUnderlayStyle: null
44
45
  });
45
- (_this$props$onHideUnd = (_this$props2 = this.props).onHideUnderlay) === null || _this$props$onHideUnd === void 0 || _this$props$onHideUnd.call(_this$props2);
46
+ (_this$props$onHideUnd = (_this$props2 = this.props).onHideUnderlay) === null || _this$props$onHideUnd === void 0 ? void 0 : _this$props$onHideUnd.call(_this$props2);
46
47
  });
48
+
47
49
  _defineProperty(this, "onStateChange", (_from, to) => {
48
50
  if (to === TOUCHABLE_STATE.BEGAN) {
49
51
  this.showUnderlay();
@@ -51,20 +53,26 @@ export default class TouchableHighlight extends Component {
51
53
  this.hideUnderlay();
52
54
  }
53
55
  });
56
+
54
57
  this.state = {
55
58
  extraChildStyle: null,
56
59
  extraUnderlayStyle: null
57
60
  };
58
- }
61
+ } // Copied from RN
62
+
63
+
59
64
  renderChildren() {
60
65
  if (!this.props.children) {
61
66
  return /*#__PURE__*/React.createElement(View, null);
62
67
  }
68
+
63
69
  const child = React.Children.only(this.props.children); // TODO: not sure if OK but fixes error
70
+
64
71
  return /*#__PURE__*/React.cloneElement(child, {
65
72
  style: StyleSheet.compose(child.props.style, this.state.extraChildStyle)
66
73
  });
67
74
  }
75
+
68
76
  render() {
69
77
  const {
70
78
  style = {},
@@ -78,9 +86,10 @@ export default class TouchableHighlight extends Component {
78
86
  onStateChange: this.onStateChange
79
87
  }), this.renderChildren());
80
88
  }
89
+
81
90
  }
82
- _defineProperty(TouchableHighlight, "defaultProps", {
83
- ...GenericTouchable.defaultProps,
91
+
92
+ _defineProperty(TouchableHighlight, "defaultProps", { ...GenericTouchable.defaultProps,
84
93
  activeOpacity: 0.85,
85
94
  delayPressOut: 100,
86
95
  underlayColor: 'black'
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","GenericTouchable","TOUCHABLE_STATE","StyleSheet","View","TouchableHighlight","constructor","props","_defineProperty","_this$props$onShowUnd","_this$props","hasPressHandler","setState","extraChildStyle","opacity","activeOpacity","extraUnderlayStyle","backgroundColor","underlayColor","onShowUnderlay","call","onPress","onPressIn","onPressOut","onLongPress","_this$props$onHideUnd","_this$props2","onHideUnderlay","_from","to","BEGAN","showUnderlay","UNDETERMINED","MOVED_OUTSIDE","hideUnderlay","state","renderChildren","children","createElement","child","Children","only","cloneElement","style","compose","render","rest","_extends","onStateChange","defaultProps","delayPressOut"],"sources":["TouchableHighlight.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component } from 'react';\nimport GenericTouchable, { TOUCHABLE_STATE } from './GenericTouchable';\nimport type { GenericTouchableProps } from './GenericTouchableProps';\nimport {\n StyleSheet,\n View,\n TouchableHighlightProps as RNTouchableHighlightProps,\n ColorValue,\n ViewProps,\n} from 'react-native';\n\ninterface State {\n extraChildStyle: null | {\n opacity?: number;\n };\n extraUnderlayStyle: null | {\n backgroundColor?: ColorValue;\n };\n}\n\n/**\n * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler.\n */\nexport type TouchableHighlightProps = RNTouchableHighlightProps &\n GenericTouchableProps;\n\n/**\n * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler.\n *\n * TouchableHighlight follows RN's implementation\n */\nexport default class TouchableHighlight extends Component<\n TouchableHighlightProps,\n State\n> {\n static defaultProps = {\n ...GenericTouchable.defaultProps,\n activeOpacity: 0.85,\n delayPressOut: 100,\n underlayColor: 'black',\n };\n\n constructor(props: TouchableHighlightProps) {\n super(props);\n this.state = {\n extraChildStyle: null,\n extraUnderlayStyle: null,\n };\n }\n\n // Copied from RN\n showUnderlay = () => {\n if (!this.hasPressHandler()) {\n return;\n }\n this.setState({\n extraChildStyle: {\n opacity: this.props.activeOpacity,\n },\n extraUnderlayStyle: {\n backgroundColor: this.props.underlayColor,\n },\n });\n this.props.onShowUnderlay?.();\n };\n\n hasPressHandler = () =>\n this.props.onPress ||\n this.props.onPressIn ||\n this.props.onPressOut ||\n this.props.onLongPress;\n\n hideUnderlay = () => {\n this.setState({\n extraChildStyle: null,\n extraUnderlayStyle: null,\n });\n this.props.onHideUnderlay?.();\n };\n\n renderChildren() {\n if (!this.props.children) {\n return <View />;\n }\n\n const child = React.Children.only(\n this.props.children\n ) as React.ReactElement<ViewProps>; // TODO: not sure if OK but fixes error\n return React.cloneElement(child, {\n style: StyleSheet.compose(child.props.style, this.state.extraChildStyle),\n });\n }\n\n onStateChange = (_from: number, to: number) => {\n if (to === TOUCHABLE_STATE.BEGAN) {\n this.showUnderlay();\n } else if (\n to === TOUCHABLE_STATE.UNDETERMINED ||\n to === TOUCHABLE_STATE.MOVED_OUTSIDE\n ) {\n this.hideUnderlay();\n }\n };\n\n render() {\n const { style = {}, ...rest } = this.props;\n const { extraUnderlayStyle } = this.state;\n return (\n <GenericTouchable\n {...rest}\n style={[style, extraUnderlayStyle]}\n onStateChange={this.onStateChange}>\n {this.renderChildren()}\n </GenericTouchable>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["TouchableHighlight.tsx"],"names":["React","Component","GenericTouchable","TOUCHABLE_STATE","StyleSheet","View","TouchableHighlight","constructor","props","hasPressHandler","setState","extraChildStyle","opacity","activeOpacity","extraUnderlayStyle","backgroundColor","underlayColor","onShowUnderlay","onPress","onPressIn","onPressOut","onLongPress","onHideUnderlay","_from","to","BEGAN","showUnderlay","UNDETERMINED","MOVED_OUTSIDE","hideUnderlay","state","renderChildren","children","child","Children","only","cloneElement","style","compose","render","rest","onStateChange","defaultProps","delayPressOut"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,SAAT,QAA0B,OAA1B;AACA,OAAOC,gBAAP,IAA2BC,eAA3B,QAAkD,oBAAlD;AAEA,SACEC,UADF,EAEEC,IAFF,QAMO,cANP;;AAuBA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAMC,kBAAN,SAAiCL,SAAjC,CAGb;AAQAM,EAAAA,WAAW,CAACC,KAAD,EAAiC;AAC1C,UAAMA,KAAN;;AAD0C,0CAS7B,MAAM;AAAA;;AACnB,UAAI,CAAC,KAAKC,eAAL,EAAL,EAA6B;AAC3B;AACD;;AACD,WAAKC,QAAL,CAAc;AACZC,QAAAA,eAAe,EAAE;AACfC,UAAAA,OAAO,EAAE,KAAKJ,KAAL,CAAWK;AADL,SADL;AAIZC,QAAAA,kBAAkB,EAAE;AAClBC,UAAAA,eAAe,EAAE,KAAKP,KAAL,CAAWQ;AADV;AAJR,OAAd;AAQA,mDAAKR,KAAL,EAAWS,cAAX;AACD,KAtB2C;;AAAA,6CAwB1B,MAChB,KAAKT,KAAL,CAAWU,OAAX,IACA,KAAKV,KAAL,CAAWW,SADX,IAEA,KAAKX,KAAL,CAAWY,UAFX,IAGA,KAAKZ,KAAL,CAAWa,WA5B+B;;AAAA,0CA8B7B,MAAM;AAAA;;AACnB,WAAKX,QAAL,CAAc;AACZC,QAAAA,eAAe,EAAE,IADL;AAEZG,QAAAA,kBAAkB,EAAE;AAFR,OAAd;AAIA,oDAAKN,KAAL,EAAWc,cAAX;AACD,KApC2C;;AAAA,2CAmD5B,CAACC,KAAD,EAAgBC,EAAhB,KAA+B;AAC7C,UAAIA,EAAE,KAAKrB,eAAe,CAACsB,KAA3B,EAAkC;AAChC,aAAKC,YAAL;AACD,OAFD,MAEO,IACLF,EAAE,KAAKrB,eAAe,CAACwB,YAAvB,IACAH,EAAE,KAAKrB,eAAe,CAACyB,aAFlB,EAGL;AACA,aAAKC,YAAL;AACD;AACF,KA5D2C;;AAE1C,SAAKC,KAAL,GAAa;AACXnB,MAAAA,eAAe,EAAE,IADN;AAEXG,MAAAA,kBAAkB,EAAE;AAFT,KAAb;AAID,GAdD,CAgBA;;;AA8BAiB,EAAAA,cAAc,GAAG;AACf,QAAI,CAAC,KAAKvB,KAAL,CAAWwB,QAAhB,EAA0B;AACxB,0BAAO,oBAAC,IAAD,OAAP;AACD;;AAED,UAAMC,KAAK,GAAGjC,KAAK,CAACkC,QAAN,CAAeC,IAAf,CACZ,KAAK3B,KAAL,CAAWwB,QADC,CAAd,CALe,CAOqB;;AACpC,wBAAOhC,KAAK,CAACoC,YAAN,CAAmBH,KAAnB,EAA0B;AAC/BI,MAAAA,KAAK,EAAEjC,UAAU,CAACkC,OAAX,CAAmBL,KAAK,CAACzB,KAAN,CAAY6B,KAA/B,EAAsC,KAAKP,KAAL,CAAWnB,eAAjD;AADwB,KAA1B,CAAP;AAGD;;AAaD4B,EAAAA,MAAM,GAAG;AACP,UAAM;AAAEF,MAAAA,KAAK,GAAG,EAAV;AAAc,SAAGG;AAAjB,QAA0B,KAAKhC,KAArC;AACA,UAAM;AAAEM,MAAAA;AAAF,QAAyB,KAAKgB,KAApC;AACA,wBACE,oBAAC,gBAAD,eACMU,IADN;AAEE,MAAA,KAAK,EAAE,CAACH,KAAD,EAAQvB,kBAAR,CAFT;AAGE,MAAA,aAAa,EAAE,KAAK2B;AAHtB,QAIG,KAAKV,cAAL,EAJH,CADF;AAQD;;AAjFD;;gBAHmBzB,kB,kBAIG,EACpB,GAAGJ,gBAAgB,CAACwC,YADA;AAEpB7B,EAAAA,aAAa,EAAE,IAFK;AAGpB8B,EAAAA,aAAa,EAAE,GAHK;AAIpB3B,EAAAA,aAAa,EAAE;AAJK,C","sourcesContent":["import * as React from 'react';\nimport { Component } from 'react';\nimport GenericTouchable, { TOUCHABLE_STATE } from './GenericTouchable';\nimport type { GenericTouchableProps } from './GenericTouchableProps';\nimport {\n StyleSheet,\n View,\n TouchableHighlightProps as RNTouchableHighlightProps,\n ColorValue,\n ViewProps,\n} from 'react-native';\n\ninterface State {\n extraChildStyle: null | {\n opacity?: number;\n };\n extraUnderlayStyle: null | {\n backgroundColor?: ColorValue;\n };\n}\n\n/**\n * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler. Use Pressable instead.\n */\nexport type TouchableHighlightProps = RNTouchableHighlightProps &\n GenericTouchableProps;\n\n/**\n * @deprecated TouchableHighlight will be removed in the future version of Gesture Handler. Use Pressable instead.\n *\n * TouchableHighlight follows RN's implementation\n */\nexport default class TouchableHighlight extends Component<\n TouchableHighlightProps,\n State\n> {\n static defaultProps = {\n ...GenericTouchable.defaultProps,\n activeOpacity: 0.85,\n delayPressOut: 100,\n underlayColor: 'black',\n };\n\n constructor(props: TouchableHighlightProps) {\n super(props);\n this.state = {\n extraChildStyle: null,\n extraUnderlayStyle: null,\n };\n }\n\n // Copied from RN\n showUnderlay = () => {\n if (!this.hasPressHandler()) {\n return;\n }\n this.setState({\n extraChildStyle: {\n opacity: this.props.activeOpacity,\n },\n extraUnderlayStyle: {\n backgroundColor: this.props.underlayColor,\n },\n });\n this.props.onShowUnderlay?.();\n };\n\n hasPressHandler = () =>\n this.props.onPress ||\n this.props.onPressIn ||\n this.props.onPressOut ||\n this.props.onLongPress;\n\n hideUnderlay = () => {\n this.setState({\n extraChildStyle: null,\n extraUnderlayStyle: null,\n });\n this.props.onHideUnderlay?.();\n };\n\n renderChildren() {\n if (!this.props.children) {\n return <View />;\n }\n\n const child = React.Children.only(\n this.props.children\n ) as React.ReactElement<ViewProps>; // TODO: not sure if OK but fixes error\n return React.cloneElement(child, {\n style: StyleSheet.compose(child.props.style, this.state.extraChildStyle),\n });\n }\n\n onStateChange = (_from: number, to: number) => {\n if (to === TOUCHABLE_STATE.BEGAN) {\n this.showUnderlay();\n } else if (\n to === TOUCHABLE_STATE.UNDETERMINED ||\n to === TOUCHABLE_STATE.MOVED_OUTSIDE\n ) {\n this.hideUnderlay();\n }\n };\n\n render() {\n const { style = {}, ...rest } = this.props;\n const { extraUnderlayStyle } = this.state;\n return (\n <GenericTouchable\n {...rest}\n style={[style, extraUnderlayStyle]}\n onStateChange={this.onStateChange}>\n {this.renderChildren()}\n </GenericTouchable>\n );\n }\n}\n"]}
@@ -1,13 +1,14 @@
1
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
3
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
+
5
5
  import { Platform } from 'react-native';
6
6
  import * as React from 'react';
7
7
  import { Component } from 'react';
8
8
  import GenericTouchable from './GenericTouchable';
9
+
9
10
  /**
10
- * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler.
11
+ * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
11
12
  *
12
13
  * TouchableNativeFeedback behaves slightly different than RN's TouchableNativeFeedback.
13
14
  * There's small difference with handling long press ripple since RN's implementation calls
@@ -15,11 +16,13 @@ import GenericTouchable from './GenericTouchable';
15
16
  * it follows native behaviours.
16
17
  */
17
18
  export default class TouchableNativeFeedback extends Component {
19
+ // Could be taken as RNTouchableNativeFeedback.SelectableBackground etc. but the API may change
18
20
  getExtraButtonProps() {
19
21
  const extraProps = {};
20
22
  const {
21
23
  background
22
24
  } = this.props;
25
+
23
26
  if (background) {
24
27
  // I changed type values to match those used in RN
25
28
  // 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
@@ -28,13 +31,16 @@ export default class TouchableNativeFeedback extends Component {
28
31
  extraProps['rippleColor'] = background.color;
29
32
  } else if (background.type === 'ThemeAttrAndroid') {
30
33
  extraProps['borderless'] = background.attribute === 'selectableItemBackgroundBorderless';
31
- }
32
- // I moved it from above since it should be available in all options
34
+ } // I moved it from above since it should be available in all options
35
+
36
+
33
37
  extraProps['rippleRadius'] = background.rippleRadius;
34
38
  }
39
+
35
40
  extraProps['foreground'] = this.props.useForeground;
36
41
  return extraProps;
37
42
  }
43
+
38
44
  render() {
39
45
  const {
40
46
  style = {},
@@ -45,32 +51,36 @@ export default class TouchableNativeFeedback extends Component {
45
51
  extraButtonProps: this.getExtraButtonProps()
46
52
  }));
47
53
  }
54
+
48
55
  }
49
- _defineProperty(TouchableNativeFeedback, "defaultProps", {
50
- ...GenericTouchable.defaultProps,
56
+
57
+ _defineProperty(TouchableNativeFeedback, "defaultProps", { ...GenericTouchable.defaultProps,
51
58
  useForeground: true,
52
59
  extraButtonProps: {
53
60
  // Disable hiding ripple on Android
54
61
  rippleColor: null
55
62
  }
56
63
  });
57
- // Could be taken as RNTouchableNativeFeedback.SelectableBackground etc. but the API may change
64
+
58
65
  _defineProperty(TouchableNativeFeedback, "SelectableBackground", rippleRadius => ({
59
66
  type: 'ThemeAttrAndroid',
60
67
  // I added `attribute` prop to clone the implementation of RN and be able to use only 2 types
61
68
  attribute: 'selectableItemBackground',
62
69
  rippleRadius
63
70
  }));
71
+
64
72
  _defineProperty(TouchableNativeFeedback, "SelectableBackgroundBorderless", rippleRadius => ({
65
73
  type: 'ThemeAttrAndroid',
66
74
  attribute: 'selectableItemBackgroundBorderless',
67
75
  rippleRadius
68
76
  }));
77
+
69
78
  _defineProperty(TouchableNativeFeedback, "Ripple", (color, borderless, rippleRadius) => ({
70
79
  type: 'RippleAndroid',
71
80
  color,
72
81
  borderless,
73
82
  rippleRadius
74
83
  }));
84
+
75
85
  _defineProperty(TouchableNativeFeedback, "canUseNativeForeground", () => Platform.OS === 'android' && Platform.Version >= 23);
76
86
  //# sourceMappingURL=TouchableNativeFeedback.android.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","React","Component","GenericTouchable","TouchableNativeFeedback","getExtraButtonProps","extraProps","background","props","type","borderless","color","attribute","rippleRadius","useForeground","render","style","rest","createElement","_extends","extraButtonProps","_defineProperty","defaultProps","rippleColor","OS","Version"],"sources":["TouchableNativeFeedback.android.tsx"],"sourcesContent":["import { Platform, ColorValue } from 'react-native';\nimport * as React from 'react';\nimport { Component } from 'react';\nimport GenericTouchable from './GenericTouchable';\nimport {\n TouchableNativeFeedbackProps,\n TouchableNativeFeedbackExtraProps,\n} from './TouchableNativeFeedbackProps';\n\n/**\n * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler.\n *\n * TouchableNativeFeedback behaves slightly different than RN's TouchableNativeFeedback.\n * There's small difference with handling long press ripple since RN's implementation calls\n * ripple animation via bridge. This solution leaves all animations' handling for native components so\n * it follows native behaviours.\n */\nexport default class TouchableNativeFeedback extends Component<TouchableNativeFeedbackProps> {\n static defaultProps = {\n ...GenericTouchable.defaultProps,\n useForeground: true,\n extraButtonProps: {\n // Disable hiding ripple on Android\n rippleColor: null,\n },\n };\n\n // Could be taken as RNTouchableNativeFeedback.SelectableBackground etc. but the API may change\n static SelectableBackground = (rippleRadius?: number) => ({\n type: 'ThemeAttrAndroid',\n // I added `attribute` prop to clone the implementation of RN and be able to use only 2 types\n attribute: 'selectableItemBackground',\n rippleRadius,\n });\n static SelectableBackgroundBorderless = (rippleRadius?: number) => ({\n type: 'ThemeAttrAndroid',\n attribute: 'selectableItemBackgroundBorderless',\n rippleRadius,\n });\n static Ripple = (\n color: ColorValue,\n borderless: boolean,\n rippleRadius?: number\n ) => ({\n type: 'RippleAndroid',\n color,\n borderless,\n rippleRadius,\n });\n\n static canUseNativeForeground = () =>\n Platform.OS === 'android' && Platform.Version >= 23;\n\n getExtraButtonProps() {\n const extraProps: TouchableNativeFeedbackExtraProps = {};\n const { background } = this.props;\n if (background) {\n // I changed type values to match those used in RN\n // 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\n if (background.type === 'RippleAndroid') {\n extraProps['borderless'] = background.borderless;\n extraProps['rippleColor'] = background.color;\n } else if (background.type === 'ThemeAttrAndroid') {\n extraProps['borderless'] =\n background.attribute === 'selectableItemBackgroundBorderless';\n }\n // I moved it from above since it should be available in all options\n extraProps['rippleRadius'] = background.rippleRadius;\n }\n extraProps['foreground'] = this.props.useForeground;\n return extraProps;\n }\n render() {\n const { style = {}, ...rest } = this.props;\n return (\n <GenericTouchable\n {...rest}\n style={style}\n extraButtonProps={this.getExtraButtonProps()}\n />\n );\n }\n}\n"],"mappings":";;;;AAAA,SAASA,QAAQ,QAAoB,cAAc;AACnD,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,SAAS,QAAQ,OAAO;AACjC,OAAOC,gBAAgB,MAAM,oBAAoB;AAMjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAMC,uBAAuB,SAASF,SAAS,CAA+B;EAoC3FG,mBAAmBA,CAAA,EAAG;IACpB,MAAMC,UAA6C,GAAG,CAAC,CAAC;IACxD,MAAM;MAAEC;IAAW,CAAC,GAAG,IAAI,CAACC,KAAK;IACjC,IAAID,UAAU,EAAE;MACd;MACA;MACA,IAAIA,UAAU,CAACE,IAAI,KAAK,eAAe,EAAE;QACvCH,UAAU,CAAC,YAAY,CAAC,GAAGC,UAAU,CAACG,UAAU;QAChDJ,UAAU,CAAC,aAAa,CAAC,GAAGC,UAAU,CAACI,KAAK;MAC9C,CAAC,MAAM,IAAIJ,UAAU,CAACE,IAAI,KAAK,kBAAkB,EAAE;QACjDH,UAAU,CAAC,YAAY,CAAC,GACtBC,UAAU,CAACK,SAAS,KAAK,oCAAoC;MACjE;MACA;MACAN,UAAU,CAAC,cAAc,CAAC,GAAGC,UAAU,CAACM,YAAY;IACtD;IACAP,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAACE,KAAK,CAACM,aAAa;IACnD,OAAOR,UAAU;EACnB;EACAS,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK,GAAG,CAAC,CAAC;MAAE,GAAGC;IAAK,CAAC,GAAG,IAAI,CAACT,KAAK;IAC1C,oBACEP,KAAA,CAAAiB,aAAA,CAACf,gBAAgB,EAAAgB,QAAA,KACXF,IAAI;MACRD,KAAK,EAAEA,KAAM;MACbI,gBAAgB,EAAE,IAAI,CAACf,mBAAmB,CAAC;IAAE,EAC9C,CAAC;EAEN;AACF;AAACgB,eAAA,CAjEoBjB,uBAAuB,kBACpB;EACpB,GAAGD,gBAAgB,CAACmB,YAAY;EAChCR,aAAa,EAAE,IAAI;EACnBM,gBAAgB,EAAE;IAChB;IACAG,WAAW,EAAE;EACf;AACF,CAAC;AAED;AAAAF,eAAA,CAVmBjB,uBAAuB,0BAWXS,YAAqB,KAAM;EACxDJ,IAAI,EAAE,kBAAkB;EACxB;EACAG,SAAS,EAAE,0BAA0B;EACrCC;AACF,CAAC,CAAC;AAAAQ,eAAA,CAhBiBjB,uBAAuB,oCAiBDS,YAAqB,KAAM;EAClEJ,IAAI,EAAE,kBAAkB;EACxBG,SAAS,EAAE,oCAAoC;EAC/CC;AACF,CAAC,CAAC;AAAAQ,eAAA,CArBiBjB,uBAAuB,YAsB1B,CACdO,KAAiB,EACjBD,UAAmB,EACnBG,YAAqB,MACjB;EACJJ,IAAI,EAAE,eAAe;EACrBE,KAAK;EACLD,UAAU;EACVG;AACF,CAAC,CAAC;AAAAQ,eAAA,CA/BiBjB,uBAAuB,4BAiCV,MAC9BJ,QAAQ,CAACwB,EAAE,KAAK,SAAS,IAAIxB,QAAQ,CAACyB,OAAO,IAAI,EAAE","ignoreList":[]}
1
+ {"version":3,"sources":["TouchableNativeFeedback.android.tsx"],"names":["Platform","React","Component","GenericTouchable","TouchableNativeFeedback","getExtraButtonProps","extraProps","background","props","type","borderless","color","attribute","rippleRadius","useForeground","render","style","rest","defaultProps","extraButtonProps","rippleColor","OS","Version"],"mappings":";;;;AAAA,SAASA,QAAT,QAAqC,cAArC;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,SAASC,SAAT,QAA0B,OAA1B;AACA,OAAOC,gBAAP,MAA6B,oBAA7B;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAMC,uBAAN,SAAsCF,SAAtC,CAA8E;AAU3F;AA0BAG,EAAAA,mBAAmB,GAAG;AACpB,UAAMC,UAA6C,GAAG,EAAtD;AACA,UAAM;AAAEC,MAAAA;AAAF,QAAiB,KAAKC,KAA5B;;AACA,QAAID,UAAJ,EAAgB;AACd;AACA;AACA,UAAIA,UAAU,CAACE,IAAX,KAAoB,eAAxB,EAAyC;AACvCH,QAAAA,UAAU,CAAC,YAAD,CAAV,GAA2BC,UAAU,CAACG,UAAtC;AACAJ,QAAAA,UAAU,CAAC,aAAD,CAAV,GAA4BC,UAAU,CAACI,KAAvC;AACD,OAHD,MAGO,IAAIJ,UAAU,CAACE,IAAX,KAAoB,kBAAxB,EAA4C;AACjDH,QAAAA,UAAU,CAAC,YAAD,CAAV,GACEC,UAAU,CAACK,SAAX,KAAyB,oCAD3B;AAED,OATa,CAUd;;;AACAN,MAAAA,UAAU,CAAC,cAAD,CAAV,GAA6BC,UAAU,CAACM,YAAxC;AACD;;AACDP,IAAAA,UAAU,CAAC,YAAD,CAAV,GAA2B,KAAKE,KAAL,CAAWM,aAAtC;AACA,WAAOR,UAAP;AACD;;AACDS,EAAAA,MAAM,GAAG;AACP,UAAM;AAAEC,MAAAA,KAAK,GAAG,EAAV;AAAc,SAAGC;AAAjB,QAA0B,KAAKT,KAArC;AACA,wBACE,oBAAC,gBAAD,eACMS,IADN;AAEE,MAAA,KAAK,EAAED,KAFT;AAGE,MAAA,gBAAgB,EAAE,KAAKX,mBAAL;AAHpB,OADF;AAOD;;AAhE0F;;gBAAxED,uB,kBACG,EACpB,GAAGD,gBAAgB,CAACe,YADA;AAEpBJ,EAAAA,aAAa,EAAE,IAFK;AAGpBK,EAAAA,gBAAgB,EAAE;AAChB;AACAC,IAAAA,WAAW,EAAE;AAFG;AAHE,C;;gBADHhB,uB,0BAWYS,YAAD,KAA4B;AACxDJ,EAAAA,IAAI,EAAE,kBADkD;AAExD;AACAG,EAAAA,SAAS,EAAE,0BAH6C;AAIxDC,EAAAA;AAJwD,CAA5B,C;;gBAXXT,uB,oCAiBsBS,YAAD,KAA4B;AAClEJ,EAAAA,IAAI,EAAE,kBAD4D;AAElEG,EAAAA,SAAS,EAAE,oCAFuD;AAGlEC,EAAAA;AAHkE,CAA5B,C;;gBAjBrBT,uB,YAsBH,CACdO,KADc,EAEdD,UAFc,EAGdG,YAHc,MAIV;AACJJ,EAAAA,IAAI,EAAE,eADF;AAEJE,EAAAA,KAFI;AAGJD,EAAAA,UAHI;AAIJG,EAAAA;AAJI,CAJU,C;;gBAtBGT,uB,4BAiCa,MAC9BJ,QAAQ,CAACqB,EAAT,KAAgB,SAAhB,IAA6BrB,QAAQ,CAACsB,OAAT,IAAoB,E","sourcesContent":["import { Platform, ColorValue } from 'react-native';\nimport * as React from 'react';\nimport { Component } from 'react';\nimport GenericTouchable from './GenericTouchable';\nimport {\n TouchableNativeFeedbackProps,\n TouchableNativeFeedbackExtraProps,\n} from './TouchableNativeFeedbackProps';\n\n/**\n * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.\n *\n * TouchableNativeFeedback behaves slightly different than RN's TouchableNativeFeedback.\n * There's small difference with handling long press ripple since RN's implementation calls\n * ripple animation via bridge. This solution leaves all animations' handling for native components so\n * it follows native behaviours.\n */\nexport default class TouchableNativeFeedback extends Component<TouchableNativeFeedbackProps> {\n static defaultProps = {\n ...GenericTouchable.defaultProps,\n useForeground: true,\n extraButtonProps: {\n // Disable hiding ripple on Android\n rippleColor: null,\n },\n };\n\n // Could be taken as RNTouchableNativeFeedback.SelectableBackground etc. but the API may change\n static SelectableBackground = (rippleRadius?: number) => ({\n type: 'ThemeAttrAndroid',\n // I added `attribute` prop to clone the implementation of RN and be able to use only 2 types\n attribute: 'selectableItemBackground',\n rippleRadius,\n });\n static SelectableBackgroundBorderless = (rippleRadius?: number) => ({\n type: 'ThemeAttrAndroid',\n attribute: 'selectableItemBackgroundBorderless',\n rippleRadius,\n });\n static Ripple = (\n color: ColorValue,\n borderless: boolean,\n rippleRadius?: number\n ) => ({\n type: 'RippleAndroid',\n color,\n borderless,\n rippleRadius,\n });\n\n static canUseNativeForeground = () =>\n Platform.OS === 'android' && Platform.Version >= 23;\n\n getExtraButtonProps() {\n const extraProps: TouchableNativeFeedbackExtraProps = {};\n const { background } = this.props;\n if (background) {\n // I changed type values to match those used in RN\n // 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\n if (background.type === 'RippleAndroid') {\n extraProps['borderless'] = background.borderless;\n extraProps['rippleColor'] = background.color;\n } else if (background.type === 'ThemeAttrAndroid') {\n extraProps['borderless'] =\n background.attribute === 'selectableItemBackgroundBorderless';\n }\n // I moved it from above since it should be available in all options\n extraProps['rippleRadius'] = background.rippleRadius;\n }\n extraProps['foreground'] = this.props.useForeground;\n return extraProps;\n }\n render() {\n const { style = {}, ...rest } = this.props;\n return (\n <GenericTouchable\n {...rest}\n style={style}\n extraButtonProps={this.getExtraButtonProps()}\n />\n );\n }\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  import { TouchableNativeFeedback as RNTouchableNativeFeedback } from 'react-native';
2
-
3
2
  /**
4
- * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler.
3
+ * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.
5
4
  */
5
+
6
6
  const TouchableNativeFeedback = RNTouchableNativeFeedback;
7
7
  export default TouchableNativeFeedback;
8
8
  //# sourceMappingURL=TouchableNativeFeedback.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TouchableNativeFeedback","RNTouchableNativeFeedback"],"sources":["TouchableNativeFeedback.tsx"],"sourcesContent":["import { TouchableNativeFeedback as RNTouchableNativeFeedback } from 'react-native';\n\n/**\n * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler.\n */\nconst TouchableNativeFeedback = RNTouchableNativeFeedback;\n\nexport default TouchableNativeFeedback;\n"],"mappings":"AAAA,SAASA,uBAAuB,IAAIC,yBAAyB,QAAQ,cAAc;;AAEnF;AACA;AACA;AACA,MAAMD,uBAAuB,GAAGC,yBAAyB;AAEzD,eAAeD,uBAAuB","ignoreList":[]}
1
+ {"version":3,"sources":["TouchableNativeFeedback.tsx"],"names":["TouchableNativeFeedback","RNTouchableNativeFeedback"],"mappings":"AAAA,SAASA,uBAAuB,IAAIC,yBAApC,QAAqE,cAArE;AAEA;AACA;AACA;;AACA,MAAMD,uBAAuB,GAAGC,yBAAhC;AAEA,eAAeD,uBAAf","sourcesContent":["import { TouchableNativeFeedback as RNTouchableNativeFeedback } from 'react-native';\n\n/**\n * @deprecated TouchableNativeFeedback will be removed in the future version of Gesture Handler. Use Pressable instead.\n */\nconst TouchableNativeFeedback = RNTouchableNativeFeedback;\n\nexport default TouchableNativeFeedback;\n"]}