react-native-gesture-handler 2.26.0 → 2.27.1

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 (415) hide show
  1. package/README.md +69 -0
  2. package/android/src/main/jni/CMakeLists.txt +7 -26
  3. package/lib/commonjs/components/Pressable/Pressable.js +139 -188
  4. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
  5. package/lib/commonjs/components/Pressable/StateMachine.js +38 -0
  6. package/lib/commonjs/components/Pressable/StateMachine.js.map +1 -0
  7. package/lib/commonjs/components/Pressable/stateDefinitions.js +88 -0
  8. package/lib/commonjs/components/Pressable/stateDefinitions.js.map +1 -0
  9. package/lib/commonjs/components/Pressable/utils.js +1 -1
  10. package/lib/commonjs/components/Pressable/utils.js.map +1 -1
  11. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +12 -0
  12. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
  13. package/lib/commonjs/handlers/gestures/gestureObjects.js +3 -1
  14. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
  15. package/lib/commonjs/web/detectors/RotationGestureDetector.js +3 -0
  16. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  17. package/lib/commonjs/web/handlers/FlingGestureHandler.js +3 -0
  18. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  19. package/lib/commonjs/web/handlers/GestureHandler.js +6 -6
  20. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  21. package/lib/commonjs/web/handlers/PanGestureHandler.js +24 -33
  22. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  23. package/lib/commonjs/web/handlers/TapGestureHandler.js +15 -17
  24. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  25. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +1 -1
  26. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  27. package/lib/commonjs/web/tools/PointerEventManager.js +1 -1
  28. package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
  29. package/lib/commonjs/web/tools/PointerTracker.js +12 -11
  30. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
  31. package/lib/commonjs/web/tools/Vector.js +1 -1
  32. package/lib/commonjs/web/tools/Vector.js.map +1 -1
  33. package/lib/module/components/Pressable/Pressable.js +141 -190
  34. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  35. package/lib/module/components/Pressable/StateMachine.js +34 -0
  36. package/lib/module/components/Pressable/StateMachine.js.map +1 -0
  37. package/lib/module/components/Pressable/stateDefinitions.js +83 -0
  38. package/lib/module/components/Pressable/stateDefinitions.js.map +1 -0
  39. package/lib/module/components/Pressable/utils.js +1 -1
  40. package/lib/module/components/Pressable/utils.js.map +1 -1
  41. package/lib/module/handlers/gestures/forceTouchGesture.js +13 -0
  42. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
  43. package/lib/module/handlers/gestures/gestureObjects.js +3 -1
  44. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
  45. package/lib/module/web/detectors/RotationGestureDetector.js +3 -0
  46. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  47. package/lib/module/web/handlers/FlingGestureHandler.js +3 -0
  48. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  49. package/lib/module/web/handlers/GestureHandler.js +6 -6
  50. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  51. package/lib/module/web/handlers/PanGestureHandler.js +24 -33
  52. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  53. package/lib/module/web/handlers/TapGestureHandler.js +15 -17
  54. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  55. package/lib/module/web/tools/GestureHandlerOrchestrator.js +1 -1
  56. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  57. package/lib/module/web/tools/PointerEventManager.js +1 -1
  58. package/lib/module/web/tools/PointerEventManager.js.map +1 -1
  59. package/lib/module/web/tools/PointerTracker.js +12 -11
  60. package/lib/module/web/tools/PointerTracker.js.map +1 -1
  61. package/lib/module/web/tools/Vector.js +1 -1
  62. package/lib/module/web/tools/Vector.js.map +1 -1
  63. package/lib/typescript/ActionType.d.ts +0 -1
  64. package/lib/typescript/ActionType.js +6 -0
  65. package/lib/typescript/Directions.d.ts +0 -1
  66. package/lib/typescript/Directions.js +18 -0
  67. package/lib/typescript/EnableNewWebImplementation.d.ts +0 -1
  68. package/lib/typescript/EnableNewWebImplementation.js +30 -0
  69. package/lib/typescript/GestureHandlerRootViewContext.d.ts +0 -1
  70. package/lib/typescript/GestureHandlerRootViewContext.js +2 -0
  71. package/lib/typescript/PlatformConstants.d.ts +0 -1
  72. package/lib/typescript/PlatformConstants.js +3 -0
  73. package/lib/typescript/PlatformConstants.web.d.ts +0 -1
  74. package/lib/typescript/PlatformConstants.web.js +5 -0
  75. package/lib/typescript/PointerType.d.ts +0 -1
  76. package/lib/typescript/PointerType.js +8 -0
  77. package/lib/typescript/RNGestureHandlerModule.d.ts +0 -1
  78. package/lib/typescript/RNGestureHandlerModule.js +4 -0
  79. package/lib/typescript/RNGestureHandlerModule.web.d.ts +0 -1
  80. package/lib/typescript/RNGestureHandlerModule.web.js +92 -0
  81. package/lib/typescript/RNGestureHandlerModule.windows.d.ts +0 -1
  82. package/lib/typescript/RNGestureHandlerModule.windows.js +47 -0
  83. package/lib/typescript/RNRenderer.d.ts +0 -1
  84. package/lib/typescript/RNRenderer.js +3 -0
  85. package/lib/typescript/RNRenderer.web.d.ts +0 -1
  86. package/lib/typescript/RNRenderer.web.js +3 -0
  87. package/lib/typescript/State.d.ts +0 -1
  88. package/lib/typescript/State.js +9 -0
  89. package/lib/typescript/TouchEventType.d.ts +0 -1
  90. package/lib/typescript/TouchEventType.js +7 -0
  91. package/lib/typescript/components/DrawerLayout.d.ts +0 -1
  92. package/lib/typescript/components/DrawerLayout.js +417 -0
  93. package/lib/typescript/components/GestureButtons.d.ts +0 -1
  94. package/lib/typescript/components/GestureButtons.js +165 -0
  95. package/lib/typescript/components/GestureButtonsProps.d.ts +0 -1
  96. package/lib/typescript/components/GestureButtonsProps.js +1 -0
  97. package/lib/typescript/components/GestureComponents.d.ts +0 -1
  98. package/lib/typescript/components/GestureComponents.js +67 -0
  99. package/lib/typescript/components/GestureComponents.web.d.ts +0 -1
  100. package/lib/typescript/components/GestureComponents.web.js +21 -0
  101. package/lib/typescript/components/GestureHandlerButton.d.ts +0 -1
  102. package/lib/typescript/components/GestureHandlerButton.js +2 -0
  103. package/lib/typescript/components/GestureHandlerButton.web.d.ts +0 -1
  104. package/lib/typescript/components/GestureHandlerButton.web.js +3 -0
  105. package/lib/typescript/components/GestureHandlerRootView.android.d.ts +0 -1
  106. package/lib/typescript/components/GestureHandlerRootView.android.js +17 -0
  107. package/lib/typescript/components/GestureHandlerRootView.d.ts +0 -1
  108. package/lib/typescript/components/GestureHandlerRootView.js +16 -0
  109. package/lib/typescript/components/GestureHandlerRootView.web.d.ts +0 -1
  110. package/lib/typescript/components/GestureHandlerRootView.web.js +11 -0
  111. package/lib/typescript/components/Pressable/Pressable.d.ts +1 -3
  112. package/lib/typescript/components/Pressable/Pressable.d.ts.map +1 -1
  113. package/lib/typescript/components/Pressable/Pressable.js +231 -0
  114. package/lib/typescript/components/Pressable/PressableProps.d.ts +15 -2
  115. package/lib/typescript/components/Pressable/PressableProps.d.ts.map +1 -1
  116. package/lib/typescript/components/Pressable/PressableProps.js +1 -0
  117. package/lib/typescript/components/Pressable/StateMachine.d.ts +14 -0
  118. package/lib/typescript/components/Pressable/StateMachine.d.ts.map +1 -0
  119. package/lib/typescript/components/Pressable/StateMachine.js +34 -0
  120. package/lib/typescript/components/Pressable/index.d.ts +0 -1
  121. package/lib/typescript/components/Pressable/index.js +1 -0
  122. package/lib/typescript/components/Pressable/stateDefinitions.d.ts +9 -0
  123. package/lib/typescript/components/Pressable/stateDefinitions.d.ts.map +1 -0
  124. package/lib/typescript/components/Pressable/stateDefinitions.js +104 -0
  125. package/lib/typescript/components/Pressable/utils.d.ts +3 -7
  126. package/lib/typescript/components/Pressable/utils.d.ts.map +1 -1
  127. package/lib/typescript/components/Pressable/utils.js +80 -0
  128. package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +0 -1
  129. package/lib/typescript/components/ReanimatedDrawerLayout.js +364 -0
  130. package/lib/typescript/components/ReanimatedSwipeable.d.ts +0 -1
  131. package/lib/typescript/components/ReanimatedSwipeable.js +400 -0
  132. package/lib/typescript/components/Swipeable.d.ts +0 -1
  133. package/lib/typescript/components/Swipeable.js +287 -0
  134. package/lib/typescript/components/Text.d.ts +0 -1
  135. package/lib/typescript/components/Text.js +38 -0
  136. package/lib/typescript/components/gestureHandlerRootHOC.d.ts +0 -1
  137. package/lib/typescript/components/gestureHandlerRootHOC.js +18 -0
  138. package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +0 -1
  139. package/lib/typescript/components/touchables/ExtraButtonProps.js +1 -0
  140. package/lib/typescript/components/touchables/GenericTouchable.d.ts +0 -1
  141. package/lib/typescript/components/touchables/GenericTouchable.js +221 -0
  142. package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +0 -1
  143. package/lib/typescript/components/touchables/GenericTouchableProps.js +1 -0
  144. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +0 -1
  145. package/lib/typescript/components/touchables/TouchableHighlight.js +75 -0
  146. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +0 -1
  147. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.js +65 -0
  148. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +0 -1
  149. package/lib/typescript/components/touchables/TouchableNativeFeedback.js +6 -0
  150. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +0 -1
  151. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.js +1 -0
  152. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +0 -1
  153. package/lib/typescript/components/touchables/TouchableOpacity.js +51 -0
  154. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +0 -1
  155. package/lib/typescript/components/touchables/TouchableWithoutFeedback.js +10 -0
  156. package/lib/typescript/components/touchables/index.d.ts +0 -1
  157. package/lib/typescript/components/touchables/index.js +4 -0
  158. package/lib/typescript/components/utils.d.ts +0 -1
  159. package/lib/typescript/components/utils.js +11 -0
  160. package/lib/typescript/findNodeHandle.d.ts +0 -1
  161. package/lib/typescript/findNodeHandle.js +2 -0
  162. package/lib/typescript/findNodeHandle.web.d.ts +0 -1
  163. package/lib/typescript/findNodeHandle.web.js +31 -0
  164. package/lib/typescript/getShadowNodeFromRef.d.ts +0 -1
  165. package/lib/typescript/getShadowNodeFromRef.js +45 -0
  166. package/lib/typescript/getShadowNodeFromRef.web.d.ts +0 -1
  167. package/lib/typescript/getShadowNodeFromRef.web.js +7 -0
  168. package/lib/typescript/ghQueueMicrotask.d.ts +0 -1
  169. package/lib/typescript/ghQueueMicrotask.js +7 -0
  170. package/lib/typescript/handlers/FlingGestureHandler.d.ts +0 -1
  171. package/lib/typescript/handlers/FlingGestureHandler.js +19 -0
  172. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +0 -1
  173. package/lib/typescript/handlers/ForceTouchGestureHandler.js +37 -0
  174. package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts +3 -1
  175. package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts.map +1 -1
  176. package/lib/typescript/handlers/GestureHandlerEventPayload.js +1 -0
  177. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +0 -1
  178. package/lib/typescript/handlers/LongPressGestureHandler.js +22 -0
  179. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +0 -1
  180. package/lib/typescript/handlers/NativeViewGestureHandler.js +20 -0
  181. package/lib/typescript/handlers/PanGestureHandler.d.ts +0 -1
  182. package/lib/typescript/handlers/PanGestureHandler.js +128 -0
  183. package/lib/typescript/handlers/PinchGestureHandler.d.ts +0 -1
  184. package/lib/typescript/handlers/PinchGestureHandler.js +12 -0
  185. package/lib/typescript/handlers/PressabilityDebugView.d.ts +0 -1
  186. package/lib/typescript/handlers/PressabilityDebugView.js +2 -0
  187. package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +0 -1
  188. package/lib/typescript/handlers/PressabilityDebugView.web.js +4 -0
  189. package/lib/typescript/handlers/RotationGestureHandler.d.ts +0 -1
  190. package/lib/typescript/handlers/RotationGestureHandler.js +12 -0
  191. package/lib/typescript/handlers/TapGestureHandler.d.ts +0 -1
  192. package/lib/typescript/handlers/TapGestureHandler.js +26 -0
  193. package/lib/typescript/handlers/createHandler.d.ts +0 -1
  194. package/lib/typescript/handlers/createHandler.js +375 -0
  195. package/lib/typescript/handlers/createNativeWrapper.d.ts +0 -1
  196. package/lib/typescript/handlers/createNativeWrapper.js +67 -0
  197. package/lib/typescript/handlers/customDirectEventTypes.d.ts +0 -1
  198. package/lib/typescript/handlers/customDirectEventTypes.js +2 -0
  199. package/lib/typescript/handlers/customDirectEventTypes.web.d.ts +0 -1
  200. package/lib/typescript/handlers/customDirectEventTypes.web.js +4 -0
  201. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +0 -1
  202. package/lib/typescript/handlers/gestureHandlerCommon.js +42 -0
  203. package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +9 -1
  204. package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts.map +1 -1
  205. package/lib/typescript/handlers/gestureHandlerTypesCompat.js +1 -0
  206. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.d.ts +0 -1
  207. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.js +22 -0
  208. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.d.ts +0 -1
  209. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.js +24 -0
  210. package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.d.ts +0 -1
  211. package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.js +55 -0
  212. package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.d.ts +0 -1
  213. package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.js +12 -0
  214. package/lib/typescript/handlers/gestures/GestureDetector/index.d.ts +0 -1
  215. package/lib/typescript/handlers/gestures/GestureDetector/index.js +114 -0
  216. package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.d.ts +0 -1
  217. package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.js +18 -0
  218. package/lib/typescript/handlers/gestures/GestureDetector/types.d.ts +0 -1
  219. package/lib/typescript/handlers/gestures/GestureDetector/types.js +1 -0
  220. package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.d.ts +0 -1
  221. package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.js +54 -0
  222. package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.d.ts +0 -1
  223. package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.js +137 -0
  224. package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.d.ts +0 -1
  225. package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.js +48 -0
  226. package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.d.ts +0 -1
  227. package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.js +35 -0
  228. package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.d.ts +0 -1
  229. package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.js +32 -0
  230. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +0 -1
  231. package/lib/typescript/handlers/gestures/GestureDetector/utils.js +140 -0
  232. package/lib/typescript/handlers/gestures/eventReceiver.d.ts +0 -1
  233. package/lib/typescript/handlers/gestures/eventReceiver.js +105 -0
  234. package/lib/typescript/handlers/gestures/flingGesture.d.ts +0 -1
  235. package/lib/typescript/handlers/gestures/flingGesture.js +27 -0
  236. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +9 -1
  237. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts.map +1 -1
  238. package/lib/typescript/handlers/gestures/forceTouchGesture.js +57 -0
  239. package/lib/typescript/handlers/gestures/gesture.d.ts +0 -1
  240. package/lib/typescript/handlers/gestures/gesture.js +303 -0
  241. package/lib/typescript/handlers/gestures/gestureComposition.d.ts +0 -1
  242. package/lib/typescript/handlers/gestures/gestureComposition.js +78 -0
  243. package/lib/typescript/handlers/gestures/gestureObjects.d.ts +3 -2
  244. package/lib/typescript/handlers/gestures/gestureObjects.d.ts.map +1 -1
  245. package/lib/typescript/handlers/gestures/gestureObjects.js +125 -0
  246. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +0 -1
  247. package/lib/typescript/handlers/gestures/gestureStateManager.js +60 -0
  248. package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +0 -1
  249. package/lib/typescript/handlers/gestures/gestureStateManager.web.js +19 -0
  250. package/lib/typescript/handlers/gestures/hoverGesture.d.ts +0 -1
  251. package/lib/typescript/handlers/gestures/hoverGesture.js +45 -0
  252. package/lib/typescript/handlers/gestures/longPressGesture.d.ts +0 -1
  253. package/lib/typescript/handlers/gestures/longPressGesture.js +35 -0
  254. package/lib/typescript/handlers/gestures/manualGesture.d.ts +0 -1
  255. package/lib/typescript/handlers/gestures/manualGesture.js +16 -0
  256. package/lib/typescript/handlers/gestures/nativeGesture.d.ts +0 -1
  257. package/lib/typescript/handlers/gestures/nativeGesture.js +24 -0
  258. package/lib/typescript/handlers/gestures/panGesture.d.ts +0 -1
  259. package/lib/typescript/handlers/gestures/panGesture.js +181 -0
  260. package/lib/typescript/handlers/gestures/pinchGesture.d.ts +0 -1
  261. package/lib/typescript/handlers/gestures/pinchGesture.js +27 -0
  262. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +0 -1
  263. package/lib/typescript/handlers/gestures/reanimatedWrapper.js +23 -0
  264. package/lib/typescript/handlers/gestures/rotationGesture.d.ts +0 -1
  265. package/lib/typescript/handlers/gestures/rotationGesture.js +27 -0
  266. package/lib/typescript/handlers/gestures/tapGesture.d.ts +0 -1
  267. package/lib/typescript/handlers/gestures/tapGesture.js +72 -0
  268. package/lib/typescript/handlers/getNextHandlerTag.d.ts +0 -1
  269. package/lib/typescript/handlers/getNextHandlerTag.js +4 -0
  270. package/lib/typescript/handlers/handlersRegistry.d.ts +0 -1
  271. package/lib/typescript/handlers/handlersRegistry.js +36 -0
  272. package/lib/typescript/handlers/utils.d.ts +0 -1
  273. package/lib/typescript/handlers/utils.js +58 -0
  274. package/lib/typescript/index.d.ts +0 -1
  275. package/lib/typescript/index.js +28 -0
  276. package/lib/typescript/init.d.ts +0 -1
  277. package/lib/typescript/init.js +15 -0
  278. package/lib/typescript/jestUtils/index.d.ts +0 -1
  279. package/lib/typescript/jestUtils/index.js +1 -0
  280. package/lib/typescript/jestUtils/jestUtils.d.ts +0 -1
  281. package/lib/typescript/jestUtils/jestUtils.js +290 -0
  282. package/lib/typescript/mocks.d.ts +0 -1
  283. package/lib/typescript/mocks.js +59 -0
  284. package/lib/typescript/mountRegistry.d.ts +0 -1
  285. package/lib/typescript/mountRegistry.js +29 -0
  286. package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +0 -1
  287. package/lib/typescript/specs/NativeRNGestureHandlerModule.js +2 -0
  288. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +0 -1
  289. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.js +2 -0
  290. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +0 -1
  291. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.js +2 -0
  292. package/lib/typescript/typeUtils.d.ts +0 -1
  293. package/lib/typescript/typeUtils.js +1 -0
  294. package/lib/typescript/utils.d.ts +0 -1
  295. package/lib/typescript/utils.js +80 -0
  296. package/lib/typescript/web/Gestures.d.ts +0 -1
  297. package/lib/typescript/web/Gestures.js +38 -0
  298. package/lib/typescript/web/constants.d.ts +0 -1
  299. package/lib/typescript/web/constants.js +2 -0
  300. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +0 -1
  301. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts.map +1 -1
  302. package/lib/typescript/web/detectors/RotationGestureDetector.js +122 -0
  303. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +0 -1
  304. package/lib/typescript/web/detectors/ScaleGestureDetector.js +117 -0
  305. package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +0 -1
  306. package/lib/typescript/web/handlers/FlingGestureHandler.d.ts.map +1 -1
  307. package/lib/typescript/web/handlers/FlingGestureHandler.js +133 -0
  308. package/lib/typescript/web/handlers/GestureHandler.d.ts +0 -1
  309. package/lib/typescript/web/handlers/GestureHandler.d.ts.map +1 -1
  310. package/lib/typescript/web/handlers/GestureHandler.js +656 -0
  311. package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +0 -1
  312. package/lib/typescript/web/handlers/HoverGestureHandler.js +37 -0
  313. package/lib/typescript/web/handlers/IGestureHandler.d.ts +0 -1
  314. package/lib/typescript/web/handlers/IGestureHandler.js +1 -0
  315. package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +0 -1
  316. package/lib/typescript/web/handlers/LongPressGestureHandler.js +136 -0
  317. package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +0 -1
  318. package/lib/typescript/web/handlers/ManualGestureHandler.js +29 -0
  319. package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +0 -1
  320. package/lib/typescript/web/handlers/NativeViewGestureHandler.js +133 -0
  321. package/lib/typescript/web/handlers/PanGestureHandler.d.ts +2 -1
  322. package/lib/typescript/web/handlers/PanGestureHandler.d.ts.map +1 -1
  323. package/lib/typescript/web/handlers/PanGestureHandler.js +420 -0
  324. package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +0 -1
  325. package/lib/typescript/web/handlers/PinchGestureHandler.js +117 -0
  326. package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +0 -1
  327. package/lib/typescript/web/handlers/RotationGestureHandler.js +122 -0
  328. package/lib/typescript/web/handlers/TapGestureHandler.d.ts +1 -1
  329. package/lib/typescript/web/handlers/TapGestureHandler.d.ts.map +1 -1
  330. package/lib/typescript/web/handlers/TapGestureHandler.js +202 -0
  331. package/lib/typescript/web/interfaces.d.ts +0 -1
  332. package/lib/typescript/web/interfaces.js +25 -0
  333. package/lib/typescript/web/tools/CircularBuffer.d.ts +0 -1
  334. package/lib/typescript/web/tools/CircularBuffer.js +37 -0
  335. package/lib/typescript/web/tools/EventManager.d.ts +0 -1
  336. package/lib/typescript/web/tools/EventManager.js +85 -0
  337. package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +0 -1
  338. package/lib/typescript/web/tools/GestureHandlerDelegate.js +1 -0
  339. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +0 -1
  340. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts.map +1 -1
  341. package/lib/typescript/web/tools/GestureHandlerOrchestrator.js +273 -0
  342. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +0 -1
  343. package/lib/typescript/web/tools/GestureHandlerWebDelegate.js +169 -0
  344. package/lib/typescript/web/tools/InteractionManager.d.ts +0 -1
  345. package/lib/typescript/web/tools/InteractionManager.js +91 -0
  346. package/lib/typescript/web/tools/KeyboardEventManager.d.ts +0 -1
  347. package/lib/typescript/web/tools/KeyboardEventManager.js +73 -0
  348. package/lib/typescript/web/tools/LeastSquareSolver.d.ts +0 -1
  349. package/lib/typescript/web/tools/LeastSquareSolver.js +147 -0
  350. package/lib/typescript/web/tools/NodeManager.d.ts +0 -1
  351. package/lib/typescript/web/tools/NodeManager.js +28 -0
  352. package/lib/typescript/web/tools/PointerEventManager.d.ts +0 -1
  353. package/lib/typescript/web/tools/PointerEventManager.js +179 -0
  354. package/lib/typescript/web/tools/PointerTracker.d.ts +3 -4
  355. package/lib/typescript/web/tools/PointerTracker.d.ts.map +1 -1
  356. package/lib/typescript/web/tools/PointerTracker.js +161 -0
  357. package/lib/typescript/web/tools/Vector.d.ts +1 -2
  358. package/lib/typescript/web/tools/Vector.js +43 -0
  359. package/lib/typescript/web/tools/VelocityTracker.d.ts +0 -1
  360. package/lib/typescript/web/tools/VelocityTracker.js +76 -0
  361. package/lib/typescript/web/tools/WheelEventManager.d.ts +0 -1
  362. package/lib/typescript/web/tools/WheelEventManager.js +40 -0
  363. package/lib/typescript/web/utils.d.ts +0 -1
  364. package/lib/typescript/web/utils.js +233 -0
  365. package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts +0 -1
  366. package/lib/typescript/web_hammer/DiscreteGestureHandler.js +48 -0
  367. package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts +0 -1
  368. package/lib/typescript/web_hammer/DraggingGestureHandler.js +25 -0
  369. package/lib/typescript/web_hammer/Errors.d.ts +0 -1
  370. package/lib/typescript/web_hammer/Errors.js +5 -0
  371. package/lib/typescript/web_hammer/FlingGestureHandler.d.ts +0 -1
  372. package/lib/typescript/web_hammer/FlingGestureHandler.js +119 -0
  373. package/lib/typescript/web_hammer/GestureHandler.d.ts +0 -1
  374. package/lib/typescript/web_hammer/GestureHandler.js +469 -0
  375. package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts +0 -1
  376. package/lib/typescript/web_hammer/IndiscreteGestureHandler.js +26 -0
  377. package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts +0 -1
  378. package/lib/typescript/web_hammer/LongPressGestureHandler.js +46 -0
  379. package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts +0 -1
  380. package/lib/typescript/web_hammer/NativeViewGestureHandler.js +40 -0
  381. package/lib/typescript/web_hammer/NodeManager.d.ts +0 -1
  382. package/lib/typescript/web_hammer/NodeManager.js +28 -0
  383. package/lib/typescript/web_hammer/PanGestureHandler.d.ts +0 -1
  384. package/lib/typescript/web_hammer/PanGestureHandler.js +151 -0
  385. package/lib/typescript/web_hammer/PinchGestureHandler.d.ts +0 -1
  386. package/lib/typescript/web_hammer/PinchGestureHandler.js +19 -0
  387. package/lib/typescript/web_hammer/PressGestureHandler.d.ts +0 -1
  388. package/lib/typescript/web_hammer/PressGestureHandler.js +133 -0
  389. package/lib/typescript/web_hammer/RotationGestureHandler.d.ts +0 -1
  390. package/lib/typescript/web_hammer/RotationGestureHandler.js +20 -0
  391. package/lib/typescript/web_hammer/TapGestureHandler.d.ts +0 -1
  392. package/lib/typescript/web_hammer/TapGestureHandler.js +142 -0
  393. package/lib/typescript/web_hammer/constants.d.ts +0 -1
  394. package/lib/typescript/web_hammer/constants.js +42 -0
  395. package/lib/typescript/web_hammer/utils.d.ts +0 -1
  396. package/lib/typescript/web_hammer/utils.js +15 -0
  397. package/package.json +4 -2
  398. package/src/components/Pressable/Pressable.tsx +357 -445
  399. package/src/components/Pressable/PressableProps.tsx +15 -0
  400. package/src/components/Pressable/StateMachine.tsx +49 -0
  401. package/src/components/Pressable/stateDefinitions.ts +125 -0
  402. package/src/components/Pressable/utils.ts +11 -7
  403. package/src/handlers/GestureHandlerEventPayload.ts +3 -0
  404. package/src/handlers/gestureHandlerTypesCompat.ts +9 -0
  405. package/src/handlers/gestures/forceTouchGesture.ts +9 -0
  406. package/src/handlers/gestures/gestureObjects.ts +3 -1
  407. package/src/web/detectors/RotationGestureDetector.ts +4 -0
  408. package/src/web/handlers/FlingGestureHandler.ts +4 -0
  409. package/src/web/handlers/GestureHandler.ts +9 -3
  410. package/src/web/handlers/PanGestureHandler.ts +25 -36
  411. package/src/web/handlers/TapGestureHandler.ts +14 -19
  412. package/src/web/tools/GestureHandlerOrchestrator.ts +1 -0
  413. package/src/web/tools/PointerEventManager.ts +1 -1
  414. package/src/web/tools/PointerTracker.ts +17 -15
  415. package/src/web/tools/Vector.ts +1 -1
@@ -0,0 +1,290 @@
1
+ import invariant from 'invariant';
2
+ import { DeviceEventEmitter } from 'react-native';
3
+ import { flingHandlerName, } from '../handlers/FlingGestureHandler';
4
+ import { forceTouchHandlerName, } from '../handlers/ForceTouchGestureHandler';
5
+ import { BaseGesture } from '../handlers/gestures/gesture';
6
+ import { findHandlerByTestID } from '../handlers/handlersRegistry';
7
+ import { longPressHandlerName, } from '../handlers/LongPressGestureHandler';
8
+ import { nativeViewHandlerName, } from '../handlers/NativeViewGestureHandler';
9
+ import { panHandlerName, } from '../handlers/PanGestureHandler';
10
+ import { pinchHandlerName, } from '../handlers/PinchGestureHandler';
11
+ import { rotationHandlerName, } from '../handlers/RotationGestureHandler';
12
+ import { tapHandlerName, } from '../handlers/TapGestureHandler';
13
+ import { State } from '../State';
14
+ import { hasProperty, withPrevAndCurrent } from '../utils';
15
+ // Load fireEvent conditionally, so RNGH may be used in setups without testing-library
16
+ let fireEvent = (_element, _name, ..._data) => {
17
+ // NOOP
18
+ };
19
+ try {
20
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
21
+ fireEvent = require('@testing-library/react-native').fireEvent;
22
+ }
23
+ catch (_e) {
24
+ // Do nothing if not available
25
+ }
26
+ const handlersDefaultEvents = {
27
+ [flingHandlerName]: {
28
+ x: 0,
29
+ y: 0,
30
+ absoluteX: 0,
31
+ absoluteY: 0,
32
+ numberOfPointers: 1,
33
+ },
34
+ [forceTouchHandlerName]: {
35
+ x: 0,
36
+ y: 0,
37
+ absoluteX: 0,
38
+ absoluteY: 0,
39
+ force: 1,
40
+ numberOfPointers: 1,
41
+ },
42
+ [longPressHandlerName]: {
43
+ x: 0,
44
+ y: 0,
45
+ absoluteX: 0,
46
+ absoluteY: 0,
47
+ duration: 100,
48
+ numberOfPointers: 1,
49
+ },
50
+ [nativeViewHandlerName]: {
51
+ pointerInside: true,
52
+ numberOfPointers: 1,
53
+ },
54
+ [panHandlerName]: {
55
+ x: 0,
56
+ y: 0,
57
+ absoluteX: 0,
58
+ absoluteY: 0,
59
+ translationX: 100,
60
+ translationY: 0,
61
+ velocityX: 3,
62
+ velocityY: 0,
63
+ numberOfPointers: 1,
64
+ stylusData: undefined,
65
+ },
66
+ [pinchHandlerName]: {
67
+ focalX: 0,
68
+ focalY: 0,
69
+ scale: 2,
70
+ velocity: 1,
71
+ numberOfPointers: 2,
72
+ },
73
+ [rotationHandlerName]: {
74
+ anchorX: 0,
75
+ anchorY: 0,
76
+ rotation: 3.14,
77
+ velocity: 2,
78
+ numberOfPointers: 2,
79
+ },
80
+ [tapHandlerName]: {
81
+ x: 0,
82
+ y: 0,
83
+ absoluteX: 0,
84
+ absoluteY: 0,
85
+ numberOfPointers: 1,
86
+ },
87
+ };
88
+ function isGesture(componentOrGesture) {
89
+ return componentOrGesture instanceof BaseGesture;
90
+ }
91
+ function wrapWithNativeEvent(event) {
92
+ return { nativeEvent: event };
93
+ }
94
+ function fillOldStateChanges(previousEvent, currentEvent) {
95
+ const isFirstEvent = previousEvent === null;
96
+ if (isFirstEvent) {
97
+ return {
98
+ oldState: State.UNDETERMINED,
99
+ ...currentEvent,
100
+ };
101
+ }
102
+ const isGestureStateEvent = previousEvent.state !== currentEvent.state;
103
+ if (isGestureStateEvent) {
104
+ return {
105
+ oldState: previousEvent?.state,
106
+ ...currentEvent,
107
+ };
108
+ }
109
+ else {
110
+ return currentEvent;
111
+ }
112
+ }
113
+ function validateStateTransitions(previousEvent, currentEvent) {
114
+ function stringify(event) {
115
+ return JSON.stringify(event, null, 2);
116
+ }
117
+ function errorMsgWithBothEvents(description) {
118
+ return `${description}, invalid event: ${stringify(currentEvent)}, previous event: ${stringify(previousEvent)}`;
119
+ }
120
+ function errorMsgWithCurrentEvent(description) {
121
+ return `${description}, invalid event: ${stringify(currentEvent)}`;
122
+ }
123
+ invariant(hasProperty(currentEvent, 'state'), errorMsgWithCurrentEvent('every event must have state'));
124
+ const isFirstEvent = previousEvent === null;
125
+ if (isFirstEvent) {
126
+ invariant(currentEvent.state === State.BEGAN, errorMsgWithCurrentEvent('first event must have BEGAN state'));
127
+ }
128
+ if (previousEvent !== null) {
129
+ if (previousEvent.state !== currentEvent.state) {
130
+ invariant(hasProperty(currentEvent, 'oldState'), errorMsgWithCurrentEvent('when state changes, oldState field should be present'));
131
+ invariant(currentEvent.oldState === previousEvent.state, errorMsgWithBothEvents("when state changes, oldState should be the same as previous event' state"));
132
+ }
133
+ }
134
+ return currentEvent;
135
+ }
136
+ function fillMissingDefaultsFor({ handlerType, handlerTag, }) {
137
+ return (event) => {
138
+ return {
139
+ ...handlersDefaultEvents[handlerType],
140
+ ...event,
141
+ handlerTag,
142
+ };
143
+ };
144
+ }
145
+ function isDiscreteHandler(handlerType) {
146
+ return (handlerType === 'TapGestureHandler' ||
147
+ handlerType === 'LongPressGestureHandler');
148
+ }
149
+ function fillMissingStatesTransitions(events, isDiscreteHandler) {
150
+ const _events = [...events];
151
+ const lastEvent = _events[_events.length - 1] ?? null;
152
+ const firstEvent = _events[0] ?? null;
153
+ const shouldDuplicateFirstEvent = !isDiscreteHandler && !hasState(State.BEGAN)(firstEvent);
154
+ if (shouldDuplicateFirstEvent) {
155
+ const duplicated = { ...firstEvent, state: State.BEGAN };
156
+ // @ts-ignore badly typed, property may exist and we don't want to copy it
157
+ delete duplicated.oldState;
158
+ _events.unshift(duplicated);
159
+ }
160
+ const shouldDuplicateLastEvent = !hasState(State.END)(lastEvent) ||
161
+ !hasState(State.FAILED)(lastEvent) ||
162
+ !hasState(State.CANCELLED)(lastEvent);
163
+ if (shouldDuplicateLastEvent) {
164
+ const duplicated = { ...lastEvent, state: State.END };
165
+ // @ts-ignore badly typed, property may exist and we don't want to copy it
166
+ delete duplicated.oldState;
167
+ _events.push(duplicated);
168
+ }
169
+ function isWithoutState(event) {
170
+ return event !== null && !hasProperty(event, 'state');
171
+ }
172
+ function hasState(state) {
173
+ return (event) => event !== null && event.state === state;
174
+ }
175
+ function noEventsLeft(event) {
176
+ return event === null;
177
+ }
178
+ function trueFn() {
179
+ return true;
180
+ }
181
+ function fillEventsForCurrentState({ shouldConsumeEvent = trueFn, shouldTransitionToNextState = trueFn, }) {
182
+ function peekCurrentEvent() {
183
+ return _events[0] ?? null;
184
+ }
185
+ function peekNextEvent() {
186
+ return _events[1] ?? null;
187
+ }
188
+ function consumeCurrentEvent() {
189
+ _events.shift();
190
+ }
191
+ const currentEvent = peekCurrentEvent();
192
+ const nextEvent = peekNextEvent();
193
+ const currentRequiredState = REQUIRED_EVENTS[currentStateIdx];
194
+ let eventData = {};
195
+ const shouldUseEvent = shouldConsumeEvent(currentEvent);
196
+ if (shouldUseEvent) {
197
+ eventData = currentEvent;
198
+ consumeCurrentEvent();
199
+ }
200
+ transformedEvents.push({ state: currentRequiredState, ...eventData });
201
+ if (shouldTransitionToNextState(nextEvent)) {
202
+ currentStateIdx++;
203
+ }
204
+ }
205
+ const REQUIRED_EVENTS = [State.BEGAN, State.ACTIVE, State.END];
206
+ let currentStateIdx = 0;
207
+ const transformedEvents = [];
208
+ let hasAllStates;
209
+ let iterations = 0;
210
+ do {
211
+ const nextRequiredState = REQUIRED_EVENTS[currentStateIdx];
212
+ if (nextRequiredState === State.BEGAN) {
213
+ fillEventsForCurrentState({
214
+ shouldConsumeEvent: (e) => isWithoutState(e) || hasState(State.BEGAN)(e),
215
+ });
216
+ }
217
+ else if (nextRequiredState === State.ACTIVE) {
218
+ const shouldConsumeEvent = (e) => isWithoutState(e) || hasState(State.ACTIVE)(e);
219
+ const shouldTransitionToNextState = (nextEvent) => noEventsLeft(nextEvent) ||
220
+ hasState(State.END)(nextEvent) ||
221
+ hasState(State.FAILED)(nextEvent) ||
222
+ hasState(State.CANCELLED)(nextEvent);
223
+ fillEventsForCurrentState({
224
+ shouldConsumeEvent,
225
+ shouldTransitionToNextState,
226
+ });
227
+ }
228
+ else if (nextRequiredState === State.END) {
229
+ fillEventsForCurrentState({});
230
+ }
231
+ hasAllStates = currentStateIdx === REQUIRED_EVENTS.length;
232
+ invariant(iterations++ <= 500, 'exceeded max number of iterations, please report a bug in RNGH repository with your test case');
233
+ } while (!hasAllStates);
234
+ return transformedEvents;
235
+ }
236
+ function getHandlerData(componentOrGesture) {
237
+ if (isGesture(componentOrGesture)) {
238
+ const gesture = componentOrGesture;
239
+ return {
240
+ emitEvent: (eventName, args) => {
241
+ DeviceEventEmitter.emit(eventName, args.nativeEvent);
242
+ },
243
+ handlerType: gesture.handlerName,
244
+ handlerTag: gesture.handlerTag,
245
+ enabled: gesture.config.enabled,
246
+ };
247
+ }
248
+ const gestureHandlerComponent = componentOrGesture;
249
+ return {
250
+ emitEvent: (eventName, args) => {
251
+ fireEvent(gestureHandlerComponent, eventName, args);
252
+ },
253
+ handlerType: gestureHandlerComponent.props.handlerType,
254
+ handlerTag: gestureHandlerComponent.props.handlerTag,
255
+ enabled: gestureHandlerComponent.props.enabled,
256
+ };
257
+ }
258
+ export function fireGestureHandler(componentOrGesture, eventList = []) {
259
+ const { emitEvent, handlerType, handlerTag, enabled } = getHandlerData(componentOrGesture);
260
+ if (enabled === false) {
261
+ return;
262
+ }
263
+ let _ = fillMissingStatesTransitions(eventList, isDiscreteHandler(handlerType));
264
+ _ = _.map(fillMissingDefaultsFor({ handlerTag, handlerType }));
265
+ _ = withPrevAndCurrent(_, fillOldStateChanges);
266
+ _ = withPrevAndCurrent(_, validateStateTransitions);
267
+ // @ts-ignore TODO
268
+ _ = _.map(wrapWithNativeEvent);
269
+ const events = _;
270
+ const firstEvent = events.shift();
271
+ emitEvent('onGestureHandlerStateChange', firstEvent);
272
+ let lastSentEvent = firstEvent;
273
+ for (const event of events) {
274
+ const hasChangedState = lastSentEvent.nativeEvent.state !== event.nativeEvent.state;
275
+ if (hasChangedState) {
276
+ emitEvent('onGestureHandlerStateChange', event);
277
+ }
278
+ else {
279
+ emitEvent('onGestureHandlerEvent', event);
280
+ }
281
+ lastSentEvent = event;
282
+ }
283
+ }
284
+ export function getByGestureTestId(testID) {
285
+ const handler = findHandlerByTestID(testID);
286
+ if (handler === null) {
287
+ throw new Error(`Handler with id: '${testID}' cannot be found`);
288
+ }
289
+ return handler;
290
+ }
@@ -44,4 +44,3 @@ declare const _default: {
44
44
  };
45
45
  };
46
46
  export default _default;
47
- //# sourceMappingURL=mocks.d.ts.map
@@ -0,0 +1,59 @@
1
+ import React from 'react';
2
+ import { TouchableHighlight, TouchableNativeFeedback, TouchableOpacity, TouchableWithoutFeedback, ScrollView, FlatList, Switch, TextInput, DrawerLayoutAndroid, View, } from 'react-native';
3
+ import { State } from './State';
4
+ import { Directions } from './Directions';
5
+ const NOOP = () => {
6
+ // Do nothing
7
+ };
8
+ const PanGestureHandler = View;
9
+ const attachGestureHandler = NOOP;
10
+ const createGestureHandler = NOOP;
11
+ const dropGestureHandler = NOOP;
12
+ const updateGestureHandler = NOOP;
13
+ const flushOperations = NOOP;
14
+ const install = NOOP;
15
+ const NativeViewGestureHandler = View;
16
+ const TapGestureHandler = View;
17
+ const ForceTouchGestureHandler = View;
18
+ const LongPressGestureHandler = View;
19
+ const PinchGestureHandler = View;
20
+ const RotationGestureHandler = View;
21
+ const FlingGestureHandler = View;
22
+ const RawButton = ({ enabled, ...rest }) => (<TouchableNativeFeedback disabled={!enabled} {...rest}>
23
+ <View />
24
+ </TouchableNativeFeedback>);
25
+ const BaseButton = RawButton;
26
+ const RectButton = RawButton;
27
+ const BorderlessButton = TouchableNativeFeedback;
28
+ export default {
29
+ TouchableHighlight,
30
+ TouchableNativeFeedback,
31
+ TouchableOpacity,
32
+ TouchableWithoutFeedback,
33
+ ScrollView,
34
+ FlatList,
35
+ Switch,
36
+ TextInput,
37
+ DrawerLayoutAndroid,
38
+ NativeViewGestureHandler,
39
+ TapGestureHandler,
40
+ ForceTouchGestureHandler,
41
+ LongPressGestureHandler,
42
+ PinchGestureHandler,
43
+ RotationGestureHandler,
44
+ FlingGestureHandler,
45
+ RawButton,
46
+ BaseButton,
47
+ RectButton,
48
+ BorderlessButton,
49
+ PanGestureHandler,
50
+ attachGestureHandler,
51
+ createGestureHandler,
52
+ dropGestureHandler,
53
+ updateGestureHandler,
54
+ flushOperations,
55
+ install,
56
+ // Probably can be removed
57
+ Directions,
58
+ State,
59
+ };
@@ -14,4 +14,3 @@ export declare class MountRegistry {
14
14
  static gestureWillUnmount(gesture: GestureType): void;
15
15
  }
16
16
  export {};
17
- //# sourceMappingURL=mountRegistry.d.ts.map
@@ -0,0 +1,29 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-extraneous-class
2
+ export class MountRegistry {
3
+ static mountListeners = new Set();
4
+ static unmountListeners = new Set();
5
+ static addMountListener(listener) {
6
+ this.mountListeners.add(listener);
7
+ return () => {
8
+ this.mountListeners.delete(listener);
9
+ };
10
+ }
11
+ static addUnmountListener(listener) {
12
+ this.unmountListeners.add(listener);
13
+ return () => {
14
+ this.unmountListeners.delete(listener);
15
+ };
16
+ }
17
+ static gestureHandlerWillMount(handler) {
18
+ this.mountListeners.forEach((listener) => listener(handler));
19
+ }
20
+ static gestureHandlerWillUnmount(handler) {
21
+ this.unmountListeners.forEach((listener) => listener(handler));
22
+ }
23
+ static gestureWillMount(gesture) {
24
+ this.mountListeners.forEach((listener) => listener(gesture));
25
+ }
26
+ static gestureWillUnmount(gesture) {
27
+ this.unmountListeners.forEach((listener) => listener(gesture));
28
+ }
29
+ }
@@ -12,4 +12,3 @@ export interface Spec extends TurboModule {
12
12
  }
13
13
  declare const _default: Spec;
14
14
  export default _default;
15
- //# sourceMappingURL=NativeRNGestureHandlerModule.d.ts.map
@@ -0,0 +1,2 @@
1
+ import { TurboModuleRegistry } from 'react-native';
2
+ export default TurboModuleRegistry.getEnforcing('RNGestureHandlerModule');
@@ -14,4 +14,3 @@ interface NativeProps extends ViewProps {
14
14
  }
15
15
  declare const _default: import("react-native/Libraries/Utilities/codegenNativeComponent").NativeComponentType<NativeProps>;
16
16
  export default _default;
17
- //# sourceMappingURL=RNGestureHandlerButtonNativeComponent.d.ts.map
@@ -0,0 +1,2 @@
1
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
2
+ export default codegenNativeComponent('RNGestureHandlerButton');
@@ -3,4 +3,3 @@ interface NativeProps extends ViewProps {
3
3
  }
4
4
  declare const _default: import("react-native/Libraries/Utilities/codegenNativeComponent").NativeComponentType<NativeProps>;
5
5
  export default _default;
6
- //# sourceMappingURL=RNGestureHandlerRootViewNativeComponent.d.ts.map
@@ -0,0 +1,2 @@
1
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
2
+ export default codegenNativeComponent('RNGestureHandlerRootView');
@@ -1,2 +1 @@
1
1
  export type ValueOf<T> = T[keyof T];
2
- //# sourceMappingURL=typeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ export {};
@@ -18,4 +18,3 @@ export declare function isRemoteDebuggingEnabled(): boolean;
18
18
  */
19
19
  export declare function deepEqual(obj1: any, obj2: any): boolean;
20
20
  export declare const INT32_MAX: number;
21
- //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1,80 @@
1
+ import React from 'react';
2
+ export function toArray(object) {
3
+ if (!Array.isArray(object)) {
4
+ return [object];
5
+ }
6
+ return object;
7
+ }
8
+ export function withPrevAndCurrent(array, mapFn) {
9
+ const previousArr = [null];
10
+ const currentArr = [...array];
11
+ const transformedArr = [];
12
+ currentArr.forEach((current, i) => {
13
+ // This type cast is fine and solves problem mentioned in https://github.com/software-mansion/react-native-gesture-handler/pull/2867 (namely that `previous` can be undefined).
14
+ // Unfortunately, linter on our CI does not allow this type of casting as it is unnecessary. To bypass that we use eslint-disable.
15
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
16
+ const previous = previousArr[i];
17
+ const transformed = mapFn(previous, current);
18
+ previousArr.push(transformed);
19
+ transformedArr.push(transformed);
20
+ });
21
+ return transformedArr;
22
+ }
23
+ export function hasProperty(object, key) {
24
+ return Object.prototype.hasOwnProperty.call(object, key);
25
+ }
26
+ export function isTestEnv() {
27
+ // @ts-ignore Do not use `@types/node` because it will prioritise Node types over RN types which breaks the types (ex. setTimeout) in React Native projects.
28
+ return hasProperty(global, 'process') && process.env.NODE_ENV === 'test';
29
+ }
30
+ export function tagMessage(msg) {
31
+ return `[react-native-gesture-handler] ${msg}`;
32
+ }
33
+ // Helper method to check whether Fabric is enabled, however global.nativeFabricUIManager
34
+ // may not be initialized before the first render
35
+ export function isFabric() {
36
+ // @ts-expect-error nativeFabricUIManager is not yet included in the RN types
37
+ return !!global?.nativeFabricUIManager;
38
+ }
39
+ export function isReact19() {
40
+ return React.version.startsWith('19.');
41
+ }
42
+ export function isRemoteDebuggingEnabled() {
43
+ // react-native-reanimated checks if in remote debugging in the same way
44
+ // @ts-ignore global is available but node types are not included
45
+ const localGlobal = global;
46
+ return ((!localGlobal.nativeCallSyncHook || !!localGlobal.__REMOTEDEV__) &&
47
+ !localGlobal.RN$Bridgeless);
48
+ }
49
+ /**
50
+ * Recursively compares two objects for deep equality.
51
+ *
52
+ * **Note:** This function does not support cyclic references.
53
+ *
54
+ * @param obj1 - The first object to compare.
55
+ * @param obj2 - The second object to compare.
56
+ * @returns `true` if the objects are deeply equal, `false` otherwise.
57
+ */
58
+ export function deepEqual(obj1, obj2) {
59
+ if (obj1 === obj2) {
60
+ return true;
61
+ }
62
+ if (typeof obj1 !== 'object' ||
63
+ typeof obj2 !== 'object' ||
64
+ obj1 === null ||
65
+ obj2 === null) {
66
+ return false;
67
+ }
68
+ const keys1 = Object.keys(obj1);
69
+ const keys2 = Object.keys(obj2);
70
+ if (keys1.length !== keys2.length) {
71
+ return false;
72
+ }
73
+ for (const key of keys1) {
74
+ if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) {
75
+ return false;
76
+ }
77
+ }
78
+ return true;
79
+ }
80
+ export const INT32_MAX = 2 ** 31 - 1;
@@ -34,4 +34,3 @@ export declare const HammerGestures: {
34
34
  RotationGestureHandler: typeof HammerRotationGestureHandler;
35
35
  FlingGestureHandler: typeof HammerFlingGestureHandler;
36
36
  };
37
- //# sourceMappingURL=Gestures.d.ts.map
@@ -0,0 +1,38 @@
1
+ // Gesture Handlers
2
+ import PanGestureHandler from './handlers/PanGestureHandler';
3
+ import TapGestureHandler from './handlers/TapGestureHandler';
4
+ import LongPressGestureHandler from './handlers/LongPressGestureHandler';
5
+ import PinchGestureHandler from './handlers/PinchGestureHandler';
6
+ import RotationGestureHandler from './handlers/RotationGestureHandler';
7
+ import FlingGestureHandler from './handlers/FlingGestureHandler';
8
+ import NativeViewGestureHandler from './handlers/NativeViewGestureHandler';
9
+ import ManualGestureHandler from './handlers/ManualGestureHandler';
10
+ import HoverGestureHandler from './handlers/HoverGestureHandler';
11
+ // Hammer Handlers
12
+ import HammerNativeViewGestureHandler from '../web_hammer/NativeViewGestureHandler';
13
+ import HammerPanGestureHandler from '../web_hammer/PanGestureHandler';
14
+ import HammerTapGestureHandler from '../web_hammer/TapGestureHandler';
15
+ import HammerLongPressGestureHandler from '../web_hammer/LongPressGestureHandler';
16
+ import HammerPinchGestureHandler from '../web_hammer/PinchGestureHandler';
17
+ import HammerRotationGestureHandler from '../web_hammer/RotationGestureHandler';
18
+ import HammerFlingGestureHandler from '../web_hammer/FlingGestureHandler';
19
+ export const Gestures = {
20
+ NativeViewGestureHandler,
21
+ PanGestureHandler,
22
+ TapGestureHandler,
23
+ LongPressGestureHandler,
24
+ PinchGestureHandler,
25
+ RotationGestureHandler,
26
+ FlingGestureHandler,
27
+ ManualGestureHandler,
28
+ HoverGestureHandler,
29
+ };
30
+ export const HammerGestures = {
31
+ NativeViewGestureHandler: HammerNativeViewGestureHandler,
32
+ PanGestureHandler: HammerPanGestureHandler,
33
+ TapGestureHandler: HammerTapGestureHandler,
34
+ LongPressGestureHandler: HammerLongPressGestureHandler,
35
+ PinchGestureHandler: HammerPinchGestureHandler,
36
+ RotationGestureHandler: HammerRotationGestureHandler,
37
+ FlingGestureHandler: HammerFlingGestureHandler,
38
+ };
@@ -1,3 +1,2 @@
1
1
  export declare const DEFAULT_TOUCH_SLOP = 15;
2
2
  export declare const MINIMAL_RECOGNIZABLE_MAGNITUDE = 0.1;
3
- //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1,2 @@
1
+ export const DEFAULT_TOUCH_SLOP = 15;
2
+ export const MINIMAL_RECOGNIZABLE_MAGNITUDE = 0.1;
@@ -28,4 +28,3 @@ export default class RotationGestureDetector implements RotationGestureListener
28
28
  get rotation(): number;
29
29
  get timeDelta(): number;
30
30
  }
31
- //# sourceMappingURL=RotationGestureDetector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RotationGestureDetector.d.ts","sourceRoot":"","sources":["../../../../src/web/detectors/RotationGestureDetector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,eAAe,CAAC;AACzD,OAAO,cAAc,MAAM,yBAAyB,CAAC;AAErD,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,OAAO,CAAC;IAChE,UAAU,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,OAAO,CAAC;IAC3D,aAAa,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAC5D;AAED,MAAM,CAAC,OAAO,OAAO,uBACnB,YAAW,uBAAuB;IAElC,eAAe,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,OAAO,CAAC;IAChE,UAAU,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,OAAO,CAAC;IAC3D,aAAa,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAE3D,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAK;IAErB,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,WAAW,CAAwB;gBAE/B,SAAS,EAAE,uBAAuB;IAM9C,OAAO,CAAC,aAAa;IAqCrB,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,cAAc;IAWf,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO;IAoDnE,KAAK,IAAI,IAAI;IAKpB,IAAW,OAAO,WAEjB;IAED,IAAW,OAAO,WAEjB;IAED,IAAW,QAAQ,WAElB;IAED,IAAW,SAAS,WAEnB;CACF"}
1
+ {"version":3,"file":"RotationGestureDetector.d.ts","sourceRoot":"","sources":["../../../../src/web/detectors/RotationGestureDetector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,eAAe,CAAC;AACzD,OAAO,cAAc,MAAM,yBAAyB,CAAC;AAErD,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,OAAO,CAAC;IAChE,UAAU,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,OAAO,CAAC;IAC3D,aAAa,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAC5D;AAED,MAAM,CAAC,OAAO,OAAO,uBACnB,YAAW,uBAAuB;IAElC,eAAe,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,OAAO,CAAC;IAChE,UAAU,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,OAAO,CAAC;IAC3D,aAAa,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAE3D,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAK;IAErB,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,WAAW,CAAwB;gBAE/B,SAAS,EAAE,uBAAuB;IAM9C,OAAO,CAAC,aAAa;IAyCrB,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,cAAc;IAWf,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO;IAoDnE,KAAK,IAAI,IAAI;IAKpB,IAAW,OAAO,WAEjB;IAED,IAAW,OAAO,WAEjB;IAED,IAAW,QAAQ,WAElB;IAED,IAAW,SAAS,WAEnB;CACF"}