@amazon-devices/react-native-gesture-handler 2.0.1759135970 → 4.0.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 (1298) hide show
  1. package/README.md +70 -0
  2. package/RNGestureHandler.podspec +22 -21
  3. package/ReanimatedDrawerLayout/package.json +6 -0
  4. package/ReanimatedSwipeable/package.json +6 -0
  5. package/SystemBundles/6340ec90c9b9f38941444b2ca176a58b9d8116a6cd975690f53747ed00595c90.bundle +14669 -0
  6. package/SystemBundles/6340ec90c9b9f38941444b2ca176a58b9d8116a6cd975690f53747ed00595c90.map +5041 -0
  7. package/SystemModules/amzn__react-native-gesture-handler-4.modules.txt +79 -0
  8. package/SystemModules/amzn__react-native-gesture-handler-4.private.modules.txt +67 -0
  9. package/SystemModules/keplerscript-system-bundle-config.json +3 -3
  10. package/android/build.gradle +104 -57
  11. package/android/{src/fabric → fabric/src/main}/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +2 -0
  12. package/android/gradle.properties +3 -3
  13. package/android/noreanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +3 -1
  14. package/android/nosvg/src/main/java/com/swmansion/gesturehandler/RNSVGHitTester.kt +13 -0
  15. package/android/{src/paper → paper/src/main}/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +19 -9
  16. package/android/{src/paper → paper/src/main}/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +5 -1
  17. package/android/{src/paper → paper/src/main}/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +3 -2
  18. package/android/{src/paper → paper/src/main}/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +2 -1
  19. package/android/paper/src/main/java/com/swmansion/gesturehandler/NativeRNGestureHandlerModuleSpec.java +67 -0
  20. package/android/{src/paper → paper/src/main}/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +4 -1
  21. package/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +1 -1
  22. package/android/src/main/AndroidManifest.xml +1 -3
  23. package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +67 -8
  24. package/android/src/main/java/com/swmansion/gesturehandler/core/DiagonalDirections.kt +8 -0
  25. package/android/src/main/java/com/swmansion/gesturehandler/core/FlingGestureHandler.kt +90 -25
  26. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +347 -141
  27. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerInteractionController.kt +4 -4
  28. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +197 -137
  29. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerRegistry.kt +1 -1
  30. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureUtils.kt +15 -2
  31. package/android/src/main/java/com/swmansion/gesturehandler/core/HoverGestureHandler.kt +36 -6
  32. package/android/src/main/java/com/swmansion/gesturehandler/core/LongPressGestureHandler.kt +127 -17
  33. package/android/src/main/java/com/swmansion/gesturehandler/core/ManualGestureHandler.kt +12 -1
  34. package/android/src/main/java/com/swmansion/gesturehandler/core/NativeViewGestureHandler.kt +137 -46
  35. package/android/src/main/java/com/swmansion/gesturehandler/core/OnTouchEventListener.kt +3 -3
  36. package/android/src/main/java/com/swmansion/gesturehandler/core/PanGestureHandler.kt +200 -93
  37. package/android/src/main/java/com/swmansion/gesturehandler/core/PinchGestureHandler.kt +21 -14
  38. package/android/src/main/java/com/swmansion/gesturehandler/core/PointerEventsConfig.kt +1 -1
  39. package/android/src/main/java/com/swmansion/gesturehandler/core/RotationGestureDetector.kt +56 -12
  40. package/android/src/main/java/com/swmansion/gesturehandler/core/RotationGestureHandler.kt +12 -5
  41. package/android/src/main/java/com/swmansion/gesturehandler/core/ScaleGestureDetector.java +10 -0
  42. package/android/src/main/java/com/swmansion/gesturehandler/core/StylusData.kt +103 -0
  43. package/android/src/main/java/com/swmansion/gesturehandler/core/TapGestureHandler.kt +62 -36
  44. package/android/src/main/java/com/swmansion/gesturehandler/core/Vector.kt +61 -0
  45. package/android/src/main/java/com/swmansion/gesturehandler/react/Extensions.kt +1 -1
  46. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +200 -50
  47. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +9 -4
  48. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +25 -27
  49. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDispatcher.kt +189 -0
  50. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerFactoryUtil.kt +34 -0
  51. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +18 -11
  52. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +70 -645
  53. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +8 -14
  54. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +38 -19
  55. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +16 -13
  56. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +2 -4
  57. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +34 -28
  58. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +11 -10
  59. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +15 -12
  60. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/FlingGestureHandlerEventDataBuilder.kt +31 -0
  61. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/GestureHandlerEventDataBuilder.kt +25 -0
  62. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/HoverGestureHandlerEventDataBuilder.kt +38 -0
  63. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/LongPressGestureHandlerEventDataBuilder.kt +34 -0
  64. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/ManualGestureHandlerEventDataBuilder.kt +6 -0
  65. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/NativeGestureHandlerEventDataBuilder.kt +19 -0
  66. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/PanGestureHandlerEventDataBuilder.kt +50 -0
  67. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/PinchGestureHandlerEventDataBuilder.kt +31 -0
  68. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/RotationGestureHandlerEventDataBuilder.kt +31 -0
  69. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/TapGestureHandlerEventDataBuilder.kt +31 -0
  70. package/android/src/main/jni/CMakeLists.txt +22 -6
  71. package/android/src/main/jni/cpp-adapter.cpp +39 -30
  72. package/android/svg/src/main/java/com/swmansion/gesturehandler/RNSVGHitTester.kt +65 -0
  73. package/{ios → apple}/Handlers/RNFlingHandler.h +1 -0
  74. package/apple/Handlers/RNFlingHandler.m +313 -0
  75. package/{ios → apple}/Handlers/RNForceTouchHandler.m +29 -8
  76. package/{ios → apple}/Handlers/RNHoverHandler.m +84 -15
  77. package/apple/Handlers/RNLongPressHandler.m +290 -0
  78. package/{ios → apple}/Handlers/RNManualHandler.m +58 -13
  79. package/{ios → apple}/Handlers/RNNativeViewHandler.mm +77 -28
  80. package/{ios → apple}/Handlers/RNPanHandler.m +166 -21
  81. package/apple/Handlers/RNPinchHandler.m +186 -0
  82. package/apple/Handlers/RNRotationHandler.m +169 -0
  83. package/{ios → apple}/Handlers/RNTapHandler.m +100 -27
  84. package/apple/RNGHStylusData.h +77 -0
  85. package/apple/RNGHStylusData.m +37 -0
  86. package/apple/RNGHUIKit.h +29 -0
  87. package/apple/RNGHVector.h +31 -0
  88. package/apple/RNGHVector.m +67 -0
  89. package/{ios → apple}/RNGestureHandler.h +23 -3
  90. package/{ios/RNGestureHandler.m → apple/RNGestureHandler.mm} +199 -21
  91. package/apple/RNGestureHandlerButton.h +39 -0
  92. package/apple/RNGestureHandlerButton.mm +214 -0
  93. package/{ios → apple}/RNGestureHandlerButtonComponentView.h +6 -1
  94. package/apple/RNGestureHandlerButtonComponentView.mm +219 -0
  95. package/{ios/RNGestureHandlerButtonManager.m → apple/RNGestureHandlerButtonManager.mm} +5 -3
  96. package/apple/RNGestureHandlerDirection.h +33 -0
  97. package/{ios → apple}/RNGestureHandlerEvents.h +21 -10
  98. package/{ios → apple}/RNGestureHandlerEvents.m +39 -13
  99. package/{ios → apple}/RNGestureHandlerManager.h +7 -2
  100. package/{ios → apple}/RNGestureHandlerManager.mm +84 -18
  101. package/apple/RNGestureHandlerModule.h +19 -0
  102. package/{ios → apple}/RNGestureHandlerModule.mm +88 -73
  103. package/{ios → apple}/RNGestureHandlerPointerTracker.h +5 -5
  104. package/{ios → apple}/RNGestureHandlerPointerTracker.m +21 -14
  105. package/apple/RNGestureHandlerPointerType.h +8 -0
  106. package/{ios → apple}/RNGestureHandlerRegistry.h +1 -1
  107. package/{ios → apple}/RNGestureHandlerRegistry.m +1 -1
  108. package/{ios → apple}/RNManualActivationRecognizer.h +8 -0
  109. package/{ios → apple}/RNManualActivationRecognizer.m +28 -7
  110. package/{ios → apple}/RNRootViewGestureRecognizer.m +77 -4
  111. package/jestSetup.js +22 -3
  112. package/kepler-compatibility.json +2 -3
  113. package/lib/commonjs/ActionType.js.map +1 -1
  114. package/lib/commonjs/Directions.js +21 -5
  115. package/lib/commonjs/Directions.js.map +1 -1
  116. package/lib/commonjs/EnableNewWebImplementation.js +11 -0
  117. package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
  118. package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
  119. package/lib/commonjs/PlatformConstants.js +1 -2
  120. package/lib/commonjs/PlatformConstants.js.map +1 -1
  121. package/lib/commonjs/PlatformConstants.kepler.js +12 -0
  122. package/lib/commonjs/PlatformConstants.kepler.js.map +1 -0
  123. package/lib/commonjs/PlatformConstants.web.js.map +1 -1
  124. package/lib/commonjs/PointerType.js +15 -0
  125. package/lib/commonjs/PointerType.js.map +1 -0
  126. package/lib/commonjs/RNGestureHandlerModule.js +5 -16
  127. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
  128. package/lib/commonjs/RNGestureHandlerModule.kepler.js +4 -5
  129. package/lib/commonjs/RNGestureHandlerModule.kepler.js.map +1 -1
  130. package/lib/commonjs/RNGestureHandlerModule.web.js +25 -53
  131. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  132. package/lib/commonjs/RNGestureHandlerModule.windows.js +16 -81
  133. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
  134. package/lib/commonjs/RNRenderer.js.map +1 -1
  135. package/lib/commonjs/RNRenderer.web.js.map +1 -1
  136. package/lib/commonjs/State.js.map +1 -1
  137. package/lib/commonjs/TouchEventType.js.map +1 -1
  138. package/lib/commonjs/components/DrawerLayout.js +421 -385
  139. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  140. package/lib/commonjs/components/GestureButtons.js +138 -120
  141. package/lib/commonjs/components/GestureButtons.js.map +1 -1
  142. package/lib/commonjs/components/GestureButtonsProps.js +6 -0
  143. package/lib/commonjs/components/GestureButtonsProps.js.map +1 -0
  144. package/lib/commonjs/components/GestureComponents.js +16 -14
  145. package/lib/commonjs/components/GestureComponents.js.map +1 -1
  146. package/lib/commonjs/components/GestureComponents.web.js +10 -9
  147. package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
  148. package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
  149. package/lib/commonjs/components/GestureHandlerButton.web.js +6 -6
  150. package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
  151. package/lib/commonjs/components/GestureHandlerRootView.android.js +20 -7
  152. package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
  153. package/lib/commonjs/components/GestureHandlerRootView.js +19 -7
  154. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
  155. package/lib/commonjs/components/GestureHandlerRootView.kepler.js +9 -6
  156. package/lib/commonjs/components/GestureHandlerRootView.kepler.js.map +1 -1
  157. package/lib/commonjs/components/GestureHandlerRootView.web.js +18 -6
  158. package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
  159. package/lib/commonjs/components/Pressable/Pressable.js +274 -0
  160. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -0
  161. package/lib/commonjs/components/Pressable/PressableProps.js +6 -0
  162. package/lib/commonjs/components/Pressable/PressableProps.js.map +1 -0
  163. package/lib/commonjs/components/Pressable/StateMachine.js +44 -0
  164. package/lib/commonjs/components/Pressable/StateMachine.js.map +1 -0
  165. package/lib/commonjs/components/Pressable/index.js +14 -0
  166. package/lib/commonjs/components/Pressable/index.js.map +1 -0
  167. package/lib/commonjs/components/Pressable/stateDefinitions.js +88 -0
  168. package/lib/commonjs/components/Pressable/stateDefinitions.js.map +1 -0
  169. package/lib/commonjs/components/Pressable/utils.js +92 -0
  170. package/lib/commonjs/components/Pressable/utils.js.map +1 -0
  171. package/lib/commonjs/components/ReanimatedDrawerLayout.js +357 -0
  172. package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -0
  173. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js +337 -0
  174. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js.map +1 -0
  175. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +12 -0
  176. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js.map +1 -0
  177. package/lib/commonjs/components/ReanimatedSwipeable/index.js +21 -0
  178. package/lib/commonjs/components/ReanimatedSwipeable/index.js.map +1 -0
  179. package/lib/commonjs/components/Swipeable.js +286 -261
  180. package/lib/commonjs/components/Swipeable.js.map +1 -1
  181. package/lib/commonjs/components/Text.js +60 -0
  182. package/lib/commonjs/components/Text.js.map +1 -0
  183. package/lib/commonjs/components/gestureHandlerRootHOC.js +12 -6
  184. package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
  185. package/lib/commonjs/components/touchables/ExtraButtonProps.js +2 -0
  186. package/lib/commonjs/components/touchables/ExtraButtonProps.js.map +1 -0
  187. package/lib/commonjs/components/touchables/GenericTouchable.js +83 -91
  188. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
  189. package/lib/commonjs/components/touchables/GenericTouchableProps.js +6 -0
  190. package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +1 -0
  191. package/lib/commonjs/components/touchables/TouchableHighlight.js +51 -48
  192. package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
  193. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +35 -35
  194. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  195. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -1
  196. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
  197. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js +6 -0
  198. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +1 -0
  199. package/lib/commonjs/components/touchables/TouchableOpacity.js +39 -38
  200. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  201. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +22 -7
  202. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  203. package/lib/commonjs/components/touchables/index.js.map +1 -1
  204. package/lib/commonjs/components/utils.js +17 -0
  205. package/lib/commonjs/components/utils.js.map +1 -0
  206. package/lib/commonjs/findNodeHandle.js +9 -0
  207. package/lib/commonjs/findNodeHandle.js.map +1 -0
  208. package/lib/commonjs/findNodeHandle.web.js +39 -0
  209. package/lib/commonjs/findNodeHandle.web.js.map +1 -0
  210. package/lib/commonjs/getShadowNodeFromRef.js +28 -4
  211. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  212. package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
  213. package/lib/commonjs/ghQueueMicrotask.js +10 -0
  214. package/lib/commonjs/ghQueueMicrotask.js.map +1 -0
  215. package/lib/commonjs/handlers/FlingGestureHandler.js +13 -0
  216. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
  217. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +15 -6
  218. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
  219. package/lib/commonjs/handlers/GestureHandlerEventPayload.js +6 -0
  220. package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -0
  221. package/lib/commonjs/handlers/LongPressGestureHandler.js +14 -1
  222. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
  223. package/lib/commonjs/handlers/NativeViewGestureHandler.js +13 -0
  224. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
  225. package/lib/commonjs/handlers/PanGestureHandler.js +13 -0
  226. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
  227. package/lib/commonjs/handlers/PinchGestureHandler.js +12 -0
  228. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
  229. package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
  230. package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
  231. package/lib/commonjs/handlers/RotationGestureHandler.js +12 -0
  232. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
  233. package/lib/commonjs/handlers/TapGestureHandler.js +13 -0
  234. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
  235. package/lib/commonjs/handlers/createHandler.js +145 -142
  236. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  237. package/lib/commonjs/handlers/createNativeWrapper.js +19 -16
  238. package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
  239. package/lib/commonjs/handlers/customDirectEventTypes.js +13 -0
  240. package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -0
  241. package/lib/commonjs/handlers/customDirectEventTypes.web.js +10 -0
  242. package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -0
  243. package/lib/commonjs/handlers/gestureHandlerCommon.js +13 -72
  244. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  245. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -1
  246. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +32 -0
  247. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -0
  248. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +41 -0
  249. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -0
  250. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +67 -0
  251. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -0
  252. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +20 -0
  253. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -0
  254. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +125 -0
  255. package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -0
  256. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +22 -0
  257. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -0
  258. package/lib/commonjs/handlers/gestures/GestureDetector/types.js +6 -0
  259. package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +1 -0
  260. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +66 -0
  261. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -0
  262. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +143 -0
  263. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -0
  264. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +47 -0
  265. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -0
  266. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +41 -0
  267. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -0
  268. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +45 -0
  269. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -0
  270. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +143 -0
  271. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -0
  272. package/lib/commonjs/handlers/gestures/eventReceiver.js +15 -23
  273. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
  274. package/lib/commonjs/handlers/gestures/flingGesture.js +14 -4
  275. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
  276. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +30 -4
  277. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
  278. package/lib/commonjs/handlers/gestures/gesture.js +162 -20
  279. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  280. package/lib/commonjs/handlers/gestures/gestureComposition.js +9 -9
  281. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
  282. package/lib/commonjs/handlers/gestures/gestureObjects.js +59 -0
  283. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
  284. package/lib/commonjs/handlers/gestures/gestureStateManager.js +50 -40
  285. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
  286. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +2 -1
  287. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
  288. package/lib/commonjs/handlers/gestures/hoverGesture.js +2 -5
  289. package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
  290. package/lib/commonjs/handlers/gestures/longPressGesture.js +22 -4
  291. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
  292. package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
  293. package/lib/commonjs/handlers/gestures/nativeGesture.js +11 -4
  294. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
  295. package/lib/commonjs/handlers/gestures/panGesture.js +77 -4
  296. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
  297. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
  298. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +1 -2
  299. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
  300. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
  301. package/lib/commonjs/handlers/gestures/tapGesture.js +43 -4
  302. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
  303. package/lib/commonjs/handlers/getNextHandlerTag.js +11 -0
  304. package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -0
  305. package/lib/commonjs/handlers/handlersRegistry.js +7 -9
  306. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
  307. package/lib/commonjs/handlers/utils.js +69 -0
  308. package/lib/commonjs/handlers/utils.js.map +1 -0
  309. package/lib/commonjs/index.js +28 -0
  310. package/lib/commonjs/index.js.map +1 -1
  311. package/lib/commonjs/init.js +1 -1
  312. package/lib/commonjs/init.js.map +1 -1
  313. package/lib/commonjs/jestUtils/index.js.map +1 -1
  314. package/lib/commonjs/jestUtils/jestUtils.js +18 -14
  315. package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
  316. package/lib/commonjs/mocks/Pressable.js +13 -0
  317. package/lib/commonjs/mocks/Pressable.js.map +1 -0
  318. package/lib/commonjs/mocks/mocks.js +70 -0
  319. package/lib/commonjs/mocks/mocks.js.map +1 -0
  320. package/lib/commonjs/mocks.js.map +1 -1
  321. package/lib/commonjs/mountRegistry.js +37 -0
  322. package/lib/commonjs/mountRegistry.js.map +1 -0
  323. package/lib/commonjs/package.json +1 -0
  324. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +9 -0
  325. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -0
  326. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.kepler.js.map +1 -1
  327. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.ts +24 -0
  328. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +17 -0
  329. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.kepler.js.map +1 -0
  330. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.ts +7 -0
  331. package/lib/commonjs/typeUtils.js.map +1 -1
  332. package/lib/commonjs/utils.js +47 -16
  333. package/lib/commonjs/utils.js.map +1 -1
  334. package/lib/commonjs/web/Gestures.js +48 -0
  335. package/lib/commonjs/web/Gestures.js.map +1 -0
  336. package/lib/commonjs/web/constants.js +2 -7
  337. package/lib/commonjs/web/constants.js.map +1 -1
  338. package/lib/commonjs/web/detectors/RotationGestureDetector.js +35 -40
  339. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  340. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +30 -46
  341. package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
  342. package/lib/commonjs/web/handlers/FlingGestureHandler.js +50 -34
  343. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  344. package/lib/commonjs/web/handlers/GestureHandler.js +218 -197
  345. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  346. package/lib/commonjs/web/handlers/HoverGestureHandler.js +12 -15
  347. package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
  348. package/lib/commonjs/web/handlers/IGestureHandler.js +2 -0
  349. package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -0
  350. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +57 -30
  351. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
  352. package/lib/commonjs/web/handlers/ManualGestureHandler.js +1 -12
  353. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
  354. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +42 -41
  355. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  356. package/lib/commonjs/web/handlers/PanGestureHandler.js +117 -65
  357. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  358. package/lib/commonjs/web/handlers/PinchGestureHandler.js +36 -50
  359. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
  360. package/lib/commonjs/web/handlers/RotationGestureHandler.js +32 -49
  361. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
  362. package/lib/commonjs/web/handlers/TapGestureHandler.js +39 -43
  363. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  364. package/lib/commonjs/web/interfaces.js +6 -18
  365. package/lib/commonjs/web/interfaces.js.map +1 -1
  366. package/lib/commonjs/web/tools/CircularBuffer.js +12 -19
  367. package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
  368. package/lib/commonjs/web/tools/EventManager.js +7 -8
  369. package/lib/commonjs/web/tools/EventManager.js.map +1 -1
  370. package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -1
  371. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +121 -159
  372. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  373. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +102 -30
  374. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  375. package/lib/commonjs/web/tools/InteractionManager.js +44 -47
  376. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  377. package/lib/commonjs/web/tools/KeyboardEventManager.js +108 -0
  378. package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -0
  379. package/lib/commonjs/web/tools/LeastSquareSolver.js +22 -30
  380. package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
  381. package/lib/commonjs/web/tools/NodeManager.js +5 -7
  382. package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
  383. package/lib/commonjs/web/tools/PointerEventManager.js +148 -130
  384. package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
  385. package/lib/commonjs/web/tools/PointerTracker.js +97 -107
  386. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
  387. package/lib/commonjs/web/tools/Vector.js +37 -0
  388. package/lib/commonjs/web/tools/Vector.js.map +1 -0
  389. package/lib/commonjs/web/tools/VelocityTracker.js +11 -15
  390. package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
  391. package/lib/commonjs/web/tools/WheelEventManager.js +55 -0
  392. package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -0
  393. package/lib/commonjs/web/utils.js +221 -0
  394. package/lib/commonjs/web/utils.js.map +1 -1
  395. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +1 -1
  396. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
  397. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +1 -1
  398. package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
  399. package/lib/commonjs/web_hammer/Errors.js.map +1 -1
  400. package/lib/commonjs/web_hammer/FlingGestureHandler.js +1 -1
  401. package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
  402. package/lib/commonjs/web_hammer/GestureHandler.js +122 -129
  403. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
  404. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  405. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +1 -1
  406. package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
  407. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +1 -2
  408. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
  409. package/lib/commonjs/web_hammer/NodeManager.js +2 -1
  410. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
  411. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
  412. package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
  413. package/lib/commonjs/web_hammer/PressGestureHandler.js +2 -9
  414. package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
  415. package/lib/commonjs/web_hammer/RotationGestureHandler.js +1 -2
  416. package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
  417. package/lib/commonjs/web_hammer/TapGestureHandler.js +19 -27
  418. package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
  419. package/lib/commonjs/web_hammer/constants.js.map +1 -1
  420. package/lib/commonjs/web_hammer/utils.js.map +1 -1
  421. package/lib/module/ActionType.js +2 -0
  422. package/lib/module/ActionType.js.map +1 -1
  423. package/lib/module/Directions.js +22 -4
  424. package/lib/module/Directions.js.map +1 -1
  425. package/lib/module/EnableNewWebImplementation.js +13 -0
  426. package/lib/module/EnableNewWebImplementation.js.map +1 -1
  427. package/lib/module/GestureHandlerRootViewContext.js +2 -0
  428. package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
  429. package/lib/module/PlatformConstants.js +3 -2
  430. package/lib/module/PlatformConstants.js.map +1 -1
  431. package/lib/module/PlatformConstants.kepler.js +8 -0
  432. package/lib/module/PlatformConstants.kepler.js.map +1 -0
  433. package/lib/module/PlatformConstants.web.js +2 -0
  434. package/lib/module/PlatformConstants.web.js.map +1 -1
  435. package/lib/module/PointerType.js +11 -0
  436. package/lib/module/PointerType.js.map +1 -0
  437. package/lib/module/RNGestureHandlerModule.js +6 -15
  438. package/lib/module/RNGestureHandlerModule.js.map +1 -1
  439. package/lib/module/RNGestureHandlerModule.kepler.js +5 -3
  440. package/lib/module/RNGestureHandlerModule.kepler.js.map +1 -1
  441. package/lib/module/RNGestureHandlerModule.web.js +22 -46
  442. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  443. package/lib/module/RNGestureHandlerModule.windows.js +16 -78
  444. package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
  445. package/lib/module/RNRenderer.js +2 -0
  446. package/lib/module/RNRenderer.js.map +1 -1
  447. package/lib/module/RNRenderer.web.js +2 -0
  448. package/lib/module/RNRenderer.web.js.map +1 -1
  449. package/lib/module/State.js +2 -0
  450. package/lib/module/State.js.map +1 -1
  451. package/lib/module/TouchEventType.js +2 -0
  452. package/lib/module/TouchEventType.js.map +1 -1
  453. package/lib/module/components/DrawerLayout.js +420 -383
  454. package/lib/module/components/DrawerLayout.js.map +1 -1
  455. package/lib/module/components/GestureButtons.js +139 -115
  456. package/lib/module/components/GestureButtons.js.map +1 -1
  457. package/lib/module/components/GestureButtonsProps.js +4 -0
  458. package/lib/module/components/GestureButtonsProps.js.map +1 -0
  459. package/lib/module/components/GestureComponents.js +17 -12
  460. package/lib/module/components/GestureComponents.js.map +1 -1
  461. package/lib/module/components/GestureComponents.web.js +11 -7
  462. package/lib/module/components/GestureComponents.web.js.map +1 -1
  463. package/lib/module/components/GestureHandlerButton.js +2 -0
  464. package/lib/module/components/GestureHandlerButton.js.map +1 -1
  465. package/lib/module/components/GestureHandlerButton.web.js +7 -4
  466. package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
  467. package/lib/module/components/GestureHandlerRootView.android.js +21 -5
  468. package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
  469. package/lib/module/components/GestureHandlerRootView.js +21 -6
  470. package/lib/module/components/GestureHandlerRootView.js.map +1 -1
  471. package/lib/module/components/GestureHandlerRootView.kepler.js +10 -4
  472. package/lib/module/components/GestureHandlerRootView.kepler.js.map +1 -1
  473. package/lib/module/components/GestureHandlerRootView.web.js +20 -5
  474. package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
  475. package/lib/module/components/Pressable/Pressable.js +268 -0
  476. package/lib/module/components/Pressable/Pressable.js.map +1 -0
  477. package/lib/module/components/Pressable/PressableProps.js +4 -0
  478. package/lib/module/components/Pressable/PressableProps.js.map +1 -0
  479. package/lib/module/components/Pressable/StateMachine.js +40 -0
  480. package/lib/module/components/Pressable/StateMachine.js.map +1 -0
  481. package/lib/module/components/Pressable/index.js +4 -0
  482. package/lib/module/components/Pressable/index.js.map +1 -0
  483. package/lib/module/components/Pressable/stateDefinitions.js +83 -0
  484. package/lib/module/components/Pressable/stateDefinitions.js.map +1 -0
  485. package/lib/module/components/Pressable/utils.js +84 -0
  486. package/lib/module/components/Pressable/utils.js.map +1 -0
  487. package/lib/module/components/ReanimatedDrawerLayout.js +352 -0
  488. package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -0
  489. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js +332 -0
  490. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js.map +1 -0
  491. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +8 -0
  492. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js.map +1 -0
  493. package/lib/module/components/ReanimatedSwipeable/index.js +5 -0
  494. package/lib/module/components/ReanimatedSwipeable/index.js.map +1 -0
  495. package/lib/module/components/Swipeable.js +285 -259
  496. package/lib/module/components/Swipeable.js.map +1 -1
  497. package/lib/module/components/Text.js +55 -0
  498. package/lib/module/components/Text.js.map +1 -0
  499. package/lib/module/components/gestureHandlerRootHOC.js +14 -3
  500. package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
  501. package/lib/module/components/touchables/ExtraButtonProps.js +2 -0
  502. package/lib/module/components/touchables/ExtraButtonProps.js.map +1 -0
  503. package/lib/module/components/touchables/GenericTouchable.js +84 -89
  504. package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
  505. package/lib/module/components/touchables/GenericTouchableProps.js +4 -0
  506. package/lib/module/components/touchables/GenericTouchableProps.js.map +1 -0
  507. package/lib/module/components/touchables/TouchableHighlight.js +52 -46
  508. package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
  509. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +36 -33
  510. package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  511. package/lib/module/components/touchables/TouchableNativeFeedback.js +8 -1
  512. package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
  513. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js +4 -0
  514. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +1 -0
  515. package/lib/module/components/touchables/TouchableOpacity.js +40 -36
  516. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  517. package/lib/module/components/touchables/TouchableWithoutFeedback.js +23 -5
  518. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  519. package/lib/module/components/touchables/index.js +2 -0
  520. package/lib/module/components/touchables/index.js.map +1 -1
  521. package/lib/module/components/utils.js +13 -0
  522. package/lib/module/components/utils.js.map +1 -0
  523. package/lib/module/findNodeHandle.js +5 -0
  524. package/lib/module/findNodeHandle.js.map +1 -0
  525. package/lib/module/findNodeHandle.web.js +35 -0
  526. package/lib/module/findNodeHandle.web.js.map +1 -0
  527. package/lib/module/getShadowNodeFromRef.js +30 -4
  528. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  529. package/lib/module/getShadowNodeFromRef.web.js +2 -0
  530. package/lib/module/getShadowNodeFromRef.web.js.map +1 -1
  531. package/lib/module/ghQueueMicrotask.js +6 -0
  532. package/lib/module/ghQueueMicrotask.js.map +1 -0
  533. package/lib/module/handlers/FlingGestureHandler.js +15 -0
  534. package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
  535. package/lib/module/handlers/ForceTouchGestureHandler.js +17 -6
  536. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
  537. package/lib/module/handlers/GestureHandlerEventPayload.js +4 -0
  538. package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -0
  539. package/lib/module/handlers/LongPressGestureHandler.js +16 -1
  540. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
  541. package/lib/module/handlers/NativeViewGestureHandler.js +15 -0
  542. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
  543. package/lib/module/handlers/PanGestureHandler.js +15 -0
  544. package/lib/module/handlers/PanGestureHandler.js.map +1 -1
  545. package/lib/module/handlers/PinchGestureHandler.js +15 -0
  546. package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
  547. package/lib/module/handlers/PressabilityDebugView.js +2 -0
  548. package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
  549. package/lib/module/handlers/PressabilityDebugView.web.js +2 -0
  550. package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -1
  551. package/lib/module/handlers/RotationGestureHandler.js +15 -0
  552. package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
  553. package/lib/module/handlers/TapGestureHandler.js +15 -0
  554. package/lib/module/handlers/TapGestureHandler.js.map +1 -1
  555. package/lib/module/handlers/createHandler.js +138 -134
  556. package/lib/module/handlers/createHandler.js.map +1 -1
  557. package/lib/module/handlers/createNativeWrapper.js +19 -12
  558. package/lib/module/handlers/createNativeWrapper.js.map +1 -1
  559. package/lib/module/handlers/customDirectEventTypes.js +5 -0
  560. package/lib/module/handlers/customDirectEventTypes.js.map +1 -0
  561. package/lib/module/handlers/customDirectEventTypes.web.js +7 -0
  562. package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -0
  563. package/lib/module/handlers/gestureHandlerCommon.js +15 -65
  564. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  565. package/lib/module/handlers/gestureHandlerTypesCompat.js +2 -0
  566. package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -1
  567. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +26 -0
  568. package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -0
  569. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +36 -0
  570. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -0
  571. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +62 -0
  572. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -0
  573. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +15 -0
  574. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -0
  575. package/lib/module/handlers/gestures/GestureDetector/index.js +117 -0
  576. package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -0
  577. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +18 -0
  578. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -0
  579. package/lib/module/handlers/gestures/GestureDetector/types.js +4 -0
  580. package/lib/module/handlers/gestures/GestureDetector/types.js.map +1 -0
  581. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +61 -0
  582. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -0
  583. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +139 -0
  584. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -0
  585. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +43 -0
  586. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -0
  587. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +37 -0
  588. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -0
  589. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +40 -0
  590. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -0
  591. package/lib/module/handlers/gestures/GestureDetector/utils.js +134 -0
  592. package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -0
  593. package/lib/module/handlers/gestures/eventReceiver.js +17 -23
  594. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
  595. package/lib/module/handlers/gestures/flingGesture.js +16 -4
  596. package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
  597. package/lib/module/handlers/gestures/forceTouchGesture.js +33 -4
  598. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
  599. package/lib/module/handlers/gestures/gesture.js +163 -19
  600. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  601. package/lib/module/handlers/gestures/gestureComposition.js +11 -9
  602. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
  603. package/lib/module/handlers/gestures/gestureObjects.js +62 -0
  604. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
  605. package/lib/module/handlers/gestures/gestureStateManager.js +52 -40
  606. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
  607. package/lib/module/handlers/gestures/gestureStateManager.web.js +4 -1
  608. package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
  609. package/lib/module/handlers/gestures/hoverGesture.js +4 -5
  610. package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
  611. package/lib/module/handlers/gestures/longPressGesture.js +24 -4
  612. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
  613. package/lib/module/handlers/gestures/manualGesture.js +2 -0
  614. package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
  615. package/lib/module/handlers/gestures/nativeGesture.js +13 -4
  616. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
  617. package/lib/module/handlers/gestures/panGesture.js +79 -4
  618. package/lib/module/handlers/gestures/panGesture.js.map +1 -1
  619. package/lib/module/handlers/gestures/pinchGesture.js +2 -0
  620. package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
  621. package/lib/module/handlers/gestures/reanimatedWrapper.js +3 -2
  622. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
  623. package/lib/module/handlers/gestures/rotationGesture.js +2 -0
  624. package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
  625. package/lib/module/handlers/gestures/tapGesture.js +45 -4
  626. package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
  627. package/lib/module/handlers/getNextHandlerTag.js +7 -0
  628. package/lib/module/handlers/getNextHandlerTag.js.map +1 -0
  629. package/lib/module/handlers/handlersRegistry.js +9 -9
  630. package/lib/module/handlers/handlersRegistry.js.map +1 -1
  631. package/lib/module/handlers/utils.js +61 -0
  632. package/lib/module/handlers/utils.js.map +1 -0
  633. package/lib/module/index.js +6 -0
  634. package/lib/module/index.js.map +1 -1
  635. package/lib/module/init.js +3 -1
  636. package/lib/module/init.js.map +1 -1
  637. package/lib/module/jestUtils/index.js +2 -0
  638. package/lib/module/jestUtils/index.js.map +1 -1
  639. package/lib/module/jestUtils/jestUtils.js +20 -14
  640. package/lib/module/jestUtils/jestUtils.js.map +1 -1
  641. package/lib/module/mocks/Pressable.js +4 -0
  642. package/lib/module/mocks/Pressable.js.map +1 -0
  643. package/lib/module/mocks/mocks.js +64 -0
  644. package/lib/module/mocks/mocks.js.map +1 -0
  645. package/lib/module/mocks.js +2 -0
  646. package/lib/module/mocks.js.map +1 -1
  647. package/lib/module/mountRegistry.js +32 -0
  648. package/lib/module/mountRegistry.js.map +1 -0
  649. package/lib/module/specs/NativeRNGestureHandlerModule.js +5 -0
  650. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -0
  651. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.kepler.js +2 -0
  652. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.kepler.js.map +1 -1
  653. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.ts +24 -0
  654. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +11 -0
  655. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.kepler.js.map +1 -0
  656. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.ts +7 -0
  657. package/lib/module/typeUtils.js +1 -1
  658. package/lib/module/typeUtils.js.map +1 -1
  659. package/lib/module/utils.js +45 -14
  660. package/lib/module/utils.js.map +1 -1
  661. package/lib/module/web/Gestures.js +42 -0
  662. package/lib/module/web/Gestures.js.map +1 -0
  663. package/lib/module/web/constants.js +3 -6
  664. package/lib/module/web/constants.js.map +1 -1
  665. package/lib/module/web/detectors/RotationGestureDetector.js +37 -40
  666. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  667. package/lib/module/web/detectors/ScaleGestureDetector.js +32 -46
  668. package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
  669. package/lib/module/web/handlers/FlingGestureHandler.js +52 -34
  670. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  671. package/lib/module/web/handlers/GestureHandler.js +218 -197
  672. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  673. package/lib/module/web/handlers/HoverGestureHandler.js +14 -15
  674. package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
  675. package/lib/module/web/handlers/IGestureHandler.js +2 -0
  676. package/lib/module/web/handlers/IGestureHandler.js.map +1 -0
  677. package/lib/module/web/handlers/LongPressGestureHandler.js +59 -30
  678. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
  679. package/lib/module/web/handlers/ManualGestureHandler.js +3 -12
  680. package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
  681. package/lib/module/web/handlers/NativeViewGestureHandler.js +44 -41
  682. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  683. package/lib/module/web/handlers/PanGestureHandler.js +119 -65
  684. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  685. package/lib/module/web/handlers/PinchGestureHandler.js +38 -50
  686. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
  687. package/lib/module/web/handlers/RotationGestureHandler.js +34 -49
  688. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
  689. package/lib/module/web/handlers/TapGestureHandler.js +41 -43
  690. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  691. package/lib/module/web/interfaces.js +7 -17
  692. package/lib/module/web/interfaces.js.map +1 -1
  693. package/lib/module/web/tools/CircularBuffer.js +14 -19
  694. package/lib/module/web/tools/CircularBuffer.js.map +1 -1
  695. package/lib/module/web/tools/EventManager.js +9 -8
  696. package/lib/module/web/tools/EventManager.js.map +1 -1
  697. package/lib/module/web/tools/GestureHandlerDelegate.js +2 -0
  698. package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -1
  699. package/lib/module/web/tools/GestureHandlerOrchestrator.js +123 -159
  700. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  701. package/lib/module/web/tools/GestureHandlerWebDelegate.js +103 -29
  702. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  703. package/lib/module/web/tools/InteractionManager.js +46 -47
  704. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  705. package/lib/module/web/tools/KeyboardEventManager.js +102 -0
  706. package/lib/module/web/tools/KeyboardEventManager.js.map +1 -0
  707. package/lib/module/web/tools/LeastSquareSolver.js +24 -30
  708. package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
  709. package/lib/module/web/tools/NodeManager.js +7 -7
  710. package/lib/module/web/tools/NodeManager.js.map +1 -1
  711. package/lib/module/web/tools/PointerEventManager.js +151 -131
  712. package/lib/module/web/tools/PointerEventManager.js.map +1 -1
  713. package/lib/module/web/tools/PointerTracker.js +99 -107
  714. package/lib/module/web/tools/PointerTracker.js.map +1 -1
  715. package/lib/module/web/tools/Vector.js +32 -0
  716. package/lib/module/web/tools/Vector.js.map +1 -0
  717. package/lib/module/web/tools/VelocityTracker.js +13 -15
  718. package/lib/module/web/tools/VelocityTracker.js.map +1 -1
  719. package/lib/module/web/tools/WheelEventManager.js +49 -0
  720. package/lib/module/web/tools/WheelEventManager.js.map +1 -0
  721. package/lib/module/web/utils.js +215 -0
  722. package/lib/module/web/utils.js.map +1 -1
  723. package/lib/module/web_hammer/DiscreteGestureHandler.js +3 -1
  724. package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
  725. package/lib/module/web_hammer/DraggingGestureHandler.js +3 -1
  726. package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
  727. package/lib/module/web_hammer/Errors.js +2 -0
  728. package/lib/module/web_hammer/Errors.js.map +1 -1
  729. package/lib/module/web_hammer/FlingGestureHandler.js +3 -1
  730. package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
  731. package/lib/module/web_hammer/GestureHandler.js +121 -128
  732. package/lib/module/web_hammer/GestureHandler.js.map +1 -1
  733. package/lib/module/web_hammer/IndiscreteGestureHandler.js +2 -0
  734. package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  735. package/lib/module/web_hammer/LongPressGestureHandler.js +3 -1
  736. package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -1
  737. package/lib/module/web_hammer/NativeViewGestureHandler.js +2 -0
  738. package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -1
  739. package/lib/module/web_hammer/NodeManager.js +3 -1
  740. package/lib/module/web_hammer/NodeManager.js.map +1 -1
  741. package/lib/module/web_hammer/PanGestureHandler.js +2 -0
  742. package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
  743. package/lib/module/web_hammer/PinchGestureHandler.js +2 -0
  744. package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
  745. package/lib/module/web_hammer/PressGestureHandler.js +4 -9
  746. package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
  747. package/lib/module/web_hammer/RotationGestureHandler.js +3 -2
  748. package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
  749. package/lib/module/web_hammer/TapGestureHandler.js +21 -27
  750. package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
  751. package/lib/module/web_hammer/constants.js +2 -0
  752. package/lib/module/web_hammer/constants.js.map +1 -1
  753. package/lib/module/web_hammer/utils.js +2 -0
  754. package/lib/module/web_hammer/utils.js.map +1 -1
  755. package/lib/typescript/ActionType.d.ts +2 -1
  756. package/lib/typescript/ActionType.d.ts.map +1 -0
  757. package/lib/typescript/Directions.d.ts +9 -1
  758. package/lib/typescript/Directions.d.ts.map +1 -0
  759. package/lib/typescript/EnableNewWebImplementation.d.ts +7 -0
  760. package/lib/typescript/EnableNewWebImplementation.d.ts.map +1 -0
  761. package/lib/typescript/GestureHandlerRootViewContext.d.ts +1 -0
  762. package/lib/typescript/GestureHandlerRootViewContext.d.ts.map +1 -0
  763. package/lib/typescript/PlatformConstants.d.ts +1 -0
  764. package/lib/typescript/PlatformConstants.d.ts.map +1 -0
  765. package/lib/typescript/PlatformConstants.kepler.d.ts +5 -0
  766. package/lib/typescript/PlatformConstants.kepler.d.ts.map +1 -0
  767. package/lib/typescript/PlatformConstants.web.d.ts +1 -0
  768. package/lib/typescript/PlatformConstants.web.d.ts.map +1 -0
  769. package/lib/typescript/PointerType.d.ts +8 -0
  770. package/lib/typescript/PointerType.d.ts.map +1 -0
  771. package/lib/typescript/RNGestureHandlerModule.d.ts +3 -13
  772. package/lib/typescript/RNGestureHandlerModule.d.ts.map +1 -0
  773. package/lib/typescript/RNGestureHandlerModule.kepler.d.ts +1 -0
  774. package/lib/typescript/RNGestureHandlerModule.kepler.d.ts.map +1 -0
  775. package/lib/typescript/RNGestureHandlerModule.web.d.ts +5 -39
  776. package/lib/typescript/RNGestureHandlerModule.web.d.ts.map +1 -0
  777. package/lib/typescript/RNGestureHandlerModule.windows.d.ts +6 -21
  778. package/lib/typescript/RNGestureHandlerModule.windows.d.ts.map +1 -0
  779. package/lib/typescript/RNRenderer.d.ts +1 -0
  780. package/lib/typescript/RNRenderer.d.ts.map +1 -0
  781. package/lib/typescript/RNRenderer.web.d.ts +1 -0
  782. package/lib/typescript/RNRenderer.web.d.ts.map +1 -0
  783. package/lib/typescript/State.d.ts +2 -1
  784. package/lib/typescript/State.d.ts.map +1 -0
  785. package/lib/typescript/TouchEventType.d.ts +2 -1
  786. package/lib/typescript/TouchEventType.d.ts.map +1 -0
  787. package/lib/typescript/components/DrawerLayout.d.ts +39 -1
  788. package/lib/typescript/components/DrawerLayout.d.ts.map +1 -0
  789. package/lib/typescript/components/GestureButtons.d.ts +6 -119
  790. package/lib/typescript/components/GestureButtons.d.ts.map +1 -0
  791. package/lib/typescript/components/GestureButtonsProps.d.ts +124 -0
  792. package/lib/typescript/components/GestureButtonsProps.d.ts.map +1 -0
  793. package/lib/typescript/components/GestureComponents.d.ts +4 -3
  794. package/lib/typescript/components/GestureComponents.d.ts.map +1 -0
  795. package/lib/typescript/components/GestureComponents.web.d.ts +1 -0
  796. package/lib/typescript/components/GestureComponents.web.d.ts.map +1 -0
  797. package/lib/typescript/components/GestureHandlerButton.d.ts +2 -1
  798. package/lib/typescript/components/GestureHandlerButton.d.ts.map +1 -0
  799. package/lib/typescript/components/GestureHandlerButton.web.d.ts +1 -0
  800. package/lib/typescript/components/GestureHandlerButton.web.d.ts.map +1 -0
  801. package/lib/typescript/components/GestureHandlerRootView.android.d.ts +2 -1
  802. package/lib/typescript/components/GestureHandlerRootView.android.d.ts.map +1 -0
  803. package/lib/typescript/components/GestureHandlerRootView.d.ts +2 -1
  804. package/lib/typescript/components/GestureHandlerRootView.d.ts.map +1 -0
  805. package/lib/typescript/components/GestureHandlerRootView.kepler.d.ts +1 -0
  806. package/lib/typescript/components/GestureHandlerRootView.kepler.d.ts.map +1 -0
  807. package/lib/typescript/components/GestureHandlerRootView.web.d.ts +2 -1
  808. package/lib/typescript/components/GestureHandlerRootView.web.d.ts.map +1 -0
  809. package/lib/typescript/components/Pressable/Pressable.d.ts +5 -0
  810. package/lib/typescript/components/Pressable/Pressable.d.ts.map +1 -0
  811. package/lib/typescript/components/Pressable/PressableProps.d.ts +137 -0
  812. package/lib/typescript/components/Pressable/PressableProps.d.ts.map +1 -0
  813. package/lib/typescript/components/Pressable/StateMachine.d.ts +16 -0
  814. package/lib/typescript/components/Pressable/StateMachine.d.ts.map +1 -0
  815. package/lib/typescript/components/Pressable/index.d.ts +3 -0
  816. package/lib/typescript/components/Pressable/index.d.ts.map +1 -0
  817. package/lib/typescript/components/Pressable/stateDefinitions.d.ts +11 -0
  818. package/lib/typescript/components/Pressable/stateDefinitions.d.ts.map +1 -0
  819. package/lib/typescript/components/Pressable/utils.d.ts +11 -0
  820. package/lib/typescript/components/Pressable/utils.d.ts.map +1 -0
  821. package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +168 -0
  822. package/lib/typescript/components/ReanimatedDrawerLayout.d.ts.map +1 -0
  823. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts +6 -0
  824. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts.map +1 -0
  825. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts +150 -0
  826. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts.map +1 -0
  827. package/lib/typescript/components/ReanimatedSwipeable/index.d.ts +3 -0
  828. package/lib/typescript/components/ReanimatedSwipeable/index.d.ts.map +1 -0
  829. package/lib/typescript/components/Swipeable.d.ts +14 -0
  830. package/lib/typescript/components/Swipeable.d.ts.map +1 -0
  831. package/lib/typescript/components/Text.d.ts +5 -0
  832. package/lib/typescript/components/Text.d.ts.map +1 -0
  833. package/lib/typescript/components/gestureHandlerRootHOC.d.ts +6 -1
  834. package/lib/typescript/components/gestureHandlerRootHOC.d.ts.map +1 -0
  835. package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +8 -0
  836. package/lib/typescript/components/touchables/ExtraButtonProps.d.ts.map +1 -0
  837. package/lib/typescript/components/touchables/GenericTouchable.d.ts +4 -16
  838. package/lib/typescript/components/touchables/GenericTouchable.d.ts.map +1 -0
  839. package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +17 -0
  840. package/lib/typescript/components/touchables/GenericTouchableProps.d.ts.map +1 -0
  841. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +7 -1
  842. package/lib/typescript/components/touchables/TouchableHighlight.d.ts.map +1 -0
  843. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +6 -10
  844. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts.map +1 -0
  845. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +6 -1
  846. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts.map +1 -0
  847. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +9 -0
  848. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts.map +1 -0
  849. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +7 -1
  850. package/lib/typescript/components/touchables/TouchableOpacity.d.ts.map +1 -0
  851. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +11 -3
  852. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts.map +1 -0
  853. package/lib/typescript/components/touchables/index.d.ts +1 -0
  854. package/lib/typescript/components/touchables/index.d.ts.map +1 -0
  855. package/lib/typescript/components/utils.d.ts +5 -0
  856. package/lib/typescript/components/utils.d.ts.map +1 -0
  857. package/lib/typescript/findNodeHandle.d.ts +3 -0
  858. package/lib/typescript/findNodeHandle.d.ts.map +1 -0
  859. package/lib/typescript/findNodeHandle.web.d.ts +3 -0
  860. package/lib/typescript/findNodeHandle.web.d.ts.map +1 -0
  861. package/lib/typescript/getShadowNodeFromRef.d.ts +2 -1
  862. package/lib/typescript/getShadowNodeFromRef.d.ts.map +1 -0
  863. package/lib/typescript/getShadowNodeFromRef.web.d.ts +1 -0
  864. package/lib/typescript/getShadowNodeFromRef.web.d.ts.map +1 -0
  865. package/lib/typescript/ghQueueMicrotask.d.ts +2 -0
  866. package/lib/typescript/ghQueueMicrotask.d.ts.map +1 -0
  867. package/lib/typescript/handlers/FlingGestureHandler.d.ts +11 -6
  868. package/lib/typescript/handlers/FlingGestureHandler.d.ts.map +1 -0
  869. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +11 -10
  870. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts.map +1 -0
  871. package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts +198 -0
  872. package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts.map +1 -0
  873. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +16 -36
  874. package/lib/typescript/handlers/LongPressGestureHandler.d.ts.map +1 -0
  875. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +12 -7
  876. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts.map +1 -0
  877. package/lib/typescript/handlers/PanGestureHandler.d.ts +16 -55
  878. package/lib/typescript/handlers/PanGestureHandler.d.ts.map +1 -0
  879. package/lib/typescript/handlers/PinchGestureHandler.d.ts +11 -23
  880. package/lib/typescript/handlers/PinchGestureHandler.d.ts.map +1 -0
  881. package/lib/typescript/handlers/PressabilityDebugView.d.ts +1 -0
  882. package/lib/typescript/handlers/PressabilityDebugView.d.ts.map +1 -0
  883. package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +1 -0
  884. package/lib/typescript/handlers/PressabilityDebugView.web.d.ts.map +1 -0
  885. package/lib/typescript/handlers/RotationGestureHandler.d.ts +11 -23
  886. package/lib/typescript/handlers/RotationGestureHandler.d.ts.map +1 -0
  887. package/lib/typescript/handlers/TapGestureHandler.d.ts +11 -6
  888. package/lib/typescript/handlers/TapGestureHandler.d.ts.map +1 -0
  889. package/lib/typescript/handlers/createHandler.d.ts +1 -0
  890. package/lib/typescript/handlers/createHandler.d.ts.map +1 -0
  891. package/lib/typescript/handlers/createNativeWrapper.d.ts +1 -0
  892. package/lib/typescript/handlers/createNativeWrapper.d.ts.map +1 -0
  893. package/lib/typescript/handlers/customDirectEventTypes.d.ts +2 -0
  894. package/lib/typescript/handlers/customDirectEventTypes.d.ts.map +1 -0
  895. package/lib/typescript/handlers/customDirectEventTypes.web.d.ts +3 -0
  896. package/lib/typescript/handlers/customDirectEventTypes.web.d.ts.map +1 -0
  897. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +20 -8
  898. package/lib/typescript/handlers/gestureHandlerCommon.d.ts.map +1 -0
  899. package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +20 -9
  900. package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts.map +1 -0
  901. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.d.ts +14 -0
  902. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.d.ts.map +1 -0
  903. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.d.ts +8 -0
  904. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.d.ts.map +1 -0
  905. package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.d.ts +14 -0
  906. package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.d.ts.map +1 -0
  907. package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.d.ts +3 -0
  908. package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.d.ts.map +1 -0
  909. package/lib/typescript/handlers/gestures/GestureDetector/index.d.ts +50 -0
  910. package/lib/typescript/handlers/gestures/GestureDetector/index.d.ts.map +1 -0
  911. package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.d.ts +4 -0
  912. package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.d.ts.map +1 -0
  913. package/lib/typescript/handlers/gestures/GestureDetector/types.d.ts +21 -0
  914. package/lib/typescript/handlers/gestures/GestureDetector/types.d.ts.map +1 -0
  915. package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.d.ts +5 -0
  916. package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.d.ts.map +1 -0
  917. package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.d.ts +3 -0
  918. package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.d.ts.map +1 -0
  919. package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.d.ts +6 -0
  920. package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.d.ts.map +1 -0
  921. package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.d.ts +3 -0
  922. package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.d.ts.map +1 -0
  923. package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.d.ts +4 -0
  924. package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.d.ts.map +1 -0
  925. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +13 -0
  926. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts.map +1 -0
  927. package/lib/typescript/handlers/gestures/eventReceiver.d.ts +1 -0
  928. package/lib/typescript/handlers/gestures/eventReceiver.d.ts.map +1 -0
  929. package/lib/typescript/handlers/gestures/flingGesture.d.ts +14 -1
  930. package/lib/typescript/handlers/gestures/flingGesture.d.ts.map +1 -0
  931. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +26 -1
  932. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts.map +1 -0
  933. package/lib/typescript/handlers/gestures/gesture.d.ts +121 -11
  934. package/lib/typescript/handlers/gestures/gesture.d.ts.map +1 -0
  935. package/lib/typescript/handlers/gestures/gestureComposition.d.ts +1 -0
  936. package/lib/typescript/handlers/gestures/gestureComposition.d.ts.map +1 -0
  937. package/lib/typescript/handlers/gestures/gestureObjects.d.ts +60 -0
  938. package/lib/typescript/handlers/gestures/gestureObjects.d.ts.map +1 -0
  939. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +6 -1
  940. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts.map +1 -0
  941. package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +1 -0
  942. package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts.map +1 -0
  943. package/lib/typescript/handlers/gestures/hoverGesture.d.ts +3 -7
  944. package/lib/typescript/handlers/gestures/hoverGesture.d.ts.map +1 -0
  945. package/lib/typescript/handlers/gestures/longPressGesture.d.ts +18 -1
  946. package/lib/typescript/handlers/gestures/longPressGesture.d.ts.map +1 -0
  947. package/lib/typescript/handlers/gestures/manualGesture.d.ts +1 -0
  948. package/lib/typescript/handlers/gestures/manualGesture.d.ts.map +1 -0
  949. package/lib/typescript/handlers/gestures/nativeGesture.d.ts +11 -1
  950. package/lib/typescript/handlers/gestures/nativeGesture.d.ts.map +1 -0
  951. package/lib/typescript/handlers/gestures/panGesture.d.ts +70 -5
  952. package/lib/typescript/handlers/gestures/panGesture.d.ts.map +1 -0
  953. package/lib/typescript/handlers/gestures/pinchGesture.d.ts +2 -1
  954. package/lib/typescript/handlers/gestures/pinchGesture.d.ts.map +1 -0
  955. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +2 -1
  956. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts.map +1 -0
  957. package/lib/typescript/handlers/gestures/rotationGesture.d.ts +2 -1
  958. package/lib/typescript/handlers/gestures/rotationGesture.d.ts.map +1 -0
  959. package/lib/typescript/handlers/gestures/tapGesture.d.ts +38 -1
  960. package/lib/typescript/handlers/gestures/tapGesture.d.ts.map +1 -0
  961. package/lib/typescript/handlers/getNextHandlerTag.d.ts +2 -0
  962. package/lib/typescript/handlers/getNextHandlerTag.d.ts.map +1 -0
  963. package/lib/typescript/handlers/handlersRegistry.d.ts +3 -2
  964. package/lib/typescript/handlers/handlersRegistry.d.ts.map +1 -0
  965. package/lib/typescript/handlers/utils.d.ts +8 -0
  966. package/lib/typescript/handlers/utils.d.ts.map +1 -0
  967. package/lib/typescript/index.d.ts +16 -9
  968. package/lib/typescript/index.d.ts.map +1 -0
  969. package/lib/typescript/init.d.ts +1 -0
  970. package/lib/typescript/init.d.ts.map +1 -0
  971. package/lib/typescript/jestUtils/index.d.ts +1 -0
  972. package/lib/typescript/jestUtils/index.d.ts.map +1 -0
  973. package/lib/typescript/jestUtils/jestUtils.d.ts +10 -8
  974. package/lib/typescript/jestUtils/jestUtils.d.ts.map +1 -0
  975. package/lib/typescript/mocks/Pressable.d.ts +2 -0
  976. package/lib/typescript/mocks/Pressable.d.ts.map +1 -0
  977. package/lib/typescript/mocks/mocks.d.ts +47 -0
  978. package/lib/typescript/mocks/mocks.d.ts.map +1 -0
  979. package/lib/typescript/mocks.d.ts +4 -3
  980. package/lib/typescript/mocks.d.ts.map +1 -0
  981. package/lib/typescript/mountRegistry.d.ts +17 -0
  982. package/lib/typescript/mountRegistry.d.ts.map +1 -0
  983. package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +15 -0
  984. package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts.map +1 -0
  985. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +5 -2
  986. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts.map +1 -0
  987. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.kepler.d.ts +2 -0
  988. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.kepler.d.ts.map +1 -0
  989. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +1 -1
  990. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts.map +1 -0
  991. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.kepler.d.ts +7 -0
  992. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.kepler.d.ts.map +1 -0
  993. package/lib/typescript/typeUtils.d.ts +1 -0
  994. package/lib/typescript/typeUtils.d.ts.map +1 -0
  995. package/lib/typescript/utils.d.ts +14 -5
  996. package/lib/typescript/utils.d.ts.map +1 -0
  997. package/lib/typescript/web/Gestures.d.ts +37 -0
  998. package/lib/typescript/web/Gestures.d.ts.map +1 -0
  999. package/lib/typescript/web/constants.d.ts +2 -6
  1000. package/lib/typescript/web/constants.d.ts.map +1 -0
  1001. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +8 -7
  1002. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts.map +1 -0
  1003. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +9 -8
  1004. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts.map +1 -0
  1005. package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +4 -4
  1006. package/lib/typescript/web/handlers/FlingGestureHandler.d.ts.map +1 -0
  1007. package/lib/typescript/web/handlers/GestureHandler.d.ts +50 -37
  1008. package/lib/typescript/web/handlers/GestureHandler.d.ts.map +1 -0
  1009. package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +4 -3
  1010. package/lib/typescript/web/handlers/HoverGestureHandler.d.ts.map +1 -0
  1011. package/lib/typescript/web/handlers/IGestureHandler.d.ts +38 -0
  1012. package/lib/typescript/web/handlers/IGestureHandler.d.ts.map +1 -0
  1013. package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +5 -0
  1014. package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts.map +1 -0
  1015. package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +2 -3
  1016. package/lib/typescript/web/handlers/ManualGestureHandler.d.ts.map +1 -0
  1017. package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +3 -1
  1018. package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts.map +1 -0
  1019. package/lib/typescript/web/handlers/PanGestureHandler.d.ts +11 -2
  1020. package/lib/typescript/web/handlers/PanGestureHandler.d.ts.map +1 -0
  1021. package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +2 -2
  1022. package/lib/typescript/web/handlers/PinchGestureHandler.d.ts.map +1 -0
  1023. package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +2 -3
  1024. package/lib/typescript/web/handlers/RotationGestureHandler.d.ts.map +1 -0
  1025. package/lib/typescript/web/handlers/TapGestureHandler.d.ts +2 -1
  1026. package/lib/typescript/web/handlers/TapGestureHandler.d.ts.map +1 -0
  1027. package/lib/typescript/web/interfaces.d.ts +40 -22
  1028. package/lib/typescript/web/interfaces.d.ts.map +1 -0
  1029. package/lib/typescript/web/tools/CircularBuffer.d.ts +4 -3
  1030. package/lib/typescript/web/tools/CircularBuffer.d.ts.map +1 -0
  1031. package/lib/typescript/web/tools/EventManager.d.ts +20 -14
  1032. package/lib/typescript/web/tools/EventManager.d.ts.map +1 -0
  1033. package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +7 -4
  1034. package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts.map +1 -0
  1035. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +10 -8
  1036. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts.map +1 -0
  1037. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +20 -5
  1038. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts.map +1 -0
  1039. package/lib/typescript/web/tools/InteractionManager.d.ts +10 -8
  1040. package/lib/typescript/web/tools/InteractionManager.d.ts.map +1 -0
  1041. package/lib/typescript/web/tools/KeyboardEventManager.d.ts +17 -0
  1042. package/lib/typescript/web/tools/KeyboardEventManager.d.ts.map +1 -0
  1043. package/lib/typescript/web/tools/LeastSquareSolver.d.ts +1 -0
  1044. package/lib/typescript/web/tools/LeastSquareSolver.d.ts.map +1 -0
  1045. package/lib/typescript/web/tools/NodeManager.d.ts +6 -4
  1046. package/lib/typescript/web/tools/NodeManager.d.ts.map +1 -0
  1047. package/lib/typescript/web/tools/PointerEventManager.d.ts +14 -2
  1048. package/lib/typescript/web/tools/PointerEventManager.d.ts.map +1 -0
  1049. package/lib/typescript/web/tools/PointerTracker.d.ts +33 -35
  1050. package/lib/typescript/web/tools/PointerTracker.d.ts.map +1 -0
  1051. package/lib/typescript/web/tools/Vector.d.ts +16 -0
  1052. package/lib/typescript/web/tools/Vector.d.ts.map +1 -0
  1053. package/lib/typescript/web/tools/VelocityTracker.d.ts +2 -1
  1054. package/lib/typescript/web/tools/VelocityTracker.d.ts.map +1 -0
  1055. package/lib/typescript/web/tools/WheelEventManager.d.ts +12 -0
  1056. package/lib/typescript/web/tools/WheelEventManager.d.ts.map +1 -0
  1057. package/lib/typescript/web/utils.d.ts +15 -4
  1058. package/lib/typescript/web/utils.d.ts.map +1 -0
  1059. package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts +1 -0
  1060. package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts.map +1 -0
  1061. package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts +1 -0
  1062. package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts.map +1 -0
  1063. package/lib/typescript/web_hammer/Errors.d.ts +1 -0
  1064. package/lib/typescript/web_hammer/Errors.d.ts.map +1 -0
  1065. package/lib/typescript/web_hammer/FlingGestureHandler.d.ts +1 -0
  1066. package/lib/typescript/web_hammer/FlingGestureHandler.d.ts.map +1 -0
  1067. package/lib/typescript/web_hammer/GestureHandler.d.ts +1 -0
  1068. package/lib/typescript/web_hammer/GestureHandler.d.ts.map +1 -0
  1069. package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts +1 -0
  1070. package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts.map +1 -0
  1071. package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts +1 -0
  1072. package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts.map +1 -0
  1073. package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts +1 -0
  1074. package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts.map +1 -0
  1075. package/lib/typescript/web_hammer/NodeManager.d.ts +5 -5
  1076. package/lib/typescript/web_hammer/NodeManager.d.ts.map +1 -0
  1077. package/lib/typescript/web_hammer/PanGestureHandler.d.ts +1 -0
  1078. package/lib/typescript/web_hammer/PanGestureHandler.d.ts.map +1 -0
  1079. package/lib/typescript/web_hammer/PinchGestureHandler.d.ts +1 -0
  1080. package/lib/typescript/web_hammer/PinchGestureHandler.d.ts.map +1 -0
  1081. package/lib/typescript/web_hammer/PressGestureHandler.d.ts +1 -0
  1082. package/lib/typescript/web_hammer/PressGestureHandler.d.ts.map +1 -0
  1083. package/lib/typescript/web_hammer/RotationGestureHandler.d.ts +1 -0
  1084. package/lib/typescript/web_hammer/RotationGestureHandler.d.ts.map +1 -0
  1085. package/lib/typescript/web_hammer/TapGestureHandler.d.ts +1 -0
  1086. package/lib/typescript/web_hammer/TapGestureHandler.d.ts.map +1 -0
  1087. package/lib/typescript/web_hammer/constants.d.ts +1 -0
  1088. package/lib/typescript/web_hammer/constants.d.ts.map +1 -0
  1089. package/lib/typescript/web_hammer/utils.d.ts +1 -0
  1090. package/lib/typescript/web_hammer/utils.d.ts.map +1 -0
  1091. package/package.json +1 -1
  1092. package/react-native.config.js +27 -0
  1093. package/scripts/gesture_handler_utils.rb +25 -0
  1094. package/src/ActionType.ts +1 -1
  1095. package/src/Directions.ts +22 -5
  1096. package/src/EnableNewWebImplementation.ts +18 -0
  1097. package/src/PlatformConstants.kepler.ts +5 -0
  1098. package/src/PointerType.ts +7 -0
  1099. package/src/RNGestureHandlerModule.kepler.ts +3 -3
  1100. package/src/RNGestureHandlerModule.ts +4 -49
  1101. package/src/RNGestureHandlerModule.web.ts +29 -51
  1102. package/src/RNGestureHandlerModule.windows.ts +18 -100
  1103. package/src/State.ts +1 -1
  1104. package/src/TouchEventType.ts +2 -1
  1105. package/src/components/DrawerLayout.tsx +58 -13
  1106. package/src/components/GestureButtons.tsx +61 -123
  1107. package/src/components/GestureButtonsProps.ts +156 -0
  1108. package/src/components/GestureComponents.tsx +11 -11
  1109. package/src/components/GestureComponents.web.tsx +1 -1
  1110. package/src/components/GestureHandlerButton.tsx +1 -1
  1111. package/src/components/GestureHandlerButton.web.tsx +3 -3
  1112. package/src/components/GestureHandlerRootView.android.tsx +15 -7
  1113. package/src/components/GestureHandlerRootView.kepler.tsx +3 -2
  1114. package/src/components/GestureHandlerRootView.tsx +12 -7
  1115. package/src/components/GestureHandlerRootView.web.tsx +11 -6
  1116. package/src/components/Pressable/Pressable.tsx +401 -0
  1117. package/src/components/Pressable/PressableProps.tsx +174 -0
  1118. package/src/components/Pressable/StateMachine.tsx +57 -0
  1119. package/src/components/Pressable/index.ts +5 -0
  1120. package/src/components/Pressable/stateDefinitions.ts +126 -0
  1121. package/src/components/Pressable/utils.ts +140 -0
  1122. package/src/components/ReanimatedDrawerLayout.tsx +754 -0
  1123. package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +607 -0
  1124. package/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts +199 -0
  1125. package/src/components/ReanimatedSwipeable/index.ts +6 -0
  1126. package/src/components/Swipeable.tsx +59 -15
  1127. package/src/components/Text.tsx +77 -0
  1128. package/src/components/gestureHandlerRootHOC.tsx +7 -6
  1129. package/src/components/touchables/ExtraButtonProps.ts +7 -0
  1130. package/src/components/touchables/GenericTouchable.tsx +15 -41
  1131. package/src/components/touchables/GenericTouchableProps.ts +28 -0
  1132. package/src/components/touchables/TouchableHighlight.tsx +7 -4
  1133. package/src/components/touchables/TouchableNativeFeedback.android.tsx +10 -18
  1134. package/src/components/touchables/TouchableNativeFeedback.tsx +6 -1
  1135. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +10 -0
  1136. package/src/components/touchables/TouchableOpacity.tsx +8 -5
  1137. package/src/components/touchables/TouchableWithoutFeedback.tsx +31 -6
  1138. package/src/components/utils.ts +26 -0
  1139. package/src/findNodeHandle.ts +3 -0
  1140. package/src/findNodeHandle.web.ts +41 -0
  1141. package/src/getShadowNodeFromRef.ts +35 -7
  1142. package/src/ghQueueMicrotask.ts +8 -0
  1143. package/src/handlers/FlingGestureHandler.ts +11 -6
  1144. package/src/handlers/ForceTouchGestureHandler.ts +10 -12
  1145. package/src/handlers/GestureHandlerEventPayload.ts +229 -0
  1146. package/src/handlers/LongPressGestureHandler.ts +17 -40
  1147. package/src/handlers/NativeViewGestureHandler.ts +11 -7
  1148. package/src/handlers/PanGestureHandler.ts +19 -62
  1149. package/src/handlers/PinchGestureHandler.ts +11 -27
  1150. package/src/handlers/RotationGestureHandler.ts +11 -27
  1151. package/src/handlers/TapGestureHandler.ts +11 -6
  1152. package/src/handlers/createHandler.tsx +97 -58
  1153. package/src/handlers/createNativeWrapper.tsx +7 -3
  1154. package/src/handlers/customDirectEventTypes.ts +2 -0
  1155. package/src/handlers/customDirectEventTypes.web.ts +5 -0
  1156. package/src/handlers/gestureHandlerCommon.ts +50 -83
  1157. package/src/handlers/gestureHandlerTypesCompat.ts +25 -30
  1158. package/src/handlers/gestures/GestureDetector/Wrap.tsx +35 -0
  1159. package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +42 -0
  1160. package/src/handlers/gestures/GestureDetector/attachHandlers.ts +112 -0
  1161. package/src/handlers/gestures/GestureDetector/dropHandlers.ts +17 -0
  1162. package/src/handlers/gestures/GestureDetector/index.tsx +191 -0
  1163. package/src/handlers/gestures/GestureDetector/needsToReattach.ts +27 -0
  1164. package/src/handlers/gestures/GestureDetector/types.ts +32 -0
  1165. package/src/handlers/gestures/GestureDetector/updateHandlers.ts +92 -0
  1166. package/src/handlers/gestures/GestureDetector/useAnimatedGesture.ts +209 -0
  1167. package/src/handlers/gestures/GestureDetector/useDetectorUpdater.ts +69 -0
  1168. package/src/handlers/gestures/GestureDetector/useMountReactions.ts +51 -0
  1169. package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +58 -0
  1170. package/src/handlers/gestures/GestureDetector/utils.ts +181 -0
  1171. package/src/handlers/gestures/eventReceiver.ts +6 -5
  1172. package/src/handlers/gestures/flingGesture.ts +13 -4
  1173. package/src/handlers/gestures/forceTouchGesture.ts +25 -4
  1174. package/src/handlers/gestures/gesture.ts +151 -20
  1175. package/src/handlers/gestures/gestureComposition.ts +5 -3
  1176. package/src/handlers/gestures/gestureObjects.ts +59 -0
  1177. package/src/handlers/gestures/gestureStateManager.ts +55 -41
  1178. package/src/handlers/gestures/gestureStateManager.web.ts +3 -1
  1179. package/src/handlers/gestures/hoverGesture.ts +2 -8
  1180. package/src/handlers/gestures/longPressGesture.ts +21 -4
  1181. package/src/handlers/gestures/nativeGesture.ts +10 -4
  1182. package/src/handlers/gestures/panGesture.ts +77 -8
  1183. package/src/handlers/gestures/pinchGesture.ts +1 -1
  1184. package/src/handlers/gestures/reanimatedWrapper.ts +18 -17
  1185. package/src/handlers/gestures/rotationGesture.ts +1 -1
  1186. package/src/handlers/gestures/tapGesture.ts +37 -4
  1187. package/src/handlers/getNextHandlerTag.ts +5 -0
  1188. package/src/handlers/handlersRegistry.ts +7 -9
  1189. package/src/handlers/utils.ts +76 -0
  1190. package/src/index.ts +31 -36
  1191. package/src/init.ts +1 -1
  1192. package/src/jestUtils/jestUtils.ts +30 -22
  1193. package/src/mocks/Pressable.tsx +1 -0
  1194. package/src/mocks/mocks.tsx +70 -0
  1195. package/src/mountRegistry.ts +51 -0
  1196. package/src/specs/NativeRNGestureHandlerModule.ts +26 -0
  1197. package/src/specs/RNGestureHandlerButtonNativeComponent.ts +4 -0
  1198. package/src/specs/RNGestureHandlerRootViewNativeComponent.kepler.ts +21 -0
  1199. package/src/utils.ts +58 -13
  1200. package/src/web/Gestures.ts +41 -0
  1201. package/src/web/constants.ts +1 -7
  1202. package/src/web/detectors/RotationGestureDetector.ts +31 -29
  1203. package/src/web/detectors/ScaleGestureDetector.ts +34 -35
  1204. package/src/web/handlers/FlingGestureHandler.ts +73 -38
  1205. package/src/web/handlers/GestureHandler.ts +224 -193
  1206. package/src/web/handlers/HoverGestureHandler.ts +16 -10
  1207. package/src/web/handlers/IGestureHandler.ts +49 -0
  1208. package/src/web/handlers/LongPressGestureHandler.ts +68 -18
  1209. package/src/web/handlers/ManualGestureHandler.ts +3 -9
  1210. package/src/web/handlers/NativeViewGestureHandler.ts +44 -36
  1211. package/src/web/handlers/PanGestureHandler.ts +123 -37
  1212. package/src/web/handlers/PinchGestureHandler.ts +20 -26
  1213. package/src/web/handlers/RotationGestureHandler.ts +15 -21
  1214. package/src/web/handlers/TapGestureHandler.ts +26 -25
  1215. package/src/web/interfaces.ts +46 -22
  1216. package/src/web/tools/CircularBuffer.ts +15 -15
  1217. package/src/web/tools/EventManager.ts +24 -20
  1218. package/src/web/tools/GestureHandlerDelegate.ts +7 -4
  1219. package/src/web/tools/GestureHandlerOrchestrator.ts +183 -189
  1220. package/src/web/tools/GestureHandlerWebDelegate.ts +139 -27
  1221. package/src/web/tools/InteractionManager.ts +62 -50
  1222. package/src/web/tools/KeyboardEventManager.ts +133 -0
  1223. package/src/web/tools/LeastSquareSolver.ts +18 -18
  1224. package/src/web/tools/NodeManager.ts +11 -6
  1225. package/src/web/tools/PointerEventManager.ts +177 -144
  1226. package/src/web/tools/PointerTracker.ts +94 -106
  1227. package/src/web/tools/Vector.ts +59 -0
  1228. package/src/web/tools/VelocityTracker.ts +7 -7
  1229. package/src/web/tools/WheelEventManager.ts +48 -0
  1230. package/src/web/utils.ts +289 -4
  1231. package/src/web_hammer/DiscreteGestureHandler.ts +1 -1
  1232. package/src/web_hammer/DraggingGestureHandler.ts +1 -1
  1233. package/src/web_hammer/FlingGestureHandler.ts +1 -1
  1234. package/src/web_hammer/GestureHandler.ts +5 -3
  1235. package/src/web_hammer/LongPressGestureHandler.ts +1 -1
  1236. package/src/web_hammer/NodeManager.ts +2 -11
  1237. package/src/web_hammer/PressGestureHandler.ts +7 -4
  1238. package/README.kepler.md +0 -167
  1239. package/SystemBundles/94837b5e706b3cc0138b2ee460c5e7c9c0ae02fcab7709d9bd0845d4a59b1c43.bundle +0 -67496
  1240. package/SystemBundles/94837b5e706b3cc0138b2ee460c5e7c9c0ae02fcab7709d9bd0845d4a59b1c43.map +0 -1
  1241. package/SystemModules/amzn__react-native-gesture-handler-2.modules.txt +0 -338
  1242. package/SystemModules/amzn__react-native-gesture-handler-2.private.modules.txt +0 -96
  1243. package/THIRD_PARTY_NOTICES.txt +0 -24
  1244. package/ios/Handlers/RNFlingHandler.m +0 -152
  1245. package/ios/Handlers/RNLongPressHandler.m +0 -183
  1246. package/ios/Handlers/RNPinchHandler.m +0 -95
  1247. package/ios/Handlers/RNRotationHandler.m +0 -93
  1248. package/ios/RNGestureHandlerButton.h +0 -19
  1249. package/ios/RNGestureHandlerButton.m +0 -77
  1250. package/ios/RNGestureHandlerButtonComponentView.mm +0 -62
  1251. package/ios/RNGestureHandlerDirection.h +0 -8
  1252. package/ios/RNGestureHandlerModule.h +0 -7
  1253. package/lib/commonjs/RNGestureHandlerModule.macos.js +0 -113
  1254. package/lib/commonjs/RNGestureHandlerModule.macos.js.map +0 -1
  1255. package/lib/commonjs/handlers/gestures/GestureDetector.js +0 -548
  1256. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +0 -1
  1257. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +0 -11
  1258. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +0 -1
  1259. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +0 -11
  1260. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +0 -1
  1261. package/lib/commonjs/web/tools/TouchEventManager.js +0 -126
  1262. package/lib/commonjs/web/tools/TouchEventManager.js.map +0 -1
  1263. package/lib/module/RNGestureHandlerModule.macos.js +0 -104
  1264. package/lib/module/RNGestureHandlerModule.macos.js.map +0 -1
  1265. package/lib/module/handlers/gestures/GestureDetector.js +0 -538
  1266. package/lib/module/handlers/gestures/GestureDetector.js.map +0 -1
  1267. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js +0 -4
  1268. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +0 -1
  1269. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js +0 -4
  1270. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +0 -1
  1271. package/lib/module/web/tools/TouchEventManager.js +0 -118
  1272. package/lib/module/web/tools/TouchEventManager.js.map +0 -1
  1273. package/lib/typescript/RNGestureHandlerModule.macos.d.ts +0 -47
  1274. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +0 -19
  1275. package/lib/typescript/web/tools/TouchEventManager.d.ts +0 -6
  1276. package/src/RNGestureHandlerModule.macos.ts +0 -133
  1277. package/src/handlers/gestures/GestureDetector.tsx +0 -818
  1278. package/src/web/tools/TouchEventManager.ts +0 -167
  1279. /package/android/{src/fabric → fabric/src/main}/java/com/swmansion/gesturehandler/RNGestureHandlerComponentsRegistry.java +0 -0
  1280. /package/android/{common → noreanimated}/src/main/java/com/swmansion/common/GestureHandlerStateManager.kt +0 -0
  1281. /package/{ios → apple}/Handlers/RNForceTouchHandler.h +0 -0
  1282. /package/{ios → apple}/Handlers/RNHoverHandler.h +0 -0
  1283. /package/{ios → apple}/Handlers/RNLongPressHandler.h +0 -0
  1284. /package/{ios → apple}/Handlers/RNManualHandler.h +0 -0
  1285. /package/{ios → apple}/Handlers/RNNativeViewHandler.h +0 -0
  1286. /package/{ios → apple}/Handlers/RNPanHandler.h +0 -0
  1287. /package/{ios → apple}/Handlers/RNPinchHandler.h +0 -0
  1288. /package/{ios → apple}/Handlers/RNRotationHandler.h +0 -0
  1289. /package/{ios → apple}/Handlers/RNTapHandler.h +0 -0
  1290. /package/{ios → apple}/RNGHTouchEventType.h +0 -0
  1291. /package/{ios → apple}/RNGestureHandler.xcodeproj/project.pbxproj +0 -0
  1292. /package/{ios → apple}/RNGestureHandler.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
  1293. /package/{ios → apple}/RNGestureHandlerActionType.h +0 -0
  1294. /package/{ios → apple}/RNGestureHandlerButtonManager.h +0 -0
  1295. /package/{ios → apple}/RNGestureHandlerRootViewComponentView.mm +0 -0
  1296. /package/{ios → apple}/RNGestureHandlerState.h +0 -0
  1297. /package/{ios → apple}/RNGestureHandlerStateManager.h +0 -0
  1298. /package/{ios → apple}/RNRootViewGestureRecognizer.h +0 -0
@@ -1,8 +1,8 @@
1
1
  package com.swmansion.gesturehandler.core
2
2
 
3
3
  interface GestureHandlerInteractionController {
4
- fun shouldWaitForHandlerFailure(handler: GestureHandler<*>, otherHandler: GestureHandler<*>): Boolean
5
- fun shouldRequireHandlerToWaitForFailure(handler: GestureHandler<*>, otherHandler: GestureHandler<*>): Boolean
6
- fun shouldRecognizeSimultaneously(handler: GestureHandler<*>, otherHandler: GestureHandler<*>): Boolean
7
- fun shouldHandlerBeCancelledBy(handler: GestureHandler<*>, otherHandler: GestureHandler<*>): Boolean
4
+ fun shouldWaitForHandlerFailure(handler: GestureHandler, otherHandler: GestureHandler): Boolean
5
+ fun shouldRequireHandlerToWaitForFailure(handler: GestureHandler, otherHandler: GestureHandler): Boolean
6
+ fun shouldRecognizeSimultaneously(handler: GestureHandler, otherHandler: GestureHandler): Boolean
7
+ fun shouldHandlerBeCancelledBy(handler: GestureHandler, otherHandler: GestureHandler): Boolean
8
8
  }
@@ -6,6 +6,7 @@ import android.view.MotionEvent
6
6
  import android.view.View
7
7
  import android.view.ViewGroup
8
8
  import android.widget.EditText
9
+ import com.swmansion.gesturehandler.react.RNGestureHandlerRootHelper
9
10
  import java.util.*
10
11
 
11
12
  class GestureHandlerOrchestrator(
@@ -19,13 +20,17 @@ class GestureHandlerOrchestrator(
19
20
  * traversing view hierarchy and looking for gesture handlers.
20
21
  */
21
22
  var minimumAlphaForTraversal = DEFAULT_MIN_ALPHA_FOR_TRAVERSAL
23
+ private val gestureHandlers = arrayListOf<GestureHandler>()
24
+ private val awaitingHandlers = arrayListOf<GestureHandler>()
25
+ private val preparedHandlers = arrayListOf<GestureHandler>()
26
+
27
+ // In `onHandlerStateChange` method we iterate through `awaitingHandlers`, but calling `tryActivate` may modify this list.
28
+ // To avoid `ConcurrentModificationException` we iterate through copy. There is one more problem though - if handler was
29
+ // removed from `awaitingHandlers`, it was still present in copy of original list. This hashset helps us identify which handlers
30
+ // are really inside `awaitingHandlers`.
31
+ // `contains` method on HashSet has O(1) complexity, so calling it inside for loop won't result in O(n^2) (contrary to ArrayList)
32
+ private val awaitingHandlersTags = HashSet<Int>()
22
33
 
23
- private val gestureHandlers = arrayOfNulls<GestureHandler<*>?>(SIMULTANEOUS_GESTURE_HANDLER_LIMIT)
24
- private val awaitingHandlers = arrayOfNulls<GestureHandler<*>?>(SIMULTANEOUS_GESTURE_HANDLER_LIMIT)
25
- private val preparedHandlers = arrayOfNulls<GestureHandler<*>?>(SIMULTANEOUS_GESTURE_HANDLER_LIMIT)
26
- private val handlersToCancel = arrayOfNulls<GestureHandler<*>?>(SIMULTANEOUS_GESTURE_HANDLER_LIMIT)
27
- private var gestureHandlersCount = 0
28
- private var awaitingHandlersCount = 0
29
34
  private var isHandlingTouch = false
30
35
  private var handlingChangeSemaphore = 0
31
36
  private var finishedHandlersCleanupScheduled = false
@@ -37,7 +42,10 @@ class GestureHandlerOrchestrator(
37
42
  fun onTouchEvent(event: MotionEvent): Boolean {
38
43
  isHandlingTouch = true
39
44
  val action = event.actionMasked
40
- if (action == MotionEvent.ACTION_DOWN || action == MotionEvent.ACTION_POINTER_DOWN || action == MotionEvent.ACTION_HOVER_MOVE) {
45
+ if (action == MotionEvent.ACTION_DOWN ||
46
+ action == MotionEvent.ACTION_POINTER_DOWN ||
47
+ action == MotionEvent.ACTION_HOVER_MOVE
48
+ ) {
41
49
  extractGestureHandlers(event)
42
50
  } else if (action == MotionEvent.ACTION_CANCEL) {
43
51
  cancelAll()
@@ -60,23 +68,9 @@ class GestureHandlerOrchestrator(
60
68
  }
61
69
  }
62
70
 
63
- private inline fun compactHandlersIf(handlers: Array<GestureHandler<*>?>, count: Int, predicate: (handler: GestureHandler<*>?) -> Boolean): Int {
64
- var out = 0
65
- for (i in 0 until count) {
66
- if (predicate(handlers[i])) {
67
- handlers[out++] = handlers[i]
68
- }
69
- }
70
- return out
71
- }
72
-
73
71
  private fun cleanupFinishedHandlers() {
74
- var shouldCleanEmptyCells = false
75
- for (i in gestureHandlersCount - 1 downTo 0) {
76
- val handler = gestureHandlers[i]!!
72
+ for (handler in gestureHandlers.asReversed()) {
77
73
  if (isFinished(handler.state) && !handler.isAwaiting) {
78
- gestureHandlers[i] = null
79
- shouldCleanEmptyCells = true
80
74
  handler.reset()
81
75
  handler.apply {
82
76
  isActive = false
@@ -85,25 +79,32 @@ class GestureHandlerOrchestrator(
85
79
  }
86
80
  }
87
81
  }
88
- if (shouldCleanEmptyCells) {
89
- gestureHandlersCount = compactHandlersIf(gestureHandlers, gestureHandlersCount) { handler ->
90
- handler != null
91
- }
92
- }
82
+
83
+ gestureHandlers.removeAll { isFinished(it.state) && !it.isAwaiting }
84
+
93
85
  finishedHandlersCleanupScheduled = false
94
86
  }
95
87
 
96
- private fun hasOtherHandlerToWaitFor(handler: GestureHandler<*>): Boolean {
97
- for (i in 0 until gestureHandlersCount) {
98
- val otherHandler = gestureHandlers[i]!!
99
- if (!isFinished(otherHandler.state) && shouldHandlerWaitForOther(handler, otherHandler)) {
100
- return true
101
- }
102
- }
103
- return false
88
+ private fun hasOtherHandlerToWaitFor(handler: GestureHandler) =
89
+ gestureHandlers.any { !isFinished(it.state) && shouldHandlerWaitForOther(handler, it) }
90
+
91
+ private fun shouldBeCancelledByFinishedHandler(handler: GestureHandler) =
92
+ gestureHandlers.any { shouldHandlerWaitForOther(handler, it) && it.state == GestureHandler.STATE_END }
93
+
94
+ private fun shouldBeCancelledByActiveHandler(handler: GestureHandler) = gestureHandlers.any {
95
+ handler.hasCommonPointers(it) &&
96
+ it.state == GestureHandler.STATE_ACTIVE &&
97
+ !canRunSimultaneously(handler, it) &&
98
+ handler.isDescendantOf(it)
104
99
  }
105
100
 
106
- private fun tryActivate(handler: GestureHandler<*>) {
101
+ private fun tryActivate(handler: GestureHandler) {
102
+ // If we are waiting for a gesture that has successfully finished, we should cancel handler
103
+ if (shouldBeCancelledByFinishedHandler(handler) || shouldBeCancelledByActiveHandler(handler)) {
104
+ handler.cancel()
105
+ return
106
+ }
107
+
107
108
  // see if there is anyone else who we need to wait for
108
109
  if (hasOtherHandlerToWaitFor(handler)) {
109
110
  addAwaitingHandler(handler)
@@ -115,37 +116,49 @@ class GestureHandlerOrchestrator(
115
116
  }
116
117
 
117
118
  private fun cleanupAwaitingHandlers() {
118
- awaitingHandlersCount = compactHandlersIf(awaitingHandlers, awaitingHandlersCount) { handler ->
119
- handler!!.isAwaiting
119
+ val awaitingHandlersCopy = awaitingHandlers.toList()
120
+
121
+ for (handler in awaitingHandlersCopy) {
122
+ if (!handler.isAwaiting) {
123
+ awaitingHandlers.remove(handler)
124
+ awaitingHandlersTags.remove(handler.tag)
125
+ }
120
126
  }
121
127
  }
122
128
 
123
129
  /*package*/
124
- fun onHandlerStateChange(handler: GestureHandler<*>, newState: Int, prevState: Int) {
130
+ fun onHandlerStateChange(handler: GestureHandler, newState: Int, prevState: Int) {
125
131
  handlingChangeSemaphore += 1
126
132
  if (isFinished(newState)) {
133
+ // We have to loop through copy in order to avoid modifying collection
134
+ // while iterating over its elements
135
+ val currentlyAwaitingHandlers = awaitingHandlers.toList()
136
+
127
137
  // if there were handlers awaiting completion of this handler, we can trigger active state
128
- for (i in 0 until awaitingHandlersCount) {
129
- val otherHandler = awaitingHandlers[i]
130
- if (shouldHandlerWaitForOther(otherHandler!!, handler)) {
131
- if (newState == GestureHandler.STATE_END) {
132
- // gesture has ended, we need to kill the awaiting handler
133
- otherHandler.cancel()
134
- if (otherHandler.state == GestureHandler.STATE_END) {
135
- // Handle edge case, where discrete gestures end immediately after activation thus
136
- // their state is set to END and when the gesture they are waiting for activates they
137
- // should be cancelled, however `cancel` was never sent as gestures were already in the END state.
138
- // Send synthetic BEGAN -> CANCELLED to properly handle JS logic
139
- otherHandler.dispatchStateChange(
140
- GestureHandler.STATE_CANCELLED,
141
- GestureHandler.STATE_BEGAN
142
- )
143
- }
144
- otherHandler.isAwaiting = false
145
- } else {
146
- // gesture has failed recognition, we may try activating
147
- tryActivate(otherHandler)
138
+ for (otherHandler in currentlyAwaitingHandlers) {
139
+ if (!shouldHandlerWaitForOther(otherHandler, handler) ||
140
+ !awaitingHandlersTags.contains(otherHandler.tag)
141
+ ) {
142
+ continue
143
+ }
144
+
145
+ if (newState == GestureHandler.STATE_END) {
146
+ // gesture has ended, we need to kill the awaiting handler
147
+ otherHandler.cancel()
148
+ if (otherHandler.state == GestureHandler.STATE_END) {
149
+ // Handle edge case, where discrete gestures end immediately after activation thus
150
+ // their state is set to END and when the gesture they are waiting for activates they
151
+ // should be cancelled, however `cancel` was never sent as gestures were already in the END state.
152
+ // Send synthetic BEGAN -> CANCELLED to properly handle JS logic
153
+ otherHandler.dispatchStateChange(
154
+ GestureHandler.STATE_CANCELLED,
155
+ GestureHandler.STATE_BEGAN,
156
+ )
148
157
  }
158
+ otherHandler.isAwaiting = false
159
+ } else {
160
+ // gesture has failed recognition, we may try activating
161
+ tryActivate(otherHandler)
149
162
  }
150
163
  }
151
164
  cleanupAwaitingHandlers()
@@ -155,7 +168,9 @@ class GestureHandlerOrchestrator(
155
168
  } else if (prevState == GestureHandler.STATE_ACTIVE || prevState == GestureHandler.STATE_END) {
156
169
  if (handler.isActive) {
157
170
  handler.dispatchStateChange(newState, prevState)
158
- } else if (prevState == GestureHandler.STATE_ACTIVE && (newState == GestureHandler.STATE_CANCELLED || newState == GestureHandler.STATE_FAILED)) {
171
+ } else if (prevState == GestureHandler.STATE_ACTIVE &&
172
+ (newState == GestureHandler.STATE_CANCELLED || newState == GestureHandler.STATE_FAILED)
173
+ ) {
159
174
  // Handle edge case where handler awaiting for another one tries to activate but finishes
160
175
  // before the other would not send state change event upon ending. Note that we only want
161
176
  // to do this if the newState is either CANCELLED or FAILED, if it is END we still want to
@@ -163,7 +178,9 @@ class GestureHandlerOrchestrator(
163
178
  // makeActive method.
164
179
  handler.dispatchStateChange(newState, GestureHandler.STATE_BEGAN)
165
180
  }
166
- } else if (prevState != GestureHandler.STATE_UNDETERMINED || newState != GestureHandler.STATE_CANCELLED) {
181
+ } else if (prevState != GestureHandler.STATE_UNDETERMINED ||
182
+ newState != GestureHandler.STATE_CANCELLED
183
+ ) {
167
184
  // If handler is changing state from UNDETERMINED to CANCELLED, the state change event shouldn't
168
185
  // be sent. Handler hasn't yet began so it may not be initialized which results in crashes.
169
186
  // If it doesn't crash, there may be some weird behavior on JS side, as `onFinalize` will be
@@ -174,7 +191,7 @@ class GestureHandlerOrchestrator(
174
191
  scheduleFinishedHandlersCleanup()
175
192
  }
176
193
 
177
- private fun makeActive(handler: GestureHandler<*>) {
194
+ private fun makeActive(handler: GestureHandler) {
178
195
  val currentState = handler.state
179
196
  with(handler) {
180
197
  isAwaiting = false
@@ -182,31 +199,36 @@ class GestureHandlerOrchestrator(
182
199
  shouldResetProgress = true
183
200
  activationIndex = this@GestureHandlerOrchestrator.activationIndex++
184
201
  }
185
- var toCancelCount = 0
186
- // Cancel all handlers that are required to be cancel upon current handler's activation
187
- for (i in 0 until gestureHandlersCount) {
188
- val otherHandler = gestureHandlers[i]!!
202
+
203
+ for (otherHandler in gestureHandlers.asReversed()) {
189
204
  if (shouldHandlerBeCancelledBy(otherHandler, handler)) {
190
- handlersToCancel[toCancelCount++] = otherHandler
205
+ otherHandler.cancel()
191
206
  }
192
207
  }
193
- for (i in toCancelCount - 1 downTo 0) {
194
- handlersToCancel[i]!!.cancel()
195
- }
196
208
 
197
209
  // Clear all awaiting handlers waiting for the current handler to fail
198
- for (i in awaitingHandlersCount - 1 downTo 0) {
199
- val otherHandler = awaitingHandlers[i]!!
210
+ for (otherHandler in awaitingHandlers.asReversed()) {
200
211
  if (shouldHandlerBeCancelledBy(otherHandler, handler)) {
201
- otherHandler.cancel()
202
212
  otherHandler.isAwaiting = false
203
213
  }
204
214
  }
205
215
  cleanupAwaitingHandlers()
206
216
 
207
- // Dispatch state change event if handler is no longer in the active state we should also
208
- // trigger END state change and UNDETERMINED state change if necessary
217
+ // At this point the waiting handler is allowed to activate, so we need to send BEGAN -> ACTIVE event
218
+ // as it wasn't sent before. If handler has finished recognizing the gesture before it was allowed to
219
+ // activate, we also need to send ACTIVE -> END and END -> UNDETERMINED events, as it was blocked from
220
+ // sending events while waiting.
221
+ // There is one catch though - if the handler failed or was cancelled while waiting, relevant event has
222
+ // already been sent. The following chain would result in artificially activating that handler after the
223
+ // failure logic was ran and we don't want to do that.
224
+ if (currentState == GestureHandler.STATE_FAILED ||
225
+ currentState == GestureHandler.STATE_CANCELLED
226
+ ) {
227
+ return
228
+ }
229
+
209
230
  handler.dispatchStateChange(GestureHandler.STATE_ACTIVE, GestureHandler.STATE_BEGAN)
231
+
210
232
  if (currentState != GestureHandler.STATE_ACTIVE) {
211
233
  handler.dispatchStateChange(GestureHandler.STATE_END, GestureHandler.STATE_ACTIVE)
212
234
  if (currentState != GestureHandler.STATE_END) {
@@ -218,41 +240,45 @@ class GestureHandlerOrchestrator(
218
240
  private fun deliverEventToGestureHandlers(event: MotionEvent) {
219
241
  // Copy handlers to "prepared handlers" array, because the list of active handlers can change
220
242
  // as a result of state updates
221
- val handlersCount = gestureHandlersCount
243
+ preparedHandlers.clear()
244
+ preparedHandlers.addAll(gestureHandlers)
222
245
 
223
- gestureHandlers.copyInto(preparedHandlers, 0, 0, handlersCount)
224
246
  // We want to deliver events to active handlers first in order of their activation (handlers
225
247
  // that activated first will first get event delivered). Otherwise we deliver events in the
226
248
  // order in which handlers has been added ("most direct" children goes first). Therefore we rely
227
249
  // on Arrays.sort providing a stable sort (as children are registered in order in which they
228
250
  // should be tested)
229
- preparedHandlers.sortWith(handlersComparator, 0, handlersCount)
230
- for (i in 0 until handlersCount) {
231
- deliverEventToGestureHandler(preparedHandlers[i]!!, event)
251
+ preparedHandlers.sortWith(handlersComparator)
252
+
253
+ for (handler in preparedHandlers) {
254
+ deliverEventToGestureHandler(handler, event)
232
255
  }
233
256
  }
234
257
 
235
258
  private fun cancelAll() {
236
- for (i in awaitingHandlersCount - 1 downTo 0) {
237
- awaitingHandlers[i]!!.cancel()
259
+ // We need `toList` as `awaitingHandlers` can be modified by `cancel`:
260
+ // `onHandlerStateChange` -> `tryActivate` -> `addAwaitingHandler`
261
+ for (handler in awaitingHandlers.asReversed().toList()) {
262
+ handler.cancel()
238
263
  }
264
+
239
265
  // Copy handlers to "prepared handlers" array, because the list of active handlers can change
240
266
  // as a result of state updates
241
- val handlersCount = gestureHandlersCount
242
- for (i in 0 until handlersCount) {
243
- preparedHandlers[i] = gestureHandlers[i]
244
- }
245
- for (i in handlersCount - 1 downTo 0) {
246
- preparedHandlers[i]!!.cancel()
267
+ preparedHandlers.clear()
268
+ preparedHandlers.addAll(gestureHandlers)
269
+
270
+ for (handler in gestureHandlers.asReversed()) {
271
+ handler.cancel()
247
272
  }
248
273
  }
249
274
 
250
- private fun deliverEventToGestureHandler(handler: GestureHandler<*>, sourceEvent: MotionEvent) {
275
+ private fun deliverEventToGestureHandler(handler: GestureHandler, sourceEvent: MotionEvent) {
251
276
  if (!isViewAttachedUnderWrapper(handler.view)) {
252
277
  handler.cancel()
253
278
  return
254
279
  }
255
- if (!handler.wantEvents()) {
280
+
281
+ if (!handler.wantsEvent(sourceEvent)) {
256
282
  return
257
283
  }
258
284
 
@@ -260,7 +286,7 @@ class GestureHandlerOrchestrator(
260
286
  val event = transformEventToViewCoords(handler.view, MotionEvent.obtain(sourceEvent))
261
287
 
262
288
  // Touch events are sent before the handler itself has a chance to process them,
263
- // mainly because `onTouchesUp` shoul be send befor gesture finishes. This means that
289
+ // mainly because `onTouchesUp` should be send before gesture finishes. This means that
264
290
  // the first `onTouchesDown` event is sent before a gesture begins, activation in
265
291
  // callback for this event causes problems because the handler doesn't have a chance
266
292
  // to initialize itself with starting values of pointer (in pan this causes translation
@@ -268,7 +294,7 @@ class GestureHandlerOrchestrator(
268
294
  // the first `onTouchesDown` event after the handler processes it and changes state
269
295
  // to `BEGAN`.
270
296
  if (handler.needsPointerData && handler.state != 0) {
271
- handler.updatePointerData(event)
297
+ handler.updatePointerData(event, sourceEvent)
272
298
  }
273
299
 
274
300
  if (!handler.isAwaiting || action != MotionEvent.ACTION_MOVE) {
@@ -290,12 +316,15 @@ class GestureHandlerOrchestrator(
290
316
  }
291
317
 
292
318
  if (handler.needsPointerData && isFirstEvent) {
293
- handler.updatePointerData(event)
319
+ handler.updatePointerData(event, sourceEvent)
294
320
  }
295
321
 
296
322
  // if event was of type UP or POINTER_UP we request handler to stop tracking now that
297
323
  // the event has been dispatched
298
- if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_POINTER_UP || action == MotionEvent.ACTION_HOVER_EXIT) {
324
+ if (action == MotionEvent.ACTION_UP ||
325
+ action == MotionEvent.ACTION_POINTER_UP ||
326
+ action == MotionEvent.ACTION_HOVER_EXIT
327
+ ) {
299
328
  val pointerId = event.getPointerId(event.actionIndex)
300
329
  handler.stopTrackingPointer(pointerId)
301
330
  }
@@ -325,7 +354,7 @@ class GestureHandlerOrchestrator(
325
354
  return parent === wrapperView
326
355
  }
327
356
 
328
- fun isAnyHandlerActive() = gestureHandlers.any { it?.state == GestureHandler.STATE_ACTIVE }
357
+ fun isAnyHandlerActive() = gestureHandlers.any { it.state == GestureHandler.STATE_ACTIVE }
329
358
 
330
359
  /**
331
360
  * Transforms an event in the coordinates of wrapperView into the coordinate space of the received view.
@@ -398,28 +427,26 @@ class GestureHandlerOrchestrator(
398
427
  return point
399
428
  }
400
429
 
401
- private fun addAwaitingHandler(handler: GestureHandler<*>) {
402
- for (i in 0 until awaitingHandlersCount) {
403
- if (awaitingHandlers[i] === handler) {
404
- return
405
- }
430
+ private fun addAwaitingHandler(handler: GestureHandler) {
431
+ if (awaitingHandlers.contains(handler)) {
432
+ return
406
433
  }
407
- check(awaitingHandlersCount < awaitingHandlers.size) { "Too many recognizers" }
408
- awaitingHandlers[awaitingHandlersCount++] = handler
434
+
435
+ awaitingHandlers.add(handler)
436
+ awaitingHandlersTags.add(handler.tag)
437
+
409
438
  with(handler) {
410
439
  isAwaiting = true
411
440
  activationIndex = this@GestureHandlerOrchestrator.activationIndex++
412
441
  }
413
442
  }
414
443
 
415
- private fun recordHandlerIfNotPresent(handler: GestureHandler<*>, view: View) {
416
- for (i in 0 until gestureHandlersCount) {
417
- if (gestureHandlers[i] === handler) {
418
- return
419
- }
444
+ private fun recordHandlerIfNotPresent(handler: GestureHandler, view: View) {
445
+ if (gestureHandlers.contains(handler)) {
446
+ return
420
447
  }
421
- check(gestureHandlersCount < gestureHandlers.size) { "Too many recognizers" }
422
- gestureHandlers[gestureHandlersCount++] = handler
448
+
449
+ gestureHandlers.add(handler)
423
450
  handler.isActive = false
424
451
  handler.isAwaiting = false
425
452
  handler.activationIndex = Int.MAX_VALUE
@@ -436,7 +463,10 @@ class GestureHandlerOrchestrator(
436
463
  val left = localXY[0] + view.left
437
464
  val top = localXY[1] + view.top
438
465
 
439
- return left < 0f || left + view.width > parent.width || top < 0f || top + view.height > parent.height
466
+ return left < 0f ||
467
+ left + view.width > parent.width ||
468
+ top < 0f ||
469
+ top + view.height > parent.height
440
470
  }
441
471
 
442
472
  private fun extractAncestorHandlers(view: View, coords: FloatArray, pointerId: Int): Boolean {
@@ -466,7 +496,30 @@ class GestureHandlerOrchestrator(
466
496
  return found
467
497
  }
468
498
 
469
- private fun recordViewHandlersForPointer(view: View, coords: FloatArray, pointerId: Int, event: MotionEvent): Boolean {
499
+ // We don't want to extract gestures other than hover when processing hover events.
500
+ // There's only one exception - RootViewGestureHandler. TalkBack uses hover events,
501
+ // so we need to pass them into RootViewGestureHandler, otherwise press and hold
502
+ // gesture stops working correctly (see https://github.com/software-mansion/react-native-gesture-handler/issues/3407)
503
+ private fun shouldHandlerSkipHoverEvents(handler: GestureHandler, action: Int): Boolean {
504
+ val shouldSkipHoverEvents =
505
+ handler !is HoverGestureHandler &&
506
+ handler !is RNGestureHandlerRootHelper.RootViewGestureHandler
507
+
508
+ return shouldSkipHoverEvents &&
509
+ action in
510
+ listOf(
511
+ MotionEvent.ACTION_HOVER_EXIT,
512
+ MotionEvent.ACTION_HOVER_ENTER,
513
+ MotionEvent.ACTION_HOVER_MOVE,
514
+ )
515
+ }
516
+
517
+ private fun recordViewHandlersForPointer(
518
+ view: View,
519
+ coords: FloatArray,
520
+ pointerId: Int,
521
+ event: MotionEvent,
522
+ ): Boolean {
470
523
  var found = false
471
524
  handlerRegistry.getHandlersForView(view)?.let {
472
525
  synchronized(it) {
@@ -476,8 +529,7 @@ class GestureHandlerOrchestrator(
476
529
  continue
477
530
  }
478
531
 
479
- // we don't want to extract gestures other than hover when processing hover events
480
- if (event.action in listOf(MotionEvent.ACTION_HOVER_EXIT, MotionEvent.ACTION_HOVER_ENTER, MotionEvent.ACTION_HOVER_MOVE) && handler !is HoverGestureHandler) {
532
+ if (shouldHandlerSkipHoverEvents(handler, event.action)) {
481
533
  continue
482
534
  }
483
535
 
@@ -490,8 +542,10 @@ class GestureHandlerOrchestrator(
490
542
 
491
543
  // if the pointer is inside the view but it overflows its parent, handlers attached to the parent
492
544
  // might not have been extracted (pointer might be in a child, but may be outside parent)
493
- if (coords[0] in 0f..view.width.toFloat() && coords[1] in 0f..view.height.toFloat() &&
494
- isViewOverflowingParent(view) && extractAncestorHandlers(view, coords, pointerId)
545
+ if (coords[0] in 0f..view.width.toFloat() &&
546
+ coords[1] in 0f..view.height.toFloat() &&
547
+ isViewOverflowingParent(view) &&
548
+ extractAncestorHandlers(view, coords, pointerId)
495
549
  ) {
496
550
  found = true
497
551
  }
@@ -508,7 +562,12 @@ class GestureHandlerOrchestrator(
508
562
  extractGestureHandlers(wrapperView, tempCoords, pointerId, event)
509
563
  }
510
564
 
511
- private fun extractGestureHandlers(viewGroup: ViewGroup, coords: FloatArray, pointerId: Int, event: MotionEvent): Boolean {
565
+ private fun extractGestureHandlers(
566
+ viewGroup: ViewGroup,
567
+ coords: FloatArray,
568
+ pointerId: Int,
569
+ event: MotionEvent,
570
+ ): Boolean {
512
571
  val childrenCount = viewGroup.childCount
513
572
  for (i in childrenCount - 1 downTo 0) {
514
573
  val child = viewConfigHelper.getChildInDrawingOrderAtIndex(viewGroup, i)
@@ -573,22 +632,23 @@ class GestureHandlerOrchestrator(
573
632
  // Either this view or one of its children is the target
574
633
  val found = if (view is ViewGroup) {
575
634
  extractGestureHandlers(view, coords, pointerId, event)
576
- } else false
635
+ } else {
636
+ false
637
+ }
577
638
 
578
639
  (
579
640
  recordViewHandlersForPointer(view, coords, pointerId, event) ||
580
- found || shouldHandlerlessViewBecomeTouchTarget(view, coords)
641
+ found ||
642
+ shouldHandlerlessViewBecomeTouchTarget(view, coords)
581
643
  )
582
644
  }
583
645
  }
584
646
 
585
- private fun canReceiveEvents(view: View) =
586
- view.visibility == View.VISIBLE && view.alpha >= minimumAlphaForTraversal
647
+ private fun canReceiveEvents(view: View) = view.visibility == View.VISIBLE && view.alpha >= minimumAlphaForTraversal
587
648
 
588
649
  // if view is not a view group it is clipping, otherwise we check for `getClipChildren` flag to
589
650
  // be turned on and also confirm with the ViewConfigHelper implementation
590
- private fun isClipping(view: View) =
591
- view !is ViewGroup || viewConfigHelper.isViewClippingChildren(view)
651
+ private fun isClipping(view: View) = view !is ViewGroup || viewConfigHelper.isViewClippingChildren(view)
592
652
 
593
653
  fun activateNativeHandlersForView(view: View) {
594
654
  handlerRegistry.getHandlersForView(view)?.forEach {
@@ -608,7 +668,6 @@ class GestureHandlerOrchestrator(
608
668
  companion object {
609
669
  // The limit doesn't necessarily need to exists, it was just simpler to implement it that way
610
670
  // it is also more allocation-wise efficient to have a fixed limit
611
- private const val SIMULTANEOUS_GESTURE_HANDLER_LIMIT = 20
612
671
 
613
672
  // Be default fully transparent views can receive touch
614
673
  private const val DEFAULT_MIN_ALPHA_FOR_TRAVERSAL = 0f
@@ -616,7 +675,7 @@ class GestureHandlerOrchestrator(
616
675
  private val matrixTransformCoords = FloatArray(2)
617
676
  private val inverseMatrix = Matrix()
618
677
  private val tempCoords = FloatArray(2)
619
- private val handlersComparator = Comparator<GestureHandler<*>?> { a, b ->
678
+ private val handlersComparator = Comparator<GestureHandler> { a, b ->
620
679
  return@Comparator if (a.isActive && b.isActive || a.isAwaiting && b.isAwaiting) {
621
680
  // both A and B are either active or awaiting activation, in which case we prefer one that
622
681
  // has activated (or turned into "awaiting" state) earlier
@@ -670,17 +729,17 @@ class GestureHandlerOrchestrator(
670
729
  private fun isTransformedTouchPointInView(x: Float, y: Float, child: View) =
671
730
  x in 0f..child.width.toFloat() && y in 0f..child.height.toFloat()
672
731
 
673
- private fun shouldHandlerWaitForOther(handler: GestureHandler<*>, other: GestureHandler<*>): Boolean {
674
- return handler !== other && (
675
- handler.shouldWaitForHandlerFailure(other) ||
676
- other.shouldRequireToWaitForFailure(handler)
677
- )
678
- }
732
+ private fun shouldHandlerWaitForOther(handler: GestureHandler, other: GestureHandler): Boolean =
733
+ handler !== other &&
734
+ (
735
+ handler.shouldWaitForHandlerFailure(other) ||
736
+ other.shouldRequireToWaitForFailure(handler)
737
+ )
679
738
 
680
- private fun canRunSimultaneously(a: GestureHandler<*>, b: GestureHandler<*>) =
739
+ private fun canRunSimultaneously(a: GestureHandler, b: GestureHandler) =
681
740
  a === b || a.shouldRecognizeSimultaneously(b) || b.shouldRecognizeSimultaneously(a)
682
741
 
683
- private fun shouldHandlerBeCancelledBy(handler: GestureHandler<*>, other: GestureHandler<*>): Boolean {
742
+ private fun shouldHandlerBeCancelledBy(handler: GestureHandler, other: GestureHandler): Boolean {
684
743
  if (!handler.hasCommonPointers(other)) {
685
744
  // if two handlers share no common pointer one can never trigger cancel for the other
686
745
  return false
@@ -696,12 +755,13 @@ class GestureHandlerOrchestrator(
696
755
  // in every other case as long as the handler is about to be activated or already in active
697
756
  // state, we delegate the decision to the implementation of GestureHandler#shouldBeCancelledBy
698
757
  handler.shouldBeCancelledBy(other)
699
- } else true
758
+ } else {
759
+ true
760
+ }
700
761
  }
701
762
 
702
- private fun isFinished(state: Int) =
703
- state == GestureHandler.STATE_CANCELLED ||
704
- state == GestureHandler.STATE_FAILED ||
705
- state == GestureHandler.STATE_END
763
+ private fun isFinished(state: Int) = state == GestureHandler.STATE_CANCELLED ||
764
+ state == GestureHandler.STATE_FAILED ||
765
+ state == GestureHandler.STATE_END
706
766
  }
707
767
  }
@@ -4,5 +4,5 @@ import android.view.View
4
4
  import java.util.*
5
5
 
6
6
  interface GestureHandlerRegistry {
7
- fun getHandlersForView(view: View): ArrayList<GestureHandler<*>>?
7
+ fun getHandlersForView(view: View): ArrayList<GestureHandler>?
8
8
  }
@@ -1,10 +1,15 @@
1
1
  package com.swmansion.gesturehandler.core
2
2
 
3
3
  import android.view.MotionEvent
4
+ import kotlin.math.cos
4
5
 
5
6
  object GestureUtils {
6
7
  fun getLastPointerX(event: MotionEvent, averageTouches: Boolean): Float {
7
- val excludeIndex = if (event.actionMasked == MotionEvent.ACTION_POINTER_UP) event.actionIndex else -1
8
+ val excludeIndex = if (event.actionMasked == MotionEvent.ACTION_POINTER_UP) {
9
+ event.actionIndex
10
+ } else {
11
+ -1
12
+ }
8
13
  return if (averageTouches) {
9
14
  var sum = 0f
10
15
  var count = 0
@@ -25,7 +30,13 @@ object GestureUtils {
25
30
  }
26
31
 
27
32
  fun getLastPointerY(event: MotionEvent, averageTouches: Boolean): Float {
28
- val excludeIndex = if (event.actionMasked == MotionEvent.ACTION_POINTER_UP) event.actionIndex else -1
33
+ val excludeIndex = if (event.actionMasked ==
34
+ MotionEvent.ACTION_POINTER_UP
35
+ ) {
36
+ event.actionIndex
37
+ } else {
38
+ -1
39
+ }
29
40
  return if (averageTouches) {
30
41
  var sum = 0f
31
42
  var count = 0
@@ -44,4 +55,6 @@ object GestureUtils {
44
55
  event.getY(lastPointerIdx)
45
56
  }
46
57
  }
58
+
59
+ fun coneToDeviation(angle: Double): Double = cos(Math.toRadians(angle / 2.0))
47
60
  }