react-native-gesture-handler 2.23.0 → 2.24.0
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/android/build.gradle +9 -3
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +2 -1
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +2 -1
- package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +60 -0
- package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +26 -0
- package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +26 -0
- package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +16 -0
- package/android/paper77/src/main/java/com/swmansion/gesturehandler/NativeRNGestureHandlerModuleSpec.java +67 -0
- package/android/paper77/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +13 -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 +86 -44
- 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 +28 -10
- 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/ExtraButtonProps.js +2 -0
- package/lib/commonjs/components/touchables/ExtraButtonProps.js.map +1 -0
- 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 +25 -13
- 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 +146 -59
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/createNativeWrapper.js +30 -18
- 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 +21 -13
- 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 +37 -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 +76 -27
- 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 +66 -40
- 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 +15 -7
- 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/ExtraButtonProps.js +2 -0
- package/lib/module/components/touchables/ExtraButtonProps.js.map +1 -0
- 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 +15 -10
- 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 +119 -57
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/createNativeWrapper.js +22 -15
- 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 +7 -8
- 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 +15 -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 +57 -22
- 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/GestureComponents.d.ts +1 -1
- package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +5 -0
- package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +7 -0
- package/lib/typescript/components/touchables/GenericTouchable.d.ts +0 -2
- package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +2 -0
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +2 -2
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +3 -3
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +1 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -7
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +2 -2
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +2 -2
- package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +1 -1
- package/lib/typescript/utils.d.ts +1 -0
- package/lib/typescript/web/utils.d.ts +2 -0
- package/package.json +9 -8
- package/src/components/GestureComponents.tsx +1 -1
- package/src/components/ReanimatedDrawerLayout.tsx +17 -4
- package/src/components/Text.tsx +5 -0
- package/src/components/touchables/ExtraButtonProps.ts +7 -0
- package/src/components/touchables/GenericTouchable.tsx +0 -2
- package/src/components/touchables/GenericTouchableProps.ts +2 -0
- 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 +3 -8
- package/src/components/touchables/TouchableOpacity.tsx +2 -2
- package/src/components/touchables/TouchableWithoutFeedback.tsx +22 -4
- package/src/handlers/createHandler.tsx +20 -9
- package/src/handlers/createNativeWrapper.tsx +7 -3
- package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +2 -4
- package/src/utils.ts +6 -0
- package/src/web/utils.ts +21 -3
@@ -4,21 +4,31 @@ 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 _GestureHandler = _interopRequireDefault(require("./GestureHandler"));
|
13
|
+
|
10
14
|
var _ScaleGestureDetector = _interopRequireDefault(require("../detectors/ScaleGestureDetector"));
|
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
|
class PinchGestureHandler extends _GestureHandler.default {
|
16
21
|
constructor(...args) {
|
17
22
|
super(...args);
|
23
|
+
|
18
24
|
_defineProperty(this, "scale", 1);
|
25
|
+
|
19
26
|
_defineProperty(this, "velocity", 0);
|
27
|
+
|
20
28
|
_defineProperty(this, "startingSpan", 0);
|
29
|
+
|
21
30
|
_defineProperty(this, "spanSlop", _constants.DEFAULT_TOUCH_SLOP);
|
31
|
+
|
22
32
|
_defineProperty(this, "scaleDetectorListener", {
|
23
33
|
onScaleBegin: detector => {
|
24
34
|
this.startingSpan = detector.currentSpan;
|
@@ -28,22 +38,28 @@ class PinchGestureHandler extends _GestureHandler.default {
|
|
28
38
|
const prevScaleFactor = this.scale;
|
29
39
|
this.scale *= detector.calculateScaleFactor(this.tracker.trackedPointersCount);
|
30
40
|
const delta = detector.timeDelta;
|
41
|
+
|
31
42
|
if (delta > 0) {
|
32
43
|
this.velocity = (this.scale - prevScaleFactor) / delta;
|
33
44
|
}
|
45
|
+
|
34
46
|
if (Math.abs(this.startingSpan - detector.currentSpan) >= this.spanSlop && this.state === _State.State.BEGAN) {
|
35
47
|
this.activate();
|
36
48
|
}
|
49
|
+
|
37
50
|
return true;
|
38
51
|
},
|
39
52
|
onScaleEnd: _detector => {}
|
40
53
|
});
|
54
|
+
|
41
55
|
_defineProperty(this, "scaleGestureDetector", new _ScaleGestureDetector.default(this.scaleDetectorListener));
|
42
56
|
}
|
57
|
+
|
43
58
|
init(ref, propsRef) {
|
44
59
|
super.init(ref, propsRef);
|
45
60
|
this.shouldCancelWhenOutside = false;
|
46
61
|
}
|
62
|
+
|
47
63
|
transformNativeEvent() {
|
48
64
|
return {
|
49
65
|
focalX: this.scaleGestureDetector.focusX,
|
@@ -52,77 +68,98 @@ class PinchGestureHandler extends _GestureHandler.default {
|
|
52
68
|
scale: this.scale
|
53
69
|
};
|
54
70
|
}
|
71
|
+
|
55
72
|
onPointerDown(event) {
|
56
73
|
this.tracker.addToTracker(event);
|
57
74
|
super.onPointerDown(event);
|
58
75
|
this.tryToSendTouchEvent(event);
|
59
76
|
}
|
77
|
+
|
60
78
|
onPointerAdd(event) {
|
61
79
|
this.tracker.addToTracker(event);
|
62
80
|
super.onPointerAdd(event);
|
63
81
|
this.tryBegin();
|
64
82
|
this.scaleGestureDetector.onTouchEvent(event, this.tracker);
|
65
83
|
}
|
84
|
+
|
66
85
|
onPointerUp(event) {
|
67
86
|
super.onPointerUp(event);
|
68
87
|
this.tracker.removeFromTracker(event.pointerId);
|
88
|
+
|
69
89
|
if (this.state !== _State.State.ACTIVE) {
|
70
90
|
return;
|
71
91
|
}
|
92
|
+
|
72
93
|
this.scaleGestureDetector.onTouchEvent(event, this.tracker);
|
94
|
+
|
73
95
|
if (this.state === _State.State.ACTIVE) {
|
74
96
|
this.end();
|
75
97
|
} else {
|
76
98
|
this.fail();
|
77
99
|
}
|
78
100
|
}
|
101
|
+
|
79
102
|
onPointerRemove(event) {
|
80
103
|
super.onPointerRemove(event);
|
81
104
|
this.scaleGestureDetector.onTouchEvent(event, this.tracker);
|
82
105
|
this.tracker.removeFromTracker(event.pointerId);
|
106
|
+
|
83
107
|
if (this.state === _State.State.ACTIVE && this.tracker.trackedPointersCount < 2) {
|
84
108
|
this.end();
|
85
109
|
}
|
86
110
|
}
|
111
|
+
|
87
112
|
onPointerMove(event) {
|
88
113
|
if (this.tracker.trackedPointersCount < 2) {
|
89
114
|
return;
|
90
115
|
}
|
116
|
+
|
91
117
|
this.tracker.track(event);
|
92
118
|
this.scaleGestureDetector.onTouchEvent(event, this.tracker);
|
93
119
|
super.onPointerMove(event);
|
94
120
|
}
|
121
|
+
|
95
122
|
onPointerOutOfBounds(event) {
|
96
123
|
if (this.tracker.trackedPointersCount < 2) {
|
97
124
|
return;
|
98
125
|
}
|
126
|
+
|
99
127
|
this.tracker.track(event);
|
100
128
|
this.scaleGestureDetector.onTouchEvent(event, this.tracker);
|
101
129
|
super.onPointerOutOfBounds(event);
|
102
130
|
}
|
131
|
+
|
103
132
|
tryBegin() {
|
104
133
|
if (this.state !== _State.State.UNDETERMINED) {
|
105
134
|
return;
|
106
135
|
}
|
136
|
+
|
107
137
|
this.resetProgress();
|
108
138
|
this.begin();
|
109
139
|
}
|
140
|
+
|
110
141
|
activate(force) {
|
111
142
|
if (this.state !== _State.State.ACTIVE) {
|
112
143
|
this.resetProgress();
|
113
144
|
}
|
145
|
+
|
114
146
|
super.activate(force);
|
115
147
|
}
|
148
|
+
|
116
149
|
onReset() {
|
117
150
|
this.resetProgress();
|
118
151
|
}
|
152
|
+
|
119
153
|
resetProgress() {
|
120
154
|
if (this.state === _State.State.ACTIVE) {
|
121
155
|
return;
|
122
156
|
}
|
157
|
+
|
123
158
|
this.velocity = 0;
|
124
159
|
this.scale = 1;
|
125
160
|
}
|
161
|
+
|
126
162
|
}
|
163
|
+
|
127
164
|
exports.default = PinchGestureHandler;
|
128
165
|
//# sourceMappingURL=PinchGestureHandler.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["PinchGestureHandler.ts"],"names":["PinchGestureHandler","GestureHandler","DEFAULT_TOUCH_SLOP","onScaleBegin","detector","startingSpan","currentSpan","onScale","prevScaleFactor","scale","calculateScaleFactor","tracker","trackedPointersCount","delta","timeDelta","velocity","Math","abs","spanSlop","state","State","BEGAN","activate","onScaleEnd","_detector","ScaleGestureDetector","scaleDetectorListener","init","ref","propsRef","shouldCancelWhenOutside","transformNativeEvent","focalX","scaleGestureDetector","focusX","focalY","focusY","onPointerDown","event","addToTracker","tryToSendTouchEvent","onPointerAdd","tryBegin","onTouchEvent","onPointerUp","removeFromTracker","pointerId","ACTIVE","end","fail","onPointerRemove","onPointerMove","track","onPointerOutOfBounds","UNDETERMINED","resetProgress","begin","force","onReset"],"mappings":"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","sourcesContent":["import { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport ScaleGestureDetector, {\n ScaleGestureListener,\n} from '../detectors/ScaleGestureDetector';\n\nexport default class PinchGestureHandler extends GestureHandler {\n private scale = 1;\n private velocity = 0;\n\n private startingSpan = 0;\n private spanSlop = DEFAULT_TOUCH_SLOP;\n\n private scaleDetectorListener: ScaleGestureListener = {\n onScaleBegin: (detector: ScaleGestureDetector): boolean => {\n this.startingSpan = detector.currentSpan;\n return true;\n },\n onScale: (detector: ScaleGestureDetector): boolean => {\n const prevScaleFactor: number = this.scale;\n this.scale *= detector.calculateScaleFactor(\n this.tracker.trackedPointersCount\n );\n\n const delta = detector.timeDelta;\n if (delta > 0) {\n this.velocity = (this.scale - prevScaleFactor) / delta;\n }\n\n if (\n Math.abs(this.startingSpan - detector.currentSpan) >= this.spanSlop &&\n this.state === State.BEGAN\n ) {\n this.activate();\n }\n return true;\n },\n onScaleEnd: (\n _detector: ScaleGestureDetector\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n ): void => {},\n };\n\n private scaleGestureDetector: ScaleGestureDetector = new ScaleGestureDetector(\n this.scaleDetectorListener\n );\n\n public init(ref: number, propsRef: React.RefObject<unknown>) {\n super.init(ref, propsRef);\n\n this.shouldCancelWhenOutside = false;\n }\n\n protected transformNativeEvent() {\n return {\n focalX: this.scaleGestureDetector.focusX,\n focalY: this.scaleGestureDetector.focusY,\n velocity: this.velocity,\n scale: this.scale,\n };\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\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();\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n if (this.state !== State.ACTIVE) {\n return;\n }\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n\n if (this.state === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.state === State.ACTIVE && this.tracker.trackedPointersCount < 2) {\n this.end();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n this.tracker.track(event);\n\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n super.onPointerMove(event);\n }\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n this.tracker.track(event);\n\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n super.onPointerOutOfBounds(event);\n }\n\n private tryBegin(): void {\n if (this.state !== State.UNDETERMINED) {\n return;\n }\n\n this.resetProgress();\n this.begin();\n }\n\n public activate(force?: boolean): void {\n if (this.state !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(force);\n }\n\n protected onReset(): void {\n this.resetProgress();\n }\n\n protected resetProgress(): void {\n if (this.state === State.ACTIVE) {\n return;\n }\n this.velocity = 0;\n this.scale = 1;\n }\n}\n"]}
|
@@ -4,45 +4,61 @@ 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 _GestureHandler = _interopRequireDefault(require("./GestureHandler"));
|
11
|
+
|
9
12
|
var _RotationGestureDetector = _interopRequireDefault(require("../detectors/RotationGestureDetector"));
|
10
|
-
|
11
|
-
function
|
12
|
-
|
13
|
-
function
|
13
|
+
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
|
+
|
16
|
+
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; }
|
17
|
+
|
14
18
|
const ROTATION_RECOGNITION_THRESHOLD = Math.PI / 36;
|
19
|
+
|
15
20
|
class RotationGestureHandler extends _GestureHandler.default {
|
16
21
|
constructor(...args) {
|
17
22
|
super(...args);
|
23
|
+
|
18
24
|
_defineProperty(this, "rotation", 0);
|
25
|
+
|
19
26
|
_defineProperty(this, "velocity", 0);
|
27
|
+
|
20
28
|
_defineProperty(this, "cachedAnchorX", 0);
|
29
|
+
|
21
30
|
_defineProperty(this, "cachedAnchorY", 0);
|
31
|
+
|
22
32
|
_defineProperty(this, "rotationGestureListener", {
|
23
33
|
onRotationBegin: _detector => true,
|
24
34
|
onRotation: detector => {
|
25
35
|
const previousRotation = this.rotation;
|
26
36
|
this.rotation += detector.rotation;
|
27
37
|
const delta = detector.timeDelta;
|
38
|
+
|
28
39
|
if (delta > 0) {
|
29
40
|
this.velocity = (this.rotation - previousRotation) / delta;
|
30
41
|
}
|
42
|
+
|
31
43
|
if (Math.abs(this.rotation) >= ROTATION_RECOGNITION_THRESHOLD && this.state === _State.State.BEGAN) {
|
32
44
|
this.activate();
|
33
45
|
}
|
46
|
+
|
34
47
|
return true;
|
35
48
|
},
|
36
49
|
onRotationEnd: _detector => {
|
37
50
|
this.end();
|
38
51
|
}
|
39
52
|
});
|
53
|
+
|
40
54
|
_defineProperty(this, "rotationGestureDetector", new _RotationGestureDetector.default(this.rotationGestureListener));
|
41
55
|
}
|
56
|
+
|
42
57
|
init(ref, propsRef) {
|
43
58
|
super.init(ref, propsRef);
|
44
59
|
this.shouldCancelWhenOutside = false;
|
45
60
|
}
|
61
|
+
|
46
62
|
transformNativeEvent() {
|
47
63
|
return {
|
48
64
|
rotation: this.rotation ? this.rotation : 0,
|
@@ -51,85 +67,107 @@ class RotationGestureHandler extends _GestureHandler.default {
|
|
51
67
|
velocity: this.velocity ? this.velocity : 0
|
52
68
|
};
|
53
69
|
}
|
70
|
+
|
54
71
|
getAnchorX() {
|
55
72
|
const anchorX = this.rotationGestureDetector.anchorX;
|
56
73
|
return anchorX ? anchorX : this.cachedAnchorX;
|
57
74
|
}
|
75
|
+
|
58
76
|
getAnchorY() {
|
59
77
|
const anchorY = this.rotationGestureDetector.anchorY;
|
60
78
|
return anchorY ? anchorY : this.cachedAnchorY;
|
61
79
|
}
|
80
|
+
|
62
81
|
onPointerDown(event) {
|
63
82
|
this.tracker.addToTracker(event);
|
64
83
|
super.onPointerDown(event);
|
65
84
|
this.tryToSendTouchEvent(event);
|
66
85
|
}
|
86
|
+
|
67
87
|
onPointerAdd(event) {
|
68
88
|
this.tracker.addToTracker(event);
|
69
89
|
super.onPointerAdd(event);
|
70
90
|
this.tryBegin();
|
71
91
|
this.rotationGestureDetector.onTouchEvent(event, this.tracker);
|
72
92
|
}
|
93
|
+
|
73
94
|
onPointerMove(event) {
|
74
95
|
if (this.tracker.trackedPointersCount < 2) {
|
75
96
|
return;
|
76
97
|
}
|
98
|
+
|
77
99
|
if (this.getAnchorX()) {
|
78
100
|
this.cachedAnchorX = this.getAnchorX();
|
79
101
|
}
|
102
|
+
|
80
103
|
if (this.getAnchorY()) {
|
81
104
|
this.cachedAnchorY = this.getAnchorY();
|
82
105
|
}
|
106
|
+
|
83
107
|
this.tracker.track(event);
|
84
108
|
this.rotationGestureDetector.onTouchEvent(event, this.tracker);
|
85
109
|
super.onPointerMove(event);
|
86
110
|
}
|
111
|
+
|
87
112
|
onPointerOutOfBounds(event) {
|
88
113
|
if (this.tracker.trackedPointersCount < 2) {
|
89
114
|
return;
|
90
115
|
}
|
116
|
+
|
91
117
|
if (this.getAnchorX()) {
|
92
118
|
this.cachedAnchorX = this.getAnchorX();
|
93
119
|
}
|
120
|
+
|
94
121
|
if (this.getAnchorY()) {
|
95
122
|
this.cachedAnchorY = this.getAnchorY();
|
96
123
|
}
|
124
|
+
|
97
125
|
this.tracker.track(event);
|
98
126
|
this.rotationGestureDetector.onTouchEvent(event, this.tracker);
|
99
127
|
super.onPointerOutOfBounds(event);
|
100
128
|
}
|
129
|
+
|
101
130
|
onPointerUp(event) {
|
102
131
|
super.onPointerUp(event);
|
103
132
|
this.tracker.removeFromTracker(event.pointerId);
|
104
133
|
this.rotationGestureDetector.onTouchEvent(event, this.tracker);
|
134
|
+
|
105
135
|
if (this.state !== _State.State.ACTIVE) {
|
106
136
|
return;
|
107
137
|
}
|
138
|
+
|
108
139
|
if (this.state === _State.State.ACTIVE) {
|
109
140
|
this.end();
|
110
141
|
} else {
|
111
142
|
this.fail();
|
112
143
|
}
|
113
144
|
}
|
145
|
+
|
114
146
|
onPointerRemove(event) {
|
115
147
|
super.onPointerRemove(event);
|
116
148
|
this.rotationGestureDetector.onTouchEvent(event, this.tracker);
|
117
149
|
this.tracker.removeFromTracker(event.pointerId);
|
118
150
|
}
|
151
|
+
|
119
152
|
tryBegin() {
|
120
153
|
if (this.state !== _State.State.UNDETERMINED) {
|
121
154
|
return;
|
122
155
|
}
|
156
|
+
|
123
157
|
this.begin();
|
124
158
|
}
|
159
|
+
|
125
160
|
onReset() {
|
126
161
|
if (this.state === _State.State.ACTIVE) {
|
127
162
|
return;
|
128
163
|
}
|
164
|
+
|
129
165
|
this.rotation = 0;
|
130
166
|
this.velocity = 0;
|
131
167
|
this.rotationGestureDetector.reset();
|
132
168
|
}
|
169
|
+
|
133
170
|
}
|
171
|
+
|
134
172
|
exports.default = RotationGestureHandler;
|
135
173
|
//# sourceMappingURL=RotationGestureHandler.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_State","require","_GestureHandler","_interopRequireDefault","_RotationGestureDetector","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ROTATION_RECOGNITION_THRESHOLD","Math","PI","RotationGestureHandler","GestureHandler","constructor","args","onRotationBegin","_detector","onRotation","detector","previousRotation","rotation","delta","timeDelta","velocity","abs","state","State","BEGAN","activate","onRotationEnd","end","RotationGestureDetector","rotationGestureListener","init","ref","propsRef","shouldCancelWhenOutside","transformNativeEvent","anchorX","getAnchorX","anchorY","getAnchorY","rotationGestureDetector","cachedAnchorX","cachedAnchorY","onPointerDown","event","tracker","addToTracker","tryToSendTouchEvent","onPointerAdd","tryBegin","onTouchEvent","onPointerMove","trackedPointersCount","track","onPointerOutOfBounds","onPointerUp","removeFromTracker","pointerId","ACTIVE","fail","onPointerRemove","UNDETERMINED","begin","onReset","reset","exports"],"sources":["RotationGestureHandler.ts"],"sourcesContent":["import { State } from '../../State';\nimport { AdaptedEvent } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport RotationGestureDetector, {\n RotationGestureListener,\n} from '../detectors/RotationGestureDetector';\n\nconst ROTATION_RECOGNITION_THRESHOLD = Math.PI / 36;\n\nexport default class RotationGestureHandler extends GestureHandler {\n private rotation = 0;\n private velocity = 0;\n\n private cachedAnchorX = 0;\n private cachedAnchorY = 0;\n\n private rotationGestureListener: RotationGestureListener = {\n onRotationBegin: (_detector: RotationGestureDetector): boolean => true,\n onRotation: (detector: RotationGestureDetector): boolean => {\n const previousRotation: number = this.rotation;\n this.rotation += detector.rotation;\n\n const delta = detector.timeDelta;\n\n if (delta > 0) {\n this.velocity = (this.rotation - previousRotation) / delta;\n }\n\n if (\n Math.abs(this.rotation) >= ROTATION_RECOGNITION_THRESHOLD &&\n this.state === State.BEGAN\n ) {\n this.activate();\n }\n\n return true;\n },\n onRotationEnd: (_detector: RotationGestureDetector): void => {\n this.end();\n },\n };\n\n private rotationGestureDetector: RotationGestureDetector =\n new RotationGestureDetector(this.rotationGestureListener);\n\n public init(ref: number, propsRef: React.RefObject<unknown>): void {\n super.init(ref, propsRef);\n\n this.shouldCancelWhenOutside = false;\n }\n\n protected transformNativeEvent() {\n return {\n rotation: this.rotation ? this.rotation : 0,\n anchorX: this.getAnchorX(),\n anchorY: this.getAnchorY(),\n velocity: this.velocity ? this.velocity : 0,\n };\n }\n\n public getAnchorX(): number {\n const anchorX = this.rotationGestureDetector.anchorX;\n\n return anchorX ? anchorX : this.cachedAnchorX;\n }\n\n public getAnchorY(): number {\n const anchorY = this.rotationGestureDetector.anchorY;\n\n return anchorY ? anchorY : this.cachedAnchorY;\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n\n this.tryBegin();\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n\n if (this.getAnchorX()) {\n this.cachedAnchorX = this.getAnchorX();\n }\n if (this.getAnchorY()) {\n this.cachedAnchorY = this.getAnchorY();\n }\n\n this.tracker.track(event);\n\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n\n if (this.getAnchorX()) {\n this.cachedAnchorX = this.getAnchorX();\n }\n if (this.getAnchorY()) {\n this.cachedAnchorY = this.getAnchorY();\n }\n\n this.tracker.track(event);\n\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n super.onPointerOutOfBounds(event);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n if (this.state !== State.ACTIVE) {\n return;\n }\n\n if (this.state === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n this.tracker.removeFromTracker(event.pointerId);\n }\n\n protected tryBegin(): void {\n if (this.state !== State.UNDETERMINED) {\n return;\n }\n\n this.begin();\n }\n\n protected onReset(): void {\n if (this.state === State.ACTIVE) {\n return;\n }\n\n this.rotation = 0;\n this.velocity = 0;\n this.rotationGestureDetector.reset();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"sources":["RotationGestureHandler.ts"],"names":["ROTATION_RECOGNITION_THRESHOLD","Math","PI","RotationGestureHandler","GestureHandler","onRotationBegin","_detector","onRotation","detector","previousRotation","rotation","delta","timeDelta","velocity","abs","state","State","BEGAN","activate","onRotationEnd","end","RotationGestureDetector","rotationGestureListener","init","ref","propsRef","shouldCancelWhenOutside","transformNativeEvent","anchorX","getAnchorX","anchorY","getAnchorY","rotationGestureDetector","cachedAnchorX","cachedAnchorY","onPointerDown","event","tracker","addToTracker","tryToSendTouchEvent","onPointerAdd","tryBegin","onTouchEvent","onPointerMove","trackedPointersCount","track","onPointerOutOfBounds","onPointerUp","removeFromTracker","pointerId","ACTIVE","fail","onPointerRemove","UNDETERMINED","begin","onReset","reset"],"mappings":"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","sourcesContent":["import { State } from '../../State';\nimport { AdaptedEvent } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport RotationGestureDetector, {\n RotationGestureListener,\n} from '../detectors/RotationGestureDetector';\n\nconst ROTATION_RECOGNITION_THRESHOLD = Math.PI / 36;\n\nexport default class RotationGestureHandler extends GestureHandler {\n private rotation = 0;\n private velocity = 0;\n\n private cachedAnchorX = 0;\n private cachedAnchorY = 0;\n\n private rotationGestureListener: RotationGestureListener = {\n onRotationBegin: (_detector: RotationGestureDetector): boolean => true,\n onRotation: (detector: RotationGestureDetector): boolean => {\n const previousRotation: number = this.rotation;\n this.rotation += detector.rotation;\n\n const delta = detector.timeDelta;\n\n if (delta > 0) {\n this.velocity = (this.rotation - previousRotation) / delta;\n }\n\n if (\n Math.abs(this.rotation) >= ROTATION_RECOGNITION_THRESHOLD &&\n this.state === State.BEGAN\n ) {\n this.activate();\n }\n\n return true;\n },\n onRotationEnd: (_detector: RotationGestureDetector): void => {\n this.end();\n },\n };\n\n private rotationGestureDetector: RotationGestureDetector =\n new RotationGestureDetector(this.rotationGestureListener);\n\n public init(ref: number, propsRef: React.RefObject<unknown>): void {\n super.init(ref, propsRef);\n\n this.shouldCancelWhenOutside = false;\n }\n\n protected transformNativeEvent() {\n return {\n rotation: this.rotation ? this.rotation : 0,\n anchorX: this.getAnchorX(),\n anchorY: this.getAnchorY(),\n velocity: this.velocity ? this.velocity : 0,\n };\n }\n\n public getAnchorX(): number {\n const anchorX = this.rotationGestureDetector.anchorX;\n\n return anchorX ? anchorX : this.cachedAnchorX;\n }\n\n public getAnchorY(): number {\n const anchorY = this.rotationGestureDetector.anchorY;\n\n return anchorY ? anchorY : this.cachedAnchorY;\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n\n this.tryBegin();\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n\n if (this.getAnchorX()) {\n this.cachedAnchorX = this.getAnchorX();\n }\n if (this.getAnchorY()) {\n this.cachedAnchorY = this.getAnchorY();\n }\n\n this.tracker.track(event);\n\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.tracker.trackedPointersCount < 2) {\n return;\n }\n\n if (this.getAnchorX()) {\n this.cachedAnchorX = this.getAnchorX();\n }\n if (this.getAnchorY()) {\n this.cachedAnchorY = this.getAnchorY();\n }\n\n this.tracker.track(event);\n\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n super.onPointerOutOfBounds(event);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n if (this.state !== State.ACTIVE) {\n return;\n }\n\n if (this.state === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n this.tracker.removeFromTracker(event.pointerId);\n }\n\n protected tryBegin(): void {\n if (this.state !== State.UNDETERMINED) {\n return;\n }\n\n this.begin();\n }\n\n protected onReset(): void {\n if (this.state === State.ACTIVE) {\n return;\n }\n\n this.rotation = 0;\n this.velocity = 0;\n this.rotationGestureDetector.reset();\n }\n}\n"]}
|