react-native-gesture-handler 2.4.1 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (382) hide show
  1. package/README.md +4 -2
  2. package/RNGestureHandler.podspec +17 -5
  3. package/android/build.gradle +71 -15
  4. package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.kt +2 -1
  5. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.kt +9 -5
  6. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.kt +32 -6
  7. package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.kt +5 -2
  8. package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.kt +105 -23
  9. package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.kt +30 -2
  10. package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.kt +3 -2
  11. package/android/src/fabric/java/com/swmansion/gesturehandler/RNGestureHandlerComponentsRegistry.java +1 -1
  12. package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +0 -8
  13. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +74 -84
  14. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +7 -1
  15. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +5 -1
  16. package/android/src/main/jni/CMakeLists.txt +59 -0
  17. package/android/src/paper/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +12 -9
  18. package/android/src/paper/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +1 -0
  19. package/ios/Handlers/RNFlingHandler.m +43 -1
  20. package/ios/Handlers/{RNNativeViewHandler.m → RNNativeViewHandler.mm} +13 -1
  21. package/ios/Handlers/RNPanHandler.m +27 -0
  22. package/ios/RNGestureHandler.h +1 -0
  23. package/ios/RNGestureHandler.m +22 -4
  24. package/ios/RNGestureHandlerButtonComponentView.mm +1 -1
  25. package/ios/RNGestureHandlerManager.mm +10 -7
  26. package/ios/RNGestureHandlerModule.mm +4 -1
  27. package/ios/RNGestureHandlerRootViewComponentView.mm +1 -1
  28. package/ios/RNManualActivationRecognizer.m +10 -3
  29. package/ios/RNRootViewGestureRecognizer.m +12 -1
  30. package/lib/commonjs/EnableExperimentalWebImplementation.js +24 -0
  31. package/lib/commonjs/EnableExperimentalWebImplementation.js.map +1 -0
  32. package/lib/commonjs/RNGestureHandlerModule.macos.js +138 -0
  33. package/lib/commonjs/RNGestureHandlerModule.macos.js.map +1 -0
  34. package/lib/commonjs/RNGestureHandlerModule.web.js +87 -25
  35. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  36. package/lib/commonjs/RNRenderer.js +16 -0
  37. package/lib/commonjs/RNRenderer.js.map +1 -0
  38. package/lib/commonjs/RNRenderer.web.js +11 -0
  39. package/lib/commonjs/RNRenderer.web.js.map +1 -0
  40. package/lib/commonjs/components/DrawerLayout.js +41 -12
  41. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  42. package/lib/commonjs/components/GestureButtons.js +42 -9
  43. package/lib/commonjs/components/GestureButtons.js.map +1 -1
  44. package/lib/commonjs/components/GestureComponents.js +41 -4
  45. package/lib/commonjs/components/GestureComponents.js.map +1 -1
  46. package/lib/commonjs/components/GestureComponents.web.js +7 -2
  47. package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
  48. package/lib/commonjs/components/Swipeable.js +3 -1
  49. package/lib/commonjs/components/Swipeable.js.map +1 -1
  50. package/lib/commonjs/components/touchables/GenericTouchable.js +5 -1
  51. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
  52. package/lib/commonjs/fabric/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  53. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +2 -1
  54. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
  55. package/lib/commonjs/handlers/PanGestureHandler.js +1 -1
  56. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
  57. package/lib/commonjs/handlers/PressabilityDebugView.js +14 -0
  58. package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -0
  59. package/lib/commonjs/handlers/PressabilityDebugView.web.js +12 -0
  60. package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -0
  61. package/lib/commonjs/handlers/createHandler.js +33 -12
  62. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  63. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  64. package/lib/commonjs/handlers/gestures/GestureDetector.js +150 -75
  65. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -1
  66. package/lib/commonjs/handlers/gestures/gesture.js +13 -2
  67. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  68. package/lib/commonjs/handlers/gestures/gestureStateManager.js +13 -9
  69. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
  70. package/lib/commonjs/handlers/gestures/panGesture.js +5 -0
  71. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
  72. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +7 -0
  73. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
  74. package/lib/commonjs/index.js +14 -0
  75. package/lib/commonjs/index.js.map +1 -1
  76. package/lib/commonjs/utils.js +6 -3
  77. package/lib/commonjs/utils.js.map +1 -1
  78. package/lib/commonjs/web/constants.js +3 -51
  79. package/lib/commonjs/web/constants.js.map +1 -1
  80. package/lib/commonjs/web/detectors/RotationGestureDetector.js +169 -0
  81. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -0
  82. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +167 -0
  83. package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -0
  84. package/lib/commonjs/web/handlers/FlingGestureHandler.js +154 -0
  85. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -0
  86. package/lib/commonjs/web/handlers/GestureHandler.js +538 -0
  87. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -0
  88. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +147 -0
  89. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -0
  90. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +116 -0
  91. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -0
  92. package/lib/commonjs/web/handlers/PanGestureHandler.js +451 -0
  93. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -0
  94. package/lib/commonjs/web/handlers/PinchGestureHandler.js +171 -0
  95. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -0
  96. package/lib/commonjs/web/handlers/RotationGestureHandler.js +187 -0
  97. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -0
  98. package/lib/commonjs/web/handlers/TapGestureHandler.js +296 -0
  99. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -0
  100. package/lib/commonjs/web/interfaces.js +34 -0
  101. package/lib/commonjs/web/interfaces.js.map +1 -0
  102. package/lib/commonjs/web/tools/EventManager.js +169 -0
  103. package/lib/commonjs/web/tools/EventManager.js.map +1 -0
  104. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +283 -0
  105. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -0
  106. package/lib/commonjs/web/tools/InteractionManager.js +102 -0
  107. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -0
  108. package/lib/commonjs/web/tools/NodeManager.js +48 -0
  109. package/lib/commonjs/web/tools/NodeManager.js.map +1 -0
  110. package/lib/commonjs/web/tools/PointerTracker.js +132 -0
  111. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -0
  112. package/lib/commonjs/{web → web_hammer}/DiscreteGestureHandler.js +0 -0
  113. package/lib/commonjs/{web → web_hammer}/DiscreteGestureHandler.js.map +0 -0
  114. package/lib/commonjs/{web → web_hammer}/DraggingGestureHandler.js +0 -0
  115. package/lib/commonjs/{web → web_hammer}/DraggingGestureHandler.js.map +0 -0
  116. package/lib/commonjs/{web → web_hammer}/Errors.js +0 -0
  117. package/lib/commonjs/{web → web_hammer}/Errors.js.map +0 -0
  118. package/lib/commonjs/{web → web_hammer}/FlingGestureHandler.js +0 -0
  119. package/lib/commonjs/{web → web_hammer}/FlingGestureHandler.js.map +0 -0
  120. package/lib/commonjs/{web → web_hammer}/GestureHandler.js +83 -42
  121. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -0
  122. package/lib/commonjs/{web → web_hammer}/IndiscreteGestureHandler.js +0 -0
  123. package/lib/commonjs/{web → web_hammer}/IndiscreteGestureHandler.js.map +0 -0
  124. package/lib/commonjs/{web → web_hammer}/LongPressGestureHandler.js +0 -0
  125. package/lib/commonjs/{web → web_hammer}/LongPressGestureHandler.js.map +0 -0
  126. package/lib/commonjs/{web → web_hammer}/NativeViewGestureHandler.js +4 -0
  127. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -0
  128. package/lib/commonjs/{web → web_hammer}/NodeManager.js +0 -0
  129. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -0
  130. package/lib/commonjs/{web → web_hammer}/PanGestureHandler.js +0 -0
  131. package/lib/commonjs/{web → web_hammer}/PanGestureHandler.js.map +0 -0
  132. package/lib/commonjs/{web → web_hammer}/PinchGestureHandler.js +0 -0
  133. package/lib/commonjs/{web → web_hammer}/PinchGestureHandler.js.map +0 -0
  134. package/lib/commonjs/{web → web_hammer}/PressGestureHandler.js +0 -0
  135. package/lib/commonjs/{web → web_hammer}/PressGestureHandler.js.map +0 -0
  136. package/lib/commonjs/{web → web_hammer}/RotationGestureHandler.js +0 -0
  137. package/lib/commonjs/{web → web_hammer}/RotationGestureHandler.js.map +0 -0
  138. package/lib/commonjs/{web → web_hammer}/TapGestureHandler.js +0 -0
  139. package/lib/commonjs/{web → web_hammer}/TapGestureHandler.js.map +0 -0
  140. package/lib/commonjs/web_hammer/constants.js +64 -0
  141. package/lib/commonjs/web_hammer/constants.js.map +1 -0
  142. package/lib/commonjs/{web → web_hammer}/utils.js +0 -0
  143. package/lib/commonjs/{web → web_hammer}/utils.js.map +1 -1
  144. package/lib/module/EnableExperimentalWebImplementation.js +15 -0
  145. package/lib/module/EnableExperimentalWebImplementation.js.map +1 -0
  146. package/lib/module/RNGestureHandlerModule.macos.js +102 -0
  147. package/lib/module/RNGestureHandlerModule.macos.js.map +1 -0
  148. package/lib/module/RNGestureHandlerModule.web.js +73 -24
  149. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  150. package/lib/module/RNRenderer.js +4 -0
  151. package/lib/module/RNRenderer.js.map +1 -0
  152. package/lib/module/RNRenderer.web.js +4 -0
  153. package/lib/module/RNRenderer.web.js.map +1 -0
  154. package/lib/module/components/DrawerLayout.js +41 -12
  155. package/lib/module/components/DrawerLayout.js.map +1 -1
  156. package/lib/module/components/GestureButtons.js +43 -9
  157. package/lib/module/components/GestureButtons.js.map +1 -1
  158. package/lib/module/components/GestureComponents.js +39 -4
  159. package/lib/module/components/GestureComponents.js.map +1 -1
  160. package/lib/module/components/GestureComponents.web.js +6 -2
  161. package/lib/module/components/GestureComponents.web.js.map +1 -1
  162. package/lib/module/components/Swipeable.js +3 -1
  163. package/lib/module/components/Swipeable.js.map +1 -1
  164. package/lib/module/components/touchables/GenericTouchable.js +5 -1
  165. package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
  166. package/lib/module/fabric/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  167. package/lib/module/handlers/ForceTouchGestureHandler.js +1 -1
  168. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
  169. package/lib/module/handlers/PanGestureHandler.js +1 -1
  170. package/lib/module/handlers/PanGestureHandler.js.map +1 -1
  171. package/lib/module/handlers/PressabilityDebugView.js +3 -0
  172. package/lib/module/handlers/PressabilityDebugView.js.map +1 -0
  173. package/lib/module/handlers/PressabilityDebugView.web.js +5 -0
  174. package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -0
  175. package/lib/module/handlers/createHandler.js +35 -14
  176. package/lib/module/handlers/createHandler.js.map +1 -1
  177. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  178. package/lib/module/handlers/gestures/GestureDetector.js +147 -74
  179. package/lib/module/handlers/gestures/GestureDetector.js.map +1 -1
  180. package/lib/module/handlers/gestures/gesture.js +13 -2
  181. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  182. package/lib/module/handlers/gestures/gestureStateManager.js +13 -9
  183. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
  184. package/lib/module/handlers/gestures/panGesture.js +5 -0
  185. package/lib/module/handlers/gestures/panGesture.js.map +1 -1
  186. package/lib/module/handlers/gestures/reanimatedWrapper.js +7 -0
  187. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
  188. package/lib/module/index.js +2 -1
  189. package/lib/module/index.js.map +1 -1
  190. package/lib/module/utils.js +2 -1
  191. package/lib/module/utils.js.map +1 -1
  192. package/lib/module/web/constants.js +1 -36
  193. package/lib/module/web/constants.js.map +1 -1
  194. package/lib/module/web/detectors/RotationGestureDetector.js +159 -0
  195. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -0
  196. package/lib/module/web/detectors/ScaleGestureDetector.js +156 -0
  197. package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -0
  198. package/lib/module/web/handlers/FlingGestureHandler.js +139 -0
  199. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -0
  200. package/lib/module/web/handlers/GestureHandler.js +521 -0
  201. package/lib/module/web/handlers/GestureHandler.js.map +1 -0
  202. package/lib/module/web/handlers/LongPressGestureHandler.js +133 -0
  203. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -0
  204. package/lib/module/web/handlers/NativeViewGestureHandler.js +103 -0
  205. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -0
  206. package/lib/module/web/handlers/PanGestureHandler.js +434 -0
  207. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -0
  208. package/lib/module/web/handlers/PinchGestureHandler.js +155 -0
  209. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -0
  210. package/lib/module/web/handlers/RotationGestureHandler.js +171 -0
  211. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -0
  212. package/lib/module/web/handlers/TapGestureHandler.js +281 -0
  213. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -0
  214. package/lib/module/web/interfaces.js +26 -0
  215. package/lib/module/web/interfaces.js.map +1 -0
  216. package/lib/module/web/tools/EventManager.js +160 -0
  217. package/lib/module/web/tools/EventManager.js.map +1 -0
  218. package/lib/module/web/tools/GestureHandlerOrchestrator.js +270 -0
  219. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -0
  220. package/lib/module/web/tools/InteractionManager.js +93 -0
  221. package/lib/module/web/tools/InteractionManager.js.map +1 -0
  222. package/lib/module/web/tools/NodeManager.js +39 -0
  223. package/lib/module/web/tools/NodeManager.js.map +1 -0
  224. package/lib/module/web/tools/PointerTracker.js +122 -0
  225. package/lib/module/web/tools/PointerTracker.js.map +1 -0
  226. package/lib/module/{web → web_hammer}/DiscreteGestureHandler.js +0 -0
  227. package/lib/module/{web → web_hammer}/DiscreteGestureHandler.js.map +0 -0
  228. package/lib/module/{web → web_hammer}/DraggingGestureHandler.js +0 -0
  229. package/lib/module/{web → web_hammer}/DraggingGestureHandler.js.map +0 -0
  230. package/lib/module/{web → web_hammer}/Errors.js +0 -0
  231. package/lib/module/{web → web_hammer}/Errors.js.map +0 -0
  232. package/lib/module/{web → web_hammer}/FlingGestureHandler.js +0 -0
  233. package/lib/module/{web → web_hammer}/FlingGestureHandler.js.map +0 -0
  234. package/lib/module/{web → web_hammer}/GestureHandler.js +83 -42
  235. package/lib/module/web_hammer/GestureHandler.js.map +1 -0
  236. package/lib/module/{web → web_hammer}/IndiscreteGestureHandler.js +0 -0
  237. package/lib/module/{web → web_hammer}/IndiscreteGestureHandler.js.map +0 -0
  238. package/lib/module/{web → web_hammer}/LongPressGestureHandler.js +0 -0
  239. package/lib/module/{web → web_hammer}/LongPressGestureHandler.js.map +0 -0
  240. package/lib/module/{web → web_hammer}/NativeViewGestureHandler.js +4 -0
  241. package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -0
  242. package/lib/module/{web → web_hammer}/NodeManager.js +0 -0
  243. package/lib/module/web_hammer/NodeManager.js.map +1 -0
  244. package/lib/module/{web → web_hammer}/PanGestureHandler.js +0 -0
  245. package/lib/module/{web → web_hammer}/PanGestureHandler.js.map +0 -0
  246. package/lib/module/{web → web_hammer}/PinchGestureHandler.js +0 -0
  247. package/lib/module/{web → web_hammer}/PinchGestureHandler.js.map +0 -0
  248. package/lib/module/{web → web_hammer}/PressGestureHandler.js +0 -0
  249. package/lib/module/{web → web_hammer}/PressGestureHandler.js.map +0 -0
  250. package/lib/module/{web → web_hammer}/RotationGestureHandler.js +0 -0
  251. package/lib/module/{web → web_hammer}/RotationGestureHandler.js.map +0 -0
  252. package/lib/module/{web → web_hammer}/TapGestureHandler.js +0 -0
  253. package/lib/module/{web → web_hammer}/TapGestureHandler.js.map +0 -0
  254. package/lib/module/web_hammer/constants.js +43 -0
  255. package/lib/module/web_hammer/constants.js.map +1 -0
  256. package/lib/module/{web → web_hammer}/utils.js +0 -0
  257. package/lib/module/{web → web_hammer}/utils.js.map +1 -1
  258. package/lib/typescript/EnableExperimentalWebImplementation.d.ts +2 -0
  259. package/lib/typescript/RNGestureHandlerModule.macos.d.ts +44 -0
  260. package/lib/typescript/RNGestureHandlerModule.web.d.ts +29 -18
  261. package/lib/typescript/RNRenderer.d.ts +1 -0
  262. package/lib/typescript/RNRenderer.web.d.ts +3 -0
  263. package/lib/typescript/components/DrawerLayout.d.ts +4 -1
  264. package/lib/typescript/components/GestureButtons.d.ts +22 -0
  265. package/lib/typescript/components/GestureComponents.d.ts +7 -3
  266. package/lib/typescript/components/GestureComponents.web.d.ts +1 -0
  267. package/lib/typescript/components/Swipeable.d.ts +1 -1
  268. package/lib/typescript/fabric/RNGestureHandlerButtonNativeComponent.d.ts +1 -0
  269. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +2 -2
  270. package/lib/typescript/handlers/PanGestureHandler.d.ts +2 -1
  271. package/lib/typescript/handlers/PressabilityDebugView.d.ts +1 -0
  272. package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +1 -0
  273. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +1 -0
  274. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +2 -1
  275. package/lib/typescript/handlers/gestures/gesture.d.ts +3 -0
  276. package/lib/typescript/handlers/gestures/panGesture.d.ts +1 -0
  277. package/lib/typescript/index.d.ts +2 -1
  278. package/lib/typescript/web/constants.d.ts +1 -33
  279. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +30 -0
  280. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +30 -0
  281. package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +31 -0
  282. package/lib/typescript/web/handlers/GestureHandler.d.ts +84 -0
  283. package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +33 -0
  284. package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +16 -0
  285. package/lib/typescript/web/handlers/PanGestureHandler.d.ts +68 -0
  286. package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +30 -0
  287. package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +30 -0
  288. package/lib/typescript/web/handlers/TapGestureHandler.d.ts +49 -0
  289. package/lib/typescript/web/interfaces.d.ts +97 -0
  290. package/lib/typescript/web/tools/EventManager.d.ts +28 -0
  291. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +28 -0
  292. package/lib/typescript/web/tools/InteractionManager.d.ts +13 -0
  293. package/lib/typescript/web/tools/NodeManager.d.ts +11 -0
  294. package/lib/typescript/web/tools/PointerTracker.d.ts +28 -0
  295. package/lib/typescript/{web → web_hammer}/DiscreteGestureHandler.d.ts +0 -0
  296. package/lib/typescript/{web → web_hammer}/DraggingGestureHandler.d.ts +0 -0
  297. package/lib/typescript/{web → web_hammer}/Errors.d.ts +0 -0
  298. package/lib/typescript/{web → web_hammer}/FlingGestureHandler.d.ts +1 -0
  299. package/lib/typescript/{web → web_hammer}/GestureHandler.d.ts +6 -0
  300. package/lib/typescript/{web → web_hammer}/IndiscreteGestureHandler.d.ts +1 -0
  301. package/lib/typescript/{web → web_hammer}/LongPressGestureHandler.d.ts +1 -0
  302. package/lib/typescript/{web → web_hammer}/NativeViewGestureHandler.d.ts +1 -0
  303. package/lib/typescript/web_hammer/NodeManager.d.ts +8 -0
  304. package/lib/typescript/{web → web_hammer}/PanGestureHandler.d.ts +1 -0
  305. package/lib/typescript/{web → web_hammer}/PinchGestureHandler.d.ts +0 -0
  306. package/lib/typescript/{web → web_hammer}/PressGestureHandler.d.ts +2 -0
  307. package/lib/typescript/{web → web_hammer}/RotationGestureHandler.d.ts +0 -0
  308. package/lib/typescript/{web → web_hammer}/TapGestureHandler.d.ts +1 -0
  309. package/lib/typescript/web_hammer/constants.d.ts +39 -0
  310. package/lib/typescript/{web → web_hammer}/utils.d.ts +0 -0
  311. package/package.json +1 -1
  312. package/src/EnableExperimentalWebImplementation.ts +18 -0
  313. package/src/RNGestureHandlerModule.macos.ts +114 -0
  314. package/src/RNGestureHandlerModule.web.ts +89 -26
  315. package/src/RNRenderer.ts +3 -0
  316. package/src/RNRenderer.web.ts +3 -0
  317. package/src/components/DrawerLayout.tsx +37 -14
  318. package/src/components/GestureButtons.tsx +64 -0
  319. package/src/components/GestureComponents.tsx +66 -6
  320. package/src/components/GestureComponents.web.tsx +5 -0
  321. package/src/components/Swipeable.tsx +3 -1
  322. package/src/components/touchables/GenericTouchable.tsx +2 -0
  323. package/src/fabric/RNGestureHandlerButtonNativeComponent.ts +1 -0
  324. package/src/handlers/ForceTouchGestureHandler.ts +3 -2
  325. package/src/handlers/PanGestureHandler.ts +2 -0
  326. package/src/handlers/PressabilityDebugView.tsx +2 -0
  327. package/src/handlers/PressabilityDebugView.web.tsx +4 -0
  328. package/src/handlers/{createHandler.ts → createHandler.tsx} +45 -19
  329. package/src/handlers/gestureHandlerCommon.ts +2 -0
  330. package/src/handlers/gestures/GestureDetector.tsx +185 -93
  331. package/src/handlers/gestures/gesture.ts +16 -0
  332. package/src/handlers/gestures/gestureStateManager.ts +13 -8
  333. package/src/handlers/gestures/panGesture.ts +5 -0
  334. package/src/handlers/gestures/reanimatedWrapper.ts +7 -0
  335. package/src/index.ts +3 -0
  336. package/src/utils.ts +3 -1
  337. package/src/web/constants.ts +1 -41
  338. package/src/web/detectors/RotationGestureDetector.ts +199 -0
  339. package/src/web/detectors/ScaleGestureDetector.ts +208 -0
  340. package/src/web/handlers/FlingGestureHandler.ts +146 -0
  341. package/src/web/handlers/GestureHandler.ts +572 -0
  342. package/src/web/handlers/LongPressGestureHandler.ts +122 -0
  343. package/src/web/handlers/NativeViewGestureHandler.ts +109 -0
  344. package/src/web/handlers/PanGestureHandler.ts +488 -0
  345. package/src/web/handlers/PinchGestureHandler.ts +162 -0
  346. package/src/web/handlers/RotationGestureHandler.ts +181 -0
  347. package/src/web/handlers/TapGestureHandler.ts +275 -0
  348. package/src/web/interfaces.ts +114 -0
  349. package/src/web/tools/EventManager.ts +186 -0
  350. package/src/web/tools/GestureHandlerOrchestrator.ts +329 -0
  351. package/src/web/tools/InteractionManager.ts +108 -0
  352. package/src/web/tools/NodeManager.ts +43 -0
  353. package/src/web/tools/PointerTracker.ts +130 -0
  354. package/src/{web → web_hammer}/DiscreteGestureHandler.ts +0 -0
  355. package/src/{web → web_hammer}/DraggingGestureHandler.ts +0 -0
  356. package/src/{web → web_hammer}/Errors.ts +0 -0
  357. package/src/{web → web_hammer}/FlingGestureHandler.ts +0 -0
  358. package/src/{web → web_hammer}/GestureHandler.ts +102 -55
  359. package/src/{web → web_hammer}/IndiscreteGestureHandler.ts +0 -0
  360. package/src/{web → web_hammer}/LongPressGestureHandler.ts +0 -0
  361. package/src/{web → web_hammer}/NativeViewGestureHandler.ts +4 -0
  362. package/src/{web → web_hammer}/NodeManager.ts +6 -3
  363. package/src/{web → web_hammer}/PanGestureHandler.ts +0 -0
  364. package/src/{web → web_hammer}/PinchGestureHandler.ts +0 -0
  365. package/src/{web → web_hammer}/PressGestureHandler.ts +0 -0
  366. package/src/{web → web_hammer}/RotationGestureHandler.ts +0 -0
  367. package/src/{web → web_hammer}/TapGestureHandler.ts +0 -0
  368. package/src/web_hammer/constants.ts +48 -0
  369. package/src/{web → web_hammer}/utils.ts +1 -1
  370. package/android/src/main/jni/Android.mk +0 -53
  371. package/android/src/main/jni/OnLoad.cpp +0 -9
  372. package/android/src/main/jni/RNGestureHandlerComponentsRegistry.cpp +0 -71
  373. package/android/src/main/jni/RNGestureHandlerComponentsRegistry.h +0 -34
  374. package/ios/RNGestureHandler.xcodeproj/project.xcworkspace/xcuserdata/jakubpiasecki.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  375. package/ios/RNGestureHandler.xcodeproj/xcuserdata/jakubpiasecki.xcuserdatad/xcschemes/xcschememanagement.plist +0 -19
  376. package/lib/commonjs/web/GestureHandler.js.map +0 -1
  377. package/lib/commonjs/web/NativeViewGestureHandler.js.map +0 -1
  378. package/lib/commonjs/web/NodeManager.js.map +0 -1
  379. package/lib/module/web/GestureHandler.js.map +0 -1
  380. package/lib/module/web/NativeViewGestureHandler.js.map +0 -1
  381. package/lib/module/web/NodeManager.js.map +0 -1
  382. package/lib/typescript/web/NodeManager.d.ts +0 -8
@@ -0,0 +1,451 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ var _State = require("../../State");
11
+
12
+ var _constants = require("../constants");
13
+
14
+ var _GestureHandler = _interopRequireDefault(require("./GestureHandler"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+
20
+ const DEFAULT_MIN_POINTERS = 1;
21
+ const DEFAULT_MAX_POINTERS = 10;
22
+ const DEFAULT_MIN_DIST_SQ = _constants.DEFAULT_TOUCH_SLOP * _constants.DEFAULT_TOUCH_SLOP;
23
+
24
+ class PanGestureHandler extends _GestureHandler.default {
25
+ constructor(...args) {
26
+ super(...args);
27
+
28
+ _defineProperty(this, "customActivationProperties", ['activeOffsetXStart', 'activeOffsetXEnd', 'failOffsetXStart', 'failOffsetXEnd', 'activeOffsetYStart', 'activeOffsetYEnd', 'failOffsetYStart', 'failOffsetYEnd', 'minVelocityX', 'minVelocityY']);
29
+
30
+ _defineProperty(this, "velocityX", 0);
31
+
32
+ _defineProperty(this, "velocityY", 0);
33
+
34
+ _defineProperty(this, "minDistSq", DEFAULT_MIN_DIST_SQ);
35
+
36
+ _defineProperty(this, "activeOffsetXStart", -Number.MAX_SAFE_INTEGER);
37
+
38
+ _defineProperty(this, "activeOffsetXEnd", Number.MIN_SAFE_INTEGER);
39
+
40
+ _defineProperty(this, "failOffsetXStart", Number.MIN_SAFE_INTEGER);
41
+
42
+ _defineProperty(this, "failOffsetXEnd", Number.MAX_SAFE_INTEGER);
43
+
44
+ _defineProperty(this, "activeOffsetYStart", Number.MAX_SAFE_INTEGER);
45
+
46
+ _defineProperty(this, "activeOffsetYEnd", Number.MIN_SAFE_INTEGER);
47
+
48
+ _defineProperty(this, "failOffsetYStart", Number.MIN_SAFE_INTEGER);
49
+
50
+ _defineProperty(this, "failOffsetYEnd", Number.MAX_SAFE_INTEGER);
51
+
52
+ _defineProperty(this, "minVelocityX", Number.MAX_SAFE_INTEGER);
53
+
54
+ _defineProperty(this, "minVelocityY", Number.MAX_SAFE_INTEGER);
55
+
56
+ _defineProperty(this, "minVelocitySq", Number.MAX_SAFE_INTEGER);
57
+
58
+ _defineProperty(this, "minPointers", 1);
59
+
60
+ _defineProperty(this, "maxPointers", 10);
61
+
62
+ _defineProperty(this, "startX", 0);
63
+
64
+ _defineProperty(this, "startY", 0);
65
+
66
+ _defineProperty(this, "offsetX", 0);
67
+
68
+ _defineProperty(this, "offsetY", 0);
69
+
70
+ _defineProperty(this, "lastX", 0);
71
+
72
+ _defineProperty(this, "lastY", 0);
73
+
74
+ _defineProperty(this, "activateAfterLongPress", 0);
75
+ }
76
+
77
+ init(ref, propsRef) {
78
+ super.init(ref, propsRef);
79
+ }
80
+
81
+ updateGestureConfig({
82
+ enabled = true,
83
+ ...props
84
+ }) {
85
+ this.resetConfig();
86
+ super.updateGestureConfig({
87
+ enabled: enabled,
88
+ ...props
89
+ });
90
+ this.checkCustomActivationCriteria(this.customActivationProperties);
91
+ this.enabled = enabled;
92
+
93
+ if (this.config.minDist !== undefined) {
94
+ this.minDistSq = this.config.minDist * this.config.minDist;
95
+ } else if (this.hasCustomActivationCriteria) {
96
+ this.minDistSq = Number.MAX_SAFE_INTEGER;
97
+ }
98
+
99
+ if (this.config.minPointers !== undefined) {
100
+ this.minPointers = this.config.minPointers;
101
+ }
102
+
103
+ if (this.config.maxPointers !== undefined) {
104
+ this.maxPointers = this.config.maxPointers;
105
+ }
106
+
107
+ if (this.config.minVelocity !== undefined) {
108
+ this.minVelocityX = this.config.minVelocity;
109
+ this.minVelocityY = this.config.minVelocity;
110
+ }
111
+
112
+ if (this.config.minVelocityX !== undefined) {
113
+ this.minVelocityX = this.config.minVelocityX;
114
+ }
115
+
116
+ if (this.config.minVelocityY !== undefined) {
117
+ this.minVelocityY = this.config.minVelocityY;
118
+ }
119
+
120
+ if (this.config.shouldCancelWhenOutside) {
121
+ this.setShouldCancelWhenOutside(false);
122
+ }
123
+
124
+ if (this.config.activeOffsetXStart !== undefined) {
125
+ this.activeOffsetXStart = this.config.activeOffsetXStart;
126
+
127
+ if (this.config.activeOffsetXEnd === undefined) {
128
+ this.activeOffsetXEnd = Number.MAX_SAFE_INTEGER;
129
+ }
130
+ }
131
+
132
+ if (this.config.activeOffsetXEnd !== undefined) {
133
+ this.activeOffsetXEnd = this.config.activeOffsetXEnd;
134
+
135
+ if (this.config.activeOffsetXStart === undefined) {
136
+ this.activeOffsetXStart = Number.MIN_SAFE_INTEGER;
137
+ }
138
+ }
139
+
140
+ if (this.config.failOffsetXStart !== undefined) {
141
+ this.failOffsetXStart = this.config.failOffsetXStart;
142
+
143
+ if (this.config.failOffsetXEnd === undefined) {
144
+ this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;
145
+ }
146
+ }
147
+
148
+ if (this.config.failOffsetXEnd !== undefined) {
149
+ this.failOffsetXEnd = this.config.failOffsetXEnd;
150
+
151
+ if (this.config.failOffsetXStart === undefined) {
152
+ this.failOffsetXStart = Number.MIN_SAFE_INTEGER;
153
+ }
154
+ }
155
+
156
+ if (this.config.activeOffsetYStart !== undefined) {
157
+ this.activeOffsetYStart = this.config.activeOffsetYStart;
158
+
159
+ if (this.config.activeOffsetYEnd === undefined) {
160
+ this.activeOffsetYEnd = Number.MAX_SAFE_INTEGER;
161
+ }
162
+ }
163
+
164
+ if (this.config.activeOffsetYEnd !== undefined) {
165
+ this.activeOffsetYEnd = this.config.activeOffsetYEnd;
166
+
167
+ if (this.config.activeOffsetYStart === undefined) {
168
+ this.activeOffsetYStart = Number.MIN_SAFE_INTEGER;
169
+ }
170
+ }
171
+
172
+ if (this.config.failOffsetYStart !== undefined) {
173
+ this.failOffsetYStart = this.config.failOffsetYStart;
174
+
175
+ if (this.config.failOffsetYEnd === undefined) {
176
+ this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;
177
+ }
178
+ }
179
+
180
+ if (this.config.failOffsetYEnd !== undefined) {
181
+ this.failOffsetYEnd = this.config.failOffsetYEnd;
182
+
183
+ if (this.config.failOffsetYStart === undefined) {
184
+ this.failOffsetYStart = Number.MIN_SAFE_INTEGER;
185
+ }
186
+ }
187
+ }
188
+
189
+ resetConfig() {
190
+ super.resetConfig();
191
+ this.activeOffsetXStart = -Number.MAX_SAFE_INTEGER;
192
+ this.activeOffsetXEnd = Number.MIN_SAFE_INTEGER;
193
+ this.failOffsetXStart = Number.MIN_SAFE_INTEGER;
194
+ this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;
195
+ this.activeOffsetYStart = Number.MAX_SAFE_INTEGER;
196
+ this.activeOffsetYEnd = Number.MIN_SAFE_INTEGER;
197
+ this.failOffsetYStart = Number.MIN_SAFE_INTEGER;
198
+ this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;
199
+ this.minVelocityX = Number.MAX_SAFE_INTEGER;
200
+ this.minVelocityY = Number.MAX_SAFE_INTEGER;
201
+ this.minVelocitySq = Number.MAX_SAFE_INTEGER;
202
+ this.minDistSq = DEFAULT_MIN_DIST_SQ;
203
+ this.minPointers = DEFAULT_MIN_POINTERS;
204
+ this.maxPointers = DEFAULT_MAX_POINTERS;
205
+ this.activateAfterLongPress = 0;
206
+ }
207
+
208
+ transformNativeEvent(event) {
209
+ if (!this.view) {
210
+ return {};
211
+ }
212
+
213
+ const ratio = _reactNative.PixelRatio.get();
214
+
215
+ return {
216
+ translationX: this.getTranslationX(),
217
+ translationY: this.getTranslationY(),
218
+ absoluteX: event.x,
219
+ absoluteY: event.y,
220
+ velocityX: this.velocityX * ratio * 10,
221
+ velocityY: this.velocityY * ratio * 10,
222
+ x: event.offsetX,
223
+ y: event.offsetY
224
+ };
225
+ }
226
+
227
+ getTranslationX() {
228
+ return this.lastX - this.startX + this.offsetX;
229
+ }
230
+
231
+ getTranslationY() {
232
+ return this.lastY - this.startY + this.offsetY;
233
+ } //EventsHandling
234
+
235
+
236
+ onPointerDown(event) {
237
+ super.onPointerDown(event);
238
+ this.tracker.addToTracker(event);
239
+
240
+ if (this.tracker.getTrackedPointersCount() > 1) {
241
+ this.onPointerAdd(event);
242
+ return;
243
+ }
244
+
245
+ this.lastX = this.tracker.getLastAvgX();
246
+ this.lastY = this.tracker.getLastAvgY();
247
+ this.tryBegin(event);
248
+ this.checkBegan(event);
249
+ }
250
+
251
+ onPointerAdd(event) {
252
+ this.tryBegin(event);
253
+ this.offsetX += this.lastX - this.startX;
254
+ this.offsetY += this.lastY - this.startY;
255
+ this.lastX = this.tracker.getLastAvgX();
256
+ this.lastY = this.tracker.getLastAvgY();
257
+ this.startX = this.lastX;
258
+ this.startY = this.lastY;
259
+
260
+ if (this.tracker.getTrackedPointersCount() > this.maxPointers) {
261
+ if (this.currentState === _State.State.ACTIVE) {
262
+ this.cancel(event);
263
+ } else {
264
+ this.fail(event);
265
+ }
266
+ } else {
267
+ this.checkBegan(event);
268
+ }
269
+ }
270
+
271
+ onPointerUp(event) {
272
+ super.onPointerUp(event);
273
+
274
+ if (this.tracker.getTrackedPointersCount() > 1) {
275
+ this.tracker.removeFromTracker(event.pointerId);
276
+ this.onPointerRemove(event);
277
+ return;
278
+ }
279
+
280
+ if (this.currentState === _State.State.ACTIVE) {
281
+ this.lastX = this.tracker.getLastAvgX();
282
+ this.lastY = this.tracker.getLastAvgY();
283
+ }
284
+
285
+ this.tracker.removeFromTracker(event.pointerId);
286
+
287
+ if (this.currentState === _State.State.ACTIVE) {
288
+ this.end(event);
289
+ } else {
290
+ this.resetProgress();
291
+ this.fail(event);
292
+ }
293
+ }
294
+
295
+ onPointerRemove(event) {
296
+ this.offsetX += this.lastX - this.startX;
297
+ this.offsetY += this.lastY - this.startY;
298
+ this.lastX = this.tracker.getLastAvgX();
299
+ this.lastY = this.tracker.getLastAvgY();
300
+ this.startX = this.lastX;
301
+ this.startY = this.lastY;
302
+
303
+ if (!(this.currentState === _State.State.ACTIVE && this.tracker.getTrackedPointersCount() < this.minPointers)) {
304
+ this.checkBegan(event);
305
+ }
306
+ }
307
+
308
+ onPointerMove(event) {
309
+ this.tracker.track(event);
310
+ this.lastX = this.tracker.getLastAvgX();
311
+ this.lastY = this.tracker.getLastAvgY();
312
+ this.velocityX = this.tracker.getVelocityX(event.pointerId);
313
+ this.velocityY = this.tracker.getVelocityY(event.pointerId);
314
+ this.checkBegan(event);
315
+ super.onPointerMove(event);
316
+ }
317
+
318
+ onPointerCancel(event) {
319
+ super.onPointerCancel(event);
320
+ this.reset();
321
+ }
322
+
323
+ onPointerOutOfBounds(event) {
324
+ if (this.getShouldCancelWhenOutside()) {
325
+ return;
326
+ }
327
+
328
+ this.tracker.track(event);
329
+ this.lastX = this.tracker.getLastAvgX();
330
+ this.lastY = this.tracker.getLastAvgY();
331
+ this.velocityX = this.tracker.getVelocityX(event.pointerId);
332
+ this.velocityY = this.tracker.getVelocityY(event.pointerId);
333
+ this.checkBegan(event);
334
+
335
+ if (this.currentState === _State.State.ACTIVE) {
336
+ super.onPointerOutOfBounds(event);
337
+ }
338
+ }
339
+
340
+ shouldActivate() {
341
+ const dx = this.getTranslationX();
342
+
343
+ if (this.activeOffsetXStart !== Number.MAX_SAFE_INTEGER && dx < this.activeOffsetXStart) {
344
+ return true;
345
+ }
346
+
347
+ if (this.activeOffsetXEnd !== Number.MIN_SAFE_INTEGER && dx > this.activeOffsetXEnd) {
348
+ return true;
349
+ }
350
+
351
+ const dy = this.getTranslationY();
352
+
353
+ if (this.activeOffsetYStart !== Number.MAX_SAFE_INTEGER && dy < this.activeOffsetYStart) {
354
+ return true;
355
+ }
356
+
357
+ if (this.activeOffsetYEnd !== Number.MIN_SAFE_INTEGER && dy > this.activeOffsetYEnd) {
358
+ return true;
359
+ }
360
+
361
+ const distanceSq = dx * dx + dy * dy;
362
+
363
+ if (this.minDistSq !== Number.MAX_SAFE_INTEGER && distanceSq >= this.minDistSq) {
364
+ return true;
365
+ }
366
+
367
+ const vx = this.velocityX;
368
+
369
+ if (this.minVelocityX !== Number.MAX_SAFE_INTEGER && (this.minVelocityX < 0 && vx <= this.minVelocityX || this.minVelocityX >= 0 && this.minVelocityX <= vx)) {
370
+ return true;
371
+ }
372
+
373
+ const vy = this.velocityY;
374
+
375
+ if (this.minVelocityY !== Number.MAX_SAFE_INTEGER && (this.minVelocityY < 0 && vy <= this.minVelocityY || this.minVelocityY >= 0 && this.minVelocityY <= vy)) {
376
+ return true;
377
+ }
378
+
379
+ const velocitySq = vx * vx + vy * vy;
380
+ return this.minVelocitySq !== Number.MAX_SAFE_INTEGER && velocitySq >= this.minVelocitySq;
381
+ }
382
+
383
+ shouldFail() {
384
+ const dx = this.getTranslationX();
385
+ const dy = this.getTranslationY();
386
+ const distanceSq = dx * dx + dy * dy;
387
+
388
+ if (this.activateAfterLongPress > 0 && distanceSq > DEFAULT_MIN_DIST_SQ) {
389
+ return true;
390
+ }
391
+
392
+ if (this.failOffsetXStart !== Number.MIN_SAFE_INTEGER && dx < this.failOffsetXStart) {
393
+ return true;
394
+ }
395
+
396
+ if (this.failOffsetXEnd !== Number.MAX_SAFE_INTEGER && dx > this.failOffsetXEnd) {
397
+ return true;
398
+ }
399
+
400
+ if (this.failOffsetYStart !== Number.MIN_SAFE_INTEGER && dy < this.failOffsetYStart) {
401
+ return true;
402
+ }
403
+
404
+ return this.failOffsetYEnd !== Number.MAX_SAFE_INTEGER && dy > this.failOffsetYEnd;
405
+ }
406
+
407
+ tryBegin(event) {
408
+ if (this.currentState === _State.State.UNDETERMINED && this.tracker.getTrackedPointersCount() >= this.minPointers) {
409
+ this.resetProgress();
410
+ this.offsetX = 0;
411
+ this.offsetY = 0;
412
+ this.velocityX = 0;
413
+ this.velocityY = 0;
414
+ this.begin(event); //Long press
415
+ } else {
416
+ this.velocityX = this.tracker.getVelocityX(event.pointerId);
417
+ this.velocityY = this.tracker.getVelocityY(event.pointerId);
418
+ }
419
+ }
420
+
421
+ checkBegan(event) {
422
+ if (this.currentState === _State.State.BEGAN) {
423
+ if (this.shouldFail()) {
424
+ this.fail(event);
425
+ } else if (this.shouldActivate()) {
426
+ this.activate(event);
427
+ }
428
+ }
429
+ }
430
+
431
+ activate(event, force = false) {
432
+ if (this.currentState !== _State.State.ACTIVE) {
433
+ this.resetProgress();
434
+ }
435
+
436
+ super.activate(event, force);
437
+ }
438
+
439
+ resetProgress() {
440
+ if (this.currentState === _State.State.ACTIVE) {
441
+ return;
442
+ }
443
+
444
+ this.startX = this.lastX;
445
+ this.startY = this.lastY;
446
+ }
447
+
448
+ }
449
+
450
+ exports.default = PanGestureHandler;
451
+ //# sourceMappingURL=PanGestureHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["PanGestureHandler.ts"],"names":["DEFAULT_MIN_POINTERS","DEFAULT_MAX_POINTERS","DEFAULT_MIN_DIST_SQ","DEFAULT_TOUCH_SLOP","PanGestureHandler","GestureHandler","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","init","ref","propsRef","updateGestureConfig","enabled","props","resetConfig","checkCustomActivationCriteria","customActivationProperties","config","minDist","undefined","minDistSq","hasCustomActivationCriteria","minPointers","maxPointers","minVelocity","minVelocityX","minVelocityY","shouldCancelWhenOutside","setShouldCancelWhenOutside","activeOffsetXStart","activeOffsetXEnd","failOffsetXStart","failOffsetXEnd","activeOffsetYStart","activeOffsetYEnd","failOffsetYStart","failOffsetYEnd","minVelocitySq","activateAfterLongPress","transformNativeEvent","event","view","ratio","PixelRatio","get","translationX","getTranslationX","translationY","getTranslationY","absoluteX","x","absoluteY","y","velocityX","velocityY","offsetX","offsetY","lastX","startX","lastY","startY","onPointerDown","tracker","addToTracker","getTrackedPointersCount","onPointerAdd","getLastAvgX","getLastAvgY","tryBegin","checkBegan","currentState","State","ACTIVE","cancel","fail","onPointerUp","removeFromTracker","pointerId","onPointerRemove","end","resetProgress","onPointerMove","track","getVelocityX","getVelocityY","onPointerCancel","reset","onPointerOutOfBounds","getShouldCancelWhenOutside","shouldActivate","dx","dy","distanceSq","vx","vy","velocitySq","shouldFail","UNDETERMINED","begin","BEGAN","activate","force"],"mappings":"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","sourcesContent":["import { PixelRatio } from 'react-native';\nimport { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedPointerEvent } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MIN_POINTERS = 1;\nconst DEFAULT_MAX_POINTERS = 10;\nconst DEFAULT_MIN_DIST_SQ = DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP;\n\nexport default class PanGestureHandler extends GestureHandler {\n private readonly customActivationProperties: string[] = [\n 'activeOffsetXStart',\n 'activeOffsetXEnd',\n 'failOffsetXStart',\n 'failOffsetXEnd',\n 'activeOffsetYStart',\n 'activeOffsetYEnd',\n 'failOffsetYStart',\n 'failOffsetYEnd',\n 'minVelocityX',\n 'minVelocityY',\n ];\n\n public velocityX = 0;\n public velocityY = 0;\n\n private minDistSq = DEFAULT_MIN_DIST_SQ;\n\n private activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n private activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetXStart = Number.MIN_SAFE_INTEGER;\n private failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n private activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n private activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetYStart = Number.MIN_SAFE_INTEGER;\n private failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n private minVelocityX = Number.MAX_SAFE_INTEGER;\n private minVelocityY = Number.MAX_SAFE_INTEGER;\n private minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n private minPointers = 1;\n private maxPointers = 10;\n\n private startX = 0;\n private startY = 0;\n private offsetX = 0;\n private offsetY = 0;\n private lastX = 0;\n private lastY = 0;\n\n // TODO: Implement logic required for activateAfterLongPress\n private activateAfterLongPress = 0;\n\n public init(ref: number, propsRef: React.RefObject<unknown>): void {\n super.init(ref, propsRef);\n }\n\n public updateGestureConfig({ enabled = true, ...props }): void {\n this.resetConfig();\n\n super.updateGestureConfig({ enabled: enabled, ...props });\n this.checkCustomActivationCriteria(this.customActivationProperties);\n\n this.enabled = enabled;\n\n if (this.config.minDist !== undefined) {\n this.minDistSq = this.config.minDist * this.config.minDist;\n } else if (this.hasCustomActivationCriteria) {\n this.minDistSq = Number.MAX_SAFE_INTEGER;\n }\n\n if (this.config.minPointers !== undefined) {\n this.minPointers = this.config.minPointers;\n }\n\n if (this.config.maxPointers !== undefined) {\n this.maxPointers = this.config.maxPointers;\n }\n\n if (this.config.minVelocity !== undefined) {\n this.minVelocityX = this.config.minVelocity;\n this.minVelocityY = this.config.minVelocity;\n }\n\n if (this.config.minVelocityX !== undefined) {\n this.minVelocityX = this.config.minVelocityX;\n }\n\n if (this.config.minVelocityY !== undefined) {\n this.minVelocityY = this.config.minVelocityY;\n }\n\n if (this.config.shouldCancelWhenOutside) {\n this.setShouldCancelWhenOutside(false);\n }\n\n if (this.config.activeOffsetXStart !== undefined) {\n this.activeOffsetXStart = this.config.activeOffsetXStart;\n\n if (this.config.activeOffsetXEnd === undefined) {\n this.activeOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetXEnd !== undefined) {\n this.activeOffsetXEnd = this.config.activeOffsetXEnd;\n\n if (this.config.activeOffsetXStart === undefined) {\n this.activeOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXStart !== undefined) {\n this.failOffsetXStart = this.config.failOffsetXStart;\n\n if (this.config.failOffsetXEnd === undefined) {\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXEnd !== undefined) {\n this.failOffsetXEnd = this.config.failOffsetXEnd;\n\n if (this.config.failOffsetXStart === undefined) {\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYStart !== undefined) {\n this.activeOffsetYStart = this.config.activeOffsetYStart;\n\n if (this.config.activeOffsetYEnd === undefined) {\n this.activeOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYEnd !== undefined) {\n this.activeOffsetYEnd = this.config.activeOffsetYEnd;\n\n if (this.config.activeOffsetYStart === undefined) {\n this.activeOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYStart !== undefined) {\n this.failOffsetYStart = this.config.failOffsetYStart;\n\n if (this.config.failOffsetYEnd === undefined) {\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYEnd !== undefined) {\n this.failOffsetYEnd = this.config.failOffsetYEnd;\n\n if (this.config.failOffsetYStart === undefined) {\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n\n this.activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n this.activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n this.activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n this.activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n this.minVelocityX = Number.MAX_SAFE_INTEGER;\n this.minVelocityY = Number.MAX_SAFE_INTEGER;\n this.minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n this.minDistSq = DEFAULT_MIN_DIST_SQ;\n\n this.minPointers = DEFAULT_MIN_POINTERS;\n this.maxPointers = DEFAULT_MAX_POINTERS;\n\n this.activateAfterLongPress = 0;\n }\n\n protected transformNativeEvent(event: AdaptedPointerEvent) {\n if (!this.view) {\n return {};\n }\n\n const ratio = PixelRatio.get();\n\n return {\n translationX: this.getTranslationX(),\n translationY: this.getTranslationY(),\n absoluteX: event.x,\n absoluteY: event.y,\n velocityX: this.velocityX * ratio * 10,\n velocityY: this.velocityY * ratio * 10,\n x: event.offsetX,\n y: event.offsetY,\n };\n }\n\n private getTranslationX(): number {\n return this.lastX - this.startX + this.offsetX;\n }\n private getTranslationY(): number {\n return this.lastY - this.startY + this.offsetY;\n }\n\n //EventsHandling\n protected onPointerDown(event: AdaptedPointerEvent): void {\n super.onPointerDown(event);\n this.tracker.addToTracker(event);\n\n if (this.tracker.getTrackedPointersCount() > 1) {\n this.onPointerAdd(event);\n return;\n }\n\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n\n this.tryBegin(event);\n this.checkBegan(event);\n }\n protected onPointerAdd(event: AdaptedPointerEvent): void {\n this.tryBegin(event);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (this.tracker.getTrackedPointersCount() > this.maxPointers) {\n if (this.currentState === State.ACTIVE) {\n this.cancel(event);\n } else {\n this.fail(event);\n }\n } else {\n this.checkBegan(event);\n }\n }\n\n protected onPointerUp(event: AdaptedPointerEvent): void {\n super.onPointerUp(event);\n\n if (this.tracker.getTrackedPointersCount() > 1) {\n this.tracker.removeFromTracker(event.pointerId);\n\n this.onPointerRemove(event);\n return;\n }\n\n if (this.currentState === State.ACTIVE) {\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n }\n\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.currentState === State.ACTIVE) {\n this.end(event);\n } else {\n this.resetProgress();\n this.fail(event);\n }\n }\n protected onPointerRemove(event: AdaptedPointerEvent): void {\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (\n !(\n this.currentState === State.ACTIVE &&\n this.tracker.getTrackedPointersCount() < this.minPointers\n )\n ) {\n this.checkBegan(event);\n }\n }\n\n protected onPointerMove(event: AdaptedPointerEvent): void {\n this.tracker.track(event);\n\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n this.velocityX = this.tracker.getVelocityX(event.pointerId);\n this.velocityY = this.tracker.getVelocityY(event.pointerId);\n\n this.checkBegan(event);\n\n super.onPointerMove(event);\n }\n\n protected onPointerCancel(event: AdaptedPointerEvent): void {\n super.onPointerCancel(event);\n\n this.reset();\n }\n protected onPointerOutOfBounds(event: AdaptedPointerEvent): void {\n if (this.getShouldCancelWhenOutside()) {\n return;\n }\n\n this.tracker.track(event);\n\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n this.velocityX = this.tracker.getVelocityX(event.pointerId);\n this.velocityY = this.tracker.getVelocityY(event.pointerId);\n\n this.checkBegan(event);\n\n if (this.currentState === State.ACTIVE) {\n super.onPointerOutOfBounds(event);\n }\n }\n\n private shouldActivate(): boolean {\n const dx: number = this.getTranslationX();\n\n if (\n this.activeOffsetXStart !== Number.MAX_SAFE_INTEGER &&\n dx < this.activeOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetXEnd !== Number.MIN_SAFE_INTEGER &&\n dx > this.activeOffsetXEnd\n ) {\n return true;\n }\n\n const dy: number = this.getTranslationY();\n\n if (\n this.activeOffsetYStart !== Number.MAX_SAFE_INTEGER &&\n dy < this.activeOffsetYStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetYEnd !== Number.MIN_SAFE_INTEGER &&\n dy > this.activeOffsetYEnd\n ) {\n return true;\n }\n\n const distanceSq: number = dx * dx + dy * dy;\n\n if (\n this.minDistSq !== Number.MAX_SAFE_INTEGER &&\n distanceSq >= this.minDistSq\n ) {\n return true;\n }\n\n const vx: number = this.velocityX;\n\n if (\n this.minVelocityX !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityX < 0 && vx <= this.minVelocityX) ||\n (this.minVelocityX >= 0 && this.minVelocityX <= vx))\n ) {\n return true;\n }\n\n const vy: number = this.velocityY;\n if (\n this.minVelocityY !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityY < 0 && vy <= this.minVelocityY) ||\n (this.minVelocityY >= 0 && this.minVelocityY <= vy))\n ) {\n return true;\n }\n\n const velocitySq: number = vx * vx + vy * vy;\n\n return (\n this.minVelocitySq !== Number.MAX_SAFE_INTEGER &&\n velocitySq >= this.minVelocitySq\n );\n }\n\n private shouldFail(): boolean {\n const dx: number = this.getTranslationX();\n const dy: number = this.getTranslationY();\n const distanceSq = dx * dx + dy * dy;\n\n if (this.activateAfterLongPress > 0 && distanceSq > DEFAULT_MIN_DIST_SQ) {\n return true;\n }\n\n if (\n this.failOffsetXStart !== Number.MIN_SAFE_INTEGER &&\n dx < this.failOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.failOffsetXEnd !== Number.MAX_SAFE_INTEGER &&\n dx > this.failOffsetXEnd\n ) {\n return true;\n }\n\n if (\n this.failOffsetYStart !== Number.MIN_SAFE_INTEGER &&\n dy < this.failOffsetYStart\n ) {\n return true;\n }\n\n return (\n this.failOffsetYEnd !== Number.MAX_SAFE_INTEGER &&\n dy > this.failOffsetYEnd\n );\n }\n\n private tryBegin(event: AdaptedPointerEvent): void {\n if (\n this.currentState === State.UNDETERMINED &&\n this.tracker.getTrackedPointersCount() >= this.minPointers\n ) {\n this.resetProgress();\n this.offsetX = 0;\n this.offsetY = 0;\n this.velocityX = 0;\n this.velocityY = 0;\n\n this.begin(event);\n\n //Long press\n } else {\n this.velocityX = this.tracker.getVelocityX(event.pointerId);\n this.velocityY = this.tracker.getVelocityY(event.pointerId);\n }\n }\n\n private checkBegan(event: AdaptedPointerEvent): void {\n if (this.currentState === State.BEGAN) {\n if (this.shouldFail()) {\n this.fail(event);\n } else if (this.shouldActivate()) {\n this.activate(event);\n }\n }\n }\n\n protected activate(event: AdaptedPointerEvent, force = false): void {\n if (this.currentState !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(event, force);\n }\n\n protected resetProgress(): void {\n if (this.currentState === State.ACTIVE) {\n return;\n }\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n }\n}\n"]}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _State = require("../../State");
9
+
10
+ var _constants = require("../constants");
11
+
12
+ var _interfaces = require("../interfaces");
13
+
14
+ var _GestureHandler = _interopRequireDefault(require("./GestureHandler"));
15
+
16
+ var _ScaleGestureDetector = _interopRequireDefault(require("../detectors/ScaleGestureDetector"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+
22
+ class PinchGestureHandler extends _GestureHandler.default {
23
+ constructor(...args) {
24
+ super(...args);
25
+
26
+ _defineProperty(this, "scale", 1);
27
+
28
+ _defineProperty(this, "velocity", 0);
29
+
30
+ _defineProperty(this, "startingSpan", 0);
31
+
32
+ _defineProperty(this, "spanSlop", 0);
33
+
34
+ _defineProperty(this, "scaleDetectorListener", {
35
+ onScaleBegin: detector => {
36
+ this.startingSpan = detector.getCurrentSpan();
37
+ return true;
38
+ },
39
+ onScale: (detector, event) => {
40
+ const prevScaleFactor = this.scale;
41
+ this.scale *= detector.getScaleFactor(this.tracker.getTrackedPointersCount());
42
+ const delta = detector.getTimeDelta();
43
+
44
+ if (delta > 0) {
45
+ this.velocity = (this.scale - prevScaleFactor) / delta;
46
+ }
47
+
48
+ if (Math.abs(this.startingSpan - detector.getCurrentSpan()) >= this.spanSlop && this.currentState === _State.State.BEGAN) {
49
+ this.activate(event);
50
+ }
51
+
52
+ return true;
53
+ },
54
+ onScaleEnd: (_detector, _event) => {}
55
+ });
56
+
57
+ _defineProperty(this, "scaleGestureDetector", new _ScaleGestureDetector.default(this.scaleDetectorListener));
58
+ }
59
+
60
+ init(ref, propsRef) {
61
+ super.init(ref, propsRef);
62
+ this.setShouldCancelWhenOutside(false);
63
+ this.spanSlop = _constants.DEFAULT_TOUCH_SLOP;
64
+ }
65
+
66
+ updateGestureConfig({
67
+ enabled = true,
68
+ ...props
69
+ }) {
70
+ super.updateGestureConfig({
71
+ enabled: enabled,
72
+ ...props
73
+ });
74
+ this.enabled = enabled;
75
+ }
76
+
77
+ transformNativeEvent(_event) {
78
+ return {
79
+ focalX: this.scaleGestureDetector.getFocusX(),
80
+ focalY: this.scaleGestureDetector.getFocusY(),
81
+ velocity: this.velocity,
82
+ scale: this.scale
83
+ };
84
+ }
85
+
86
+ onPointerDown(event) {
87
+ super.onPointerDown(event);
88
+ this.tracker.addToTracker(event);
89
+
90
+ if (this.tracker.getTrackedPointersCount() < 2) {
91
+ return;
92
+ }
93
+
94
+ if (this.tracker.getTrackedPointersCount() > 1) {
95
+ this.tryBegin(event);
96
+ this.scaleGestureDetector.onTouchEvent(event, this.tracker);
97
+ }
98
+ }
99
+
100
+ onPointerUp(event) {
101
+ if (this.tracker.getTrackedPointersCount() > 1) {
102
+ this.scaleGestureDetector.onTouchEvent(event, this.tracker);
103
+ this.tracker.removeFromTracker(event.pointerId);
104
+ } else {
105
+ this.tracker.removeFromTracker(event.pointerId);
106
+
107
+ if (this.currentState !== _State.State.ACTIVE) {
108
+ return;
109
+ }
110
+
111
+ this.scaleGestureDetector.onTouchEvent(event, this.tracker);
112
+ }
113
+
114
+ if (this.currentState === _State.State.ACTIVE && this.tracker.getTrackedPointersCount() < 2) {
115
+ this.end(event);
116
+ } else if (event.eventType === _interfaces.EventTypes.UP && this.currentState !== _State.State.BEGAN) {
117
+ this.fail(event);
118
+ }
119
+ }
120
+
121
+ onPointerMove(event) {
122
+ if (this.tracker.getTrackedPointersCount() < 2) {
123
+ return;
124
+ }
125
+
126
+ this.tracker.track(event);
127
+ this.scaleGestureDetector.onTouchEvent(event, this.tracker);
128
+ super.onPointerMove(event);
129
+ }
130
+
131
+ onPointerOutOfBounds(_event) {//
132
+ }
133
+
134
+ onPointerCancel(_event) {
135
+ this.reset();
136
+ }
137
+
138
+ tryBegin(event) {
139
+ if (this.currentState !== _State.State.UNDETERMINED) {
140
+ return;
141
+ }
142
+
143
+ this.resetProgress();
144
+ this.begin(event);
145
+ }
146
+
147
+ activate(event, force) {
148
+ if (this.currentState !== _State.State.ACTIVE) {
149
+ this.resetProgress();
150
+ }
151
+
152
+ super.activate(event, force);
153
+ }
154
+
155
+ onReset() {
156
+ this.resetProgress();
157
+ }
158
+
159
+ resetProgress() {
160
+ if (this.currentState === _State.State.ACTIVE) {
161
+ return;
162
+ }
163
+
164
+ this.velocity = 0;
165
+ this.scale = 1;
166
+ }
167
+
168
+ }
169
+
170
+ exports.default = PinchGestureHandler;
171
+ //# sourceMappingURL=PinchGestureHandler.js.map