react-native-gesture-handler 1.10.3 → 2.1.2

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 (382) hide show
  1. package/README.md +7 -6
  2. package/android/build.gradle +49 -1
  3. package/android/common/src/main/java/com/swmansion/common/GestureHandlerStateManager.kt +5 -0
  4. package/android/gradle.properties +19 -0
  5. package/android/lib/src/main/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.kt +18 -0
  6. package/android/lib/src/main/java/com/swmansion/gesturehandler/Extensions.kt +11 -0
  7. package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.kt +96 -0
  8. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.kt +713 -0
  9. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.kt +8 -0
  10. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.kt +562 -0
  11. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistry.kt +8 -0
  12. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.kt +21 -0
  13. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureUtils.kt +49 -0
  14. package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.kt +97 -0
  15. package/android/lib/src/main/java/com/swmansion/gesturehandler/ManualGestureHandler.kt +11 -0
  16. package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.kt +129 -0
  17. package/android/lib/src/main/java/com/swmansion/gesturehandler/OnTouchEventListener.kt +9 -0
  18. package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.kt +289 -0
  19. package/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.kt +88 -0
  20. package/android/lib/src/main/java/com/swmansion/gesturehandler/{PointerEventsConfig.java → PointerEventsConfig.kt} +3 -5
  21. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureDetector.kt +125 -0
  22. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureHandler.kt +79 -0
  23. package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.kt +167 -0
  24. package/android/lib/src/main/java/com/swmansion/gesturehandler/ViewConfigurationHelper.kt +10 -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/RNGestureHandlerEvents.h +9 -0
  53. package/ios/RNGestureHandlerEvents.m +34 -0
  54. package/ios/RNGestureHandlerManager.h +7 -0
  55. package/ios/RNGestureHandlerManager.m +62 -34
  56. package/ios/RNGestureHandlerModule.m +39 -3
  57. package/ios/RNGestureHandlerPointerTracker.h +25 -0
  58. package/ios/RNGestureHandlerPointerTracker.m +237 -0
  59. package/ios/RNGestureHandlerRegistry.h +1 -0
  60. package/ios/RNGestureHandlerRegistry.m +10 -0
  61. package/ios/RNGestureHandlerStateManager.h +5 -0
  62. package/ios/RNManualActivationRecognizer.h +10 -0
  63. package/ios/RNManualActivationRecognizer.m +80 -0
  64. package/ios/RNRootViewGestureRecognizer.m +1 -1
  65. package/ios/RNTouchEventType.h +9 -0
  66. package/lib/commonjs/EventType.js +16 -0
  67. package/lib/commonjs/EventType.js.map +1 -0
  68. package/lib/commonjs/GestureHandlerRootView.android.js +1 -13
  69. package/lib/commonjs/GestureHandlerRootView.android.js.map +1 -1
  70. package/lib/commonjs/GestureHandlerRootView.js +11 -3
  71. package/lib/commonjs/GestureHandlerRootView.js.map +1 -1
  72. package/lib/commonjs/RNGestureHandlerModule.js +3 -1
  73. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
  74. package/lib/commonjs/RNGestureHandlerModule.web.js +2 -2
  75. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  76. package/lib/commonjs/components/DrawerLayout.js +41 -37
  77. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  78. package/lib/commonjs/components/GestureButtons.js.map +1 -1
  79. package/lib/commonjs/components/GestureComponents.js +31 -12
  80. package/lib/commonjs/components/GestureComponents.js.map +1 -1
  81. package/lib/commonjs/components/Swipeable.js +10 -6
  82. package/lib/commonjs/components/Swipeable.js.map +1 -1
  83. package/lib/commonjs/components/touchables/GenericTouchable.js +2 -1
  84. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
  85. package/lib/commonjs/components/touchables/TouchableOpacity.js +1 -1
  86. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  87. package/lib/commonjs/gestureHandlerRootHOC.js +1 -1
  88. package/lib/commonjs/gestureHandlerRootHOC.js.map +1 -1
  89. package/lib/commonjs/handlers/FlingGestureHandler.js +23 -0
  90. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -0
  91. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +44 -0
  92. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -0
  93. package/lib/commonjs/handlers/LongPressGestureHandler.js +23 -0
  94. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -0
  95. package/lib/commonjs/handlers/NativeViewGestureHandler.js +6 -4
  96. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
  97. package/lib/commonjs/handlers/PanGestureHandler.js +121 -0
  98. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -0
  99. package/lib/commonjs/handlers/PinchGestureHandler.js +21 -0
  100. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -0
  101. package/lib/commonjs/handlers/RotationGestureHandler.js +21 -0
  102. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -0
  103. package/lib/commonjs/handlers/TapGestureHandler.js +23 -0
  104. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -0
  105. package/lib/commonjs/handlers/createHandler.js +52 -83
  106. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  107. package/lib/commonjs/handlers/gestureHandlerCommon.js +80 -0
  108. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -0
  109. package/lib/commonjs/handlers/gestures/GestureDetector.js +440 -0
  110. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -0
  111. package/lib/commonjs/handlers/gestures/eventReceiver.js +135 -0
  112. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -0
  113. package/lib/commonjs/handlers/gestures/flingGesture.js +34 -0
  114. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -0
  115. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +65 -0
  116. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -0
  117. package/lib/commonjs/handlers/gestures/gesture.js +193 -0
  118. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -0
  119. package/lib/commonjs/handlers/gestures/gestureComposition.js +94 -0
  120. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -0
  121. package/lib/commonjs/handlers/gestures/gestureObjects.js +85 -0
  122. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -0
  123. package/lib/commonjs/handlers/gestures/gestureStateManager.js +58 -0
  124. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -0
  125. package/lib/commonjs/handlers/gestures/longPressGesture.js +34 -0
  126. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -0
  127. package/lib/commonjs/handlers/gestures/manualGesture.js +31 -0
  128. package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -0
  129. package/lib/commonjs/handlers/gestures/nativeGesture.js +34 -0
  130. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -0
  131. package/lib/commonjs/handlers/gestures/panGesture.js +144 -0
  132. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -0
  133. package/lib/commonjs/handlers/gestures/pinchGesture.js +45 -0
  134. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -0
  135. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +24 -0
  136. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -0
  137. package/lib/commonjs/handlers/gestures/rotationGesture.js +45 -0
  138. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -0
  139. package/lib/commonjs/handlers/gestures/tapGesture.js +59 -0
  140. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -0
  141. package/lib/commonjs/handlers/handlersRegistry.js +31 -0
  142. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -0
  143. package/lib/commonjs/index.js +146 -8
  144. package/lib/commonjs/index.js.map +1 -1
  145. package/lib/commonjs/init.js +13 -0
  146. package/lib/commonjs/init.js.map +1 -0
  147. package/lib/commonjs/mocks.js +31 -2
  148. package/lib/commonjs/mocks.js.map +1 -1
  149. package/lib/commonjs/utils.js +15 -0
  150. package/lib/commonjs/utils.js.map +1 -0
  151. package/lib/commonjs/web/Errors.js +1 -1
  152. package/lib/commonjs/web/Errors.js.map +1 -1
  153. package/lib/commonjs/web/GestureHandler.js +4 -6
  154. package/lib/commonjs/web/GestureHandler.js.map +1 -1
  155. package/lib/commonjs/web/NodeManager.js +8 -2
  156. package/lib/commonjs/web/NodeManager.js.map +1 -1
  157. package/lib/module/EventType.js +8 -0
  158. package/lib/module/EventType.js.map +1 -0
  159. package/lib/module/GestureHandlerRootView.android.js +2 -14
  160. package/lib/module/GestureHandlerRootView.android.js.map +1 -1
  161. package/lib/module/GestureHandlerRootView.js +5 -1
  162. package/lib/module/GestureHandlerRootView.js.map +1 -1
  163. package/lib/module/RNGestureHandlerModule.js +3 -1
  164. package/lib/module/RNGestureHandlerModule.js.map +1 -1
  165. package/lib/module/RNGestureHandlerModule.web.js +2 -2
  166. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  167. package/lib/module/components/DrawerLayout.js +43 -40
  168. package/lib/module/components/DrawerLayout.js.map +1 -1
  169. package/lib/module/components/GestureButtons.js.map +1 -1
  170. package/lib/module/components/GestureComponents.js +29 -11
  171. package/lib/module/components/GestureComponents.js.map +1 -1
  172. package/lib/module/components/Swipeable.js +9 -6
  173. package/lib/module/components/Swipeable.js.map +1 -1
  174. package/lib/module/components/touchables/GenericTouchable.js +2 -1
  175. package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
  176. package/lib/module/components/touchables/TouchableOpacity.js +1 -1
  177. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  178. package/lib/module/gestureHandlerRootHOC.js +1 -1
  179. package/lib/module/gestureHandlerRootHOC.js.map +1 -1
  180. package/lib/module/handlers/FlingGestureHandler.js +10 -0
  181. package/lib/module/handlers/FlingGestureHandler.js.map +1 -0
  182. package/lib/module/handlers/ForceTouchGestureHandler.js +29 -0
  183. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -0
  184. package/lib/module/handlers/LongPressGestureHandler.js +10 -0
  185. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -0
  186. package/lib/module/handlers/NativeViewGestureHandler.js +4 -3
  187. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
  188. package/lib/module/handlers/PanGestureHandler.js +106 -0
  189. package/lib/module/handlers/PanGestureHandler.js.map +1 -0
  190. package/lib/module/handlers/PinchGestureHandler.js +9 -0
  191. package/lib/module/handlers/PinchGestureHandler.js.map +1 -0
  192. package/lib/module/handlers/RotationGestureHandler.js +9 -0
  193. package/lib/module/handlers/RotationGestureHandler.js.map +1 -0
  194. package/lib/module/handlers/TapGestureHandler.js +10 -0
  195. package/lib/module/handlers/TapGestureHandler.js.map +1 -0
  196. package/lib/module/handlers/createHandler.js +41 -76
  197. package/lib/module/handlers/createHandler.js.map +1 -1
  198. package/lib/module/handlers/gestureHandlerCommon.js +66 -0
  199. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -0
  200. package/lib/module/handlers/gestures/GestureDetector.js +402 -0
  201. package/lib/module/handlers/gestures/GestureDetector.js.map +1 -0
  202. package/lib/module/handlers/gestures/eventReceiver.js +120 -0
  203. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -0
  204. package/lib/module/handlers/gestures/flingGesture.js +24 -0
  205. package/lib/module/handlers/gestures/flingGesture.js.map +1 -0
  206. package/lib/module/handlers/gestures/forceTouchGesture.js +56 -0
  207. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -0
  208. package/lib/module/handlers/gestures/gesture.js +175 -0
  209. package/lib/module/handlers/gestures/gesture.js.map +1 -0
  210. package/lib/module/handlers/gestures/gestureComposition.js +79 -0
  211. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -0
  212. package/lib/module/handlers/gestures/gestureObjects.js +67 -0
  213. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -0
  214. package/lib/module/handlers/gestures/gestureStateManager.js +48 -0
  215. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -0
  216. package/lib/module/handlers/gestures/longPressGesture.js +24 -0
  217. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -0
  218. package/lib/module/handlers/gestures/manualGesture.js +22 -0
  219. package/lib/module/handlers/gestures/manualGesture.js.map +1 -0
  220. package/lib/module/handlers/gestures/nativeGesture.js +24 -0
  221. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -0
  222. package/lib/module/handlers/gestures/panGesture.js +135 -0
  223. package/lib/module/handlers/gestures/panGesture.js.map +1 -0
  224. package/lib/module/handlers/gestures/pinchGesture.js +36 -0
  225. package/lib/module/handlers/gestures/pinchGesture.js.map +1 -0
  226. package/lib/module/handlers/gestures/reanimatedWrapper.js +19 -0
  227. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -0
  228. package/lib/module/handlers/gestures/rotationGesture.js +36 -0
  229. package/lib/module/handlers/gestures/rotationGesture.js.map +1 -0
  230. package/lib/module/handlers/gestures/tapGesture.js +49 -0
  231. package/lib/module/handlers/gestures/tapGesture.js.map +1 -0
  232. package/lib/module/handlers/handlersRegistry.js +16 -0
  233. package/lib/module/handlers/handlersRegistry.js.map +1 -0
  234. package/lib/module/index.js +22 -1
  235. package/lib/module/index.js.map +1 -1
  236. package/lib/module/init.js +5 -0
  237. package/lib/module/init.js.map +1 -0
  238. package/lib/module/mocks.js +31 -2
  239. package/lib/module/mocks.js.map +1 -1
  240. package/lib/module/utils.js +8 -0
  241. package/lib/module/utils.js.map +1 -0
  242. package/lib/module/web/Errors.js +1 -1
  243. package/lib/module/web/Errors.js.map +1 -1
  244. package/lib/module/web/GestureHandler.js +4 -6
  245. package/lib/module/web/GestureHandler.js.map +1 -1
  246. package/lib/module/web/NodeManager.js +8 -2
  247. package/lib/module/web/NodeManager.js.map +1 -1
  248. package/lib/typescript/EventType.d.ts +8 -0
  249. package/lib/typescript/GestureHandlerRootView.android.d.ts +2 -4
  250. package/lib/typescript/GestureHandlerRootView.d.ts +5 -2
  251. package/lib/typescript/RNGestureHandlerModule.d.ts +1 -1
  252. package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -1
  253. package/lib/typescript/components/DrawerLayout.d.ts +50 -1
  254. package/lib/typescript/components/GestureButtons.d.ts +36 -0
  255. package/lib/typescript/components/GestureComponents.d.ts +8 -35
  256. package/lib/typescript/components/Swipeable.d.ts +73 -6
  257. package/lib/typescript/components/touchables/GenericTouchable.d.ts +2 -2
  258. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +1 -0
  259. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +1 -0
  260. package/lib/typescript/handlers/FlingGestureHandler.d.ts +33 -0
  261. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +43 -0
  262. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +55 -0
  263. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +19 -4
  264. package/lib/typescript/handlers/PanGestureHandler.d.ts +137 -0
  265. package/lib/typescript/handlers/PinchGestureHandler.d.ts +28 -0
  266. package/lib/typescript/handlers/RotationGestureHandler.d.ts +28 -0
  267. package/lib/typescript/handlers/TapGestureHandler.d.ts +56 -0
  268. package/lib/typescript/handlers/createHandler.d.ts +1 -1
  269. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +62 -0
  270. package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +8 -1
  271. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +16 -0
  272. package/lib/typescript/handlers/gestures/eventReceiver.d.ts +2 -0
  273. package/lib/typescript/handlers/gestures/flingGesture.d.ts +9 -0
  274. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +16 -0
  275. package/lib/typescript/handlers/gestures/gesture.d.ts +97 -0
  276. package/lib/typescript/handlers/gestures/gestureComposition.d.ts +21 -0
  277. package/lib/typescript/handlers/gestures/gestureObjects.d.ts +39 -0
  278. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +9 -0
  279. package/lib/typescript/handlers/gestures/longPressGesture.d.ts +9 -0
  280. package/lib/typescript/handlers/gestures/manualGesture.d.ts +7 -0
  281. package/lib/typescript/handlers/gestures/nativeGesture.d.ts +9 -0
  282. package/lib/typescript/handlers/gestures/panGesture.d.ts +26 -0
  283. package/lib/typescript/handlers/gestures/pinchGesture.d.ts +12 -0
  284. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +14 -0
  285. package/lib/typescript/handlers/gestures/rotationGesture.d.ts +12 -0
  286. package/lib/typescript/handlers/gestures/tapGesture.d.ts +14 -0
  287. package/lib/typescript/handlers/handlersRegistry.d.ts +6 -0
  288. package/lib/typescript/index.d.ts +29 -2
  289. package/lib/typescript/init.d.ts +1 -0
  290. package/lib/typescript/mocks.d.ts +21 -2
  291. package/lib/typescript/utils.d.ts +1 -0
  292. package/lib/typescript/web/FlingGestureHandler.d.ts +0 -1
  293. package/lib/typescript/web/GestureHandler.d.ts +0 -1
  294. package/lib/typescript/web/PanGestureHandler.d.ts +0 -1
  295. package/lib/typescript/web/PinchGestureHandler.d.ts +0 -1
  296. package/lib/typescript/web/PressGestureHandler.d.ts +0 -1
  297. package/lib/typescript/web/RotationGestureHandler.d.ts +0 -1
  298. package/lib/typescript/web/TapGestureHandler.d.ts +0 -1
  299. package/package.json +8 -5
  300. package/src/EventType.ts +10 -0
  301. package/src/GestureHandlerRootView.android.tsx +9 -25
  302. package/src/GestureHandlerRootView.tsx +11 -2
  303. package/src/RNGestureHandlerModule.ts +5 -1
  304. package/src/RNGestureHandlerModule.web.ts +1 -0
  305. package/src/components/DrawerLayout.tsx +114 -41
  306. package/src/components/GestureButtons.tsx +45 -5
  307. package/src/components/GestureComponents.tsx +47 -41
  308. package/src/components/Swipeable.tsx +108 -21
  309. package/src/components/touchables/GenericTouchable.tsx +2 -1
  310. package/src/components/touchables/TouchableOpacity.tsx +1 -1
  311. package/src/handlers/FlingGestureHandler.ts +57 -0
  312. package/src/handlers/ForceTouchGestureHandler.ts +83 -0
  313. package/src/handlers/LongPressGestureHandler.ts +84 -0
  314. package/src/handlers/NativeViewGestureHandler.ts +31 -7
  315. package/src/handlers/PanGestureHandler.ts +321 -0
  316. package/src/handlers/PinchGestureHandler.ts +46 -0
  317. package/src/handlers/RotationGestureHandler.ts +46 -0
  318. package/src/handlers/TapGestureHandler.ts +90 -0
  319. package/src/handlers/createHandler.ts +54 -79
  320. package/src/handlers/gestureHandlerCommon.ts +185 -0
  321. package/src/handlers/gestureHandlerTypesCompat.ts +19 -5
  322. package/src/handlers/gestures/GestureDetector.tsx +519 -0
  323. package/src/handlers/gestures/eventReceiver.ts +151 -0
  324. package/src/handlers/gestures/flingGesture.ts +27 -0
  325. package/src/handlers/gestures/forceTouchGesture.ts +74 -0
  326. package/src/handlers/gestures/gesture.ts +292 -0
  327. package/src/handlers/gestures/gestureComposition.ts +109 -0
  328. package/src/handlers/gestures/gestureObjects.ts +79 -0
  329. package/src/handlers/gestures/gestureStateManager.ts +60 -0
  330. package/src/handlers/gestures/longPressGesture.ts +27 -0
  331. package/src/handlers/gestures/manualGesture.ts +31 -0
  332. package/src/handlers/gestures/nativeGesture.ts +27 -0
  333. package/src/handlers/gestures/panGesture.ts +147 -0
  334. package/src/handlers/gestures/pinchGesture.ts +51 -0
  335. package/src/handlers/gestures/reanimatedWrapper.ts +45 -0
  336. package/src/handlers/gestures/rotationGesture.ts +51 -0
  337. package/src/handlers/gestures/tapGesture.ts +52 -0
  338. package/src/handlers/handlersRegistry.ts +22 -0
  339. package/src/index.ts +57 -17
  340. package/src/init.ts +5 -0
  341. package/src/mocks.ts +42 -2
  342. package/src/utils.ts +7 -0
  343. package/src/web/GestureHandler.ts +1 -2
  344. package/src/web/NodeManager.ts +5 -0
  345. package/android/lib/src/main/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.java +0 -23
  346. package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.java +0 -110
  347. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.java +0 -531
  348. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.java +0 -8
  349. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.java +0 -543
  350. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistry.java +0 -10
  351. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.java +0 -29
  352. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureUtils.java +0 -53
  353. package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.java +0 -81
  354. package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.java +0 -110
  355. package/android/lib/src/main/java/com/swmansion/gesturehandler/OnTouchEventListener.java +0 -8
  356. package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.java +0 -312
  357. package/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.java +0 -109
  358. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureDetector.java +0 -169
  359. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureHandler.java +0 -96
  360. package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.java +0 -172
  361. package/android/lib/src/main/java/com/swmansion/gesturehandler/ViewConfigurationHelper.java +0 -10
  362. package/android/src/main/java/com/facebook/react/views/modal/RNGHModalUtils.java +0 -21
  363. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.java +0 -296
  364. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.java +0 -72
  365. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.java +0 -77
  366. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.java +0 -8
  367. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.java +0 -86
  368. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.java +0 -731
  369. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.java +0 -31
  370. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.java +0 -101
  371. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.java +0 -151
  372. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.java +0 -7
  373. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.java +0 -76
  374. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.java +0 -49
  375. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.java +0 -82
  376. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.java +0 -61
  377. package/lib/commonjs/handlers/gestureHandlers.js +0 -236
  378. package/lib/commonjs/handlers/gestureHandlers.js.map +0 -1
  379. package/lib/module/handlers/gestureHandlers.js +0 -216
  380. package/lib/module/handlers/gestureHandlers.js.map +0 -1
  381. package/lib/typescript/handlers/gestureHandlers.d.ts +0 -158
  382. package/src/handlers/gestureHandlers.ts +0 -511
@@ -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,7 @@
1
+ import { GestureUpdateEvent } from '../gestureHandlerCommon';
2
+ import { ContinousBaseGesture } from './gesture';
3
+ export declare class ManualGesture extends ContinousBaseGesture<Record<string, never>, Record<string, never>> {
4
+ constructor();
5
+ onChange(callback: (event: GestureUpdateEvent<Record<string, never>>) => void): this;
6
+ }
7
+ 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,26 @@
1
+ import { BaseGestureConfig, ContinousBaseGesture } from './gesture';
2
+ import { GestureUpdateEvent } from '../gestureHandlerCommon';
3
+ import { PanGestureConfig, PanGestureHandlerEventPayload } from '../PanGestureHandler';
4
+ declare type PanGestureChangeEventPayload = {
5
+ changeX: number;
6
+ changeY: number;
7
+ };
8
+ export declare class PanGesture extends ContinousBaseGesture<PanGestureHandlerEventPayload, PanGestureChangeEventPayload> {
9
+ config: BaseGestureConfig & PanGestureConfig;
10
+ constructor();
11
+ activeOffsetY(offset: number | number[]): this;
12
+ activeOffsetX(offset: number | number[]): this;
13
+ failOffsetY(offset: number | number[]): this;
14
+ failOffsetX(offset: number | number[]): this;
15
+ minPointers(minPointers: number): this;
16
+ maxPointers(maxPointers: number): this;
17
+ minDistance(distance: number): this;
18
+ minVelocity(velocity: number): this;
19
+ minVelocityX(velocity: number): this;
20
+ minVelocityY(velocity: number): this;
21
+ averageTouches(value: boolean): this;
22
+ enableTrackpadTwoFingerGesture(value: boolean): this;
23
+ onChange(callback: (event: GestureUpdateEvent<PanGestureHandlerEventPayload & PanGestureChangeEventPayload>) => void): this;
24
+ }
25
+ export declare type PanGestureType = InstanceType<typeof PanGesture>;
26
+ export {};
@@ -0,0 +1,12 @@
1
+ import { ContinousBaseGesture } from './gesture';
2
+ import { PinchGestureHandlerEventPayload } from '../PinchGestureHandler';
3
+ import { GestureUpdateEvent } from '../gestureHandlerCommon';
4
+ declare type PinchGestureChangeEventPayload = {
5
+ scaleChange: number;
6
+ };
7
+ export declare class PinchGesture extends ContinousBaseGesture<PinchGestureHandlerEventPayload, PinchGestureChangeEventPayload> {
8
+ constructor();
9
+ onChange(callback: (event: GestureUpdateEvent<PinchGestureHandlerEventPayload & PinchGestureChangeEventPayload>) => void): this;
10
+ }
11
+ export declare type PinchGestureType = InstanceType<typeof PinchGesture>;
12
+ export {};
@@ -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,12 @@
1
+ import { ContinousBaseGesture } from './gesture';
2
+ import { RotationGestureHandlerEventPayload } from '../RotationGestureHandler';
3
+ import { GestureUpdateEvent } from '../gestureHandlerCommon';
4
+ declare type RotationGestureChangeEventPayload = {
5
+ rotationChange: number;
6
+ };
7
+ export declare class RotationGesture extends ContinousBaseGesture<RotationGestureHandlerEventPayload, RotationGestureChangeEventPayload> {
8
+ constructor();
9
+ onChange(callback: (event: GestureUpdateEvent<RotationGestureHandlerEventPayload & RotationGestureChangeEventPayload>) => void): this;
10
+ }
11
+ export declare type RotationGestureType = InstanceType<typeof RotationGesture>;
12
+ export {};
@@ -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 {
@@ -1,4 +1,3 @@
1
- /// <reference types="hammerjs" />
2
1
  import DiscreteGestureHandler from './DiscreteGestureHandler';
3
2
  import { HammerInputExt } from './GestureHandler';
4
3
  declare class TapGestureHandler extends DiscreteGestureHandler {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-gesture-handler",
3
- "version": "1.10.3",
3
+ "version": "2.1.2",
4
4
  "description": "Experimental implementation of a new declarative API for gesture handling in react-native",
5
5
  "scripts": {
6
6
  "prepare": "bob build",
@@ -22,10 +22,12 @@
22
22
  "!**/__fixtures__",
23
23
  "!**/__mocks__",
24
24
  "android/build.gradle",
25
+ "android/gradle.properties",
25
26
  "android/src/main/AndroidManifest.xml",
26
27
  "android/src/main/java/",
27
28
  "android/lib/build.gradle",
28
29
  "android/lib/src/main/java/",
30
+ "android/common/src/main/java/",
29
31
  "ios/",
30
32
  "Swipeable/",
31
33
  "DrawerLayout/",
@@ -49,9 +51,9 @@
49
51
  "homepage": "https://github.com/software-mansion/react-native-gesture-handler#readme",
50
52
  "dependencies": {
51
53
  "@egjs/hammerjs": "^2.0.17",
52
- "fbjs": "^3.0.0",
53
54
  "hoist-non-react-statics": "^3.3.0",
54
55
  "invariant": "^2.2.4",
56
+ "lodash": "^4.17.21",
55
57
  "prop-types": "^15.7.2"
56
58
  },
57
59
  "jest": {
@@ -66,11 +68,11 @@
66
68
  "@babel/preset-env": "^7.12.11",
67
69
  "@babel/preset-typescript": "^7.12.7",
68
70
  "@babel/runtime": "^7.12.5",
71
+ "@types/hammerjs": "^2.0.38",
69
72
  "@types/hoist-non-react-statics": "^3.3.1",
70
73
  "@types/jest": "^26.0.19",
71
- "@types/hammerjs": "^2.0.38",
72
74
  "@types/react": "^17.0.0",
73
- "@types/react-native": "^0.63.49",
75
+ "@types/react-native": "^0.64.2",
74
76
  "@types/react-test-renderer": "^17.0.0",
75
77
  "@typescript-eslint/eslint-plugin": "^4.10.0",
76
78
  "@typescript-eslint/parser": "^4.10.0",
@@ -89,8 +91,9 @@
89
91
  "prettier": "^2.2.1",
90
92
  "react": "^16.8.6",
91
93
  "react-dom": "^16.12.0",
92
- "react-native": "^0.63.4",
94
+ "react-native": "^0.64.0",
93
95
  "react-native-builder-bob": "^0.17.1",
96
+ "react-native-reanimated": "^2.0.0",
94
97
  "react-native-web": "^0.11.7",
95
98
  "react-test-renderer": "16.8.6",
96
99
  "release-it": "^13.6.5",
@@ -0,0 +1,10 @@
1
+ export const EventType = {
2
+ UNDETERMINED: 0,
3
+ TOUCHES_DOWN: 1,
4
+ TOUCHES_MOVE: 2,
5
+ TOUCHES_UP: 3,
6
+ TOUCHES_CANCELLED: 4,
7
+ } as const;
8
+
9
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; it can be used as a type and as a value
10
+ export type EventType = typeof EventType[keyof typeof EventType];
@@ -1,34 +1,18 @@
1
1
  import * as React from 'react';
2
- import { PropsWithChildren } from 'react';
3
- import { View, requireNativeComponent } from 'react-native';
2
+ import { requireNativeComponent } from 'react-native';
3
+ import { GestureHandlerRootViewProps } from './GestureHandlerRootView';
4
4
 
5
5
  const GestureHandlerRootViewNative = requireNativeComponent(
6
6
  'GestureHandlerRootView'
7
7
  );
8
8
 
9
- const GestureHandlerRootViewContext = React.createContext(false);
10
-
11
- type Props = PropsWithChildren<Record<string, unknown>>;
12
-
13
- export default function GestureHandlerRootView({ children, ...rest }: Props) {
9
+ export default function GestureHandlerRootView({
10
+ children,
11
+ ...rest
12
+ }: GestureHandlerRootViewProps) {
14
13
  return (
15
- <GestureHandlerRootViewContext.Consumer>
16
- {(available) => {
17
- if (available) {
18
- // If we already have a parent wrapped in the gesture handler root view,
19
- // We don't need to wrap it again in root view
20
- // We still wrap it in a normal view so our styling stays the same
21
- return <View {...rest}>{children}</View>;
22
- }
23
-
24
- return (
25
- <GestureHandlerRootViewContext.Provider value>
26
- <GestureHandlerRootViewNative {...rest}>
27
- {children}
28
- </GestureHandlerRootViewNative>
29
- </GestureHandlerRootViewContext.Provider>
30
- );
31
- }}
32
- </GestureHandlerRootViewContext.Consumer>
14
+ <GestureHandlerRootViewNative {...rest}>
15
+ {children}
16
+ </GestureHandlerRootViewNative>
33
17
  );
34
18
  }
@@ -1,3 +1,12 @@
1
- import { View } from 'react-native';
1
+ import * as React from 'react';
2
+ import { PropsWithChildren } from 'react';
3
+ import { View, ViewProps } from 'react-native';
2
4
 
3
- export default View;
5
+ export interface GestureHandlerRootViewProps
6
+ extends PropsWithChildren<ViewProps> {}
7
+
8
+ export default function GestureHandlerRootView({
9
+ ...rest
10
+ }: GestureHandlerRootViewProps) {
11
+ return <View {...rest} />;
12
+ }
@@ -20,7 +20,11 @@ export type RNGestureHandlerModuleProps = {
20
20
  handlerTag: number,
21
21
  config: Readonly<Record<string, unknown>>
22
22
  ) => void;
23
- attachGestureHandler: (handlerTag: number, newView: number) => void;
23
+ attachGestureHandler: (
24
+ handlerTag: number,
25
+ newView: number,
26
+ usingDeviceEvents: boolean
27
+ ) => void;
24
28
  updateGestureHandler: (
25
29
  handlerTag: number,
26
30
  newConfig: Readonly<Record<string, unknown>>
@@ -44,6 +44,7 @@ export default {
44
44
  attachGestureHandler(
45
45
  handlerTag: number,
46
46
  newView: number,
47
+ _usingDeviceEvents: boolean,
47
48
  propsRef: React.RefObject<unknown>
48
49
  ) {
49
50
  NodeManager.getHandler(handlerTag).setView(newView, propsRef);