@amazon-devices/react-native-gesture-handler 2.0.1758683737

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 (848) hide show
  1. package/DrawerLayout/package.json +6 -0
  2. package/LICENSE +7 -0
  3. package/README.kepler.md +167 -0
  4. package/RNGestureHandler.podspec +41 -0
  5. package/Swipeable/package.json +6 -0
  6. package/SystemBundles/88ca607de4fbd504c736d8d5ce354ea9743ea4ae485d956b5af49e9af508e705.bundle +67466 -0
  7. package/SystemBundles/88ca607de4fbd504c736d8d5ce354ea9743ea4ae485d956b5af49e9af508e705.map +1 -0
  8. package/SystemModules/amzn__react-native-gesture-handler-2.modules.txt +338 -0
  9. package/SystemModules/amzn__react-native-gesture-handler-2.private.modules.txt +96 -0
  10. package/SystemModules/keplerscript-system-bundle-config.json +7 -0
  11. package/THIRD_PARTY_NOTICES.txt +578 -0
  12. package/android/build.gradle +205 -0
  13. package/android/common/src/main/java/com/swmansion/common/GestureHandlerStateManager.kt +5 -0
  14. package/android/gradle.properties +19 -0
  15. package/android/noreanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +10 -0
  16. package/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +17 -0
  17. package/android/src/fabric/java/com/swmansion/gesturehandler/RNGestureHandlerComponentsRegistry.java +29 -0
  18. package/android/src/fabric/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +12 -0
  19. package/android/src/main/AndroidManifest.xml +3 -0
  20. package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +21 -0
  21. package/android/src/main/java/com/swmansion/gesturehandler/core/FlingGestureHandler.kt +100 -0
  22. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +807 -0
  23. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerInteractionController.kt +8 -0
  24. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +707 -0
  25. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerRegistry.kt +8 -0
  26. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureUtils.kt +47 -0
  27. package/android/src/main/java/com/swmansion/gesturehandler/core/HoverGestureHandler.kt +120 -0
  28. package/android/src/main/java/com/swmansion/gesturehandler/core/LongPressGestureHandler.kt +100 -0
  29. package/android/src/main/java/com/swmansion/gesturehandler/core/ManualGestureHandler.kt +11 -0
  30. package/android/src/main/java/com/swmansion/gesturehandler/core/NativeViewGestureHandler.kt +257 -0
  31. package/android/src/main/java/com/swmansion/gesturehandler/core/OnTouchEventListener.kt +9 -0
  32. package/android/src/main/java/com/swmansion/gesturehandler/core/PanGestureHandler.kt +322 -0
  33. package/android/src/main/java/com/swmansion/gesturehandler/core/PinchGestureHandler.kt +103 -0
  34. package/android/src/main/java/com/swmansion/gesturehandler/core/PointerEventsConfig.kt +23 -0
  35. package/android/src/main/java/com/swmansion/gesturehandler/core/RotationGestureDetector.kt +125 -0
  36. package/android/src/main/java/com/swmansion/gesturehandler/core/RotationGestureHandler.kt +93 -0
  37. package/android/src/main/java/com/swmansion/gesturehandler/core/ScaleGestureDetector.java +558 -0
  38. package/android/src/main/java/com/swmansion/gesturehandler/core/TapGestureHandler.kt +168 -0
  39. package/android/src/main/java/com/swmansion/gesturehandler/core/ViewConfigurationHelper.kt +10 -0
  40. package/android/src/main/java/com/swmansion/gesturehandler/react/Extensions.kt +16 -0
  41. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +419 -0
  42. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +15 -0
  43. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +77 -0
  44. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.kt +8 -0
  45. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +67 -0
  46. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +756 -0
  47. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +100 -0
  48. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +142 -0
  49. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.kt +5 -0
  50. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +78 -0
  51. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +51 -0
  52. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +72 -0
  53. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +69 -0
  54. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +51 -0
  55. package/android/src/main/jni/CMakeLists.txt +25 -0
  56. package/android/src/main/jni/cpp-adapter.cpp +44 -0
  57. package/android/src/paper/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +50 -0
  58. package/android/src/paper/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +23 -0
  59. package/android/src/paper/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +25 -0
  60. package/android/src/paper/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +16 -0
  61. package/android/src/paper/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +13 -0
  62. package/ios/Handlers/RNFlingHandler.h +4 -0
  63. package/ios/Handlers/RNFlingHandler.m +152 -0
  64. package/ios/Handlers/RNForceTouchHandler.h +4 -0
  65. package/ios/Handlers/RNForceTouchHandler.m +175 -0
  66. package/ios/Handlers/RNHoverHandler.h +12 -0
  67. package/ios/Handlers/RNHoverHandler.m +152 -0
  68. package/ios/Handlers/RNLongPressHandler.h +12 -0
  69. package/ios/Handlers/RNLongPressHandler.m +183 -0
  70. package/ios/Handlers/RNManualHandler.h +4 -0
  71. package/ios/Handlers/RNManualHandler.m +88 -0
  72. package/ios/Handlers/RNNativeViewHandler.h +15 -0
  73. package/ios/Handlers/RNNativeViewHandler.mm +193 -0
  74. package/ios/Handlers/RNPanHandler.h +12 -0
  75. package/ios/Handlers/RNPanHandler.m +331 -0
  76. package/ios/Handlers/RNPinchHandler.h +12 -0
  77. package/ios/Handlers/RNPinchHandler.m +95 -0
  78. package/ios/Handlers/RNRotationHandler.h +12 -0
  79. package/ios/Handlers/RNRotationHandler.m +93 -0
  80. package/ios/Handlers/RNTapHandler.h +12 -0
  81. package/ios/Handlers/RNTapHandler.m +265 -0
  82. package/ios/RNGHTouchEventType.h +9 -0
  83. package/ios/RNGestureHandler.h +90 -0
  84. package/ios/RNGestureHandler.m +482 -0
  85. package/ios/RNGestureHandler.xcodeproj/project.pbxproj +690 -0
  86. package/ios/RNGestureHandler.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  87. package/ios/RNGestureHandlerActionType.h +10 -0
  88. package/ios/RNGestureHandlerButton.h +19 -0
  89. package/ios/RNGestureHandlerButton.m +77 -0
  90. package/ios/RNGestureHandlerButtonComponentView.h +17 -0
  91. package/ios/RNGestureHandlerButtonComponentView.mm +62 -0
  92. package/ios/RNGestureHandlerButtonManager.h +5 -0
  93. package/ios/RNGestureHandlerButtonManager.m +34 -0
  94. package/ios/RNGestureHandlerDirection.h +8 -0
  95. package/ios/RNGestureHandlerEvents.h +65 -0
  96. package/ios/RNGestureHandlerEvents.m +260 -0
  97. package/ios/RNGestureHandlerManager.h +35 -0
  98. package/ios/RNGestureHandlerManager.mm +367 -0
  99. package/ios/RNGestureHandlerModule.h +7 -0
  100. package/ios/RNGestureHandlerModule.mm +320 -0
  101. package/ios/RNGestureHandlerPointerTracker.h +25 -0
  102. package/ios/RNGestureHandlerPointerTracker.m +243 -0
  103. package/ios/RNGestureHandlerRegistry.h +21 -0
  104. package/ios/RNGestureHandlerRegistry.m +63 -0
  105. package/ios/RNGestureHandlerRootViewComponentView.mm +21 -0
  106. package/ios/RNGestureHandlerState.h +10 -0
  107. package/ios/RNGestureHandlerStateManager.h +5 -0
  108. package/ios/RNManualActivationRecognizer.h +10 -0
  109. package/ios/RNManualActivationRecognizer.m +88 -0
  110. package/ios/RNRootViewGestureRecognizer.h +17 -0
  111. package/ios/RNRootViewGestureRecognizer.m +106 -0
  112. package/jest-utils/package.json +6 -0
  113. package/jestSetup.js +7 -0
  114. package/kepler-compatibility.json +8 -0
  115. package/kepler-transformed-package-info.json +3 -0
  116. package/lib/commonjs/ActionType.js +15 -0
  117. package/lib/commonjs/ActionType.js.map +1 -0
  118. package/lib/commonjs/Directions.js +15 -0
  119. package/lib/commonjs/Directions.js.map +1 -0
  120. package/lib/commonjs/EnableNewWebImplementation.js +29 -0
  121. package/lib/commonjs/EnableNewWebImplementation.js.map +1 -0
  122. package/lib/commonjs/GestureHandlerRootViewContext.js +10 -0
  123. package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -0
  124. package/lib/commonjs/PlatformConstants.js +10 -0
  125. package/lib/commonjs/PlatformConstants.js.map +1 -0
  126. package/lib/commonjs/PlatformConstants.web.js +12 -0
  127. package/lib/commonjs/PlatformConstants.web.js.map +1 -0
  128. package/lib/commonjs/RNGestureHandlerModule.js +23 -0
  129. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -0
  130. package/lib/commonjs/RNGestureHandlerModule.kepler.js +33 -0
  131. package/lib/commonjs/RNGestureHandlerModule.kepler.js.map +1 -0
  132. package/lib/commonjs/RNGestureHandlerModule.macos.js +113 -0
  133. package/lib/commonjs/RNGestureHandlerModule.macos.js.map +1 -0
  134. package/lib/commonjs/RNGestureHandlerModule.web.js +123 -0
  135. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -0
  136. package/lib/commonjs/RNGestureHandlerModule.windows.js +121 -0
  137. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -0
  138. package/lib/commonjs/RNRenderer.js +14 -0
  139. package/lib/commonjs/RNRenderer.js.map +1 -0
  140. package/lib/commonjs/RNRenderer.web.js +10 -0
  141. package/lib/commonjs/RNRenderer.web.js.map +1 -0
  142. package/lib/commonjs/State.js +19 -0
  143. package/lib/commonjs/State.js.map +1 -0
  144. package/lib/commonjs/TouchEventType.js +16 -0
  145. package/lib/commonjs/TouchEventType.js.map +1 -0
  146. package/lib/commonjs/components/DrawerLayout.js +512 -0
  147. package/lib/commonjs/components/DrawerLayout.js.map +1 -0
  148. package/lib/commonjs/components/GestureButtons.js +194 -0
  149. package/lib/commonjs/components/GestureButtons.js.map +1 -0
  150. package/lib/commonjs/components/GestureComponents.js +104 -0
  151. package/lib/commonjs/components/GestureComponents.js.map +1 -0
  152. package/lib/commonjs/components/GestureComponents.web.js +38 -0
  153. package/lib/commonjs/components/GestureComponents.web.js.map +1 -0
  154. package/lib/commonjs/components/GestureHandlerButton.js +10 -0
  155. package/lib/commonjs/components/GestureHandlerButton.js.map +1 -0
  156. package/lib/commonjs/components/GestureHandlerButton.web.js +16 -0
  157. package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -0
  158. package/lib/commonjs/components/GestureHandlerRootView.android.js +23 -0
  159. package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -0
  160. package/lib/commonjs/components/GestureHandlerRootView.js +23 -0
  161. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -0
  162. package/lib/commonjs/components/GestureHandlerRootView.kepler.js +18 -0
  163. package/lib/commonjs/components/GestureHandlerRootView.kepler.js.map +1 -0
  164. package/lib/commonjs/components/GestureHandlerRootView.web.js +18 -0
  165. package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -0
  166. package/lib/commonjs/components/Swipeable.js +345 -0
  167. package/lib/commonjs/components/Swipeable.js.map +1 -0
  168. package/lib/commonjs/components/gestureHandlerRootHOC.js +31 -0
  169. package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -0
  170. package/lib/commonjs/components/touchables/GenericTouchable.js +253 -0
  171. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -0
  172. package/lib/commonjs/components/touchables/TouchableHighlight.js +90 -0
  173. package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -0
  174. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +84 -0
  175. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -0
  176. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +9 -0
  177. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -0
  178. package/lib/commonjs/components/touchables/TouchableOpacity.js +64 -0
  179. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -0
  180. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +18 -0
  181. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -0
  182. package/lib/commonjs/components/touchables/index.js +35 -0
  183. package/lib/commonjs/components/touchables/index.js.map +1 -0
  184. package/lib/commonjs/getShadowNodeFromRef.js +27 -0
  185. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -0
  186. package/lib/commonjs/getShadowNodeFromRef.web.js +14 -0
  187. package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -0
  188. package/lib/commonjs/handlers/FlingGestureHandler.js +18 -0
  189. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -0
  190. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +37 -0
  191. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -0
  192. package/lib/commonjs/handlers/LongPressGestureHandler.js +20 -0
  193. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -0
  194. package/lib/commonjs/handlers/NativeViewGestureHandler.js +19 -0
  195. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -0
  196. package/lib/commonjs/handlers/PanGestureHandler.js +99 -0
  197. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -0
  198. package/lib/commonjs/handlers/PinchGestureHandler.js +17 -0
  199. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -0
  200. package/lib/commonjs/handlers/PressabilityDebugView.js +13 -0
  201. package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -0
  202. package/lib/commonjs/handlers/PressabilityDebugView.web.js +11 -0
  203. package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -0
  204. package/lib/commonjs/handlers/RotationGestureHandler.js +17 -0
  205. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -0
  206. package/lib/commonjs/handlers/TapGestureHandler.js +20 -0
  207. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -0
  208. package/lib/commonjs/handlers/createHandler.js +402 -0
  209. package/lib/commonjs/handlers/createHandler.js.map +1 -0
  210. package/lib/commonjs/handlers/createNativeWrapper.js +63 -0
  211. package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -0
  212. package/lib/commonjs/handlers/gestureHandlerCommon.js +86 -0
  213. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -0
  214. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +6 -0
  215. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -0
  216. package/lib/commonjs/handlers/gestures/GestureDetector.js +548 -0
  217. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -0
  218. package/lib/commonjs/handlers/gestures/eventReceiver.js +125 -0
  219. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -0
  220. package/lib/commonjs/handlers/gestures/flingGesture.js +27 -0
  221. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -0
  222. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +54 -0
  223. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -0
  224. package/lib/commonjs/handlers/gestures/gesture.js +196 -0
  225. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -0
  226. package/lib/commonjs/handlers/gestures/gestureComposition.js +90 -0
  227. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -0
  228. package/lib/commonjs/handlers/gestures/gestureObjects.js +73 -0
  229. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -0
  230. package/lib/commonjs/handlers/gestures/gestureStateManager.js +60 -0
  231. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -0
  232. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +27 -0
  233. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -0
  234. package/lib/commonjs/handlers/gestures/hoverGesture.js +60 -0
  235. package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -0
  236. package/lib/commonjs/handlers/gestures/longPressGesture.js +28 -0
  237. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -0
  238. package/lib/commonjs/handlers/gestures/manualGesture.js +25 -0
  239. package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -0
  240. package/lib/commonjs/handlers/gestures/nativeGesture.js +27 -0
  241. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -0
  242. package/lib/commonjs/handlers/gestures/panGesture.js +124 -0
  243. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -0
  244. package/lib/commonjs/handlers/gestures/pinchGesture.js +38 -0
  245. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -0
  246. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +30 -0
  247. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -0
  248. package/lib/commonjs/handlers/gestures/rotationGesture.js +38 -0
  249. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -0
  250. package/lib/commonjs/handlers/gestures/tapGesture.js +48 -0
  251. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -0
  252. package/lib/commonjs/handlers/handlersRegistry.js +52 -0
  253. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -0
  254. package/lib/commonjs/index.js +241 -0
  255. package/lib/commonjs/index.js.map +1 -0
  256. package/lib/commonjs/init.js +25 -0
  257. package/lib/commonjs/init.js.map +1 -0
  258. package/lib/commonjs/jestUtils/index.js +19 -0
  259. package/lib/commonjs/jestUtils/index.js.map +1 -0
  260. package/lib/commonjs/jestUtils/jestUtils.js +312 -0
  261. package/lib/commonjs/jestUtils/jestUtils.js.map +1 -0
  262. package/lib/commonjs/mocks.js +61 -0
  263. package/lib/commonjs/mocks.js.map +1 -0
  264. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +11 -0
  265. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -0
  266. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.kepler.js +20 -0
  267. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.kepler.js.map +1 -0
  268. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +11 -0
  269. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -0
  270. package/lib/commonjs/typeUtils.js +2 -0
  271. package/lib/commonjs/typeUtils.js.map +1 -0
  272. package/lib/commonjs/utils.js +64 -0
  273. package/lib/commonjs/utils.js.map +1 -0
  274. package/lib/commonjs/web/constants.js +14 -0
  275. package/lib/commonjs/web/constants.js.map +1 -0
  276. package/lib/commonjs/web/detectors/RotationGestureDetector.js +129 -0
  277. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -0
  278. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +127 -0
  279. package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -0
  280. package/lib/commonjs/web/handlers/FlingGestureHandler.js +127 -0
  281. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -0
  282. package/lib/commonjs/web/handlers/GestureHandler.js +668 -0
  283. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -0
  284. package/lib/commonjs/web/handlers/HoverGestureHandler.js +48 -0
  285. package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -0
  286. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +119 -0
  287. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -0
  288. package/lib/commonjs/web/handlers/ManualGestureHandler.js +49 -0
  289. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -0
  290. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +140 -0
  291. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -0
  292. package/lib/commonjs/web/handlers/PanGestureHandler.js +347 -0
  293. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -0
  294. package/lib/commonjs/web/handlers/PinchGestureHandler.js +136 -0
  295. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -0
  296. package/lib/commonjs/web/handlers/RotationGestureHandler.js +146 -0
  297. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -0
  298. package/lib/commonjs/web/handlers/TapGestureHandler.js +219 -0
  299. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -0
  300. package/lib/commonjs/web/interfaces.js +44 -0
  301. package/lib/commonjs/web/interfaces.js.map +1 -0
  302. package/lib/commonjs/web/tools/CircularBuffer.js +47 -0
  303. package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -0
  304. package/lib/commonjs/web/tools/EventManager.js +95 -0
  305. package/lib/commonjs/web/tools/EventManager.js.map +1 -0
  306. package/lib/commonjs/web/tools/GestureHandlerDelegate.js +6 -0
  307. package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -0
  308. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +305 -0
  309. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -0
  310. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +93 -0
  311. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -0
  312. package/lib/commonjs/web/tools/InteractionManager.js +99 -0
  313. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -0
  314. package/lib/commonjs/web/tools/LeastSquareSolver.js +167 -0
  315. package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -0
  316. package/lib/commonjs/web/tools/NodeManager.js +41 -0
  317. package/lib/commonjs/web/tools/NodeManager.js.map +1 -0
  318. package/lib/commonjs/web/tools/PointerEventManager.js +171 -0
  319. package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -0
  320. package/lib/commonjs/web/tools/PointerTracker.js +202 -0
  321. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -0
  322. package/lib/commonjs/web/tools/TouchEventManager.js +126 -0
  323. package/lib/commonjs/web/tools/TouchEventManager.js.map +1 -0
  324. package/lib/commonjs/web/tools/VelocityTracker.js +89 -0
  325. package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -0
  326. package/lib/commonjs/web/utils.js +14 -0
  327. package/lib/commonjs/web/utils.js.map +1 -0
  328. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +93 -0
  329. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -0
  330. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +43 -0
  331. package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -0
  332. package/lib/commonjs/web_hammer/Errors.js +13 -0
  333. package/lib/commonjs/web_hammer/Errors.js.map +1 -0
  334. package/lib/commonjs/web_hammer/FlingGestureHandler.js +139 -0
  335. package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -0
  336. package/lib/commonjs/web_hammer/GestureHandler.js +491 -0
  337. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -0
  338. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +45 -0
  339. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -0
  340. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +57 -0
  341. package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -0
  342. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +58 -0
  343. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -0
  344. package/lib/commonjs/web_hammer/NodeManager.js +40 -0
  345. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -0
  346. package/lib/commonjs/web_hammer/PanGestureHandler.js +167 -0
  347. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -0
  348. package/lib/commonjs/web_hammer/PinchGestureHandler.js +31 -0
  349. package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -0
  350. package/lib/commonjs/web_hammer/PressGestureHandler.js +160 -0
  351. package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -0
  352. package/lib/commonjs/web_hammer/RotationGestureHandler.js +33 -0
  353. package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -0
  354. package/lib/commonjs/web_hammer/TapGestureHandler.js +173 -0
  355. package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -0
  356. package/lib/commonjs/web_hammer/constants.js +51 -0
  357. package/lib/commonjs/web_hammer/constants.js.map +1 -0
  358. package/lib/commonjs/web_hammer/utils.js +32 -0
  359. package/lib/commonjs/web_hammer/utils.js.map +1 -0
  360. package/lib/module/ActionType.js +9 -0
  361. package/lib/module/ActionType.js.map +1 -0
  362. package/lib/module/Directions.js +9 -0
  363. package/lib/module/Directions.js.map +1 -0
  364. package/lib/module/EnableNewWebImplementation.js +21 -0
  365. package/lib/module/EnableNewWebImplementation.js.map +1 -0
  366. package/lib/module/GestureHandlerRootViewContext.js +3 -0
  367. package/lib/module/GestureHandlerRootViewContext.js.map +1 -0
  368. package/lib/module/PlatformConstants.js +4 -0
  369. package/lib/module/PlatformConstants.js.map +1 -0
  370. package/lib/module/PlatformConstants.web.js +6 -0
  371. package/lib/module/PlatformConstants.web.js.map +1 -0
  372. package/lib/module/RNGestureHandlerModule.js +17 -0
  373. package/lib/module/RNGestureHandlerModule.js.map +1 -0
  374. package/lib/module/RNGestureHandlerModule.kepler.js +24 -0
  375. package/lib/module/RNGestureHandlerModule.kepler.js.map +1 -0
  376. package/lib/module/RNGestureHandlerModule.macos.js +104 -0
  377. package/lib/module/RNGestureHandlerModule.macos.js.map +1 -0
  378. package/lib/module/RNGestureHandlerModule.web.js +114 -0
  379. package/lib/module/RNGestureHandlerModule.web.js.map +1 -0
  380. package/lib/module/RNGestureHandlerModule.windows.js +112 -0
  381. package/lib/module/RNGestureHandlerModule.windows.js.map +1 -0
  382. package/lib/module/RNRenderer.js +4 -0
  383. package/lib/module/RNRenderer.js.map +1 -0
  384. package/lib/module/RNRenderer.web.js +4 -0
  385. package/lib/module/RNRenderer.web.js.map +1 -0
  386. package/lib/module/State.js +13 -0
  387. package/lib/module/State.js.map +1 -0
  388. package/lib/module/TouchEventType.js +10 -0
  389. package/lib/module/TouchEventType.js.map +1 -0
  390. package/lib/module/components/DrawerLayout.js +504 -0
  391. package/lib/module/components/DrawerLayout.js.map +1 -0
  392. package/lib/module/components/GestureButtons.js +176 -0
  393. package/lib/module/components/GestureButtons.js.map +1 -0
  394. package/lib/module/components/GestureComponents.js +95 -0
  395. package/lib/module/components/GestureComponents.js.map +1 -0
  396. package/lib/module/components/GestureComponents.web.js +28 -0
  397. package/lib/module/components/GestureComponents.web.js.map +1 -0
  398. package/lib/module/components/GestureHandlerButton.js +3 -0
  399. package/lib/module/components/GestureHandlerButton.js.map +1 -0
  400. package/lib/module/components/GestureHandlerButton.web.js +8 -0
  401. package/lib/module/components/GestureHandlerButton.web.js.map +1 -0
  402. package/lib/module/components/GestureHandlerRootView.android.js +14 -0
  403. package/lib/module/components/GestureHandlerRootView.android.js.map +1 -0
  404. package/lib/module/components/GestureHandlerRootView.js +14 -0
  405. package/lib/module/components/GestureHandlerRootView.js.map +1 -0
  406. package/lib/module/components/GestureHandlerRootView.kepler.js +9 -0
  407. package/lib/module/components/GestureHandlerRootView.kepler.js.map +1 -0
  408. package/lib/module/components/GestureHandlerRootView.web.js +9 -0
  409. package/lib/module/components/GestureHandlerRootView.web.js.map +1 -0
  410. package/lib/module/components/Swipeable.js +338 -0
  411. package/lib/module/components/Swipeable.js.map +1 -0
  412. package/lib/module/components/gestureHandlerRootHOC.js +22 -0
  413. package/lib/module/components/gestureHandlerRootHOC.js.map +1 -0
  414. package/lib/module/components/touchables/GenericTouchable.js +244 -0
  415. package/lib/module/components/touchables/GenericTouchable.js.map +1 -0
  416. package/lib/module/components/touchables/TouchableHighlight.js +81 -0
  417. package/lib/module/components/touchables/TouchableHighlight.js.map +1 -0
  418. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +74 -0
  419. package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -0
  420. package/lib/module/components/touchables/TouchableNativeFeedback.js +3 -0
  421. package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -0
  422. package/lib/module/components/touchables/TouchableOpacity.js +55 -0
  423. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -0
  424. package/lib/module/components/touchables/TouchableWithoutFeedback.js +9 -0
  425. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -0
  426. package/lib/module/components/touchables/index.js +5 -0
  427. package/lib/module/components/touchables/index.js.map +1 -0
  428. package/lib/module/getShadowNodeFromRef.js +21 -0
  429. package/lib/module/getShadowNodeFromRef.js.map +1 -0
  430. package/lib/module/getShadowNodeFromRef.web.js +8 -0
  431. package/lib/module/getShadowNodeFromRef.web.js.map +1 -0
  432. package/lib/module/handlers/FlingGestureHandler.js +11 -0
  433. package/lib/module/handlers/FlingGestureHandler.js.map +1 -0
  434. package/lib/module/handlers/ForceTouchGestureHandler.js +30 -0
  435. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -0
  436. package/lib/module/handlers/LongPressGestureHandler.js +13 -0
  437. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -0
  438. package/lib/module/handlers/NativeViewGestureHandler.js +12 -0
  439. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -0
  440. package/lib/module/handlers/PanGestureHandler.js +90 -0
  441. package/lib/module/handlers/PanGestureHandler.js.map +1 -0
  442. package/lib/module/handlers/PinchGestureHandler.js +10 -0
  443. package/lib/module/handlers/PinchGestureHandler.js.map +1 -0
  444. package/lib/module/handlers/PressabilityDebugView.js +3 -0
  445. package/lib/module/handlers/PressabilityDebugView.js.map +1 -0
  446. package/lib/module/handlers/PressabilityDebugView.web.js +5 -0
  447. package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -0
  448. package/lib/module/handlers/RotationGestureHandler.js +10 -0
  449. package/lib/module/handlers/RotationGestureHandler.js.map +1 -0
  450. package/lib/module/handlers/TapGestureHandler.js +13 -0
  451. package/lib/module/handlers/TapGestureHandler.js.map +1 -0
  452. package/lib/module/handlers/createHandler.js +395 -0
  453. package/lib/module/handlers/createHandler.js.map +1 -0
  454. package/lib/module/handlers/createNativeWrapper.js +56 -0
  455. package/lib/module/handlers/createNativeWrapper.js.map +1 -0
  456. package/lib/module/handlers/gestureHandlerCommon.js +76 -0
  457. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -0
  458. package/lib/module/handlers/gestureHandlerTypesCompat.js +2 -0
  459. package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -0
  460. package/lib/module/handlers/gestures/GestureDetector.js +538 -0
  461. package/lib/module/handlers/gestures/GestureDetector.js.map +1 -0
  462. package/lib/module/handlers/gestures/eventReceiver.js +116 -0
  463. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -0
  464. package/lib/module/handlers/gestures/flingGesture.js +20 -0
  465. package/lib/module/handlers/gestures/flingGesture.js.map +1 -0
  466. package/lib/module/handlers/gestures/forceTouchGesture.js +47 -0
  467. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -0
  468. package/lib/module/handlers/gestures/gesture.js +188 -0
  469. package/lib/module/handlers/gestures/gesture.js.map +1 -0
  470. package/lib/module/handlers/gestures/gestureComposition.js +81 -0
  471. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -0
  472. package/lib/module/handlers/gestures/gestureObjects.js +67 -0
  473. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -0
  474. package/lib/module/handlers/gestures/gestureStateManager.js +54 -0
  475. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -0
  476. package/lib/module/handlers/gestures/gestureStateManager.web.js +20 -0
  477. package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -0
  478. package/lib/module/handlers/gestures/hoverGesture.js +53 -0
  479. package/lib/module/handlers/gestures/hoverGesture.js.map +1 -0
  480. package/lib/module/handlers/gestures/longPressGesture.js +21 -0
  481. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -0
  482. package/lib/module/handlers/gestures/manualGesture.js +18 -0
  483. package/lib/module/handlers/gestures/manualGesture.js.map +1 -0
  484. package/lib/module/handlers/gestures/nativeGesture.js +20 -0
  485. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -0
  486. package/lib/module/handlers/gestures/panGesture.js +117 -0
  487. package/lib/module/handlers/gestures/panGesture.js.map +1 -0
  488. package/lib/module/handlers/gestures/pinchGesture.js +31 -0
  489. package/lib/module/handlers/gestures/pinchGesture.js.map +1 -0
  490. package/lib/module/handlers/gestures/reanimatedWrapper.js +25 -0
  491. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -0
  492. package/lib/module/handlers/gestures/rotationGesture.js +31 -0
  493. package/lib/module/handlers/gestures/rotationGesture.js.map +1 -0
  494. package/lib/module/handlers/gestures/tapGesture.js +41 -0
  495. package/lib/module/handlers/gestures/tapGesture.js.map +1 -0
  496. package/lib/module/handlers/handlersRegistry.js +39 -0
  497. package/lib/module/handlers/handlersRegistry.js.map +1 -0
  498. package/lib/module/index.js +25 -0
  499. package/lib/module/index.js.map +1 -0
  500. package/lib/module/init.js +17 -0
  501. package/lib/module/init.js.map +1 -0
  502. package/lib/module/jestUtils/index.js +2 -0
  503. package/lib/module/jestUtils/index.js.map +1 -0
  504. package/lib/module/jestUtils/jestUtils.js +305 -0
  505. package/lib/module/jestUtils/jestUtils.js.map +1 -0
  506. package/lib/module/mocks.js +55 -0
  507. package/lib/module/mocks.js.map +1 -0
  508. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js +4 -0
  509. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -0
  510. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.kepler.js +12 -0
  511. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.kepler.js.map +1 -0
  512. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js +4 -0
  513. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -0
  514. package/lib/module/typeUtils.js +2 -0
  515. package/lib/module/typeUtils.js.map +1 -0
  516. package/lib/module/utils.js +50 -0
  517. package/lib/module/utils.js.map +1 -0
  518. package/lib/module/web/constants.js +8 -0
  519. package/lib/module/web/constants.js.map +1 -0
  520. package/lib/module/web/detectors/RotationGestureDetector.js +122 -0
  521. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -0
  522. package/lib/module/web/detectors/ScaleGestureDetector.js +120 -0
  523. package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -0
  524. package/lib/module/web/handlers/FlingGestureHandler.js +119 -0
  525. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -0
  526. package/lib/module/web/handlers/GestureHandler.js +661 -0
  527. package/lib/module/web/handlers/GestureHandler.js.map +1 -0
  528. package/lib/module/web/handlers/HoverGestureHandler.js +40 -0
  529. package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -0
  530. package/lib/module/web/handlers/LongPressGestureHandler.js +111 -0
  531. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -0
  532. package/lib/module/web/handlers/ManualGestureHandler.js +41 -0
  533. package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -0
  534. package/lib/module/web/handlers/NativeViewGestureHandler.js +132 -0
  535. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -0
  536. package/lib/module/web/handlers/PanGestureHandler.js +339 -0
  537. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -0
  538. package/lib/module/web/handlers/PinchGestureHandler.js +128 -0
  539. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -0
  540. package/lib/module/web/handlers/RotationGestureHandler.js +138 -0
  541. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -0
  542. package/lib/module/web/handlers/TapGestureHandler.js +211 -0
  543. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -0
  544. package/lib/module/web/interfaces.js +38 -0
  545. package/lib/module/web/interfaces.js.map +1 -0
  546. package/lib/module/web/tools/CircularBuffer.js +40 -0
  547. package/lib/module/web/tools/CircularBuffer.js.map +1 -0
  548. package/lib/module/web/tools/EventManager.js +88 -0
  549. package/lib/module/web/tools/EventManager.js.map +1 -0
  550. package/lib/module/web/tools/GestureHandlerDelegate.js +2 -0
  551. package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -0
  552. package/lib/module/web/tools/GestureHandlerOrchestrator.js +297 -0
  553. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -0
  554. package/lib/module/web/tools/GestureHandlerWebDelegate.js +85 -0
  555. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -0
  556. package/lib/module/web/tools/InteractionManager.js +92 -0
  557. package/lib/module/web/tools/InteractionManager.js.map +1 -0
  558. package/lib/module/web/tools/LeastSquareSolver.js +160 -0
  559. package/lib/module/web/tools/LeastSquareSolver.js.map +1 -0
  560. package/lib/module/web/tools/NodeManager.js +34 -0
  561. package/lib/module/web/tools/NodeManager.js.map +1 -0
  562. package/lib/module/web/tools/PointerEventManager.js +163 -0
  563. package/lib/module/web/tools/PointerEventManager.js.map +1 -0
  564. package/lib/module/web/tools/PointerTracker.js +194 -0
  565. package/lib/module/web/tools/PointerTracker.js.map +1 -0
  566. package/lib/module/web/tools/TouchEventManager.js +118 -0
  567. package/lib/module/web/tools/TouchEventManager.js.map +1 -0
  568. package/lib/module/web/tools/VelocityTracker.js +81 -0
  569. package/lib/module/web/tools/VelocityTracker.js.map +1 -0
  570. package/lib/module/web/utils.js +8 -0
  571. package/lib/module/web/utils.js.map +1 -0
  572. package/lib/module/web_hammer/DiscreteGestureHandler.js +85 -0
  573. package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -0
  574. package/lib/module/web_hammer/DraggingGestureHandler.js +35 -0
  575. package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -0
  576. package/lib/module/web_hammer/Errors.js +6 -0
  577. package/lib/module/web_hammer/Errors.js.map +1 -0
  578. package/lib/module/web_hammer/FlingGestureHandler.js +131 -0
  579. package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -0
  580. package/lib/module/web_hammer/GestureHandler.js +485 -0
  581. package/lib/module/web_hammer/GestureHandler.js.map +1 -0
  582. package/lib/module/web_hammer/IndiscreteGestureHandler.js +39 -0
  583. package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -0
  584. package/lib/module/web_hammer/LongPressGestureHandler.js +49 -0
  585. package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -0
  586. package/lib/module/web_hammer/NativeViewGestureHandler.js +49 -0
  587. package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -0
  588. package/lib/module/web_hammer/NodeManager.js +31 -0
  589. package/lib/module/web_hammer/NodeManager.js.map +1 -0
  590. package/lib/module/web_hammer/PanGestureHandler.js +160 -0
  591. package/lib/module/web_hammer/PanGestureHandler.js.map +1 -0
  592. package/lib/module/web_hammer/PinchGestureHandler.js +24 -0
  593. package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -0
  594. package/lib/module/web_hammer/PressGestureHandler.js +153 -0
  595. package/lib/module/web_hammer/PressGestureHandler.js.map +1 -0
  596. package/lib/module/web_hammer/RotationGestureHandler.js +26 -0
  597. package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -0
  598. package/lib/module/web_hammer/TapGestureHandler.js +166 -0
  599. package/lib/module/web_hammer/TapGestureHandler.js.map +1 -0
  600. package/lib/module/web_hammer/constants.js +44 -0
  601. package/lib/module/web_hammer/constants.js.map +1 -0
  602. package/lib/module/web_hammer/utils.js +19 -0
  603. package/lib/module/web_hammer/utils.js.map +1 -0
  604. package/lib/typescript/ActionType.d.ts +7 -0
  605. package/lib/typescript/Directions.d.ts +7 -0
  606. package/lib/typescript/EnableNewWebImplementation.d.ts +3 -0
  607. package/lib/typescript/GestureHandlerRootViewContext.d.ts +3 -0
  608. package/lib/typescript/PlatformConstants.d.ts +5 -0
  609. package/lib/typescript/PlatformConstants.web.d.ts +4 -0
  610. package/lib/typescript/RNGestureHandlerModule.d.ts +13 -0
  611. package/lib/typescript/RNGestureHandlerModule.kepler.d.ts +17 -0
  612. package/lib/typescript/RNGestureHandlerModule.macos.d.ts +47 -0
  613. package/lib/typescript/RNGestureHandlerModule.web.d.ts +50 -0
  614. package/lib/typescript/RNGestureHandlerModule.windows.d.ts +48 -0
  615. package/lib/typescript/RNRenderer.d.ts +1 -0
  616. package/lib/typescript/RNRenderer.web.d.ts +3 -0
  617. package/lib/typescript/State.d.ts +9 -0
  618. package/lib/typescript/TouchEventType.d.ts +8 -0
  619. package/lib/typescript/components/DrawerLayout.d.ts +148 -0
  620. package/lib/typescript/components/GestureButtons.d.ts +121 -0
  621. package/lib/typescript/components/GestureComponents.d.ts +22 -0
  622. package/lib/typescript/components/GestureComponents.web.d.ts +8 -0
  623. package/lib/typescript/components/GestureHandlerButton.d.ts +4 -0
  624. package/lib/typescript/components/GestureHandlerButton.web.d.ts +4 -0
  625. package/lib/typescript/components/GestureHandlerRootView.android.d.ts +6 -0
  626. package/lib/typescript/components/GestureHandlerRootView.d.ts +6 -0
  627. package/lib/typescript/components/GestureHandlerRootView.kepler.d.ts +6 -0
  628. package/lib/typescript/components/GestureHandlerRootView.web.d.ts +6 -0
  629. package/lib/typescript/components/Swipeable.d.ts +170 -0
  630. package/lib/typescript/components/gestureHandlerRootHOC.d.ts +3 -0
  631. package/lib/typescript/components/touchables/GenericTouchable.d.ts +68 -0
  632. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +36 -0
  633. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +45 -0
  634. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +2 -0
  635. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +25 -0
  636. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +7 -0
  637. package/lib/typescript/components/touchables/index.d.ts +7 -0
  638. package/lib/typescript/getShadowNodeFromRef.d.ts +1 -0
  639. package/lib/typescript/getShadowNodeFromRef.web.d.ts +1 -0
  640. package/lib/typescript/handlers/FlingGestureHandler.d.ts +34 -0
  641. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +44 -0
  642. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +56 -0
  643. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +28 -0
  644. package/lib/typescript/handlers/PanGestureHandler.d.ts +139 -0
  645. package/lib/typescript/handlers/PinchGestureHandler.d.ts +29 -0
  646. package/lib/typescript/handlers/PressabilityDebugView.d.ts +1 -0
  647. package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +1 -0
  648. package/lib/typescript/handlers/RotationGestureHandler.d.ts +29 -0
  649. package/lib/typescript/handlers/TapGestureHandler.d.ts +57 -0
  650. package/lib/typescript/handlers/createHandler.d.ts +11 -0
  651. package/lib/typescript/handlers/createNativeWrapper.d.ts +3 -0
  652. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +67 -0
  653. package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +42 -0
  654. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +19 -0
  655. package/lib/typescript/handlers/gestures/eventReceiver.d.ts +4 -0
  656. package/lib/typescript/handlers/gestures/flingGesture.d.ts +9 -0
  657. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +15 -0
  658. package/lib/typescript/handlers/gestures/gesture.d.ts +108 -0
  659. package/lib/typescript/handlers/gestures/gestureComposition.d.ts +21 -0
  660. package/lib/typescript/handlers/gestures/gestureObjects.d.ts +41 -0
  661. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +9 -0
  662. package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +4 -0
  663. package/lib/typescript/handlers/gestures/hoverGesture.d.ts +32 -0
  664. package/lib/typescript/handlers/gestures/longPressGesture.d.ts +9 -0
  665. package/lib/typescript/handlers/gestures/manualGesture.d.ts +7 -0
  666. package/lib/typescript/handlers/gestures/nativeGesture.d.ts +9 -0
  667. package/lib/typescript/handlers/gestures/panGesture.d.ts +26 -0
  668. package/lib/typescript/handlers/gestures/pinchGesture.d.ts +11 -0
  669. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +14 -0
  670. package/lib/typescript/handlers/gestures/rotationGesture.d.ts +12 -0
  671. package/lib/typescript/handlers/gestures/tapGesture.d.ts +14 -0
  672. package/lib/typescript/handlers/handlersRegistry.d.ts +14 -0
  673. package/lib/typescript/index.d.ts +52 -0
  674. package/lib/typescript/init.d.ts +2 -0
  675. package/lib/typescript/jestUtils/index.d.ts +1 -0
  676. package/lib/typescript/jestUtils/jestUtils.d.ts +28 -0
  677. package/lib/typescript/mocks.d.ts +44 -0
  678. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +14 -0
  679. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.kepler.d.ts +7 -0
  680. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +6 -0
  681. package/lib/typescript/typeUtils.d.ts +1 -0
  682. package/lib/typescript/utils.d.ts +12 -0
  683. package/lib/typescript/web/constants.d.ts +7 -0
  684. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +30 -0
  685. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +29 -0
  686. package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +27 -0
  687. package/lib/typescript/web/handlers/GestureHandler.d.ts +90 -0
  688. package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +10 -0
  689. package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +26 -0
  690. package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +12 -0
  691. package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +24 -0
  692. package/lib/typescript/web/handlers/PanGestureHandler.d.ts +55 -0
  693. package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +28 -0
  694. package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +29 -0
  695. package/lib/typescript/web/handlers/TapGestureHandler.d.ts +39 -0
  696. package/lib/typescript/web/interfaces.d.ts +140 -0
  697. package/lib/typescript/web/tools/CircularBuffer.d.ts +11 -0
  698. package/lib/typescript/web/tools/EventManager.d.ts +34 -0
  699. package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +22 -0
  700. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +30 -0
  701. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +21 -0
  702. package/lib/typescript/web/tools/InteractionManager.d.ts +16 -0
  703. package/lib/typescript/web/tools/LeastSquareSolver.d.ts +12 -0
  704. package/lib/typescript/web/tools/NodeManager.d.ts +11 -0
  705. package/lib/typescript/web/tools/PointerEventManager.d.ts +8 -0
  706. package/lib/typescript/web/tools/PointerTracker.d.ts +53 -0
  707. package/lib/typescript/web/tools/TouchEventManager.d.ts +6 -0
  708. package/lib/typescript/web/tools/VelocityTracker.d.ts +13 -0
  709. package/lib/typescript/web/utils.d.ts +4 -0
  710. package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts +20 -0
  711. package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts +15 -0
  712. package/lib/typescript/web_hammer/Errors.d.ts +3 -0
  713. package/lib/typescript/web_hammer/FlingGestureHandler.d.ts +43 -0
  714. package/lib/typescript/web_hammer/GestureHandler.d.ts +145 -0
  715. package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts +40 -0
  716. package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts +38 -0
  717. package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts +7 -0
  718. package/lib/typescript/web_hammer/NodeManager.d.ts +8 -0
  719. package/lib/typescript/web_hammer/PanGestureHandler.d.ts +56 -0
  720. package/lib/typescript/web_hammer/PinchGestureHandler.d.ts +13 -0
  721. package/lib/typescript/web_hammer/PressGestureHandler.d.ts +83 -0
  722. package/lib/typescript/web_hammer/RotationGestureHandler.d.ts +13 -0
  723. package/lib/typescript/web_hammer/TapGestureHandler.d.ts +57 -0
  724. package/lib/typescript/web_hammer/constants.d.ts +39 -0
  725. package/lib/typescript/web_hammer/utils.d.ts +9 -0
  726. package/package.json +1 -0
  727. package/src/ActionType.ts +9 -0
  728. package/src/Directions.ts +9 -0
  729. package/src/EnableNewWebImplementation.ts +35 -0
  730. package/src/GestureHandlerRootViewContext.ts +3 -0
  731. package/src/PlatformConstants.ts +8 -0
  732. package/src/PlatformConstants.web.ts +5 -0
  733. package/src/RNGestureHandlerModule.kepler.ts +64 -0
  734. package/src/RNGestureHandlerModule.macos.ts +133 -0
  735. package/src/RNGestureHandlerModule.ts +50 -0
  736. package/src/RNGestureHandlerModule.web.ts +146 -0
  737. package/src/RNGestureHandlerModule.windows.ts +144 -0
  738. package/src/RNRenderer.ts +3 -0
  739. package/src/RNRenderer.web.ts +3 -0
  740. package/src/State.ts +13 -0
  741. package/src/TouchEventType.ts +10 -0
  742. package/src/components/DrawerLayout.tsx +743 -0
  743. package/src/components/GestureButtons.tsx +334 -0
  744. package/src/components/GestureComponents.tsx +148 -0
  745. package/src/components/GestureComponents.web.tsx +41 -0
  746. package/src/components/GestureHandlerButton.tsx +5 -0
  747. package/src/components/GestureHandlerButton.web.tsx +6 -0
  748. package/src/components/GestureHandlerRootView.android.tsx +24 -0
  749. package/src/components/GestureHandlerRootView.kepler.tsx +17 -0
  750. package/src/components/GestureHandlerRootView.tsx +23 -0
  751. package/src/components/GestureHandlerRootView.web.tsx +17 -0
  752. package/src/components/Swipeable.tsx +551 -0
  753. package/src/components/gestureHandlerRootHOC.tsx +32 -0
  754. package/src/components/touchables/GenericTouchable.tsx +301 -0
  755. package/src/components/touchables/TouchableHighlight.tsx +115 -0
  756. package/src/components/touchables/TouchableNativeFeedback.android.tsx +91 -0
  757. package/src/components/touchables/TouchableNativeFeedback.tsx +3 -0
  758. package/src/components/touchables/TouchableOpacity.tsx +75 -0
  759. package/src/components/touchables/TouchableWithoutFeedback.tsx +14 -0
  760. package/src/components/touchables/index.ts +7 -0
  761. package/src/getShadowNodeFromRef.ts +22 -0
  762. package/src/getShadowNodeFromRef.web.ts +7 -0
  763. package/src/handlers/FlingGestureHandler.ts +59 -0
  764. package/src/handlers/ForceTouchGestureHandler.ts +90 -0
  765. package/src/handlers/LongPressGestureHandler.ts +88 -0
  766. package/src/handlers/NativeViewGestureHandler.ts +55 -0
  767. package/src/handlers/PanGestureHandler.ts +325 -0
  768. package/src/handlers/PinchGestureHandler.ts +48 -0
  769. package/src/handlers/PressabilityDebugView.tsx +2 -0
  770. package/src/handlers/PressabilityDebugView.web.tsx +4 -0
  771. package/src/handlers/RotationGestureHandler.ts +48 -0
  772. package/src/handlers/TapGestureHandler.ts +94 -0
  773. package/src/handlers/createHandler.tsx +547 -0
  774. package/src/handlers/createNativeWrapper.tsx +80 -0
  775. package/src/handlers/gestureHandlerCommon.ts +244 -0
  776. package/src/handlers/gestureHandlerTypesCompat.ts +106 -0
  777. package/src/handlers/gestures/GestureDetector.tsx +818 -0
  778. package/src/handlers/gestures/eventReceiver.ts +172 -0
  779. package/src/handlers/gestures/flingGesture.ts +27 -0
  780. package/src/handlers/gestures/forceTouchGesture.ts +74 -0
  781. package/src/handlers/gestures/gesture.ts +341 -0
  782. package/src/handlers/gestures/gestureComposition.ts +122 -0
  783. package/src/handlers/gestures/gestureObjects.ts +84 -0
  784. package/src/handlers/gestures/gestureStateManager.ts +62 -0
  785. package/src/handlers/gestures/gestureStateManager.web.ts +24 -0
  786. package/src/handlers/gestures/hoverGesture.ts +83 -0
  787. package/src/handlers/gestures/longPressGesture.ts +28 -0
  788. package/src/handlers/gestures/manualGesture.ts +31 -0
  789. package/src/handlers/gestures/nativeGesture.ts +27 -0
  790. package/src/handlers/gestures/panGesture.ts +152 -0
  791. package/src/handlers/gestures/pinchGesture.ts +51 -0
  792. package/src/handlers/gestures/reanimatedWrapper.ts +56 -0
  793. package/src/handlers/gestures/rotationGesture.ts +51 -0
  794. package/src/handlers/gestures/tapGesture.ts +53 -0
  795. package/src/handlers/handlersRegistry.ts +60 -0
  796. package/src/index.ts +174 -0
  797. package/src/init.ts +18 -0
  798. package/src/jestUtils/index.ts +1 -0
  799. package/src/jestUtils/jestUtils.ts +505 -0
  800. package/src/mocks.ts +67 -0
  801. package/src/specs/RNGestureHandlerButtonNativeComponent.kepler.ts +27 -0
  802. package/src/specs/RNGestureHandlerButtonNativeComponent.ts +20 -0
  803. package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +7 -0
  804. package/src/typeUtils.ts +1 -0
  805. package/src/utils.ts +62 -0
  806. package/src/web/constants.ts +8 -0
  807. package/src/web/detectors/RotationGestureDetector.ts +168 -0
  808. package/src/web/detectors/ScaleGestureDetector.ts +172 -0
  809. package/src/web/handlers/FlingGestureHandler.ts +161 -0
  810. package/src/web/handlers/GestureHandler.ts +850 -0
  811. package/src/web/handlers/HoverGestureHandler.ts +43 -0
  812. package/src/web/handlers/LongPressGestureHandler.ts +125 -0
  813. package/src/web/handlers/ManualGestureHandler.ts +43 -0
  814. package/src/web/handlers/NativeViewGestureHandler.ts +167 -0
  815. package/src/web/handlers/PanGestureHandler.ts +485 -0
  816. package/src/web/handlers/PinchGestureHandler.ts +158 -0
  817. package/src/web/handlers/RotationGestureHandler.ts +172 -0
  818. package/src/web/handlers/TapGestureHandler.ts +273 -0
  819. package/src/web/interfaces.ts +166 -0
  820. package/src/web/tools/CircularBuffer.ts +42 -0
  821. package/src/web/tools/EventManager.ts +104 -0
  822. package/src/web/tools/GestureHandlerDelegate.ts +23 -0
  823. package/src/web/tools/GestureHandlerOrchestrator.ts +398 -0
  824. package/src/web/tools/GestureHandlerWebDelegate.ts +115 -0
  825. package/src/web/tools/InteractionManager.ts +123 -0
  826. package/src/web/tools/LeastSquareSolver.ts +182 -0
  827. package/src/web/tools/NodeManager.ts +43 -0
  828. package/src/web/tools/PointerEventManager.ts +193 -0
  829. package/src/web/tools/PointerTracker.ts +240 -0
  830. package/src/web/tools/TouchEventManager.ts +167 -0
  831. package/src/web/tools/VelocityTracker.ts +98 -0
  832. package/src/web/utils.ts +8 -0
  833. package/src/web_hammer/DiscreteGestureHandler.ts +82 -0
  834. package/src/web_hammer/DraggingGestureHandler.ts +34 -0
  835. package/src/web_hammer/Errors.ts +7 -0
  836. package/src/web_hammer/FlingGestureHandler.ts +134 -0
  837. package/src/web_hammer/GestureHandler.ts +598 -0
  838. package/src/web_hammer/IndiscreteGestureHandler.ts +33 -0
  839. package/src/web_hammer/LongPressGestureHandler.ts +56 -0
  840. package/src/web_hammer/NativeViewGestureHandler.ts +47 -0
  841. package/src/web_hammer/NodeManager.ts +42 -0
  842. package/src/web_hammer/PanGestureHandler.ts +226 -0
  843. package/src/web_hammer/PinchGestureHandler.ts +25 -0
  844. package/src/web_hammer/PressGestureHandler.ts +167 -0
  845. package/src/web_hammer/RotationGestureHandler.ts +25 -0
  846. package/src/web_hammer/TapGestureHandler.ts +172 -0
  847. package/src/web_hammer/constants.ts +48 -0
  848. package/src/web_hammer/utils.ts +24 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_VelocityTracker","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","MAX_POINTERS","PointerTracker","constructor","VelocityTracker","Map","x","y","lastMovedPointerId","NaN","touchEventsIds","set","addToTracker","event","trackedPointers","has","pointerId","newElement","lastX","lastY","timeStamp","time","velocityX","velocityY","mapTouchEventId","cachedAverages","getLastAvgX","getLastAvgY","removeFromTracker","delete","removeMappedTouchId","track","element","get","velocityTracker","add","getVelocity","avgX","avgY","id","mappedId","touchId","isNaN","getMappedTouchEventId","touchEventId","key","entries","getVelocityX","_this$trackedPointers","getVelocityY","_this$trackedPointers2","getLastX","undefined","_this$trackedPointers3","_this$trackedPointers4","getLastY","_this$trackedPointers5","_this$trackedPointers6","getSumX","size","getSumY","ignoredPointer","sumX","forEach","sumY","getTrackedPointersCount","getTrackedPointersID","keys","_value","push","getData","resetTracker","reset","clear","shareCommonPointers","stPointers","ndPointers","some","includes","exports"],"sources":["PointerTracker.ts"],"sourcesContent":["import { AdaptedEvent } from '../interfaces';\nimport VelocityTracker from './VelocityTracker';\n\nexport interface TrackerElement {\n lastX: number;\n lastY: number;\n\n timeStamp: number;\n\n velocityX: number;\n velocityY: number;\n}\n\nconst MAX_POINTERS = 20;\n\nexport default class PointerTracker {\n private velocityTracker = new VelocityTracker();\n private trackedPointers: Map<number, TrackerElement> = new Map<\n number,\n TrackerElement\n >();\n\n private touchEventsIds: Map<number, number> = new Map<number, number>();\n\n private lastMovedPointerId: number;\n\n private cachedAverages: { x: number; y: number } = { x: 0, y: 0 };\n\n public constructor() {\n this.lastMovedPointerId = NaN;\n\n for (let i = 0; i < MAX_POINTERS; ++i) {\n this.touchEventsIds.set(i, NaN);\n }\n }\n\n public addToTracker(event: AdaptedEvent): void {\n if (this.trackedPointers.has(event.pointerId)) {\n return;\n }\n\n this.lastMovedPointerId = event.pointerId;\n\n const newElement: TrackerElement = {\n lastX: event.x,\n lastY: event.y,\n timeStamp: event.time,\n velocityX: 0,\n velocityY: 0,\n };\n\n this.trackedPointers.set(event.pointerId, newElement);\n this.mapTouchEventId(event.pointerId);\n\n this.cachedAverages = {\n x: this.getLastAvgX(),\n y: this.getLastAvgY(),\n };\n }\n\n public removeFromTracker(pointerId: number): void {\n this.trackedPointers.delete(pointerId);\n this.removeMappedTouchId(pointerId);\n }\n\n public track(event: AdaptedEvent): void {\n const element: TrackerElement = this.trackedPointers.get(\n event.pointerId\n ) as TrackerElement;\n\n if (!element) {\n return;\n }\n\n this.lastMovedPointerId = event.pointerId;\n\n this.velocityTracker.add(event);\n const [velocityX, velocityY] = this.velocityTracker.getVelocity();\n\n element.velocityX = velocityX;\n element.velocityY = velocityY;\n\n element.lastX = event.x;\n element.lastY = event.y;\n\n this.trackedPointers.set(event.pointerId, element);\n\n const avgX: number = this.getLastAvgX();\n const avgY: number = this.getLastAvgY();\n\n this.cachedAverages = {\n x: avgX,\n y: avgY,\n };\n }\n\n //Mapping TouchEvents ID\n private mapTouchEventId(id: number): void {\n for (const [mappedId, touchId] of this.touchEventsIds) {\n if (isNaN(touchId)) {\n this.touchEventsIds.set(mappedId, id);\n break;\n }\n }\n }\n\n private removeMappedTouchId(id: number): void {\n const mappedId: number = this.getMappedTouchEventId(id);\n if (!isNaN(mappedId)) {\n this.touchEventsIds.set(mappedId, NaN);\n }\n }\n\n public getMappedTouchEventId(touchEventId: number): number {\n for (const [key, value] of this.touchEventsIds.entries()) {\n if (value === touchEventId) {\n return key;\n }\n }\n\n return NaN;\n }\n\n public getVelocityX(pointerId: number): number {\n return this.trackedPointers.get(pointerId)?.velocityX as number;\n }\n public getVelocityY(pointerId: number): number {\n return this.trackedPointers.get(pointerId)?.velocityY as number;\n }\n\n /**\n * Returns X coordinate of last moved pointer\n */\n public getLastX(): number;\n\n /**\n *\n * @param pointerId\n * Returns X coordinate of given pointer\n */\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n public getLastX(pointerId: number): number;\n\n public getLastX(pointerId?: number): number {\n if (pointerId !== undefined) {\n return this.trackedPointers.get(pointerId)?.lastX as number;\n } else {\n return this.trackedPointers.get(this.lastMovedPointerId)?.lastX as number;\n }\n }\n\n /**\n * Returns Y coordinate of last moved pointer\n */\n public getLastY(): number;\n\n /**\n *\n * @param pointerId\n * Returns Y coordinate of given pointer\n */\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n public getLastY(pointerId: number): number;\n\n public getLastY(pointerId?: number): number {\n if (pointerId !== undefined) {\n return this.trackedPointers.get(pointerId)?.lastY as number;\n } else {\n return this.trackedPointers.get(this.lastMovedPointerId)?.lastY as number;\n }\n }\n\n // Some handlers use these methods to send average values in native event.\n // This may happen when pointers have already been removed from tracker (i.e. pointerup event).\n // In situation when NaN would be sent as a response, we return cached value.\n // That prevents handlers from crashing\n public getLastAvgX(): number {\n const avgX: number = this.getSumX() / this.trackedPointers.size;\n return isNaN(avgX) ? this.cachedAverages.x : avgX;\n }\n public getLastAvgY(): number {\n const avgY: number = this.getSumY() / this.trackedPointers.size;\n return isNaN(avgY) ? this.cachedAverages.y : avgY;\n }\n public getSumX(ignoredPointer?: number): number {\n let sumX = 0;\n\n this.trackedPointers.forEach((value, key) => {\n if (key !== ignoredPointer) {\n sumX += value.lastX;\n }\n });\n\n return sumX;\n }\n public getSumY(ignoredPointer?: number): number {\n let sumY = 0;\n\n this.trackedPointers.forEach((value, key) => {\n if (key !== ignoredPointer) {\n sumY += value.lastY;\n }\n });\n\n return sumY;\n }\n public getTrackedPointersCount(): number {\n return this.trackedPointers.size;\n }\n public getTrackedPointersID(): number[] {\n const keys: number[] = [];\n\n this.trackedPointers.forEach((_value, key) => {\n keys.push(key);\n });\n\n return keys;\n }\n\n public getData(): Map<number, TrackerElement> {\n return this.trackedPointers;\n }\n\n public resetTracker(): void {\n this.velocityTracker.reset();\n this.trackedPointers.clear();\n this.lastMovedPointerId = NaN;\n\n for (let i = 0; i < MAX_POINTERS; ++i) {\n this.touchEventsIds.set(i, NaN);\n }\n }\n\n public static shareCommonPointers(\n stPointers: number[],\n ndPointers: number[]\n ): boolean {\n return stPointers.some((pointerId) => ndPointers.includes(pointerId));\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _interfaces = require("../interfaces");
8
+ var _EventManager = _interopRequireDefault(require("./EventManager"));
9
+ var _utils = require("../utils");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ class TouchEventManager extends _EventManager.default {
12
+ setListeners() {
13
+ this.view.addEventListener('touchstart', event => {
14
+ for (let i = 0; i < event.changedTouches.length; ++i) {
15
+ const adaptedEvent = this.mapEvent(event, _interfaces.EventTypes.DOWN, i, _interfaces.TouchEventType.DOWN);
16
+
17
+ // Here we skip stylus, because in case of anything different than touch we want to handle it by using PointerEvents
18
+ // If we leave stylus to send touch events, handlers will receive every action twice
19
+ if (!(0, _utils.isPointerInBounds)(this.view, {
20
+ x: adaptedEvent.x,
21
+ y: adaptedEvent.y
22
+ }) ||
23
+ //@ts-ignore touchType field does exist
24
+ event.changedTouches[i].touchType === 'stylus') {
25
+ continue;
26
+ }
27
+ this.markAsInBounds(adaptedEvent.pointerId);
28
+ if (++this.activePointersCounter > 1) {
29
+ adaptedEvent.eventType = _interfaces.EventTypes.ADDITIONAL_POINTER_DOWN;
30
+ this.onPointerAdd(adaptedEvent);
31
+ } else {
32
+ this.onPointerDown(adaptedEvent);
33
+ }
34
+ }
35
+ });
36
+ this.view.addEventListener('touchmove', event => {
37
+ for (let i = 0; i < event.changedTouches.length; ++i) {
38
+ const adaptedEvent = this.mapEvent(event, _interfaces.EventTypes.MOVE, i, _interfaces.TouchEventType.MOVE);
39
+ //@ts-ignore touchType field does exist
40
+ if (event.changedTouches[i].touchType === 'stylus') {
41
+ continue;
42
+ }
43
+ const inBounds = (0, _utils.isPointerInBounds)(this.view, {
44
+ x: adaptedEvent.x,
45
+ y: adaptedEvent.y
46
+ });
47
+ const pointerIndex = this.pointersInBounds.indexOf(adaptedEvent.pointerId);
48
+ if (inBounds) {
49
+ if (pointerIndex < 0) {
50
+ adaptedEvent.eventType = _interfaces.EventTypes.ENTER;
51
+ this.onPointerEnter(adaptedEvent);
52
+ this.markAsInBounds(adaptedEvent.pointerId);
53
+ } else {
54
+ this.onPointerMove(adaptedEvent);
55
+ }
56
+ } else {
57
+ if (pointerIndex >= 0) {
58
+ adaptedEvent.eventType = _interfaces.EventTypes.LEAVE;
59
+ this.onPointerLeave(adaptedEvent);
60
+ this.markAsOutOfBounds(adaptedEvent.pointerId);
61
+ } else {
62
+ this.onPointerOutOfBounds(adaptedEvent);
63
+ }
64
+ }
65
+ }
66
+ });
67
+ this.view.addEventListener('touchend', event => {
68
+ for (let i = 0; i < event.changedTouches.length; ++i) {
69
+ // When we call reset on gesture handlers, it also resets their event managers
70
+ // In some handlers (like RotationGestureHandler) reset is called before all pointers leave view
71
+ // This means, that activePointersCounter will be set to 0, while there are still remaining pointers on view
72
+ // Removing them will end in activePointersCounter going below 0, therefore handlers won't behave properly
73
+ if (this.activePointersCounter === 0) {
74
+ break;
75
+ }
76
+
77
+ //@ts-ignore touchType field does exist
78
+ if (event.changedTouches[i].touchType === 'stylus') {
79
+ continue;
80
+ }
81
+ const adaptedEvent = this.mapEvent(event, _interfaces.EventTypes.UP, i, _interfaces.TouchEventType.UP);
82
+ this.markAsOutOfBounds(adaptedEvent.pointerId);
83
+ if (--this.activePointersCounter > 0) {
84
+ adaptedEvent.eventType = _interfaces.EventTypes.ADDITIONAL_POINTER_UP;
85
+ this.onPointerRemove(adaptedEvent);
86
+ } else {
87
+ this.onPointerUp(adaptedEvent);
88
+ }
89
+ }
90
+ });
91
+ this.view.addEventListener('touchcancel', event => {
92
+ for (let i = 0; i < event.changedTouches.length; ++i) {
93
+ const adaptedEvent = this.mapEvent(event, _interfaces.EventTypes.CANCEL, i, _interfaces.TouchEventType.CANCELLED);
94
+
95
+ //@ts-ignore touchType field does exist
96
+ if (event.changedTouches[i].touchType === 'stylus') {
97
+ continue;
98
+ }
99
+ this.onPointerCancel(adaptedEvent);
100
+ this.markAsOutOfBounds(adaptedEvent.pointerId);
101
+ this.activePointersCounter = 0;
102
+ }
103
+ });
104
+ }
105
+ mapEvent(event, eventType, index, touchEventType) {
106
+ const rect = this.view.getBoundingClientRect();
107
+ const clientX = event.changedTouches[index].clientX;
108
+ const clientY = event.changedTouches[index].clientY;
109
+ return {
110
+ x: clientX,
111
+ y: clientY,
112
+ offsetX: clientX - rect.left,
113
+ offsetY: clientY - rect.top,
114
+ pointerId: event.changedTouches[index].identifier,
115
+ eventType: eventType,
116
+ pointerType: _interfaces.PointerType.TOUCH,
117
+ buttons: _interfaces.MouseButtons.NONE,
118
+ time: event.timeStamp,
119
+ allTouches: event.touches,
120
+ changedTouches: event.changedTouches,
121
+ touchEventType: touchEventType
122
+ };
123
+ }
124
+ }
125
+ exports.default = TouchEventManager;
126
+ //# sourceMappingURL=TouchEventManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_interfaces","require","_EventManager","_interopRequireDefault","_utils","e","__esModule","default","TouchEventManager","EventManager","setListeners","view","addEventListener","event","i","changedTouches","length","adaptedEvent","mapEvent","EventTypes","DOWN","TouchEventType","isPointerInBounds","x","y","touchType","markAsInBounds","pointerId","activePointersCounter","eventType","ADDITIONAL_POINTER_DOWN","onPointerAdd","onPointerDown","MOVE","inBounds","pointerIndex","pointersInBounds","indexOf","ENTER","onPointerEnter","onPointerMove","LEAVE","onPointerLeave","markAsOutOfBounds","onPointerOutOfBounds","UP","ADDITIONAL_POINTER_UP","onPointerRemove","onPointerUp","CANCEL","CANCELLED","onPointerCancel","index","touchEventType","rect","getBoundingClientRect","clientX","clientY","offsetX","left","offsetY","top","identifier","pointerType","PointerType","TOUCH","buttons","MouseButtons","NONE","time","timeStamp","allTouches","touches","exports"],"sources":["TouchEventManager.ts"],"sourcesContent":["import {\n AdaptedEvent,\n EventTypes,\n MouseButtons,\n PointerType,\n TouchEventType,\n} from '../interfaces';\nimport EventManager from './EventManager';\nimport { isPointerInBounds } from '../utils';\n\nexport default class TouchEventManager extends EventManager<HTMLElement> {\n public setListeners(): void {\n this.view.addEventListener('touchstart', (event: TouchEvent) => {\n for (let i = 0; i < event.changedTouches.length; ++i) {\n const adaptedEvent: AdaptedEvent = this.mapEvent(\n event,\n EventTypes.DOWN,\n i,\n TouchEventType.DOWN\n );\n\n // Here we skip stylus, because in case of anything different than touch we want to handle it by using PointerEvents\n // If we leave stylus to send touch events, handlers will receive every action twice\n if (\n !isPointerInBounds(this.view, {\n x: adaptedEvent.x,\n y: adaptedEvent.y,\n }) ||\n //@ts-ignore touchType field does exist\n event.changedTouches[i].touchType === 'stylus'\n ) {\n continue;\n }\n\n this.markAsInBounds(adaptedEvent.pointerId);\n\n if (++this.activePointersCounter > 1) {\n adaptedEvent.eventType = EventTypes.ADDITIONAL_POINTER_DOWN;\n this.onPointerAdd(adaptedEvent);\n } else {\n this.onPointerDown(adaptedEvent);\n }\n }\n });\n\n this.view.addEventListener('touchmove', (event: TouchEvent) => {\n for (let i = 0; i < event.changedTouches.length; ++i) {\n const adaptedEvent: AdaptedEvent = this.mapEvent(\n event,\n EventTypes.MOVE,\n i,\n TouchEventType.MOVE\n );\n //@ts-ignore touchType field does exist\n if (event.changedTouches[i].touchType === 'stylus') {\n continue;\n }\n\n const inBounds: boolean = isPointerInBounds(this.view, {\n x: adaptedEvent.x,\n y: adaptedEvent.y,\n });\n\n const pointerIndex: number = this.pointersInBounds.indexOf(\n adaptedEvent.pointerId\n );\n\n if (inBounds) {\n if (pointerIndex < 0) {\n adaptedEvent.eventType = EventTypes.ENTER;\n this.onPointerEnter(adaptedEvent);\n this.markAsInBounds(adaptedEvent.pointerId);\n } else {\n this.onPointerMove(adaptedEvent);\n }\n } else {\n if (pointerIndex >= 0) {\n adaptedEvent.eventType = EventTypes.LEAVE;\n this.onPointerLeave(adaptedEvent);\n this.markAsOutOfBounds(adaptedEvent.pointerId);\n } else {\n this.onPointerOutOfBounds(adaptedEvent);\n }\n }\n }\n });\n\n this.view.addEventListener('touchend', (event: TouchEvent) => {\n for (let i = 0; i < event.changedTouches.length; ++i) {\n // When we call reset on gesture handlers, it also resets their event managers\n // In some handlers (like RotationGestureHandler) reset is called before all pointers leave view\n // This means, that activePointersCounter will be set to 0, while there are still remaining pointers on view\n // Removing them will end in activePointersCounter going below 0, therefore handlers won't behave properly\n if (this.activePointersCounter === 0) {\n break;\n }\n\n //@ts-ignore touchType field does exist\n if (event.changedTouches[i].touchType === 'stylus') {\n continue;\n }\n\n const adaptedEvent: AdaptedEvent = this.mapEvent(\n event,\n EventTypes.UP,\n i,\n TouchEventType.UP\n );\n\n this.markAsOutOfBounds(adaptedEvent.pointerId);\n\n if (--this.activePointersCounter > 0) {\n adaptedEvent.eventType = EventTypes.ADDITIONAL_POINTER_UP;\n this.onPointerRemove(adaptedEvent);\n } else {\n this.onPointerUp(adaptedEvent);\n }\n }\n });\n\n this.view.addEventListener('touchcancel', (event: TouchEvent) => {\n for (let i = 0; i < event.changedTouches.length; ++i) {\n const adaptedEvent: AdaptedEvent = this.mapEvent(\n event,\n EventTypes.CANCEL,\n i,\n TouchEventType.CANCELLED\n );\n\n //@ts-ignore touchType field does exist\n if (event.changedTouches[i].touchType === 'stylus') {\n continue;\n }\n\n this.onPointerCancel(adaptedEvent);\n this.markAsOutOfBounds(adaptedEvent.pointerId);\n this.activePointersCounter = 0;\n }\n });\n }\n\n protected mapEvent(\n event: TouchEvent,\n eventType: EventTypes,\n index: number,\n touchEventType: TouchEventType\n ): AdaptedEvent {\n const rect = this.view.getBoundingClientRect();\n const clientX = event.changedTouches[index].clientX;\n const clientY = event.changedTouches[index].clientY;\n\n return {\n x: clientX,\n y: clientY,\n offsetX: clientX - rect.left,\n offsetY: clientY - rect.top,\n pointerId: event.changedTouches[index].identifier,\n eventType: eventType,\n pointerType: PointerType.TOUCH,\n buttons: MouseButtons.NONE,\n time: event.timeStamp,\n allTouches: event.touches,\n changedTouches: event.changedTouches,\n touchEventType: touchEventType,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _CircularBuffer = _interopRequireDefault(require("./CircularBuffer"));
8
+ var _LeastSquareSolver = _interopRequireDefault(require("./LeastSquareSolver"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
12
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
+ class VelocityTracker {
14
+ constructor() {
15
+ _defineProperty(this, "assumePointerMoveStoppedMilliseconds", 40);
16
+ _defineProperty(this, "historySize", 20);
17
+ _defineProperty(this, "horizonMilliseconds", 300);
18
+ _defineProperty(this, "minSampleSize", 3);
19
+ _defineProperty(this, "samples", void 0);
20
+ this.samples = new _CircularBuffer.default(this.historySize);
21
+ }
22
+ add(event) {
23
+ this.samples.push(event);
24
+ }
25
+
26
+ /// Returns an estimate of the velocity of the object being tracked by the
27
+ /// tracker given the current information available to the tracker.
28
+ ///
29
+ /// Information is added using [addPosition].
30
+ ///
31
+ /// Returns null if there is no data on which to base an estimate.
32
+ getVelocityEstimate() {
33
+ const x = [];
34
+ const y = [];
35
+ const w = [];
36
+ const time = [];
37
+ let sampleCount = 0;
38
+ let index = this.samples.size - 1;
39
+ const newestSample = this.samples.get(index);
40
+ if (!newestSample) {
41
+ return null;
42
+ }
43
+ let previousSample = newestSample;
44
+
45
+ // Starting with the most recent PointAtTime sample, iterate backwards while
46
+ // the samples represent continuous motion.
47
+ while (sampleCount < this.samples.size) {
48
+ const sample = this.samples.get(index);
49
+ const age = newestSample.time - sample.time;
50
+ const delta = Math.abs(sample.time - previousSample.time);
51
+ previousSample = sample;
52
+ if (age > this.horizonMilliseconds || delta > this.assumePointerMoveStoppedMilliseconds) {
53
+ break;
54
+ }
55
+ x.push(sample.x);
56
+ y.push(sample.y);
57
+ w.push(1);
58
+ time.push(-age);
59
+ sampleCount++;
60
+ index--;
61
+ }
62
+ if (sampleCount >= this.minSampleSize) {
63
+ const xSolver = new _LeastSquareSolver.default(time, x, w);
64
+ const xFit = xSolver.solve(2);
65
+ if (xFit !== null) {
66
+ const ySolver = new _LeastSquareSolver.default(time, y, w);
67
+ const yFit = ySolver.solve(2);
68
+ if (yFit !== null) {
69
+ const xVelocity = xFit.coefficients[1] * 1000;
70
+ const yVelocity = yFit.coefficients[1] * 1000;
71
+ return [xVelocity, yVelocity];
72
+ }
73
+ }
74
+ }
75
+ return null;
76
+ }
77
+ getVelocity() {
78
+ const estimate = this.getVelocityEstimate();
79
+ if (estimate !== null) {
80
+ return estimate;
81
+ }
82
+ return [0, 0];
83
+ }
84
+ reset() {
85
+ this.samples.clear();
86
+ }
87
+ }
88
+ exports.default = VelocityTracker;
89
+ //# sourceMappingURL=VelocityTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_CircularBuffer","_interopRequireDefault","require","_LeastSquareSolver","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","VelocityTracker","constructor","samples","CircularBuffer","historySize","add","event","push","getVelocityEstimate","x","y","w","time","sampleCount","index","size","newestSample","get","previousSample","sample","age","delta","Math","abs","horizonMilliseconds","assumePointerMoveStoppedMilliseconds","minSampleSize","xSolver","LeastSquareSolver","xFit","solve","ySolver","yFit","xVelocity","coefficients","yVelocity","getVelocity","estimate","reset","clear","exports"],"sources":["VelocityTracker.ts"],"sourcesContent":["import { AdaptedEvent } from '../interfaces';\nimport CircularBuffer from './CircularBuffer';\nimport LeastSquareSolver from './LeastSquareSolver';\n\nexport default class VelocityTracker {\n private assumePointerMoveStoppedMilliseconds = 40;\n private historySize = 20;\n private horizonMilliseconds = 300;\n private minSampleSize = 3;\n\n private samples: CircularBuffer<AdaptedEvent>;\n\n constructor() {\n this.samples = new CircularBuffer<AdaptedEvent>(this.historySize);\n }\n\n public add(event: AdaptedEvent): void {\n this.samples.push(event);\n }\n\n /// Returns an estimate of the velocity of the object being tracked by the\n /// tracker given the current information available to the tracker.\n ///\n /// Information is added using [addPosition].\n ///\n /// Returns null if there is no data on which to base an estimate.\n private getVelocityEstimate(): [number, number] | null {\n const x = [];\n const y = [];\n const w = [];\n const time = [];\n\n let sampleCount = 0;\n let index = this.samples.size - 1;\n const newestSample = this.samples.get(index);\n if (!newestSample) {\n return null;\n }\n\n let previousSample = newestSample;\n\n // Starting with the most recent PointAtTime sample, iterate backwards while\n // the samples represent continuous motion.\n while (sampleCount < this.samples.size) {\n const sample = this.samples.get(index);\n\n const age = newestSample.time - sample.time;\n const delta = Math.abs(sample.time - previousSample.time);\n previousSample = sample;\n\n if (\n age > this.horizonMilliseconds ||\n delta > this.assumePointerMoveStoppedMilliseconds\n ) {\n break;\n }\n\n x.push(sample.x);\n y.push(sample.y);\n w.push(1);\n time.push(-age);\n\n sampleCount++;\n index--;\n }\n\n if (sampleCount >= this.minSampleSize) {\n const xSolver = new LeastSquareSolver(time, x, w);\n const xFit = xSolver.solve(2);\n\n if (xFit !== null) {\n const ySolver = new LeastSquareSolver(time, y, w);\n const yFit = ySolver.solve(2);\n\n if (yFit !== null) {\n const xVelocity = xFit.coefficients[1] * 1000;\n const yVelocity = yFit.coefficients[1] * 1000;\n\n return [xVelocity, yVelocity];\n }\n }\n }\n\n return null;\n }\n\n public getVelocity(): [number, number] {\n const estimate = this.getVelocityEstimate();\n if (estimate !== null) {\n return estimate;\n }\n return [0, 0];\n }\n\n public reset(): void {\n this.samples.clear();\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAoD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAErC,MAAMgB,eAAe,CAAC;EAQnCC,WAAWA,CAAA,EAAG;IAAAnB,eAAA,+CAPiC,EAAE;IAAAA,eAAA,sBAC3B,EAAE;IAAAA,eAAA,8BACM,GAAG;IAAAA,eAAA,wBACT,CAAC;IAAAA,eAAA;IAKvB,IAAI,CAACoB,OAAO,GAAG,IAAIC,uBAAc,CAAe,IAAI,CAACC,WAAW,CAAC;EACnE;EAEOC,GAAGA,CAACC,KAAmB,EAAQ;IACpC,IAAI,CAACJ,OAAO,CAACK,IAAI,CAACD,KAAK,CAAC;EAC1B;;EAEA;EACA;EACA;EACA;EACA;EACA;EACQE,mBAAmBA,CAAA,EAA4B;IACrD,MAAMC,CAAC,GAAG,EAAE;IACZ,MAAMC,CAAC,GAAG,EAAE;IACZ,MAAMC,CAAC,GAAG,EAAE;IACZ,MAAMC,IAAI,GAAG,EAAE;IAEf,IAAIC,WAAW,GAAG,CAAC;IACnB,IAAIC,KAAK,GAAG,IAAI,CAACZ,OAAO,CAACa,IAAI,GAAG,CAAC;IACjC,MAAMC,YAAY,GAAG,IAAI,CAACd,OAAO,CAACe,GAAG,CAACH,KAAK,CAAC;IAC5C,IAAI,CAACE,YAAY,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAIE,cAAc,GAAGF,YAAY;;IAEjC;IACA;IACA,OAAOH,WAAW,GAAG,IAAI,CAACX,OAAO,CAACa,IAAI,EAAE;MACtC,MAAMI,MAAM,GAAG,IAAI,CAACjB,OAAO,CAACe,GAAG,CAACH,KAAK,CAAC;MAEtC,MAAMM,GAAG,GAAGJ,YAAY,CAACJ,IAAI,GAAGO,MAAM,CAACP,IAAI;MAC3C,MAAMS,KAAK,GAAGC,IAAI,CAACC,GAAG,CAACJ,MAAM,CAACP,IAAI,GAAGM,cAAc,CAACN,IAAI,CAAC;MACzDM,cAAc,GAAGC,MAAM;MAEvB,IACEC,GAAG,GAAG,IAAI,CAACI,mBAAmB,IAC9BH,KAAK,GAAG,IAAI,CAACI,oCAAoC,EACjD;QACA;MACF;MAEAhB,CAAC,CAACF,IAAI,CAACY,MAAM,CAACV,CAAC,CAAC;MAChBC,CAAC,CAACH,IAAI,CAACY,MAAM,CAACT,CAAC,CAAC;MAChBC,CAAC,CAACJ,IAAI,CAAC,CAAC,CAAC;MACTK,IAAI,CAACL,IAAI,CAAC,CAACa,GAAG,CAAC;MAEfP,WAAW,EAAE;MACbC,KAAK,EAAE;IACT;IAEA,IAAID,WAAW,IAAI,IAAI,CAACa,aAAa,EAAE;MACrC,MAAMC,OAAO,GAAG,IAAIC,0BAAiB,CAAChB,IAAI,EAAEH,CAAC,EAAEE,CAAC,CAAC;MACjD,MAAMkB,IAAI,GAAGF,OAAO,CAACG,KAAK,CAAC,CAAC,CAAC;MAE7B,IAAID,IAAI,KAAK,IAAI,EAAE;QACjB,MAAME,OAAO,GAAG,IAAIH,0BAAiB,CAAChB,IAAI,EAAEF,CAAC,EAAEC,CAAC,CAAC;QACjD,MAAMqB,IAAI,GAAGD,OAAO,CAACD,KAAK,CAAC,CAAC,CAAC;QAE7B,IAAIE,IAAI,KAAK,IAAI,EAAE;UACjB,MAAMC,SAAS,GAAGJ,IAAI,CAACK,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;UAC7C,MAAMC,SAAS,GAAGH,IAAI,CAACE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;UAE7C,OAAO,CAACD,SAAS,EAAEE,SAAS,CAAC;QAC/B;MACF;IACF;IAEA,OAAO,IAAI;EACb;EAEOC,WAAWA,CAAA,EAAqB;IACrC,MAAMC,QAAQ,GAAG,IAAI,CAAC7B,mBAAmB,CAAC,CAAC;IAC3C,IAAI6B,QAAQ,KAAK,IAAI,EAAE;MACrB,OAAOA,QAAQ;IACjB;IACA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;EACf;EAEOC,KAAKA,CAAA,EAAS;IACnB,IAAI,CAACpC,OAAO,CAACqC,KAAK,CAAC,CAAC;EACtB;AACF;AAACC,OAAA,CAAA3D,OAAA,GAAAmB,eAAA","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isPointerInBounds = isPointerInBounds;
7
+ function isPointerInBounds(view, {
8
+ x,
9
+ y
10
+ }) {
11
+ const rect = view.getBoundingClientRect();
12
+ return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;
13
+ }
14
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isPointerInBounds","view","x","y","rect","getBoundingClientRect","left","right","top","bottom"],"sources":["utils.ts"],"sourcesContent":["export function isPointerInBounds(\n view: HTMLElement,\n { x, y }: { x: number; y: number }\n): boolean {\n const rect: DOMRect = view.getBoundingClientRect();\n\n return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;\n}\n"],"mappings":";;;;;;AAAO,SAASA,iBAAiBA,CAC/BC,IAAiB,EACjB;EAAEC,CAAC;EAAEC;AAA4B,CAAC,EACzB;EACT,MAAMC,IAAa,GAAGH,IAAI,CAACI,qBAAqB,CAAC,CAAC;EAElD,OAAOH,CAAC,IAAIE,IAAI,CAACE,IAAI,IAAIJ,CAAC,IAAIE,IAAI,CAACG,KAAK,IAAIJ,CAAC,IAAIC,IAAI,CAACI,GAAG,IAAIL,CAAC,IAAIC,IAAI,CAACK,MAAM;AAC/E","ignoreList":[]}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _GestureHandler = _interopRequireDefault(require("./GestureHandler"));
8
+ var _utils = require("./utils");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ /* eslint-disable eslint-comments/no-unlimited-disable */
11
+ /* eslint-disable */
12
+
13
+ class DiscreteGestureHandler extends _GestureHandler.default {
14
+ get isDiscrete() {
15
+ return true;
16
+ }
17
+ get shouldEnableGestureOnSetup() {
18
+ return true;
19
+ }
20
+ shouldFailUnderCustomCriteria({
21
+ x,
22
+ y,
23
+ deltaX,
24
+ deltaY
25
+ }, {
26
+ maxDeltaX,
27
+ maxDeltaY,
28
+ maxDistSq,
29
+ shouldCancelWhenOutside
30
+ }) {
31
+ if (shouldCancelWhenOutside) {
32
+ if (!this.isPointInView({
33
+ x,
34
+ y
35
+ })) {
36
+ return true;
37
+ }
38
+ }
39
+ return (0, _utils.TEST_MAX_IF_NOT_NAN)(Math.abs(deltaX), maxDeltaX) || (0, _utils.TEST_MAX_IF_NOT_NAN)(Math.abs(deltaY), maxDeltaY) || (0, _utils.TEST_MAX_IF_NOT_NAN)(Math.abs(deltaY * deltaY + deltaX * deltaX), maxDistSq);
40
+ }
41
+ transformNativeEvent({
42
+ center: {
43
+ x,
44
+ y
45
+ }
46
+ }) {
47
+ // @ts-ignore FIXME(TS)
48
+ const rect = this.view.getBoundingClientRect();
49
+ return {
50
+ absoluteX: x,
51
+ absoluteY: y,
52
+ x: x - rect.left,
53
+ y: y - rect.top
54
+ };
55
+ }
56
+ isGestureEnabledForEvent({
57
+ minPointers,
58
+ maxPointers,
59
+ maxDeltaX,
60
+ maxDeltaY,
61
+ maxDistSq,
62
+ shouldCancelWhenOutside
63
+ }, _recognizer, {
64
+ maxPointers: pointerLength,
65
+ center,
66
+ deltaX,
67
+ deltaY
68
+ }) {
69
+ const validPointerCount = pointerLength >= minPointers && pointerLength <= maxPointers;
70
+ if (this.shouldFailUnderCustomCriteria({
71
+ ...center,
72
+ deltaX,
73
+ deltaY
74
+ }, {
75
+ maxDeltaX,
76
+ maxDeltaY,
77
+ maxDistSq,
78
+ shouldCancelWhenOutside
79
+ }) ||
80
+ // A user probably won't land a multi-pointer tap on the first tick (so we cannot just cancel each time)
81
+ // but if the gesture is running and the user adds or subtracts another pointer then it should fail.
82
+ !validPointerCount && this.isGestureRunning) {
83
+ return {
84
+ failed: true
85
+ };
86
+ }
87
+ return {
88
+ success: validPointerCount
89
+ };
90
+ }
91
+ }
92
+ var _default = exports.default = DiscreteGestureHandler;
93
+ //# sourceMappingURL=DiscreteGestureHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_GestureHandler","_interopRequireDefault","require","_utils","e","__esModule","default","DiscreteGestureHandler","GestureHandler","isDiscrete","shouldEnableGestureOnSetup","shouldFailUnderCustomCriteria","x","y","deltaX","deltaY","maxDeltaX","maxDeltaY","maxDistSq","shouldCancelWhenOutside","isPointInView","TEST_MAX_IF_NOT_NAN","Math","abs","transformNativeEvent","center","rect","view","getBoundingClientRect","absoluteX","absoluteY","left","top","isGestureEnabledForEvent","minPointers","maxPointers","_recognizer","pointerLength","validPointerCount","isGestureRunning","failed","success","_default","exports"],"sources":["DiscreteGestureHandler.ts"],"sourcesContent":["/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport GestureHandler from './GestureHandler';\nimport { TEST_MAX_IF_NOT_NAN } from './utils';\n\nabstract class DiscreteGestureHandler extends GestureHandler {\n get isDiscrete() {\n return true;\n }\n\n get shouldEnableGestureOnSetup() {\n return true;\n }\n\n shouldFailUnderCustomCriteria(\n { x, y, deltaX, deltaY }: any,\n { maxDeltaX, maxDeltaY, maxDistSq, shouldCancelWhenOutside }: any\n ) {\n if (shouldCancelWhenOutside) {\n if (!this.isPointInView({ x, y })) {\n return true;\n }\n }\n return (\n TEST_MAX_IF_NOT_NAN(Math.abs(deltaX), maxDeltaX) ||\n TEST_MAX_IF_NOT_NAN(Math.abs(deltaY), maxDeltaY) ||\n TEST_MAX_IF_NOT_NAN(\n Math.abs(deltaY * deltaY + deltaX * deltaX),\n maxDistSq\n )\n );\n }\n\n transformNativeEvent({ center: { x, y } }: any) {\n // @ts-ignore FIXME(TS)\n const rect = this.view!.getBoundingClientRect();\n\n return {\n absoluteX: x,\n absoluteY: y,\n x: x - rect.left,\n y: y - rect.top,\n };\n }\n\n isGestureEnabledForEvent(\n {\n minPointers,\n maxPointers,\n maxDeltaX,\n maxDeltaY,\n maxDistSq,\n shouldCancelWhenOutside,\n }: any,\n _recognizer: any,\n { maxPointers: pointerLength, center, deltaX, deltaY }: any\n ) {\n const validPointerCount =\n pointerLength >= minPointers && pointerLength <= maxPointers;\n\n if (\n this.shouldFailUnderCustomCriteria(\n { ...center, deltaX, deltaY },\n {\n maxDeltaX,\n maxDeltaY,\n maxDistSq,\n shouldCancelWhenOutside,\n }\n ) ||\n // A user probably won't land a multi-pointer tap on the first tick (so we cannot just cancel each time)\n // but if the gesture is running and the user adds or subtracts another pointer then it should fail.\n (!validPointerCount && this.isGestureRunning)\n ) {\n return { failed: true };\n }\n\n return { success: validPointerCount };\n }\n}\n\nexport default DiscreteGestureHandler;\n"],"mappings":";;;;;;AAEA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAA8C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAH9C;AACA;;AAIA,MAAeG,sBAAsB,SAASC,uBAAc,CAAC;EAC3D,IAAIC,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI;EACb;EAEA,IAAIC,0BAA0BA,CAAA,EAAG;IAC/B,OAAO,IAAI;EACb;EAEAC,6BAA6BA,CAC3B;IAAEC,CAAC;IAAEC,CAAC;IAAEC,MAAM;IAAEC;EAAY,CAAC,EAC7B;IAAEC,SAAS;IAAEC,SAAS;IAAEC,SAAS;IAAEC;EAA6B,CAAC,EACjE;IACA,IAAIA,uBAAuB,EAAE;MAC3B,IAAI,CAAC,IAAI,CAACC,aAAa,CAAC;QAAER,CAAC;QAAEC;MAAE,CAAC,CAAC,EAAE;QACjC,OAAO,IAAI;MACb;IACF;IACA,OACE,IAAAQ,0BAAmB,EAACC,IAAI,CAACC,GAAG,CAACT,MAAM,CAAC,EAAEE,SAAS,CAAC,IAChD,IAAAK,0BAAmB,EAACC,IAAI,CAACC,GAAG,CAACR,MAAM,CAAC,EAAEE,SAAS,CAAC,IAChD,IAAAI,0BAAmB,EACjBC,IAAI,CAACC,GAAG,CAACR,MAAM,GAAGA,MAAM,GAAGD,MAAM,GAAGA,MAAM,CAAC,EAC3CI,SACF,CAAC;EAEL;EAEAM,oBAAoBA,CAAC;IAAEC,MAAM,EAAE;MAAEb,CAAC;MAAEC;IAAE;EAAO,CAAC,EAAE;IAC9C;IACA,MAAMa,IAAI,GAAG,IAAI,CAACC,IAAI,CAAEC,qBAAqB,CAAC,CAAC;IAE/C,OAAO;MACLC,SAAS,EAAEjB,CAAC;MACZkB,SAAS,EAAEjB,CAAC;MACZD,CAAC,EAAEA,CAAC,GAAGc,IAAI,CAACK,IAAI;MAChBlB,CAAC,EAAEA,CAAC,GAAGa,IAAI,CAACM;IACd,CAAC;EACH;EAEAC,wBAAwBA,CACtB;IACEC,WAAW;IACXC,WAAW;IACXnB,SAAS;IACTC,SAAS;IACTC,SAAS;IACTC;EACG,CAAC,EACNiB,WAAgB,EAChB;IAAED,WAAW,EAAEE,aAAa;IAAEZ,MAAM;IAAEX,MAAM;IAAEC;EAAY,CAAC,EAC3D;IACA,MAAMuB,iBAAiB,GACrBD,aAAa,IAAIH,WAAW,IAAIG,aAAa,IAAIF,WAAW;IAE9D,IACE,IAAI,CAACxB,6BAA6B,CAChC;MAAE,GAAGc,MAAM;MAAEX,MAAM;MAAEC;IAAO,CAAC,EAC7B;MACEC,SAAS;MACTC,SAAS;MACTC,SAAS;MACTC;IACF,CACF,CAAC;IACD;IACA;IACC,CAACmB,iBAAiB,IAAI,IAAI,CAACC,gBAAiB,EAC7C;MACA,OAAO;QAAEC,MAAM,EAAE;MAAK,CAAC;IACzB;IAEA,OAAO;MAAEC,OAAO,EAAEH;IAAkB,CAAC;EACvC;AACF;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAArC,OAAA,GAEcC,sBAAsB","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _GestureHandler = _interopRequireDefault(require("./GestureHandler"));
8
+ var _reactNative = require("react-native");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ /* eslint-disable eslint-comments/no-unlimited-disable */
11
+ /* eslint-disable */
12
+
13
+ class DraggingGestureHandler extends _GestureHandler.default {
14
+ get shouldEnableGestureOnSetup() {
15
+ return true;
16
+ }
17
+ transformNativeEvent({
18
+ deltaX,
19
+ deltaY,
20
+ velocityX,
21
+ velocityY,
22
+ center: {
23
+ x,
24
+ y
25
+ }
26
+ }) {
27
+ // @ts-ignore FIXME(TS)
28
+ const rect = this.view.getBoundingClientRect();
29
+ const ratio = _reactNative.PixelRatio.get();
30
+ return {
31
+ translationX: deltaX - (this.__initialX || 0),
32
+ translationY: deltaY - (this.__initialY || 0),
33
+ absoluteX: x,
34
+ absoluteY: y,
35
+ velocityX: velocityX * ratio,
36
+ velocityY: velocityY * ratio,
37
+ x: x - rect.left,
38
+ y: y - rect.top
39
+ };
40
+ }
41
+ }
42
+ var _default = exports.default = DraggingGestureHandler;
43
+ //# sourceMappingURL=DraggingGestureHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_GestureHandler","_interopRequireDefault","require","_reactNative","e","__esModule","default","DraggingGestureHandler","GestureHandler","shouldEnableGestureOnSetup","transformNativeEvent","deltaX","deltaY","velocityX","velocityY","center","x","y","rect","view","getBoundingClientRect","ratio","PixelRatio","get","translationX","__initialX","translationY","__initialY","absoluteX","absoluteY","left","top","_default","exports"],"sources":["DraggingGestureHandler.ts"],"sourcesContent":["/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport GestureHandler, { HammerInputExt } from './GestureHandler';\nimport { PixelRatio } from 'react-native';\n\nabstract class DraggingGestureHandler extends GestureHandler {\n get shouldEnableGestureOnSetup() {\n return true;\n }\n\n transformNativeEvent({\n deltaX,\n deltaY,\n velocityX,\n velocityY,\n center: { x, y },\n }: HammerInputExt) {\n // @ts-ignore FIXME(TS)\n const rect = this.view!.getBoundingClientRect();\n const ratio = PixelRatio.get();\n return {\n translationX: deltaX - (this.__initialX || 0),\n translationY: deltaY - (this.__initialY || 0),\n absoluteX: x,\n absoluteY: y,\n velocityX: velocityX * ratio,\n velocityY: velocityY * ratio,\n x: x - rect.left,\n y: y - rect.top,\n };\n }\n}\n\nexport default DraggingGestureHandler;\n"],"mappings":";;;;;;AAEA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAA0C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAH1C;AACA;;AAIA,MAAeG,sBAAsB,SAASC,uBAAc,CAAC;EAC3D,IAAIC,0BAA0BA,CAAA,EAAG;IAC/B,OAAO,IAAI;EACb;EAEAC,oBAAoBA,CAAC;IACnBC,MAAM;IACNC,MAAM;IACNC,SAAS;IACTC,SAAS;IACTC,MAAM,EAAE;MAAEC,CAAC;MAAEC;IAAE;EACD,CAAC,EAAE;IACjB;IACA,MAAMC,IAAI,GAAG,IAAI,CAACC,IAAI,CAAEC,qBAAqB,CAAC,CAAC;IAC/C,MAAMC,KAAK,GAAGC,uBAAU,CAACC,GAAG,CAAC,CAAC;IAC9B,OAAO;MACLC,YAAY,EAAEb,MAAM,IAAI,IAAI,CAACc,UAAU,IAAI,CAAC,CAAC;MAC7CC,YAAY,EAAEd,MAAM,IAAI,IAAI,CAACe,UAAU,IAAI,CAAC,CAAC;MAC7CC,SAAS,EAAEZ,CAAC;MACZa,SAAS,EAAEZ,CAAC;MACZJ,SAAS,EAAEA,SAAS,GAAGQ,KAAK;MAC5BP,SAAS,EAAEA,SAAS,GAAGO,KAAK;MAC5BL,CAAC,EAAEA,CAAC,GAAGE,IAAI,CAACY,IAAI;MAChBb,CAAC,EAAEA,CAAC,GAAGC,IAAI,CAACa;IACd,CAAC;EACH;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA3B,OAAA,GAEcC,sBAAsB","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GesturePropError = void 0;
7
+ class GesturePropError extends Error {
8
+ constructor(name, value, expectedType) {
9
+ super(`Invalid property \`${name}: ${value}\` expected \`${expectedType}\``);
10
+ }
11
+ }
12
+ exports.GesturePropError = GesturePropError;
13
+ //# sourceMappingURL=Errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GesturePropError","Error","constructor","name","value","expectedType","exports"],"sources":["Errors.ts"],"sourcesContent":["export class GesturePropError extends Error {\n constructor(name: string, value: unknown, expectedType: string) {\n super(\n `Invalid property \\`${name}: ${value}\\` expected \\`${expectedType}\\``\n );\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,gBAAgB,SAASC,KAAK,CAAC;EAC1CC,WAAWA,CAACC,IAAY,EAAEC,KAAc,EAAEC,YAAoB,EAAE;IAC9D,KAAK,CACH,sBAAsBF,IAAI,KAAKC,KAAK,iBAAiBC,YAAY,IACnE,CAAC;EACH;AACF;AAACC,OAAA,CAAAN,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _hammerjs = _interopRequireDefault(require("@egjs/hammerjs"));
8
+ var _constants = require("./constants");
9
+ var _Errors = require("./Errors");
10
+ var _DraggingGestureHandler = _interopRequireDefault(require("./DraggingGestureHandler"));
11
+ var _utils = require("./utils");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ /* eslint-disable eslint-comments/no-unlimited-disable */
14
+ /* eslint-disable */
15
+
16
+ class FlingGestureHandler extends _DraggingGestureHandler.default {
17
+ get name() {
18
+ return 'swipe';
19
+ }
20
+ get NativeGestureClass() {
21
+ return _hammerjs.default.Swipe;
22
+ }
23
+ onGestureActivated(event) {
24
+ this.sendEvent({
25
+ ...event,
26
+ eventType: _hammerjs.default.INPUT_MOVE,
27
+ isFinal: false,
28
+ isFirst: true
29
+ });
30
+ this.isGestureRunning = false;
31
+ this.hasGestureFailed = false;
32
+ this.sendEvent({
33
+ ...event,
34
+ eventType: _hammerjs.default.INPUT_END,
35
+ isFinal: true
36
+ });
37
+ }
38
+ onRawEvent(ev) {
39
+ super.onRawEvent(ev);
40
+ if (this.hasGestureFailed) {
41
+ return;
42
+ }
43
+ // Hammer doesn't send a `cancel` event for taps.
44
+ // Manually fail the event.
45
+ if (ev.isFinal) {
46
+ setTimeout(() => {
47
+ if (this.isGestureRunning) {
48
+ this.cancelEvent(ev);
49
+ }
50
+ });
51
+ } else if (!this.hasGestureFailed && !this.isGestureRunning) {
52
+ // Tap Gesture start event
53
+ const gesture = this.hammer.get(this.name);
54
+ // @ts-ignore FIXME(TS)
55
+ if (gesture.options.enable(gesture, ev)) {
56
+ this.onStart(ev);
57
+ this.sendEvent(ev);
58
+ }
59
+ }
60
+ }
61
+ getHammerConfig() {
62
+ return {
63
+ // @ts-ignore FIXME(TS)
64
+ pointers: this.config.numberOfPointers,
65
+ direction: this.getDirection()
66
+ };
67
+ }
68
+ getTargetDirections(direction) {
69
+ const directions = [];
70
+ if (direction & _constants.Direction.RIGHT) {
71
+ directions.push(_hammerjs.default.DIRECTION_RIGHT);
72
+ }
73
+ if (direction & _constants.Direction.LEFT) {
74
+ directions.push(_hammerjs.default.DIRECTION_LEFT);
75
+ }
76
+ if (direction & _constants.Direction.UP) {
77
+ directions.push(_hammerjs.default.DIRECTION_UP);
78
+ }
79
+ if (direction & _constants.Direction.DOWN) {
80
+ directions.push(_hammerjs.default.DIRECTION_DOWN);
81
+ }
82
+ // const hammerDirection = directions.reduce((a, b) => a | b, 0);
83
+ return directions;
84
+ }
85
+ getDirection() {
86
+ // @ts-ignore FIXME(TS)
87
+ const {
88
+ direction
89
+ } = this.getConfig();
90
+ let directions = [];
91
+ if (direction & _constants.Direction.RIGHT) {
92
+ directions.push(_hammerjs.default.DIRECTION_HORIZONTAL);
93
+ }
94
+ if (direction & _constants.Direction.LEFT) {
95
+ directions.push(_hammerjs.default.DIRECTION_HORIZONTAL);
96
+ }
97
+ if (direction & _constants.Direction.UP) {
98
+ directions.push(_hammerjs.default.DIRECTION_VERTICAL);
99
+ }
100
+ if (direction & _constants.Direction.DOWN) {
101
+ directions.push(_hammerjs.default.DIRECTION_VERTICAL);
102
+ }
103
+ directions = [...new Set(directions)];
104
+ if (directions.length === 0) return _hammerjs.default.DIRECTION_NONE;
105
+ if (directions.length === 1) return directions[0];
106
+ return _hammerjs.default.DIRECTION_ALL;
107
+ }
108
+ isGestureEnabledForEvent({
109
+ numberOfPointers
110
+ }, _recognizer, {
111
+ maxPointers: pointerLength
112
+ }) {
113
+ const validPointerCount = pointerLength === numberOfPointers;
114
+ if (!validPointerCount && this.isGestureRunning) {
115
+ return {
116
+ failed: true
117
+ };
118
+ }
119
+ return {
120
+ success: validPointerCount
121
+ };
122
+ }
123
+ updateGestureConfig({
124
+ numberOfPointers = 1,
125
+ direction,
126
+ ...props
127
+ }) {
128
+ if ((0, _utils.isnan)(direction) || typeof direction !== 'number') {
129
+ throw new _Errors.GesturePropError('direction', direction, 'number');
130
+ }
131
+ return super.updateGestureConfig({
132
+ numberOfPointers,
133
+ direction,
134
+ ...props
135
+ });
136
+ }
137
+ }
138
+ var _default = exports.default = FlingGestureHandler;
139
+ //# sourceMappingURL=FlingGestureHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_hammerjs","_interopRequireDefault","require","_constants","_Errors","_DraggingGestureHandler","_utils","e","__esModule","default","FlingGestureHandler","DraggingGestureHandler","name","NativeGestureClass","Hammer","Swipe","onGestureActivated","event","sendEvent","eventType","INPUT_MOVE","isFinal","isFirst","isGestureRunning","hasGestureFailed","INPUT_END","onRawEvent","ev","setTimeout","cancelEvent","gesture","hammer","get","options","enable","onStart","getHammerConfig","pointers","config","numberOfPointers","direction","getDirection","getTargetDirections","directions","Direction","RIGHT","push","DIRECTION_RIGHT","LEFT","DIRECTION_LEFT","UP","DIRECTION_UP","DOWN","DIRECTION_DOWN","getConfig","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","Set","length","DIRECTION_NONE","DIRECTION_ALL","isGestureEnabledForEvent","_recognizer","maxPointers","pointerLength","validPointerCount","failed","success","updateGestureConfig","props","isnan","GesturePropError","_default","exports"],"sources":["FlingGestureHandler.ts"],"sourcesContent":["/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport Hammer from '@egjs/hammerjs';\n\nimport { Direction } from './constants';\nimport { GesturePropError } from './Errors';\nimport DraggingGestureHandler from './DraggingGestureHandler';\nimport { isnan } from './utils';\nimport { HammerInputExt } from './GestureHandler';\n\nclass FlingGestureHandler extends DraggingGestureHandler {\n get name() {\n return 'swipe';\n }\n\n get NativeGestureClass() {\n return Hammer.Swipe;\n }\n\n onGestureActivated(event: HammerInputExt) {\n this.sendEvent({\n ...event,\n eventType: Hammer.INPUT_MOVE,\n isFinal: false,\n isFirst: true,\n });\n this.isGestureRunning = false;\n this.hasGestureFailed = false;\n this.sendEvent({\n ...event,\n eventType: Hammer.INPUT_END,\n isFinal: true,\n });\n }\n\n onRawEvent(ev: HammerInputExt) {\n super.onRawEvent(ev);\n if (this.hasGestureFailed) {\n return;\n }\n // Hammer doesn't send a `cancel` event for taps.\n // Manually fail the event.\n if (ev.isFinal) {\n setTimeout(() => {\n if (this.isGestureRunning) {\n this.cancelEvent(ev);\n }\n });\n } else if (!this.hasGestureFailed && !this.isGestureRunning) {\n // Tap Gesture start event\n const gesture = this.hammer!.get(this.name);\n // @ts-ignore FIXME(TS)\n if (gesture.options.enable(gesture, ev)) {\n this.onStart(ev);\n this.sendEvent(ev);\n }\n }\n }\n\n getHammerConfig() {\n return {\n // @ts-ignore FIXME(TS)\n pointers: this.config.numberOfPointers,\n direction: this.getDirection(),\n };\n }\n\n getTargetDirections(direction: number) {\n const directions = [];\n if (direction & Direction.RIGHT) {\n directions.push(Hammer.DIRECTION_RIGHT);\n }\n if (direction & Direction.LEFT) {\n directions.push(Hammer.DIRECTION_LEFT);\n }\n if (direction & Direction.UP) {\n directions.push(Hammer.DIRECTION_UP);\n }\n if (direction & Direction.DOWN) {\n directions.push(Hammer.DIRECTION_DOWN);\n }\n // const hammerDirection = directions.reduce((a, b) => a | b, 0);\n return directions;\n }\n\n getDirection() {\n // @ts-ignore FIXME(TS)\n const { direction } = this.getConfig();\n\n let directions = [];\n if (direction & Direction.RIGHT) {\n directions.push(Hammer.DIRECTION_HORIZONTAL);\n }\n if (direction & Direction.LEFT) {\n directions.push(Hammer.DIRECTION_HORIZONTAL);\n }\n if (direction & Direction.UP) {\n directions.push(Hammer.DIRECTION_VERTICAL);\n }\n if (direction & Direction.DOWN) {\n directions.push(Hammer.DIRECTION_VERTICAL);\n }\n directions = [...new Set(directions)];\n\n if (directions.length === 0) return Hammer.DIRECTION_NONE;\n if (directions.length === 1) return directions[0];\n return Hammer.DIRECTION_ALL;\n }\n\n isGestureEnabledForEvent(\n { numberOfPointers }: any,\n _recognizer: any,\n { maxPointers: pointerLength }: any\n ) {\n const validPointerCount = pointerLength === numberOfPointers;\n if (!validPointerCount && this.isGestureRunning) {\n return { failed: true };\n }\n return { success: validPointerCount };\n }\n\n updateGestureConfig({ numberOfPointers = 1, direction, ...props }: any) {\n if (isnan(direction) || typeof direction !== 'number') {\n throw new GesturePropError('direction', direction, 'number');\n }\n return super.updateGestureConfig({\n numberOfPointers,\n direction,\n ...props,\n });\n }\n}\n\nexport default FlingGestureHandler;\n"],"mappings":"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","ignoreList":[]}