react-native-gesture-handler 1.10.3 → 2.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 (384) hide show
  1. package/README.md +7 -6
  2. package/android/build.gradle +23 -1
  3. package/android/gradle.properties +19 -0
  4. package/android/lib/src/main/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.kt +18 -0
  5. package/android/lib/src/main/java/com/swmansion/gesturehandler/Extensions.kt +11 -0
  6. package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.kt +96 -0
  7. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.kt +710 -0
  8. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.kt +8 -0
  9. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.kt +562 -0
  10. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistry.kt +8 -0
  11. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.kt +21 -0
  12. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureUtils.kt +49 -0
  13. package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.kt +97 -0
  14. package/android/lib/src/main/java/com/swmansion/gesturehandler/ManualGestureHandler.kt +11 -0
  15. package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.kt +129 -0
  16. package/android/lib/src/main/java/com/swmansion/gesturehandler/OnTouchEventListener.kt +9 -0
  17. package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.kt +289 -0
  18. package/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.kt +88 -0
  19. package/android/lib/src/main/java/com/swmansion/gesturehandler/{PointerEventsConfig.java → PointerEventsConfig.kt} +3 -5
  20. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureDetector.kt +125 -0
  21. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureHandler.kt +79 -0
  22. package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.kt +167 -0
  23. package/android/lib/src/main/java/com/swmansion/gesturehandler/ViewConfigurationHelper.kt +10 -0
  24. package/android/src/main/java/com/swmansion/common/GestureHandlerStateManager.kt +5 -0
  25. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +348 -0
  26. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +57 -0
  27. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +59 -0
  28. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.kt +8 -0
  29. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +61 -0
  30. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +686 -0
  31. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.kt +17 -0
  32. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +95 -0
  33. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +132 -0
  34. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.kt +5 -0
  35. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +68 -0
  36. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +34 -0
  37. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +66 -0
  38. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +69 -0
  39. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +51 -0
  40. package/ios/Handlers/RNFlingHandler.m +78 -5
  41. package/ios/Handlers/RNForceTouchHandler.m +29 -4
  42. package/ios/Handlers/RNLongPressHandler.m +105 -3
  43. package/ios/Handlers/RNManualHandler.h +4 -0
  44. package/ios/Handlers/RNManualHandler.m +73 -0
  45. package/ios/Handlers/RNNativeViewHandler.m +30 -2
  46. package/ios/Handlers/RNPanHandler.m +64 -4
  47. package/ios/Handlers/RNPinchHandler.m +61 -2
  48. package/ios/Handlers/RNRotationHandler.m +60 -1
  49. package/ios/Handlers/RNTapHandler.m +55 -8
  50. package/ios/RNGestureHandler.h +18 -4
  51. package/ios/RNGestureHandler.m +123 -13
  52. package/ios/RNGestureHandler.xcodeproj/xcuserdata/mdk.xcuserdatad/xcschemes/RNGestureHandler.xcscheme +80 -0
  53. package/ios/RNGestureHandler.xcodeproj/xcuserdata/mdk.xcuserdatad/xcschemes/xcschememanagement.plist +27 -0
  54. package/ios/RNGestureHandlerEvents.h +9 -0
  55. package/ios/RNGestureHandlerEvents.m +34 -0
  56. package/ios/RNGestureHandlerManager.h +7 -0
  57. package/ios/RNGestureHandlerManager.m +62 -34
  58. package/ios/RNGestureHandlerModule.m +39 -3
  59. package/ios/RNGestureHandlerPointerTracker.h +25 -0
  60. package/ios/RNGestureHandlerPointerTracker.m +237 -0
  61. package/ios/RNGestureHandlerRegistry.h +1 -0
  62. package/ios/RNGestureHandlerRegistry.m +10 -0
  63. package/ios/RNGestureHandlerStateManager.h +5 -0
  64. package/ios/RNManualActivationRecognizer.h +10 -0
  65. package/ios/RNManualActivationRecognizer.m +80 -0
  66. package/ios/RNRootViewGestureRecognizer.m +1 -1
  67. package/ios/RNTouchEventType.h +9 -0
  68. package/lib/commonjs/EventType.js +16 -0
  69. package/lib/commonjs/EventType.js.map +1 -0
  70. package/lib/commonjs/GestureHandlerRootView.android.js +1 -13
  71. package/lib/commonjs/GestureHandlerRootView.android.js.map +1 -1
  72. package/lib/commonjs/GestureHandlerRootView.js +11 -3
  73. package/lib/commonjs/GestureHandlerRootView.js.map +1 -1
  74. package/lib/commonjs/RNGestureHandlerModule.js +3 -1
  75. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
  76. package/lib/commonjs/RNGestureHandlerModule.web.js +2 -2
  77. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  78. package/lib/commonjs/components/DrawerLayout.js +41 -37
  79. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  80. package/lib/commonjs/components/GestureButtons.js.map +1 -1
  81. package/lib/commonjs/components/GestureComponents.js +31 -12
  82. package/lib/commonjs/components/GestureComponents.js.map +1 -1
  83. package/lib/commonjs/components/Swipeable.js +10 -6
  84. package/lib/commonjs/components/Swipeable.js.map +1 -1
  85. package/lib/commonjs/components/touchables/GenericTouchable.js +2 -1
  86. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
  87. package/lib/commonjs/components/touchables/TouchableOpacity.js +1 -1
  88. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  89. package/lib/commonjs/gestureHandlerRootHOC.js +1 -1
  90. package/lib/commonjs/gestureHandlerRootHOC.js.map +1 -1
  91. package/lib/commonjs/handlers/FlingGestureHandler.js +23 -0
  92. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -0
  93. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +44 -0
  94. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -0
  95. package/lib/commonjs/handlers/LongPressGestureHandler.js +23 -0
  96. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -0
  97. package/lib/commonjs/handlers/NativeViewGestureHandler.js +6 -4
  98. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
  99. package/lib/commonjs/handlers/PanGestureHandler.js +121 -0
  100. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -0
  101. package/lib/commonjs/handlers/PinchGestureHandler.js +21 -0
  102. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -0
  103. package/lib/commonjs/handlers/RotationGestureHandler.js +21 -0
  104. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -0
  105. package/lib/commonjs/handlers/TapGestureHandler.js +23 -0
  106. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -0
  107. package/lib/commonjs/handlers/createHandler.js +52 -83
  108. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  109. package/lib/commonjs/handlers/gestureHandlerCommon.js +80 -0
  110. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -0
  111. package/lib/commonjs/handlers/gestures/GestureDetector.js +415 -0
  112. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -0
  113. package/lib/commonjs/handlers/gestures/eventReceiver.js +112 -0
  114. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -0
  115. package/lib/commonjs/handlers/gestures/flingGesture.js +34 -0
  116. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -0
  117. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +39 -0
  118. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -0
  119. package/lib/commonjs/handlers/gestures/gesture.js +177 -0
  120. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -0
  121. package/lib/commonjs/handlers/gestures/gestureComposition.js +94 -0
  122. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -0
  123. package/lib/commonjs/handlers/gestures/gestureObjects.js +85 -0
  124. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -0
  125. package/lib/commonjs/handlers/gestures/gestureStateManager.js +58 -0
  126. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -0
  127. package/lib/commonjs/handlers/gestures/longPressGesture.js +34 -0
  128. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -0
  129. package/lib/commonjs/handlers/gestures/manualGesture.js +19 -0
  130. package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -0
  131. package/lib/commonjs/handlers/gestures/nativeGesture.js +34 -0
  132. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -0
  133. package/lib/commonjs/handlers/gestures/panGesture.js +116 -0
  134. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -0
  135. package/lib/commonjs/handlers/gestures/pinchGesture.js +19 -0
  136. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -0
  137. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +24 -0
  138. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -0
  139. package/lib/commonjs/handlers/gestures/rotationGesture.js +19 -0
  140. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -0
  141. package/lib/commonjs/handlers/gestures/tapGesture.js +59 -0
  142. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -0
  143. package/lib/commonjs/handlers/handlersRegistry.js +31 -0
  144. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -0
  145. package/lib/commonjs/index.js +146 -8
  146. package/lib/commonjs/index.js.map +1 -1
  147. package/lib/commonjs/init.js +13 -0
  148. package/lib/commonjs/init.js.map +1 -0
  149. package/lib/commonjs/mocks.js +31 -2
  150. package/lib/commonjs/mocks.js.map +1 -1
  151. package/lib/commonjs/utils.js +15 -0
  152. package/lib/commonjs/utils.js.map +1 -0
  153. package/lib/commonjs/web/Errors.js +1 -1
  154. package/lib/commonjs/web/Errors.js.map +1 -1
  155. package/lib/commonjs/web/GestureHandler.js +4 -6
  156. package/lib/commonjs/web/GestureHandler.js.map +1 -1
  157. package/lib/commonjs/web/NodeManager.js +8 -2
  158. package/lib/commonjs/web/NodeManager.js.map +1 -1
  159. package/lib/module/EventType.js +8 -0
  160. package/lib/module/EventType.js.map +1 -0
  161. package/lib/module/GestureHandlerRootView.android.js +2 -14
  162. package/lib/module/GestureHandlerRootView.android.js.map +1 -1
  163. package/lib/module/GestureHandlerRootView.js +5 -1
  164. package/lib/module/GestureHandlerRootView.js.map +1 -1
  165. package/lib/module/RNGestureHandlerModule.js +3 -1
  166. package/lib/module/RNGestureHandlerModule.js.map +1 -1
  167. package/lib/module/RNGestureHandlerModule.web.js +2 -2
  168. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  169. package/lib/module/components/DrawerLayout.js +43 -40
  170. package/lib/module/components/DrawerLayout.js.map +1 -1
  171. package/lib/module/components/GestureButtons.js.map +1 -1
  172. package/lib/module/components/GestureComponents.js +29 -11
  173. package/lib/module/components/GestureComponents.js.map +1 -1
  174. package/lib/module/components/Swipeable.js +9 -6
  175. package/lib/module/components/Swipeable.js.map +1 -1
  176. package/lib/module/components/touchables/GenericTouchable.js +2 -1
  177. package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
  178. package/lib/module/components/touchables/TouchableOpacity.js +1 -1
  179. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  180. package/lib/module/gestureHandlerRootHOC.js +1 -1
  181. package/lib/module/gestureHandlerRootHOC.js.map +1 -1
  182. package/lib/module/handlers/FlingGestureHandler.js +10 -0
  183. package/lib/module/handlers/FlingGestureHandler.js.map +1 -0
  184. package/lib/module/handlers/ForceTouchGestureHandler.js +29 -0
  185. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -0
  186. package/lib/module/handlers/LongPressGestureHandler.js +10 -0
  187. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -0
  188. package/lib/module/handlers/NativeViewGestureHandler.js +4 -3
  189. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
  190. package/lib/module/handlers/PanGestureHandler.js +106 -0
  191. package/lib/module/handlers/PanGestureHandler.js.map +1 -0
  192. package/lib/module/handlers/PinchGestureHandler.js +9 -0
  193. package/lib/module/handlers/PinchGestureHandler.js.map +1 -0
  194. package/lib/module/handlers/RotationGestureHandler.js +9 -0
  195. package/lib/module/handlers/RotationGestureHandler.js.map +1 -0
  196. package/lib/module/handlers/TapGestureHandler.js +10 -0
  197. package/lib/module/handlers/TapGestureHandler.js.map +1 -0
  198. package/lib/module/handlers/createHandler.js +41 -76
  199. package/lib/module/handlers/createHandler.js.map +1 -1
  200. package/lib/module/handlers/gestureHandlerCommon.js +66 -0
  201. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -0
  202. package/lib/module/handlers/gestures/GestureDetector.js +378 -0
  203. package/lib/module/handlers/gestures/GestureDetector.js.map +1 -0
  204. package/lib/module/handlers/gestures/eventReceiver.js +97 -0
  205. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -0
  206. package/lib/module/handlers/gestures/flingGesture.js +24 -0
  207. package/lib/module/handlers/gestures/flingGesture.js.map +1 -0
  208. package/lib/module/handlers/gestures/forceTouchGesture.js +29 -0
  209. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -0
  210. package/lib/module/handlers/gestures/gesture.js +159 -0
  211. package/lib/module/handlers/gestures/gesture.js.map +1 -0
  212. package/lib/module/handlers/gestures/gestureComposition.js +79 -0
  213. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -0
  214. package/lib/module/handlers/gestures/gestureObjects.js +67 -0
  215. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -0
  216. package/lib/module/handlers/gestures/gestureStateManager.js +48 -0
  217. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -0
  218. package/lib/module/handlers/gestures/longPressGesture.js +24 -0
  219. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -0
  220. package/lib/module/handlers/gestures/manualGesture.js +9 -0
  221. package/lib/module/handlers/gestures/manualGesture.js.map +1 -0
  222. package/lib/module/handlers/gestures/nativeGesture.js +24 -0
  223. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -0
  224. package/lib/module/handlers/gestures/panGesture.js +106 -0
  225. package/lib/module/handlers/gestures/panGesture.js.map +1 -0
  226. package/lib/module/handlers/gestures/pinchGesture.js +9 -0
  227. package/lib/module/handlers/gestures/pinchGesture.js.map +1 -0
  228. package/lib/module/handlers/gestures/reanimatedWrapper.js +19 -0
  229. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -0
  230. package/lib/module/handlers/gestures/rotationGesture.js +9 -0
  231. package/lib/module/handlers/gestures/rotationGesture.js.map +1 -0
  232. package/lib/module/handlers/gestures/tapGesture.js +49 -0
  233. package/lib/module/handlers/gestures/tapGesture.js.map +1 -0
  234. package/lib/module/handlers/handlersRegistry.js +16 -0
  235. package/lib/module/handlers/handlersRegistry.js.map +1 -0
  236. package/lib/module/index.js +22 -1
  237. package/lib/module/index.js.map +1 -1
  238. package/lib/module/init.js +5 -0
  239. package/lib/module/init.js.map +1 -0
  240. package/lib/module/mocks.js +31 -2
  241. package/lib/module/mocks.js.map +1 -1
  242. package/lib/module/utils.js +8 -0
  243. package/lib/module/utils.js.map +1 -0
  244. package/lib/module/web/Errors.js +1 -1
  245. package/lib/module/web/Errors.js.map +1 -1
  246. package/lib/module/web/GestureHandler.js +4 -6
  247. package/lib/module/web/GestureHandler.js.map +1 -1
  248. package/lib/module/web/NodeManager.js +8 -2
  249. package/lib/module/web/NodeManager.js.map +1 -1
  250. package/lib/typescript/EventType.d.ts +8 -0
  251. package/lib/typescript/GestureHandlerRootView.android.d.ts +2 -4
  252. package/lib/typescript/GestureHandlerRootView.d.ts +5 -2
  253. package/lib/typescript/RNGestureHandlerModule.d.ts +1 -1
  254. package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -1
  255. package/lib/typescript/components/DrawerLayout.d.ts +50 -1
  256. package/lib/typescript/components/GestureButtons.d.ts +36 -0
  257. package/lib/typescript/components/GestureComponents.d.ts +8 -35
  258. package/lib/typescript/components/Swipeable.d.ts +73 -6
  259. package/lib/typescript/components/touchables/GenericTouchable.d.ts +2 -2
  260. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +1 -0
  261. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +1 -0
  262. package/lib/typescript/handlers/FlingGestureHandler.d.ts +33 -0
  263. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +43 -0
  264. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +55 -0
  265. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +19 -4
  266. package/lib/typescript/handlers/PanGestureHandler.d.ts +137 -0
  267. package/lib/typescript/handlers/PinchGestureHandler.d.ts +28 -0
  268. package/lib/typescript/handlers/RotationGestureHandler.d.ts +28 -0
  269. package/lib/typescript/handlers/TapGestureHandler.d.ts +56 -0
  270. package/lib/typescript/handlers/createHandler.d.ts +1 -1
  271. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +62 -0
  272. package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +8 -1
  273. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +16 -0
  274. package/lib/typescript/handlers/gestures/eventReceiver.d.ts +2 -0
  275. package/lib/typescript/handlers/gestures/flingGesture.d.ts +9 -0
  276. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +10 -0
  277. package/lib/typescript/handlers/gestures/gesture.d.ts +90 -0
  278. package/lib/typescript/handlers/gestures/gestureComposition.d.ts +21 -0
  279. package/lib/typescript/handlers/gestures/gestureObjects.d.ts +39 -0
  280. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +9 -0
  281. package/lib/typescript/handlers/gestures/longPressGesture.d.ts +9 -0
  282. package/lib/typescript/handlers/gestures/manualGesture.d.ts +5 -0
  283. package/lib/typescript/handlers/gestures/nativeGesture.d.ts +9 -0
  284. package/lib/typescript/handlers/gestures/panGesture.d.ts +19 -0
  285. package/lib/typescript/handlers/gestures/pinchGesture.d.ts +6 -0
  286. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +14 -0
  287. package/lib/typescript/handlers/gestures/rotationGesture.d.ts +6 -0
  288. package/lib/typescript/handlers/gestures/tapGesture.d.ts +14 -0
  289. package/lib/typescript/handlers/handlersRegistry.d.ts +6 -0
  290. package/lib/typescript/index.d.ts +29 -2
  291. package/lib/typescript/init.d.ts +1 -0
  292. package/lib/typescript/mocks.d.ts +21 -2
  293. package/lib/typescript/utils.d.ts +1 -0
  294. package/lib/typescript/web/FlingGestureHandler.d.ts +0 -1
  295. package/lib/typescript/web/GestureHandler.d.ts +0 -1
  296. package/lib/typescript/web/PanGestureHandler.d.ts +0 -1
  297. package/lib/typescript/web/PinchGestureHandler.d.ts +0 -1
  298. package/lib/typescript/web/PressGestureHandler.d.ts +0 -1
  299. package/lib/typescript/web/RotationGestureHandler.d.ts +0 -1
  300. package/lib/typescript/web/TapGestureHandler.d.ts +0 -1
  301. package/package.json +7 -5
  302. package/src/EventType.ts +10 -0
  303. package/src/GestureHandlerRootView.android.tsx +9 -25
  304. package/src/GestureHandlerRootView.tsx +11 -2
  305. package/src/RNGestureHandlerModule.ts +5 -1
  306. package/src/RNGestureHandlerModule.web.ts +1 -0
  307. package/src/components/DrawerLayout.tsx +114 -41
  308. package/src/components/GestureButtons.tsx +45 -5
  309. package/src/components/GestureComponents.tsx +47 -41
  310. package/src/components/Swipeable.tsx +108 -21
  311. package/src/components/touchables/GenericTouchable.tsx +2 -1
  312. package/src/components/touchables/TouchableOpacity.tsx +1 -1
  313. package/src/handlers/FlingGestureHandler.ts +57 -0
  314. package/src/handlers/ForceTouchGestureHandler.ts +83 -0
  315. package/src/handlers/LongPressGestureHandler.ts +84 -0
  316. package/src/handlers/NativeViewGestureHandler.ts +31 -7
  317. package/src/handlers/PanGestureHandler.ts +321 -0
  318. package/src/handlers/PinchGestureHandler.ts +46 -0
  319. package/src/handlers/RotationGestureHandler.ts +46 -0
  320. package/src/handlers/TapGestureHandler.ts +90 -0
  321. package/src/handlers/createHandler.ts +54 -79
  322. package/src/handlers/gestureHandlerCommon.ts +185 -0
  323. package/src/handlers/gestureHandlerTypesCompat.ts +19 -5
  324. package/src/handlers/gestures/GestureDetector.tsx +490 -0
  325. package/src/handlers/gestures/eventReceiver.ts +129 -0
  326. package/src/handlers/gestures/flingGesture.ts +27 -0
  327. package/src/handlers/gestures/forceTouchGesture.ts +32 -0
  328. package/src/handlers/gestures/gesture.ts +262 -0
  329. package/src/handlers/gestures/gestureComposition.ts +109 -0
  330. package/src/handlers/gestures/gestureObjects.ts +79 -0
  331. package/src/handlers/gestures/gestureStateManager.ts +60 -0
  332. package/src/handlers/gestures/longPressGesture.ts +27 -0
  333. package/src/handlers/gestures/manualGesture.ts +11 -0
  334. package/src/handlers/gestures/nativeGesture.ts +27 -0
  335. package/src/handlers/gestures/panGesture.ts +105 -0
  336. package/src/handlers/gestures/pinchGesture.ts +12 -0
  337. package/src/handlers/gestures/reanimatedWrapper.ts +45 -0
  338. package/src/handlers/gestures/rotationGesture.ts +12 -0
  339. package/src/handlers/gestures/tapGesture.ts +52 -0
  340. package/src/handlers/handlersRegistry.ts +22 -0
  341. package/src/index.ts +57 -17
  342. package/src/init.ts +5 -0
  343. package/src/mocks.ts +42 -2
  344. package/src/utils.ts +7 -0
  345. package/src/web/GestureHandler.ts +1 -2
  346. package/src/web/NodeManager.ts +5 -0
  347. package/android/lib/src/main/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.java +0 -23
  348. package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.java +0 -110
  349. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.java +0 -531
  350. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.java +0 -8
  351. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.java +0 -543
  352. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistry.java +0 -10
  353. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.java +0 -29
  354. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureUtils.java +0 -53
  355. package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.java +0 -81
  356. package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.java +0 -110
  357. package/android/lib/src/main/java/com/swmansion/gesturehandler/OnTouchEventListener.java +0 -8
  358. package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.java +0 -312
  359. package/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.java +0 -109
  360. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureDetector.java +0 -169
  361. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureHandler.java +0 -96
  362. package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.java +0 -172
  363. package/android/lib/src/main/java/com/swmansion/gesturehandler/ViewConfigurationHelper.java +0 -10
  364. package/android/src/main/java/com/facebook/react/views/modal/RNGHModalUtils.java +0 -21
  365. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.java +0 -296
  366. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.java +0 -72
  367. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.java +0 -77
  368. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.java +0 -8
  369. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.java +0 -86
  370. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.java +0 -731
  371. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.java +0 -31
  372. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.java +0 -101
  373. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.java +0 -151
  374. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.java +0 -7
  375. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.java +0 -76
  376. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.java +0 -49
  377. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.java +0 -82
  378. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.java +0 -61
  379. package/lib/commonjs/handlers/gestureHandlers.js +0 -236
  380. package/lib/commonjs/handlers/gestureHandlers.js.map +0 -1
  381. package/lib/module/handlers/gestureHandlers.js +0 -216
  382. package/lib/module/handlers/gestureHandlers.js.map +0 -1
  383. package/lib/typescript/handlers/gestureHandlers.d.ts +0 -158
  384. package/src/handlers/gestureHandlers.ts +0 -511
@@ -0,0 +1,28 @@
1
+ import { BaseGestureHandlerProps } from './gestureHandlerCommon';
2
+ export declare type PinchGestureHandlerEventPayload = {
3
+ /**
4
+ * The scale factor relative to the points of the two touches in screen
5
+ * coordinates.
6
+ */
7
+ scale: number;
8
+ /**
9
+ * Position expressed in points along X axis of center anchor point of
10
+ * gesture.
11
+ */
12
+ focalX: number;
13
+ /**
14
+ * Position expressed in points along Y axis of center anchor point of
15
+ * gesture.
16
+ */
17
+ focalY: number;
18
+ /**
19
+ *
20
+ * Velocity of the pan gesture the current moment. The value is expressed in
21
+ * point units per second.
22
+ */
23
+ velocity: number;
24
+ };
25
+ export interface PinchGestureHandlerProps extends BaseGestureHandlerProps<PinchGestureHandlerEventPayload> {
26
+ }
27
+ export declare type PinchGestureHandler = typeof PinchGestureHandler;
28
+ export declare const PinchGestureHandler: import("react").ComponentType<PinchGestureHandlerProps & import("react").RefAttributes<any>>;
@@ -0,0 +1,28 @@
1
+ import { BaseGestureHandlerProps } from './gestureHandlerCommon';
2
+ export declare type RotationGestureHandlerEventPayload = {
3
+ /**
4
+ * Amount rotated, expressed in radians, from the gesture's focal point
5
+ * (anchor).
6
+ */
7
+ rotation: number;
8
+ /**
9
+ * X coordinate, expressed in points, of the gesture's central focal point
10
+ * (anchor).
11
+ */
12
+ anchorX: number;
13
+ /**
14
+ * Y coordinate, expressed in points, of the gesture's central focal point
15
+ * (anchor).
16
+ */
17
+ anchorY: number;
18
+ /**
19
+ *
20
+ * Instantaneous velocity, expressed in point units per second, of the
21
+ * gesture.
22
+ */
23
+ velocity: number;
24
+ };
25
+ export interface RotationGestureHandlerProps extends BaseGestureHandlerProps<RotationGestureHandlerEventPayload> {
26
+ }
27
+ export declare type RotationGestureHandler = typeof RotationGestureHandler;
28
+ export declare const RotationGestureHandler: import("react").ComponentType<RotationGestureHandlerProps & import("react").RefAttributes<any>>;
@@ -0,0 +1,56 @@
1
+ import { BaseGestureHandlerProps } from './gestureHandlerCommon';
2
+ export declare const tapGestureHandlerProps: readonly ["maxDurationMs", "maxDelayMs", "numberOfTaps", "maxDeltaX", "maxDeltaY", "maxDist", "minPointers"];
3
+ export declare type TapGestureHandlerEventPayload = {
4
+ x: number;
5
+ y: number;
6
+ absoluteX: number;
7
+ absoluteY: number;
8
+ };
9
+ export interface TapGestureConfig {
10
+ /**
11
+ * Minimum number of pointers (fingers) required to be placed before the
12
+ * handler activates. Should be a positive integer.
13
+ * The default value is 1.
14
+ */
15
+ minPointers?: number;
16
+ /**
17
+ * Maximum time, expressed in milliseconds, that defines how fast a finger
18
+ * must be released after a touch. The default value is 500.
19
+ */
20
+ maxDurationMs?: number;
21
+ /**
22
+ * Maximum time, expressed in milliseconds, that can pass before the next tap
23
+ * if many taps are required. The default value is 500.
24
+ */
25
+ maxDelayMs?: number;
26
+ /**
27
+ * Number of tap gestures required to activate the handler. The default value
28
+ * is 1.
29
+ */
30
+ numberOfTaps?: number;
31
+ /**
32
+ * Maximum distance, expressed in points, that defines how far the finger is
33
+ * allowed to travel along the X axis during a tap gesture. If the finger
34
+ * travels further than the defined distance along the X axis and the handler
35
+ * hasn't yet activated, it will fail to recognize the gesture.
36
+ */
37
+ maxDeltaX?: number;
38
+ /**
39
+ * Maximum distance, expressed in points, that defines how far the finger is
40
+ * allowed to travel along the Y axis during a tap gesture. If the finger
41
+ * travels further than the defined distance along the Y axis and the handler
42
+ * hasn't yet activated, it will fail to recognize the gesture.
43
+ */
44
+ maxDeltaY?: number;
45
+ /**
46
+ * Maximum distance, expressed in points, that defines how far the finger is
47
+ * allowed to travel during a tap gesture. If the finger travels further than
48
+ * the defined distance and the handler hasn't yet
49
+ * activated, it will fail to recognize the gesture.
50
+ */
51
+ maxDist?: number;
52
+ }
53
+ export interface TapGestureHandlerProps extends BaseGestureHandlerProps<TapGestureHandlerEventPayload>, TapGestureConfig {
54
+ }
55
+ export declare type TapGestureHandler = typeof TapGestureHandler;
56
+ export declare const TapGestureHandler: import("react").ComponentType<TapGestureHandlerProps & import("react").RefAttributes<any>>;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { BaseGestureHandlerProps } from './gestureHandlers';
2
+ import { BaseGestureHandlerProps } from './gestureHandlerCommon';
3
3
  declare type CreateHandlerArgs<HandlerPropsT extends Record<string, unknown>> = Readonly<{
4
4
  name: string;
5
5
  allowedProps: Readonly<Extract<keyof HandlerPropsT, string>[]>;
@@ -0,0 +1,62 @@
1
+ import * as React from 'react';
2
+ import { State } from '../State';
3
+ import { EventType } from '../EventType';
4
+ import { ValueOf } from '../typeUtils';
5
+ export declare const baseGestureHandlerProps: readonly ["id", "enabled", "shouldCancelWhenOutside", "hitSlop", "waitFor", "simultaneousHandlers", "onBegan", "onFailed", "onCancelled", "onActivated", "onEnded", "onGestureEvent", "onHandlerStateChange"];
6
+ export declare const baseGestureHandlerWithMonitorProps: string[];
7
+ export interface GestureEventPayload {
8
+ handlerTag: number;
9
+ numberOfPointers: number;
10
+ state: ValueOf<typeof State>;
11
+ }
12
+ export interface HandlerStateChangeEventPayload {
13
+ handlerTag: number;
14
+ numberOfPointers: number;
15
+ state: ValueOf<typeof State>;
16
+ oldState: ValueOf<typeof State>;
17
+ }
18
+ export declare type HitSlop = number | Partial<Record<'left' | 'right' | 'top' | 'bottom' | 'vertical' | 'horizontal', number>> | Record<'width' | 'left', number> | Record<'width' | 'right', number> | Record<'height' | 'top', number> | Record<'height' | 'bottom', number>;
19
+ export interface GestureEvent<ExtraEventPayloadT = Record<string, unknown>> {
20
+ nativeEvent: Readonly<GestureEventPayload & ExtraEventPayloadT>;
21
+ }
22
+ export interface HandlerStateChangeEvent<ExtraEventPayloadT = Record<string, unknown>> {
23
+ nativeEvent: Readonly<HandlerStateChangeEventPayload & ExtraEventPayloadT>;
24
+ }
25
+ export declare type TouchData = {
26
+ id: number;
27
+ x: number;
28
+ y: number;
29
+ absoluteX: number;
30
+ absoluteY: number;
31
+ };
32
+ export declare type GestureTouchEvent = {
33
+ handlerTag: number;
34
+ numberOfTouches: number;
35
+ state: ValueOf<typeof State>;
36
+ eventType: EventType;
37
+ allTouches: TouchData[];
38
+ changedTouches: TouchData[];
39
+ };
40
+ export declare type GestureUpdateEvent<GestureEventPayloadT = Record<string, unknown>> = GestureEventPayload & GestureEventPayloadT;
41
+ export declare type GestureStateChangeEvent<GestureStateChangeEventPayloadT = Record<string, unknown>> = HandlerStateChangeEventPayload & GestureStateChangeEventPayloadT;
42
+ export declare type CommonGestureConfig = {
43
+ enabled?: boolean;
44
+ shouldCancelWhenOutside?: boolean;
45
+ hitSlop?: HitSlop;
46
+ };
47
+ export declare type BaseGestureHandlerProps<ExtraEventPayloadT extends Record<string, unknown> = Record<string, unknown>> = CommonGestureConfig & {
48
+ id?: string;
49
+ waitFor?: React.Ref<unknown> | React.Ref<unknown>[];
50
+ simultaneousHandlers?: React.Ref<unknown> | React.Ref<unknown>[];
51
+ onBegan?: (event: HandlerStateChangeEvent) => void;
52
+ onFailed?: (event: HandlerStateChangeEvent) => void;
53
+ onCancelled?: (event: HandlerStateChangeEvent) => void;
54
+ onActivated?: (event: HandlerStateChangeEvent) => void;
55
+ onEnded?: (event: HandlerStateChangeEvent) => void;
56
+ onGestureEvent?: (event: GestureEvent<ExtraEventPayloadT>) => void;
57
+ onHandlerStateChange?: (event: HandlerStateChangeEvent<ExtraEventPayloadT>) => void;
58
+ };
59
+ export declare function filterConfig(props: Record<string, unknown>, validProps: string[], defaults?: Record<string, unknown>): {
60
+ [x: string]: unknown;
61
+ };
62
+ export declare function findNodeHandle(node: null | number | React.Component<any, any> | React.ComponentClass<any>): null | number | React.Component<any, any> | React.ComponentClass<any>;
@@ -1,5 +1,12 @@
1
1
  import { BaseButtonProps, BorderlessButtonProps, RawButtonProps, RectButtonProps } from '../components/GestureButtons';
2
- import { FlingGestureHandlerEventPayload, FlingGestureHandlerProps, ForceTouchGestureHandlerEventPayload, ForceTouchGestureHandlerProps, GestureEvent, GestureEventPayload, HandlerStateChangeEvent, HandlerStateChangeEventPayload, LongPressGestureHandlerEventPayload, LongPressGestureHandlerProps, PanGestureHandlerEventPayload, PanGestureHandlerProps, PinchGestureHandlerEventPayload, PinchGestureHandlerProps, RotationGestureHandlerEventPayload, RotationGestureHandlerProps, TapGestureHandlerEventPayload, TapGestureHandlerProps } from './gestureHandlers';
2
+ import { GestureEvent, GestureEventPayload, HandlerStateChangeEvent, HandlerStateChangeEventPayload } from './gestureHandlerCommon';
3
+ import { FlingGestureHandlerEventPayload, FlingGestureHandlerProps } from './FlingGestureHandler';
4
+ import { ForceTouchGestureHandlerEventPayload, ForceTouchGestureHandlerProps } from './ForceTouchGestureHandler';
5
+ import { LongPressGestureHandlerEventPayload, LongPressGestureHandlerProps } from './LongPressGestureHandler';
6
+ import { PanGestureHandlerEventPayload, PanGestureHandlerProps } from './PanGestureHandler';
7
+ import { PinchGestureHandlerEventPayload, PinchGestureHandlerProps } from './PinchGestureHandler';
8
+ import { RotationGestureHandlerEventPayload, RotationGestureHandlerProps } from './RotationGestureHandler';
9
+ import { TapGestureHandlerEventPayload, TapGestureHandlerProps } from './TapGestureHandler';
3
10
  import { NativeViewGestureHandlerPayload, NativeViewGestureHandlerProps } from './NativeViewGestureHandler';
4
11
  export declare type GestureHandlerGestureEventNativeEvent = GestureEventPayload;
5
12
  export declare type GestureHandlerStateChangeNativeEvent = HandlerStateChangeEventPayload;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { GestureType, HandlerCallbacks } from './gesture';
3
+ import { SharedValue } from './reanimatedWrapper';
4
+ import { ComposedGesture } from './gestureComposition';
5
+ export declare type GestureConfigReference = {
6
+ config: GestureType[];
7
+ animatedEventHandler: unknown;
8
+ animatedHandlers: SharedValue<HandlerCallbacks<Record<string, unknown>>[] | null> | null;
9
+ firstExecution: boolean;
10
+ useAnimated: boolean;
11
+ };
12
+ interface GestureDetectorProps {
13
+ gesture?: ComposedGesture | GestureType;
14
+ }
15
+ export declare const GestureDetector: React.FunctionComponent<GestureDetectorProps>;
16
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare function startListening(): void;
2
+ export declare function stopListening(): void;
@@ -0,0 +1,9 @@
1
+ import { BaseGesture, BaseGestureConfig } from './gesture';
2
+ import { FlingGestureConfig, FlingGestureHandlerEventPayload } from '../FlingGestureHandler';
3
+ export declare class FlingGesture extends BaseGesture<FlingGestureHandlerEventPayload> {
4
+ config: BaseGestureConfig & FlingGestureConfig;
5
+ constructor();
6
+ numberOfPointers(pointers: number): this;
7
+ direction(direction: number): this;
8
+ }
9
+ export declare type FlingGestureType = InstanceType<typeof FlingGesture>;
@@ -0,0 +1,10 @@
1
+ import { BaseGestureConfig, ContinousBaseGesture } from './gesture';
2
+ import { ForceTouchGestureConfig, ForceTouchGestureHandlerEventPayload } from '../ForceTouchGestureHandler';
3
+ export declare class ForceTouchGesture extends ContinousBaseGesture<ForceTouchGestureHandlerEventPayload> {
4
+ config: BaseGestureConfig & ForceTouchGestureConfig;
5
+ constructor();
6
+ minForce(force: number): this;
7
+ maxForce(force: number): this;
8
+ feedbackOnActivation(value: boolean): this;
9
+ }
10
+ export declare type ForceTouchGestureType = InstanceType<typeof ForceTouchGesture>;
@@ -0,0 +1,90 @@
1
+ import { FlingGestureHandlerEventPayload } from '../FlingGestureHandler';
2
+ import { ForceTouchGestureHandlerEventPayload } from '../ForceTouchGestureHandler';
3
+ import { HitSlop, CommonGestureConfig, GestureTouchEvent, GestureStateChangeEvent, GestureUpdateEvent } from '../gestureHandlerCommon';
4
+ import { GestureStateManagerType } from './gestureStateManager';
5
+ import { LongPressGestureHandlerEventPayload } from '../LongPressGestureHandler';
6
+ import { PanGestureHandlerEventPayload } from '../PanGestureHandler';
7
+ import { PinchGestureHandlerEventPayload } from '../PinchGestureHandler';
8
+ import { RotationGestureHandlerEventPayload } from '../RotationGestureHandler';
9
+ import { TapGestureHandlerEventPayload } from '../TapGestureHandler';
10
+ import { NativeViewGestureHandlerPayload } from '../NativeViewGestureHandler';
11
+ export declare type GestureType = BaseGesture<Record<string, unknown>> | BaseGesture<Record<string, never>> | BaseGesture<TapGestureHandlerEventPayload> | BaseGesture<PanGestureHandlerEventPayload> | BaseGesture<LongPressGestureHandlerEventPayload> | BaseGesture<RotationGestureHandlerEventPayload> | BaseGesture<PinchGestureHandlerEventPayload> | BaseGesture<FlingGestureHandlerEventPayload> | BaseGesture<ForceTouchGestureHandlerEventPayload> | BaseGesture<NativeViewGestureHandlerPayload>;
12
+ export declare type GestureRef = number | GestureType | React.RefObject<GestureType | undefined> | React.RefObject<React.ComponentType | undefined>;
13
+ export interface BaseGestureConfig extends CommonGestureConfig, Record<string, unknown> {
14
+ ref?: React.MutableRefObject<GestureType | undefined>;
15
+ requireToFail?: GestureRef[];
16
+ simultaneousWith?: GestureRef[];
17
+ needsPointerData?: boolean;
18
+ manualActivation?: boolean;
19
+ }
20
+ declare type TouchEventHandlerType = (event: GestureTouchEvent, stateManager: GestureStateManagerType) => void;
21
+ export declare type HandlerCallbacks<EventPayloadT extends Record<string, unknown>> = {
22
+ handlerTag: number;
23
+ onBegin?: (event: GestureStateChangeEvent<EventPayloadT>) => void;
24
+ onStart?: (event: GestureStateChangeEvent<EventPayloadT>) => void;
25
+ onEnd?: (event: GestureStateChangeEvent<EventPayloadT>, success: boolean) => void;
26
+ onUpdate?: (event: GestureUpdateEvent<EventPayloadT>) => void;
27
+ onTouchesDown?: TouchEventHandlerType;
28
+ onTouchesMove?: TouchEventHandlerType;
29
+ onTouchesUp?: TouchEventHandlerType;
30
+ onTouchesCancelled?: TouchEventHandlerType;
31
+ isWorklet: boolean[];
32
+ };
33
+ export declare const CALLBACK_TYPE: {
34
+ readonly UNDEFINED: 0;
35
+ readonly BEGAN: 1;
36
+ readonly START: 2;
37
+ readonly UPDATE: 3;
38
+ readonly END: 4;
39
+ readonly TOUCHES_DOWN: 5;
40
+ readonly TOUCHES_MOVE: 6;
41
+ readonly TOUCHES_UP: 7;
42
+ readonly TOUCHES_CANCELLED: 8;
43
+ };
44
+ export declare type CALLBACK_TYPE = typeof CALLBACK_TYPE[keyof typeof CALLBACK_TYPE];
45
+ export declare abstract class Gesture {
46
+ /**
47
+ * Return array of gestures, providing the same interface for creating and updating
48
+ * handlers, no matter which object was used to create gesture instance.
49
+ */
50
+ abstract toGestureArray(): GestureType[];
51
+ /**
52
+ * Assign handlerTag to the gesture instance and set ref.current (if a ref is set)
53
+ */
54
+ abstract initialize(): void;
55
+ /**
56
+ * Make sure that values of properties defining relations are arrays. Do any necessary
57
+ * preprocessing required to configure relations between handlers. Called just before
58
+ * updating the handler on the native side.
59
+ */
60
+ abstract prepare(): void;
61
+ }
62
+ export declare abstract class BaseGesture<EventPayloadT extends Record<string, unknown>> extends Gesture {
63
+ handlerTag: number;
64
+ handlerName: string;
65
+ config: BaseGestureConfig;
66
+ handlers: HandlerCallbacks<EventPayloadT>;
67
+ private addDependency;
68
+ withRef(ref: React.MutableRefObject<GestureType | undefined>): this;
69
+ protected isWorklet(callback: TouchEventHandlerType | ((event: GestureUpdateEvent<EventPayloadT>) => void) | ((event: GestureStateChangeEvent<EventPayloadT>) => void)): boolean;
70
+ onBegin(callback: (event: GestureStateChangeEvent<EventPayloadT>) => void): this;
71
+ onStart(callback: (event: GestureStateChangeEvent<EventPayloadT>) => void): this;
72
+ onEnd(callback: (event: GestureStateChangeEvent<EventPayloadT>, success: boolean) => void): this;
73
+ onTouchesDown(callback: TouchEventHandlerType): this;
74
+ onTouchesMove(callback: TouchEventHandlerType): this;
75
+ onTouchesUp(callback: TouchEventHandlerType): this;
76
+ onTouchesCancelled(callback: TouchEventHandlerType): this;
77
+ enabled(enabled: boolean): this;
78
+ shouldCancelWhenOutside(value: boolean): this;
79
+ hitSlop(hitSlop: HitSlop): this;
80
+ simultaneousWithExternalGesture(...gestures: Exclude<GestureRef, number>[]): this;
81
+ requireExternalGestureToFail(...gestures: Exclude<GestureRef, number>[]): this;
82
+ initialize(): void;
83
+ toGestureArray(): GestureType[];
84
+ prepare(): void;
85
+ }
86
+ export declare abstract class ContinousBaseGesture<EventPayloadT extends Record<string, unknown>> extends BaseGesture<EventPayloadT> {
87
+ onUpdate(callback: (event: GestureUpdateEvent<EventPayloadT>) => void): this;
88
+ manualActivation(manualActivation: boolean): this;
89
+ }
90
+ export {};
@@ -0,0 +1,21 @@
1
+ import { Gesture, GestureType } from './gesture';
2
+ export declare class ComposedGesture extends Gesture {
3
+ protected gestures: Gesture[];
4
+ protected simultaneousGestures: GestureType[];
5
+ protected requireGesturesToFail: GestureType[];
6
+ constructor(...gestures: Gesture[]);
7
+ protected prepareSingleGesture(gesture: Gesture, simultaneousGestures: GestureType[], requireGesturesToFail: GestureType[]): void;
8
+ prepare(): void;
9
+ initialize(): void;
10
+ toGestureArray(): GestureType[];
11
+ }
12
+ export declare class SimultaneousGesture extends ComposedGesture {
13
+ prepare(): void;
14
+ }
15
+ export declare class ExclusiveGesture extends ComposedGesture {
16
+ prepare(): void;
17
+ }
18
+ export declare type ComposedGestureType = InstanceType<typeof ComposedGesture>;
19
+ export declare type RaceGestureType = ComposedGestureType;
20
+ export declare type SimultaneousGestureType = InstanceType<typeof SimultaneousGesture>;
21
+ export declare type ExclusiveGestureType = InstanceType<typeof ExclusiveGesture>;
@@ -0,0 +1,39 @@
1
+ import { FlingGesture } from './flingGesture';
2
+ import { ForceTouchGesture } from './forceTouchGesture';
3
+ import { Gesture } from './gesture';
4
+ import { ComposedGesture, ExclusiveGesture, SimultaneousGesture } from './gestureComposition';
5
+ import { LongPressGesture } from './longPressGesture';
6
+ import { PanGesture } from './panGesture';
7
+ import { PinchGesture } from './pinchGesture';
8
+ import { RotationGesture } from './rotationGesture';
9
+ import { TapGesture } from './tapGesture';
10
+ import { NativeGesture } from './nativeGesture';
11
+ import { ManualGesture } from './manualGesture';
12
+ export declare const GestureObjects: {
13
+ Tap: () => TapGesture;
14
+ Pan: () => PanGesture;
15
+ Pinch: () => PinchGesture;
16
+ Rotation: () => RotationGesture;
17
+ Fling: () => FlingGesture;
18
+ LongPress: () => LongPressGesture;
19
+ ForceTouch: () => ForceTouchGesture;
20
+ Native: () => NativeGesture;
21
+ Manual: () => ManualGesture;
22
+ /**
23
+ * Builds a composed gesture consisting of gestures provided as parameters.
24
+ * The first one that becomes active cancels the rest of gestures.
25
+ */
26
+ Race: (...gestures: Gesture[]) => ComposedGesture;
27
+ /**
28
+ * Builds a composed gesture that allows all base gestures to run simultaneously.
29
+ */
30
+ Simultaneous(...gestures: Gesture[]): SimultaneousGesture;
31
+ /**
32
+ * Builds a composed gesture where only one of the provided gestures can become active.
33
+ * Priority is decided through the order of gestures: the first one has higher priority
34
+ * than the second one, second one has higher priority than the third one, and so on.
35
+ * For example, to make a gesture that recognizes both single and double tap you need
36
+ * to call Exclusive(doubleTap, singleTap).
37
+ */
38
+ Exclusive(...gestures: Gesture[]): ExclusiveGesture;
39
+ };
@@ -0,0 +1,9 @@
1
+ export interface GestureStateManagerType {
2
+ begin: () => void;
3
+ activate: () => void;
4
+ fail: () => void;
5
+ end: () => void;
6
+ }
7
+ export declare const GestureStateManager: {
8
+ create(handlerTag: number): GestureStateManagerType;
9
+ };
@@ -0,0 +1,9 @@
1
+ import { BaseGesture, BaseGestureConfig } from './gesture';
2
+ import { LongPressGestureConfig, LongPressGestureHandlerEventPayload } from '../LongPressGestureHandler';
3
+ export declare class LongPressGesture extends BaseGesture<LongPressGestureHandlerEventPayload> {
4
+ config: BaseGestureConfig & LongPressGestureConfig;
5
+ constructor();
6
+ minDuration(duration: number): this;
7
+ maxDistance(distance: number): this;
8
+ }
9
+ export declare type LongPressGestureType = InstanceType<typeof LongPressGesture>;
@@ -0,0 +1,5 @@
1
+ import { ContinousBaseGesture } from './gesture';
2
+ export declare class ManualGesture extends ContinousBaseGesture<Record<string, never>> {
3
+ constructor();
4
+ }
5
+ export declare type ManualGestureType = InstanceType<typeof ManualGesture>;
@@ -0,0 +1,9 @@
1
+ import { BaseGestureConfig, BaseGesture } from './gesture';
2
+ import { NativeViewGestureConfig, NativeViewGestureHandlerPayload } from '../NativeViewGestureHandler';
3
+ export declare class NativeGesture extends BaseGesture<NativeViewGestureHandlerPayload> {
4
+ config: BaseGestureConfig & NativeViewGestureConfig;
5
+ constructor();
6
+ shouldActivateOnStart(value: boolean): this;
7
+ disallowInterruption(value: boolean): this;
8
+ }
9
+ export declare type NativeGestureType = InstanceType<typeof NativeGesture>;
@@ -0,0 +1,19 @@
1
+ import { BaseGestureConfig, ContinousBaseGesture } from './gesture';
2
+ import { PanGestureConfig, PanGestureHandlerEventPayload } from '../PanGestureHandler';
3
+ export declare class PanGesture extends ContinousBaseGesture<PanGestureHandlerEventPayload> {
4
+ config: BaseGestureConfig & PanGestureConfig;
5
+ constructor();
6
+ activeOffsetY(offset: number | number[]): this;
7
+ activeOffsetX(offset: number | number[]): this;
8
+ failOffsetY(offset: number | number[]): this;
9
+ failOffsetX(offset: number | number[]): this;
10
+ minPointers(minPointers: number): this;
11
+ maxPointers(maxPointers: number): this;
12
+ minDistance(distance: number): this;
13
+ minVelocity(velocity: number): this;
14
+ minVelocityX(velocity: number): this;
15
+ minVelocityY(velocity: number): this;
16
+ averageTouches(value: boolean): this;
17
+ enableTrackpadTwoFingerGesture(value: boolean): this;
18
+ }
19
+ export declare type PanGestureType = InstanceType<typeof PanGesture>;
@@ -0,0 +1,6 @@
1
+ import { ContinousBaseGesture } from './gesture';
2
+ import { PinchGestureHandlerEventPayload } from '../PinchGestureHandler';
3
+ export declare class PinchGesture extends ContinousBaseGesture<PinchGestureHandlerEventPayload> {
4
+ constructor();
5
+ }
6
+ export declare type PinchGestureType = InstanceType<typeof PinchGesture>;
@@ -0,0 +1,14 @@
1
+ import { ComponentClass } from 'react';
2
+ import { GestureUpdateEvent, GestureStateChangeEvent } from '../gestureHandlerCommon';
3
+ export interface SharedValue<T> {
4
+ value: T;
5
+ }
6
+ declare let Reanimated: {
7
+ default: {
8
+ createAnimatedComponent<P extends object>(component: ComponentClass<P>, options?: unknown): ComponentClass<P>;
9
+ };
10
+ useEvent: (callback: (event: GestureUpdateEvent | GestureStateChangeEvent) => void, events: string[], rebuild: boolean) => unknown;
11
+ useSharedValue: <T>(value: T) => SharedValue<T>;
12
+ setGestureState: (handlerTag: number, newState: number) => void;
13
+ };
14
+ export { Reanimated };
@@ -0,0 +1,6 @@
1
+ import { ContinousBaseGesture } from './gesture';
2
+ import { RotationGestureHandlerEventPayload } from '../RotationGestureHandler';
3
+ export declare class RotationGesture extends ContinousBaseGesture<RotationGestureHandlerEventPayload> {
4
+ constructor();
5
+ }
6
+ export declare type RotationGestureType = InstanceType<typeof RotationGesture>;
@@ -0,0 +1,14 @@
1
+ import { BaseGestureConfig, BaseGesture } from './gesture';
2
+ import { TapGestureConfig, TapGestureHandlerEventPayload } from '../TapGestureHandler';
3
+ export declare class TapGesture extends BaseGesture<TapGestureHandlerEventPayload> {
4
+ config: BaseGestureConfig & TapGestureConfig;
5
+ constructor();
6
+ minPointers(minPointers: number): this;
7
+ numberOfTaps(count: number): this;
8
+ maxDistance(maxDist: number): this;
9
+ maxDuration(duration: number): this;
10
+ maxDelay(delay: number): this;
11
+ maxDeltaX(delta: number): this;
12
+ maxDeltaY(delta: number): this;
13
+ }
14
+ export declare type TapGestureType = InstanceType<typeof TapGesture>;
@@ -0,0 +1,6 @@
1
+ import { GestureType } from './gestures/gesture';
2
+ export declare const handlerIDToTag: Record<string, number>;
3
+ export declare function getNextHandlerTag(): number;
4
+ export declare function registerHandler(handlerTag: number, handler: GestureType): void;
5
+ export declare function unregisterHandler(handlerTag: number): void;
6
+ export declare function findHandler(handlerTag: number): import("./gestures/gesture").BaseGesture<Record<string, unknown>> | import("./gestures/gesture").BaseGesture<Record<string, never>> | import("./gestures/gesture").BaseGesture<import("./TapGestureHandler").TapGestureHandlerEventPayload> | import("./gestures/gesture").BaseGesture<import("./PanGestureHandler").PanGestureHandlerEventPayload> | import("./gestures/gesture").BaseGesture<import("./LongPressGestureHandler").LongPressGestureHandlerEventPayload> | import("./gestures/gesture").BaseGesture<import("./RotationGestureHandler").RotationGestureHandlerEventPayload> | import("./gestures/gesture").BaseGesture<import("./PinchGestureHandler").PinchGestureHandlerEventPayload> | import("./gestures/gesture").BaseGesture<import("./FlingGestureHandler").FlingGestureHandlerEventPayload> | import("./gestures/gesture").BaseGesture<import("./ForceTouchGestureHandler").ForceTouchGestureHandlerEventPayload> | import("./gestures/gesture").BaseGesture<import("./NativeViewGestureHandler").NativeViewGestureHandlerPayload> | undefined;
@@ -2,10 +2,37 @@ export { Directions } from './Directions';
2
2
  export { State } from './State';
3
3
  export { default as gestureHandlerRootHOC } from './gestureHandlerRootHOC';
4
4
  export { default as GestureHandlerRootView } from './GestureHandlerRootView';
5
- export type { GestureEvent, HandlerStateChangeEvent, GestureEventPayload, HandlerStateChangeEventPayload, TapGestureHandlerEventPayload, ForceTouchGestureHandlerEventPayload, LongPressGestureHandlerEventPayload, PanGestureHandlerEventPayload, PinchGestureHandlerEventPayload, RotationGestureHandlerEventPayload, FlingGestureHandlerEventPayload, TapGestureHandlerProps, ForceTouchGestureHandlerProps, LongPressGestureHandlerProps, PanGestureHandlerProps, PinchGestureHandlerProps, RotationGestureHandlerProps, FlingGestureHandlerProps, } from './handlers/gestureHandlers';
6
- export { TapGestureHandler, ForceTouchGestureHandler, LongPressGestureHandler, PanGestureHandler, PinchGestureHandler, RotationGestureHandler, FlingGestureHandler, } from './handlers/gestureHandlers';
5
+ export type { GestureEvent, HandlerStateChangeEvent, GestureEventPayload, HandlerStateChangeEventPayload, GestureTouchEvent, TouchData, GestureUpdateEvent, GestureStateChangeEvent, } from './handlers/gestureHandlerCommon';
6
+ export type { GestureType } from './handlers/gestures/gesture';
7
+ export type { TapGestureHandlerEventPayload, TapGestureHandlerProps, } from './handlers/TapGestureHandler';
8
+ export type { ForceTouchGestureHandlerEventPayload, ForceTouchGestureHandlerProps, } from './handlers/ForceTouchGestureHandler';
9
+ export type { LongPressGestureHandlerEventPayload, LongPressGestureHandlerProps, } from './handlers/LongPressGestureHandler';
10
+ export type { PanGestureHandlerEventPayload, PanGestureHandlerProps, } from './handlers/PanGestureHandler';
11
+ export type { PinchGestureHandlerEventPayload, PinchGestureHandlerProps, } from './handlers/PinchGestureHandler';
12
+ export type { RotationGestureHandlerEventPayload, RotationGestureHandlerProps, } from './handlers/RotationGestureHandler';
13
+ export type { FlingGestureHandlerEventPayload, FlingGestureHandlerProps, } from './handlers/FlingGestureHandler';
14
+ export { TapGestureHandler } from './handlers/TapGestureHandler';
15
+ export { ForceTouchGestureHandler } from './handlers/ForceTouchGestureHandler';
16
+ export { LongPressGestureHandler } from './handlers/LongPressGestureHandler';
17
+ export { PanGestureHandler } from './handlers/PanGestureHandler';
18
+ export { PinchGestureHandler } from './handlers/PinchGestureHandler';
19
+ export { RotationGestureHandler } from './handlers/RotationGestureHandler';
20
+ export { FlingGestureHandler } from './handlers/FlingGestureHandler';
7
21
  export { default as createNativeWrapper } from './handlers/createNativeWrapper';
8
22
  export type { NativeViewGestureHandlerPayload, NativeViewGestureHandlerProps, } from './handlers/NativeViewGestureHandler';
23
+ export { GestureDetector } from './handlers/gestures/GestureDetector';
24
+ export { GestureObjects as Gesture } from './handlers/gestures/gestureObjects';
25
+ export { TapGestureType as TapGesture } from './handlers/gestures/tapGesture';
26
+ export { PanGestureType as PanGesture } from './handlers/gestures/panGesture';
27
+ export { FlingGestureType as FlingGesture } from './handlers/gestures/flingGesture';
28
+ export { LongPressGestureType as LongPressGesture } from './handlers/gestures/longPressGesture';
29
+ export { PinchGestureType as PinchGesture } from './handlers/gestures/pinchGesture';
30
+ export { RotationGestureType as RotationGesture } from './handlers/gestures/rotationGesture';
31
+ export { ForceTouchGestureType as ForceTouchGesture } from './handlers/gestures/forceTouchGesture';
32
+ export { NativeGestureType as NativeGesture } from './handlers/gestures/nativeGesture';
33
+ export { ManualGestureType as ManualGesture } from './handlers/gestures/manualGesture';
34
+ export { ComposedGestureType as ComposedGesture, RaceGestureType as RaceGesture, SimultaneousGestureType as SimultaneousGesture, ExclusiveGestureType as ExclusiveGesture, } from './handlers/gestures/gestureComposition';
35
+ export { GestureStateManagerType as GestureStateManager } from './handlers/gestures/gestureStateManager';
9
36
  export { NativeViewGestureHandler } from './handlers/NativeViewGestureHandler';
10
37
  export type { RawButtonProps, BaseButtonProps, RectButtonProps, BorderlessButtonProps, } from './components/GestureButtons';
11
38
  export { RawButton, BaseButton, RectButton, BorderlessButton, } from './components/GestureButtons';
@@ -0,0 +1 @@
1
+ export declare function initialize(): void;
@@ -1,6 +1,25 @@
1
- import { View, ScrollView as RNScrollView } from 'react-native';
1
+ import { TouchableHighlight, TouchableNativeFeedback, TouchableOpacity, TouchableWithoutFeedback, ScrollView, FlatList, Switch, TextInput, DrawerLayoutAndroid, View } from 'react-native';
2
2
  declare const _default: {
3
- readonly ScrollView: typeof RNScrollView;
3
+ readonly TouchableHighlight: typeof TouchableHighlight;
4
+ readonly TouchableNativeFeedback: typeof TouchableNativeFeedback;
5
+ readonly TouchableOpacity: typeof TouchableOpacity;
6
+ readonly TouchableWithoutFeedback: typeof TouchableWithoutFeedback;
7
+ readonly ScrollView: typeof ScrollView;
8
+ readonly FlatList: typeof FlatList;
9
+ readonly Switch: typeof Switch;
10
+ readonly TextInput: typeof TextInput;
11
+ readonly DrawerLayoutAndroid: typeof DrawerLayoutAndroid;
12
+ readonly NativeViewGestureHandler: typeof View;
13
+ readonly TapGestureHandler: typeof View;
14
+ readonly ForceTouchGestureHandler: typeof View;
15
+ readonly LongPressGestureHandler: typeof View;
16
+ readonly PinchGestureHandler: typeof View;
17
+ readonly RotationGestureHandler: typeof View;
18
+ readonly FlingGestureHandler: typeof View;
19
+ readonly RawButton: typeof TouchableNativeFeedback;
20
+ readonly BaseButton: typeof TouchableNativeFeedback;
21
+ readonly RectButton: typeof TouchableNativeFeedback;
22
+ readonly BorderlessButton: typeof TouchableNativeFeedback;
4
23
  readonly PanGestureHandler: typeof View;
5
24
  readonly attachGestureHandler: () => void;
6
25
  readonly createGestureHandler: () => void;
@@ -0,0 +1 @@
1
+ export declare function toArray<T>(object: T | T[]): T[];
@@ -1,4 +1,3 @@
1
- /// <reference types="hammerjs" />
2
1
  import DraggingGestureHandler from './DraggingGestureHandler';
3
2
  import { HammerInputExt } from './GestureHandler';
4
3
  declare class FlingGestureHandler extends DraggingGestureHandler {
@@ -1,4 +1,3 @@
1
- /// <reference types="hammerjs" />
2
1
  import { findNodeHandle } from 'react-native';
3
2
  import { State } from '../State';
4
3
  import { EventMap } from './constants';
@@ -1,4 +1,3 @@
1
- /// <reference types="hammerjs" />
2
1
  import { EventMap } from './constants';
3
2
  import DraggingGestureHandler from './DraggingGestureHandler';
4
3
  import { State } from '../State';
@@ -1,4 +1,3 @@
1
- /// <reference types="hammerjs" />
2
1
  import { HammerInputExt } from './GestureHandler';
3
2
  import IndiscreteGestureHandler from './IndiscreteGestureHandler';
4
3
  declare class PinchGestureHandler extends IndiscreteGestureHandler {
@@ -1,4 +1,3 @@
1
- /// <reference types="hammerjs" />
2
1
  import { State } from '../State';
3
2
  import { HammerInputNames } from './constants';
4
3
  import DiscreteGestureHandler from './DiscreteGestureHandler';
@@ -1,4 +1,3 @@
1
- /// <reference types="hammerjs" />
2
1
  import { HammerInputExt } from './GestureHandler';
3
2
  import IndiscreteGestureHandler from './IndiscreteGestureHandler';
4
3
  declare class RotationGestureHandler extends IndiscreteGestureHandler {