@react-native-oh-tpl/react-native-gesture-handler 2.12.1-0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/DrawerLayout/package.json +6 -0
- package/LICENSE +21 -0
- package/README.md +62 -0
- package/RNGestureHandler.podspec +44 -0
- package/Swipeable/package.json +6 -0
- package/android/build.gradle +209 -0
- package/android/common/src/main/java/com/swmansion/common/GestureHandlerStateManager.kt +5 -0
- package/android/fabric/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerComponentsRegistry.java +29 -0
- package/android/fabric/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +12 -0
- package/android/gradle.properties +19 -0
- package/android/noreanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +10 -0
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +50 -0
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +23 -0
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +25 -0
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +16 -0
- package/android/paper/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +13 -0
- package/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +17 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +21 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/FlingGestureHandler.kt +100 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +807 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerInteractionController.kt +8 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +671 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerRegistry.kt +8 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureUtils.kt +47 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/HoverGestureHandler.kt +120 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/LongPressGestureHandler.kt +100 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/ManualGestureHandler.kt +11 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/NativeViewGestureHandler.kt +257 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/OnTouchEventListener.kt +9 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/PanGestureHandler.kt +322 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/PinchGestureHandler.kt +103 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/PointerEventsConfig.kt +23 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/RotationGestureDetector.kt +125 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/RotationGestureHandler.kt +93 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/ScaleGestureDetector.java +558 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/TapGestureHandler.kt +168 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/ViewConfigurationHelper.kt +10 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/Extensions.kt +16 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +423 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +15 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +75 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +74 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +702 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +100 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +142 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.kt +5 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +78 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +51 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +78 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +69 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +51 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/FlingGestureHandlerEventDataBuilder.kt +30 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/GestureHandlerEventDataBuilder.kt +22 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/HoverGestureHandlerEventDataBuilder.kt +30 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/LongPressGestureHandlerEventDataBuilder.kt +33 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/ManualGestureHandlerEventDataBuilder.kt +5 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/NativeGestureHandlerEventDataBuilder.kt +18 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/PanGestureHandlerEventDataBuilder.kt +42 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/PinchGestureHandlerEventDataBuilder.kt +30 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/RotationGestureHandlerEventDataBuilder.kt +30 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/TapGestureHandlerEventDataBuilder.kt +30 -0
- package/android/src/main/jni/CMakeLists.txt +37 -0
- package/android/src/main/jni/cpp-adapter.cpp +44 -0
- package/ios/Handlers/RNFlingHandler.h +4 -0
- package/ios/Handlers/RNFlingHandler.m +152 -0
- package/ios/Handlers/RNForceTouchHandler.h +4 -0
- package/ios/Handlers/RNForceTouchHandler.m +175 -0
- package/ios/Handlers/RNHoverHandler.h +12 -0
- package/ios/Handlers/RNHoverHandler.m +153 -0
- package/ios/Handlers/RNLongPressHandler.h +12 -0
- package/ios/Handlers/RNLongPressHandler.m +183 -0
- package/ios/Handlers/RNManualHandler.h +4 -0
- package/ios/Handlers/RNManualHandler.m +88 -0
- package/ios/Handlers/RNNativeViewHandler.h +15 -0
- package/ios/Handlers/RNNativeViewHandler.mm +193 -0
- package/ios/Handlers/RNPanHandler.h +12 -0
- package/ios/Handlers/RNPanHandler.m +331 -0
- package/ios/Handlers/RNPinchHandler.h +12 -0
- package/ios/Handlers/RNPinchHandler.m +95 -0
- package/ios/Handlers/RNRotationHandler.h +12 -0
- package/ios/Handlers/RNRotationHandler.m +93 -0
- package/ios/Handlers/RNTapHandler.h +12 -0
- package/ios/Handlers/RNTapHandler.m +265 -0
- package/ios/RNGHTouchEventType.h +9 -0
- package/ios/RNGestureHandler.h +90 -0
- package/ios/RNGestureHandler.m +493 -0
- package/ios/RNGestureHandler.xcodeproj/project.pbxproj +690 -0
- package/ios/RNGestureHandler.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/RNGestureHandlerActionType.h +10 -0
- package/ios/RNGestureHandlerButton.h +19 -0
- package/ios/RNGestureHandlerButton.m +77 -0
- package/ios/RNGestureHandlerButtonComponentView.h +17 -0
- package/ios/RNGestureHandlerButtonComponentView.mm +64 -0
- package/ios/RNGestureHandlerButtonManager.h +5 -0
- package/ios/RNGestureHandlerButtonManager.m +34 -0
- package/ios/RNGestureHandlerDirection.h +8 -0
- package/ios/RNGestureHandlerEvents.h +65 -0
- package/ios/RNGestureHandlerEvents.m +260 -0
- package/ios/RNGestureHandlerManager.h +35 -0
- package/ios/RNGestureHandlerManager.mm +367 -0
- package/ios/RNGestureHandlerModule.h +7 -0
- package/ios/RNGestureHandlerModule.mm +320 -0
- package/ios/RNGestureHandlerPointerTracker.h +25 -0
- package/ios/RNGestureHandlerPointerTracker.m +243 -0
- package/ios/RNGestureHandlerRegistry.h +21 -0
- package/ios/RNGestureHandlerRegistry.m +63 -0
- package/ios/RNGestureHandlerRootViewComponentView.mm +21 -0
- package/ios/RNGestureHandlerState.h +10 -0
- package/ios/RNGestureHandlerStateManager.h +5 -0
- package/ios/RNManualActivationRecognizer.h +10 -0
- package/ios/RNManualActivationRecognizer.m +88 -0
- package/ios/RNRootViewGestureRecognizer.h +17 -0
- package/ios/RNRootViewGestureRecognizer.m +106 -0
- package/jest-utils/package.json +6 -0
- package/jestSetup.js +7 -0
- package/lib/commonjs/ActionType.js +15 -0
- package/lib/commonjs/ActionType.js.map +1 -0
- package/lib/commonjs/Directions.js +15 -0
- package/lib/commonjs/Directions.js.map +1 -0
- package/lib/commonjs/EnableNewWebImplementation.js +35 -0
- package/lib/commonjs/EnableNewWebImplementation.js.map +1 -0
- package/lib/commonjs/GestureHandlerRootViewContext.js +15 -0
- package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -0
- package/lib/commonjs/PlatformConstants.js +15 -0
- package/lib/commonjs/PlatformConstants.js.map +1 -0
- package/lib/commonjs/PlatformConstants.web.js +14 -0
- package/lib/commonjs/PlatformConstants.web.js.map +1 -0
- package/lib/commonjs/RNGestureHandlerModule.js +29 -0
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -0
- package/lib/commonjs/RNGestureHandlerModule.macos.js +149 -0
- package/lib/commonjs/RNGestureHandlerModule.macos.js.map +1 -0
- package/lib/commonjs/RNGestureHandlerModule.web.js +163 -0
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -0
- package/lib/commonjs/RNGestureHandlerModule.windows.js +158 -0
- package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -0
- package/lib/commonjs/RNRenderer.js +16 -0
- package/lib/commonjs/RNRenderer.js.map +1 -0
- package/lib/commonjs/RNRenderer.web.js +11 -0
- package/lib/commonjs/RNRenderer.web.js.map +1 -0
- package/lib/commonjs/State.js +18 -0
- package/lib/commonjs/State.js.map +1 -0
- package/lib/commonjs/TouchEventType.js +16 -0
- package/lib/commonjs/TouchEventType.js.map +1 -0
- package/lib/commonjs/components/DrawerLayout.js +566 -0
- package/lib/commonjs/components/DrawerLayout.js.map +1 -0
- package/lib/commonjs/components/GestureButtons.js +240 -0
- package/lib/commonjs/components/GestureButtons.js.map +1 -0
- package/lib/commonjs/components/GestureComponents.js +115 -0
- package/lib/commonjs/components/GestureComponents.js.map +1 -0
- package/lib/commonjs/components/GestureComponents.web.js +52 -0
- package/lib/commonjs/components/GestureComponents.web.js.map +1 -0
- package/lib/commonjs/components/GestureHandlerButton.js +14 -0
- package/lib/commonjs/components/GestureHandlerButton.js.map +1 -0
- package/lib/commonjs/components/GestureHandlerButton.web.js +24 -0
- package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -0
- package/lib/commonjs/components/GestureHandlerRootView.android.js +31 -0
- package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -0
- package/lib/commonjs/components/GestureHandlerRootView.js +31 -0
- package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -0
- package/lib/commonjs/components/GestureHandlerRootView.web.js +25 -0
- package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -0
- package/lib/commonjs/components/Swipeable.js +408 -0
- package/lib/commonjs/components/Swipeable.js.map +1 -0
- package/lib/commonjs/components/gestureHandlerRootHOC.js +40 -0
- package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -0
- package/lib/commonjs/components/touchables/GenericTouchable.js +289 -0
- package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -0
- package/lib/commonjs/components/touchables/TouchableHighlight.js +109 -0
- package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -0
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +100 -0
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -0
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +12 -0
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -0
- package/lib/commonjs/components/touchables/TouchableOpacity.js +77 -0
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -0
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +26 -0
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -0
- package/lib/commonjs/components/touchables/index.js +40 -0
- package/lib/commonjs/components/touchables/index.js.map +1 -0
- package/lib/commonjs/getReactNativeVersion.js +22 -0
- package/lib/commonjs/getReactNativeVersion.js.map +1 -0
- package/lib/commonjs/getReactNativeVersion.web.js +11 -0
- package/lib/commonjs/getReactNativeVersion.web.js.map +1 -0
- package/lib/commonjs/getShadowNodeFromRef.js +27 -0
- package/lib/commonjs/getShadowNodeFromRef.js.map +1 -0
- package/lib/commonjs/getShadowNodeFromRef.web.js +15 -0
- package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -0
- package/lib/commonjs/ghQueueMicrotask.js +12 -0
- package/lib/commonjs/ghQueueMicrotask.js.map +1 -0
- package/lib/commonjs/handlers/FlingGestureHandler.js +25 -0
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +49 -0
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/LongPressGestureHandler.js +27 -0
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +27 -0
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/PanGestureHandler.js +123 -0
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/PinchGestureHandler.js +23 -0
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/PressabilityDebugView.js +14 -0
- package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -0
- package/lib/commonjs/handlers/PressabilityDebugView.web.js +12 -0
- package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -0
- package/lib/commonjs/handlers/RotationGestureHandler.js +23 -0
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/TapGestureHandler.js +27 -0
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/createHandler.js +464 -0
- package/lib/commonjs/handlers/createHandler.js.map +1 -0
- package/lib/commonjs/handlers/createNativeWrapper.js +74 -0
- package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -0
- package/lib/commonjs/handlers/gestureHandlerCommon.js +103 -0
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -0
- package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +6 -0
- package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -0
- package/lib/commonjs/handlers/gestures/GestureDetector.js +669 -0
- package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -0
- package/lib/commonjs/handlers/gestures/eventReceiver.js +147 -0
- package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -0
- package/lib/commonjs/handlers/gestures/flingGesture.js +34 -0
- package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +65 -0
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gesture.js +241 -0
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureComposition.js +105 -0
- package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureObjects.js +90 -0
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +65 -0
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +32 -0
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -0
- package/lib/commonjs/handlers/gestures/hoverGesture.js +74 -0
- package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/longPressGesture.js +35 -0
- package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/manualGesture.js +31 -0
- package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/nativeGesture.js +34 -0
- package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/panGesture.js +149 -0
- package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/pinchGesture.js +45 -0
- package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +37 -0
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -0
- package/lib/commonjs/handlers/gestures/rotationGesture.js +45 -0
- package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/tapGesture.js +60 -0
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -0
- package/lib/commonjs/handlers/handlersRegistry.js +67 -0
- package/lib/commonjs/handlers/handlersRegistry.js.map +1 -0
- package/lib/commonjs/index.js +266 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/init.js +32 -0
- package/lib/commonjs/init.js.map +1 -0
- package/lib/commonjs/jestUtils/index.js +20 -0
- package/lib/commonjs/jestUtils/index.js.map +1 -0
- package/lib/commonjs/jestUtils/jestUtils.js +375 -0
- package/lib/commonjs/jestUtils/jestUtils.js.map +1 -0
- package/lib/commonjs/mocks.js +66 -0
- package/lib/commonjs/mocks.js.map +1 -0
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +15 -0
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +15 -0
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -0
- package/lib/commonjs/typeUtils.js +2 -0
- package/lib/commonjs/typeUtils.js.map +1 -0
- package/lib/commonjs/utils.js +63 -0
- package/lib/commonjs/utils.js.map +1 -0
- package/lib/commonjs/web/constants.js +16 -0
- package/lib/commonjs/web/constants.js.map +1 -0
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +165 -0
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -0
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js +156 -0
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -0
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +167 -0
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/GestureHandler.js +794 -0
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/HoverGestureHandler.js +62 -0
- package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js +151 -0
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/ManualGestureHandler.js +61 -0
- package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +178 -0
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/PanGestureHandler.js +448 -0
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +174 -0
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +186 -0
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/TapGestureHandler.js +280 -0
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -0
- package/lib/commonjs/web/interfaces.js +55 -0
- package/lib/commonjs/web/interfaces.js.map +1 -0
- package/lib/commonjs/web/tools/CircularBuffer.js +59 -0
- package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -0
- package/lib/commonjs/web/tools/EventManager.js +127 -0
- package/lib/commonjs/web/tools/EventManager.js.map +1 -0
- package/lib/commonjs/web/tools/GestureHandlerDelegate.js +6 -0
- package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -0
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +349 -0
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -0
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +118 -0
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -0
- package/lib/commonjs/web/tools/InteractionManager.js +114 -0
- package/lib/commonjs/web/tools/InteractionManager.js.map +1 -0
- package/lib/commonjs/web/tools/LeastSquareSolver.js +204 -0
- package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -0
- package/lib/commonjs/web/tools/NodeManager.js +48 -0
- package/lib/commonjs/web/tools/NodeManager.js.map +1 -0
- package/lib/commonjs/web/tools/PointerEventManager.js +198 -0
- package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -0
- package/lib/commonjs/web/tools/PointerTracker.js +226 -0
- package/lib/commonjs/web/tools/PointerTracker.js.map +1 -0
- package/lib/commonjs/web/tools/TouchEventManager.js +138 -0
- package/lib/commonjs/web/tools/TouchEventManager.js.map +1 -0
- package/lib/commonjs/web/tools/VelocityTracker.js +111 -0
- package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -0
- package/lib/commonjs/web/utils.js +15 -0
- package/lib/commonjs/web/utils.js.map +1 -0
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +105 -0
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js +53 -0
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/Errors.js +16 -0
- package/lib/commonjs/web_hammer/Errors.js.map +1 -0
- package/lib/commonjs/web_hammer/FlingGestureHandler.js +170 -0
- package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/GestureHandler.js +579 -0
- package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +54 -0
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js +71 -0
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +66 -0
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/NodeManager.js +46 -0
- package/lib/commonjs/web_hammer/NodeManager.js.map +1 -0
- package/lib/commonjs/web_hammer/PanGestureHandler.js +208 -0
- package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/PinchGestureHandler.js +40 -0
- package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/PressGestureHandler.js +188 -0
- package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/RotationGestureHandler.js +44 -0
- package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/TapGestureHandler.js +192 -0
- package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/constants.js +64 -0
- package/lib/commonjs/web_hammer/constants.js.map +1 -0
- package/lib/commonjs/web_hammer/utils.js +42 -0
- package/lib/commonjs/web_hammer/utils.js.map +1 -0
- package/lib/module/ActionType.js +7 -0
- package/lib/module/ActionType.js.map +1 -0
- package/lib/module/Directions.js +7 -0
- package/lib/module/Directions.js.map +1 -0
- package/lib/module/EnableNewWebImplementation.js +22 -0
- package/lib/module/EnableNewWebImplementation.js.map +1 -0
- package/lib/module/GestureHandlerRootViewContext.js +3 -0
- package/lib/module/GestureHandlerRootViewContext.js.map +1 -0
- package/lib/module/PlatformConstants.js +5 -0
- package/lib/module/PlatformConstants.js.map +1 -0
- package/lib/module/PlatformConstants.web.js +7 -0
- package/lib/module/PlatformConstants.web.js.map +1 -0
- package/lib/module/RNGestureHandlerModule.js +19 -0
- package/lib/module/RNGestureHandlerModule.js.map +1 -0
- package/lib/module/RNGestureHandlerModule.macos.js +110 -0
- package/lib/module/RNGestureHandlerModule.macos.js.map +1 -0
- package/lib/module/RNGestureHandlerModule.web.js +122 -0
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -0
- package/lib/module/RNGestureHandlerModule.windows.js +118 -0
- package/lib/module/RNGestureHandlerModule.windows.js.map +1 -0
- package/lib/module/RNRenderer.js +4 -0
- package/lib/module/RNRenderer.js.map +1 -0
- package/lib/module/RNRenderer.web.js +4 -0
- package/lib/module/RNRenderer.web.js.map +1 -0
- package/lib/module/State.js +10 -0
- package/lib/module/State.js.map +1 -0
- package/lib/module/TouchEventType.js +8 -0
- package/lib/module/TouchEventType.js.map +1 -0
- package/lib/module/components/DrawerLayout.js +551 -0
- package/lib/module/components/DrawerLayout.js.map +1 -0
- package/lib/module/components/GestureButtons.js +206 -0
- package/lib/module/components/GestureButtons.js.map +1 -0
- package/lib/module/components/GestureComponents.js +90 -0
- package/lib/module/components/GestureComponents.js.map +1 -0
- package/lib/module/components/GestureComponents.web.js +28 -0
- package/lib/module/components/GestureComponents.web.js.map +1 -0
- package/lib/module/components/GestureHandlerButton.js +3 -0
- package/lib/module/components/GestureHandlerButton.js.map +1 -0
- package/lib/module/components/GestureHandlerButton.web.js +9 -0
- package/lib/module/components/GestureHandlerButton.web.js.map +1 -0
- package/lib/module/components/GestureHandlerRootView.android.js +14 -0
- package/lib/module/components/GestureHandlerRootView.android.js.map +1 -0
- package/lib/module/components/GestureHandlerRootView.js +14 -0
- package/lib/module/components/GestureHandlerRootView.js.map +1 -0
- package/lib/module/components/GestureHandlerRootView.web.js +9 -0
- package/lib/module/components/GestureHandlerRootView.web.js.map +1 -0
- package/lib/module/components/Swipeable.js +390 -0
- package/lib/module/components/Swipeable.js.map +1 -0
- package/lib/module/components/gestureHandlerRootHOC.js +22 -0
- package/lib/module/components/gestureHandlerRootHOC.js.map +1 -0
- package/lib/module/components/touchables/GenericTouchable.js +273 -0
- package/lib/module/components/touchables/GenericTouchable.js.map +1 -0
- package/lib/module/components/touchables/TouchableHighlight.js +95 -0
- package/lib/module/components/touchables/TouchableHighlight.js.map +1 -0
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js +84 -0
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -0
- package/lib/module/components/touchables/TouchableNativeFeedback.js +3 -0
- package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -0
- package/lib/module/components/touchables/TouchableOpacity.js +63 -0
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -0
- package/lib/module/components/touchables/TouchableWithoutFeedback.js +10 -0
- package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -0
- package/lib/module/components/touchables/index.js +5 -0
- package/lib/module/components/touchables/index.js.map +1 -0
- package/lib/module/getReactNativeVersion.js +10 -0
- package/lib/module/getReactNativeVersion.js.map +1 -0
- package/lib/module/getReactNativeVersion.web.js +4 -0
- package/lib/module/getReactNativeVersion.web.js.map +1 -0
- package/lib/module/getShadowNodeFromRef.js +20 -0
- package/lib/module/getShadowNodeFromRef.js.map +1 -0
- package/lib/module/getShadowNodeFromRef.web.js +8 -0
- package/lib/module/getShadowNodeFromRef.web.js.map +1 -0
- package/lib/module/ghQueueMicrotask.js +5 -0
- package/lib/module/ghQueueMicrotask.js.map +1 -0
- package/lib/module/handlers/FlingGestureHandler.js +11 -0
- package/lib/module/handlers/FlingGestureHandler.js.map +1 -0
- package/lib/module/handlers/ForceTouchGestureHandler.js +31 -0
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -0
- package/lib/module/handlers/LongPressGestureHandler.js +13 -0
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -0
- package/lib/module/handlers/NativeViewGestureHandler.js +12 -0
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -0
- package/lib/module/handlers/PanGestureHandler.js +107 -0
- package/lib/module/handlers/PanGestureHandler.js.map +1 -0
- package/lib/module/handlers/PinchGestureHandler.js +10 -0
- package/lib/module/handlers/PinchGestureHandler.js.map +1 -0
- package/lib/module/handlers/PressabilityDebugView.js +3 -0
- package/lib/module/handlers/PressabilityDebugView.js.map +1 -0
- package/lib/module/handlers/PressabilityDebugView.web.js +5 -0
- package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -0
- package/lib/module/handlers/RotationGestureHandler.js +10 -0
- package/lib/module/handlers/RotationGestureHandler.js.map +1 -0
- package/lib/module/handlers/TapGestureHandler.js +13 -0
- package/lib/module/handlers/TapGestureHandler.js.map +1 -0
- package/lib/module/handlers/createHandler.js +433 -0
- package/lib/module/handlers/createHandler.js.map +1 -0
- package/lib/module/handlers/createNativeWrapper.js +62 -0
- package/lib/module/handlers/createNativeWrapper.js.map +1 -0
- package/lib/module/handlers/gestureHandlerCommon.js +81 -0
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -0
- package/lib/module/handlers/gestureHandlerTypesCompat.js +2 -0
- package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -0
- package/lib/module/handlers/gestures/GestureDetector.js +619 -0
- package/lib/module/handlers/gestures/GestureDetector.js.map +1 -0
- package/lib/module/handlers/gestures/eventReceiver.js +131 -0
- package/lib/module/handlers/gestures/eventReceiver.js.map +1 -0
- package/lib/module/handlers/gestures/flingGesture.js +24 -0
- package/lib/module/handlers/gestures/flingGesture.js.map +1 -0
- package/lib/module/handlers/gestures/forceTouchGesture.js +56 -0
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -0
- package/lib/module/handlers/gestures/gesture.js +222 -0
- package/lib/module/handlers/gestures/gesture.js.map +1 -0
- package/lib/module/handlers/gestures/gestureComposition.js +90 -0
- package/lib/module/handlers/gestures/gestureComposition.js.map +1 -0
- package/lib/module/handlers/gestures/gestureObjects.js +71 -0
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -0
- package/lib/module/handlers/gestures/gestureStateManager.js +54 -0
- package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -0
- package/lib/module/handlers/gestures/gestureStateManager.web.js +21 -0
- package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -0
- package/lib/module/handlers/gestures/hoverGesture.js +62 -0
- package/lib/module/handlers/gestures/hoverGesture.js.map +1 -0
- package/lib/module/handlers/gestures/longPressGesture.js +25 -0
- package/lib/module/handlers/gestures/longPressGesture.js.map +1 -0
- package/lib/module/handlers/gestures/manualGesture.js +22 -0
- package/lib/module/handlers/gestures/manualGesture.js.map +1 -0
- package/lib/module/handlers/gestures/nativeGesture.js +24 -0
- package/lib/module/handlers/gestures/nativeGesture.js.map +1 -0
- package/lib/module/handlers/gestures/panGesture.js +140 -0
- package/lib/module/handlers/gestures/panGesture.js.map +1 -0
- package/lib/module/handlers/gestures/pinchGesture.js +36 -0
- package/lib/module/handlers/gestures/pinchGesture.js.map +1 -0
- package/lib/module/handlers/gestures/reanimatedWrapper.js +30 -0
- package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -0
- package/lib/module/handlers/gestures/rotationGesture.js +36 -0
- package/lib/module/handlers/gestures/rotationGesture.js.map +1 -0
- package/lib/module/handlers/gestures/tapGesture.js +50 -0
- package/lib/module/handlers/gestures/tapGesture.js.map +1 -0
- package/lib/module/handlers/handlersRegistry.js +44 -0
- package/lib/module/handlers/handlersRegistry.js.map +1 -0
- package/lib/module/index.js +25 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/init.js +16 -0
- package/lib/module/init.js.map +1 -0
- package/lib/module/jestUtils/index.js +2 -0
- package/lib/module/jestUtils/index.js.map +1 -0
- package/lib/module/jestUtils/jestUtils.js +350 -0
- package/lib/module/jestUtils/jestUtils.js.map +1 -0
- package/lib/module/mocks.js +56 -0
- package/lib/module/mocks.js.map +1 -0
- package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js +3 -0
- package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -0
- package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js +3 -0
- package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -0
- package/lib/module/typeUtils.js +2 -0
- package/lib/module/typeUtils.js.map +1 -0
- package/lib/module/utils.js +44 -0
- package/lib/module/utils.js.map +1 -0
- package/lib/module/web/constants.js +8 -0
- package/lib/module/web/constants.js.map +1 -0
- package/lib/module/web/detectors/RotationGestureDetector.js +155 -0
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -0
- package/lib/module/web/detectors/ScaleGestureDetector.js +145 -0
- package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -0
- package/lib/module/web/handlers/FlingGestureHandler.js +152 -0
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/GestureHandler.js +776 -0
- package/lib/module/web/handlers/GestureHandler.js.map +1 -0
- package/lib/module/web/handlers/HoverGestureHandler.js +47 -0
- package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/LongPressGestureHandler.js +136 -0
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/ManualGestureHandler.js +49 -0
- package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/NativeViewGestureHandler.js +163 -0
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/PanGestureHandler.js +433 -0
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/PinchGestureHandler.js +159 -0
- package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/RotationGestureHandler.js +171 -0
- package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/TapGestureHandler.js +265 -0
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -0
- package/lib/module/web/interfaces.js +45 -0
- package/lib/module/web/interfaces.js.map +1 -0
- package/lib/module/web/tools/CircularBuffer.js +50 -0
- package/lib/module/web/tools/CircularBuffer.js.map +1 -0
- package/lib/module/web/tools/EventManager.js +118 -0
- package/lib/module/web/tools/EventManager.js.map +1 -0
- package/lib/module/web/tools/GestureHandlerDelegate.js +2 -0
- package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -0
- package/lib/module/web/tools/GestureHandlerOrchestrator.js +335 -0
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -0
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +102 -0
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -0
- package/lib/module/web/tools/InteractionManager.js +105 -0
- package/lib/module/web/tools/InteractionManager.js.map +1 -0
- package/lib/module/web/tools/LeastSquareSolver.js +195 -0
- package/lib/module/web/tools/LeastSquareSolver.js.map +1 -0
- package/lib/module/web/tools/NodeManager.js +39 -0
- package/lib/module/web/tools/NodeManager.js.map +1 -0
- package/lib/module/web/tools/PointerEventManager.js +184 -0
- package/lib/module/web/tools/PointerEventManager.js.map +1 -0
- package/lib/module/web/tools/PointerTracker.js +213 -0
- package/lib/module/web/tools/PointerTracker.js.map +1 -0
- package/lib/module/web/tools/TouchEventManager.js +124 -0
- package/lib/module/web/tools/TouchEventManager.js.map +1 -0
- package/lib/module/web/tools/VelocityTracker.js +98 -0
- package/lib/module/web/tools/VelocityTracker.js.map +1 -0
- package/lib/module/web/utils.js +8 -0
- package/lib/module/web/utils.js.map +1 -0
- package/lib/module/web_hammer/DiscreteGestureHandler.js +94 -0
- package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/DraggingGestureHandler.js +40 -0
- package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/Errors.js +7 -0
- package/lib/module/web_hammer/Errors.js.map +1 -0
- package/lib/module/web_hammer/FlingGestureHandler.js +156 -0
- package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/GestureHandler.js +563 -0
- package/lib/module/web_hammer/GestureHandler.js.map +1 -0
- package/lib/module/web_hammer/IndiscreteGestureHandler.js +44 -0
- package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/LongPressGestureHandler.js +58 -0
- package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/NativeViewGestureHandler.js +49 -0
- package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/NodeManager.js +33 -0
- package/lib/module/web_hammer/NodeManager.js.map +1 -0
- package/lib/module/web_hammer/PanGestureHandler.js +194 -0
- package/lib/module/web_hammer/PanGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/PinchGestureHandler.js +29 -0
- package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/PressGestureHandler.js +174 -0
- package/lib/module/web_hammer/PressGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/RotationGestureHandler.js +32 -0
- package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/TapGestureHandler.js +180 -0
- package/lib/module/web_hammer/TapGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/constants.js +43 -0
- package/lib/module/web_hammer/constants.js.map +1 -0
- package/lib/module/web_hammer/utils.js +19 -0
- package/lib/module/web_hammer/utils.js.map +1 -0
- package/lib/typescript/ActionType.d.ts +7 -0
- package/lib/typescript/Directions.d.ts +7 -0
- package/lib/typescript/EnableNewWebImplementation.d.ts +3 -0
- package/lib/typescript/GestureHandlerRootViewContext.d.ts +3 -0
- package/lib/typescript/PlatformConstants.d.ts +5 -0
- package/lib/typescript/PlatformConstants.web.d.ts +4 -0
- package/lib/typescript/RNGestureHandlerModule.d.ts +13 -0
- package/lib/typescript/RNGestureHandlerModule.macos.d.ts +47 -0
- package/lib/typescript/RNGestureHandlerModule.web.d.ts +50 -0
- package/lib/typescript/RNGestureHandlerModule.windows.d.ts +48 -0
- package/lib/typescript/RNRenderer.d.ts +1 -0
- package/lib/typescript/RNRenderer.web.d.ts +3 -0
- package/lib/typescript/State.d.ts +9 -0
- package/lib/typescript/TouchEventType.d.ts +8 -0
- package/lib/typescript/components/DrawerLayout.d.ts +148 -0
- package/lib/typescript/components/GestureButtons.d.ts +121 -0
- package/lib/typescript/components/GestureComponents.d.ts +22 -0
- package/lib/typescript/components/GestureComponents.web.d.ts +8 -0
- package/lib/typescript/components/GestureHandlerButton.d.ts +4 -0
- package/lib/typescript/components/GestureHandlerButton.web.d.ts +4 -0
- package/lib/typescript/components/GestureHandlerRootView.android.d.ts +6 -0
- package/lib/typescript/components/GestureHandlerRootView.d.ts +6 -0
- package/lib/typescript/components/GestureHandlerRootView.web.d.ts +6 -0
- package/lib/typescript/components/Swipeable.d.ts +178 -0
- package/lib/typescript/components/gestureHandlerRootHOC.d.ts +3 -0
- package/lib/typescript/components/touchables/GenericTouchable.d.ts +68 -0
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +36 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +45 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +2 -0
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +25 -0
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +7 -0
- package/lib/typescript/components/touchables/index.d.ts +7 -0
- package/lib/typescript/getReactNativeVersion.d.ts +4 -0
- package/lib/typescript/getReactNativeVersion.web.d.ts +1 -0
- package/lib/typescript/getShadowNodeFromRef.d.ts +1 -0
- package/lib/typescript/getShadowNodeFromRef.web.d.ts +1 -0
- package/lib/typescript/ghQueueMicrotask.d.ts +1 -0
- package/lib/typescript/handlers/FlingGestureHandler.d.ts +34 -0
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +44 -0
- package/lib/typescript/handlers/LongPressGestureHandler.d.ts +56 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +28 -0
- package/lib/typescript/handlers/PanGestureHandler.d.ts +139 -0
- package/lib/typescript/handlers/PinchGestureHandler.d.ts +29 -0
- package/lib/typescript/handlers/PressabilityDebugView.d.ts +1 -0
- package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +1 -0
- package/lib/typescript/handlers/RotationGestureHandler.d.ts +29 -0
- package/lib/typescript/handlers/TapGestureHandler.d.ts +57 -0
- package/lib/typescript/handlers/createHandler.d.ts +11 -0
- package/lib/typescript/handlers/createNativeWrapper.d.ts +3 -0
- package/lib/typescript/handlers/gestureHandlerCommon.d.ts +68 -0
- package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +42 -0
- package/lib/typescript/handlers/gestures/GestureDetector.d.ts +19 -0
- package/lib/typescript/handlers/gestures/eventReceiver.d.ts +4 -0
- package/lib/typescript/handlers/gestures/flingGesture.d.ts +9 -0
- package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +15 -0
- package/lib/typescript/handlers/gestures/gesture.d.ts +110 -0
- package/lib/typescript/handlers/gestures/gestureComposition.d.ts +21 -0
- package/lib/typescript/handlers/gestures/gestureObjects.d.ts +41 -0
- package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +9 -0
- package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +4 -0
- package/lib/typescript/handlers/gestures/hoverGesture.d.ts +32 -0
- package/lib/typescript/handlers/gestures/longPressGesture.d.ts +9 -0
- package/lib/typescript/handlers/gestures/manualGesture.d.ts +7 -0
- package/lib/typescript/handlers/gestures/nativeGesture.d.ts +9 -0
- package/lib/typescript/handlers/gestures/panGesture.d.ts +26 -0
- package/lib/typescript/handlers/gestures/pinchGesture.d.ts +11 -0
- package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +14 -0
- package/lib/typescript/handlers/gestures/rotationGesture.d.ts +12 -0
- package/lib/typescript/handlers/gestures/tapGesture.d.ts +14 -0
- package/lib/typescript/handlers/handlersRegistry.d.ts +14 -0
- package/lib/typescript/index.d.ts +52 -0
- package/lib/typescript/init.d.ts +2 -0
- package/lib/typescript/jestUtils/index.d.ts +1 -0
- package/lib/typescript/jestUtils/jestUtils.d.ts +28 -0
- package/lib/typescript/mocks.d.ts +44 -0
- package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +14 -0
- package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +6 -0
- package/lib/typescript/typeUtils.d.ts +1 -0
- package/lib/typescript/utils.d.ts +8 -0
- package/lib/typescript/web/constants.d.ts +7 -0
- package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +30 -0
- package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +29 -0
- package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +27 -0
- package/lib/typescript/web/handlers/GestureHandler.d.ts +90 -0
- package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +10 -0
- package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +26 -0
- package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +12 -0
- package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +24 -0
- package/lib/typescript/web/handlers/PanGestureHandler.d.ts +55 -0
- package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +28 -0
- package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +29 -0
- package/lib/typescript/web/handlers/TapGestureHandler.d.ts +39 -0
- package/lib/typescript/web/interfaces.d.ts +141 -0
- package/lib/typescript/web/tools/CircularBuffer.d.ts +11 -0
- package/lib/typescript/web/tools/EventManager.d.ts +34 -0
- package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +22 -0
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +29 -0
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +21 -0
- package/lib/typescript/web/tools/InteractionManager.d.ts +17 -0
- package/lib/typescript/web/tools/LeastSquareSolver.d.ts +12 -0
- package/lib/typescript/web/tools/NodeManager.d.ts +11 -0
- package/lib/typescript/web/tools/PointerEventManager.d.ts +8 -0
- package/lib/typescript/web/tools/PointerTracker.d.ts +53 -0
- package/lib/typescript/web/tools/TouchEventManager.d.ts +6 -0
- package/lib/typescript/web/tools/VelocityTracker.d.ts +13 -0
- package/lib/typescript/web/utils.d.ts +4 -0
- package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts +20 -0
- package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts +15 -0
- package/lib/typescript/web_hammer/Errors.d.ts +3 -0
- package/lib/typescript/web_hammer/FlingGestureHandler.d.ts +43 -0
- package/lib/typescript/web_hammer/GestureHandler.d.ts +145 -0
- package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts +40 -0
- package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts +38 -0
- package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts +7 -0
- package/lib/typescript/web_hammer/NodeManager.d.ts +8 -0
- package/lib/typescript/web_hammer/PanGestureHandler.d.ts +56 -0
- package/lib/typescript/web_hammer/PinchGestureHandler.d.ts +13 -0
- package/lib/typescript/web_hammer/PressGestureHandler.d.ts +83 -0
- package/lib/typescript/web_hammer/RotationGestureHandler.d.ts +13 -0
- package/lib/typescript/web_hammer/TapGestureHandler.d.ts +57 -0
- package/lib/typescript/web_hammer/constants.d.ts +39 -0
- package/lib/typescript/web_hammer/utils.d.ts +9 -0
- package/package.json +156 -0
- package/src/ActionType.ts +9 -0
- package/src/Directions.ts +9 -0
- package/src/EnableNewWebImplementation.ts +35 -0
- package/src/GestureHandlerRootViewContext.ts +3 -0
- package/src/PlatformConstants.ts +8 -0
- package/src/PlatformConstants.web.ts +5 -0
- package/src/RNGestureHandlerModule.macos.ts +133 -0
- package/src/RNGestureHandlerModule.ts +50 -0
- package/src/RNGestureHandlerModule.web.ts +146 -0
- package/src/RNGestureHandlerModule.windows.ts +144 -0
- package/src/RNRenderer.ts +3 -0
- package/src/RNRenderer.web.ts +3 -0
- package/src/State.ts +13 -0
- package/src/TouchEventType.ts +10 -0
- package/src/components/DrawerLayout.tsx +743 -0
- package/src/components/GestureButtons.tsx +332 -0
- package/src/components/GestureComponents.tsx +148 -0
- package/src/components/GestureComponents.web.tsx +41 -0
- package/src/components/GestureHandlerButton.tsx +5 -0
- package/src/components/GestureHandlerButton.web.tsx +6 -0
- package/src/components/GestureHandlerRootView.android.tsx +24 -0
- package/src/components/GestureHandlerRootView.tsx +23 -0
- package/src/components/GestureHandlerRootView.web.tsx +17 -0
- package/src/components/Swipeable.tsx +584 -0
- package/src/components/gestureHandlerRootHOC.tsx +32 -0
- package/src/components/touchables/GenericTouchable.tsx +301 -0
- package/src/components/touchables/TouchableHighlight.tsx +115 -0
- package/src/components/touchables/TouchableNativeFeedback.android.tsx +91 -0
- package/src/components/touchables/TouchableNativeFeedback.tsx +3 -0
- package/src/components/touchables/TouchableOpacity.tsx +75 -0
- package/src/components/touchables/TouchableWithoutFeedback.tsx +14 -0
- package/src/components/touchables/index.ts +7 -0
- package/src/getReactNativeVersion.ts +11 -0
- package/src/getReactNativeVersion.web.ts +3 -0
- package/src/getShadowNodeFromRef.ts +22 -0
- package/src/getShadowNodeFromRef.web.ts +7 -0
- package/src/ghQueueMicrotask.ts +5 -0
- package/src/handlers/FlingGestureHandler.ts +59 -0
- package/src/handlers/ForceTouchGestureHandler.ts +90 -0
- package/src/handlers/LongPressGestureHandler.ts +88 -0
- package/src/handlers/NativeViewGestureHandler.ts +55 -0
- package/src/handlers/PanGestureHandler.ts +325 -0
- package/src/handlers/PinchGestureHandler.ts +48 -0
- package/src/handlers/PressabilityDebugView.tsx +2 -0
- package/src/handlers/PressabilityDebugView.web.tsx +4 -0
- package/src/handlers/RotationGestureHandler.ts +48 -0
- package/src/handlers/TapGestureHandler.ts +94 -0
- package/src/handlers/createHandler.tsx +533 -0
- package/src/handlers/createNativeWrapper.tsx +80 -0
- package/src/handlers/gestureHandlerCommon.ts +250 -0
- package/src/handlers/gestureHandlerTypesCompat.ts +106 -0
- package/src/handlers/gestures/GestureDetector.tsx +822 -0
- package/src/handlers/gestures/eventReceiver.ts +155 -0
- package/src/handlers/gestures/flingGesture.ts +27 -0
- package/src/handlers/gestures/forceTouchGesture.ts +74 -0
- package/src/handlers/gestures/gesture.ts +349 -0
- package/src/handlers/gestures/gestureComposition.ts +122 -0
- package/src/handlers/gestures/gestureObjects.ts +84 -0
- package/src/handlers/gestures/gestureStateManager.ts +62 -0
- package/src/handlers/gestures/gestureStateManager.web.ts +24 -0
- package/src/handlers/gestures/hoverGesture.ts +83 -0
- package/src/handlers/gestures/longPressGesture.ts +28 -0
- package/src/handlers/gestures/manualGesture.ts +31 -0
- package/src/handlers/gestures/nativeGesture.ts +27 -0
- package/src/handlers/gestures/panGesture.ts +152 -0
- package/src/handlers/gestures/pinchGesture.ts +51 -0
- package/src/handlers/gestures/reanimatedWrapper.ts +56 -0
- package/src/handlers/gestures/rotationGesture.ts +51 -0
- package/src/handlers/gestures/tapGesture.ts +53 -0
- package/src/handlers/handlersRegistry.ts +60 -0
- package/src/index.ts +174 -0
- package/src/init.ts +18 -0
- package/src/jestUtils/index.ts +1 -0
- package/src/jestUtils/jestUtils.ts +505 -0
- package/src/mocks.ts +67 -0
- package/src/specs/RNGestureHandlerButtonNativeComponent.ts +18 -0
- package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +6 -0
- package/src/typeUtils.ts +1 -0
- package/src/utils.ts +54 -0
- package/src/web/constants.ts +8 -0
- package/src/web/detectors/RotationGestureDetector.ts +168 -0
- package/src/web/detectors/ScaleGestureDetector.ts +172 -0
- package/src/web/handlers/FlingGestureHandler.ts +161 -0
- package/src/web/handlers/GestureHandler.ts +849 -0
- package/src/web/handlers/HoverGestureHandler.ts +43 -0
- package/src/web/handlers/LongPressGestureHandler.ts +125 -0
- package/src/web/handlers/ManualGestureHandler.ts +43 -0
- package/src/web/handlers/NativeViewGestureHandler.ts +167 -0
- package/src/web/handlers/PanGestureHandler.ts +485 -0
- package/src/web/handlers/PinchGestureHandler.ts +158 -0
- package/src/web/handlers/RotationGestureHandler.ts +172 -0
- package/src/web/handlers/TapGestureHandler.ts +273 -0
- package/src/web/interfaces.ts +167 -0
- package/src/web/tools/CircularBuffer.ts +42 -0
- package/src/web/tools/EventManager.ts +104 -0
- package/src/web/tools/GestureHandlerDelegate.ts +23 -0
- package/src/web/tools/GestureHandlerOrchestrator.ts +389 -0
- package/src/web/tools/GestureHandlerWebDelegate.ts +115 -0
- package/src/web/tools/InteractionManager.ts +130 -0
- package/src/web/tools/LeastSquareSolver.ts +182 -0
- package/src/web/tools/NodeManager.ts +43 -0
- package/src/web/tools/PointerEventManager.ts +202 -0
- package/src/web/tools/PointerTracker.ts +240 -0
- package/src/web/tools/TouchEventManager.ts +167 -0
- package/src/web/tools/VelocityTracker.ts +98 -0
- package/src/web/utils.ts +8 -0
- package/src/web_hammer/DiscreteGestureHandler.ts +82 -0
- package/src/web_hammer/DraggingGestureHandler.ts +34 -0
- package/src/web_hammer/Errors.ts +7 -0
- package/src/web_hammer/FlingGestureHandler.ts +134 -0
- package/src/web_hammer/GestureHandler.ts +599 -0
- package/src/web_hammer/IndiscreteGestureHandler.ts +33 -0
- package/src/web_hammer/LongPressGestureHandler.ts +56 -0
- package/src/web_hammer/NativeViewGestureHandler.ts +47 -0
- package/src/web_hammer/NodeManager.ts +42 -0
- package/src/web_hammer/PanGestureHandler.ts +226 -0
- package/src/web_hammer/PinchGestureHandler.ts +25 -0
- package/src/web_hammer/PressGestureHandler.ts +167 -0
- package/src/web_hammer/RotationGestureHandler.ts +25 -0
- package/src/web_hammer/TapGestureHandler.ts +172 -0
- package/src/web_hammer/constants.ts +48 -0
- package/src/web_hammer/utils.ts +24 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["GestureHandler.ts"],"names":["State","PointerType","TouchEventType","EventTypes","GestureHandlerOrchestrator","InteractionManager","PointerTracker","GestureHandler","constructor","delegate","UNDETERMINED","enabled","NONE","newState","oldState","onGestureHandlerEvent","onGestureHandlerStateChange","propsRef","current","resultEvent","transformEventData","lastSentState","invokeNullableMethod","currentState","ACTIVE","nativeEvent","undefined","init","viewRef","attachEventManager","manager","setOnPointerDown","onPointerDown","bind","setOnPointerAdd","onPointerAdd","setOnPointerUp","onPointerUp","setOnPointerRemove","onPointerRemove","setOnPointerMove","onPointerMove","setOnPointerEnter","onPointerEnter","setOnPointerLeave","onPointerLeave","setOnPointerCancel","onPointerCancel","setOnPointerOutOfBounds","onPointerOutOfBounds","setOnPointerMoveOver","onPointerMoveOver","setOnPointerMoveOut","onPointerMoveOut","setListeners","onCancel","onReset","resetProgress","reset","tracker","resetTracker","moveToState","sendIfDisabled","getTrackedPointersCount","config","needsPointerData","isFinished","cancelTouches","getInstance","onHandlerStateChange","onStateChange","_newState","_oldState","begin","checkHitSlop","BEGAN","fail","onFail","FAILED","cancel","CANCELLED","activate","_force","onActivate","end","onEnd","END","isAwaiting","awaiting","setAwaiting","value","isActive","active","setActive","getShouldResetProgress","shouldResetProgress","setShouldResetProgress","getActivationIndex","activationIndex","setActivationIndex","shouldWaitForHandlerFailure","handler","shouldRequireToWaitForFailure","shouldRequireHandlerToWaitForFailure","shouldRecognizeSimultaneously","shouldBeCancelledByOther","shouldHandlerBeCancelledBy","event","recordHandlerIfNotPresent","pointerType","TOUCH","cancelMouseAndPenGestures","sendTouchEvent","tryToSendMoveEvent","shouldCancellWhenOutside","_event","out","sendEvent","touchEvent","transformTouchEvent","numberOfPointers","state","pointerInside","isPointerInBounds","x","getLastAvgX","y","getLastAvgY","transformNativeEvent","handlerTag","target","timeStamp","Date","now","rect","measureView","all","changed","trackerData","getData","size","has","pointerId","forEach","element","key","id","getMappedTouchEventId","push","lastX","pageX","lastY","pageY","absoluteX","absoluteY","eventType","CANCEL","DOWN","ADDITIONAL_POINTER_DOWN","UP","ADDITIONAL_POINTER_UP","MOVE","numberOfTouches","length","touchEventType","changedTouches","allTouches","cancelEvent","updateGestureConfig","props","shouldCancelWhenOutside","setShouldCancelWhenOutside","validateHitSlops","removeHandlerFromOrchestrator","checkCustomActivationCriteria","criterias","indexOf","hasCustomActivationCriteria","hitSlop","left","right","width","Error","height","top","bottom","horizontal","vertical","offsetX","getLastX","offsetY","getLastY","resetConfig","getTag","setTag","tag","getConfig","getDelegate","getTracker","getTrackedPointersID","getState","isEnabled","shouldCancel","getShouldCancelWhenOutside","getPointerType","method","__getHandler","argMapping","__nodeConfig","Array","isArray","index","entries","nativeValue","setValue"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\r\nimport { State } from '../../State';\r\nimport {\r\n Config,\r\n AdaptedEvent,\r\n PropsRef,\r\n ResultEvent,\r\n PointerData,\r\n ResultTouchEvent,\r\n PointerType,\r\n TouchEventType,\r\n EventTypes,\r\n} from '../interfaces';\r\nimport EventManager from '../tools/EventManager';\r\nimport GestureHandlerOrchestrator from '../tools/GestureHandlerOrchestrator';\r\nimport InteractionManager from '../tools/InteractionManager';\r\nimport PointerTracker, { TrackerElement } from '../tools/PointerTracker';\r\nimport { GestureHandlerDelegate } from '../tools/GestureHandlerDelegate';\r\n\r\nexport default abstract class GestureHandler {\r\n private lastSentState: State | null = null;\r\n protected currentState: State = State.UNDETERMINED;\r\n\r\n protected shouldCancellWhenOutside = false;\r\n protected hasCustomActivationCriteria = false;\r\n protected enabled = false;\r\n\r\n private viewRef!: number;\r\n private propsRef!: React.RefObject<unknown>;\r\n private handlerTag!: number;\r\n protected config: Config = { enabled: false };\r\n\r\n protected tracker: PointerTracker = new PointerTracker();\r\n\r\n // Orchestrator properties\r\n protected activationIndex = 0;\r\n protected awaiting = false;\r\n protected active = false;\r\n protected shouldResetProgress = false;\r\n protected pointerType: PointerType = PointerType.NONE;\r\n\r\n protected delegate: GestureHandlerDelegate<unknown>;\r\n\r\n public constructor(delegate: GestureHandlerDelegate<unknown>) {\r\n this.delegate = delegate;\r\n }\r\n\r\n //\r\n // Initializing handler\r\n //\r\n\r\n protected init(viewRef: number, propsRef: React.RefObject<unknown>) {\r\n this.propsRef = propsRef;\r\n this.viewRef = viewRef;\r\n\r\n this.currentState = State.UNDETERMINED;\r\n\r\n this.delegate.init(viewRef, this);\r\n }\r\n\r\n public attachEventManager(manager: EventManager<unknown>): void {\r\n manager.setOnPointerDown(this.onPointerDown.bind(this));\r\n manager.setOnPointerAdd(this.onPointerAdd.bind(this));\r\n manager.setOnPointerUp(this.onPointerUp.bind(this));\r\n manager.setOnPointerRemove(this.onPointerRemove.bind(this));\r\n manager.setOnPointerMove(this.onPointerMove.bind(this));\r\n manager.setOnPointerEnter(this.onPointerEnter.bind(this));\r\n manager.setOnPointerLeave(this.onPointerLeave.bind(this));\r\n manager.setOnPointerCancel(this.onPointerCancel.bind(this));\r\n manager.setOnPointerOutOfBounds(this.onPointerOutOfBounds.bind(this));\r\n manager.setOnPointerMoveOver(this.onPointerMoveOver.bind(this));\r\n manager.setOnPointerMoveOut(this.onPointerMoveOut.bind(this));\r\n manager.setListeners();\r\n }\r\n\r\n //\r\n // Resetting handler\r\n //\r\n\r\n protected onCancel(): void {}\r\n protected onReset(): void {}\r\n protected resetProgress(): void {}\r\n\r\n public reset(): void {\r\n this.tracker.resetTracker();\r\n this.onReset();\r\n this.resetProgress();\r\n this.delegate.reset();\r\n this.currentState = State.UNDETERMINED;\r\n }\r\n\r\n //\r\n // State logic\r\n //\r\n\r\n public moveToState(newState: State, sendIfDisabled?: boolean) {\r\n if (this.currentState === newState) {\r\n return;\r\n }\r\n\r\n const oldState = this.currentState;\r\n this.currentState = newState;\r\n\r\n if (\r\n this.tracker.getTrackedPointersCount() > 0 &&\r\n this.config.needsPointerData &&\r\n this.isFinished()\r\n ) {\r\n this.cancelTouches();\r\n }\r\n\r\n GestureHandlerOrchestrator.getInstance().onHandlerStateChange(\r\n this,\r\n newState,\r\n oldState,\r\n sendIfDisabled\r\n );\r\n\r\n this.onStateChange(newState, oldState);\r\n }\r\n\r\n protected onStateChange(_newState: State, _oldState: State): void {}\r\n\r\n public begin(): void {\r\n if (!this.checkHitSlop()) {\r\n return;\r\n }\r\n\r\n if (this.currentState === State.UNDETERMINED) {\r\n this.moveToState(State.BEGAN);\r\n }\r\n }\r\n\r\n /**\r\n * @param {boolean} sendIfDisabled - Used when handler becomes disabled. With this flag orchestrator will be forced to send fail event\r\n */\r\n public fail(sendIfDisabled?: boolean): void {\r\n if (\r\n this.currentState === State.ACTIVE ||\r\n this.currentState === State.BEGAN\r\n ) {\r\n // Here the order of calling the delegate and moveToState is important.\r\n // At this point we can use currentState as previuos state, because immediately after changing cursor we call moveToState method.\r\n this.delegate.onFail();\r\n\r\n this.moveToState(State.FAILED, sendIfDisabled);\r\n }\r\n\r\n this.resetProgress();\r\n }\r\n\r\n /**\r\n * @param {boolean} sendIfDisabled - Used when handler becomes disabled. With this flag orchestrator will be forced to send cancel event\r\n */\r\n public cancel(sendIfDisabled?: boolean): void {\r\n if (\r\n this.currentState === State.ACTIVE ||\r\n this.currentState === State.UNDETERMINED ||\r\n this.currentState === State.BEGAN\r\n ) {\r\n this.onCancel();\r\n\r\n // Same as above - order matters\r\n this.delegate.onCancel();\r\n\r\n this.moveToState(State.CANCELLED, sendIfDisabled);\r\n }\r\n }\r\n\r\n public activate(_force = false) {\r\n if (\r\n this.currentState === State.UNDETERMINED ||\r\n this.currentState === State.BEGAN\r\n ) {\r\n this.delegate.onActivate();\r\n\r\n this.moveToState(State.ACTIVE);\r\n }\r\n }\r\n\r\n public end() {\r\n if (\r\n this.currentState === State.BEGAN ||\r\n this.currentState === State.ACTIVE\r\n ) {\r\n // Same as above - order matters\r\n this.delegate.onEnd();\r\n\r\n this.moveToState(State.END);\r\n }\r\n\r\n this.resetProgress();\r\n }\r\n\r\n //\r\n // Methods for orchestrator\r\n //\r\n\r\n public isAwaiting(): boolean {\r\n return this.awaiting;\r\n }\r\n public setAwaiting(value: boolean): void {\r\n this.awaiting = value;\r\n }\r\n\r\n public isActive(): boolean {\r\n return this.active;\r\n }\r\n public setActive(value: boolean): void {\r\n this.active = value;\r\n }\r\n\r\n public getShouldResetProgress(): boolean {\r\n return this.shouldResetProgress;\r\n }\r\n public setShouldResetProgress(value: boolean): void {\r\n this.shouldResetProgress = value;\r\n }\r\n\r\n public getActivationIndex(): number {\r\n return this.activationIndex;\r\n }\r\n public setActivationIndex(value: number): void {\r\n this.activationIndex = value;\r\n }\r\n\r\n public shouldWaitForHandlerFailure(handler: GestureHandler): boolean {\r\n if (handler === this) {\r\n return false;\r\n }\r\n\r\n return InteractionManager.getInstance().shouldWaitForHandlerFailure(\r\n this,\r\n handler\r\n );\r\n }\r\n\r\n public shouldRequireToWaitForFailure(handler: GestureHandler): boolean {\r\n if (handler === this) {\r\n return false;\r\n }\r\n\r\n return InteractionManager.getInstance().shouldRequireHandlerToWaitForFailure(\r\n this,\r\n handler\r\n );\r\n }\r\n\r\n public shouldRecognizeSimultaneously(handler: GestureHandler): boolean {\r\n if (handler === this) {\r\n return true;\r\n }\r\n\r\n return InteractionManager.getInstance().shouldRecognizeSimultaneously(\r\n this,\r\n handler\r\n );\r\n }\r\n\r\n public shouldBeCancelledByOther(handler: GestureHandler): boolean {\r\n if (handler === this) {\r\n return false;\r\n }\r\n\r\n return InteractionManager.getInstance().shouldHandlerBeCancelledBy(\r\n this,\r\n handler\r\n );\r\n }\r\n\r\n //\r\n // Event actions\r\n //\r\n\r\n protected onPointerDown(event: AdaptedEvent): void {\r\n GestureHandlerOrchestrator.getInstance().recordHandlerIfNotPresent(this);\r\n this.pointerType = event.pointerType;\r\n\r\n if (this.pointerType === PointerType.TOUCH) {\r\n GestureHandlerOrchestrator.getInstance().cancelMouseAndPenGestures(this);\r\n }\r\n\r\n if (this.config.needsPointerData) {\r\n this.sendTouchEvent(event);\r\n }\r\n }\r\n // Adding another pointer to existing ones\r\n protected onPointerAdd(event: AdaptedEvent): void {\r\n if (this.config.needsPointerData) {\r\n this.sendTouchEvent(event);\r\n }\r\n }\r\n protected onPointerUp(event: AdaptedEvent): void {\r\n if (this.config.needsPointerData) {\r\n this.sendTouchEvent(event);\r\n }\r\n }\r\n // Removing pointer, when there is more than one pointers\r\n protected onPointerRemove(event: AdaptedEvent): void {\r\n if (this.config.needsPointerData) {\r\n this.sendTouchEvent(event);\r\n }\r\n }\r\n protected onPointerMove(event: AdaptedEvent): void {\r\n this.tryToSendMoveEvent(false);\r\n if (this.config.needsPointerData) {\r\n this.sendTouchEvent(event);\r\n }\r\n }\r\n protected onPointerLeave(event: AdaptedEvent): void {\r\n if (this.shouldCancellWhenOutside) {\r\n switch (this.currentState) {\r\n case State.ACTIVE:\r\n this.cancel();\r\n break;\r\n case State.BEGAN:\r\n this.fail();\r\n break;\r\n }\r\n return;\r\n }\r\n\r\n if (this.config.needsPointerData) {\r\n this.sendTouchEvent(event);\r\n }\r\n }\r\n protected onPointerEnter(event: AdaptedEvent): void {\r\n if (this.config.needsPointerData) {\r\n this.sendTouchEvent(event);\r\n }\r\n }\r\n protected onPointerCancel(event: AdaptedEvent): void {\r\n if (this.config.needsPointerData) {\r\n this.sendTouchEvent(event);\r\n }\r\n\r\n this.cancel();\r\n this.reset();\r\n }\r\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\r\n this.tryToSendMoveEvent(true);\r\n if (this.config.needsPointerData) {\r\n this.sendTouchEvent(event);\r\n }\r\n }\r\n protected onPointerMoveOver(_event: AdaptedEvent): void {\r\n // used only by hover gesture handler atm\r\n }\r\n protected onPointerMoveOut(_event: AdaptedEvent): void {\r\n // used only by hover gesture handler atm\r\n }\r\n private tryToSendMoveEvent(out: boolean): void {\r\n if (\r\n this.enabled &&\r\n this.active &&\r\n (!out || (out && !this.shouldCancellWhenOutside))\r\n ) {\r\n this.sendEvent(this.currentState, this.currentState);\r\n }\r\n }\r\n\r\n public sendTouchEvent(event: AdaptedEvent): void {\r\n if (!this.enabled) {\r\n return;\r\n }\r\n\r\n const { onGestureHandlerEvent }: PropsRef = this.propsRef\r\n .current as PropsRef;\r\n\r\n const touchEvent: ResultTouchEvent | undefined =\r\n this.transformTouchEvent(event);\r\n\r\n if (touchEvent) {\r\n invokeNullableMethod(onGestureHandlerEvent, touchEvent);\r\n }\r\n }\r\n\r\n //\r\n // Events Sending\r\n //\r\n\r\n public sendEvent = (newState: State, oldState: State): void => {\r\n const { onGestureHandlerEvent, onGestureHandlerStateChange }: PropsRef =\r\n this.propsRef.current as PropsRef;\r\n\r\n const resultEvent: ResultEvent = this.transformEventData(\r\n newState,\r\n oldState\r\n );\r\n\r\n // In the new API oldState field has to be undefined, unless we send event state changed\r\n // Here the order is flipped to avoid workarounds such as making backup of the state and setting it to undefined first, then changing it back\r\n // Flipping order with setting oldState to undefined solves issue, when events were being sent twice instead of once\r\n // However, this may cause trouble in the future (but for now we don't know that)\r\n\r\n if (this.lastSentState !== newState) {\r\n this.lastSentState = newState;\r\n invokeNullableMethod(onGestureHandlerStateChange, resultEvent);\r\n }\r\n if (this.currentState === State.ACTIVE) {\r\n resultEvent.nativeEvent.oldState = undefined;\r\n invokeNullableMethod(onGestureHandlerEvent, resultEvent);\r\n }\r\n };\r\n\r\n private transformEventData(newState: State, oldState: State): ResultEvent {\r\n return {\r\n nativeEvent: {\r\n numberOfPointers: this.tracker.getTrackedPointersCount(),\r\n state: newState,\r\n pointerInside: this.delegate.isPointerInBounds({\r\n x: this.tracker.getLastAvgX(),\r\n y: this.tracker.getLastAvgY(),\r\n }),\r\n ...this.transformNativeEvent(),\r\n handlerTag: this.handlerTag,\r\n target: this.viewRef,\r\n oldState: newState !== oldState ? oldState : undefined,\r\n },\r\n timeStamp: Date.now(),\r\n };\r\n }\r\n\r\n private transformTouchEvent(\r\n event: AdaptedEvent\r\n ): ResultTouchEvent | undefined {\r\n const rect = this.delegate.measureView();\r\n\r\n const all: PointerData[] = [];\r\n const changed: PointerData[] = [];\r\n\r\n const trackerData = this.tracker.getData();\r\n\r\n // This if handles edge case where all pointers have been cancelled\r\n // When pointercancel is triggered, reset method is called. This means that tracker will be reset after first pointer being cancelled\r\n // The problem is, that handler will receive another pointercancel event from the rest of the pointers\r\n // To avoid crashing, we don't send event if tracker tracks no pointers, i.e. has been reset\r\n if (trackerData.size === 0 || !trackerData.has(event.pointerId)) {\r\n return;\r\n }\r\n\r\n trackerData.forEach((element: TrackerElement, key: number): void => {\r\n const id: number = this.tracker.getMappedTouchEventId(key);\r\n\r\n all.push({\r\n id: id,\r\n x: element.lastX - rect.pageX,\r\n y: element.lastY - rect.pageY,\r\n absoluteX: element.lastX,\r\n absoluteY: element.lastY,\r\n });\r\n });\r\n\r\n // Each pointer sends its own event, so we want changed touches to contain only the pointer that has changed.\r\n // However, if the event is cancel, we want to cancel all pointers to avoid crashes\r\n if (event.eventType !== EventTypes.CANCEL) {\r\n changed.push({\r\n id: this.tracker.getMappedTouchEventId(event.pointerId),\r\n x: event.x - rect.pageX,\r\n y: event.y - rect.pageY,\r\n absoluteX: event.x,\r\n absoluteY: event.y,\r\n });\r\n } else {\r\n trackerData.forEach((element: TrackerElement, key: number): void => {\r\n const id: number = this.tracker.getMappedTouchEventId(key);\r\n\r\n changed.push({\r\n id: id,\r\n x: element.lastX - rect.pageX,\r\n y: element.lastY - rect.pageY,\r\n absoluteX: element.lastX,\r\n absoluteY: element.lastY,\r\n });\r\n });\r\n }\r\n\r\n let eventType: TouchEventType = TouchEventType.UNDETERMINED;\r\n\r\n switch (event.eventType) {\r\n case EventTypes.DOWN:\r\n case EventTypes.ADDITIONAL_POINTER_DOWN:\r\n eventType = TouchEventType.DOWN;\r\n break;\r\n case EventTypes.UP:\r\n case EventTypes.ADDITIONAL_POINTER_UP:\r\n eventType = TouchEventType.UP;\r\n break;\r\n case EventTypes.MOVE:\r\n eventType = TouchEventType.MOVE;\r\n break;\r\n case EventTypes.CANCEL:\r\n eventType = TouchEventType.CANCELLED;\r\n break;\r\n }\r\n\r\n // Here, when we receive up event, we want to decrease number of touches\r\n // That's because we want handler to send information that there's one pointer less\r\n // However, we still want this pointer to be present in allTouches array, so that its data can be accessed\r\n let numberOfTouches: number = all.length;\r\n\r\n if (\r\n event.eventType === EventTypes.UP ||\r\n event.eventType === EventTypes.ADDITIONAL_POINTER_UP\r\n ) {\r\n --numberOfTouches;\r\n }\r\n\r\n return {\r\n nativeEvent: {\r\n handlerTag: this.handlerTag,\r\n state: this.currentState,\r\n eventType: event.touchEventType ?? eventType,\r\n changedTouches: changed,\r\n allTouches: all,\r\n numberOfTouches: numberOfTouches,\r\n },\r\n timeStamp: Date.now(),\r\n };\r\n }\r\n\r\n private cancelTouches(): void {\r\n const rect = this.delegate.measureView();\r\n\r\n const all: PointerData[] = [];\r\n const changed: PointerData[] = [];\r\n\r\n const trackerData = this.tracker.getData();\r\n\r\n if (trackerData.size === 0) {\r\n return;\r\n }\r\n\r\n trackerData.forEach((element: TrackerElement, key: number): void => {\r\n const id: number = this.tracker.getMappedTouchEventId(key);\r\n\r\n all.push({\r\n id: id,\r\n x: element.lastX - rect.pageX,\r\n y: element.lastY - rect.pageY,\r\n absoluteX: element.lastX,\r\n absoluteY: element.lastY,\r\n });\r\n\r\n changed.push({\r\n id: id,\r\n x: element.lastX - rect.pageX,\r\n y: element.lastY - rect.pageY,\r\n absoluteX: element.lastX,\r\n absoluteY: element.lastY,\r\n });\r\n });\r\n\r\n const cancelEvent: ResultTouchEvent = {\r\n nativeEvent: {\r\n handlerTag: this.handlerTag,\r\n state: this.currentState,\r\n eventType: TouchEventType.CANCELLED,\r\n changedTouches: changed,\r\n allTouches: all,\r\n numberOfTouches: all.length,\r\n },\r\n timeStamp: Date.now(),\r\n };\r\n\r\n const { onGestureHandlerEvent }: PropsRef = this.propsRef\r\n .current as PropsRef;\r\n\r\n invokeNullableMethod(onGestureHandlerEvent, cancelEvent);\r\n }\r\n\r\n protected transformNativeEvent(): Record<string, unknown> {\r\n // those properties are shared by most handlers and if not this method will be overriden\r\n const rect = this.delegate.measureView();\r\n\r\n return {\r\n x: this.tracker.getLastAvgX() - rect.pageX,\r\n y: this.tracker.getLastAvgY() - rect.pageY,\r\n absoluteX: this.tracker.getLastAvgX(),\r\n absoluteY: this.tracker.getLastAvgY(),\r\n };\r\n }\r\n\r\n //\r\n // Handling config\r\n //\r\n\r\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\r\n this.config = { enabled: enabled, ...props };\r\n this.enabled = enabled;\r\n\r\n if (this.config.shouldCancelWhenOutside !== undefined) {\r\n this.setShouldCancelWhenOutside(this.config.shouldCancelWhenOutside);\r\n }\r\n\r\n this.validateHitSlops();\r\n\r\n if (this.enabled) {\r\n return;\r\n }\r\n\r\n switch (this.currentState) {\r\n case State.ACTIVE:\r\n this.fail(true);\r\n break;\r\n case State.UNDETERMINED:\r\n GestureHandlerOrchestrator.getInstance().removeHandlerFromOrchestrator(\r\n this\r\n );\r\n break;\r\n default:\r\n this.cancel(true);\r\n break;\r\n }\r\n }\r\n\r\n protected checkCustomActivationCriteria(criterias: string[]): void {\r\n for (const key in this.config) {\r\n if (criterias.indexOf(key) >= 0) {\r\n this.hasCustomActivationCriteria = true;\r\n }\r\n }\r\n }\r\n\r\n private validateHitSlops(): void {\r\n if (!this.config.hitSlop) {\r\n return;\r\n }\r\n\r\n if (\r\n this.config.hitSlop.left !== undefined &&\r\n this.config.hitSlop.right !== undefined &&\r\n this.config.hitSlop.width !== undefined\r\n ) {\r\n throw new Error(\r\n 'HitSlop Error: Cannot define left, right and width at the same time'\r\n );\r\n }\r\n\r\n if (\r\n this.config.hitSlop.width !== undefined &&\r\n this.config.hitSlop.left === undefined &&\r\n this.config.hitSlop.right === undefined\r\n ) {\r\n throw new Error(\r\n 'HitSlop Error: When width is defined, either left or right has to be defined'\r\n );\r\n }\r\n\r\n if (\r\n this.config.hitSlop.height !== undefined &&\r\n this.config.hitSlop.top !== undefined &&\r\n this.config.hitSlop.bottom !== undefined\r\n ) {\r\n throw new Error(\r\n 'HitSlop Error: Cannot define top, bottom and height at the same time'\r\n );\r\n }\r\n\r\n if (\r\n this.config.hitSlop.height !== undefined &&\r\n this.config.hitSlop.top === undefined &&\r\n this.config.hitSlop.bottom === undefined\r\n ) {\r\n throw new Error(\r\n 'HitSlop Error: When height is defined, either top or bottom has to be defined'\r\n );\r\n }\r\n }\r\n\r\n private checkHitSlop(): boolean {\r\n if (!this.config.hitSlop) {\r\n return true;\r\n }\r\n\r\n const { width, height } = this.delegate.measureView();\r\n\r\n let left = 0;\r\n let top = 0;\r\n let right: number = width;\r\n let bottom: number = height;\r\n\r\n if (this.config.hitSlop.horizontal !== undefined) {\r\n left -= this.config.hitSlop.horizontal;\r\n right += this.config.hitSlop.horizontal;\r\n }\r\n\r\n if (this.config.hitSlop.vertical !== undefined) {\r\n top -= this.config.hitSlop.vertical;\r\n bottom += this.config.hitSlop.vertical;\r\n }\r\n\r\n if (this.config.hitSlop.left !== undefined) {\r\n left = -this.config.hitSlop.left;\r\n }\r\n\r\n if (this.config.hitSlop.right !== undefined) {\r\n right = width + this.config.hitSlop.right;\r\n }\r\n\r\n if (this.config.hitSlop.top !== undefined) {\r\n top = -this.config.hitSlop.top;\r\n }\r\n\r\n if (this.config.hitSlop.bottom !== undefined) {\r\n bottom = width + this.config.hitSlop.bottom;\r\n }\r\n if (this.config.hitSlop.width !== undefined) {\r\n if (this.config.hitSlop.left !== undefined) {\r\n right = left + this.config.hitSlop.width;\r\n } else if (this.config.hitSlop.right !== undefined) {\r\n left = right - this.config.hitSlop.width;\r\n }\r\n }\r\n\r\n if (this.config.hitSlop.height !== undefined) {\r\n if (this.config.hitSlop.top !== undefined) {\r\n bottom = top + this.config.hitSlop.height;\r\n } else if (this.config.hitSlop.bottom !== undefined) {\r\n top = bottom - this.config.hitSlop.height;\r\n }\r\n }\r\n\r\n const rect = this.delegate.measureView();\r\n const offsetX: number = this.tracker.getLastX() - rect.pageX;\r\n const offsetY: number = this.tracker.getLastY() - rect.pageY;\r\n\r\n if (\r\n offsetX >= left &&\r\n offsetX <= right &&\r\n offsetY >= top &&\r\n offsetY <= bottom\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n protected resetConfig(): void {}\r\n\r\n //\r\n // Getters and setters\r\n //\r\n\r\n public getTag(): number {\r\n return this.handlerTag;\r\n }\r\n\r\n public setTag(tag: number): void {\r\n this.handlerTag = tag;\r\n }\r\n\r\n public getConfig() {\r\n return this.config;\r\n }\r\n\r\n public getDelegate(): GestureHandlerDelegate<unknown> {\r\n return this.delegate;\r\n }\r\n\r\n public getTracker(): PointerTracker {\r\n return this.tracker;\r\n }\r\n\r\n public getTrackedPointersID(): number[] {\r\n return this.tracker.getTrackedPointersID();\r\n }\r\n\r\n public getState(): State {\r\n return this.currentState;\r\n }\r\n\r\n public isEnabled(): boolean {\r\n return this.enabled;\r\n }\r\n\r\n private isFinished(): boolean {\r\n return (\r\n this.currentState === State.END ||\r\n this.currentState === State.FAILED ||\r\n this.currentState === State.CANCELLED\r\n );\r\n }\r\n\r\n protected setShouldCancelWhenOutside(shouldCancel: boolean) {\r\n this.shouldCancellWhenOutside = shouldCancel;\r\n }\r\n\r\n protected getShouldCancelWhenOutside(): boolean {\r\n return this.shouldCancellWhenOutside;\r\n }\r\n\r\n public getPointerType(): PointerType {\r\n return this.pointerType;\r\n }\r\n}\r\n\r\nfunction invokeNullableMethod(\r\n method:\r\n | ((event: ResultEvent | ResultTouchEvent) => void)\r\n | { __getHandler: () => (event: ResultEvent | ResultTouchEvent) => void }\r\n | { __nodeConfig: { argMapping: unknown[] } },\r\n event: ResultEvent | ResultTouchEvent\r\n): void {\r\n if (!method) {\r\n return;\r\n }\r\n\r\n if (typeof method === 'function') {\r\n method(event);\r\n return;\r\n }\r\n\r\n if ('__getHandler' in method && typeof method.__getHandler === 'function') {\r\n const handler = method.__getHandler();\r\n invokeNullableMethod(handler, event);\r\n return;\r\n }\r\n\r\n if (!('__nodeConfig' in method)) {\r\n return;\r\n }\r\n\r\n const { argMapping }: { argMapping: unknown } = method.__nodeConfig;\r\n if (!Array.isArray(argMapping)) {\r\n return;\r\n }\r\n\r\n for (const [index, [key, value]] of argMapping.entries()) {\r\n if (!(key in event.nativeEvent)) {\r\n continue;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\r\n const nativeValue = event.nativeEvent[key];\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\r\n if (value?.setValue) {\r\n //Reanimated API\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\r\n value.setValue(nativeValue);\r\n } else {\r\n //RN Animated API\r\n method.__nodeConfig.argMapping[index] = [key, nativeValue];\r\n }\r\n }\r\n\r\n return;\r\n}\r\n"]}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import { State } from '../../State';
|
2
|
+
import GestureHandlerOrchestrator from '../tools/GestureHandlerOrchestrator';
|
3
|
+
import GestureHandler from './GestureHandler';
|
4
|
+
export default class HoverGestureHandler extends GestureHandler {
|
5
|
+
init(ref, propsRef) {
|
6
|
+
super.init(ref, propsRef);
|
7
|
+
}
|
8
|
+
|
9
|
+
updateGestureConfig({
|
10
|
+
enabled = true,
|
11
|
+
...props
|
12
|
+
}) {
|
13
|
+
super.updateGestureConfig({
|
14
|
+
enabled: enabled,
|
15
|
+
...props
|
16
|
+
});
|
17
|
+
}
|
18
|
+
|
19
|
+
onPointerMoveOver(event) {
|
20
|
+
GestureHandlerOrchestrator.getInstance().recordHandlerIfNotPresent(this);
|
21
|
+
this.tracker.addToTracker(event);
|
22
|
+
super.onPointerMoveOver(event);
|
23
|
+
|
24
|
+
if (this.getState() === State.UNDETERMINED) {
|
25
|
+
this.begin();
|
26
|
+
this.activate();
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
onPointerMoveOut(event) {
|
31
|
+
this.tracker.addToTracker(event);
|
32
|
+
super.onPointerMoveOut(event);
|
33
|
+
this.end();
|
34
|
+
}
|
35
|
+
|
36
|
+
onPointerMove(event) {
|
37
|
+
this.tracker.track(event);
|
38
|
+
super.onPointerMove(event);
|
39
|
+
}
|
40
|
+
|
41
|
+
onPointerCancel(event) {
|
42
|
+
super.onPointerCancel(event);
|
43
|
+
this.reset();
|
44
|
+
}
|
45
|
+
|
46
|
+
}
|
47
|
+
//# sourceMappingURL=HoverGestureHandler.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["HoverGestureHandler.ts"],"names":["State","GestureHandlerOrchestrator","GestureHandler","HoverGestureHandler","init","ref","propsRef","updateGestureConfig","enabled","props","onPointerMoveOver","event","getInstance","recordHandlerIfNotPresent","tracker","addToTracker","getState","UNDETERMINED","begin","activate","onPointerMoveOut","end","onPointerMove","track","onPointerCancel","reset"],"mappings":"AAAA,SAASA,KAAT,QAAsB,aAAtB;AAEA,OAAOC,0BAAP,MAAuC,qCAAvC;AACA,OAAOC,cAAP,MAA2B,kBAA3B;AAEA,eAAe,MAAMC,mBAAN,SAAkCD,cAAlC,CAAiD;AACvDE,EAAAA,IAAI,CAACC,GAAD,EAAcC,QAAd,EAAkD;AAC3D,UAAMF,IAAN,CAAWC,GAAX,EAAgBC,QAAhB;AACD;;AAEMC,EAAAA,mBAAmB,CAAC;AAAEC,IAAAA,OAAO,GAAG,IAAZ;AAAkB,OAAGC;AAArB,GAAD,EAA6C;AACrE,UAAMF,mBAAN,CAA0B;AAAEC,MAAAA,OAAO,EAAEA,OAAX;AAAoB,SAAGC;AAAvB,KAA1B;AACD;;AAESC,EAAAA,iBAAiB,CAACC,KAAD,EAA4B;AACrDV,IAAAA,0BAA0B,CAACW,WAA3B,GAAyCC,yBAAzC,CAAmE,IAAnE;AAEA,SAAKC,OAAL,CAAaC,YAAb,CAA0BJ,KAA1B;AACA,UAAMD,iBAAN,CAAwBC,KAAxB;;AAEA,QAAI,KAAKK,QAAL,OAAoBhB,KAAK,CAACiB,YAA9B,EAA4C;AAC1C,WAAKC,KAAL;AACA,WAAKC,QAAL;AACD;AACF;;AAESC,EAAAA,gBAAgB,CAACT,KAAD,EAA4B;AACpD,SAAKG,OAAL,CAAaC,YAAb,CAA0BJ,KAA1B;AACA,UAAMS,gBAAN,CAAuBT,KAAvB;AAEA,SAAKU,GAAL;AACD;;AAESC,EAAAA,aAAa,CAACX,KAAD,EAA4B;AACjD,SAAKG,OAAL,CAAaS,KAAb,CAAmBZ,KAAnB;AACA,UAAMW,aAAN,CAAoBX,KAApB;AACD;;AAESa,EAAAA,eAAe,CAACb,KAAD,EAA4B;AACnD,UAAMa,eAAN,CAAsBb,KAAtB;AACA,SAAKc,KAAL;AACD;;AApC6D","sourcesContent":["import { State } from '../../State';\r\nimport { AdaptedEvent, Config } from '../interfaces';\r\nimport GestureHandlerOrchestrator from '../tools/GestureHandlerOrchestrator';\r\nimport GestureHandler from './GestureHandler';\r\n\r\nexport default class HoverGestureHandler extends GestureHandler {\r\n public init(ref: number, propsRef: React.RefObject<unknown>) {\r\n super.init(ref, propsRef);\r\n }\r\n\r\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\r\n super.updateGestureConfig({ enabled: enabled, ...props });\r\n }\r\n\r\n protected onPointerMoveOver(event: AdaptedEvent): void {\r\n GestureHandlerOrchestrator.getInstance().recordHandlerIfNotPresent(this);\r\n\r\n this.tracker.addToTracker(event);\r\n super.onPointerMoveOver(event);\r\n\r\n if (this.getState() === State.UNDETERMINED) {\r\n this.begin();\r\n this.activate();\r\n }\r\n }\r\n\r\n protected onPointerMoveOut(event: AdaptedEvent): void {\r\n this.tracker.addToTracker(event);\r\n super.onPointerMoveOut(event);\r\n\r\n this.end();\r\n }\r\n\r\n protected onPointerMove(event: AdaptedEvent): void {\r\n this.tracker.track(event);\r\n super.onPointerMove(event);\r\n }\r\n\r\n protected onPointerCancel(event: AdaptedEvent): void {\r\n super.onPointerCancel(event);\r\n this.reset();\r\n }\r\n}\r\n"]}
|
@@ -0,0 +1,136 @@
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
2
|
+
|
3
|
+
import { Platform } from 'react-native';
|
4
|
+
import { State } from '../../State';
|
5
|
+
import GestureHandler from './GestureHandler';
|
6
|
+
const DEFAULT_MIN_DURATION_MS = 500;
|
7
|
+
const DEFAULT_MAX_DIST_DP = 10;
|
8
|
+
const SCALING_FACTOR = 10;
|
9
|
+
export default class LongPressGestureHandler extends GestureHandler {
|
10
|
+
constructor(...args) {
|
11
|
+
super(...args);
|
12
|
+
|
13
|
+
_defineProperty(this, "minDurationMs", DEFAULT_MIN_DURATION_MS);
|
14
|
+
|
15
|
+
_defineProperty(this, "defaultMaxDistSq", DEFAULT_MAX_DIST_DP * SCALING_FACTOR);
|
16
|
+
|
17
|
+
_defineProperty(this, "maxDistSq", this.defaultMaxDistSq);
|
18
|
+
|
19
|
+
_defineProperty(this, "startX", 0);
|
20
|
+
|
21
|
+
_defineProperty(this, "startY", 0);
|
22
|
+
|
23
|
+
_defineProperty(this, "startTime", 0);
|
24
|
+
|
25
|
+
_defineProperty(this, "previousTime", 0);
|
26
|
+
|
27
|
+
_defineProperty(this, "activationTimeout", void 0);
|
28
|
+
}
|
29
|
+
|
30
|
+
init(ref, propsRef) {
|
31
|
+
super.init(ref, propsRef);
|
32
|
+
|
33
|
+
if (Platform.OS === 'web') {
|
34
|
+
this.delegate.getView().oncontextmenu = () => false;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
transformNativeEvent() {
|
39
|
+
return { ...super.transformNativeEvent(),
|
40
|
+
duration: Date.now() - this.startTime
|
41
|
+
};
|
42
|
+
}
|
43
|
+
|
44
|
+
updateGestureConfig({
|
45
|
+
enabled = true,
|
46
|
+
...props
|
47
|
+
}) {
|
48
|
+
super.updateGestureConfig({
|
49
|
+
enabled: enabled,
|
50
|
+
...props
|
51
|
+
});
|
52
|
+
|
53
|
+
if (this.config.minDurationMs !== undefined) {
|
54
|
+
this.minDurationMs = this.config.minDurationMs;
|
55
|
+
}
|
56
|
+
|
57
|
+
if (this.config.maxDist !== undefined) {
|
58
|
+
this.maxDistSq = this.config.maxDist * this.config.maxDist;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
resetConfig() {
|
63
|
+
super.resetConfig();
|
64
|
+
this.minDurationMs = DEFAULT_MIN_DURATION_MS;
|
65
|
+
this.maxDistSq = this.defaultMaxDistSq;
|
66
|
+
}
|
67
|
+
|
68
|
+
onStateChange(_newState, _oldState) {
|
69
|
+
clearTimeout(this.activationTimeout);
|
70
|
+
}
|
71
|
+
|
72
|
+
onPointerDown(event) {
|
73
|
+
this.tracker.addToTracker(event);
|
74
|
+
super.onPointerDown(event);
|
75
|
+
this.tryBegin(event);
|
76
|
+
this.tryActivate();
|
77
|
+
this.checkDistanceFail(event);
|
78
|
+
}
|
79
|
+
|
80
|
+
onPointerMove(event) {
|
81
|
+
super.onPointerMove(event);
|
82
|
+
this.tracker.track(event);
|
83
|
+
this.checkDistanceFail(event);
|
84
|
+
}
|
85
|
+
|
86
|
+
onPointerUp(event) {
|
87
|
+
super.onPointerUp(event);
|
88
|
+
this.tracker.removeFromTracker(event.pointerId);
|
89
|
+
|
90
|
+
if (this.currentState === State.ACTIVE) {
|
91
|
+
this.end();
|
92
|
+
} else {
|
93
|
+
this.fail();
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
tryBegin(event) {
|
98
|
+
if (this.currentState !== State.UNDETERMINED) {
|
99
|
+
return;
|
100
|
+
}
|
101
|
+
|
102
|
+
this.previousTime = Date.now();
|
103
|
+
this.startTime = this.previousTime;
|
104
|
+
this.begin();
|
105
|
+
this.startX = event.x;
|
106
|
+
this.startY = event.y;
|
107
|
+
}
|
108
|
+
|
109
|
+
tryActivate() {
|
110
|
+
if (this.minDurationMs > 0) {
|
111
|
+
this.activationTimeout = setTimeout(() => {
|
112
|
+
this.activate();
|
113
|
+
}, this.minDurationMs);
|
114
|
+
} else if (this.minDurationMs === 0) {
|
115
|
+
this.activate();
|
116
|
+
}
|
117
|
+
}
|
118
|
+
|
119
|
+
checkDistanceFail(event) {
|
120
|
+
const dx = event.x - this.startX;
|
121
|
+
const dy = event.y - this.startY;
|
122
|
+
const distSq = dx * dx + dy * dy;
|
123
|
+
|
124
|
+
if (distSq <= this.maxDistSq) {
|
125
|
+
return;
|
126
|
+
}
|
127
|
+
|
128
|
+
if (this.currentState === State.ACTIVE) {
|
129
|
+
this.cancel();
|
130
|
+
} else {
|
131
|
+
this.fail();
|
132
|
+
}
|
133
|
+
}
|
134
|
+
|
135
|
+
}
|
136
|
+
//# sourceMappingURL=LongPressGestureHandler.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["LongPressGestureHandler.ts"],"names":["Platform","State","GestureHandler","DEFAULT_MIN_DURATION_MS","DEFAULT_MAX_DIST_DP","SCALING_FACTOR","LongPressGestureHandler","defaultMaxDistSq","init","ref","propsRef","OS","delegate","getView","oncontextmenu","transformNativeEvent","duration","Date","now","startTime","updateGestureConfig","enabled","props","config","minDurationMs","undefined","maxDist","maxDistSq","resetConfig","onStateChange","_newState","_oldState","clearTimeout","activationTimeout","onPointerDown","event","tracker","addToTracker","tryBegin","tryActivate","checkDistanceFail","onPointerMove","track","onPointerUp","removeFromTracker","pointerId","currentState","ACTIVE","end","fail","UNDETERMINED","previousTime","begin","startX","x","startY","y","setTimeout","activate","dx","dy","distSq","cancel"],"mappings":"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","sourcesContent":["import { Platform } from 'react-native';\r\nimport { State } from '../../State';\r\nimport { AdaptedEvent, Config } from '../interfaces';\r\n\r\nimport GestureHandler from './GestureHandler';\r\n\r\nconst DEFAULT_MIN_DURATION_MS = 500;\r\nconst DEFAULT_MAX_DIST_DP = 10;\r\nconst SCALING_FACTOR = 10;\r\n\r\nexport default class LongPressGestureHandler extends GestureHandler {\r\n private minDurationMs = DEFAULT_MIN_DURATION_MS;\r\n private defaultMaxDistSq = DEFAULT_MAX_DIST_DP * SCALING_FACTOR;\r\n\r\n private maxDistSq = this.defaultMaxDistSq;\r\n private startX = 0;\r\n private startY = 0;\r\n\r\n private startTime = 0;\r\n private previousTime = 0;\r\n\r\n private activationTimeout: number | undefined;\r\n\r\n public init(ref: number, propsRef: React.RefObject<unknown>) {\r\n super.init(ref, propsRef);\r\n\r\n if (Platform.OS === 'web') {\r\n (this.delegate.getView() as HTMLElement).oncontextmenu = () => false;\r\n }\r\n }\r\n\r\n protected transformNativeEvent() {\r\n return {\r\n ...super.transformNativeEvent(),\r\n duration: Date.now() - this.startTime,\r\n };\r\n }\r\n\r\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\r\n super.updateGestureConfig({ enabled: enabled, ...props });\r\n\r\n if (this.config.minDurationMs !== undefined) {\r\n this.minDurationMs = this.config.minDurationMs;\r\n }\r\n\r\n if (this.config.maxDist !== undefined) {\r\n this.maxDistSq = this.config.maxDist * this.config.maxDist;\r\n }\r\n }\r\n\r\n protected resetConfig(): void {\r\n super.resetConfig();\r\n this.minDurationMs = DEFAULT_MIN_DURATION_MS;\r\n this.maxDistSq = this.defaultMaxDistSq;\r\n }\r\n\r\n protected onStateChange(_newState: State, _oldState: State): void {\r\n clearTimeout(this.activationTimeout);\r\n }\r\n\r\n protected onPointerDown(event: AdaptedEvent): void {\r\n this.tracker.addToTracker(event);\r\n super.onPointerDown(event);\r\n this.tryBegin(event);\r\n this.tryActivate();\r\n this.checkDistanceFail(event);\r\n }\r\n\r\n protected onPointerMove(event: AdaptedEvent): void {\r\n super.onPointerMove(event);\r\n this.tracker.track(event);\r\n this.checkDistanceFail(event);\r\n }\r\n\r\n protected onPointerUp(event: AdaptedEvent): void {\r\n super.onPointerUp(event);\r\n this.tracker.removeFromTracker(event.pointerId);\r\n\r\n if (this.currentState === State.ACTIVE) {\r\n this.end();\r\n } else {\r\n this.fail();\r\n }\r\n }\r\n\r\n private tryBegin(event: AdaptedEvent): void {\r\n if (this.currentState !== State.UNDETERMINED) {\r\n return;\r\n }\r\n\r\n this.previousTime = Date.now();\r\n this.startTime = this.previousTime;\r\n\r\n this.begin();\r\n\r\n this.startX = event.x;\r\n this.startY = event.y;\r\n }\r\n\r\n private tryActivate(): void {\r\n if (this.minDurationMs > 0) {\r\n this.activationTimeout = setTimeout(() => {\r\n this.activate();\r\n }, this.minDurationMs);\r\n } else if (this.minDurationMs === 0) {\r\n this.activate();\r\n }\r\n }\r\n\r\n private checkDistanceFail(event: AdaptedEvent): void {\r\n const dx = event.x - this.startX;\r\n const dy = event.y - this.startY;\r\n const distSq = dx * dx + dy * dy;\r\n\r\n if (distSq <= this.maxDistSq) {\r\n return;\r\n }\r\n\r\n if (this.currentState === State.ACTIVE) {\r\n this.cancel();\r\n } else {\r\n this.fail();\r\n }\r\n }\r\n}\r\n"]}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import GestureHandler from './GestureHandler';
|
2
|
+
export default class ManualGestureHandler extends GestureHandler {
|
3
|
+
init(ref, propsRef) {
|
4
|
+
super.init(ref, propsRef);
|
5
|
+
}
|
6
|
+
|
7
|
+
updateGestureConfig({
|
8
|
+
enabled = true,
|
9
|
+
...props
|
10
|
+
}) {
|
11
|
+
super.updateGestureConfig({
|
12
|
+
enabled: enabled,
|
13
|
+
...props
|
14
|
+
});
|
15
|
+
}
|
16
|
+
|
17
|
+
onPointerDown(event) {
|
18
|
+
this.tracker.addToTracker(event);
|
19
|
+
super.onPointerDown(event);
|
20
|
+
this.begin();
|
21
|
+
}
|
22
|
+
|
23
|
+
onPointerAdd(event) {
|
24
|
+
this.tracker.addToTracker(event);
|
25
|
+
super.onPointerAdd(event);
|
26
|
+
}
|
27
|
+
|
28
|
+
onPointerMove(event) {
|
29
|
+
this.tracker.track(event);
|
30
|
+
super.onPointerMove(event);
|
31
|
+
}
|
32
|
+
|
33
|
+
onPointerOutOfBounds(event) {
|
34
|
+
this.tracker.track(event);
|
35
|
+
super.onPointerOutOfBounds(event);
|
36
|
+
}
|
37
|
+
|
38
|
+
onPointerUp(event) {
|
39
|
+
super.onPointerUp(event);
|
40
|
+
this.tracker.removeFromTracker(event.pointerId);
|
41
|
+
}
|
42
|
+
|
43
|
+
onPointerRemove(event) {
|
44
|
+
super.onPointerRemove(event);
|
45
|
+
this.tracker.removeFromTracker(event.pointerId);
|
46
|
+
}
|
47
|
+
|
48
|
+
}
|
49
|
+
//# sourceMappingURL=ManualGestureHandler.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["ManualGestureHandler.ts"],"names":["GestureHandler","ManualGestureHandler","init","ref","propsRef","updateGestureConfig","enabled","props","onPointerDown","event","tracker","addToTracker","begin","onPointerAdd","onPointerMove","track","onPointerOutOfBounds","onPointerUp","removeFromTracker","pointerId","onPointerRemove"],"mappings":"AACA,OAAOA,cAAP,MAA2B,kBAA3B;AAEA,eAAe,MAAMC,oBAAN,SAAmCD,cAAnC,CAAkD;AACxDE,EAAAA,IAAI,CAACC,GAAD,EAAcC,QAAd,EAAkD;AAC3D,UAAMF,IAAN,CAAWC,GAAX,EAAgBC,QAAhB;AACD;;AAEMC,EAAAA,mBAAmB,CAAC;AAAEC,IAAAA,OAAO,GAAG,IAAZ;AAAkB,OAAGC;AAArB,GAAD,EAA6C;AACrE,UAAMF,mBAAN,CAA0B;AAAEC,MAAAA,OAAO,EAAEA,OAAX;AAAoB,SAAGC;AAAvB,KAA1B;AACD;;AAESC,EAAAA,aAAa,CAACC,KAAD,EAA4B;AACjD,SAAKC,OAAL,CAAaC,YAAb,CAA0BF,KAA1B;AACA,UAAMD,aAAN,CAAoBC,KAApB;AACA,SAAKG,KAAL;AACD;;AAESC,EAAAA,YAAY,CAACJ,KAAD,EAA4B;AAChD,SAAKC,OAAL,CAAaC,YAAb,CAA0BF,KAA1B;AACA,UAAMI,YAAN,CAAmBJ,KAAnB;AACD;;AAESK,EAAAA,aAAa,CAACL,KAAD,EAA4B;AACjD,SAAKC,OAAL,CAAaK,KAAb,CAAmBN,KAAnB;AACA,UAAMK,aAAN,CAAoBL,KAApB;AACD;;AAESO,EAAAA,oBAAoB,CAACP,KAAD,EAA4B;AACxD,SAAKC,OAAL,CAAaK,KAAb,CAAmBN,KAAnB;AACA,UAAMO,oBAAN,CAA2BP,KAA3B;AACD;;AAESQ,EAAAA,WAAW,CAACR,KAAD,EAA4B;AAC/C,UAAMQ,WAAN,CAAkBR,KAAlB;AACA,SAAKC,OAAL,CAAaQ,iBAAb,CAA+BT,KAAK,CAACU,SAArC;AACD;;AAESC,EAAAA,eAAe,CAACX,KAAD,EAA4B;AACnD,UAAMW,eAAN,CAAsBX,KAAtB;AACA,SAAKC,OAAL,CAAaQ,iBAAb,CAA+BT,KAAK,CAACU,SAArC;AACD;;AAtC8D","sourcesContent":["import { AdaptedEvent, Config } from '../interfaces';\r\nimport GestureHandler from './GestureHandler';\r\n\r\nexport default class ManualGestureHandler extends GestureHandler {\r\n public init(ref: number, propsRef: React.RefObject<unknown>) {\r\n super.init(ref, propsRef);\r\n }\r\n\r\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\r\n super.updateGestureConfig({ enabled: enabled, ...props });\r\n }\r\n\r\n protected onPointerDown(event: AdaptedEvent): void {\r\n this.tracker.addToTracker(event);\r\n super.onPointerDown(event);\r\n this.begin();\r\n }\r\n\r\n protected onPointerAdd(event: AdaptedEvent): void {\r\n this.tracker.addToTracker(event);\r\n super.onPointerAdd(event);\r\n }\r\n\r\n protected onPointerMove(event: AdaptedEvent): void {\r\n this.tracker.track(event);\r\n super.onPointerMove(event);\r\n }\r\n\r\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\r\n this.tracker.track(event);\r\n super.onPointerOutOfBounds(event);\r\n }\r\n\r\n protected onPointerUp(event: AdaptedEvent): void {\r\n super.onPointerUp(event);\r\n this.tracker.removeFromTracker(event.pointerId);\r\n }\r\n\r\n protected onPointerRemove(event: AdaptedEvent): void {\r\n super.onPointerRemove(event);\r\n this.tracker.removeFromTracker(event.pointerId);\r\n }\r\n}\r\n"]}
|
@@ -0,0 +1,163 @@
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
2
|
+
|
3
|
+
import { Platform } from 'react-native';
|
4
|
+
import { State } from '../../State';
|
5
|
+
import { DEFAULT_TOUCH_SLOP } from '../constants';
|
6
|
+
import GestureHandler from './GestureHandler';
|
7
|
+
export default class NativeViewGestureHandler extends GestureHandler {
|
8
|
+
constructor(...args) {
|
9
|
+
super(...args);
|
10
|
+
|
11
|
+
_defineProperty(this, "buttonRole", void 0);
|
12
|
+
|
13
|
+
_defineProperty(this, "shouldActivateOnStart", false);
|
14
|
+
|
15
|
+
_defineProperty(this, "disallowInterruption", false);
|
16
|
+
|
17
|
+
_defineProperty(this, "startX", 0);
|
18
|
+
|
19
|
+
_defineProperty(this, "startY", 0);
|
20
|
+
|
21
|
+
_defineProperty(this, "minDistSq", DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP);
|
22
|
+
}
|
23
|
+
|
24
|
+
init(ref, propsRef) {
|
25
|
+
super.init(ref, propsRef);
|
26
|
+
this.setShouldCancelWhenOutside(true);
|
27
|
+
|
28
|
+
if (Platform.OS !== 'web') {
|
29
|
+
return;
|
30
|
+
}
|
31
|
+
|
32
|
+
const view = this.delegate.getView();
|
33
|
+
view.style['touchAction'] = 'auto'; //@ts-ignore Turns on defualt touch behavior on Safari
|
34
|
+
|
35
|
+
view.style['WebkitTouchCallout'] = 'auto';
|
36
|
+
|
37
|
+
if (view.hasAttribute('role')) {
|
38
|
+
this.buttonRole = true;
|
39
|
+
} else {
|
40
|
+
this.buttonRole = false;
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
updateGestureConfig({
|
45
|
+
enabled = true,
|
46
|
+
...props
|
47
|
+
}) {
|
48
|
+
super.updateGestureConfig({
|
49
|
+
enabled: enabled,
|
50
|
+
...props
|
51
|
+
});
|
52
|
+
|
53
|
+
if (this.config.shouldActivateOnStart !== undefined) {
|
54
|
+
this.shouldActivateOnStart = this.config.shouldActivateOnStart;
|
55
|
+
}
|
56
|
+
|
57
|
+
if (this.config.disallowInterruption !== undefined) {
|
58
|
+
this.disallowInterruption = this.config.disallowInterruption;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
resetConfig() {
|
63
|
+
super.resetConfig();
|
64
|
+
}
|
65
|
+
|
66
|
+
onPointerDown(event) {
|
67
|
+
this.tracker.addToTracker(event);
|
68
|
+
super.onPointerDown(event);
|
69
|
+
this.newPointerAction();
|
70
|
+
}
|
71
|
+
|
72
|
+
onPointerAdd(event) {
|
73
|
+
this.tracker.addToTracker(event);
|
74
|
+
super.onPointerAdd(event);
|
75
|
+
this.newPointerAction();
|
76
|
+
}
|
77
|
+
|
78
|
+
newPointerAction() {
|
79
|
+
this.startX = this.tracker.getLastAvgX();
|
80
|
+
this.startY = this.tracker.getLastAvgY();
|
81
|
+
|
82
|
+
if (this.currentState !== State.UNDETERMINED) {
|
83
|
+
return;
|
84
|
+
}
|
85
|
+
|
86
|
+
this.begin();
|
87
|
+
|
88
|
+
if (this.buttonRole) {
|
89
|
+
this.activate();
|
90
|
+
}
|
91
|
+
}
|
92
|
+
|
93
|
+
onPointerMove(event) {
|
94
|
+
this.tracker.track(event);
|
95
|
+
const dx = this.startX - this.tracker.getLastAvgX();
|
96
|
+
const dy = this.startY - this.tracker.getLastAvgY();
|
97
|
+
const distSq = dx * dx + dy * dy;
|
98
|
+
|
99
|
+
if (distSq >= this.minDistSq) {
|
100
|
+
if (this.buttonRole && this.currentState === State.ACTIVE) {
|
101
|
+
this.cancel();
|
102
|
+
} else if (!this.buttonRole && this.currentState === State.BEGAN) {
|
103
|
+
this.activate();
|
104
|
+
}
|
105
|
+
}
|
106
|
+
}
|
107
|
+
|
108
|
+
onPointerLeave() {
|
109
|
+
if (this.currentState === State.BEGAN || this.currentState === State.ACTIVE) {
|
110
|
+
this.cancel();
|
111
|
+
}
|
112
|
+
}
|
113
|
+
|
114
|
+
onPointerUp(event) {
|
115
|
+
super.onPointerUp(event);
|
116
|
+
this.onUp(event);
|
117
|
+
}
|
118
|
+
|
119
|
+
onPointerRemove(event) {
|
120
|
+
super.onPointerRemove(event);
|
121
|
+
this.onUp(event);
|
122
|
+
}
|
123
|
+
|
124
|
+
onUp(event) {
|
125
|
+
this.tracker.removeFromTracker(event.pointerId);
|
126
|
+
|
127
|
+
if (this.tracker.getTrackedPointersCount() === 0) {
|
128
|
+
if (this.currentState === State.ACTIVE) {
|
129
|
+
this.end();
|
130
|
+
} else {
|
131
|
+
this.fail();
|
132
|
+
}
|
133
|
+
}
|
134
|
+
}
|
135
|
+
|
136
|
+
shouldRecognizeSimultaneously(handler) {
|
137
|
+
if (super.shouldRecognizeSimultaneously(handler)) {
|
138
|
+
return true;
|
139
|
+
}
|
140
|
+
|
141
|
+
if (handler instanceof NativeViewGestureHandler && handler.getState() === State.ACTIVE && handler.disallowsInterruption()) {
|
142
|
+
return false;
|
143
|
+
}
|
144
|
+
|
145
|
+
const canBeInterrupted = !this.disallowInterruption;
|
146
|
+
|
147
|
+
if (this.currentState === State.ACTIVE && handler.getState() === State.ACTIVE && canBeInterrupted) {
|
148
|
+
return false;
|
149
|
+
}
|
150
|
+
|
151
|
+
return this.currentState === State.ACTIVE && canBeInterrupted && handler.getTag() > 0;
|
152
|
+
}
|
153
|
+
|
154
|
+
shouldBeCancelledByOther(_handler) {
|
155
|
+
return !this.disallowInterruption;
|
156
|
+
}
|
157
|
+
|
158
|
+
disallowsInterruption() {
|
159
|
+
return this.disallowInterruption;
|
160
|
+
}
|
161
|
+
|
162
|
+
}
|
163
|
+
//# sourceMappingURL=NativeViewGestureHandler.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["NativeViewGestureHandler.ts"],"names":["Platform","State","DEFAULT_TOUCH_SLOP","GestureHandler","NativeViewGestureHandler","init","ref","propsRef","setShouldCancelWhenOutside","OS","view","delegate","getView","style","hasAttribute","buttonRole","updateGestureConfig","enabled","props","config","shouldActivateOnStart","undefined","disallowInterruption","resetConfig","onPointerDown","event","tracker","addToTracker","newPointerAction","onPointerAdd","startX","getLastAvgX","startY","getLastAvgY","currentState","UNDETERMINED","begin","activate","onPointerMove","track","dx","dy","distSq","minDistSq","ACTIVE","cancel","BEGAN","onPointerLeave","onPointerUp","onUp","onPointerRemove","removeFromTracker","pointerId","getTrackedPointersCount","end","fail","shouldRecognizeSimultaneously","handler","getState","disallowsInterruption","canBeInterrupted","getTag","shouldBeCancelledByOther","_handler"],"mappings":"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","sourcesContent":["import { Platform } from 'react-native';\r\nimport { State } from '../../State';\r\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\r\nimport { AdaptedEvent, Config } from '../interfaces';\r\n\r\nimport GestureHandler from './GestureHandler';\r\nexport default class NativeViewGestureHandler extends GestureHandler {\r\n private buttonRole!: boolean;\r\n\r\n //TODO: Implement logic for activation on start\r\n //@ts-ignore Logic yet to be implemented\r\n private shouldActivateOnStart = false;\r\n private disallowInterruption = false;\r\n\r\n private startX = 0;\r\n private startY = 0;\r\n private minDistSq = DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP;\r\n\r\n public init(ref: number, propsRef: React.RefObject<unknown>): void {\r\n super.init(ref, propsRef);\r\n\r\n this.setShouldCancelWhenOutside(true);\r\n\r\n if (Platform.OS !== 'web') {\r\n return;\r\n }\r\n\r\n const view = this.delegate.getView() as HTMLElement;\r\n\r\n view.style['touchAction'] = 'auto';\r\n\r\n //@ts-ignore Turns on defualt touch behavior on Safari\r\n view.style['WebkitTouchCallout'] = 'auto';\r\n\r\n if (view.hasAttribute('role')) {\r\n this.buttonRole = true;\r\n } else {\r\n this.buttonRole = false;\r\n }\r\n }\r\n\r\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\r\n super.updateGestureConfig({ enabled: enabled, ...props });\r\n\r\n if (this.config.shouldActivateOnStart !== undefined) {\r\n this.shouldActivateOnStart = this.config.shouldActivateOnStart;\r\n }\r\n if (this.config.disallowInterruption !== undefined) {\r\n this.disallowInterruption = this.config.disallowInterruption;\r\n }\r\n }\r\n\r\n protected resetConfig(): void {\r\n super.resetConfig();\r\n }\r\n\r\n protected onPointerDown(event: AdaptedEvent): void {\r\n this.tracker.addToTracker(event);\r\n super.onPointerDown(event);\r\n this.newPointerAction();\r\n }\r\n\r\n protected onPointerAdd(event: AdaptedEvent): void {\r\n this.tracker.addToTracker(event);\r\n super.onPointerAdd(event);\r\n this.newPointerAction();\r\n }\r\n\r\n private newPointerAction(): void {\r\n this.startX = this.tracker.getLastAvgX();\r\n this.startY = this.tracker.getLastAvgY();\r\n\r\n if (this.currentState !== State.UNDETERMINED) {\r\n return;\r\n }\r\n\r\n this.begin();\r\n if (this.buttonRole) {\r\n this.activate();\r\n }\r\n }\r\n\r\n protected onPointerMove(event: AdaptedEvent): void {\r\n this.tracker.track(event);\r\n\r\n const dx = this.startX - this.tracker.getLastAvgX();\r\n const dy = this.startY - this.tracker.getLastAvgY();\r\n const distSq = dx * dx + dy * dy;\r\n\r\n if (distSq >= this.minDistSq) {\r\n if (this.buttonRole && this.currentState === State.ACTIVE) {\r\n this.cancel();\r\n } else if (!this.buttonRole && this.currentState === State.BEGAN) {\r\n this.activate();\r\n }\r\n }\r\n }\r\n\r\n protected onPointerLeave(): void {\r\n if (\r\n this.currentState === State.BEGAN ||\r\n this.currentState === State.ACTIVE\r\n ) {\r\n this.cancel();\r\n }\r\n }\r\n\r\n protected onPointerUp(event: AdaptedEvent): void {\r\n super.onPointerUp(event);\r\n this.onUp(event);\r\n }\r\n\r\n protected onPointerRemove(event: AdaptedEvent): void {\r\n super.onPointerRemove(event);\r\n this.onUp(event);\r\n }\r\n\r\n private onUp(event: AdaptedEvent): void {\r\n this.tracker.removeFromTracker(event.pointerId);\r\n\r\n if (this.tracker.getTrackedPointersCount() === 0) {\r\n if (this.currentState === State.ACTIVE) {\r\n this.end();\r\n } else {\r\n this.fail();\r\n }\r\n }\r\n }\r\n\r\n public shouldRecognizeSimultaneously(handler: GestureHandler): boolean {\r\n if (super.shouldRecognizeSimultaneously(handler)) {\r\n return true;\r\n }\r\n\r\n if (\r\n handler instanceof NativeViewGestureHandler &&\r\n handler.getState() === State.ACTIVE &&\r\n handler.disallowsInterruption()\r\n ) {\r\n return false;\r\n }\r\n\r\n const canBeInterrupted = !this.disallowInterruption;\r\n\r\n if (\r\n this.currentState === State.ACTIVE &&\r\n handler.getState() === State.ACTIVE &&\r\n canBeInterrupted\r\n ) {\r\n return false;\r\n }\r\n\r\n return (\r\n this.currentState === State.ACTIVE &&\r\n canBeInterrupted &&\r\n handler.getTag() > 0\r\n );\r\n }\r\n\r\n public shouldBeCancelledByOther(_handler: GestureHandler): boolean {\r\n return !this.disallowInterruption;\r\n }\r\n\r\n public disallowsInterruption(): boolean {\r\n return this.disallowInterruption;\r\n }\r\n}\r\n"]}
|