react-native-gesture-handler 2.4.1 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (382) hide show
  1. package/README.md +4 -2
  2. package/RNGestureHandler.podspec +17 -5
  3. package/android/build.gradle +71 -15
  4. package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.kt +2 -1
  5. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.kt +9 -5
  6. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.kt +32 -6
  7. package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.kt +5 -2
  8. package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.kt +105 -23
  9. package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.kt +30 -2
  10. package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.kt +3 -2
  11. package/android/src/fabric/java/com/swmansion/gesturehandler/RNGestureHandlerComponentsRegistry.java +1 -1
  12. package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +0 -8
  13. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +74 -84
  14. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +7 -1
  15. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +5 -1
  16. package/android/src/main/jni/CMakeLists.txt +59 -0
  17. package/android/src/paper/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +12 -9
  18. package/android/src/paper/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +1 -0
  19. package/ios/Handlers/RNFlingHandler.m +43 -1
  20. package/ios/Handlers/{RNNativeViewHandler.m → RNNativeViewHandler.mm} +13 -1
  21. package/ios/Handlers/RNPanHandler.m +27 -0
  22. package/ios/RNGestureHandler.h +1 -0
  23. package/ios/RNGestureHandler.m +22 -4
  24. package/ios/RNGestureHandlerButtonComponentView.mm +1 -1
  25. package/ios/RNGestureHandlerManager.mm +10 -7
  26. package/ios/RNGestureHandlerModule.mm +4 -1
  27. package/ios/RNGestureHandlerRootViewComponentView.mm +1 -1
  28. package/ios/RNManualActivationRecognizer.m +10 -3
  29. package/ios/RNRootViewGestureRecognizer.m +12 -1
  30. package/lib/commonjs/EnableExperimentalWebImplementation.js +24 -0
  31. package/lib/commonjs/EnableExperimentalWebImplementation.js.map +1 -0
  32. package/lib/commonjs/RNGestureHandlerModule.macos.js +138 -0
  33. package/lib/commonjs/RNGestureHandlerModule.macos.js.map +1 -0
  34. package/lib/commonjs/RNGestureHandlerModule.web.js +87 -25
  35. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  36. package/lib/commonjs/RNRenderer.js +16 -0
  37. package/lib/commonjs/RNRenderer.js.map +1 -0
  38. package/lib/commonjs/RNRenderer.web.js +11 -0
  39. package/lib/commonjs/RNRenderer.web.js.map +1 -0
  40. package/lib/commonjs/components/DrawerLayout.js +41 -12
  41. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  42. package/lib/commonjs/components/GestureButtons.js +42 -9
  43. package/lib/commonjs/components/GestureButtons.js.map +1 -1
  44. package/lib/commonjs/components/GestureComponents.js +41 -4
  45. package/lib/commonjs/components/GestureComponents.js.map +1 -1
  46. package/lib/commonjs/components/GestureComponents.web.js +7 -2
  47. package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
  48. package/lib/commonjs/components/Swipeable.js +3 -1
  49. package/lib/commonjs/components/Swipeable.js.map +1 -1
  50. package/lib/commonjs/components/touchables/GenericTouchable.js +5 -1
  51. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
  52. package/lib/commonjs/fabric/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  53. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +2 -1
  54. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
  55. package/lib/commonjs/handlers/PanGestureHandler.js +1 -1
  56. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
  57. package/lib/commonjs/handlers/PressabilityDebugView.js +14 -0
  58. package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -0
  59. package/lib/commonjs/handlers/PressabilityDebugView.web.js +12 -0
  60. package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -0
  61. package/lib/commonjs/handlers/createHandler.js +33 -12
  62. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  63. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  64. package/lib/commonjs/handlers/gestures/GestureDetector.js +150 -75
  65. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -1
  66. package/lib/commonjs/handlers/gestures/gesture.js +13 -2
  67. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  68. package/lib/commonjs/handlers/gestures/gestureStateManager.js +13 -9
  69. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
  70. package/lib/commonjs/handlers/gestures/panGesture.js +5 -0
  71. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
  72. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +7 -0
  73. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
  74. package/lib/commonjs/index.js +14 -0
  75. package/lib/commonjs/index.js.map +1 -1
  76. package/lib/commonjs/utils.js +6 -3
  77. package/lib/commonjs/utils.js.map +1 -1
  78. package/lib/commonjs/web/constants.js +3 -51
  79. package/lib/commonjs/web/constants.js.map +1 -1
  80. package/lib/commonjs/web/detectors/RotationGestureDetector.js +169 -0
  81. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -0
  82. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +167 -0
  83. package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -0
  84. package/lib/commonjs/web/handlers/FlingGestureHandler.js +154 -0
  85. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -0
  86. package/lib/commonjs/web/handlers/GestureHandler.js +538 -0
  87. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -0
  88. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +147 -0
  89. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -0
  90. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +116 -0
  91. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -0
  92. package/lib/commonjs/web/handlers/PanGestureHandler.js +451 -0
  93. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -0
  94. package/lib/commonjs/web/handlers/PinchGestureHandler.js +171 -0
  95. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -0
  96. package/lib/commonjs/web/handlers/RotationGestureHandler.js +187 -0
  97. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -0
  98. package/lib/commonjs/web/handlers/TapGestureHandler.js +296 -0
  99. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -0
  100. package/lib/commonjs/web/interfaces.js +34 -0
  101. package/lib/commonjs/web/interfaces.js.map +1 -0
  102. package/lib/commonjs/web/tools/EventManager.js +169 -0
  103. package/lib/commonjs/web/tools/EventManager.js.map +1 -0
  104. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +283 -0
  105. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -0
  106. package/lib/commonjs/web/tools/InteractionManager.js +102 -0
  107. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -0
  108. package/lib/commonjs/web/tools/NodeManager.js +48 -0
  109. package/lib/commonjs/web/tools/NodeManager.js.map +1 -0
  110. package/lib/commonjs/web/tools/PointerTracker.js +132 -0
  111. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -0
  112. package/lib/commonjs/{web → web_hammer}/DiscreteGestureHandler.js +0 -0
  113. package/lib/commonjs/{web → web_hammer}/DiscreteGestureHandler.js.map +0 -0
  114. package/lib/commonjs/{web → web_hammer}/DraggingGestureHandler.js +0 -0
  115. package/lib/commonjs/{web → web_hammer}/DraggingGestureHandler.js.map +0 -0
  116. package/lib/commonjs/{web → web_hammer}/Errors.js +0 -0
  117. package/lib/commonjs/{web → web_hammer}/Errors.js.map +0 -0
  118. package/lib/commonjs/{web → web_hammer}/FlingGestureHandler.js +0 -0
  119. package/lib/commonjs/{web → web_hammer}/FlingGestureHandler.js.map +0 -0
  120. package/lib/commonjs/{web → web_hammer}/GestureHandler.js +83 -42
  121. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -0
  122. package/lib/commonjs/{web → web_hammer}/IndiscreteGestureHandler.js +0 -0
  123. package/lib/commonjs/{web → web_hammer}/IndiscreteGestureHandler.js.map +0 -0
  124. package/lib/commonjs/{web → web_hammer}/LongPressGestureHandler.js +0 -0
  125. package/lib/commonjs/{web → web_hammer}/LongPressGestureHandler.js.map +0 -0
  126. package/lib/commonjs/{web → web_hammer}/NativeViewGestureHandler.js +4 -0
  127. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -0
  128. package/lib/commonjs/{web → web_hammer}/NodeManager.js +0 -0
  129. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -0
  130. package/lib/commonjs/{web → web_hammer}/PanGestureHandler.js +0 -0
  131. package/lib/commonjs/{web → web_hammer}/PanGestureHandler.js.map +0 -0
  132. package/lib/commonjs/{web → web_hammer}/PinchGestureHandler.js +0 -0
  133. package/lib/commonjs/{web → web_hammer}/PinchGestureHandler.js.map +0 -0
  134. package/lib/commonjs/{web → web_hammer}/PressGestureHandler.js +0 -0
  135. package/lib/commonjs/{web → web_hammer}/PressGestureHandler.js.map +0 -0
  136. package/lib/commonjs/{web → web_hammer}/RotationGestureHandler.js +0 -0
  137. package/lib/commonjs/{web → web_hammer}/RotationGestureHandler.js.map +0 -0
  138. package/lib/commonjs/{web → web_hammer}/TapGestureHandler.js +0 -0
  139. package/lib/commonjs/{web → web_hammer}/TapGestureHandler.js.map +0 -0
  140. package/lib/commonjs/web_hammer/constants.js +64 -0
  141. package/lib/commonjs/web_hammer/constants.js.map +1 -0
  142. package/lib/commonjs/{web → web_hammer}/utils.js +0 -0
  143. package/lib/commonjs/{web → web_hammer}/utils.js.map +1 -1
  144. package/lib/module/EnableExperimentalWebImplementation.js +15 -0
  145. package/lib/module/EnableExperimentalWebImplementation.js.map +1 -0
  146. package/lib/module/RNGestureHandlerModule.macos.js +102 -0
  147. package/lib/module/RNGestureHandlerModule.macos.js.map +1 -0
  148. package/lib/module/RNGestureHandlerModule.web.js +73 -24
  149. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  150. package/lib/module/RNRenderer.js +4 -0
  151. package/lib/module/RNRenderer.js.map +1 -0
  152. package/lib/module/RNRenderer.web.js +4 -0
  153. package/lib/module/RNRenderer.web.js.map +1 -0
  154. package/lib/module/components/DrawerLayout.js +41 -12
  155. package/lib/module/components/DrawerLayout.js.map +1 -1
  156. package/lib/module/components/GestureButtons.js +43 -9
  157. package/lib/module/components/GestureButtons.js.map +1 -1
  158. package/lib/module/components/GestureComponents.js +39 -4
  159. package/lib/module/components/GestureComponents.js.map +1 -1
  160. package/lib/module/components/GestureComponents.web.js +6 -2
  161. package/lib/module/components/GestureComponents.web.js.map +1 -1
  162. package/lib/module/components/Swipeable.js +3 -1
  163. package/lib/module/components/Swipeable.js.map +1 -1
  164. package/lib/module/components/touchables/GenericTouchable.js +5 -1
  165. package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
  166. package/lib/module/fabric/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  167. package/lib/module/handlers/ForceTouchGestureHandler.js +1 -1
  168. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
  169. package/lib/module/handlers/PanGestureHandler.js +1 -1
  170. package/lib/module/handlers/PanGestureHandler.js.map +1 -1
  171. package/lib/module/handlers/PressabilityDebugView.js +3 -0
  172. package/lib/module/handlers/PressabilityDebugView.js.map +1 -0
  173. package/lib/module/handlers/PressabilityDebugView.web.js +5 -0
  174. package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -0
  175. package/lib/module/handlers/createHandler.js +35 -14
  176. package/lib/module/handlers/createHandler.js.map +1 -1
  177. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  178. package/lib/module/handlers/gestures/GestureDetector.js +147 -74
  179. package/lib/module/handlers/gestures/GestureDetector.js.map +1 -1
  180. package/lib/module/handlers/gestures/gesture.js +13 -2
  181. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  182. package/lib/module/handlers/gestures/gestureStateManager.js +13 -9
  183. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
  184. package/lib/module/handlers/gestures/panGesture.js +5 -0
  185. package/lib/module/handlers/gestures/panGesture.js.map +1 -1
  186. package/lib/module/handlers/gestures/reanimatedWrapper.js +7 -0
  187. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
  188. package/lib/module/index.js +2 -1
  189. package/lib/module/index.js.map +1 -1
  190. package/lib/module/utils.js +2 -1
  191. package/lib/module/utils.js.map +1 -1
  192. package/lib/module/web/constants.js +1 -36
  193. package/lib/module/web/constants.js.map +1 -1
  194. package/lib/module/web/detectors/RotationGestureDetector.js +159 -0
  195. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -0
  196. package/lib/module/web/detectors/ScaleGestureDetector.js +156 -0
  197. package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -0
  198. package/lib/module/web/handlers/FlingGestureHandler.js +139 -0
  199. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -0
  200. package/lib/module/web/handlers/GestureHandler.js +521 -0
  201. package/lib/module/web/handlers/GestureHandler.js.map +1 -0
  202. package/lib/module/web/handlers/LongPressGestureHandler.js +133 -0
  203. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -0
  204. package/lib/module/web/handlers/NativeViewGestureHandler.js +103 -0
  205. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -0
  206. package/lib/module/web/handlers/PanGestureHandler.js +434 -0
  207. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -0
  208. package/lib/module/web/handlers/PinchGestureHandler.js +155 -0
  209. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -0
  210. package/lib/module/web/handlers/RotationGestureHandler.js +171 -0
  211. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -0
  212. package/lib/module/web/handlers/TapGestureHandler.js +281 -0
  213. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -0
  214. package/lib/module/web/interfaces.js +26 -0
  215. package/lib/module/web/interfaces.js.map +1 -0
  216. package/lib/module/web/tools/EventManager.js +160 -0
  217. package/lib/module/web/tools/EventManager.js.map +1 -0
  218. package/lib/module/web/tools/GestureHandlerOrchestrator.js +270 -0
  219. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -0
  220. package/lib/module/web/tools/InteractionManager.js +93 -0
  221. package/lib/module/web/tools/InteractionManager.js.map +1 -0
  222. package/lib/module/web/tools/NodeManager.js +39 -0
  223. package/lib/module/web/tools/NodeManager.js.map +1 -0
  224. package/lib/module/web/tools/PointerTracker.js +122 -0
  225. package/lib/module/web/tools/PointerTracker.js.map +1 -0
  226. package/lib/module/{web → web_hammer}/DiscreteGestureHandler.js +0 -0
  227. package/lib/module/{web → web_hammer}/DiscreteGestureHandler.js.map +0 -0
  228. package/lib/module/{web → web_hammer}/DraggingGestureHandler.js +0 -0
  229. package/lib/module/{web → web_hammer}/DraggingGestureHandler.js.map +0 -0
  230. package/lib/module/{web → web_hammer}/Errors.js +0 -0
  231. package/lib/module/{web → web_hammer}/Errors.js.map +0 -0
  232. package/lib/module/{web → web_hammer}/FlingGestureHandler.js +0 -0
  233. package/lib/module/{web → web_hammer}/FlingGestureHandler.js.map +0 -0
  234. package/lib/module/{web → web_hammer}/GestureHandler.js +83 -42
  235. package/lib/module/web_hammer/GestureHandler.js.map +1 -0
  236. package/lib/module/{web → web_hammer}/IndiscreteGestureHandler.js +0 -0
  237. package/lib/module/{web → web_hammer}/IndiscreteGestureHandler.js.map +0 -0
  238. package/lib/module/{web → web_hammer}/LongPressGestureHandler.js +0 -0
  239. package/lib/module/{web → web_hammer}/LongPressGestureHandler.js.map +0 -0
  240. package/lib/module/{web → web_hammer}/NativeViewGestureHandler.js +4 -0
  241. package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -0
  242. package/lib/module/{web → web_hammer}/NodeManager.js +0 -0
  243. package/lib/module/web_hammer/NodeManager.js.map +1 -0
  244. package/lib/module/{web → web_hammer}/PanGestureHandler.js +0 -0
  245. package/lib/module/{web → web_hammer}/PanGestureHandler.js.map +0 -0
  246. package/lib/module/{web → web_hammer}/PinchGestureHandler.js +0 -0
  247. package/lib/module/{web → web_hammer}/PinchGestureHandler.js.map +0 -0
  248. package/lib/module/{web → web_hammer}/PressGestureHandler.js +0 -0
  249. package/lib/module/{web → web_hammer}/PressGestureHandler.js.map +0 -0
  250. package/lib/module/{web → web_hammer}/RotationGestureHandler.js +0 -0
  251. package/lib/module/{web → web_hammer}/RotationGestureHandler.js.map +0 -0
  252. package/lib/module/{web → web_hammer}/TapGestureHandler.js +0 -0
  253. package/lib/module/{web → web_hammer}/TapGestureHandler.js.map +0 -0
  254. package/lib/module/web_hammer/constants.js +43 -0
  255. package/lib/module/web_hammer/constants.js.map +1 -0
  256. package/lib/module/{web → web_hammer}/utils.js +0 -0
  257. package/lib/module/{web → web_hammer}/utils.js.map +1 -1
  258. package/lib/typescript/EnableExperimentalWebImplementation.d.ts +2 -0
  259. package/lib/typescript/RNGestureHandlerModule.macos.d.ts +44 -0
  260. package/lib/typescript/RNGestureHandlerModule.web.d.ts +29 -18
  261. package/lib/typescript/RNRenderer.d.ts +1 -0
  262. package/lib/typescript/RNRenderer.web.d.ts +3 -0
  263. package/lib/typescript/components/DrawerLayout.d.ts +4 -1
  264. package/lib/typescript/components/GestureButtons.d.ts +22 -0
  265. package/lib/typescript/components/GestureComponents.d.ts +7 -3
  266. package/lib/typescript/components/GestureComponents.web.d.ts +1 -0
  267. package/lib/typescript/components/Swipeable.d.ts +1 -1
  268. package/lib/typescript/fabric/RNGestureHandlerButtonNativeComponent.d.ts +1 -0
  269. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +2 -2
  270. package/lib/typescript/handlers/PanGestureHandler.d.ts +2 -1
  271. package/lib/typescript/handlers/PressabilityDebugView.d.ts +1 -0
  272. package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +1 -0
  273. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +1 -0
  274. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +2 -1
  275. package/lib/typescript/handlers/gestures/gesture.d.ts +3 -0
  276. package/lib/typescript/handlers/gestures/panGesture.d.ts +1 -0
  277. package/lib/typescript/index.d.ts +2 -1
  278. package/lib/typescript/web/constants.d.ts +1 -33
  279. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +30 -0
  280. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +30 -0
  281. package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +31 -0
  282. package/lib/typescript/web/handlers/GestureHandler.d.ts +84 -0
  283. package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +33 -0
  284. package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +16 -0
  285. package/lib/typescript/web/handlers/PanGestureHandler.d.ts +68 -0
  286. package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +30 -0
  287. package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +30 -0
  288. package/lib/typescript/web/handlers/TapGestureHandler.d.ts +49 -0
  289. package/lib/typescript/web/interfaces.d.ts +97 -0
  290. package/lib/typescript/web/tools/EventManager.d.ts +28 -0
  291. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +28 -0
  292. package/lib/typescript/web/tools/InteractionManager.d.ts +13 -0
  293. package/lib/typescript/web/tools/NodeManager.d.ts +11 -0
  294. package/lib/typescript/web/tools/PointerTracker.d.ts +28 -0
  295. package/lib/typescript/{web → web_hammer}/DiscreteGestureHandler.d.ts +0 -0
  296. package/lib/typescript/{web → web_hammer}/DraggingGestureHandler.d.ts +0 -0
  297. package/lib/typescript/{web → web_hammer}/Errors.d.ts +0 -0
  298. package/lib/typescript/{web → web_hammer}/FlingGestureHandler.d.ts +1 -0
  299. package/lib/typescript/{web → web_hammer}/GestureHandler.d.ts +6 -0
  300. package/lib/typescript/{web → web_hammer}/IndiscreteGestureHandler.d.ts +1 -0
  301. package/lib/typescript/{web → web_hammer}/LongPressGestureHandler.d.ts +1 -0
  302. package/lib/typescript/{web → web_hammer}/NativeViewGestureHandler.d.ts +1 -0
  303. package/lib/typescript/web_hammer/NodeManager.d.ts +8 -0
  304. package/lib/typescript/{web → web_hammer}/PanGestureHandler.d.ts +1 -0
  305. package/lib/typescript/{web → web_hammer}/PinchGestureHandler.d.ts +0 -0
  306. package/lib/typescript/{web → web_hammer}/PressGestureHandler.d.ts +2 -0
  307. package/lib/typescript/{web → web_hammer}/RotationGestureHandler.d.ts +0 -0
  308. package/lib/typescript/{web → web_hammer}/TapGestureHandler.d.ts +1 -0
  309. package/lib/typescript/web_hammer/constants.d.ts +39 -0
  310. package/lib/typescript/{web → web_hammer}/utils.d.ts +0 -0
  311. package/package.json +1 -1
  312. package/src/EnableExperimentalWebImplementation.ts +18 -0
  313. package/src/RNGestureHandlerModule.macos.ts +114 -0
  314. package/src/RNGestureHandlerModule.web.ts +89 -26
  315. package/src/RNRenderer.ts +3 -0
  316. package/src/RNRenderer.web.ts +3 -0
  317. package/src/components/DrawerLayout.tsx +37 -14
  318. package/src/components/GestureButtons.tsx +64 -0
  319. package/src/components/GestureComponents.tsx +66 -6
  320. package/src/components/GestureComponents.web.tsx +5 -0
  321. package/src/components/Swipeable.tsx +3 -1
  322. package/src/components/touchables/GenericTouchable.tsx +2 -0
  323. package/src/fabric/RNGestureHandlerButtonNativeComponent.ts +1 -0
  324. package/src/handlers/ForceTouchGestureHandler.ts +3 -2
  325. package/src/handlers/PanGestureHandler.ts +2 -0
  326. package/src/handlers/PressabilityDebugView.tsx +2 -0
  327. package/src/handlers/PressabilityDebugView.web.tsx +4 -0
  328. package/src/handlers/{createHandler.ts → createHandler.tsx} +45 -19
  329. package/src/handlers/gestureHandlerCommon.ts +2 -0
  330. package/src/handlers/gestures/GestureDetector.tsx +185 -93
  331. package/src/handlers/gestures/gesture.ts +16 -0
  332. package/src/handlers/gestures/gestureStateManager.ts +13 -8
  333. package/src/handlers/gestures/panGesture.ts +5 -0
  334. package/src/handlers/gestures/reanimatedWrapper.ts +7 -0
  335. package/src/index.ts +3 -0
  336. package/src/utils.ts +3 -1
  337. package/src/web/constants.ts +1 -41
  338. package/src/web/detectors/RotationGestureDetector.ts +199 -0
  339. package/src/web/detectors/ScaleGestureDetector.ts +208 -0
  340. package/src/web/handlers/FlingGestureHandler.ts +146 -0
  341. package/src/web/handlers/GestureHandler.ts +572 -0
  342. package/src/web/handlers/LongPressGestureHandler.ts +122 -0
  343. package/src/web/handlers/NativeViewGestureHandler.ts +109 -0
  344. package/src/web/handlers/PanGestureHandler.ts +488 -0
  345. package/src/web/handlers/PinchGestureHandler.ts +162 -0
  346. package/src/web/handlers/RotationGestureHandler.ts +181 -0
  347. package/src/web/handlers/TapGestureHandler.ts +275 -0
  348. package/src/web/interfaces.ts +114 -0
  349. package/src/web/tools/EventManager.ts +186 -0
  350. package/src/web/tools/GestureHandlerOrchestrator.ts +329 -0
  351. package/src/web/tools/InteractionManager.ts +108 -0
  352. package/src/web/tools/NodeManager.ts +43 -0
  353. package/src/web/tools/PointerTracker.ts +130 -0
  354. package/src/{web → web_hammer}/DiscreteGestureHandler.ts +0 -0
  355. package/src/{web → web_hammer}/DraggingGestureHandler.ts +0 -0
  356. package/src/{web → web_hammer}/Errors.ts +0 -0
  357. package/src/{web → web_hammer}/FlingGestureHandler.ts +0 -0
  358. package/src/{web → web_hammer}/GestureHandler.ts +102 -55
  359. package/src/{web → web_hammer}/IndiscreteGestureHandler.ts +0 -0
  360. package/src/{web → web_hammer}/LongPressGestureHandler.ts +0 -0
  361. package/src/{web → web_hammer}/NativeViewGestureHandler.ts +4 -0
  362. package/src/{web → web_hammer}/NodeManager.ts +6 -3
  363. package/src/{web → web_hammer}/PanGestureHandler.ts +0 -0
  364. package/src/{web → web_hammer}/PinchGestureHandler.ts +0 -0
  365. package/src/{web → web_hammer}/PressGestureHandler.ts +0 -0
  366. package/src/{web → web_hammer}/RotationGestureHandler.ts +0 -0
  367. package/src/{web → web_hammer}/TapGestureHandler.ts +0 -0
  368. package/src/web_hammer/constants.ts +48 -0
  369. package/src/{web → web_hammer}/utils.ts +1 -1
  370. package/android/src/main/jni/Android.mk +0 -53
  371. package/android/src/main/jni/OnLoad.cpp +0 -9
  372. package/android/src/main/jni/RNGestureHandlerComponentsRegistry.cpp +0 -71
  373. package/android/src/main/jni/RNGestureHandlerComponentsRegistry.h +0 -34
  374. package/ios/RNGestureHandler.xcodeproj/project.xcworkspace/xcuserdata/jakubpiasecki.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  375. package/ios/RNGestureHandler.xcodeproj/xcuserdata/jakubpiasecki.xcuserdatad/xcschemes/xcschememanagement.plist +0 -19
  376. package/lib/commonjs/web/GestureHandler.js.map +0 -1
  377. package/lib/commonjs/web/NativeViewGestureHandler.js.map +0 -1
  378. package/lib/commonjs/web/NodeManager.js.map +0 -1
  379. package/lib/module/web/GestureHandler.js.map +0 -1
  380. package/lib/module/web/NativeViewGestureHandler.js.map +0 -1
  381. package/lib/module/web/NodeManager.js.map +0 -1
  382. package/lib/typescript/web/NodeManager.d.ts +0 -8
@@ -1,33 +1,44 @@
1
1
  import { ActionType } from './ActionType';
2
- import FlingGestureHandler from './web/FlingGestureHandler';
3
- import LongPressGestureHandler from './web/LongPressGestureHandler';
4
- import NativeViewGestureHandler from './web/NativeViewGestureHandler';
5
- import PanGestureHandler from './web/PanGestureHandler';
6
- import PinchGestureHandler from './web/PinchGestureHandler';
7
- import RotationGestureHandler from './web/RotationGestureHandler';
8
- import TapGestureHandler from './web/TapGestureHandler';
2
+ import PanGestureHandler from './web/handlers/PanGestureHandler';
3
+ import TapGestureHandler from './web/handlers/TapGestureHandler';
4
+ import LongPressGestureHandler from './web/handlers/LongPressGestureHandler';
5
+ import PinchGestureHandler from './web/handlers/PinchGestureHandler';
6
+ import RotationGestureHandler from './web/handlers/RotationGestureHandler';
7
+ import FlingGestureHandler from './web/handlers/FlingGestureHandler';
8
+ import NativeViewGestureHandler from './web/handlers/NativeViewGestureHandler';
9
+ import HammerNativeViewGestureHandler from './web_hammer/NativeViewGestureHandler';
10
+ import HammerPanGestureHandler from './web_hammer/PanGestureHandler';
11
+ import HammerTapGestureHandler from './web_hammer/TapGestureHandler';
12
+ import HammerLongPressGestureHandler from './web_hammer/LongPressGestureHandler';
13
+ import HammerPinchGestureHandler from './web_hammer/PinchGestureHandler';
14
+ import HammerRotationGestureHandler from './web_hammer/RotationGestureHandler';
15
+ import HammerFlingGestureHandler from './web_hammer/FlingGestureHandler';
16
+ import { Config } from './web/interfaces';
9
17
  export declare const Gestures: {
18
+ NativeViewGestureHandler: typeof NativeViewGestureHandler;
10
19
  PanGestureHandler: typeof PanGestureHandler;
11
- RotationGestureHandler: typeof RotationGestureHandler;
12
- PinchGestureHandler: typeof PinchGestureHandler;
13
20
  TapGestureHandler: typeof TapGestureHandler;
14
- NativeViewGestureHandler: typeof NativeViewGestureHandler;
15
21
  LongPressGestureHandler: typeof LongPressGestureHandler;
22
+ PinchGestureHandler: typeof PinchGestureHandler;
23
+ RotationGestureHandler: typeof RotationGestureHandler;
16
24
  FlingGestureHandler: typeof FlingGestureHandler;
17
25
  };
26
+ export declare const HammerGestures: {
27
+ NativeViewGestureHandler: typeof HammerNativeViewGestureHandler;
28
+ PanGestureHandler: typeof HammerPanGestureHandler;
29
+ TapGestureHandler: typeof HammerTapGestureHandler;
30
+ LongPressGestureHandler: typeof HammerLongPressGestureHandler;
31
+ PinchGestureHandler: typeof HammerPinchGestureHandler;
32
+ RotationGestureHandler: typeof HammerRotationGestureHandler;
33
+ FlingGestureHandler: typeof HammerFlingGestureHandler;
34
+ };
18
35
  declare const _default: {
19
- Direction: {
20
- RIGHT: number;
21
- LEFT: number;
22
- UP: number;
23
- DOWN: number;
24
- };
25
36
  handleSetJSResponder(tag: number, blockNativeResponder: boolean): void;
26
37
  handleClearJSResponder(): void;
27
38
  createGestureHandler<T>(handlerName: keyof typeof Gestures, handlerTag: number, config: T): void;
28
39
  attachGestureHandler(handlerTag: number, newView: number, _actionType: ActionType, propsRef: React.RefObject<unknown>): void;
29
- updateGestureHandler(handlerTag: number, newConfig: any): void;
30
- getGestureHandlerNode(handlerTag: number): PanGestureHandler | RotationGestureHandler | PinchGestureHandler | TapGestureHandler | NativeViewGestureHandler | LongPressGestureHandler | FlingGestureHandler;
40
+ updateGestureHandler(handlerTag: number, newConfig: Config): void;
41
+ getGestureHandlerNode(handlerTag: number): PanGestureHandler | TapGestureHandler | LongPressGestureHandler | PinchGestureHandler | RotationGestureHandler | FlingGestureHandler | NativeViewGestureHandler | HammerNativeViewGestureHandler | HammerPanGestureHandler | HammerTapGestureHandler | HammerLongPressGestureHandler | HammerPinchGestureHandler | HammerRotationGestureHandler | HammerFlingGestureHandler;
31
42
  dropGestureHandler(handlerTag: number): void;
32
43
  flushOperations(): void;
33
44
  };
@@ -0,0 +1 @@
1
+ export { default as RNRenderer } from 'react-native/Libraries/Renderer/shims/ReactNative';
@@ -0,0 +1,3 @@
1
+ export declare const RNRenderer: {
2
+ findHostInstance_DEPRECATED: (_ref: any) => null;
3
+ };
@@ -78,12 +78,15 @@ export interface DrawerLayoutProps {
78
78
  enableTrackpadTwoFingerGesture?: boolean;
79
79
  onDrawerSlide?: (position: number) => void;
80
80
  onGestureRef?: (ref: PanGestureHandler) => void;
81
+ children?: React.ReactNode | ((openValue?: Animated.AnimatedInterpolation) => React.ReactNode);
81
82
  }
82
83
  export declare type DrawerLayoutState = {
83
84
  dragX: Animated.Value;
84
85
  touchX: Animated.Value;
85
86
  drawerTranslation: Animated.Value;
86
87
  containerWidth: number;
88
+ drawerState: DrawerState;
89
+ drawerOpened: boolean;
87
90
  };
88
91
  export declare type DrawerMovementOption = {
89
92
  velocity?: number;
@@ -102,7 +105,7 @@ export default class DrawerLayout extends Component<DrawerLayoutProps, DrawerLay
102
105
  enableTrackpadTwoFingerGesture: boolean;
103
106
  };
104
107
  constructor(props: DrawerLayoutProps);
105
- UNSAFE_componentWillUpdate(props: DrawerLayoutProps, state: DrawerLayoutState): void;
108
+ shouldComponentUpdate(props: DrawerLayoutProps, state: DrawerLayoutState): boolean;
106
109
  private openValue?;
107
110
  private onGestureEvent?;
108
111
  private accessibilityIsModalView;
@@ -31,6 +31,12 @@ export interface RawButtonProps extends NativeViewGestureHandlerProps {
31
31
  * Defines whether the ripple animation should be drawn on the foreground of the view.
32
32
  */
33
33
  foreground?: boolean;
34
+ /**
35
+ * Android only.
36
+ *
37
+ * Set this to true if you don't want the system to play sound when the button is pressed.
38
+ */
39
+ touchSoundDisabled?: boolean;
34
40
  }
35
41
  export interface BaseButtonProps extends RawButtonProps {
36
42
  /**
@@ -38,6 +44,11 @@ export interface BaseButtonProps extends RawButtonProps {
38
44
  * `TouchableHighlight` from RN core).
39
45
  */
40
46
  onPress?: (pointerInside: boolean) => void;
47
+ /**
48
+ * Called when the button gets pressed and is held for `delayLongPress`
49
+ * milliseconds.
50
+ */
51
+ onLongPress?: () => void;
41
52
  /**
42
53
  * Called when button changes from inactive to active and vice versa. It
43
54
  * passes active state as a boolean variable as a first parameter for that
@@ -46,6 +57,11 @@ export interface BaseButtonProps extends RawButtonProps {
46
57
  onActiveStateChange?: (active: boolean) => void;
47
58
  style?: StyleProp<ViewStyle>;
48
59
  testID?: string;
60
+ /**
61
+ * Delay, in milliseconds, after which the `onLongPress` callback gets called.
62
+ * Defaults to 600.
63
+ */
64
+ delayLongPress?: number;
49
65
  }
50
66
  export interface RectButtonProps extends BaseButtonProps {
51
67
  /**
@@ -69,9 +85,15 @@ export interface BorderlessButtonProps extends BaseButtonProps {
69
85
  }
70
86
  export declare const RawButton: React.ForwardRefExoticComponent<RawButtonProps & NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
71
87
  export declare class BaseButton extends React.Component<BaseButtonProps> {
88
+ static defaultProps: {
89
+ delayLongPress: number;
90
+ };
72
91
  private lastActive;
92
+ private longPressTimeout;
93
+ private longPressDetected;
73
94
  constructor(props: BaseButtonProps);
74
95
  private handleEvent;
96
+ private onLongPress;
75
97
  private onHandlerStateChange;
76
98
  private onGestureEvent;
77
99
  render(): JSX.Element;
@@ -1,11 +1,14 @@
1
1
  import * as React from 'react';
2
2
  import { PropsWithChildren, ForwardedRef, RefAttributes, ReactElement } from 'react';
3
- import { ScrollView as RNScrollView, ScrollViewProps as RNScrollViewProps, Switch as RNSwitch, SwitchProps as RNSwitchProps, TextInput as RNTextInput, TextInputProps as RNTextInputProps, DrawerLayoutAndroid as RNDrawerLayoutAndroid, DrawerLayoutAndroidProps as RNDrawerLayoutAndroidProps, FlatList as RNFlatList, FlatListProps as RNFlatListProps } from 'react-native';
3
+ import { ScrollView as RNScrollView, ScrollViewProps as RNScrollViewProps, Switch as RNSwitch, SwitchProps as RNSwitchProps, TextInput as RNTextInput, TextInputProps as RNTextInputProps, DrawerLayoutAndroid as RNDrawerLayoutAndroid, DrawerLayoutAndroidProps as RNDrawerLayoutAndroidProps, FlatList as RNFlatList, FlatListProps as RNFlatListProps, RefreshControl as RNRefreshControl } from 'react-native';
4
4
  import { NativeViewGestureHandlerProps } from '../handlers/NativeViewGestureHandler';
5
- export declare const ScrollView: React.ForwardRefExoticComponent<RNScrollViewProps & {
5
+ export declare const RefreshControl: React.ForwardRefExoticComponent<import("react-native").RefreshControlProps & NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
6
+ export declare type RefreshControl = typeof RefreshControl & RNRefreshControl;
7
+ declare const GHScrollView: React.ForwardRefExoticComponent<RNScrollViewProps & {
6
8
  children?: React.ReactNode;
7
9
  } & NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
8
- export declare type ScrollView = typeof ScrollView & RNScrollView;
10
+ export declare const ScrollView: React.ForwardRefExoticComponent<RNScrollViewProps & NativeViewGestureHandlerProps & React.RefAttributes<RNScrollView>>;
11
+ export declare type ScrollView = typeof GHScrollView & RNScrollView;
9
12
  export declare const Switch: React.ForwardRefExoticComponent<RNSwitchProps & NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
10
13
  export declare type Switch = typeof Switch & RNSwitch;
11
14
  export declare const TextInput: React.ForwardRefExoticComponent<RNTextInputProps & NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
@@ -16,3 +19,4 @@ export declare const DrawerLayoutAndroid: React.ForwardRefExoticComponent<RNDraw
16
19
  export declare type DrawerLayoutAndroid = typeof DrawerLayoutAndroid & RNDrawerLayoutAndroid;
17
20
  export declare const FlatList: <ItemT = any>(props: React.PropsWithChildren<RNFlatListProps<ItemT> & React.RefAttributes<FlatList<ItemT>> & NativeViewGestureHandlerProps>, ref: React.ForwardedRef<FlatList<ItemT>>) => ReactElement | null;
18
21
  export declare type FlatList<ItemT = any> = typeof FlatList & RNFlatList<ItemT>;
22
+ export {};
@@ -4,4 +4,5 @@ export declare const ScrollView: React.ForwardRefExoticComponent<import("react-n
4
4
  export declare const Switch: React.ForwardRefExoticComponent<import("react-native").SwitchProps & import("..").NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
5
5
  export declare const TextInput: React.ForwardRefExoticComponent<import("react-native").TextInputProps & import("..").NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
6
6
  export declare const DrawerLayoutAndroid: React.ForwardRefExoticComponent<import("react-native").DrawerLayoutAndroidProps & import("..").NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
7
+ export declare const RefreshControl: React.ForwardRefExoticComponent<import("react-native").ViewProps & import("..").NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
7
8
  export declare const FlatList: React.ForwardRefExoticComponent<FlatListProps<unknown> & React.RefAttributes<unknown>>;
@@ -136,7 +136,7 @@ export default class Swipeable extends Component<SwipeableProps, SwipeableState>
136
136
  useNativeAnimations: boolean;
137
137
  };
138
138
  constructor(props: SwipeableProps);
139
- UNSAFE_componentWillUpdate(props: SwipeableProps, state: SwipeableState): void;
139
+ shouldComponentUpdate(props: SwipeableProps, state: SwipeableState): boolean;
140
140
  private onGestureEvent?;
141
141
  private transX?;
142
142
  private showLeftAction?;
@@ -8,6 +8,7 @@ interface NativeProps extends ViewProps {
8
8
  enabled?: WithDefault<boolean, true>;
9
9
  rippleColor?: ColorValue;
10
10
  rippleRadius?: Int32;
11
+ touchSoundDisabled?: WithDefault<boolean, false>;
11
12
  }
12
13
  declare const _default: HostComponent<NativeProps>;
13
14
  export default _default;
@@ -1,7 +1,7 @@
1
- import React from 'react';
1
+ import React, { PropsWithChildren } from 'react';
2
2
  import { BaseGestureHandlerProps } from './gestureHandlerCommon';
3
3
  export declare const forceTouchGestureHandlerProps: readonly ["minForce", "maxForce", "feedbackOnActivation"];
4
- declare class ForceTouchFallback extends React.Component {
4
+ declare class ForceTouchFallback extends React.Component<PropsWithChildren<unknown>> {
5
5
  static forceTouchAvailable: boolean;
6
6
  componentDidMount(): void;
7
7
  render(): React.ReactNode;
@@ -1,5 +1,5 @@
1
1
  import { BaseGestureHandlerProps } from './gestureHandlerCommon';
2
- export declare const panGestureHandlerProps: readonly ["activeOffsetY", "activeOffsetX", "failOffsetY", "failOffsetX", "minDist", "minVelocity", "minVelocityX", "minVelocityY", "minPointers", "maxPointers", "avgTouches", "enableTrackpadTwoFingerGesture"];
2
+ export declare const panGestureHandlerProps: readonly ["activeOffsetY", "activeOffsetX", "failOffsetY", "failOffsetX", "minDist", "minVelocity", "minVelocityX", "minVelocityY", "minPointers", "maxPointers", "avgTouches", "enableTrackpadTwoFingerGesture", "activateAfterLongPress"];
3
3
  export declare const panGestureHandlerCustomNativeProps: readonly ["activeOffsetYStart", "activeOffsetYEnd", "activeOffsetXStart", "activeOffsetXEnd", "failOffsetYStart", "failOffsetYEnd", "failOffsetXStart", "failOffsetXEnd"];
4
4
  export declare type PanGestureHandlerEventPayload = {
5
5
  /**
@@ -82,6 +82,7 @@ interface CommonPanProperties {
82
82
  minVelocity?: number;
83
83
  minVelocityX?: number;
84
84
  minVelocityY?: number;
85
+ activateAfterLongPress?: number;
85
86
  }
86
87
  export interface PanGestureConfig extends CommonPanProperties {
87
88
  activeOffsetYStart?: number;
@@ -0,0 +1 @@
1
+ export { PressabilityDebugView } from 'react-native/Libraries/Pressability/PressabilityDebug';
@@ -0,0 +1 @@
1
+ export declare function PressabilityDebugView(): null;
@@ -54,6 +54,7 @@ export declare type BaseGestureHandlerProps<ExtraEventPayloadT extends Record<st
54
54
  onEnded?: (event: HandlerStateChangeEvent) => void;
55
55
  onGestureEvent?: (event: GestureEvent<ExtraEventPayloadT>) => void;
56
56
  onHandlerStateChange?: (event: HandlerStateChangeEvent<ExtraEventPayloadT>) => void;
57
+ children?: React.ReactNode;
57
58
  };
58
59
  export declare function filterConfig(props: Record<string, unknown>, validProps: string[], defaults?: Record<string, unknown>): {
59
60
  [x: string]: unknown;
@@ -11,6 +11,7 @@ export declare type GestureConfigReference = {
11
11
  };
12
12
  interface GestureDetectorProps {
13
13
  gesture?: ComposedGesture | GestureType;
14
+ children?: React.ReactNode;
14
15
  }
15
- export declare const GestureDetector: React.FunctionComponent<GestureDetectorProps>;
16
+ export declare const GestureDetector: (props: GestureDetectorProps) => JSX.Element;
16
17
  export {};
@@ -22,6 +22,7 @@ export interface BaseGestureConfig extends CommonGestureConfig, Record<string, u
22
22
  }
23
23
  declare type TouchEventHandlerType = (event: GestureTouchEvent, stateManager: GestureStateManagerType) => void;
24
24
  export declare type HandlerCallbacks<EventPayloadT extends Record<string, unknown>> = {
25
+ gestureId: number;
25
26
  handlerTag: number;
26
27
  onBegin?: (event: GestureStateChangeEvent<EventPayloadT>) => void;
27
28
  onStart?: (event: GestureStateChangeEvent<EventPayloadT>) => void;
@@ -68,10 +69,12 @@ export declare abstract class Gesture {
68
69
  abstract prepare(): void;
69
70
  }
70
71
  export declare abstract class BaseGesture<EventPayloadT extends Record<string, unknown>> extends Gesture {
72
+ private gestureId;
71
73
  handlerTag: number;
72
74
  handlerName: string;
73
75
  config: BaseGestureConfig;
74
76
  handlers: HandlerCallbacks<EventPayloadT>;
77
+ constructor();
75
78
  private addDependency;
76
79
  withRef(ref: React.MutableRefObject<GestureType | undefined>): this;
77
80
  protected isWorklet(callback: Function): boolean;
@@ -20,6 +20,7 @@ export declare class PanGesture extends ContinousBaseGesture<PanGestureHandlerEv
20
20
  minVelocityY(velocity: number): this;
21
21
  averageTouches(value: boolean): this;
22
22
  enableTrackpadTwoFingerGesture(value: boolean): this;
23
+ activateAfterLongPress(duration: number): this;
23
24
  onChange(callback: (event: GestureUpdateEvent<PanGestureHandlerEventPayload & PanGestureChangeEventPayload>) => void): this;
24
25
  }
25
26
  export declare type PanGestureType = InstanceType<typeof PanGesture>;
@@ -40,8 +40,9 @@ export { NativeViewGestureHandler } from './handlers/NativeViewGestureHandler';
40
40
  export type { RawButtonProps, BaseButtonProps, RectButtonProps, BorderlessButtonProps, } from './components/GestureButtons';
41
41
  export { RawButton, BaseButton, RectButton, BorderlessButton, } from './components/GestureButtons';
42
42
  export { TouchableHighlight, TouchableNativeFeedback, TouchableOpacity, TouchableWithoutFeedback, } from './components/touchables';
43
- export { ScrollView, Switch, TextInput, DrawerLayoutAndroid, FlatList, } from './components/GestureComponents';
43
+ export { ScrollView, Switch, TextInput, DrawerLayoutAndroid, FlatList, RefreshControl, } from './components/GestureComponents';
44
44
  export type { GestureHandlerGestureEvent, GestureHandlerStateChangeEvent, GestureHandlerGestureEventNativeEvent, GestureHandlerStateChangeNativeEvent, NativeViewGestureHandlerGestureEvent, NativeViewGestureHandlerStateChangeEvent, TapGestureHandlerGestureEvent, TapGestureHandlerStateChangeEvent, ForceTouchGestureHandlerGestureEvent, ForceTouchGestureHandlerStateChangeEvent, LongPressGestureHandlerGestureEvent, LongPressGestureHandlerStateChangeEvent, PanGestureHandlerGestureEvent, PanGestureHandlerStateChangeEvent, PinchGestureHandlerGestureEvent, PinchGestureHandlerStateChangeEvent, RotationGestureHandlerGestureEvent, RotationGestureHandlerStateChangeEvent, FlingGestureHandlerGestureEvent, FlingGestureHandlerStateChangeEvent, NativeViewGestureHandlerProperties, TapGestureHandlerProperties, LongPressGestureHandlerProperties, PanGestureHandlerProperties, PinchGestureHandlerProperties, RotationGestureHandlerProperties, FlingGestureHandlerProperties, ForceTouchGestureHandlerProperties, RawButtonProperties, BaseButtonProperties, RectButtonProperties, BorderlessButtonProperties, } from './handlers/gestureHandlerTypesCompat';
45
45
  export { default as Swipeable } from './components/Swipeable';
46
46
  export type { DrawerLayoutProps, DrawerPosition, DrawerState, DrawerType, DrawerLockMode, DrawerKeyboardDismissMode, } from './components/DrawerLayout';
47
47
  export { default as DrawerLayout } from './components/DrawerLayout';
48
+ export { enableExperimentalWebImplementation } from './EnableExperimentalWebImplementation';
@@ -1,39 +1,7 @@
1
- export declare const CONTENT_TOUCHES_DELAY = 240;
2
- export declare const CONTENT_TOUCHES_QUICK_TAP_END_DELAY = 50;
3
- export declare const MULTI_FINGER_PAN_MAX_PINCH_THRESHOLD = 0.1;
4
- export declare const MULTI_FINGER_PAN_MAX_ROTATION_THRESHOLD = 7;
5
- export declare const DEG_RAD: number;
6
- export declare const EventMap: {
7
- readonly 1: 2;
8
- readonly 2: 4;
9
- readonly 4: 5;
10
- readonly 8: 1;
11
- };
1
+ export declare const DEFAULT_TOUCH_SLOP = 15;
12
2
  export declare const Direction: {
13
3
  RIGHT: number;
14
4
  LEFT: number;
15
5
  UP: number;
16
6
  DOWN: number;
17
7
  };
18
- export declare const DirectionMap: {
19
- 4: number;
20
- 2: number;
21
- 8: number;
22
- 16: number;
23
- };
24
- export declare const HammerInputNames: {
25
- 1: string;
26
- 2: string;
27
- 4: string;
28
- 8: string;
29
- };
30
- export declare const HammerDirectionNames: {
31
- 6: string;
32
- 8: string;
33
- 16: string;
34
- 24: string;
35
- 1: string;
36
- 30: string;
37
- 4: string;
38
- 2: string;
39
- };
@@ -0,0 +1,30 @@
1
+ import { AdaptedPointerEvent } from '../interfaces';
2
+ import PointerTracker from '../tools/PointerTracker';
3
+ export interface RotationGestureListener {
4
+ onRotationBegin: (detector: RotationGestureDetector) => boolean;
5
+ onRotation: (detector: RotationGestureDetector, event: AdaptedPointerEvent) => boolean;
6
+ onRotationEnd: (detector: RotationGestureDetector, event: AdaptedPointerEvent) => void;
7
+ }
8
+ export default class RotationGestureDetector implements RotationGestureListener {
9
+ onRotationBegin: (detector: RotationGestureDetector) => boolean;
10
+ onRotation: (detector: RotationGestureDetector, event: AdaptedPointerEvent) => boolean;
11
+ onRotationEnd: (detector: RotationGestureDetector, event: AdaptedPointerEvent) => void;
12
+ private currentTime;
13
+ private previousTime;
14
+ private previousAngle;
15
+ private rotation;
16
+ private anchorX;
17
+ private anchorY;
18
+ private isInProgress;
19
+ private keyPointers;
20
+ constructor(callbacks: RotationGestureListener);
21
+ private updateCurrent;
22
+ private finish;
23
+ private setKeyPointers;
24
+ onTouchEvent(event: AdaptedPointerEvent, tracker: PointerTracker): boolean;
25
+ private adaptEvent;
26
+ getTimeDelta(): number;
27
+ getAnchorX(): number;
28
+ getAnchorY(): number;
29
+ getRotation(): number;
30
+ }
@@ -0,0 +1,30 @@
1
+ import { AdaptedPointerEvent } from '../interfaces';
2
+ import PointerTracker from '../tools/PointerTracker';
3
+ export interface ScaleGestureListener {
4
+ onScaleBegin: (detector: ScaleGestureDetector) => boolean;
5
+ onScale: (detector: ScaleGestureDetector, event: AdaptedPointerEvent) => boolean;
6
+ onScaleEnd: (detector: ScaleGestureDetector, event: AdaptedPointerEvent) => void;
7
+ }
8
+ export default class ScaleGestureDetector implements ScaleGestureListener {
9
+ onScaleBegin: (detector: ScaleGestureDetector) => boolean;
10
+ onScale: (detector: ScaleGestureDetector, event: AdaptedPointerEvent) => boolean;
11
+ onScaleEnd: (detector: ScaleGestureDetector, event: AdaptedPointerEvent) => void;
12
+ private focusX;
13
+ private focusY;
14
+ private currentSpan;
15
+ private prevSpan;
16
+ private initialSpan;
17
+ private currentTime;
18
+ private prevTime;
19
+ private inProgress;
20
+ private spanSlop;
21
+ private minSpan;
22
+ constructor(callbacks: ScaleGestureListener);
23
+ onTouchEvent(event: AdaptedPointerEvent, tracker: PointerTracker): boolean;
24
+ private adaptEvent;
25
+ getCurrentSpan(): number;
26
+ getFocusX(): number;
27
+ getFocusY(): number;
28
+ getTimeDelta(): number;
29
+ getScaleFactor(numOfPointers: number): number;
30
+ }
@@ -0,0 +1,31 @@
1
+ import { AdaptedPointerEvent } from '../interfaces';
2
+ import GestureHandler from './GestureHandler';
3
+ export default class FlingGestureHandler extends GestureHandler {
4
+ private numberOfPointersRequired;
5
+ private direction;
6
+ private maxDurationMs;
7
+ private minAcceptableDelta;
8
+ private delayTimeout;
9
+ private startX;
10
+ private startY;
11
+ private maxNumberOfPointersSimultaneously;
12
+ init(ref: number, propsRef: React.RefObject<unknown>): void;
13
+ updateGestureConfig({ enabled, ...props }: {
14
+ [x: string]: any;
15
+ enabled?: boolean | undefined;
16
+ }): void;
17
+ protected transformNativeEvent(event: AdaptedPointerEvent): {
18
+ x: number;
19
+ y: number;
20
+ absoluteX: number;
21
+ absoluteY: number;
22
+ };
23
+ private startFling;
24
+ private tryEndFling;
25
+ private endFling;
26
+ protected onPointerDown(event: AdaptedPointerEvent): void;
27
+ protected onPointerMove(event: AdaptedPointerEvent): void;
28
+ protected onPointerUp(event: AdaptedPointerEvent): void;
29
+ protected activate(event: AdaptedPointerEvent, force?: boolean): void;
30
+ protected resetConfig(): void;
31
+ }
@@ -0,0 +1,84 @@
1
+ import { State } from '../../State';
2
+ import { Config, AdaptedPointerEvent } from '../interfaces';
3
+ import EventManager from '../tools/EventManager';
4
+ import InteractionManager from '../tools/InteractionManager';
5
+ import PointerTracker from '../tools/PointerTracker';
6
+ export default abstract class GestureHandler {
7
+ private lastSentState;
8
+ protected currentState: State;
9
+ protected shouldCancellWhenOutside: boolean;
10
+ protected hasCustomActivationCriteria: boolean;
11
+ protected enabled: boolean;
12
+ private ref;
13
+ private propsRef;
14
+ protected config: Config;
15
+ private handlerTag;
16
+ protected view: HTMLElement | null;
17
+ protected eventManager: EventManager;
18
+ protected tracker: PointerTracker;
19
+ protected interactionManager: InteractionManager;
20
+ protected activationIndex: number;
21
+ protected awaiting: boolean;
22
+ protected active: boolean;
23
+ protected shouldResetProgress: boolean;
24
+ constructor();
25
+ protected init(ref: number, propsRef: React.RefObject<unknown>): void;
26
+ private setView;
27
+ private setEventManager;
28
+ setInteractionManager(manager: InteractionManager): void;
29
+ protected onCancel(): void;
30
+ protected onReset(): void;
31
+ protected resetProgress(): void;
32
+ reset(): void;
33
+ moveToState(newState: State, event: AdaptedPointerEvent): void;
34
+ protected onStateChange(_newState: State, _oldState: State): void;
35
+ begin(event: AdaptedPointerEvent): void;
36
+ fail(event: AdaptedPointerEvent): void;
37
+ cancel(event: AdaptedPointerEvent): void;
38
+ protected activate(event: AdaptedPointerEvent, _force?: boolean): void;
39
+ end(event: AdaptedPointerEvent): void;
40
+ isAwaiting(): boolean;
41
+ setAwaiting(value: boolean): void;
42
+ isActive(): boolean;
43
+ setActive(value: boolean): void;
44
+ getShouldResetProgress(): boolean;
45
+ setShouldResetProgress(value: boolean): void;
46
+ getActivationIndex(): number;
47
+ setActivationIndex(value: number): void;
48
+ shouldWaitForHandlerFailure(handler: GestureHandler): boolean;
49
+ shouldRequireToWaitForFailure(handler: GestureHandler): boolean;
50
+ shouldRecognizeSimultaneously(handler: GestureHandler): boolean;
51
+ shouldBeCancelledByOther(handler: GestureHandler): boolean;
52
+ protected onPointerDown(_event: AdaptedPointerEvent): void;
53
+ protected onPointerAdd(_event: AdaptedPointerEvent): void;
54
+ protected onPointerUp(_event: AdaptedPointerEvent): void;
55
+ protected onPointerRemove(_event: AdaptedPointerEvent): void;
56
+ protected onPointerMove(event: AdaptedPointerEvent): void;
57
+ protected onPointerOut(_event: AdaptedPointerEvent): void;
58
+ protected onPointerEnter(_event: AdaptedPointerEvent): void;
59
+ protected onPointerCancel(_event: AdaptedPointerEvent): void;
60
+ protected onPointerOutOfBounds(event: AdaptedPointerEvent): void;
61
+ private tryToSendMoveEvent;
62
+ sendEvent: (event: AdaptedPointerEvent, newState: State, oldState: State) => void;
63
+ private transformEventData;
64
+ protected transformNativeEvent(_event: AdaptedPointerEvent): {};
65
+ updateGestureConfig({ enabled, ...props }: {
66
+ [x: string]: any;
67
+ enabled?: boolean | undefined;
68
+ }): void;
69
+ protected checkCustomActivationCriteria(criterias: string[]): void;
70
+ private validateHitSlops;
71
+ private checkHitSlop;
72
+ protected resetConfig(): void;
73
+ getTag(): number;
74
+ setTag(tag: number): void;
75
+ protected getConfig(): Config;
76
+ getShouldEnableGestureOnSetup(): boolean;
77
+ getView(): HTMLElement | null;
78
+ getEventManager(): EventManager;
79
+ getTracker(): PointerTracker;
80
+ getTrackedPointersID(): number[];
81
+ getState(): State;
82
+ protected setShouldCancelWhenOutside(flag: boolean): void;
83
+ protected getShouldCancelWhenOutside(): boolean;
84
+ }
@@ -0,0 +1,33 @@
1
+ import { State } from '../../State';
2
+ import { AdaptedPointerEvent } from '../interfaces';
3
+ import GestureHandler from './GestureHandler';
4
+ export default class LongPressGestureHandler extends GestureHandler {
5
+ private minDurationMs;
6
+ private defaultMaxDistSq;
7
+ private maxDistSq;
8
+ private startX;
9
+ private startY;
10
+ private startTime;
11
+ private previousTime;
12
+ private activationTimeout;
13
+ init(ref: number, propsRef: React.RefObject<unknown>): void;
14
+ protected transformNativeEvent(event: AdaptedPointerEvent): {
15
+ x: number;
16
+ y: number;
17
+ absoluteX: number;
18
+ absoluteY: number;
19
+ duration: number;
20
+ };
21
+ updateGestureConfig({ enabled, ...props }: {
22
+ [x: string]: any;
23
+ enabled?: boolean | undefined;
24
+ }): void;
25
+ protected resetConfig(): void;
26
+ protected onStateChange(_newState: State, _oldState: State): void;
27
+ protected onPointerDown(event: AdaptedPointerEvent): void;
28
+ protected onPointerUp(event: AdaptedPointerEvent): void;
29
+ protected onPointerMove(event: AdaptedPointerEvent): void;
30
+ private tryBegin;
31
+ private tryActivate;
32
+ private checkDistanceFail;
33
+ }
@@ -0,0 +1,16 @@
1
+ import { AdaptedPointerEvent } from '../interfaces';
2
+ import GestureHandler from './GestureHandler';
3
+ export default class NativeViewGestureHandler extends GestureHandler {
4
+ private buttonRole;
5
+ private disallowInterruption;
6
+ init(ref: number, propsRef: React.RefObject<unknown>): void;
7
+ protected resetConfig(): void;
8
+ protected onPointerDown(event: AdaptedPointerEvent): void;
9
+ protected onPointerMove(_event: AdaptedPointerEvent): void;
10
+ protected onPointerOut(event: AdaptedPointerEvent): void;
11
+ protected onPointerUp(event: AdaptedPointerEvent): void;
12
+ protected onPointerCancel(event: AdaptedPointerEvent): void;
13
+ shouldRecognizeSimultaneously(handler: GestureHandler): boolean;
14
+ shouldBeCancelledByOther(_handler: GestureHandler): boolean;
15
+ disallowsInterruption(): boolean;
16
+ }
@@ -0,0 +1,68 @@
1
+ import { AdaptedPointerEvent } from '../interfaces';
2
+ import GestureHandler from './GestureHandler';
3
+ export default class PanGestureHandler extends GestureHandler {
4
+ private readonly customActivationProperties;
5
+ velocityX: number;
6
+ velocityY: number;
7
+ private minDistSq;
8
+ private activeOffsetXStart;
9
+ private activeOffsetXEnd;
10
+ private failOffsetXStart;
11
+ private failOffsetXEnd;
12
+ private activeOffsetYStart;
13
+ private activeOffsetYEnd;
14
+ private failOffsetYStart;
15
+ private failOffsetYEnd;
16
+ private minVelocityX;
17
+ private minVelocityY;
18
+ private minVelocitySq;
19
+ private minPointers;
20
+ private maxPointers;
21
+ private startX;
22
+ private startY;
23
+ private offsetX;
24
+ private offsetY;
25
+ private lastX;
26
+ private lastY;
27
+ private activateAfterLongPress;
28
+ init(ref: number, propsRef: React.RefObject<unknown>): void;
29
+ updateGestureConfig({ enabled, ...props }: {
30
+ [x: string]: any;
31
+ enabled?: boolean | undefined;
32
+ }): void;
33
+ protected resetConfig(): void;
34
+ protected transformNativeEvent(event: AdaptedPointerEvent): {
35
+ translationX?: undefined;
36
+ translationY?: undefined;
37
+ absoluteX?: undefined;
38
+ absoluteY?: undefined;
39
+ velocityX?: undefined;
40
+ velocityY?: undefined;
41
+ x?: undefined;
42
+ y?: undefined;
43
+ } | {
44
+ translationX: number;
45
+ translationY: number;
46
+ absoluteX: number;
47
+ absoluteY: number;
48
+ velocityX: number;
49
+ velocityY: number;
50
+ x: number;
51
+ y: number;
52
+ };
53
+ private getTranslationX;
54
+ private getTranslationY;
55
+ protected onPointerDown(event: AdaptedPointerEvent): void;
56
+ protected onPointerAdd(event: AdaptedPointerEvent): void;
57
+ protected onPointerUp(event: AdaptedPointerEvent): void;
58
+ protected onPointerRemove(event: AdaptedPointerEvent): void;
59
+ protected onPointerMove(event: AdaptedPointerEvent): void;
60
+ protected onPointerCancel(event: AdaptedPointerEvent): void;
61
+ protected onPointerOutOfBounds(event: AdaptedPointerEvent): void;
62
+ private shouldActivate;
63
+ private shouldFail;
64
+ private tryBegin;
65
+ private checkBegan;
66
+ protected activate(event: AdaptedPointerEvent, force?: boolean): void;
67
+ protected resetProgress(): void;
68
+ }