react-native-gesture-handler 2.27.1 → 2.28.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 (426) hide show
  1. package/RNGestureHandler.podspec +3 -2
  2. package/ReanimatedSwipeable/package.json +4 -4
  3. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +14 -8
  4. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +10 -5
  5. package/android/src/main/jni/CMakeLists.txt +5 -0
  6. package/android/src/main/jni/cpp-adapter.cpp +6 -0
  7. package/apple/RNGestureHandler.h +4 -0
  8. package/apple/RNGestureHandler.mm +41 -6
  9. package/apple/RNGestureHandlerModule.mm +5 -0
  10. package/jestSetup.js +22 -3
  11. package/lib/commonjs/components/Pressable/Pressable.js +12 -21
  12. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
  13. package/lib/commonjs/components/Pressable/StateMachine.js +8 -2
  14. package/lib/commonjs/components/Pressable/StateMachine.js.map +1 -1
  15. package/lib/commonjs/components/Pressable/stateDefinitions.js +22 -23
  16. package/lib/commonjs/components/Pressable/stateDefinitions.js.map +1 -1
  17. package/lib/commonjs/components/{ReanimatedSwipeable.js → ReanimatedSwipeable/ReanimatedSwipeable.js} +30 -39
  18. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js.map +1 -0
  19. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +12 -0
  20. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js.map +1 -0
  21. package/lib/commonjs/components/ReanimatedSwipeable/index.js +21 -0
  22. package/lib/commonjs/components/ReanimatedSwipeable/index.js.map +1 -0
  23. package/lib/commonjs/components/gestureHandlerRootHOC.js +4 -1
  24. package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
  25. package/lib/commonjs/handlers/createHandler.js +1 -1
  26. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  27. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +1 -1
  28. package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
  29. package/lib/commonjs/mocks/Pressable.js +13 -0
  30. package/lib/commonjs/mocks/Pressable.js.map +1 -0
  31. package/lib/commonjs/{mocks.js → mocks/mocks.js} +8 -11
  32. package/lib/commonjs/mocks/mocks.js.map +1 -0
  33. package/lib/commonjs/web/handlers/GestureHandler.js +5 -2
  34. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  35. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +0 -5
  36. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  37. package/lib/commonjs/web/tools/KeyboardEventManager.js +34 -8
  38. package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
  39. package/lib/module/components/Pressable/Pressable.js +14 -23
  40. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  41. package/lib/module/components/Pressable/StateMachine.js +8 -2
  42. package/lib/module/components/Pressable/StateMachine.js.map +1 -1
  43. package/lib/module/components/Pressable/stateDefinitions.js +21 -22
  44. package/lib/module/components/Pressable/stateDefinitions.js.map +1 -1
  45. package/lib/module/components/{ReanimatedSwipeable.js → ReanimatedSwipeable/ReanimatedSwipeable.js} +24 -33
  46. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js.map +1 -0
  47. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +8 -0
  48. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js.map +1 -0
  49. package/lib/module/components/ReanimatedSwipeable/index.js +5 -0
  50. package/lib/module/components/ReanimatedSwipeable/index.js.map +1 -0
  51. package/lib/module/components/gestureHandlerRootHOC.js +5 -0
  52. package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
  53. package/lib/module/handlers/createHandler.js +1 -1
  54. package/lib/module/handlers/createHandler.js.map +1 -1
  55. package/lib/module/handlers/gestures/GestureDetector/index.js +1 -1
  56. package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
  57. package/lib/module/mocks/Pressable.js +4 -0
  58. package/lib/module/mocks/Pressable.js.map +1 -0
  59. package/lib/module/{mocks.js → mocks/mocks.js} +7 -11
  60. package/lib/module/mocks/mocks.js.map +1 -0
  61. package/lib/module/web/handlers/GestureHandler.js +5 -2
  62. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  63. package/lib/module/web/tools/GestureHandlerWebDelegate.js +0 -5
  64. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  65. package/lib/module/web/tools/KeyboardEventManager.js +34 -8
  66. package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
  67. package/lib/typescript/ActionType.d.ts +1 -0
  68. package/lib/typescript/Directions.d.ts +1 -0
  69. package/lib/typescript/EnableNewWebImplementation.d.ts +1 -0
  70. package/lib/typescript/GestureHandlerRootViewContext.d.ts +1 -0
  71. package/lib/typescript/PlatformConstants.d.ts +1 -0
  72. package/lib/typescript/PlatformConstants.web.d.ts +1 -0
  73. package/lib/typescript/PointerType.d.ts +1 -0
  74. package/lib/typescript/RNGestureHandlerModule.d.ts +1 -0
  75. package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -0
  76. package/lib/typescript/RNGestureHandlerModule.windows.d.ts +1 -0
  77. package/lib/typescript/RNRenderer.d.ts +1 -0
  78. package/lib/typescript/RNRenderer.web.d.ts +1 -0
  79. package/lib/typescript/State.d.ts +1 -0
  80. package/lib/typescript/TouchEventType.d.ts +1 -0
  81. package/lib/typescript/components/DrawerLayout.d.ts +1 -0
  82. package/lib/typescript/components/GestureButtons.d.ts +1 -0
  83. package/lib/typescript/components/GestureButtonsProps.d.ts +10 -1
  84. package/lib/typescript/components/GestureButtonsProps.d.ts.map +1 -1
  85. package/lib/typescript/components/GestureComponents.d.ts +1 -0
  86. package/lib/typescript/components/GestureComponents.web.d.ts +1 -0
  87. package/lib/typescript/components/GestureHandlerButton.d.ts +1 -0
  88. package/lib/typescript/components/GestureHandlerButton.web.d.ts +1 -0
  89. package/lib/typescript/components/GestureHandlerRootView.android.d.ts +1 -0
  90. package/lib/typescript/components/GestureHandlerRootView.d.ts +1 -0
  91. package/lib/typescript/components/GestureHandlerRootView.web.d.ts +1 -0
  92. package/lib/typescript/components/Pressable/Pressable.d.ts +1 -0
  93. package/lib/typescript/components/Pressable/Pressable.d.ts.map +1 -1
  94. package/lib/typescript/components/Pressable/PressableProps.d.ts +3 -4
  95. package/lib/typescript/components/Pressable/PressableProps.d.ts.map +1 -1
  96. package/lib/typescript/components/Pressable/StateMachine.d.ts +4 -2
  97. package/lib/typescript/components/Pressable/StateMachine.d.ts.map +1 -1
  98. package/lib/typescript/components/Pressable/index.d.ts +1 -0
  99. package/lib/typescript/components/Pressable/stateDefinitions.d.ts +3 -2
  100. package/lib/typescript/components/Pressable/stateDefinitions.d.ts.map +1 -1
  101. package/lib/typescript/components/Pressable/utils.d.ts +1 -0
  102. package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +1 -0
  103. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts +6 -0
  104. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts.map +1 -0
  105. package/lib/typescript/components/{ReanimatedSwipeable.d.ts → ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts} +10 -7
  106. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts.map +1 -0
  107. package/lib/typescript/components/ReanimatedSwipeable/index.d.ts +3 -0
  108. package/lib/typescript/components/ReanimatedSwipeable/index.d.ts.map +1 -0
  109. package/lib/typescript/components/Swipeable.d.ts +1 -0
  110. package/lib/typescript/components/Text.d.ts +1 -0
  111. package/lib/typescript/components/gestureHandlerRootHOC.d.ts +5 -0
  112. package/lib/typescript/components/gestureHandlerRootHOC.d.ts.map +1 -1
  113. package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +1 -0
  114. package/lib/typescript/components/touchables/GenericTouchable.d.ts +1 -0
  115. package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +1 -0
  116. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +1 -0
  117. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +1 -0
  118. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +1 -0
  119. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +1 -0
  120. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +1 -0
  121. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +1 -0
  122. package/lib/typescript/components/touchables/index.d.ts +1 -0
  123. package/lib/typescript/components/utils.d.ts +1 -0
  124. package/lib/typescript/findNodeHandle.d.ts +1 -0
  125. package/lib/typescript/findNodeHandle.web.d.ts +1 -0
  126. package/lib/typescript/getShadowNodeFromRef.d.ts +1 -0
  127. package/lib/typescript/getShadowNodeFromRef.web.d.ts +1 -0
  128. package/lib/typescript/ghQueueMicrotask.d.ts +1 -0
  129. package/lib/typescript/handlers/FlingGestureHandler.d.ts +1 -0
  130. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +1 -0
  131. package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts +1 -0
  132. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +1 -0
  133. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +1 -0
  134. package/lib/typescript/handlers/PanGestureHandler.d.ts +1 -0
  135. package/lib/typescript/handlers/PinchGestureHandler.d.ts +1 -0
  136. package/lib/typescript/handlers/PressabilityDebugView.d.ts +1 -0
  137. package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +1 -0
  138. package/lib/typescript/handlers/RotationGestureHandler.d.ts +1 -0
  139. package/lib/typescript/handlers/TapGestureHandler.d.ts +1 -0
  140. package/lib/typescript/handlers/createHandler.d.ts +1 -0
  141. package/lib/typescript/handlers/createNativeWrapper.d.ts +1 -0
  142. package/lib/typescript/handlers/customDirectEventTypes.d.ts +1 -0
  143. package/lib/typescript/handlers/customDirectEventTypes.web.d.ts +1 -0
  144. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +1 -0
  145. package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +1 -0
  146. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.d.ts +1 -0
  147. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.d.ts +1 -0
  148. package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.d.ts +1 -0
  149. package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.d.ts +1 -0
  150. package/lib/typescript/handlers/gestures/GestureDetector/index.d.ts +1 -0
  151. package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.d.ts +1 -0
  152. package/lib/typescript/handlers/gestures/GestureDetector/types.d.ts +1 -0
  153. package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.d.ts +1 -0
  154. package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.d.ts +1 -0
  155. package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.d.ts +1 -0
  156. package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.d.ts +1 -0
  157. package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.d.ts +1 -0
  158. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +1 -0
  159. package/lib/typescript/handlers/gestures/eventReceiver.d.ts +1 -0
  160. package/lib/typescript/handlers/gestures/flingGesture.d.ts +1 -0
  161. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +1 -0
  162. package/lib/typescript/handlers/gestures/gesture.d.ts +1 -0
  163. package/lib/typescript/handlers/gestures/gestureComposition.d.ts +1 -0
  164. package/lib/typescript/handlers/gestures/gestureObjects.d.ts +1 -0
  165. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +1 -0
  166. package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +1 -0
  167. package/lib/typescript/handlers/gestures/hoverGesture.d.ts +1 -0
  168. package/lib/typescript/handlers/gestures/longPressGesture.d.ts +1 -0
  169. package/lib/typescript/handlers/gestures/manualGesture.d.ts +1 -0
  170. package/lib/typescript/handlers/gestures/nativeGesture.d.ts +1 -0
  171. package/lib/typescript/handlers/gestures/panGesture.d.ts +1 -0
  172. package/lib/typescript/handlers/gestures/pinchGesture.d.ts +1 -0
  173. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +1 -0
  174. package/lib/typescript/handlers/gestures/rotationGesture.d.ts +1 -0
  175. package/lib/typescript/handlers/gestures/tapGesture.d.ts +1 -0
  176. package/lib/typescript/handlers/getNextHandlerTag.d.ts +1 -0
  177. package/lib/typescript/handlers/handlersRegistry.d.ts +1 -0
  178. package/lib/typescript/handlers/utils.d.ts +1 -0
  179. package/lib/typescript/index.d.ts +1 -0
  180. package/lib/typescript/init.d.ts +1 -0
  181. package/lib/typescript/jestUtils/index.d.ts +1 -0
  182. package/lib/typescript/jestUtils/jestUtils.d.ts +1 -0
  183. package/lib/typescript/mocks/Pressable.d.ts +2 -0
  184. package/lib/typescript/mocks/Pressable.d.ts.map +1 -0
  185. package/lib/typescript/{mocks.d.ts → mocks/mocks.d.ts} +5 -4
  186. package/lib/typescript/mocks/mocks.d.ts.map +1 -0
  187. package/lib/typescript/mountRegistry.d.ts +1 -0
  188. package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +1 -0
  189. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +1 -0
  190. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +1 -0
  191. package/lib/typescript/typeUtils.d.ts +1 -0
  192. package/lib/typescript/utils.d.ts +1 -0
  193. package/lib/typescript/web/Gestures.d.ts +1 -0
  194. package/lib/typescript/web/constants.d.ts +1 -0
  195. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +1 -0
  196. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +1 -0
  197. package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +1 -0
  198. package/lib/typescript/web/handlers/GestureHandler.d.ts +1 -0
  199. package/lib/typescript/web/handlers/GestureHandler.d.ts.map +1 -1
  200. package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +1 -0
  201. package/lib/typescript/web/handlers/IGestureHandler.d.ts +1 -0
  202. package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +1 -0
  203. package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +1 -0
  204. package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +1 -0
  205. package/lib/typescript/web/handlers/PanGestureHandler.d.ts +1 -0
  206. package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +1 -0
  207. package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +1 -0
  208. package/lib/typescript/web/handlers/TapGestureHandler.d.ts +1 -0
  209. package/lib/typescript/web/interfaces.d.ts +1 -0
  210. package/lib/typescript/web/tools/CircularBuffer.d.ts +1 -0
  211. package/lib/typescript/web/tools/EventManager.d.ts +1 -0
  212. package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +1 -0
  213. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +1 -0
  214. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +1 -0
  215. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts.map +1 -1
  216. package/lib/typescript/web/tools/InteractionManager.d.ts +1 -0
  217. package/lib/typescript/web/tools/KeyboardEventManager.d.ts +7 -3
  218. package/lib/typescript/web/tools/KeyboardEventManager.d.ts.map +1 -1
  219. package/lib/typescript/web/tools/LeastSquareSolver.d.ts +1 -0
  220. package/lib/typescript/web/tools/NodeManager.d.ts +1 -0
  221. package/lib/typescript/web/tools/PointerEventManager.d.ts +1 -0
  222. package/lib/typescript/web/tools/PointerTracker.d.ts +1 -0
  223. package/lib/typescript/web/tools/Vector.d.ts +1 -0
  224. package/lib/typescript/web/tools/VelocityTracker.d.ts +1 -0
  225. package/lib/typescript/web/tools/WheelEventManager.d.ts +1 -0
  226. package/lib/typescript/web/utils.d.ts +1 -0
  227. package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts +1 -0
  228. package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts +1 -0
  229. package/lib/typescript/web_hammer/Errors.d.ts +1 -0
  230. package/lib/typescript/web_hammer/FlingGestureHandler.d.ts +1 -0
  231. package/lib/typescript/web_hammer/GestureHandler.d.ts +1 -0
  232. package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts +1 -0
  233. package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts +1 -0
  234. package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts +1 -0
  235. package/lib/typescript/web_hammer/NodeManager.d.ts +1 -0
  236. package/lib/typescript/web_hammer/PanGestureHandler.d.ts +1 -0
  237. package/lib/typescript/web_hammer/PinchGestureHandler.d.ts +1 -0
  238. package/lib/typescript/web_hammer/PressGestureHandler.d.ts +1 -0
  239. package/lib/typescript/web_hammer/RotationGestureHandler.d.ts +1 -0
  240. package/lib/typescript/web_hammer/TapGestureHandler.d.ts +1 -0
  241. package/lib/typescript/web_hammer/constants.d.ts +1 -0
  242. package/lib/typescript/web_hammer/utils.d.ts +1 -0
  243. package/package.json +4 -3
  244. package/scripts/gesture_handler_utils.rb +25 -0
  245. package/src/components/GestureButtonsProps.ts +10 -0
  246. package/src/components/Pressable/Pressable.tsx +20 -31
  247. package/src/components/Pressable/PressableProps.tsx +2 -4
  248. package/src/components/Pressable/StateMachine.tsx +12 -4
  249. package/src/components/Pressable/stateDefinitions.ts +23 -23
  250. package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +603 -0
  251. package/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts +199 -0
  252. package/src/components/ReanimatedSwipeable/index.ts +6 -0
  253. package/src/components/gestureHandlerRootHOC.tsx +4 -0
  254. package/src/handlers/createHandler.tsx +1 -1
  255. package/src/handlers/gestures/GestureDetector/index.tsx +1 -1
  256. package/src/mocks/Pressable.tsx +1 -0
  257. package/src/{mocks.tsx → mocks/mocks.tsx} +7 -11
  258. package/src/web/handlers/GestureHandler.ts +8 -3
  259. package/src/web/tools/GestureHandlerWebDelegate.ts +0 -5
  260. package/src/web/tools/KeyboardEventManager.ts +50 -8
  261. package/lib/commonjs/components/ReanimatedSwipeable.js.map +0 -1
  262. package/lib/commonjs/mocks.js.map +0 -1
  263. package/lib/module/components/ReanimatedSwipeable.js.map +0 -1
  264. package/lib/module/mocks.js.map +0 -1
  265. package/lib/typescript/ActionType.js +0 -6
  266. package/lib/typescript/Directions.js +0 -18
  267. package/lib/typescript/EnableNewWebImplementation.js +0 -30
  268. package/lib/typescript/GestureHandlerRootViewContext.js +0 -2
  269. package/lib/typescript/PlatformConstants.js +0 -3
  270. package/lib/typescript/PlatformConstants.web.js +0 -5
  271. package/lib/typescript/PointerType.js +0 -8
  272. package/lib/typescript/RNGestureHandlerModule.js +0 -4
  273. package/lib/typescript/RNGestureHandlerModule.web.js +0 -92
  274. package/lib/typescript/RNGestureHandlerModule.windows.js +0 -47
  275. package/lib/typescript/RNRenderer.js +0 -3
  276. package/lib/typescript/RNRenderer.web.js +0 -3
  277. package/lib/typescript/State.js +0 -9
  278. package/lib/typescript/TouchEventType.js +0 -7
  279. package/lib/typescript/components/DrawerLayout.js +0 -417
  280. package/lib/typescript/components/GestureButtons.js +0 -165
  281. package/lib/typescript/components/GestureButtonsProps.js +0 -1
  282. package/lib/typescript/components/GestureComponents.js +0 -67
  283. package/lib/typescript/components/GestureComponents.web.js +0 -21
  284. package/lib/typescript/components/GestureHandlerButton.js +0 -2
  285. package/lib/typescript/components/GestureHandlerButton.web.js +0 -3
  286. package/lib/typescript/components/GestureHandlerRootView.android.js +0 -17
  287. package/lib/typescript/components/GestureHandlerRootView.js +0 -16
  288. package/lib/typescript/components/GestureHandlerRootView.web.js +0 -11
  289. package/lib/typescript/components/Pressable/Pressable.js +0 -231
  290. package/lib/typescript/components/Pressable/PressableProps.js +0 -1
  291. package/lib/typescript/components/Pressable/StateMachine.js +0 -34
  292. package/lib/typescript/components/Pressable/index.js +0 -1
  293. package/lib/typescript/components/Pressable/stateDefinitions.js +0 -104
  294. package/lib/typescript/components/Pressable/utils.js +0 -80
  295. package/lib/typescript/components/ReanimatedDrawerLayout.js +0 -364
  296. package/lib/typescript/components/ReanimatedSwipeable.d.ts.map +0 -1
  297. package/lib/typescript/components/ReanimatedSwipeable.js +0 -400
  298. package/lib/typescript/components/Swipeable.js +0 -287
  299. package/lib/typescript/components/Text.js +0 -38
  300. package/lib/typescript/components/gestureHandlerRootHOC.js +0 -18
  301. package/lib/typescript/components/touchables/ExtraButtonProps.js +0 -1
  302. package/lib/typescript/components/touchables/GenericTouchable.js +0 -221
  303. package/lib/typescript/components/touchables/GenericTouchableProps.js +0 -1
  304. package/lib/typescript/components/touchables/TouchableHighlight.js +0 -75
  305. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.js +0 -65
  306. package/lib/typescript/components/touchables/TouchableNativeFeedback.js +0 -6
  307. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.js +0 -1
  308. package/lib/typescript/components/touchables/TouchableOpacity.js +0 -51
  309. package/lib/typescript/components/touchables/TouchableWithoutFeedback.js +0 -10
  310. package/lib/typescript/components/touchables/index.js +0 -4
  311. package/lib/typescript/components/utils.js +0 -11
  312. package/lib/typescript/findNodeHandle.js +0 -2
  313. package/lib/typescript/findNodeHandle.web.js +0 -31
  314. package/lib/typescript/getShadowNodeFromRef.js +0 -45
  315. package/lib/typescript/getShadowNodeFromRef.web.js +0 -7
  316. package/lib/typescript/ghQueueMicrotask.js +0 -7
  317. package/lib/typescript/handlers/FlingGestureHandler.js +0 -19
  318. package/lib/typescript/handlers/ForceTouchGestureHandler.js +0 -37
  319. package/lib/typescript/handlers/GestureHandlerEventPayload.js +0 -1
  320. package/lib/typescript/handlers/LongPressGestureHandler.js +0 -22
  321. package/lib/typescript/handlers/NativeViewGestureHandler.js +0 -20
  322. package/lib/typescript/handlers/PanGestureHandler.js +0 -128
  323. package/lib/typescript/handlers/PinchGestureHandler.js +0 -12
  324. package/lib/typescript/handlers/PressabilityDebugView.js +0 -2
  325. package/lib/typescript/handlers/PressabilityDebugView.web.js +0 -4
  326. package/lib/typescript/handlers/RotationGestureHandler.js +0 -12
  327. package/lib/typescript/handlers/TapGestureHandler.js +0 -26
  328. package/lib/typescript/handlers/createHandler.js +0 -375
  329. package/lib/typescript/handlers/createNativeWrapper.js +0 -67
  330. package/lib/typescript/handlers/customDirectEventTypes.js +0 -2
  331. package/lib/typescript/handlers/customDirectEventTypes.web.js +0 -4
  332. package/lib/typescript/handlers/gestureHandlerCommon.js +0 -42
  333. package/lib/typescript/handlers/gestureHandlerTypesCompat.js +0 -1
  334. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.js +0 -22
  335. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.js +0 -24
  336. package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.js +0 -55
  337. package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.js +0 -12
  338. package/lib/typescript/handlers/gestures/GestureDetector/index.js +0 -114
  339. package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.js +0 -18
  340. package/lib/typescript/handlers/gestures/GestureDetector/types.js +0 -1
  341. package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.js +0 -54
  342. package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -137
  343. package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -48
  344. package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.js +0 -35
  345. package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -32
  346. package/lib/typescript/handlers/gestures/GestureDetector/utils.js +0 -140
  347. package/lib/typescript/handlers/gestures/eventReceiver.js +0 -105
  348. package/lib/typescript/handlers/gestures/flingGesture.js +0 -27
  349. package/lib/typescript/handlers/gestures/forceTouchGesture.js +0 -57
  350. package/lib/typescript/handlers/gestures/gesture.js +0 -303
  351. package/lib/typescript/handlers/gestures/gestureComposition.js +0 -78
  352. package/lib/typescript/handlers/gestures/gestureObjects.js +0 -125
  353. package/lib/typescript/handlers/gestures/gestureStateManager.js +0 -60
  354. package/lib/typescript/handlers/gestures/gestureStateManager.web.js +0 -19
  355. package/lib/typescript/handlers/gestures/hoverGesture.js +0 -45
  356. package/lib/typescript/handlers/gestures/longPressGesture.js +0 -35
  357. package/lib/typescript/handlers/gestures/manualGesture.js +0 -16
  358. package/lib/typescript/handlers/gestures/nativeGesture.js +0 -24
  359. package/lib/typescript/handlers/gestures/panGesture.js +0 -181
  360. package/lib/typescript/handlers/gestures/pinchGesture.js +0 -27
  361. package/lib/typescript/handlers/gestures/reanimatedWrapper.js +0 -23
  362. package/lib/typescript/handlers/gestures/rotationGesture.js +0 -27
  363. package/lib/typescript/handlers/gestures/tapGesture.js +0 -72
  364. package/lib/typescript/handlers/getNextHandlerTag.js +0 -4
  365. package/lib/typescript/handlers/handlersRegistry.js +0 -36
  366. package/lib/typescript/handlers/utils.js +0 -58
  367. package/lib/typescript/index.js +0 -28
  368. package/lib/typescript/init.js +0 -15
  369. package/lib/typescript/jestUtils/index.js +0 -1
  370. package/lib/typescript/jestUtils/jestUtils.js +0 -290
  371. package/lib/typescript/mocks.d.ts.map +0 -1
  372. package/lib/typescript/mocks.js +0 -59
  373. package/lib/typescript/mountRegistry.js +0 -29
  374. package/lib/typescript/specs/NativeRNGestureHandlerModule.js +0 -2
  375. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.js +0 -2
  376. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.js +0 -2
  377. package/lib/typescript/typeUtils.js +0 -1
  378. package/lib/typescript/utils.js +0 -80
  379. package/lib/typescript/web/Gestures.js +0 -38
  380. package/lib/typescript/web/constants.js +0 -2
  381. package/lib/typescript/web/detectors/RotationGestureDetector.js +0 -122
  382. package/lib/typescript/web/detectors/ScaleGestureDetector.js +0 -117
  383. package/lib/typescript/web/handlers/FlingGestureHandler.js +0 -133
  384. package/lib/typescript/web/handlers/GestureHandler.js +0 -656
  385. package/lib/typescript/web/handlers/HoverGestureHandler.js +0 -37
  386. package/lib/typescript/web/handlers/IGestureHandler.js +0 -1
  387. package/lib/typescript/web/handlers/LongPressGestureHandler.js +0 -136
  388. package/lib/typescript/web/handlers/ManualGestureHandler.js +0 -29
  389. package/lib/typescript/web/handlers/NativeViewGestureHandler.js +0 -133
  390. package/lib/typescript/web/handlers/PanGestureHandler.js +0 -420
  391. package/lib/typescript/web/handlers/PinchGestureHandler.js +0 -117
  392. package/lib/typescript/web/handlers/RotationGestureHandler.js +0 -122
  393. package/lib/typescript/web/handlers/TapGestureHandler.js +0 -202
  394. package/lib/typescript/web/interfaces.js +0 -25
  395. package/lib/typescript/web/tools/CircularBuffer.js +0 -37
  396. package/lib/typescript/web/tools/EventManager.js +0 -85
  397. package/lib/typescript/web/tools/GestureHandlerDelegate.js +0 -1
  398. package/lib/typescript/web/tools/GestureHandlerOrchestrator.js +0 -273
  399. package/lib/typescript/web/tools/GestureHandlerWebDelegate.js +0 -169
  400. package/lib/typescript/web/tools/InteractionManager.js +0 -91
  401. package/lib/typescript/web/tools/KeyboardEventManager.js +0 -73
  402. package/lib/typescript/web/tools/LeastSquareSolver.js +0 -147
  403. package/lib/typescript/web/tools/NodeManager.js +0 -28
  404. package/lib/typescript/web/tools/PointerEventManager.js +0 -179
  405. package/lib/typescript/web/tools/PointerTracker.js +0 -161
  406. package/lib/typescript/web/tools/Vector.js +0 -43
  407. package/lib/typescript/web/tools/VelocityTracker.js +0 -76
  408. package/lib/typescript/web/tools/WheelEventManager.js +0 -40
  409. package/lib/typescript/web/utils.js +0 -233
  410. package/lib/typescript/web_hammer/DiscreteGestureHandler.js +0 -48
  411. package/lib/typescript/web_hammer/DraggingGestureHandler.js +0 -25
  412. package/lib/typescript/web_hammer/Errors.js +0 -5
  413. package/lib/typescript/web_hammer/FlingGestureHandler.js +0 -119
  414. package/lib/typescript/web_hammer/GestureHandler.js +0 -469
  415. package/lib/typescript/web_hammer/IndiscreteGestureHandler.js +0 -26
  416. package/lib/typescript/web_hammer/LongPressGestureHandler.js +0 -46
  417. package/lib/typescript/web_hammer/NativeViewGestureHandler.js +0 -40
  418. package/lib/typescript/web_hammer/NodeManager.js +0 -28
  419. package/lib/typescript/web_hammer/PanGestureHandler.js +0 -151
  420. package/lib/typescript/web_hammer/PinchGestureHandler.js +0 -19
  421. package/lib/typescript/web_hammer/PressGestureHandler.js +0 -133
  422. package/lib/typescript/web_hammer/RotationGestureHandler.js +0 -20
  423. package/lib/typescript/web_hammer/TapGestureHandler.js +0 -142
  424. package/lib/typescript/web_hammer/constants.js +0 -42
  425. package/lib/typescript/web_hammer/utils.js +0 -15
  426. package/src/components/ReanimatedSwipeable.tsx +0 -811
@@ -1,72 +0,0 @@
1
- import { BaseGesture } from './gesture';
2
- export class TapGesture extends BaseGesture {
3
- config = {};
4
- constructor() {
5
- super();
6
- this.handlerName = 'TapGestureHandler';
7
- this.shouldCancelWhenOutside(true);
8
- }
9
- /**
10
- * Minimum number of pointers (fingers) required to be placed before the gesture activates.
11
- * Should be a positive integer. The default value is 1.
12
- * @param minPointers
13
- */
14
- minPointers(minPointers) {
15
- this.config.minPointers = minPointers;
16
- return this;
17
- }
18
- /**
19
- * Number of tap gestures required to activate the gesture.
20
- * The default value is 1.
21
- * @param count
22
- */
23
- numberOfTaps(count) {
24
- this.config.numberOfTaps = count;
25
- return this;
26
- }
27
- /**
28
- * Maximum distance, expressed in points, that defines how far the finger is allowed to travel during a tap gesture.
29
- * @param maxDist
30
- * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture#maxdistancevalue-number
31
- */
32
- maxDistance(maxDist) {
33
- this.config.maxDist = maxDist;
34
- return this;
35
- }
36
- /**
37
- * Maximum time, expressed in milliseconds, that defines how fast a finger must be released after a touch.
38
- * The default value is 500.
39
- * @param duration
40
- */
41
- maxDuration(duration) {
42
- this.config.maxDurationMs = duration;
43
- return this;
44
- }
45
- /**
46
- * Maximum time, expressed in milliseconds, that can pass before the next tap — if many taps are required.
47
- * The default value is 500.
48
- * @param delay
49
- */
50
- maxDelay(delay) {
51
- this.config.maxDelayMs = delay;
52
- return this;
53
- }
54
- /**
55
- * Maximum distance, expressed in points, that defines how far the finger is allowed to travel along the X axis during a tap gesture.
56
- * @param delta
57
- * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture#maxdeltaxvalue-number
58
- */
59
- maxDeltaX(delta) {
60
- this.config.maxDeltaX = delta;
61
- return this;
62
- }
63
- /**
64
- * Maximum distance, expressed in points, that defines how far the finger is allowed to travel along the Y axis during a tap gesture.
65
- * @param delta
66
- * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture#maxdeltayvalue-number
67
- */
68
- maxDeltaY(delta) {
69
- this.config.maxDeltaY = delta;
70
- return this;
71
- }
72
- }
@@ -1,4 +0,0 @@
1
- let handlerTag = 1;
2
- export function getNextHandlerTag() {
3
- return handlerTag++;
4
- }
@@ -1,36 +0,0 @@
1
- import { isTestEnv } from '../utils';
2
- export const handlerIDToTag = {};
3
- const gestures = new Map();
4
- const oldHandlers = new Map();
5
- const testIDs = new Map();
6
- export function registerHandler(handlerTag, handler, testID) {
7
- gestures.set(handlerTag, handler);
8
- if (isTestEnv() && testID) {
9
- testIDs.set(testID, handlerTag);
10
- }
11
- }
12
- export function registerOldGestureHandler(handlerTag, handler) {
13
- oldHandlers.set(handlerTag, handler);
14
- }
15
- export function unregisterOldGestureHandler(handlerTag) {
16
- oldHandlers.delete(handlerTag);
17
- }
18
- export function unregisterHandler(handlerTag, testID) {
19
- gestures.delete(handlerTag);
20
- if (isTestEnv() && testID) {
21
- testIDs.delete(testID);
22
- }
23
- }
24
- export function findHandler(handlerTag) {
25
- return gestures.get(handlerTag);
26
- }
27
- export function findOldGestureHandler(handlerTag) {
28
- return oldHandlers.get(handlerTag);
29
- }
30
- export function findHandlerByTestID(testID) {
31
- const handlerTag = testIDs.get(testID);
32
- if (handlerTag !== undefined) {
33
- return findHandler(handlerTag) ?? null;
34
- }
35
- return null;
36
- }
@@ -1,58 +0,0 @@
1
- import { Platform, findNodeHandle as findNodeHandleRN } from 'react-native';
2
- import { handlerIDToTag } from './handlersRegistry';
3
- import { toArray } from '../utils';
4
- import RNGestureHandlerModule from '../RNGestureHandlerModule';
5
- import { ghQueueMicrotask } from '../ghQueueMicrotask';
6
- function isConfigParam(param, name) {
7
- // param !== Object(param) returns false if `param` is a function
8
- // or an object and returns true if `param` is null
9
- return (param !== undefined &&
10
- (param !== Object(param) ||
11
- !('__isNative' in param)) &&
12
- name !== 'onHandlerStateChange' &&
13
- name !== 'onGestureEvent');
14
- }
15
- export function filterConfig(props, validProps, defaults = {}) {
16
- const filteredConfig = { ...defaults };
17
- for (const key of validProps) {
18
- let value = props[key];
19
- if (isConfigParam(value, key)) {
20
- if (key === 'simultaneousHandlers' || key === 'waitFor') {
21
- value = transformIntoHandlerTags(props[key]);
22
- }
23
- else if (key === 'hitSlop' && typeof value !== 'object') {
24
- value = { top: value, left: value, bottom: value, right: value };
25
- }
26
- filteredConfig[key] = value;
27
- }
28
- }
29
- return filteredConfig;
30
- }
31
- export function transformIntoHandlerTags(handlerIDs) {
32
- handlerIDs = toArray(handlerIDs);
33
- if (Platform.OS === 'web') {
34
- return handlerIDs
35
- .map(({ current }) => current)
36
- .filter((handle) => handle);
37
- }
38
- // converts handler string IDs into their numeric tags
39
- return handlerIDs
40
- .map((handlerID) => handlerIDToTag[handlerID] || handlerID.current?.handlerTag || -1)
41
- .filter((handlerTag) => handlerTag > 0);
42
- }
43
- export function findNodeHandle(node) {
44
- if (Platform.OS === 'web') {
45
- return node;
46
- }
47
- return findNodeHandleRN(node) ?? null;
48
- }
49
- let flushOperationsScheduled = false;
50
- export function scheduleFlushOperations() {
51
- if (!flushOperationsScheduled) {
52
- flushOperationsScheduled = true;
53
- ghQueueMicrotask(() => {
54
- RNGestureHandlerModule.flushOperations();
55
- flushOperationsScheduled = false;
56
- });
57
- }
58
- }
@@ -1,28 +0,0 @@
1
- import { initialize } from './init';
2
- export { Directions } from './Directions';
3
- export { State } from './State';
4
- export { PointerType } from './PointerType';
5
- export { default as gestureHandlerRootHOC } from './components/gestureHandlerRootHOC';
6
- export { default as GestureHandlerRootView } from './components/GestureHandlerRootView';
7
- export { MouseButton } from './handlers/gestureHandlerCommon';
8
- export { TapGestureHandler } from './handlers/TapGestureHandler';
9
- export { ForceTouchGestureHandler } from './handlers/ForceTouchGestureHandler';
10
- export { LongPressGestureHandler } from './handlers/LongPressGestureHandler';
11
- export { PanGestureHandler } from './handlers/PanGestureHandler';
12
- export { PinchGestureHandler } from './handlers/PinchGestureHandler';
13
- export { RotationGestureHandler } from './handlers/RotationGestureHandler';
14
- export { FlingGestureHandler } from './handlers/FlingGestureHandler';
15
- export { default as createNativeWrapper } from './handlers/createNativeWrapper';
16
- export { GestureDetector } from './handlers/gestures/GestureDetector';
17
- export { GestureObjects as Gesture } from './handlers/gestures/gestureObjects';
18
- export { NativeViewGestureHandler } from './handlers/NativeViewGestureHandler';
19
- export { RawButton, BaseButton, RectButton, BorderlessButton, PureNativeButton, } from './components/GestureButtons';
20
- export { TouchableHighlight, TouchableNativeFeedback, TouchableOpacity, TouchableWithoutFeedback, } from './components/touchables';
21
- export { ScrollView, Switch, TextInput, DrawerLayoutAndroid, FlatList, RefreshControl, } from './components/GestureComponents';
22
- export { Text } from './components/Text';
23
- export { HoverEffect } from './handlers/gestures/hoverGesture';
24
- export { default as Swipeable } from './components/Swipeable';
25
- export { default as Pressable } from './components/Pressable';
26
- export { default as DrawerLayout } from './components/DrawerLayout';
27
- export { enableExperimentalWebImplementation, enableLegacyWebImplementation, } from './EnableNewWebImplementation';
28
- initialize();
@@ -1,15 +0,0 @@
1
- import { startListening } from './handlers/gestures/eventReceiver';
2
- import RNGestureHandlerModule from './RNGestureHandlerModule';
3
- import { isFabric } from './utils';
4
- let fabricInitialized = false;
5
- export function initialize() {
6
- startListening();
7
- }
8
- // Since isFabric() may give wrong results before the first render, we call this
9
- // method during render of GestureHandlerRootView
10
- export function maybeInitializeFabric() {
11
- if (isFabric() && !fabricInitialized) {
12
- RNGestureHandlerModule.install();
13
- fabricInitialized = true;
14
- }
15
- }
@@ -1 +0,0 @@
1
- export { getByGestureTestId, fireGestureHandler } from './jestUtils';
@@ -1,290 +0,0 @@
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
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/mocks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,uBAAuB,EAEvB,wBAAwB,EACxB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,IAAI,EACL,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;;+CAqBmB,GAAG;gDAAH,GAAG;gDAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;AAS5C,wBA+BW"}
@@ -1,59 +0,0 @@
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
- };
@@ -1,29 +0,0 @@
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
- }
@@ -1,2 +0,0 @@
1
- import { TurboModuleRegistry } from 'react-native';
2
- export default TurboModuleRegistry.getEnforcing('RNGestureHandlerModule');
@@ -1,2 +0,0 @@
1
- import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
2
- export default codegenNativeComponent('RNGestureHandlerButton');
@@ -1,2 +0,0 @@
1
- import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
2
- export default codegenNativeComponent('RNGestureHandlerRootView');
@@ -1 +0,0 @@
1
- export {};