react-native-gesture-handler 1.10.0 → 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 (592) hide show
  1. package/DrawerLayout/package.json +3 -3
  2. package/README.md +7 -6
  3. package/Swipeable/package.json +3 -3
  4. package/android/build.gradle +23 -1
  5. package/android/gradle.properties +19 -0
  6. package/android/lib/src/main/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.kt +18 -0
  7. package/android/lib/src/main/java/com/swmansion/gesturehandler/Extensions.kt +11 -0
  8. package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.kt +96 -0
  9. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.kt +710 -0
  10. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.kt +8 -0
  11. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.kt +562 -0
  12. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistry.kt +8 -0
  13. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.kt +21 -0
  14. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureUtils.kt +49 -0
  15. package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.kt +97 -0
  16. package/android/lib/src/main/java/com/swmansion/gesturehandler/ManualGestureHandler.kt +11 -0
  17. package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.kt +129 -0
  18. package/android/lib/src/main/java/com/swmansion/gesturehandler/OnTouchEventListener.kt +9 -0
  19. package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.kt +289 -0
  20. package/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.kt +88 -0
  21. package/android/lib/src/main/java/com/swmansion/gesturehandler/{PointerEventsConfig.java → PointerEventsConfig.kt} +3 -5
  22. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureDetector.kt +125 -0
  23. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureHandler.kt +79 -0
  24. package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.kt +167 -0
  25. package/android/lib/src/main/java/com/swmansion/gesturehandler/ViewConfigurationHelper.kt +10 -0
  26. package/android/src/main/java/com/swmansion/common/GestureHandlerStateManager.kt +5 -0
  27. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +348 -0
  28. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +57 -0
  29. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +59 -0
  30. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.kt +8 -0
  31. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +61 -0
  32. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +686 -0
  33. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.kt +17 -0
  34. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +95 -0
  35. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +132 -0
  36. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.kt +5 -0
  37. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +68 -0
  38. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +34 -0
  39. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +66 -0
  40. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +69 -0
  41. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +51 -0
  42. package/ios/Handlers/RNFlingHandler.m +78 -5
  43. package/ios/Handlers/RNForceTouchHandler.m +29 -4
  44. package/ios/Handlers/RNLongPressHandler.m +105 -3
  45. package/ios/Handlers/RNManualHandler.h +4 -0
  46. package/ios/Handlers/RNManualHandler.m +73 -0
  47. package/ios/Handlers/RNNativeViewHandler.m +30 -2
  48. package/ios/Handlers/RNPanHandler.m +64 -4
  49. package/ios/Handlers/RNPinchHandler.m +61 -2
  50. package/ios/Handlers/RNRotationHandler.m +60 -1
  51. package/ios/Handlers/RNTapHandler.m +55 -8
  52. package/ios/RNGestureHandler.h +18 -4
  53. package/ios/RNGestureHandler.m +123 -13
  54. package/ios/RNGestureHandler.xcodeproj/xcuserdata/mdk.xcuserdatad/xcschemes/RNGestureHandler.xcscheme +80 -0
  55. package/ios/RNGestureHandler.xcodeproj/xcuserdata/mdk.xcuserdatad/xcschemes/xcschememanagement.plist +27 -0
  56. package/ios/RNGestureHandlerEvents.h +9 -0
  57. package/ios/RNGestureHandlerEvents.m +34 -0
  58. package/ios/RNGestureHandlerManager.h +7 -0
  59. package/ios/RNGestureHandlerManager.m +62 -34
  60. package/ios/RNGestureHandlerModule.m +39 -3
  61. package/ios/RNGestureHandlerPointerTracker.h +25 -0
  62. package/ios/RNGestureHandlerPointerTracker.m +237 -0
  63. package/ios/RNGestureHandlerRegistry.h +1 -0
  64. package/ios/RNGestureHandlerRegistry.m +10 -0
  65. package/ios/RNGestureHandlerStateManager.h +5 -0
  66. package/ios/RNManualActivationRecognizer.h +10 -0
  67. package/ios/RNManualActivationRecognizer.m +80 -0
  68. package/ios/RNRootViewGestureRecognizer.m +1 -1
  69. package/ios/RNTouchEventType.h +9 -0
  70. package/jestSetup.js +7 -0
  71. package/lib/commonjs/Directions.js +15 -0
  72. package/lib/commonjs/Directions.js.map +1 -0
  73. package/lib/commonjs/EventType.js +16 -0
  74. package/lib/commonjs/EventType.js.map +1 -0
  75. package/lib/commonjs/GestureHandlerRootView.android.js +24 -0
  76. package/lib/commonjs/GestureHandlerRootView.android.js.map +1 -0
  77. package/lib/commonjs/GestureHandlerRootView.js +20 -0
  78. package/lib/commonjs/GestureHandlerRootView.js.map +1 -0
  79. package/lib/commonjs/PlatformConstants.js +15 -0
  80. package/lib/commonjs/PlatformConstants.js.map +1 -0
  81. package/lib/commonjs/PlatformConstants.web.js +14 -0
  82. package/lib/commonjs/PlatformConstants.web.js.map +1 -0
  83. package/lib/commonjs/RNGestureHandlerModule.js +22 -0
  84. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -0
  85. package/lib/commonjs/RNGestureHandlerModule.web.js +80 -0
  86. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -0
  87. package/lib/commonjs/State.js +18 -0
  88. package/lib/commonjs/State.js.map +1 -0
  89. package/lib/commonjs/components/DrawerLayout.js +535 -0
  90. package/lib/commonjs/components/DrawerLayout.js.map +1 -0
  91. package/lib/commonjs/components/GestureButtons.js +207 -0
  92. package/lib/commonjs/components/GestureButtons.js.map +1 -0
  93. package/lib/commonjs/components/GestureComponents.js +76 -0
  94. package/lib/commonjs/components/GestureComponents.js.map +1 -0
  95. package/lib/commonjs/components/GestureComponents.web.js +46 -0
  96. package/lib/commonjs/components/GestureComponents.web.js.map +1 -0
  97. package/lib/commonjs/components/GestureHandlerButton.js +13 -0
  98. package/lib/commonjs/components/GestureHandlerButton.js.map +1 -0
  99. package/lib/commonjs/components/GestureHandlerButton.web.js +24 -0
  100. package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -0
  101. package/lib/commonjs/components/Swipeable.js +365 -0
  102. package/lib/commonjs/components/Swipeable.js.map +1 -0
  103. package/lib/commonjs/components/touchables/GenericTouchable.js +278 -0
  104. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -0
  105. package/lib/commonjs/components/touchables/TouchableHighlight.js +109 -0
  106. package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -0
  107. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +100 -0
  108. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -0
  109. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +12 -0
  110. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -0
  111. package/lib/commonjs/components/touchables/TouchableOpacity.js +75 -0
  112. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -0
  113. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +26 -0
  114. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -0
  115. package/lib/commonjs/components/touchables/index.js +40 -0
  116. package/lib/commonjs/components/touchables/index.js.map +1 -0
  117. package/lib/commonjs/gestureHandlerRootHOC.js +39 -0
  118. package/lib/commonjs/gestureHandlerRootHOC.js.map +1 -0
  119. package/lib/commonjs/handlers/FlingGestureHandler.js +23 -0
  120. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -0
  121. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +44 -0
  122. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -0
  123. package/lib/commonjs/handlers/LongPressGestureHandler.js +23 -0
  124. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -0
  125. package/lib/commonjs/handlers/NativeViewGestureHandler.js +25 -0
  126. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -0
  127. package/lib/commonjs/handlers/PanGestureHandler.js +121 -0
  128. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -0
  129. package/lib/commonjs/handlers/PinchGestureHandler.js +21 -0
  130. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -0
  131. package/lib/commonjs/handlers/RotationGestureHandler.js +21 -0
  132. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -0
  133. package/lib/commonjs/handlers/TapGestureHandler.js +23 -0
  134. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -0
  135. package/lib/commonjs/handlers/createHandler.js +373 -0
  136. package/lib/commonjs/handlers/createHandler.js.map +1 -0
  137. package/lib/commonjs/handlers/createNativeWrapper.js +70 -0
  138. package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -0
  139. package/lib/commonjs/handlers/gestureHandlerCommon.js +80 -0
  140. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -0
  141. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +2 -0
  142. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -0
  143. package/lib/commonjs/handlers/gestures/GestureDetector.js +415 -0
  144. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -0
  145. package/lib/commonjs/handlers/gestures/eventReceiver.js +112 -0
  146. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -0
  147. package/lib/commonjs/handlers/gestures/flingGesture.js +34 -0
  148. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -0
  149. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +39 -0
  150. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -0
  151. package/lib/commonjs/handlers/gestures/gesture.js +177 -0
  152. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -0
  153. package/lib/commonjs/handlers/gestures/gestureComposition.js +94 -0
  154. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -0
  155. package/lib/commonjs/handlers/gestures/gestureObjects.js +85 -0
  156. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -0
  157. package/lib/commonjs/handlers/gestures/gestureStateManager.js +58 -0
  158. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -0
  159. package/lib/commonjs/handlers/gestures/longPressGesture.js +34 -0
  160. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -0
  161. package/lib/commonjs/handlers/gestures/manualGesture.js +19 -0
  162. package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -0
  163. package/lib/commonjs/handlers/gestures/nativeGesture.js +34 -0
  164. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -0
  165. package/lib/commonjs/handlers/gestures/panGesture.js +116 -0
  166. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -0
  167. package/lib/commonjs/handlers/gestures/pinchGesture.js +19 -0
  168. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -0
  169. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +24 -0
  170. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -0
  171. package/lib/commonjs/handlers/gestures/rotationGesture.js +19 -0
  172. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -0
  173. package/lib/commonjs/handlers/gestures/tapGesture.js +59 -0
  174. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -0
  175. package/lib/commonjs/handlers/handlersRegistry.js +31 -0
  176. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -0
  177. package/lib/commonjs/index.js +338 -0
  178. package/lib/commonjs/index.js.map +1 -0
  179. package/lib/commonjs/init.js +13 -0
  180. package/lib/commonjs/init.js.map +1 -0
  181. package/lib/commonjs/mocks.js +64 -0
  182. package/lib/commonjs/mocks.js.map +1 -0
  183. package/lib/commonjs/typeUtils.js +2 -0
  184. package/lib/commonjs/typeUtils.js.map +1 -0
  185. package/lib/commonjs/utils.js +15 -0
  186. package/lib/commonjs/utils.js.map +1 -0
  187. package/lib/commonjs/web/DiscreteGestureHandler.js +105 -0
  188. package/lib/commonjs/web/DiscreteGestureHandler.js.map +1 -0
  189. package/lib/commonjs/web/DraggingGestureHandler.js +53 -0
  190. package/lib/commonjs/web/DraggingGestureHandler.js.map +1 -0
  191. package/lib/commonjs/web/Errors.js +16 -0
  192. package/lib/commonjs/web/Errors.js.map +1 -0
  193. package/lib/commonjs/web/FlingGestureHandler.js +170 -0
  194. package/lib/commonjs/web/FlingGestureHandler.js.map +1 -0
  195. package/lib/commonjs/web/GestureHandler.js +533 -0
  196. package/lib/commonjs/web/GestureHandler.js.map +1 -0
  197. package/lib/commonjs/web/IndiscreteGestureHandler.js +54 -0
  198. package/lib/commonjs/web/IndiscreteGestureHandler.js.map +1 -0
  199. package/lib/commonjs/web/LongPressGestureHandler.js +71 -0
  200. package/lib/commonjs/web/LongPressGestureHandler.js.map +1 -0
  201. package/lib/commonjs/web/NativeViewGestureHandler.js +62 -0
  202. package/lib/commonjs/web/NativeViewGestureHandler.js.map +1 -0
  203. package/lib/commonjs/web/NodeManager.js +43 -0
  204. package/lib/commonjs/web/NodeManager.js.map +1 -0
  205. package/lib/commonjs/web/PanGestureHandler.js +189 -0
  206. package/lib/commonjs/web/PanGestureHandler.js.map +1 -0
  207. package/lib/commonjs/web/PinchGestureHandler.js +40 -0
  208. package/lib/commonjs/web/PinchGestureHandler.js.map +1 -0
  209. package/lib/commonjs/web/PressGestureHandler.js +188 -0
  210. package/lib/commonjs/web/PressGestureHandler.js.map +1 -0
  211. package/lib/commonjs/web/RotationGestureHandler.js +44 -0
  212. package/lib/commonjs/web/RotationGestureHandler.js.map +1 -0
  213. package/lib/commonjs/web/TapGestureHandler.js +192 -0
  214. package/lib/commonjs/web/TapGestureHandler.js.map +1 -0
  215. package/lib/commonjs/web/constants.js +64 -0
  216. package/lib/commonjs/web/constants.js.map +1 -0
  217. package/lib/commonjs/web/utils.js +42 -0
  218. package/lib/commonjs/web/utils.js.map +1 -0
  219. package/lib/module/Directions.js +7 -0
  220. package/lib/module/Directions.js.map +1 -0
  221. package/lib/module/EventType.js +8 -0
  222. package/lib/module/EventType.js.map +1 -0
  223. package/lib/module/GestureHandlerRootView.android.js +10 -0
  224. package/lib/module/GestureHandlerRootView.android.js.map +1 -0
  225. package/lib/module/GestureHandlerRootView.js +7 -0
  226. package/lib/module/GestureHandlerRootView.js.map +1 -0
  227. package/lib/module/PlatformConstants.js +5 -0
  228. package/lib/module/PlatformConstants.js.map +1 -0
  229. package/lib/module/PlatformConstants.web.js +7 -0
  230. package/lib/module/PlatformConstants.web.js.map +1 -0
  231. package/lib/module/RNGestureHandlerModule.js +13 -0
  232. package/lib/module/RNGestureHandlerModule.js.map +1 -0
  233. package/lib/module/RNGestureHandlerModule.web.js +56 -0
  234. package/lib/module/RNGestureHandlerModule.web.js.map +1 -0
  235. package/lib/module/State.js +10 -0
  236. package/lib/module/State.js.map +1 -0
  237. package/lib/module/components/DrawerLayout.js +520 -0
  238. package/lib/module/components/DrawerLayout.js.map +1 -0
  239. package/lib/module/components/GestureButtons.js +172 -0
  240. package/lib/module/components/GestureButtons.js.map +1 -0
  241. package/lib/module/components/GestureComponents.js +53 -0
  242. package/lib/module/components/GestureComponents.js.map +1 -0
  243. package/lib/module/components/GestureComponents.web.js +25 -0
  244. package/lib/module/components/GestureComponents.web.js.map +1 -0
  245. package/{dist/src → lib/module}/components/GestureHandlerButton.js +1 -0
  246. package/lib/module/components/GestureHandlerButton.js.map +1 -0
  247. package/lib/module/components/GestureHandlerButton.web.js +9 -0
  248. package/lib/module/components/GestureHandlerButton.web.js.map +1 -0
  249. package/lib/module/components/Swipeable.js +347 -0
  250. package/lib/module/components/Swipeable.js.map +1 -0
  251. package/lib/module/components/touchables/GenericTouchable.js +262 -0
  252. package/lib/module/components/touchables/GenericTouchable.js.map +1 -0
  253. package/lib/module/components/touchables/TouchableHighlight.js +95 -0
  254. package/lib/module/components/touchables/TouchableHighlight.js.map +1 -0
  255. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +84 -0
  256. package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -0
  257. package/{dist/src → lib/module}/components/touchables/TouchableNativeFeedback.js +1 -0
  258. package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -0
  259. package/lib/module/components/touchables/TouchableOpacity.js +61 -0
  260. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -0
  261. package/lib/module/components/touchables/TouchableWithoutFeedback.js +10 -0
  262. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -0
  263. package/{dist/src → lib/module}/components/touchables/index.js +1 -0
  264. package/lib/module/components/touchables/index.js.map +1 -0
  265. package/lib/module/gestureHandlerRootHOC.js +21 -0
  266. package/lib/module/gestureHandlerRootHOC.js.map +1 -0
  267. package/lib/module/handlers/FlingGestureHandler.js +10 -0
  268. package/lib/module/handlers/FlingGestureHandler.js.map +1 -0
  269. package/lib/module/handlers/ForceTouchGestureHandler.js +29 -0
  270. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -0
  271. package/lib/module/handlers/LongPressGestureHandler.js +10 -0
  272. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -0
  273. package/lib/module/handlers/NativeViewGestureHandler.js +11 -0
  274. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -0
  275. package/lib/module/handlers/PanGestureHandler.js +106 -0
  276. package/lib/module/handlers/PanGestureHandler.js.map +1 -0
  277. package/lib/module/handlers/PinchGestureHandler.js +9 -0
  278. package/lib/module/handlers/PinchGestureHandler.js.map +1 -0
  279. package/lib/module/handlers/RotationGestureHandler.js +9 -0
  280. package/lib/module/handlers/RotationGestureHandler.js.map +1 -0
  281. package/lib/module/handlers/TapGestureHandler.js +10 -0
  282. package/lib/module/handlers/TapGestureHandler.js.map +1 -0
  283. package/lib/module/handlers/createHandler.js +348 -0
  284. package/lib/module/handlers/createHandler.js.map +1 -0
  285. package/lib/module/handlers/createNativeWrapper.js +58 -0
  286. package/lib/module/handlers/createNativeWrapper.js.map +1 -0
  287. package/lib/module/handlers/gestureHandlerCommon.js +66 -0
  288. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -0
  289. package/lib/module/handlers/gestureHandlerTypesCompat.js +2 -0
  290. package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -0
  291. package/lib/module/handlers/gestures/GestureDetector.js +378 -0
  292. package/lib/module/handlers/gestures/GestureDetector.js.map +1 -0
  293. package/lib/module/handlers/gestures/eventReceiver.js +97 -0
  294. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -0
  295. package/lib/module/handlers/gestures/flingGesture.js +24 -0
  296. package/lib/module/handlers/gestures/flingGesture.js.map +1 -0
  297. package/lib/module/handlers/gestures/forceTouchGesture.js +29 -0
  298. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -0
  299. package/lib/module/handlers/gestures/gesture.js +159 -0
  300. package/lib/module/handlers/gestures/gesture.js.map +1 -0
  301. package/lib/module/handlers/gestures/gestureComposition.js +79 -0
  302. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -0
  303. package/lib/module/handlers/gestures/gestureObjects.js +67 -0
  304. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -0
  305. package/lib/module/handlers/gestures/gestureStateManager.js +48 -0
  306. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -0
  307. package/lib/module/handlers/gestures/longPressGesture.js +24 -0
  308. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -0
  309. package/lib/module/handlers/gestures/manualGesture.js +9 -0
  310. package/lib/module/handlers/gestures/manualGesture.js.map +1 -0
  311. package/lib/module/handlers/gestures/nativeGesture.js +24 -0
  312. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -0
  313. package/lib/module/handlers/gestures/panGesture.js +106 -0
  314. package/lib/module/handlers/gestures/panGesture.js.map +1 -0
  315. package/lib/module/handlers/gestures/pinchGesture.js +9 -0
  316. package/lib/module/handlers/gestures/pinchGesture.js.map +1 -0
  317. package/lib/module/handlers/gestures/reanimatedWrapper.js +19 -0
  318. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -0
  319. package/lib/module/handlers/gestures/rotationGesture.js +9 -0
  320. package/lib/module/handlers/gestures/rotationGesture.js.map +1 -0
  321. package/lib/module/handlers/gestures/tapGesture.js +49 -0
  322. package/lib/module/handlers/gestures/tapGesture.js.map +1 -0
  323. package/lib/module/handlers/handlersRegistry.js +16 -0
  324. package/lib/module/handlers/handlersRegistry.js.map +1 -0
  325. package/lib/module/index.js +34 -0
  326. package/lib/module/index.js.map +1 -0
  327. package/lib/module/init.js +5 -0
  328. package/lib/module/init.js.map +1 -0
  329. package/lib/module/mocks.js +54 -0
  330. package/lib/module/mocks.js.map +1 -0
  331. package/lib/module/typeUtils.js +2 -0
  332. package/lib/module/typeUtils.js.map +1 -0
  333. package/lib/module/utils.js +8 -0
  334. package/lib/module/utils.js.map +1 -0
  335. package/lib/module/web/DiscreteGestureHandler.js +94 -0
  336. package/lib/module/web/DiscreteGestureHandler.js.map +1 -0
  337. package/lib/module/web/DraggingGestureHandler.js +40 -0
  338. package/lib/module/web/DraggingGestureHandler.js.map +1 -0
  339. package/lib/module/web/Errors.js +7 -0
  340. package/lib/module/web/Errors.js.map +1 -0
  341. package/lib/module/web/FlingGestureHandler.js +156 -0
  342. package/lib/module/web/FlingGestureHandler.js.map +1 -0
  343. package/lib/module/web/GestureHandler.js +518 -0
  344. package/lib/module/web/GestureHandler.js.map +1 -0
  345. package/lib/module/web/IndiscreteGestureHandler.js +44 -0
  346. package/lib/module/web/IndiscreteGestureHandler.js.map +1 -0
  347. package/lib/module/web/LongPressGestureHandler.js +58 -0
  348. package/lib/module/web/LongPressGestureHandler.js.map +1 -0
  349. package/lib/module/web/NativeViewGestureHandler.js +45 -0
  350. package/lib/module/web/NativeViewGestureHandler.js.map +1 -0
  351. package/lib/module/web/NodeManager.js +30 -0
  352. package/lib/module/web/NodeManager.js.map +1 -0
  353. package/lib/module/web/PanGestureHandler.js +175 -0
  354. package/lib/module/web/PanGestureHandler.js.map +1 -0
  355. package/lib/module/web/PinchGestureHandler.js +29 -0
  356. package/lib/module/web/PinchGestureHandler.js.map +1 -0
  357. package/lib/module/web/PressGestureHandler.js +174 -0
  358. package/lib/module/web/PressGestureHandler.js.map +1 -0
  359. package/lib/module/web/RotationGestureHandler.js +32 -0
  360. package/lib/module/web/RotationGestureHandler.js.map +1 -0
  361. package/lib/module/web/TapGestureHandler.js +180 -0
  362. package/lib/module/web/TapGestureHandler.js.map +1 -0
  363. package/lib/module/web/constants.js +43 -0
  364. package/lib/module/web/constants.js.map +1 -0
  365. package/lib/module/web/utils.js +19 -0
  366. package/lib/module/web/utils.js.map +1 -0
  367. package/lib/typescript/Directions.d.ts +7 -0
  368. package/lib/typescript/EventType.d.ts +8 -0
  369. package/lib/typescript/GestureHandlerRootView.android.d.ts +2 -0
  370. package/lib/typescript/GestureHandlerRootView.d.ts +5 -0
  371. package/{dist/src → lib/typescript}/PlatformConstants.d.ts +0 -0
  372. package/{dist/src → lib/typescript}/PlatformConstants.web.d.ts +0 -0
  373. package/{dist/src → lib/typescript}/RNGestureHandlerModule.d.ts +1 -8
  374. package/{dist/src → lib/typescript}/RNGestureHandlerModule.web.d.ts +1 -1
  375. package/{dist/src → lib/typescript}/State.d.ts +0 -0
  376. package/{dist/src → lib/typescript}/components/DrawerLayout.d.ts +52 -2
  377. package/{dist/src → lib/typescript}/components/GestureButtons.d.ts +37 -1
  378. package/lib/typescript/components/GestureComponents.d.ts +18 -0
  379. package/lib/typescript/components/GestureComponents.web.d.ts +7 -0
  380. package/{dist/src → lib/typescript}/components/GestureHandlerButton.d.ts +0 -0
  381. package/{dist/src → lib/typescript}/components/GestureHandlerButton.web.d.ts +1 -1
  382. package/lib/typescript/components/Swipeable.d.ts +150 -0
  383. package/{dist/src → lib/typescript}/components/touchables/GenericTouchable.d.ts +3 -3
  384. package/{dist/src → lib/typescript}/components/touchables/TouchableHighlight.d.ts +1 -0
  385. package/{dist/src → lib/typescript}/components/touchables/TouchableNativeFeedback.android.d.ts +0 -0
  386. package/{dist/src → lib/typescript}/components/touchables/TouchableNativeFeedback.d.ts +0 -0
  387. package/{dist/src → lib/typescript}/components/touchables/TouchableOpacity.d.ts +1 -0
  388. package/{dist/src → lib/typescript}/components/touchables/TouchableWithoutFeedback.d.ts +4 -2
  389. package/{dist/src → lib/typescript}/components/touchables/index.d.ts +0 -0
  390. package/lib/typescript/gestureHandlerRootHOC.d.ts +3 -0
  391. package/lib/typescript/handlers/FlingGestureHandler.d.ts +33 -0
  392. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +43 -0
  393. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +55 -0
  394. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +27 -0
  395. package/lib/typescript/handlers/PanGestureHandler.d.ts +137 -0
  396. package/lib/typescript/handlers/PinchGestureHandler.d.ts +28 -0
  397. package/lib/typescript/handlers/RotationGestureHandler.d.ts +28 -0
  398. package/lib/typescript/handlers/TapGestureHandler.d.ts +56 -0
  399. package/{dist/src → lib/typescript}/handlers/createHandler.d.ts +2 -2
  400. package/{dist/src → lib/typescript}/handlers/createNativeWrapper.d.ts +1 -1
  401. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +62 -0
  402. package/{dist/src → lib/typescript}/handlers/gestureHandlerTypesCompat.d.ts +17 -2
  403. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +16 -0
  404. package/lib/typescript/handlers/gestures/eventReceiver.d.ts +2 -0
  405. package/lib/typescript/handlers/gestures/flingGesture.d.ts +9 -0
  406. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +10 -0
  407. package/lib/typescript/handlers/gestures/gesture.d.ts +90 -0
  408. package/lib/typescript/handlers/gestures/gestureComposition.d.ts +21 -0
  409. package/lib/typescript/handlers/gestures/gestureObjects.d.ts +39 -0
  410. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +9 -0
  411. package/lib/typescript/handlers/gestures/longPressGesture.d.ts +9 -0
  412. package/lib/typescript/handlers/gestures/manualGesture.d.ts +5 -0
  413. package/lib/typescript/handlers/gestures/nativeGesture.d.ts +9 -0
  414. package/lib/typescript/handlers/gestures/panGesture.d.ts +19 -0
  415. package/lib/typescript/handlers/gestures/pinchGesture.d.ts +6 -0
  416. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +14 -0
  417. package/lib/typescript/handlers/gestures/rotationGesture.d.ts +6 -0
  418. package/lib/typescript/handlers/gestures/tapGesture.d.ts +14 -0
  419. package/lib/typescript/handlers/handlersRegistry.d.ts +6 -0
  420. package/lib/typescript/index.d.ts +44 -0
  421. package/lib/typescript/init.d.ts +1 -0
  422. package/lib/typescript/mocks.d.ts +43 -0
  423. package/{dist/src → lib/typescript}/typeUtils.d.ts +0 -0
  424. package/lib/typescript/utils.d.ts +1 -0
  425. package/{dist/src → lib/typescript}/web/DiscreteGestureHandler.d.ts +0 -0
  426. package/{dist/src → lib/typescript}/web/DraggingGestureHandler.d.ts +0 -0
  427. package/{dist/src → lib/typescript}/web/Errors.d.ts +0 -0
  428. package/{dist/src → lib/typescript}/web/FlingGestureHandler.d.ts +0 -1
  429. package/{dist/src → lib/typescript}/web/GestureHandler.d.ts +0 -1
  430. package/{dist/src → lib/typescript}/web/IndiscreteGestureHandler.d.ts +0 -0
  431. package/{dist/src → lib/typescript}/web/LongPressGestureHandler.d.ts +0 -0
  432. package/{dist/src → lib/typescript}/web/NativeViewGestureHandler.d.ts +0 -0
  433. package/{dist/src → lib/typescript}/web/NodeManager.d.ts +0 -0
  434. package/{dist/src → lib/typescript}/web/PanGestureHandler.d.ts +0 -1
  435. package/{dist/src → lib/typescript}/web/PinchGestureHandler.d.ts +0 -1
  436. package/{dist/src → lib/typescript}/web/PressGestureHandler.d.ts +0 -1
  437. package/{dist/src → lib/typescript}/web/RotationGestureHandler.d.ts +0 -1
  438. package/{dist/src → lib/typescript}/web/TapGestureHandler.d.ts +0 -1
  439. package/{dist/src → lib/typescript}/web/constants.d.ts +0 -0
  440. package/{dist/src → lib/typescript}/web/utils.d.ts +0 -0
  441. package/package.json +38 -16
  442. package/src/Directions.ts +8 -2
  443. package/src/EventType.ts +10 -0
  444. package/src/GestureHandlerRootView.android.tsx +10 -25
  445. package/src/GestureHandlerRootView.tsx +12 -0
  446. package/src/PlatformConstants.ts +3 -2
  447. package/src/RNGestureHandlerModule.ts +15 -9
  448. package/src/RNGestureHandlerModule.web.ts +1 -0
  449. package/src/components/DrawerLayout.tsx +117 -43
  450. package/src/components/GestureButtons.tsx +46 -6
  451. package/src/components/GestureComponents.tsx +48 -41
  452. package/src/components/GestureComponents.web.tsx +1 -1
  453. package/src/components/{GestureHandlerButton.ts → GestureHandlerButton.tsx} +0 -0
  454. package/src/components/GestureHandlerButton.web.tsx +1 -1
  455. package/src/components/Swipeable.tsx +110 -22
  456. package/src/components/touchables/GenericTouchable.tsx +5 -3
  457. package/src/components/touchables/TouchableHighlight.tsx +2 -1
  458. package/src/components/touchables/TouchableNativeFeedback.android.tsx +2 -1
  459. package/src/components/touchables/{TouchableNativeFeedback.ts → TouchableNativeFeedback.tsx} +0 -0
  460. package/src/components/touchables/TouchableOpacity.tsx +3 -2
  461. package/src/components/touchables/TouchableWithoutFeedback.tsx +3 -2
  462. package/src/gestureHandlerRootHOC.tsx +5 -5
  463. package/src/handlers/FlingGestureHandler.ts +57 -0
  464. package/src/handlers/ForceTouchGestureHandler.ts +83 -0
  465. package/src/handlers/LongPressGestureHandler.ts +84 -0
  466. package/src/handlers/NativeViewGestureHandler.ts +31 -7
  467. package/src/handlers/PanGestureHandler.ts +321 -0
  468. package/src/handlers/PinchGestureHandler.ts +46 -0
  469. package/src/handlers/RotationGestureHandler.ts +46 -0
  470. package/src/handlers/TapGestureHandler.ts +90 -0
  471. package/src/handlers/createHandler.ts +61 -83
  472. package/src/handlers/createNativeWrapper.tsx +3 -2
  473. package/src/handlers/gestureHandlerCommon.ts +185 -0
  474. package/src/handlers/gestureHandlerTypesCompat.ts +37 -4
  475. package/src/handlers/gestures/GestureDetector.tsx +490 -0
  476. package/src/handlers/gestures/eventReceiver.ts +129 -0
  477. package/src/handlers/gestures/flingGesture.ts +27 -0
  478. package/src/handlers/gestures/forceTouchGesture.ts +32 -0
  479. package/src/handlers/gestures/gesture.ts +262 -0
  480. package/src/handlers/gestures/gestureComposition.ts +109 -0
  481. package/src/handlers/gestures/gestureObjects.ts +79 -0
  482. package/src/handlers/gestures/gestureStateManager.ts +60 -0
  483. package/src/handlers/gestures/longPressGesture.ts +27 -0
  484. package/src/handlers/gestures/manualGesture.ts +11 -0
  485. package/src/handlers/gestures/nativeGesture.ts +27 -0
  486. package/src/handlers/gestures/panGesture.ts +105 -0
  487. package/src/handlers/gestures/pinchGesture.ts +12 -0
  488. package/src/handlers/gestures/reanimatedWrapper.ts +45 -0
  489. package/src/handlers/gestures/rotationGesture.ts +12 -0
  490. package/src/handlers/gestures/tapGesture.ts +52 -0
  491. package/src/handlers/handlersRegistry.ts +22 -0
  492. package/src/index.ts +156 -0
  493. package/src/init.ts +5 -0
  494. package/src/mocks.ts +65 -0
  495. package/src/utils.ts +7 -0
  496. package/src/web/GestureHandler.ts +3 -4
  497. package/src/web/NativeViewGestureHandler.ts +0 -2
  498. package/src/web/NodeManager.ts +5 -0
  499. package/android/lib/src/main/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.java +0 -23
  500. package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.java +0 -110
  501. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.java +0 -531
  502. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.java +0 -8
  503. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.java +0 -543
  504. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistry.java +0 -10
  505. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.java +0 -29
  506. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureUtils.java +0 -53
  507. package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.java +0 -81
  508. package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.java +0 -110
  509. package/android/lib/src/main/java/com/swmansion/gesturehandler/OnTouchEventListener.java +0 -8
  510. package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.java +0 -312
  511. package/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.java +0 -109
  512. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureDetector.java +0 -169
  513. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureHandler.java +0 -96
  514. package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.java +0 -172
  515. package/android/lib/src/main/java/com/swmansion/gesturehandler/ViewConfigurationHelper.java +0 -10
  516. package/android/src/main/java/com/facebook/react/views/modal/RNGHModalUtils.java +0 -21
  517. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.java +0 -296
  518. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.java +0 -72
  519. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.java +0 -77
  520. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.java +0 -8
  521. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.java +0 -86
  522. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.java +0 -731
  523. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.java +0 -31
  524. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.java +0 -101
  525. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.java +0 -151
  526. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.java +0 -7
  527. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.java +0 -76
  528. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.java +0 -49
  529. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.java +0 -82
  530. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.java +0 -61
  531. package/dist/index.d.ts +0 -13
  532. package/dist/index.js +0 -16
  533. package/dist/src/Directions.d.ts +0 -7
  534. package/dist/src/Directions.js +0 -2
  535. package/dist/src/GestureHandlerRootView.android.d.ts +0 -4
  536. package/dist/src/GestureHandlerRootView.android.expo.d.ts +0 -2
  537. package/dist/src/GestureHandlerRootView.android.expo.js +0 -2
  538. package/dist/src/GestureHandlerRootView.android.js +0 -21
  539. package/dist/src/GestureHandlerRootView.d.ts +0 -2
  540. package/dist/src/GestureHandlerRootView.js +0 -2
  541. package/dist/src/PlatformConstants.js +0 -2
  542. package/dist/src/PlatformConstants.web.js +0 -5
  543. package/dist/src/RNGestureHandlerModule.js +0 -3
  544. package/dist/src/RNGestureHandlerModule.web.js +0 -47
  545. package/dist/src/State.js +0 -9
  546. package/dist/src/__mocks__/RNGestureHandlerModule.d.ts +0 -23
  547. package/dist/src/__mocks__/RNGestureHandlerModule.js +0 -25
  548. package/dist/src/components/DrawerLayout.js +0 -390
  549. package/dist/src/components/GestureButtons.js +0 -113
  550. package/dist/src/components/GestureComponents.d.ts +0 -45
  551. package/dist/src/components/GestureComponents.js +0 -18
  552. package/dist/src/components/GestureComponents.web.d.ts +0 -7
  553. package/dist/src/components/GestureComponents.web.js +0 -18
  554. package/dist/src/components/GestureHandlerButton.web.js +0 -3
  555. package/dist/src/components/Swipeable.d.ts +0 -82
  556. package/dist/src/components/Swipeable.js +0 -248
  557. package/dist/src/components/touchables/GenericTouchable.js +0 -209
  558. package/dist/src/components/touchables/TouchableHighlight.js +0 -72
  559. package/dist/src/components/touchables/TouchableNativeFeedback.android.js +0 -62
  560. package/dist/src/components/touchables/TouchableOpacity.js +0 -49
  561. package/dist/src/components/touchables/TouchableWithoutFeedback.js +0 -5
  562. package/dist/src/gestureHandlerRootHOC.d.ts +0 -3
  563. package/dist/src/gestureHandlerRootHOC.js +0 -17
  564. package/dist/src/handlers/NativeViewGestureHandler.d.ts +0 -12
  565. package/dist/src/handlers/NativeViewGestureHandler.js +0 -13
  566. package/dist/src/handlers/createHandler.js +0 -292
  567. package/dist/src/handlers/createNativeWrapper.js +0 -50
  568. package/dist/src/handlers/gestureHandlerTypesCompat.js +0 -1
  569. package/dist/src/handlers/gestureHandlers.d.ts +0 -158
  570. package/dist/src/handlers/gestureHandlers.js +0 -247
  571. package/dist/src/typeUtils.js +0 -1
  572. package/dist/src/web/DiscreteGestureHandler.js +0 -48
  573. package/dist/src/web/DraggingGestureHandler.js +0 -25
  574. package/dist/src/web/Errors.js +0 -5
  575. package/dist/src/web/FlingGestureHandler.js +0 -119
  576. package/dist/src/web/GestureHandler.js +0 -413
  577. package/dist/src/web/IndiscreteGestureHandler.js +0 -26
  578. package/dist/src/web/LongPressGestureHandler.js +0 -46
  579. package/dist/src/web/NativeViewGestureHandler.js +0 -39
  580. package/dist/src/web/NodeManager.js +0 -22
  581. package/dist/src/web/PanGestureHandler.js +0 -145
  582. package/dist/src/web/PinchGestureHandler.js +0 -19
  583. package/dist/src/web/PressGestureHandler.js +0 -135
  584. package/dist/src/web/RotationGestureHandler.js +0 -20
  585. package/dist/src/web/TapGestureHandler.js +0 -143
  586. package/dist/src/web/constants.js +0 -42
  587. package/dist/src/web/utils.js +0 -15
  588. package/index.ts +0 -103
  589. package/src/GestureHandlerRootView.android.expo.ts +0 -3
  590. package/src/GestureHandlerRootView.ts +0 -3
  591. package/src/__mocks__/RNGestureHandlerModule.ts +0 -27
  592. package/src/handlers/gestureHandlers.ts +0 -511
@@ -1,4 +1,10 @@
1
- import React, { PropsWithChildren } from 'react';
1
+ import * as React from 'react';
2
+ import {
3
+ PropsWithChildren,
4
+ ForwardedRef,
5
+ RefAttributes,
6
+ ReactElement,
7
+ } from 'react';
2
8
  import {
3
9
  ScrollView as RNScrollView,
4
10
  ScrollViewProps as RNScrollViewProps,
@@ -14,7 +20,10 @@ import {
14
20
 
15
21
  import createNativeWrapper from '../handlers/createNativeWrapper';
16
22
 
17
- import { NativeViewGestureHandlerProps } from '../handlers/NativeViewGestureHandler';
23
+ import {
24
+ NativeViewGestureHandlerProps,
25
+ nativeViewProps,
26
+ } from '../handlers/NativeViewGestureHandler';
18
27
 
19
28
  export const ScrollView = createNativeWrapper<
20
29
  PropsWithChildren<RNScrollViewProps>
@@ -23,15 +32,9 @@ export const ScrollView = createNativeWrapper<
23
32
  shouldCancelWhenOutside: false,
24
33
  });
25
34
  // backward type compatibility with https://github.com/software-mansion/react-native-gesture-handler/blob/db78d3ca7d48e8ba57482d3fe9b0a15aa79d9932/react-native-gesture-handler.d.ts#L440-L457
35
+ // include methods of wrapped components by creating an intersection type with the RN component instead of duplicating them.
26
36
  // eslint-disable-next-line @typescript-eslint/no-redeclare
27
- export type ScrollView = typeof ScrollView & {
28
- scrollTo(
29
- y?: number | { x?: number; y?: number; animated?: boolean },
30
- x?: number,
31
- animated?: boolean
32
- ): void;
33
- scrollToEnd(options?: { animated: boolean }): void;
34
- };
37
+ export type ScrollView = typeof ScrollView & RNScrollView;
35
38
 
36
39
  export const Switch = createNativeWrapper<RNSwitchProps>(RNSwitch, {
37
40
  shouldCancelWhenOutside: false,
@@ -39,47 +42,51 @@ export const Switch = createNativeWrapper<RNSwitchProps>(RNSwitch, {
39
42
  disallowInterruption: true,
40
43
  });
41
44
  // eslint-disable-next-line @typescript-eslint/no-redeclare
42
- export type Switch = typeof Switch;
45
+ export type Switch = typeof Switch & RNSwitch;
43
46
 
44
47
  export const TextInput = createNativeWrapper<RNTextInputProps>(RNTextInput);
45
48
  // eslint-disable-next-line @typescript-eslint/no-redeclare
46
- export type TextInput = typeof TextInput;
49
+ export type TextInput = typeof TextInput & RNTextInput;
47
50
 
48
51
  export const DrawerLayoutAndroid = createNativeWrapper<
49
52
  PropsWithChildren<RNDrawerLayoutAndroidProps>
50
53
  >(RNDrawerLayoutAndroid, { disallowInterruption: true });
51
- // we use literal object since TS gives error when using RN's `positions`
52
- // @ts-ignore FIXME(TS) maybe this should be removed?
53
- DrawerLayoutAndroid.positions = { Left: 'left', Right: 'right' };
54
54
  // eslint-disable-next-line @typescript-eslint/no-redeclare
55
- export type DrawerLayoutAndroid = typeof DrawerLayoutAndroid;
55
+ export type DrawerLayoutAndroid = typeof DrawerLayoutAndroid &
56
+ RNDrawerLayoutAndroid;
56
57
 
57
- export const FlatList = React.forwardRef<RNFlatList<any>, RNFlatListProps<any>>(
58
- (props, ref) => (
58
+ export const FlatList = React.forwardRef((props, ref) => {
59
+ const flatListProps = {};
60
+ const scrollViewProps = {};
61
+ for (const [propName, value] of Object.entries(props)) {
62
+ // https://github.com/microsoft/TypeScript/issues/26255
63
+ if ((nativeViewProps as readonly string[]).includes(propName)) {
64
+ // @ts-ignore - this function cannot have generic type so we have to ignore this error
65
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
66
+ scrollViewProps[propName] = value;
67
+ } else {
68
+ // @ts-ignore - this function cannot have generic type so we have to ignore this error
69
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
70
+ flatListProps[propName] = value;
71
+ }
72
+ }
73
+ return (
74
+ // @ts-ignore - this function cannot have generic type so we have to ignore this error
59
75
  <RNFlatList
60
76
  ref={ref}
61
- {...props}
62
- renderScrollComponent={(scrollProps) => <ScrollView {...scrollProps} />}
77
+ {...flatListProps}
78
+ renderScrollComponent={(scrollProps) => (
79
+ <ScrollView {...{ ...scrollProps, ...scrollViewProps }} />
80
+ )}
63
81
  />
64
- )
65
- );
82
+ );
83
+ }) as <ItemT = any>(
84
+ props: PropsWithChildren<
85
+ RNFlatListProps<ItemT> &
86
+ RefAttributes<FlatList<ItemT>> &
87
+ NativeViewGestureHandlerProps
88
+ >,
89
+ ref: ForwardedRef<FlatList<ItemT>>
90
+ ) => ReactElement | null;
66
91
  // eslint-disable-next-line @typescript-eslint/no-redeclare
67
- export type FlatList<ItemT> = React.ComponentType<
68
- RNFlatListProps<ItemT> &
69
- NativeViewGestureHandlerProps &
70
- React.RefAttributes<any>
71
- > & {
72
- scrollToEnd: (params?: { animated?: boolean }) => void;
73
- scrollToIndex: (params: {
74
- animated?: boolean;
75
- index: number;
76
- viewOffset?: number;
77
- viewPosition?: number;
78
- }) => void;
79
- scrollToItem: (params: {
80
- animated?: boolean;
81
- item: ItemT;
82
- viewPosition?: number;
83
- }) => void;
84
- scrollToOffset: (params: { animated?: boolean; offset: number }) => void;
85
- };
92
+ export type FlatList<ItemT = any> = typeof FlatList & RNFlatList<ItemT>;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import * as React from 'react';
2
2
  import {
3
3
  DrawerLayoutAndroid as RNDrawerLayoutAndroid,
4
4
  FlatList as RNFlatList,
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import * as React from 'react';
2
2
  import { View } from 'react-native';
3
3
 
4
4
  export default React.forwardRef<View>((props, ref) => (
@@ -1,8 +1,9 @@
1
1
  // Similarily to the DrawerLayout component this deserves to be put in a
2
- // separate repo. Although, keeping it here for the time being will allow us
3
- // to move faster and fix possible issues quicker
2
+ // separate repo. Although, keeping it here for the time being will allow us to
3
+ // move faster and fix possible issues quicker
4
4
 
5
- import React, { Component } from 'react';
5
+ import * as React from 'react';
6
+ import { Component } from 'react';
6
7
  import {
7
8
  Animated,
8
9
  StyleSheet,
@@ -14,14 +15,18 @@ import {
14
15
  } from 'react-native';
15
16
 
16
17
  import {
17
- PanGestureHandler,
18
- TapGestureHandler,
19
- PanGestureHandlerProps,
20
18
  GestureEvent,
21
- PanGestureHandlerEventPayload,
22
19
  HandlerStateChangeEvent,
20
+ } from '../handlers/gestureHandlerCommon';
21
+ import {
22
+ PanGestureHandler,
23
+ PanGestureHandlerEventPayload,
24
+ PanGestureHandlerProps,
25
+ } from '../handlers/PanGestureHandler';
26
+ import {
27
+ TapGestureHandler,
23
28
  TapGestureHandlerEventPayload,
24
- } from '../handlers/gestureHandlers';
29
+ } from '../handlers/TapGestureHandler';
25
30
  import { State } from '../State';
26
31
 
27
32
  const DRAG_TOSS = 0.05;
@@ -31,30 +36,105 @@ type SwipeableExcludes = Exclude<
31
36
  'onGestureEvent' | 'onHandlerStateChange'
32
37
  >;
33
38
 
34
- interface SwipeableProps
39
+ export interface SwipeableProps
35
40
  extends Pick<PanGestureHandlerProps, SwipeableExcludes> {
41
+ /**
42
+ * Enables two-finger gestures on supported devices, for example iPads with
43
+ * trackpads. If not enabled the gesture will require click + drag, with
44
+ * `enableTrackpadTwoFingerGesture` swiping with two fingers will also trigger
45
+ * the gesture.
46
+ */
36
47
  enableTrackpadTwoFingerGesture?: boolean;
48
+
49
+ /**
50
+ * Specifies how much the visual interaction will be delayed compared to the
51
+ * gesture distance. e.g. value of 1 will indicate that the swipeable panel
52
+ * should exactly follow the gesture, 2 means it is going to be two times
53
+ * "slower".
54
+ */
37
55
  friction?: number;
56
+
57
+ /**
58
+ * Distance from the left edge at which released panel will animate to the
59
+ * open state (or the open panel will animate into the closed state). By
60
+ * default it's a half of the panel's width.
61
+ */
38
62
  leftThreshold?: number;
63
+
64
+ /**
65
+ * Distance from the right edge at which released panel will animate to the
66
+ * open state (or the open panel will animate into the closed state). By
67
+ * default it's a half of the panel's width.
68
+ */
39
69
  rightThreshold?: number;
70
+
71
+ /**
72
+ * Value indicating if the swipeable panel can be pulled further than the left
73
+ * actions panel's width. It is set to true by default as long as the left
74
+ * panel render method is present.
75
+ */
40
76
  overshootLeft?: boolean;
77
+
78
+ /**
79
+ * Value indicating if the swipeable panel can be pulled further than the
80
+ * right actions panel's width. It is set to true by default as long as the
81
+ * right panel render method is present.
82
+ */
41
83
  overshootRight?: boolean;
84
+
85
+ /**
86
+ * Specifies how much the visual interaction will be delayed compared to the
87
+ * gesture distance at overshoot. Default value is 1, it mean no friction, for
88
+ * a native feel, try 8 or above.
89
+ */
42
90
  overshootFriction?: number;
91
+
92
+ /**
93
+ * Called when left action panel gets open.
94
+ */
43
95
  onSwipeableLeftOpen?: () => void;
96
+
97
+ /**
98
+ * Called when right action panel gets open.
99
+ */
44
100
  onSwipeableRightOpen?: () => void;
101
+
102
+ /**
103
+ * Called when action panel gets open (either right or left).
104
+ */
45
105
  onSwipeableOpen?: () => void;
106
+
107
+ /**
108
+ * Called when action panel is closed.
109
+ */
46
110
  onSwipeableClose?: () => void;
111
+
112
+ /**
113
+ * Called when left action panel starts animating on open.
114
+ */
47
115
  onSwipeableLeftWillOpen?: () => void;
116
+
117
+ /**
118
+ * Called when right action panel starts animating on open.
119
+ */
48
120
  onSwipeableRightWillOpen?: () => void;
121
+
122
+ /**
123
+ * Called when action panel starts animating on open (either right or left).
124
+ */
49
125
  onSwipeableWillOpen?: () => void;
126
+
127
+ /**
128
+ * Called when action panel starts animating on close.
129
+ */
50
130
  onSwipeableWillClose?: () => void;
131
+
51
132
  /**
52
133
  *
53
134
  * This map describes the values to use as inputRange for extra interpolation:
54
135
  * AnimatedValue: [startValue, endValue]
55
136
  *
56
- * progressAnimatedValue: [0, 1]
57
- * dragAnimatedValue: [0, +]
137
+ * progressAnimatedValue: [0, 1] dragAnimatedValue: [0, +]
58
138
  *
59
139
  * To support `rtl` flexbox layouts use `flexDirection` styling.
60
140
  * */
@@ -67,8 +147,7 @@ interface SwipeableProps
67
147
  * This map describes the values to use as inputRange for extra interpolation:
68
148
  * AnimatedValue: [startValue, endValue]
69
149
  *
70
- * progressAnimatedValue: [0, 1]
71
- * dragAnimatedValue: [0, -]
150
+ * progressAnimatedValue: [0, 1] dragAnimatedValue: [0, -]
72
151
  *
73
152
  * To support `rtl` flexbox layouts use `flexDirection` styling.
74
153
  * */
@@ -76,9 +155,21 @@ interface SwipeableProps
76
155
  progressAnimatedValue: Animated.AnimatedInterpolation,
77
156
  dragAnimatedValue: Animated.AnimatedInterpolation
78
157
  ) => React.ReactNode;
158
+
79
159
  useNativeAnimations?: boolean;
160
+
80
161
  animationOptions?: Record<string, unknown>;
162
+
163
+ /**
164
+ * Style object for the container (`Animated.View`), for example to override
165
+ * `overflow: 'hidden'`.
166
+ */
81
167
  containerStyle?: StyleProp<ViewStyle>;
168
+
169
+ /**
170
+ * Style object for the children container (`Animated.View`), for example to
171
+ * apply `flex: 1`
172
+ */
82
173
  childrenContainerStyle?: StyleProp<ViewStyle>;
83
174
  }
84
175
 
@@ -164,17 +255,12 @@ export default class Swipeable extends Component<
164
255
  outputRange: [0, 1],
165
256
  })
166
257
  ).interpolate({
167
- inputRange: [
168
- -rightWidth - (overshootRight ? 1 : overshootFriction!),
169
- -rightWidth,
170
- leftWidth,
171
- leftWidth + (overshootLeft ? 1 : overshootFriction!),
172
- ],
258
+ inputRange: [-rightWidth - 1, -rightWidth, leftWidth, leftWidth + 1],
173
259
  outputRange: [
174
- -rightWidth - (overshootRight || overshootFriction! > 1 ? 1 : 0),
260
+ -rightWidth - (overshootRight ? 1 / overshootFriction! : 0),
175
261
  -rightWidth,
176
262
  leftWidth,
177
- leftWidth + (overshootLeft || overshootFriction! > 1 ? 1 : 0),
263
+ leftWidth + (overshootLeft ? 1 / overshootFriction! : 0),
178
264
  ],
179
265
  });
180
266
  this.transX = transX;
@@ -349,7 +435,9 @@ export default class Swipeable extends Component<
349
435
  <Animated.View
350
436
  style={[
351
437
  styles.leftActions,
352
- // all those and below parameters can have ! since they are all asigned in constructor in `updateAnimatedEvent` but TS cannot spot it for some reason
438
+ // all those and below parameters can have ! since they are all
439
+ // asigned in constructor in `updateAnimatedEvent` but TS cannot spot
440
+ // it for some reason
353
441
  { transform: [{ translateX: this.leftActionTranslate! }] },
354
442
  ]}>
355
443
  {renderLeftActions(this.showLeftAction!, this.transX!)}
@@ -1,4 +1,5 @@
1
- import React, { Component } from 'react';
1
+ import * as React from 'react';
2
+ import { Component } from 'react';
2
3
  import {
3
4
  Animated,
4
5
  Platform,
@@ -13,7 +14,7 @@ import { BaseButton } from '../GestureButtons';
13
14
  import {
14
15
  GestureEvent,
15
16
  HandlerStateChangeEvent,
16
- } from '../../handlers/gestureHandlers';
17
+ } from '../../handlers/gestureHandlerCommon';
17
18
  import { NativeViewGestureHandlerPayload } from '../../handlers/NativeViewGestureHandler';
18
19
  import { TouchableNativeFeedbackExtraProps } from './TouchableNativeFeedback.android';
19
20
 
@@ -56,7 +57,7 @@ interface InternalProps {
56
57
 
57
58
  // TODO: maybe can be better
58
59
  // TODO: all clearTimeout have ! added, maybe they shouldn't ?
59
- type Timeout = null | NodeJS.Timeout | undefined;
60
+ type Timeout = ReturnType<typeof setTimeout> | null | undefined;
60
61
 
61
62
  /**
62
63
  * GenericTouchable is not intented to be used as it is.
@@ -70,6 +71,7 @@ export default class GenericTouchable extends Component<
70
71
  delayLongPress: 600,
71
72
  extraButtonProps: {
72
73
  rippleColor: 'transparent',
74
+ exclusive: true,
73
75
  },
74
76
  };
75
77
 
@@ -1,4 +1,5 @@
1
- import React, { Component } from 'react';
1
+ import * as React from 'react';
2
+ import { Component } from 'react';
2
3
  import GenericTouchable, {
3
4
  GenericTouchableProps,
4
5
  TOUCHABLE_STATE,
@@ -3,7 +3,8 @@ import {
3
3
  TouchableNativeFeedbackProps,
4
4
  ColorValue,
5
5
  } from 'react-native';
6
- import React, { Component } from 'react';
6
+ import * as React from 'react';
7
+ import { Component } from 'react';
7
8
  import GenericTouchable, { GenericTouchableProps } from './GenericTouchable';
8
9
 
9
10
  export type TouchableNativeFeedbackExtraProps = {
@@ -9,7 +9,8 @@ import GenericTouchable, {
9
9
  TOUCHABLE_STATE,
10
10
  GenericTouchableProps,
11
11
  } from './GenericTouchable';
12
- import React, { Component } from 'react';
12
+ import * as React from 'react';
13
+ import { Component } from 'react';
13
14
 
14
15
  /**
15
16
  * TouchableOpacity bases on timing animation which has been used in RN's core
@@ -35,7 +36,7 @@ export default class TouchableOpacity extends Component<
35
36
  toValue: value,
36
37
  duration: duration,
37
38
  easing: Easing.inOut(Easing.quad),
38
- useNativeDriver: true,
39
+ useNativeDriver: false,
39
40
  }).start();
40
41
  };
41
42
 
@@ -1,9 +1,10 @@
1
- import React from 'react';
1
+ import * as React from 'react';
2
+ import { PropsWithChildren } from 'react';
2
3
  import GenericTouchable, { GenericTouchableProps } from './GenericTouchable';
3
4
 
4
5
  const TouchableWithoutFeedback = React.forwardRef<
5
6
  GenericTouchable,
6
- GenericTouchableProps
7
+ PropsWithChildren<GenericTouchableProps>
7
8
  >((props, ref) => <GenericTouchable ref={ref} {...props} />);
8
9
 
9
10
  TouchableWithoutFeedback.defaultProps = GenericTouchable.defaultProps;
@@ -1,13 +1,13 @@
1
- import React from 'react';
1
+ import * as React from 'react';
2
2
  import { StyleSheet, StyleProp, ViewStyle } from 'react-native';
3
3
  import hoistNonReactStatics from 'hoist-non-react-statics';
4
4
  import GestureHandlerRootView from './GestureHandlerRootView';
5
5
 
6
- export default function gestureHandlerRootHOC(
7
- Component: React.ComponentType<Record<string, unknown>>,
6
+ export default function gestureHandlerRootHOC<P>(
7
+ Component: React.ComponentType<P>,
8
8
  containerStyles?: StyleProp<ViewStyle>
9
- ): React.ComponentType<Record<string, unknown>> {
10
- function Wrapper(props: Record<string, unknown>) {
9
+ ): React.ComponentType<P> {
10
+ function Wrapper(props: P) {
11
11
  return (
12
12
  <GestureHandlerRootView style={[styles.container, containerStyles]}>
13
13
  <Component {...props} />
@@ -0,0 +1,57 @@
1
+ import createHandler from './createHandler';
2
+ import {
3
+ BaseGestureHandlerProps,
4
+ baseGestureHandlerProps,
5
+ } from './gestureHandlerCommon';
6
+
7
+ export const flingGestureHandlerProps = [
8
+ 'numberOfPointers',
9
+ 'direction',
10
+ ] as const;
11
+
12
+ export type FlingGestureHandlerEventPayload = {
13
+ x: number;
14
+ y: number;
15
+ absoluteX: number;
16
+ absoluteY: number;
17
+ };
18
+ export interface FlingGestureConfig {
19
+ /**
20
+ * Expressed allowed direction of movement. It's possible to pass one or many
21
+ * directions in one parameter:
22
+ *
23
+ * ```js
24
+ * direction={Directions.RIGHT | Directions.LEFT}
25
+ * ```
26
+ *
27
+ * or
28
+ *
29
+ * ```js
30
+ * direction={Directions.DOWN}
31
+ * ```
32
+ */
33
+ direction?: number;
34
+
35
+ /**
36
+ * Determine exact number of points required to handle the fling gesture.
37
+ */
38
+ numberOfPointers?: number;
39
+ }
40
+
41
+ export interface FlingGestureHandlerProps
42
+ extends BaseGestureHandlerProps<FlingGestureHandlerEventPayload>,
43
+ FlingGestureConfig {}
44
+
45
+ export type FlingGestureHandler = typeof FlingGestureHandler;
46
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of gestureHandlerCommon.ts file
47
+ export const FlingGestureHandler = createHandler<
48
+ FlingGestureHandlerProps,
49
+ FlingGestureHandlerEventPayload
50
+ >({
51
+ name: 'FlingGestureHandler',
52
+ allowedProps: [
53
+ ...baseGestureHandlerProps,
54
+ ...flingGestureHandlerProps,
55
+ ] as const,
56
+ config: {},
57
+ });
@@ -0,0 +1,83 @@
1
+ import React from 'react';
2
+ import PlatformConstants from '../PlatformConstants';
3
+ import createHandler from './createHandler';
4
+ import {
5
+ BaseGestureHandlerProps,
6
+ baseGestureHandlerProps,
7
+ } from './gestureHandlerCommon';
8
+
9
+ export const forceTouchGestureHandlerProps = [
10
+ 'minForce',
11
+ 'maxForce',
12
+ 'feedbackOnActivation',
13
+ ] as const;
14
+
15
+ class ForceTouchFallback extends React.Component {
16
+ static forceTouchAvailable = false;
17
+ componentDidMount() {
18
+ console.warn(
19
+ 'ForceTouchGestureHandler is not available on this platform. Please use ForceTouchGestureHandler.forceTouchAvailable to conditionally render other components that would provide a fallback behavior specific to your usecase'
20
+ );
21
+ }
22
+ render() {
23
+ return this.props.children;
24
+ }
25
+ }
26
+
27
+ export type ForceTouchGestureHandlerEventPayload = {
28
+ x: number;
29
+ y: number;
30
+ absoluteX: number;
31
+ absoluteY: number;
32
+
33
+ /**
34
+ * The pressure of a touch.
35
+ */
36
+ force: number;
37
+ };
38
+
39
+ export interface ForceTouchGestureConfig {
40
+ /**
41
+ *
42
+ * A minimal pressure that is required before handler can activate. Should be a
43
+ * value from range `[0.0, 1.0]`. Default is `0.2`.
44
+ */
45
+ minForce?: number;
46
+
47
+ /**
48
+ * A maximal pressure that could be applied for handler. If the pressure is
49
+ * greater, handler fails. Should be a value from range `[0.0, 1.0]`.
50
+ */
51
+ maxForce?: number;
52
+
53
+ /**
54
+ * Boolean value defining if haptic feedback has to be performed on
55
+ * activation.
56
+ */
57
+ feedbackOnActivation?: boolean;
58
+ }
59
+
60
+ export interface ForceTouchGestureHandlerProps
61
+ extends BaseGestureHandlerProps<ForceTouchGestureHandlerEventPayload>,
62
+ ForceTouchGestureConfig {}
63
+
64
+ export type ForceTouchGestureHandler = typeof ForceTouchGestureHandler & {
65
+ forceTouchAvailable: boolean;
66
+ };
67
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of gestureHandlerCommon.ts file
68
+ export const ForceTouchGestureHandler = PlatformConstants?.forceTouchAvailable
69
+ ? createHandler<
70
+ ForceTouchGestureHandlerProps,
71
+ ForceTouchGestureHandlerEventPayload
72
+ >({
73
+ name: 'ForceTouchGestureHandler',
74
+ allowedProps: [
75
+ ...baseGestureHandlerProps,
76
+ ...forceTouchGestureHandlerProps,
77
+ ] as const,
78
+ config: {},
79
+ })
80
+ : ForceTouchFallback;
81
+
82
+ (ForceTouchGestureHandler as ForceTouchGestureHandler).forceTouchAvailable =
83
+ PlatformConstants?.forceTouchAvailable || false;
@@ -0,0 +1,84 @@
1
+ import createHandler from './createHandler';
2
+ import {
3
+ BaseGestureHandlerProps,
4
+ baseGestureHandlerProps,
5
+ } from './gestureHandlerCommon';
6
+
7
+ export const longPressGestureHandlerProps = [
8
+ 'minDurationMs',
9
+ 'maxDist',
10
+ ] as const;
11
+
12
+ export type LongPressGestureHandlerEventPayload = {
13
+ /**
14
+ * X coordinate, expressed in points, of the current position of the pointer
15
+ * (finger or a leading pointer when there are multiple fingers placed)
16
+ * relative to the view attached to the handler.
17
+ */
18
+ x: number;
19
+
20
+ /**
21
+ * Y coordinate, expressed in points, of the current position of the pointer
22
+ * (finger or a leading pointer when there are multiple fingers placed)
23
+ * relative to the view attached to the handler.
24
+ */
25
+ y: number;
26
+
27
+ /**
28
+ * X coordinate, expressed in points, of the current position of the pointer
29
+ * (finger or a leading pointer when there are multiple fingers placed)
30
+ * relative to the root view. It is recommended to use `absoluteX` instead of
31
+ * `x` in cases when the view attached to the handler can be transformed as an
32
+ * effect of the gesture.
33
+ */
34
+ absoluteX: number;
35
+
36
+ /**
37
+ * Y coordinate, expressed in points, of the current position of the pointer
38
+ * (finger or a leading pointer when there are multiple fingers placed)
39
+ * relative to the root view. It is recommended to use `absoluteY` instead of
40
+ * `y` in cases when the view attached to the handler can be transformed as an
41
+ * effect of the gesture.
42
+ */
43
+ absoluteY: number;
44
+
45
+ /**
46
+ * Duration of the long press (time since the start of the event), expressed
47
+ * in milliseconds.
48
+ */
49
+ duration: number;
50
+ };
51
+
52
+ export interface LongPressGestureConfig {
53
+ /**
54
+ * Minimum time, expressed in milliseconds, that a finger must remain pressed on
55
+ * the corresponding view. The default value is 500.
56
+ */
57
+ minDurationMs?: number;
58
+
59
+ /**
60
+ * Maximum distance, expressed in points, that defines how far the finger is
61
+ * allowed to travel during a long press gesture. If the finger travels
62
+ * further than the defined distance and the handler hasn't yet activated, it
63
+ * will fail to recognize the gesture. The default value is 10.
64
+ */
65
+ maxDist?: number;
66
+ }
67
+
68
+ export interface LongPressGestureHandlerProps
69
+ extends BaseGestureHandlerProps<LongPressGestureHandlerEventPayload>,
70
+ LongPressGestureConfig {}
71
+
72
+ export type LongPressGestureHandler = typeof LongPressGestureHandler;
73
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of gestureHandlerCommon.ts file
74
+ export const LongPressGestureHandler = createHandler<
75
+ LongPressGestureHandlerProps,
76
+ LongPressGestureHandlerEventPayload
77
+ >({
78
+ name: 'LongPressGestureHandler',
79
+ allowedProps: [
80
+ ...baseGestureHandlerProps,
81
+ ...longPressGestureHandlerProps,
82
+ ] as const,
83
+ config: {},
84
+ });