react-native-gesture-handler 2.23.0 → 2.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RNGestureHandler.podspec +8 -0
- package/apple/RNGestureHandlerButton.mm +12 -2
- package/lib/commonjs/ActionType.js +3 -3
- package/lib/commonjs/ActionType.js.map +1 -1
- package/lib/commonjs/Directions.js +8 -11
- package/lib/commonjs/Directions.js.map +1 -1
- package/lib/commonjs/EnableNewWebImplementation.js +10 -2
- package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
- package/lib/commonjs/GestureHandlerRootViewContext.js +7 -2
- package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/commonjs/PlatformConstants.js +6 -1
- package/lib/commonjs/PlatformConstants.js.map +1 -1
- package/lib/commonjs/PlatformConstants.web.js +3 -1
- package/lib/commonjs/PlatformConstants.web.js.map +1 -1
- package/lib/commonjs/PointerType.js +5 -3
- package/lib/commonjs/PointerType.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.js +6 -2
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.web.js +37 -11
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.windows.js +32 -22
- package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/commonjs/RNRenderer.js +3 -1
- package/lib/commonjs/RNRenderer.js.map +1 -1
- package/lib/commonjs/RNRenderer.web.js +2 -1
- package/lib/commonjs/RNRenderer.web.js.map +1 -1
- package/lib/commonjs/State.js +3 -4
- package/lib/commonjs/State.js.map +1 -1
- package/lib/commonjs/TouchEventType.js +3 -3
- package/lib/commonjs/TouchEventType.js.map +1 -1
- package/lib/commonjs/components/DrawerLayout.js +115 -90
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/GestureButtons.js +81 -28
- package/lib/commonjs/components/GestureButtons.js.map +1 -1
- package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.js +37 -26
- package/lib/commonjs/components/GestureComponents.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.web.js +27 -13
- package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.js +6 -2
- package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.web.js +12 -4
- package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.android.js +15 -4
- package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.js +14 -4
- package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.web.js +13 -4
- package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/commonjs/components/Pressable/Pressable.js +77 -29
- package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
- package/lib/commonjs/components/Pressable/PressableProps.js.map +1 -1
- package/lib/commonjs/components/Pressable/index.js +3 -1
- package/lib/commonjs/components/Pressable/index.js.map +1 -1
- package/lib/commonjs/components/Pressable/utils.js +20 -5
- package/lib/commonjs/components/Pressable/utils.js.map +1 -1
- package/lib/commonjs/components/ReanimatedDrawerLayout.js +76 -38
- package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/commonjs/components/ReanimatedSwipeable.js +45 -18
- package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/commonjs/components/Swipeable.js +75 -34
- package/lib/commonjs/components/Swipeable.js.map +1 -1
- package/lib/commonjs/components/Text.js +23 -9
- package/lib/commonjs/components/Text.js.map +1 -1
- package/lib/commonjs/components/gestureHandlerRootHOC.js +14 -5
- package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchable.js +76 -40
- package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableHighlight.js +34 -19
- package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +32 -16
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -2
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableOpacity.js +25 -16
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +13 -9
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/index.js +12 -7
- package/lib/commonjs/components/touchables/index.js.map +1 -1
- package/lib/commonjs/findNodeHandle.js +4 -1
- package/lib/commonjs/findNodeHandle.js.map +1 -1
- package/lib/commonjs/findNodeHandle.web.js +14 -5
- package/lib/commonjs/findNodeHandle.web.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.js +6 -1
- package/lib/commonjs/getReactNativeVersion.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.web.js +1 -0
- package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.js +14 -13
- package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.web.js +1 -0
- package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
- package/lib/commonjs/ghQueueMicrotask.js +2 -1
- package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
- package/lib/commonjs/handlers/FlingGestureHandler.js +11 -9
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +22 -15
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/commonjs/handlers/LongPressGestureHandler.js +11 -9
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +13 -10
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js +32 -13
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PinchGestureHandler.js +9 -7
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js +1 -0
- package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.web.js +1 -0
- package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
- package/lib/commonjs/handlers/RotationGestureHandler.js +9 -7
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/TapGestureHandler.js +11 -9
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js +134 -50
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/createNativeWrapper.js +27 -17
- package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.js +1 -0
- package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.web.js +2 -1
- package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js +10 -9
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +14 -5
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +20 -10
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +29 -9
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +10 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js +36 -11
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +3 -0
- package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +24 -12
- package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +48 -12
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +13 -3
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +9 -2
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +14 -6
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +55 -27
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/commonjs/handlers/gestures/eventReceiver.js +46 -14
- package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/commonjs/handlers/gestures/flingGesture.js +12 -5
- package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +19 -8
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gesture.js +84 -44
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureComposition.js +31 -17
- package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js +27 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +9 -3
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +7 -2
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/hoverGesture.js +25 -11
- package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/longPressGesture.js +14 -6
- package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/manualGesture.js +6 -0
- package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/nativeGesture.js +12 -5
- package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/panGesture.js +43 -18
- package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/pinchGesture.js +9 -2
- package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +8 -1
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/commonjs/handlers/gestures/rotationGesture.js +9 -2
- package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/tapGesture.js +22 -10
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/commonjs/handlers/getNextHandlerTag.js +1 -0
- package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
- package/lib/commonjs/handlers/handlersRegistry.js +21 -6
- package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
- package/lib/commonjs/handlers/utils.js +26 -6
- package/lib/commonjs/handlers/utils.js.map +1 -1
- package/lib/commonjs/index.js +104 -75
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js +11 -4
- package/lib/commonjs/init.js.map +1 -1
- package/lib/commonjs/jestUtils/index.js +5 -4
- package/lib/commonjs/jestUtils/index.js.map +1 -1
- package/lib/commonjs/jestUtils/jestUtils.js +83 -19
- package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
- package/lib/commonjs/mocks.js +15 -5
- package/lib/commonjs/mocks.js.map +1 -1
- package/lib/commonjs/mountRegistry.js +12 -3
- package/lib/commonjs/mountRegistry.js.map +1 -1
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +5 -1
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +7 -2
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +7 -2
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
- package/lib/commonjs/typeUtils.js.map +1 -1
- package/lib/commonjs/utils.js +28 -13
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/Gestures.js +23 -5
- package/lib/commonjs/web/Gestures.js.map +1 -1
- package/lib/commonjs/web/constants.js +4 -2
- package/lib/commonjs/web/constants.js.map +1 -1
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +41 -5
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js +42 -13
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +49 -6
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +195 -62
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/HoverGestureHandler.js +19 -6
- package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js +47 -6
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js +11 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +49 -8
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +123 -8
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +41 -4
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +42 -4
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +67 -6
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/interfaces.js +17 -9
- package/lib/commonjs/web/interfaces.js.map +1 -1
- package/lib/commonjs/web/tools/CircularBuffer.js +15 -3
- package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
- package/lib/commonjs/web/tools/EventManager.js +41 -7
- package/lib/commonjs/web/tools/EventManager.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +78 -11
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +48 -8
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/InteractionManager.js +22 -5
- package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
- package/lib/commonjs/web/tools/KeyboardEventManager.js +26 -4
- package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/LeastSquareSolver.js +67 -30
- package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/commonjs/web/tools/NodeManager.js +14 -7
- package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerEventManager.js +45 -10
- package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerTracker.js +45 -9
- package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
- package/lib/commonjs/web/tools/Vector.js +18 -3
- package/lib/commonjs/web/tools/Vector.js.map +1 -1
- package/lib/commonjs/web/tools/VelocityTracker.js +31 -9
- package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
- package/lib/commonjs/web/tools/WheelEventManager.js +17 -4
- package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
- package/lib/commonjs/web/utils.js +55 -26
- package/lib/commonjs/web/utils.js.map +1 -1
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +19 -7
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js +13 -3
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/Errors.js +3 -0
- package/lib/commonjs/web_hammer/Errors.js.map +1 -1
- package/lib/commonjs/web_hammer/FlingGestureHandler.js +44 -13
- package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/GestureHandler.js +142 -55
- package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +11 -2
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js +19 -5
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +24 -16
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NodeManager.js +16 -9
- package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
- package/lib/commonjs/web_hammer/PanGestureHandler.js +49 -8
- package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PinchGestureHandler.js +11 -2
- package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PressGestureHandler.js +43 -15
- package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/RotationGestureHandler.js +13 -2
- package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/TapGestureHandler.js +52 -33
- package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/constants.js +26 -13
- package/lib/commonjs/web_hammer/constants.js.map +1 -1
- package/lib/commonjs/web_hammer/utils.js +14 -4
- package/lib/commonjs/web_hammer/utils.js.map +1 -1
- package/lib/module/ActionType.js +1 -3
- package/lib/module/ActionType.js.map +1 -1
- package/lib/module/Directions.js +3 -9
- package/lib/module/Directions.js.map +1 -1
- package/lib/module/EnableNewWebImplementation.js +5 -2
- package/lib/module/EnableNewWebImplementation.js.map +1 -1
- package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/module/PlatformConstants.js +1 -0
- package/lib/module/PlatformConstants.js.map +1 -1
- package/lib/module/PlatformConstants.web.js +1 -0
- package/lib/module/PlatformConstants.web.js.map +1 -1
- package/lib/module/PointerType.js +4 -3
- package/lib/module/PointerType.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.js +0 -1
- package/lib/module/RNGestureHandlerModule.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.web.js +20 -10
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.windows.js +17 -18
- package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/module/RNRenderer.js.map +1 -1
- package/lib/module/RNRenderer.web.js.map +1 -1
- package/lib/module/State.js +1 -4
- package/lib/module/State.js.map +1 -1
- package/lib/module/TouchEventType.js +1 -3
- package/lib/module/TouchEventType.js.map +1 -1
- package/lib/module/components/DrawerLayout.js +99 -80
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/GestureButtons.js +55 -19
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/GestureButtonsProps.js.map +1 -1
- package/lib/module/components/GestureComponents.js +12 -17
- package/lib/module/components/GestureComponents.js.map +1 -1
- package/lib/module/components/GestureComponents.web.js +4 -4
- package/lib/module/components/GestureComponents.web.js.map +1 -1
- package/lib/module/components/GestureHandlerButton.js.map +1 -1
- package/lib/module/components/GestureHandlerButton.web.js +2 -1
- package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.android.js +2 -1
- package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.js +2 -1
- package/lib/module/components/GestureHandlerRootView.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.web.js +2 -1
- package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +59 -26
- package/lib/module/components/Pressable/Pressable.js.map +1 -1
- package/lib/module/components/Pressable/PressableProps.js.map +1 -1
- package/lib/module/components/Pressable/index.js.map +1 -1
- package/lib/module/components/Pressable/utils.js +14 -4
- package/lib/module/components/Pressable/utils.js.map +1 -1
- package/lib/module/components/ReanimatedDrawerLayout.js +56 -34
- package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/module/components/ReanimatedSwipeable.js +30 -14
- package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/module/components/Swipeable.js +59 -28
- package/lib/module/components/Swipeable.js.map +1 -1
- package/lib/module/components/Text.js +10 -6
- package/lib/module/components/Text.js.map +1 -1
- package/lib/module/components/gestureHandlerRootHOC.js +2 -2
- package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/module/components/touchables/GenericTouchable.js +63 -34
- package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/module/components/touchables/GenericTouchableProps.js.map +1 -1
- package/lib/module/components/touchables/TouchableHighlight.js +24 -15
- package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js +20 -10
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.js +2 -2
- package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
- package/lib/module/components/touchables/TouchableOpacity.js +16 -10
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/module/components/touchables/TouchableWithoutFeedback.js +3 -6
- package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/module/components/touchables/index.js.map +1 -1
- package/lib/module/findNodeHandle.js.map +1 -1
- package/lib/module/findNodeHandle.web.js +11 -5
- package/lib/module/findNodeHandle.web.js.map +1 -1
- package/lib/module/getReactNativeVersion.js.map +1 -1
- package/lib/module/getReactNativeVersion.web.js.map +1 -1
- package/lib/module/getShadowNodeFromRef.js +13 -13
- package/lib/module/getShadowNodeFromRef.js.map +1 -1
- package/lib/module/getShadowNodeFromRef.web.js.map +1 -1
- package/lib/module/ghQueueMicrotask.js.map +1 -1
- package/lib/module/handlers/FlingGestureHandler.js +0 -6
- package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/handlers/ForceTouchGestureHandler.js +8 -12
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/module/handlers/LongPressGestureHandler.js +0 -6
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/handlers/NativeViewGestureHandler.js +0 -6
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/handlers/PanGestureHandler.js +19 -8
- package/lib/module/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/handlers/PinchGestureHandler.js +0 -2
- package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
- package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -1
- package/lib/module/handlers/RotationGestureHandler.js +0 -2
- package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/handlers/TapGestureHandler.js +0 -6
- package/lib/module/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/handlers/createHandler.js +106 -47
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/createNativeWrapper.js +17 -12
- package/lib/module/handlers/createNativeWrapper.js.map +1 -1
- package/lib/module/handlers/customDirectEventTypes.js.map +1 -1
- package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -1
- package/lib/module/handlers/gestureHandlerCommon.js +4 -9
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/Wrap.js +4 -3
- package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +6 -5
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +16 -8
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +1 -0
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/index.js +13 -7
- package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +2 -0
- package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/types.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +14 -11
- package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +39 -12
- package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +5 -5
- package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +6 -2
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -5
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/utils.js +28 -23
- package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/module/handlers/gestures/eventReceiver.js +38 -14
- package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/module/handlers/gestures/flingGesture.js +9 -5
- package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/module/handlers/gestures/forceTouchGesture.js +17 -8
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/gesture.js +73 -44
- package/lib/module/handlers/gestures/gesture.js.map +1 -1
- package/lib/module/handlers/gestures/gestureComposition.js +24 -16
- package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/module/handlers/gestures/gestureObjects.js +14 -1
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.js +4 -3
- package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.web.js +1 -0
- package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/module/handlers/gestures/hoverGesture.js +18 -9
- package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/module/handlers/gestures/longPressGesture.js +11 -6
- package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/module/handlers/gestures/manualGesture.js +4 -0
- package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/module/handlers/gestures/nativeGesture.js +9 -5
- package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/module/handlers/gestures/panGesture.js +41 -18
- package/lib/module/handlers/gestures/panGesture.js.map +1 -1
- package/lib/module/handlers/gestures/pinchGesture.js +7 -2
- package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/reanimatedWrapper.js +5 -0
- package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/module/handlers/gestures/rotationGesture.js +7 -2
- package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/module/handlers/gestures/tapGesture.js +19 -10
- package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/module/handlers/getNextHandlerTag.js.map +1 -1
- package/lib/module/handlers/handlersRegistry.js +5 -0
- package/lib/module/handlers/handlersRegistry.js.map +1 -1
- package/lib/module/handlers/utils.js +13 -4
- package/lib/module/handlers/utils.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js +2 -3
- package/lib/module/init.js.map +1 -1
- package/lib/module/jestUtils/index.js.map +1 -1
- package/lib/module/jestUtils/jestUtils.js +66 -20
- package/lib/module/jestUtils/jestUtils.js.map +1 -1
- package/lib/module/mocks.js +7 -3
- package/lib/module/mocks.js.map +1 -1
- package/lib/module/mountRegistry.js +10 -3
- package/lib/module/mountRegistry.js.map +1 -1
- package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
- package/lib/module/typeUtils.js.map +1 -1
- package/lib/module/utils.js +11 -6
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/Gestures.js +1 -2
- package/lib/module/web/Gestures.js.map +1 -1
- package/lib/module/web/constants.js.map +1 -1
- package/lib/module/web/detectors/RotationGestureDetector.js +38 -5
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/module/web/detectors/ScaleGestureDetector.js +38 -13
- package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +39 -5
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js +181 -61
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/HoverGestureHandler.js +11 -5
- package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/IGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/LongPressGestureHandler.js +40 -5
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/ManualGestureHandler.js +6 -0
- package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/NativeViewGestureHandler.js +41 -7
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +114 -7
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PinchGestureHandler.js +33 -3
- package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/RotationGestureHandler.js +34 -3
- package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +59 -5
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/interfaces.js +14 -9
- package/lib/module/web/interfaces.js.map +1 -1
- package/lib/module/web/tools/CircularBuffer.js +13 -3
- package/lib/module/web/tools/CircularBuffer.js.map +1 -1
- package/lib/module/web/tools/EventManager.js +39 -7
- package/lib/module/web/tools/EventManager.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerOrchestrator.js +71 -10
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +37 -7
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/module/web/tools/InteractionManager.js +19 -5
- package/lib/module/web/tools/InteractionManager.js.map +1 -1
- package/lib/module/web/tools/KeyboardEventManager.js +19 -3
- package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/module/web/tools/LeastSquareSolver.js +65 -30
- package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/module/web/tools/NodeManager.js +12 -7
- package/lib/module/web/tools/NodeManager.js.map +1 -1
- package/lib/module/web/tools/PointerEventManager.js +35 -9
- package/lib/module/web/tools/PointerEventManager.js.map +1 -1
- package/lib/module/web/tools/PointerTracker.js +39 -8
- package/lib/module/web/tools/PointerTracker.js.map +1 -1
- package/lib/module/web/tools/Vector.js +14 -3
- package/lib/module/web/tools/Vector.js.map +1 -1
- package/lib/module/web/tools/VelocityTracker.js +25 -8
- package/lib/module/web/tools/VelocityTracker.js.map +1 -1
- package/lib/module/web/tools/WheelEventManager.js +10 -3
- package/lib/module/web/tools/WheelEventManager.js.map +1 -1
- package/lib/module/web/utils.js +40 -21
- package/lib/module/web/utils.js.map +1 -1
- package/lib/module/web_hammer/DiscreteGestureHandler.js +13 -4
- package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/DraggingGestureHandler.js +5 -0
- package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/Errors.js +1 -0
- package/lib/module/web_hammer/Errors.js.map +1 -1
- package/lib/module/web_hammer/FlingGestureHandler.js +35 -10
- package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/GestureHandler.js +130 -53
- package/lib/module/web_hammer/GestureHandler.js.map +1 -1
- package/lib/module/web_hammer/IndiscreteGestureHandler.js +6 -1
- package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/LongPressGestureHandler.js +11 -2
- package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/NativeViewGestureHandler.js +12 -12
- package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/NodeManager.js +8 -6
- package/lib/module/web_hammer/NodeManager.js.map +1 -1
- package/lib/module/web_hammer/PanGestureHandler.js +40 -6
- package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PinchGestureHandler.js +5 -0
- package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PressGestureHandler.js +34 -13
- package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/RotationGestureHandler.js +6 -0
- package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/TapGestureHandler.js +45 -31
- package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/constants.js +1 -2
- package/lib/module/web_hammer/constants.js.map +1 -1
- package/lib/module/web_hammer/utils.js +2 -2
- package/lib/module/web_hammer/utils.js.map +1 -1
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +2 -2
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +1 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +1 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +1 -1
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +2 -2
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +2 -2
- package/package.json +1 -1
- package/src/components/touchables/TouchableHighlight.tsx +2 -2
- package/src/components/touchables/TouchableNativeFeedback.android.tsx +1 -1
- package/src/components/touchables/TouchableNativeFeedback.tsx +1 -1
- package/src/components/touchables/TouchableNativeFeedbackProps.tsx +1 -1
- package/src/components/touchables/TouchableOpacity.tsx +2 -2
- package/src/components/touchables/TouchableWithoutFeedback.tsx +2 -2
@@ -4,50 +4,86 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
|
+
|
7
8
|
var _State = require("../../State");
|
9
|
+
|
8
10
|
var _constants = require("../constants");
|
11
|
+
|
9
12
|
var _interfaces = require("../interfaces");
|
13
|
+
|
10
14
|
var _GestureHandler = _interopRequireDefault(require("./GestureHandler"));
|
11
|
-
|
12
|
-
function
|
13
|
-
|
14
|
-
function
|
15
|
+
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
17
|
+
|
18
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
19
|
+
|
15
20
|
const DEFAULT_MIN_POINTERS = 1;
|
16
21
|
const DEFAULT_MAX_POINTERS = 10;
|
17
22
|
const DEFAULT_MIN_DIST_SQ = _constants.DEFAULT_TOUCH_SLOP * _constants.DEFAULT_TOUCH_SLOP;
|
23
|
+
|
18
24
|
class PanGestureHandler extends _GestureHandler.default {
|
19
25
|
constructor(...args) {
|
20
26
|
super(...args);
|
27
|
+
|
21
28
|
_defineProperty(this, "customActivationProperties", ['activeOffsetXStart', 'activeOffsetXEnd', 'failOffsetXStart', 'failOffsetXEnd', 'activeOffsetYStart', 'activeOffsetYEnd', 'failOffsetYStart', 'failOffsetYEnd', 'minVelocityX', 'minVelocityY', 'minVelocity']);
|
29
|
+
|
22
30
|
_defineProperty(this, "velocityX", 0);
|
31
|
+
|
23
32
|
_defineProperty(this, "velocityY", 0);
|
33
|
+
|
24
34
|
_defineProperty(this, "minDistSq", DEFAULT_MIN_DIST_SQ);
|
35
|
+
|
25
36
|
_defineProperty(this, "activeOffsetXStart", -Number.MAX_SAFE_INTEGER);
|
37
|
+
|
26
38
|
_defineProperty(this, "activeOffsetXEnd", Number.MIN_SAFE_INTEGER);
|
39
|
+
|
27
40
|
_defineProperty(this, "failOffsetXStart", Number.MIN_SAFE_INTEGER);
|
41
|
+
|
28
42
|
_defineProperty(this, "failOffsetXEnd", Number.MAX_SAFE_INTEGER);
|
43
|
+
|
29
44
|
_defineProperty(this, "activeOffsetYStart", Number.MAX_SAFE_INTEGER);
|
45
|
+
|
30
46
|
_defineProperty(this, "activeOffsetYEnd", Number.MIN_SAFE_INTEGER);
|
47
|
+
|
31
48
|
_defineProperty(this, "failOffsetYStart", Number.MIN_SAFE_INTEGER);
|
49
|
+
|
32
50
|
_defineProperty(this, "failOffsetYEnd", Number.MAX_SAFE_INTEGER);
|
51
|
+
|
33
52
|
_defineProperty(this, "minVelocityX", Number.MAX_SAFE_INTEGER);
|
53
|
+
|
34
54
|
_defineProperty(this, "minVelocityY", Number.MAX_SAFE_INTEGER);
|
55
|
+
|
35
56
|
_defineProperty(this, "minVelocitySq", Number.MAX_SAFE_INTEGER);
|
57
|
+
|
36
58
|
_defineProperty(this, "minPointers", DEFAULT_MIN_POINTERS);
|
59
|
+
|
37
60
|
_defineProperty(this, "maxPointers", DEFAULT_MAX_POINTERS);
|
61
|
+
|
38
62
|
_defineProperty(this, "startX", 0);
|
63
|
+
|
39
64
|
_defineProperty(this, "startY", 0);
|
65
|
+
|
40
66
|
_defineProperty(this, "offsetX", 0);
|
67
|
+
|
41
68
|
_defineProperty(this, "offsetY", 0);
|
69
|
+
|
42
70
|
_defineProperty(this, "lastX", 0);
|
71
|
+
|
43
72
|
_defineProperty(this, "lastY", 0);
|
73
|
+
|
44
74
|
_defineProperty(this, "stylusData", void 0);
|
75
|
+
|
45
76
|
_defineProperty(this, "activateAfterLongPress", 0);
|
77
|
+
|
46
78
|
_defineProperty(this, "activationTimeout", 0);
|
79
|
+
|
47
80
|
_defineProperty(this, "enableTrackpadTwoFingerGesture", false);
|
81
|
+
|
48
82
|
_defineProperty(this, "endWheelTimeout", 0);
|
83
|
+
|
49
84
|
_defineProperty(this, "wheelDevice", _interfaces.WheelDevice.UNDETERMINED);
|
50
85
|
}
|
86
|
+
|
51
87
|
updateGestureConfig({
|
52
88
|
enabled = true,
|
53
89
|
...props
|
@@ -58,82 +94,107 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
58
94
|
...props
|
59
95
|
});
|
60
96
|
this.checkCustomActivationCriteria(this.customActivationProperties);
|
97
|
+
|
61
98
|
if (this.config.minDist !== undefined) {
|
62
99
|
this.minDistSq = this.config.minDist * this.config.minDist;
|
63
100
|
} else if (this.hasCustomActivationCriteria) {
|
64
101
|
this.minDistSq = Number.MAX_SAFE_INTEGER;
|
65
102
|
}
|
103
|
+
|
66
104
|
if (this.config.minPointers !== undefined) {
|
67
105
|
this.minPointers = this.config.minPointers;
|
68
106
|
}
|
107
|
+
|
69
108
|
if (this.config.maxPointers !== undefined) {
|
70
109
|
this.maxPointers = this.config.maxPointers;
|
71
110
|
}
|
111
|
+
|
72
112
|
if (this.config.minVelocity !== undefined) {
|
73
113
|
this.minVelocityX = this.config.minVelocity;
|
74
114
|
this.minVelocityY = this.config.minVelocity;
|
75
115
|
}
|
116
|
+
|
76
117
|
if (this.config.minVelocityX !== undefined) {
|
77
118
|
this.minVelocityX = this.config.minVelocityX;
|
78
119
|
}
|
120
|
+
|
79
121
|
if (this.config.minVelocityY !== undefined) {
|
80
122
|
this.minVelocityY = this.config.minVelocityY;
|
81
123
|
}
|
124
|
+
|
82
125
|
if (this.config.activateAfterLongPress !== undefined) {
|
83
126
|
this.activateAfterLongPress = this.config.activateAfterLongPress;
|
84
127
|
}
|
128
|
+
|
85
129
|
if (this.config.activeOffsetXStart !== undefined) {
|
86
130
|
this.activeOffsetXStart = this.config.activeOffsetXStart;
|
131
|
+
|
87
132
|
if (this.config.activeOffsetXEnd === undefined) {
|
88
133
|
this.activeOffsetXEnd = Number.MAX_SAFE_INTEGER;
|
89
134
|
}
|
90
135
|
}
|
136
|
+
|
91
137
|
if (this.config.activeOffsetXEnd !== undefined) {
|
92
138
|
this.activeOffsetXEnd = this.config.activeOffsetXEnd;
|
139
|
+
|
93
140
|
if (this.config.activeOffsetXStart === undefined) {
|
94
141
|
this.activeOffsetXStart = Number.MIN_SAFE_INTEGER;
|
95
142
|
}
|
96
143
|
}
|
144
|
+
|
97
145
|
if (this.config.failOffsetXStart !== undefined) {
|
98
146
|
this.failOffsetXStart = this.config.failOffsetXStart;
|
147
|
+
|
99
148
|
if (this.config.failOffsetXEnd === undefined) {
|
100
149
|
this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;
|
101
150
|
}
|
102
151
|
}
|
152
|
+
|
103
153
|
if (this.config.failOffsetXEnd !== undefined) {
|
104
154
|
this.failOffsetXEnd = this.config.failOffsetXEnd;
|
155
|
+
|
105
156
|
if (this.config.failOffsetXStart === undefined) {
|
106
157
|
this.failOffsetXStart = Number.MIN_SAFE_INTEGER;
|
107
158
|
}
|
108
159
|
}
|
160
|
+
|
109
161
|
if (this.config.activeOffsetYStart !== undefined) {
|
110
162
|
this.activeOffsetYStart = this.config.activeOffsetYStart;
|
163
|
+
|
111
164
|
if (this.config.activeOffsetYEnd === undefined) {
|
112
165
|
this.activeOffsetYEnd = Number.MAX_SAFE_INTEGER;
|
113
166
|
}
|
114
167
|
}
|
168
|
+
|
115
169
|
if (this.config.activeOffsetYEnd !== undefined) {
|
116
170
|
this.activeOffsetYEnd = this.config.activeOffsetYEnd;
|
171
|
+
|
117
172
|
if (this.config.activeOffsetYStart === undefined) {
|
118
173
|
this.activeOffsetYStart = Number.MIN_SAFE_INTEGER;
|
119
174
|
}
|
120
175
|
}
|
176
|
+
|
121
177
|
if (this.config.failOffsetYStart !== undefined) {
|
122
178
|
this.failOffsetYStart = this.config.failOffsetYStart;
|
179
|
+
|
123
180
|
if (this.config.failOffsetYEnd === undefined) {
|
124
181
|
this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;
|
125
182
|
}
|
126
183
|
}
|
184
|
+
|
127
185
|
if (this.config.failOffsetYEnd !== undefined) {
|
128
186
|
this.failOffsetYEnd = this.config.failOffsetYEnd;
|
187
|
+
|
129
188
|
if (this.config.failOffsetYStart === undefined) {
|
130
189
|
this.failOffsetYStart = Number.MIN_SAFE_INTEGER;
|
131
190
|
}
|
132
191
|
}
|
192
|
+
|
133
193
|
if (this.config.enableTrackpadTwoFingerGesture !== undefined) {
|
134
194
|
this.enableTrackpadTwoFingerGesture = this.config.enableTrackpadTwoFingerGesture;
|
135
195
|
}
|
136
196
|
}
|
197
|
+
|
137
198
|
resetConfig() {
|
138
199
|
super.resetConfig();
|
139
200
|
this.activeOffsetXStart = -Number.MAX_SAFE_INTEGER;
|
@@ -152,11 +213,11 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
152
213
|
this.maxPointers = DEFAULT_MAX_POINTERS;
|
153
214
|
this.activateAfterLongPress = 0;
|
154
215
|
}
|
216
|
+
|
155
217
|
transformNativeEvent() {
|
156
218
|
const translationX = this.getTranslationX();
|
157
219
|
const translationY = this.getTranslationY();
|
158
|
-
return {
|
159
|
-
...super.transformNativeEvent(),
|
220
|
+
return { ...super.transformNativeEvent(),
|
160
221
|
translationX: isNaN(translationX) ? 0 : translationX,
|
161
222
|
translationY: isNaN(translationY) ? 0 : translationY,
|
162
223
|
velocityX: this.velocityX,
|
@@ -164,21 +225,25 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
164
225
|
stylusData: this.stylusData
|
165
226
|
};
|
166
227
|
}
|
228
|
+
|
167
229
|
getTranslationX() {
|
168
230
|
return this.lastX - this.startX + this.offsetX;
|
169
231
|
}
|
232
|
+
|
170
233
|
getTranslationY() {
|
171
234
|
return this.lastY - this.startY + this.offsetY;
|
172
235
|
}
|
236
|
+
|
173
237
|
clearActivationTimeout() {
|
174
238
|
clearTimeout(this.activationTimeout);
|
175
|
-
}
|
239
|
+
} // Events Handling
|
240
|
+
|
176
241
|
|
177
|
-
// Events Handling
|
178
242
|
onPointerDown(event) {
|
179
243
|
if (!this.isButtonInConfig(event.button)) {
|
180
244
|
return;
|
181
245
|
}
|
246
|
+
|
182
247
|
this.tracker.addToTracker(event);
|
183
248
|
this.stylusData = event.stylusData;
|
184
249
|
super.onPointerDown(event);
|
@@ -191,6 +256,7 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
191
256
|
this.checkBegan();
|
192
257
|
this.tryToSendTouchEvent(event);
|
193
258
|
}
|
259
|
+
|
194
260
|
onPointerAdd(event) {
|
195
261
|
this.tracker.addToTracker(event);
|
196
262
|
super.onPointerAdd(event);
|
@@ -202,6 +268,7 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
202
268
|
this.lastY = lastCoords.y;
|
203
269
|
this.startX = this.lastX;
|
204
270
|
this.startY = this.lastY;
|
271
|
+
|
205
272
|
if (this.tracker.trackedPointersCount > this.maxPointers) {
|
206
273
|
if (this.state === _State.State.ACTIVE) {
|
207
274
|
this.cancel();
|
@@ -212,18 +279,23 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
212
279
|
this.checkBegan();
|
213
280
|
}
|
214
281
|
}
|
282
|
+
|
215
283
|
onPointerUp(event) {
|
216
284
|
this.stylusData = event.stylusData;
|
217
285
|
super.onPointerUp(event);
|
286
|
+
|
218
287
|
if (this.state === _State.State.ACTIVE) {
|
219
288
|
const lastCoords = this.tracker.getAbsoluteCoordsAverage();
|
220
289
|
this.lastX = lastCoords.x;
|
221
290
|
this.lastY = lastCoords.y;
|
222
291
|
}
|
292
|
+
|
223
293
|
this.tracker.removeFromTracker(event.pointerId);
|
294
|
+
|
224
295
|
if (this.tracker.trackedPointersCount === 0) {
|
225
296
|
this.clearActivationTimeout();
|
226
297
|
}
|
298
|
+
|
227
299
|
if (this.state === _State.State.ACTIVE) {
|
228
300
|
this.end();
|
229
301
|
} else {
|
@@ -231,6 +303,7 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
231
303
|
this.fail();
|
232
304
|
}
|
233
305
|
}
|
306
|
+
|
234
307
|
onPointerRemove(event) {
|
235
308
|
super.onPointerRemove(event);
|
236
309
|
this.tracker.removeFromTracker(event.pointerId);
|
@@ -241,10 +314,12 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
241
314
|
this.lastY = lastCoords.y;
|
242
315
|
this.startX = this.lastX;
|
243
316
|
this.startY = this.lastY;
|
317
|
+
|
244
318
|
if (!(this.state === _State.State.ACTIVE && this.tracker.trackedPointersCount < this.minPointers)) {
|
245
319
|
this.checkBegan();
|
246
320
|
}
|
247
321
|
}
|
322
|
+
|
248
323
|
onPointerMove(event) {
|
249
324
|
this.tracker.track(event);
|
250
325
|
this.stylusData = event.stylusData;
|
@@ -257,10 +332,12 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
257
332
|
this.checkBegan();
|
258
333
|
super.onPointerMove(event);
|
259
334
|
}
|
335
|
+
|
260
336
|
onPointerOutOfBounds(event) {
|
261
337
|
if (this.shouldCancelWhenOutside) {
|
262
338
|
return;
|
263
339
|
}
|
340
|
+
|
264
341
|
this.tracker.track(event);
|
265
342
|
this.stylusData = event.stylusData;
|
266
343
|
const lastCoords = this.tracker.getAbsoluteCoordsAverage();
|
@@ -270,10 +347,12 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
270
347
|
this.velocityX = velocity.x;
|
271
348
|
this.velocityY = velocity.y;
|
272
349
|
this.checkBegan();
|
350
|
+
|
273
351
|
if (this.state === _State.State.ACTIVE) {
|
274
352
|
super.onPointerOutOfBounds(event);
|
275
353
|
}
|
276
354
|
}
|
355
|
+
|
277
356
|
scheduleWheelEnd(event) {
|
278
357
|
clearTimeout(this.endWheelTimeout);
|
279
358
|
this.endWheelTimeout = setTimeout(() => {
|
@@ -282,19 +361,24 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
282
361
|
this.tracker.removeFromTracker(event.pointerId);
|
283
362
|
this.state = _State.State.UNDETERMINED;
|
284
363
|
}
|
364
|
+
|
285
365
|
this.wheelDevice = _interfaces.WheelDevice.UNDETERMINED;
|
286
366
|
}, 30);
|
287
367
|
}
|
368
|
+
|
288
369
|
onWheel(event) {
|
289
370
|
if (this.wheelDevice === _interfaces.WheelDevice.MOUSE || !this.enableTrackpadTwoFingerGesture) {
|
290
371
|
return;
|
291
372
|
}
|
373
|
+
|
292
374
|
if (this.state === _State.State.UNDETERMINED) {
|
293
375
|
this.wheelDevice = event.wheelDeltaY % 120 !== 0 ? _interfaces.WheelDevice.TOUCHPAD : _interfaces.WheelDevice.MOUSE;
|
376
|
+
|
294
377
|
if (this.wheelDevice === _interfaces.WheelDevice.MOUSE) {
|
295
378
|
this.scheduleWheelEnd(event);
|
296
379
|
return;
|
297
380
|
}
|
381
|
+
|
298
382
|
this.tracker.addToTracker(event);
|
299
383
|
const lastCoords = this.tracker.getAbsoluteCoordsAverage();
|
300
384
|
this.lastX = lastCoords.x;
|
@@ -304,6 +388,7 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
304
388
|
this.begin();
|
305
389
|
this.activate();
|
306
390
|
}
|
391
|
+
|
307
392
|
this.tracker.track(event);
|
308
393
|
const lastCoords = this.tracker.getAbsoluteCoordsAverage();
|
309
394
|
this.lastX = lastCoords.x;
|
@@ -314,55 +399,75 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
314
399
|
this.tryToSendMoveEvent(false, event);
|
315
400
|
this.scheduleWheelEnd(event);
|
316
401
|
}
|
402
|
+
|
317
403
|
shouldActivate() {
|
318
404
|
const dx = this.getTranslationX();
|
405
|
+
|
319
406
|
if (this.activeOffsetXStart !== Number.MAX_SAFE_INTEGER && dx < this.activeOffsetXStart) {
|
320
407
|
return true;
|
321
408
|
}
|
409
|
+
|
322
410
|
if (this.activeOffsetXEnd !== Number.MIN_SAFE_INTEGER && dx > this.activeOffsetXEnd) {
|
323
411
|
return true;
|
324
412
|
}
|
413
|
+
|
325
414
|
const dy = this.getTranslationY();
|
415
|
+
|
326
416
|
if (this.activeOffsetYStart !== Number.MAX_SAFE_INTEGER && dy < this.activeOffsetYStart) {
|
327
417
|
return true;
|
328
418
|
}
|
419
|
+
|
329
420
|
if (this.activeOffsetYEnd !== Number.MIN_SAFE_INTEGER && dy > this.activeOffsetYEnd) {
|
330
421
|
return true;
|
331
422
|
}
|
423
|
+
|
332
424
|
const distanceSq = dx * dx + dy * dy;
|
425
|
+
|
333
426
|
if (this.minDistSq !== Number.MAX_SAFE_INTEGER && distanceSq >= this.minDistSq) {
|
334
427
|
return true;
|
335
428
|
}
|
429
|
+
|
336
430
|
const vx = this.velocityX;
|
431
|
+
|
337
432
|
if (this.minVelocityX !== Number.MAX_SAFE_INTEGER && (this.minVelocityX < 0 && vx <= this.minVelocityX || this.minVelocityX >= 0 && this.minVelocityX <= vx)) {
|
338
433
|
return true;
|
339
434
|
}
|
435
|
+
|
340
436
|
const vy = this.velocityY;
|
437
|
+
|
341
438
|
if (this.minVelocityY !== Number.MAX_SAFE_INTEGER && (this.minVelocityY < 0 && vy <= this.minVelocityY || this.minVelocityY >= 0 && this.minVelocityY <= vy)) {
|
342
439
|
return true;
|
343
440
|
}
|
441
|
+
|
344
442
|
const velocitySq = vx * vx + vy * vy;
|
345
443
|
return this.minVelocitySq !== Number.MAX_SAFE_INTEGER && velocitySq >= this.minVelocitySq;
|
346
444
|
}
|
445
|
+
|
347
446
|
shouldFail() {
|
348
447
|
const dx = this.getTranslationX();
|
349
448
|
const dy = this.getTranslationY();
|
350
449
|
const distanceSq = dx * dx + dy * dy;
|
450
|
+
|
351
451
|
if (this.activateAfterLongPress > 0 && distanceSq > DEFAULT_MIN_DIST_SQ) {
|
352
452
|
this.clearActivationTimeout();
|
353
453
|
return true;
|
354
454
|
}
|
455
|
+
|
355
456
|
if (this.failOffsetXStart !== Number.MIN_SAFE_INTEGER && dx < this.failOffsetXStart) {
|
356
457
|
return true;
|
357
458
|
}
|
459
|
+
|
358
460
|
if (this.failOffsetXEnd !== Number.MAX_SAFE_INTEGER && dx > this.failOffsetXEnd) {
|
359
461
|
return true;
|
360
462
|
}
|
463
|
+
|
361
464
|
if (this.failOffsetYStart !== Number.MIN_SAFE_INTEGER && dy < this.failOffsetYStart) {
|
362
465
|
return true;
|
363
466
|
}
|
467
|
+
|
364
468
|
return this.failOffsetYEnd !== Number.MAX_SAFE_INTEGER && dy > this.failOffsetYEnd;
|
365
469
|
}
|
470
|
+
|
366
471
|
tryBegin(event) {
|
367
472
|
if (this.state === _State.State.UNDETERMINED && this.tracker.trackedPointersCount >= this.minPointers) {
|
368
473
|
this.resetProgress();
|
@@ -371,6 +476,7 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
371
476
|
this.velocityX = 0;
|
372
477
|
this.velocityY = 0;
|
373
478
|
this.begin();
|
479
|
+
|
374
480
|
if (this.activateAfterLongPress > 0) {
|
375
481
|
this.activationTimeout = setTimeout(() => {
|
376
482
|
this.activate();
|
@@ -382,6 +488,7 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
382
488
|
this.velocityY = velocity.y;
|
383
489
|
}
|
384
490
|
}
|
491
|
+
|
385
492
|
checkBegan() {
|
386
493
|
if (this.state === _State.State.BEGAN) {
|
387
494
|
if (this.shouldFail()) {
|
@@ -391,25 +498,33 @@ class PanGestureHandler extends _GestureHandler.default {
|
|
391
498
|
}
|
392
499
|
}
|
393
500
|
}
|
501
|
+
|
394
502
|
activate(force = false) {
|
395
503
|
if (this.state !== _State.State.ACTIVE) {
|
396
504
|
this.resetProgress();
|
397
505
|
}
|
506
|
+
|
398
507
|
super.activate(force);
|
399
508
|
}
|
509
|
+
|
400
510
|
onCancel() {
|
401
511
|
this.clearActivationTimeout();
|
402
512
|
}
|
513
|
+
|
403
514
|
onReset() {
|
404
515
|
this.clearActivationTimeout();
|
405
516
|
}
|
517
|
+
|
406
518
|
resetProgress() {
|
407
519
|
if (this.state === _State.State.ACTIVE) {
|
408
520
|
return;
|
409
521
|
}
|
522
|
+
|
410
523
|
this.startX = this.lastX;
|
411
524
|
this.startY = this.lastY;
|
412
525
|
}
|
526
|
+
|
413
527
|
}
|
528
|
+
|
414
529
|
exports.default = PanGestureHandler;
|
415
530
|
//# sourceMappingURL=PanGestureHandler.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_State","require","_constants","_interfaces","_GestureHandler","_interopRequireDefault","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DEFAULT_MIN_POINTERS","DEFAULT_MAX_POINTERS","DEFAULT_MIN_DIST_SQ","DEFAULT_TOUCH_SLOP","PanGestureHandler","GestureHandler","constructor","args","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","WheelDevice","UNDETERMINED","updateGestureConfig","enabled","props","resetConfig","checkCustomActivationCriteria","customActivationProperties","config","minDist","undefined","minDistSq","hasCustomActivationCriteria","minPointers","maxPointers","minVelocity","minVelocityX","minVelocityY","activateAfterLongPress","activeOffsetXStart","activeOffsetXEnd","failOffsetXStart","failOffsetXEnd","activeOffsetYStart","activeOffsetYEnd","failOffsetYStart","failOffsetYEnd","enableTrackpadTwoFingerGesture","minVelocitySq","transformNativeEvent","translationX","getTranslationX","translationY","getTranslationY","isNaN","velocityX","velocityY","stylusData","lastX","startX","offsetX","lastY","startY","offsetY","clearActivationTimeout","clearTimeout","activationTimeout","onPointerDown","event","isButtonInConfig","button","tracker","addToTracker","lastCoords","getAbsoluteCoordsAverage","x","y","tryBegin","checkBegan","tryToSendTouchEvent","onPointerAdd","trackedPointersCount","state","State","ACTIVE","cancel","fail","onPointerUp","removeFromTracker","pointerId","end","resetProgress","onPointerRemove","onPointerMove","track","velocity","getVelocity","onPointerOutOfBounds","shouldCancelWhenOutside","scheduleWheelEnd","endWheelTimeout","setTimeout","wheelDevice","onWheel","MOUSE","wheelDeltaY","TOUCHPAD","begin","activate","tryToSendMoveEvent","shouldActivate","dx","dy","distanceSq","vx","vy","velocitySq","shouldFail","BEGAN","force","onCancel","onReset","exports"],"sources":["PanGestureHandler.ts"],"sourcesContent":["import { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, Config, StylusData, WheelDevice } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MIN_POINTERS = 1;\nconst DEFAULT_MAX_POINTERS = 10;\nconst DEFAULT_MIN_DIST_SQ = DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP;\n\nexport default class PanGestureHandler extends GestureHandler {\n private readonly customActivationProperties: string[] = [\n 'activeOffsetXStart',\n 'activeOffsetXEnd',\n 'failOffsetXStart',\n 'failOffsetXEnd',\n 'activeOffsetYStart',\n 'activeOffsetYEnd',\n 'failOffsetYStart',\n 'failOffsetYEnd',\n 'minVelocityX',\n 'minVelocityY',\n 'minVelocity',\n ];\n\n public velocityX = 0;\n public velocityY = 0;\n\n private minDistSq = DEFAULT_MIN_DIST_SQ;\n\n private activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n private activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetXStart = Number.MIN_SAFE_INTEGER;\n private failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n private activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n private activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetYStart = Number.MIN_SAFE_INTEGER;\n private failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n private minVelocityX = Number.MAX_SAFE_INTEGER;\n private minVelocityY = Number.MAX_SAFE_INTEGER;\n private minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n private minPointers = DEFAULT_MIN_POINTERS;\n private maxPointers = DEFAULT_MAX_POINTERS;\n\n private startX = 0;\n private startY = 0;\n private offsetX = 0;\n private offsetY = 0;\n private lastX = 0;\n private lastY = 0;\n\n private stylusData: StylusData | undefined;\n\n private activateAfterLongPress = 0;\n private activationTimeout = 0;\n\n private enableTrackpadTwoFingerGesture = false;\n private endWheelTimeout = 0;\n private wheelDevice = WheelDevice.UNDETERMINED;\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n this.resetConfig();\n\n super.updateGestureConfig({ enabled: enabled, ...props });\n this.checkCustomActivationCriteria(this.customActivationProperties);\n\n if (this.config.minDist !== undefined) {\n this.minDistSq = this.config.minDist * this.config.minDist;\n } else if (this.hasCustomActivationCriteria) {\n this.minDistSq = Number.MAX_SAFE_INTEGER;\n }\n\n if (this.config.minPointers !== undefined) {\n this.minPointers = this.config.minPointers;\n }\n\n if (this.config.maxPointers !== undefined) {\n this.maxPointers = this.config.maxPointers;\n }\n\n if (this.config.minVelocity !== undefined) {\n this.minVelocityX = this.config.minVelocity;\n this.minVelocityY = this.config.minVelocity;\n }\n\n if (this.config.minVelocityX !== undefined) {\n this.minVelocityX = this.config.minVelocityX;\n }\n\n if (this.config.minVelocityY !== undefined) {\n this.minVelocityY = this.config.minVelocityY;\n }\n\n if (this.config.activateAfterLongPress !== undefined) {\n this.activateAfterLongPress = this.config.activateAfterLongPress;\n }\n\n if (this.config.activeOffsetXStart !== undefined) {\n this.activeOffsetXStart = this.config.activeOffsetXStart;\n\n if (this.config.activeOffsetXEnd === undefined) {\n this.activeOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetXEnd !== undefined) {\n this.activeOffsetXEnd = this.config.activeOffsetXEnd;\n\n if (this.config.activeOffsetXStart === undefined) {\n this.activeOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXStart !== undefined) {\n this.failOffsetXStart = this.config.failOffsetXStart;\n\n if (this.config.failOffsetXEnd === undefined) {\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXEnd !== undefined) {\n this.failOffsetXEnd = this.config.failOffsetXEnd;\n\n if (this.config.failOffsetXStart === undefined) {\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYStart !== undefined) {\n this.activeOffsetYStart = this.config.activeOffsetYStart;\n\n if (this.config.activeOffsetYEnd === undefined) {\n this.activeOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYEnd !== undefined) {\n this.activeOffsetYEnd = this.config.activeOffsetYEnd;\n\n if (this.config.activeOffsetYStart === undefined) {\n this.activeOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYStart !== undefined) {\n this.failOffsetYStart = this.config.failOffsetYStart;\n\n if (this.config.failOffsetYEnd === undefined) {\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYEnd !== undefined) {\n this.failOffsetYEnd = this.config.failOffsetYEnd;\n\n if (this.config.failOffsetYStart === undefined) {\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.enableTrackpadTwoFingerGesture !== undefined) {\n this.enableTrackpadTwoFingerGesture =\n this.config.enableTrackpadTwoFingerGesture;\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n\n this.activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n this.activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n this.activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n this.activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n this.minVelocityX = Number.MAX_SAFE_INTEGER;\n this.minVelocityY = Number.MAX_SAFE_INTEGER;\n this.minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n this.minDistSq = DEFAULT_MIN_DIST_SQ;\n\n this.minPointers = DEFAULT_MIN_POINTERS;\n this.maxPointers = DEFAULT_MAX_POINTERS;\n\n this.activateAfterLongPress = 0;\n }\n\n protected transformNativeEvent() {\n const translationX: number = this.getTranslationX();\n const translationY: number = this.getTranslationY();\n\n return {\n ...super.transformNativeEvent(),\n translationX: isNaN(translationX) ? 0 : translationX,\n translationY: isNaN(translationY) ? 0 : translationY,\n velocityX: this.velocityX,\n velocityY: this.velocityY,\n stylusData: this.stylusData,\n };\n }\n\n private getTranslationX(): number {\n return this.lastX - this.startX + this.offsetX;\n }\n private getTranslationY(): number {\n return this.lastY - this.startY + this.offsetY;\n }\n\n private clearActivationTimeout(): void {\n clearTimeout(this.activationTimeout);\n }\n\n // Events Handling\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n this.stylusData = event.stylusData;\n\n super.onPointerDown(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.tryBegin(event);\n this.checkBegan();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.tryBegin(event);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (this.tracker.trackedPointersCount > this.maxPointers) {\n if (this.state === State.ACTIVE) {\n this.cancel();\n } else {\n this.fail();\n }\n } else {\n this.checkBegan();\n }\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n this.stylusData = event.stylusData;\n\n super.onPointerUp(event);\n if (this.state === State.ACTIVE) {\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n }\n\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.tracker.trackedPointersCount === 0) {\n this.clearActivationTimeout();\n }\n\n if (this.state === State.ACTIVE) {\n this.end();\n } else {\n this.resetProgress();\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (\n !(\n this.state === State.ACTIVE &&\n this.tracker.trackedPointersCount < this.minPointers\n )\n ) {\n this.checkBegan();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.shouldCancelWhenOutside) {\n return;\n }\n\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n if (this.state === State.ACTIVE) {\n super.onPointerOutOfBounds(event);\n }\n }\n\n private scheduleWheelEnd(event: AdaptedEvent) {\n clearTimeout(this.endWheelTimeout);\n\n this.endWheelTimeout = setTimeout(() => {\n if (this.state === State.ACTIVE) {\n this.end();\n this.tracker.removeFromTracker(event.pointerId);\n this.state = State.UNDETERMINED;\n }\n\n this.wheelDevice = WheelDevice.UNDETERMINED;\n }, 30);\n }\n\n protected onWheel(event: AdaptedEvent): void {\n if (\n this.wheelDevice === WheelDevice.MOUSE ||\n !this.enableTrackpadTwoFingerGesture\n ) {\n return;\n }\n\n if (this.state === State.UNDETERMINED) {\n this.wheelDevice =\n event.wheelDeltaY! % 120 !== 0\n ? WheelDevice.TOUCHPAD\n : WheelDevice.MOUSE;\n\n if (this.wheelDevice === WheelDevice.MOUSE) {\n this.scheduleWheelEnd(event);\n return;\n }\n\n this.tracker.addToTracker(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.begin();\n this.activate();\n }\n this.tracker.track(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.tryToSendMoveEvent(false, event);\n this.scheduleWheelEnd(event);\n }\n\n private shouldActivate(): boolean {\n const dx: number = this.getTranslationX();\n\n if (\n this.activeOffsetXStart !== Number.MAX_SAFE_INTEGER &&\n dx < this.activeOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetXEnd !== Number.MIN_SAFE_INTEGER &&\n dx > this.activeOffsetXEnd\n ) {\n return true;\n }\n\n const dy: number = this.getTranslationY();\n\n if (\n this.activeOffsetYStart !== Number.MAX_SAFE_INTEGER &&\n dy < this.activeOffsetYStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetYEnd !== Number.MIN_SAFE_INTEGER &&\n dy > this.activeOffsetYEnd\n ) {\n return true;\n }\n\n const distanceSq: number = dx * dx + dy * dy;\n\n if (\n this.minDistSq !== Number.MAX_SAFE_INTEGER &&\n distanceSq >= this.minDistSq\n ) {\n return true;\n }\n\n const vx: number = this.velocityX;\n\n if (\n this.minVelocityX !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityX < 0 && vx <= this.minVelocityX) ||\n (this.minVelocityX >= 0 && this.minVelocityX <= vx))\n ) {\n return true;\n }\n\n const vy: number = this.velocityY;\n if (\n this.minVelocityY !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityY < 0 && vy <= this.minVelocityY) ||\n (this.minVelocityY >= 0 && this.minVelocityY <= vy))\n ) {\n return true;\n }\n\n const velocitySq: number = vx * vx + vy * vy;\n\n return (\n this.minVelocitySq !== Number.MAX_SAFE_INTEGER &&\n velocitySq >= this.minVelocitySq\n );\n }\n\n private shouldFail(): boolean {\n const dx: number = this.getTranslationX();\n const dy: number = this.getTranslationY();\n const distanceSq = dx * dx + dy * dy;\n\n if (this.activateAfterLongPress > 0 && distanceSq > DEFAULT_MIN_DIST_SQ) {\n this.clearActivationTimeout();\n return true;\n }\n\n if (\n this.failOffsetXStart !== Number.MIN_SAFE_INTEGER &&\n dx < this.failOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.failOffsetXEnd !== Number.MAX_SAFE_INTEGER &&\n dx > this.failOffsetXEnd\n ) {\n return true;\n }\n\n if (\n this.failOffsetYStart !== Number.MIN_SAFE_INTEGER &&\n dy < this.failOffsetYStart\n ) {\n return true;\n }\n\n return (\n this.failOffsetYEnd !== Number.MAX_SAFE_INTEGER &&\n dy > this.failOffsetYEnd\n );\n }\n\n private tryBegin(event: AdaptedEvent): void {\n if (\n this.state === State.UNDETERMINED &&\n this.tracker.trackedPointersCount >= this.minPointers\n ) {\n this.resetProgress();\n this.offsetX = 0;\n this.offsetY = 0;\n this.velocityX = 0;\n this.velocityY = 0;\n\n this.begin();\n\n if (this.activateAfterLongPress > 0) {\n this.activationTimeout = setTimeout(() => {\n this.activate();\n }, this.activateAfterLongPress);\n }\n } else {\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n }\n }\n\n private checkBegan(): void {\n if (this.state === State.BEGAN) {\n if (this.shouldFail()) {\n this.fail();\n } else if (this.shouldActivate()) {\n this.activate();\n }\n }\n }\n\n public activate(force = false): void {\n if (this.state !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(force);\n }\n\n protected onCancel(): void {\n this.clearActivationTimeout();\n }\n\n protected onReset(): void {\n this.clearActivationTimeout();\n }\n\n protected resetProgress(): void {\n if (this.state === State.ACTIVE) {\n return;\n }\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"sources":["PanGestureHandler.ts"],"names":["DEFAULT_MIN_POINTERS","DEFAULT_MAX_POINTERS","DEFAULT_MIN_DIST_SQ","DEFAULT_TOUCH_SLOP","PanGestureHandler","GestureHandler","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","WheelDevice","UNDETERMINED","updateGestureConfig","enabled","props","resetConfig","checkCustomActivationCriteria","customActivationProperties","config","minDist","undefined","minDistSq","hasCustomActivationCriteria","minPointers","maxPointers","minVelocity","minVelocityX","minVelocityY","activateAfterLongPress","activeOffsetXStart","activeOffsetXEnd","failOffsetXStart","failOffsetXEnd","activeOffsetYStart","activeOffsetYEnd","failOffsetYStart","failOffsetYEnd","enableTrackpadTwoFingerGesture","minVelocitySq","transformNativeEvent","translationX","getTranslationX","translationY","getTranslationY","isNaN","velocityX","velocityY","stylusData","lastX","startX","offsetX","lastY","startY","offsetY","clearActivationTimeout","clearTimeout","activationTimeout","onPointerDown","event","isButtonInConfig","button","tracker","addToTracker","lastCoords","getAbsoluteCoordsAverage","x","y","tryBegin","checkBegan","tryToSendTouchEvent","onPointerAdd","trackedPointersCount","state","State","ACTIVE","cancel","fail","onPointerUp","removeFromTracker","pointerId","end","resetProgress","onPointerRemove","onPointerMove","track","velocity","getVelocity","onPointerOutOfBounds","shouldCancelWhenOutside","scheduleWheelEnd","endWheelTimeout","setTimeout","wheelDevice","onWheel","MOUSE","wheelDeltaY","TOUCHPAD","begin","activate","tryToSendMoveEvent","shouldActivate","dx","dy","distanceSq","vx","vy","velocitySq","shouldFail","BEGAN","force","onCancel","onReset"],"mappings":"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","sourcesContent":["import { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, Config, StylusData, WheelDevice } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MIN_POINTERS = 1;\nconst DEFAULT_MAX_POINTERS = 10;\nconst DEFAULT_MIN_DIST_SQ = DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP;\n\nexport default class PanGestureHandler extends GestureHandler {\n private readonly customActivationProperties: string[] = [\n 'activeOffsetXStart',\n 'activeOffsetXEnd',\n 'failOffsetXStart',\n 'failOffsetXEnd',\n 'activeOffsetYStart',\n 'activeOffsetYEnd',\n 'failOffsetYStart',\n 'failOffsetYEnd',\n 'minVelocityX',\n 'minVelocityY',\n 'minVelocity',\n ];\n\n public velocityX = 0;\n public velocityY = 0;\n\n private minDistSq = DEFAULT_MIN_DIST_SQ;\n\n private activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n private activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetXStart = Number.MIN_SAFE_INTEGER;\n private failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n private activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n private activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetYStart = Number.MIN_SAFE_INTEGER;\n private failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n private minVelocityX = Number.MAX_SAFE_INTEGER;\n private minVelocityY = Number.MAX_SAFE_INTEGER;\n private minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n private minPointers = DEFAULT_MIN_POINTERS;\n private maxPointers = DEFAULT_MAX_POINTERS;\n\n private startX = 0;\n private startY = 0;\n private offsetX = 0;\n private offsetY = 0;\n private lastX = 0;\n private lastY = 0;\n\n private stylusData: StylusData | undefined;\n\n private activateAfterLongPress = 0;\n private activationTimeout = 0;\n\n private enableTrackpadTwoFingerGesture = false;\n private endWheelTimeout = 0;\n private wheelDevice = WheelDevice.UNDETERMINED;\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n this.resetConfig();\n\n super.updateGestureConfig({ enabled: enabled, ...props });\n this.checkCustomActivationCriteria(this.customActivationProperties);\n\n if (this.config.minDist !== undefined) {\n this.minDistSq = this.config.minDist * this.config.minDist;\n } else if (this.hasCustomActivationCriteria) {\n this.minDistSq = Number.MAX_SAFE_INTEGER;\n }\n\n if (this.config.minPointers !== undefined) {\n this.minPointers = this.config.minPointers;\n }\n\n if (this.config.maxPointers !== undefined) {\n this.maxPointers = this.config.maxPointers;\n }\n\n if (this.config.minVelocity !== undefined) {\n this.minVelocityX = this.config.minVelocity;\n this.minVelocityY = this.config.minVelocity;\n }\n\n if (this.config.minVelocityX !== undefined) {\n this.minVelocityX = this.config.minVelocityX;\n }\n\n if (this.config.minVelocityY !== undefined) {\n this.minVelocityY = this.config.minVelocityY;\n }\n\n if (this.config.activateAfterLongPress !== undefined) {\n this.activateAfterLongPress = this.config.activateAfterLongPress;\n }\n\n if (this.config.activeOffsetXStart !== undefined) {\n this.activeOffsetXStart = this.config.activeOffsetXStart;\n\n if (this.config.activeOffsetXEnd === undefined) {\n this.activeOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetXEnd !== undefined) {\n this.activeOffsetXEnd = this.config.activeOffsetXEnd;\n\n if (this.config.activeOffsetXStart === undefined) {\n this.activeOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXStart !== undefined) {\n this.failOffsetXStart = this.config.failOffsetXStart;\n\n if (this.config.failOffsetXEnd === undefined) {\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXEnd !== undefined) {\n this.failOffsetXEnd = this.config.failOffsetXEnd;\n\n if (this.config.failOffsetXStart === undefined) {\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYStart !== undefined) {\n this.activeOffsetYStart = this.config.activeOffsetYStart;\n\n if (this.config.activeOffsetYEnd === undefined) {\n this.activeOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYEnd !== undefined) {\n this.activeOffsetYEnd = this.config.activeOffsetYEnd;\n\n if (this.config.activeOffsetYStart === undefined) {\n this.activeOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYStart !== undefined) {\n this.failOffsetYStart = this.config.failOffsetYStart;\n\n if (this.config.failOffsetYEnd === undefined) {\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYEnd !== undefined) {\n this.failOffsetYEnd = this.config.failOffsetYEnd;\n\n if (this.config.failOffsetYStart === undefined) {\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.enableTrackpadTwoFingerGesture !== undefined) {\n this.enableTrackpadTwoFingerGesture =\n this.config.enableTrackpadTwoFingerGesture;\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n\n this.activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n this.activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n this.activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n this.activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n this.minVelocityX = Number.MAX_SAFE_INTEGER;\n this.minVelocityY = Number.MAX_SAFE_INTEGER;\n this.minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n this.minDistSq = DEFAULT_MIN_DIST_SQ;\n\n this.minPointers = DEFAULT_MIN_POINTERS;\n this.maxPointers = DEFAULT_MAX_POINTERS;\n\n this.activateAfterLongPress = 0;\n }\n\n protected transformNativeEvent() {\n const translationX: number = this.getTranslationX();\n const translationY: number = this.getTranslationY();\n\n return {\n ...super.transformNativeEvent(),\n translationX: isNaN(translationX) ? 0 : translationX,\n translationY: isNaN(translationY) ? 0 : translationY,\n velocityX: this.velocityX,\n velocityY: this.velocityY,\n stylusData: this.stylusData,\n };\n }\n\n private getTranslationX(): number {\n return this.lastX - this.startX + this.offsetX;\n }\n private getTranslationY(): number {\n return this.lastY - this.startY + this.offsetY;\n }\n\n private clearActivationTimeout(): void {\n clearTimeout(this.activationTimeout);\n }\n\n // Events Handling\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n this.stylusData = event.stylusData;\n\n super.onPointerDown(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.tryBegin(event);\n this.checkBegan();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.tryBegin(event);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (this.tracker.trackedPointersCount > this.maxPointers) {\n if (this.state === State.ACTIVE) {\n this.cancel();\n } else {\n this.fail();\n }\n } else {\n this.checkBegan();\n }\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n this.stylusData = event.stylusData;\n\n super.onPointerUp(event);\n if (this.state === State.ACTIVE) {\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n }\n\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.tracker.trackedPointersCount === 0) {\n this.clearActivationTimeout();\n }\n\n if (this.state === State.ACTIVE) {\n this.end();\n } else {\n this.resetProgress();\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (\n !(\n this.state === State.ACTIVE &&\n this.tracker.trackedPointersCount < this.minPointers\n )\n ) {\n this.checkBegan();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.shouldCancelWhenOutside) {\n return;\n }\n\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n if (this.state === State.ACTIVE) {\n super.onPointerOutOfBounds(event);\n }\n }\n\n private scheduleWheelEnd(event: AdaptedEvent) {\n clearTimeout(this.endWheelTimeout);\n\n this.endWheelTimeout = setTimeout(() => {\n if (this.state === State.ACTIVE) {\n this.end();\n this.tracker.removeFromTracker(event.pointerId);\n this.state = State.UNDETERMINED;\n }\n\n this.wheelDevice = WheelDevice.UNDETERMINED;\n }, 30);\n }\n\n protected onWheel(event: AdaptedEvent): void {\n if (\n this.wheelDevice === WheelDevice.MOUSE ||\n !this.enableTrackpadTwoFingerGesture\n ) {\n return;\n }\n\n if (this.state === State.UNDETERMINED) {\n this.wheelDevice =\n event.wheelDeltaY! % 120 !== 0\n ? WheelDevice.TOUCHPAD\n : WheelDevice.MOUSE;\n\n if (this.wheelDevice === WheelDevice.MOUSE) {\n this.scheduleWheelEnd(event);\n return;\n }\n\n this.tracker.addToTracker(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.begin();\n this.activate();\n }\n this.tracker.track(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.tryToSendMoveEvent(false, event);\n this.scheduleWheelEnd(event);\n }\n\n private shouldActivate(): boolean {\n const dx: number = this.getTranslationX();\n\n if (\n this.activeOffsetXStart !== Number.MAX_SAFE_INTEGER &&\n dx < this.activeOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetXEnd !== Number.MIN_SAFE_INTEGER &&\n dx > this.activeOffsetXEnd\n ) {\n return true;\n }\n\n const dy: number = this.getTranslationY();\n\n if (\n this.activeOffsetYStart !== Number.MAX_SAFE_INTEGER &&\n dy < this.activeOffsetYStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetYEnd !== Number.MIN_SAFE_INTEGER &&\n dy > this.activeOffsetYEnd\n ) {\n return true;\n }\n\n const distanceSq: number = dx * dx + dy * dy;\n\n if (\n this.minDistSq !== Number.MAX_SAFE_INTEGER &&\n distanceSq >= this.minDistSq\n ) {\n return true;\n }\n\n const vx: number = this.velocityX;\n\n if (\n this.minVelocityX !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityX < 0 && vx <= this.minVelocityX) ||\n (this.minVelocityX >= 0 && this.minVelocityX <= vx))\n ) {\n return true;\n }\n\n const vy: number = this.velocityY;\n if (\n this.minVelocityY !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityY < 0 && vy <= this.minVelocityY) ||\n (this.minVelocityY >= 0 && this.minVelocityY <= vy))\n ) {\n return true;\n }\n\n const velocitySq: number = vx * vx + vy * vy;\n\n return (\n this.minVelocitySq !== Number.MAX_SAFE_INTEGER &&\n velocitySq >= this.minVelocitySq\n );\n }\n\n private shouldFail(): boolean {\n const dx: number = this.getTranslationX();\n const dy: number = this.getTranslationY();\n const distanceSq = dx * dx + dy * dy;\n\n if (this.activateAfterLongPress > 0 && distanceSq > DEFAULT_MIN_DIST_SQ) {\n this.clearActivationTimeout();\n return true;\n }\n\n if (\n this.failOffsetXStart !== Number.MIN_SAFE_INTEGER &&\n dx < this.failOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.failOffsetXEnd !== Number.MAX_SAFE_INTEGER &&\n dx > this.failOffsetXEnd\n ) {\n return true;\n }\n\n if (\n this.failOffsetYStart !== Number.MIN_SAFE_INTEGER &&\n dy < this.failOffsetYStart\n ) {\n return true;\n }\n\n return (\n this.failOffsetYEnd !== Number.MAX_SAFE_INTEGER &&\n dy > this.failOffsetYEnd\n );\n }\n\n private tryBegin(event: AdaptedEvent): void {\n if (\n this.state === State.UNDETERMINED &&\n this.tracker.trackedPointersCount >= this.minPointers\n ) {\n this.resetProgress();\n this.offsetX = 0;\n this.offsetY = 0;\n this.velocityX = 0;\n this.velocityY = 0;\n\n this.begin();\n\n if (this.activateAfterLongPress > 0) {\n this.activationTimeout = setTimeout(() => {\n this.activate();\n }, this.activateAfterLongPress);\n }\n } else {\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n }\n }\n\n private checkBegan(): void {\n if (this.state === State.BEGAN) {\n if (this.shouldFail()) {\n this.fail();\n } else if (this.shouldActivate()) {\n this.activate();\n }\n }\n }\n\n public activate(force = false): void {\n if (this.state !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(force);\n }\n\n protected onCancel(): void {\n this.clearActivationTimeout();\n }\n\n protected onReset(): void {\n this.clearActivationTimeout();\n }\n\n protected resetProgress(): void {\n if (this.state === State.ACTIVE) {\n return;\n }\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n }\n}\n"]}
|