react-native-gesture-handler 2.22.0 → 2.23.0
Sign up to get free protection for your applications and to get access to all the features.
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +14 -0
- package/android/src/main/jni/cpp-adapter.cpp +19 -12
- package/apple/RNGestureHandler.mm +15 -8
- package/apple/RNGestureHandlerModule.mm +17 -5
- package/lib/commonjs/ActionType.js +3 -3
- package/lib/commonjs/ActionType.js.map +1 -1
- package/lib/commonjs/Directions.js +11 -8
- package/lib/commonjs/Directions.js.map +1 -1
- package/lib/commonjs/EnableNewWebImplementation.js +2 -10
- package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
- package/lib/commonjs/GestureHandlerRootViewContext.js +2 -7
- package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/commonjs/PlatformConstants.js +1 -6
- package/lib/commonjs/PlatformConstants.js.map +1 -1
- package/lib/commonjs/PlatformConstants.web.js +1 -3
- package/lib/commonjs/PlatformConstants.web.js.map +1 -1
- package/lib/commonjs/PointerType.js +3 -5
- package/lib/commonjs/PointerType.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.js +2 -6
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.web.js +13 -39
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.windows.js +22 -32
- package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/commonjs/RNRenderer.js +1 -3
- package/lib/commonjs/RNRenderer.js.map +1 -1
- package/lib/commonjs/RNRenderer.web.js +1 -2
- package/lib/commonjs/RNRenderer.web.js.map +1 -1
- package/lib/commonjs/State.js +4 -3
- 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 +96 -115
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/GestureButtons.js +36 -80
- package/lib/commonjs/components/GestureButtons.js.map +1 -1
- package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.js +26 -37
- package/lib/commonjs/components/GestureComponents.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.web.js +13 -27
- package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.js +2 -6
- package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.web.js +4 -12
- package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.android.js +4 -15
- package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.js +4 -14
- package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.web.js +4 -13
- package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/commonjs/components/Pressable/Pressable.js +46 -78
- 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 +1 -3
- package/lib/commonjs/components/Pressable/index.js.map +1 -1
- package/lib/commonjs/components/Pressable/utils.js +5 -20
- package/lib/commonjs/components/Pressable/utils.js.map +1 -1
- package/lib/commonjs/components/ReanimatedDrawerLayout.js +38 -76
- package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/commonjs/components/ReanimatedSwipeable.js +133 -98
- package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/commonjs/components/Swipeable.js +34 -75
- package/lib/commonjs/components/Swipeable.js.map +1 -1
- package/lib/commonjs/components/Text.js +18 -26
- package/lib/commonjs/components/Text.js.map +1 -1
- package/lib/commonjs/components/gestureHandlerRootHOC.js +5 -14
- package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchable.js +40 -76
- 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 +20 -33
- package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +17 -31
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -4
- 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 +17 -24
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +12 -13
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/index.js +7 -12
- package/lib/commonjs/components/touchables/index.js.map +1 -1
- package/lib/commonjs/findNodeHandle.js +1 -4
- package/lib/commonjs/findNodeHandle.js.map +1 -1
- package/lib/commonjs/findNodeHandle.web.js +9 -10
- package/lib/commonjs/findNodeHandle.web.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.js +1 -6
- package/lib/commonjs/getReactNativeVersion.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.web.js +0 -1
- package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.js +13 -14
- package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.web.js +0 -1
- package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
- package/lib/commonjs/ghQueueMicrotask.js +1 -2
- package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
- package/lib/commonjs/handlers/FlingGestureHandler.js +16 -10
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +20 -23
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/commonjs/handlers/LongPressGestureHandler.js +16 -10
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +17 -12
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js +20 -31
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PinchGestureHandler.js +14 -8
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js +0 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -1
- package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
- package/lib/commonjs/handlers/RotationGestureHandler.js +14 -8
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/TapGestureHandler.js +16 -10
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js +55 -135
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/createNativeWrapper.js +33 -32
- package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.js +0 -1
- package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.web.js +1 -2
- package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js +9 -10
- 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 +5 -14
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +10 -20
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +9 -29
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +1 -10
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js +12 -37
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -3
- 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 +12 -24
- package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -48
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +3 -13
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +2 -9
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +8 -16
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +28 -56
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/commonjs/handlers/gestures/eventReceiver.js +14 -46
- package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/commonjs/handlers/gestures/flingGesture.js +5 -12
- package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +8 -19
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gesture.js +44 -84
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureComposition.js +17 -31
- package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js +1 -27
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +3 -9
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +2 -7
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/hoverGesture.js +11 -25
- package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/longPressGesture.js +6 -14
- package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/manualGesture.js +0 -6
- package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/nativeGesture.js +5 -12
- package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/panGesture.js +18 -43
- package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/pinchGesture.js +2 -9
- package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +1 -8
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/commonjs/handlers/gestures/rotationGesture.js +2 -9
- package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/tapGesture.js +10 -22
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/commonjs/handlers/getNextHandlerTag.js +0 -1
- package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
- package/lib/commonjs/handlers/handlersRegistry.js +11 -21
- package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
- package/lib/commonjs/handlers/utils.js +6 -26
- package/lib/commonjs/handlers/utils.js.map +1 -1
- package/lib/commonjs/index.js +75 -104
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js +4 -11
- package/lib/commonjs/init.js.map +1 -1
- package/lib/commonjs/jestUtils/index.js +4 -5
- package/lib/commonjs/jestUtils/index.js.map +1 -1
- package/lib/commonjs/jestUtils/jestUtils.js +19 -83
- package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
- package/lib/commonjs/mocks.js +5 -15
- package/lib/commonjs/mocks.js.map +1 -1
- package/lib/commonjs/mountRegistry.js +3 -12
- package/lib/commonjs/mountRegistry.js.map +1 -1
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +1 -5
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +2 -7
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +2 -7
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
- package/lib/commonjs/typeUtils.js.map +1 -1
- package/lib/commonjs/utils.js +15 -30
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/Gestures.js +5 -23
- package/lib/commonjs/web/Gestures.js.map +1 -1
- package/lib/commonjs/web/constants.js +2 -4
- package/lib/commonjs/web/constants.js.map +1 -1
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +26 -62
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js +36 -65
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +12 -55
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +160 -273
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/HoverGestureHandler.js +8 -21
- 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 +12 -53
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js +1 -11
- package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +21 -62
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +23 -138
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +19 -56
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +16 -54
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +10 -71
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/interfaces.js +9 -17
- package/lib/commonjs/web/interfaces.js.map +1 -1
- package/lib/commonjs/web/tools/CircularBuffer.js +17 -29
- package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
- package/lib/commonjs/web/tools/EventManager.js +7 -41
- 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 +51 -118
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +37 -58
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/InteractionManager.js +21 -40
- package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
- package/lib/commonjs/web/tools/KeyboardEventManager.js +4 -26
- package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/LeastSquareSolver.js +30 -67
- package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/commonjs/web/tools/NodeManager.js +9 -16
- package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerEventManager.js +10 -45
- package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerTracker.js +24 -60
- package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
- package/lib/commonjs/web/tools/Vector.js +3 -18
- package/lib/commonjs/web/tools/Vector.js.map +1 -1
- package/lib/commonjs/web/tools/VelocityTracker.js +10 -32
- package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
- package/lib/commonjs/web/tools/WheelEventManager.js +4 -17
- package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
- package/lib/commonjs/web/utils.js +26 -55
- package/lib/commonjs/web/utils.js.map +1 -1
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +7 -19
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js +3 -13
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/Errors.js +0 -3
- package/lib/commonjs/web_hammer/Errors.js.map +1 -1
- package/lib/commonjs/web_hammer/FlingGestureHandler.js +13 -44
- package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/GestureHandler.js +55 -142
- package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +2 -11
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js +5 -19
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +16 -24
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NodeManager.js +9 -16
- package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
- package/lib/commonjs/web_hammer/PanGestureHandler.js +8 -49
- package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PinchGestureHandler.js +2 -11
- package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PressGestureHandler.js +15 -43
- package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/RotationGestureHandler.js +2 -13
- package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/TapGestureHandler.js +33 -52
- package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/constants.js +13 -26
- package/lib/commonjs/web_hammer/constants.js.map +1 -1
- package/lib/commonjs/web_hammer/utils.js +4 -14
- package/lib/commonjs/web_hammer/utils.js.map +1 -1
- package/lib/module/ActionType.js +3 -1
- package/lib/module/ActionType.js.map +1 -1
- package/lib/module/Directions.js +9 -3
- package/lib/module/Directions.js.map +1 -1
- package/lib/module/EnableNewWebImplementation.js +2 -5
- package/lib/module/EnableNewWebImplementation.js.map +1 -1
- package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/module/PlatformConstants.js +0 -1
- package/lib/module/PlatformConstants.js.map +1 -1
- package/lib/module/PlatformConstants.web.js +0 -1
- package/lib/module/PlatformConstants.web.js.map +1 -1
- package/lib/module/PointerType.js +3 -4
- package/lib/module/PointerType.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.js +1 -0
- package/lib/module/RNGestureHandlerModule.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.web.js +12 -22
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.windows.js +18 -17
- 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 +4 -1
- package/lib/module/State.js.map +1 -1
- package/lib/module/TouchEventType.js +3 -1
- package/lib/module/TouchEventType.js.map +1 -1
- package/lib/module/components/DrawerLayout.js +87 -99
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/GestureButtons.js +27 -55
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/GestureButtonsProps.js.map +1 -1
- package/lib/module/components/GestureComponents.js +17 -12
- 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 +1 -2
- package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.android.js +1 -2
- package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.js +1 -2
- package/lib/module/components/GestureHandlerRootView.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.web.js +1 -2
- package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +44 -61
- 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 +4 -14
- package/lib/module/components/Pressable/utils.js.map +1 -1
- package/lib/module/components/ReanimatedDrawerLayout.js +34 -56
- package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/module/components/ReanimatedSwipeable.js +130 -84
- package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/module/components/Swipeable.js +28 -59
- package/lib/module/components/Swipeable.js.map +1 -1
- package/lib/module/components/Text.js +14 -13
- 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 +34 -63
- 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 +16 -23
- package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js +11 -19
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.js +6 -1
- 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 +13 -14
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/module/components/touchables/TouchableWithoutFeedback.js +9 -2
- 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 +9 -8
- 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 +13 -0
- package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/handlers/ForceTouchGestureHandler.js +16 -8
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/module/handlers/LongPressGestureHandler.js +13 -0
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/handlers/NativeViewGestureHandler.js +13 -0
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/handlers/PanGestureHandler.js +15 -19
- package/lib/module/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/handlers/PinchGestureHandler.js +13 -0
- 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 +13 -0
- package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/handlers/TapGestureHandler.js +13 -0
- package/lib/module/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/handlers/createHandler.js +54 -108
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/createNativeWrapper.js +28 -22
- 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 +9 -4
- 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 +3 -4
- package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +5 -6
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +8 -16
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -1
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/index.js +9 -15
- package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -2
- 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 +11 -14
- package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -39
- 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 +2 -6
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -9
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/utils.js +25 -30
- package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/module/handlers/gestures/eventReceiver.js +14 -38
- package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/module/handlers/gestures/flingGesture.js +5 -9
- package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/module/handlers/gestures/forceTouchGesture.js +8 -17
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/gesture.js +44 -73
- package/lib/module/handlers/gestures/gesture.js.map +1 -1
- package/lib/module/handlers/gestures/gestureComposition.js +16 -24
- package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/module/handlers/gestures/gestureObjects.js +1 -14
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.js +3 -4
- package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -1
- package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/module/handlers/gestures/hoverGesture.js +9 -18
- package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/module/handlers/gestures/longPressGesture.js +6 -11
- package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/module/handlers/gestures/manualGesture.js +0 -4
- package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/module/handlers/gestures/nativeGesture.js +5 -9
- package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/module/handlers/gestures/panGesture.js +18 -41
- package/lib/module/handlers/gestures/panGesture.js.map +1 -1
- package/lib/module/handlers/gestures/pinchGesture.js +2 -7
- package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -5
- package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/module/handlers/gestures/rotationGesture.js +2 -7
- package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/module/handlers/gestures/tapGesture.js +10 -19
- 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 +6 -8
- package/lib/module/handlers/handlersRegistry.js.map +1 -1
- package/lib/module/handlers/utils.js +4 -13
- package/lib/module/handlers/utils.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js +3 -2
- package/lib/module/init.js.map +1 -1
- package/lib/module/jestUtils/index.js.map +1 -1
- package/lib/module/jestUtils/jestUtils.js +20 -66
- package/lib/module/jestUtils/jestUtils.js.map +1 -1
- package/lib/module/mocks.js +3 -7
- package/lib/module/mocks.js.map +1 -1
- package/lib/module/mountRegistry.js +3 -10
- 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 +8 -13
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/Gestures.js +2 -1
- 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 +26 -59
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/module/web/detectors/ScaleGestureDetector.js +36 -61
- package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +11 -45
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js +159 -259
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/HoverGestureHandler.js +7 -13
- 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 +11 -46
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/ManualGestureHandler.js +0 -6
- package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/NativeViewGestureHandler.js +20 -54
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +22 -129
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PinchGestureHandler.js +18 -48
- package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/RotationGestureHandler.js +15 -46
- package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +9 -63
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/interfaces.js +9 -14
- package/lib/module/web/interfaces.js.map +1 -1
- package/lib/module/web/tools/CircularBuffer.js +17 -27
- package/lib/module/web/tools/CircularBuffer.js.map +1 -1
- package/lib/module/web/tools/EventManager.js +7 -39
- 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 +50 -111
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +36 -47
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/module/web/tools/InteractionManager.js +21 -35
- package/lib/module/web/tools/InteractionManager.js.map +1 -1
- package/lib/module/web/tools/KeyboardEventManager.js +3 -19
- package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/module/web/tools/LeastSquareSolver.js +30 -65
- package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/module/web/tools/NodeManager.js +9 -14
- package/lib/module/web/tools/NodeManager.js.map +1 -1
- package/lib/module/web/tools/PointerEventManager.js +9 -35
- package/lib/module/web/tools/PointerEventManager.js.map +1 -1
- package/lib/module/web/tools/PointerTracker.js +23 -54
- package/lib/module/web/tools/PointerTracker.js.map +1 -1
- package/lib/module/web/tools/Vector.js +3 -14
- package/lib/module/web/tools/Vector.js.map +1 -1
- package/lib/module/web/tools/VelocityTracker.js +9 -26
- package/lib/module/web/tools/VelocityTracker.js.map +1 -1
- package/lib/module/web/tools/WheelEventManager.js +3 -10
- package/lib/module/web/tools/WheelEventManager.js.map +1 -1
- package/lib/module/web/utils.js +21 -40
- package/lib/module/web/utils.js.map +1 -1
- package/lib/module/web_hammer/DiscreteGestureHandler.js +4 -13
- package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/DraggingGestureHandler.js +0 -5
- package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/Errors.js +0 -1
- package/lib/module/web_hammer/Errors.js.map +1 -1
- package/lib/module/web_hammer/FlingGestureHandler.js +10 -35
- package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/GestureHandler.js +53 -130
- package/lib/module/web_hammer/GestureHandler.js.map +1 -1
- package/lib/module/web_hammer/IndiscreteGestureHandler.js +1 -6
- package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/LongPressGestureHandler.js +2 -11
- 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 +6 -8
- package/lib/module/web_hammer/NodeManager.js.map +1 -1
- package/lib/module/web_hammer/PanGestureHandler.js +6 -40
- package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PinchGestureHandler.js +0 -5
- package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PressGestureHandler.js +13 -34
- package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/RotationGestureHandler.js +0 -6
- package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/TapGestureHandler.js +31 -45
- package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/constants.js +2 -1
- 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/DrawerLayout.d.ts +27 -0
- package/lib/typescript/components/GestureButtonsProps.d.ts +18 -2
- package/lib/typescript/components/Pressable/PressableProps.d.ts +3 -10
- package/lib/typescript/components/Pressable/index.d.ts +1 -1
- package/lib/typescript/components/ReanimatedSwipeable.d.ts +6 -0
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +5 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +2 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +5 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -0
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +5 -0
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +6 -0
- package/lib/typescript/handlers/FlingGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/LongPressGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/PanGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/PinchGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/RotationGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/TapGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/handlersRegistry.d.ts +1 -0
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/utils.d.ts +1 -1
- package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +7 -7
- package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +8 -8
- package/lib/typescript/web/handlers/GestureHandler.d.ts +33 -28
- package/lib/typescript/web/handlers/IGestureHandler.d.ts +12 -13
- package/lib/typescript/web/tools/CircularBuffer.d.ts +3 -3
- package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +1 -1
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +2 -2
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +3 -2
- package/lib/typescript/web/tools/InteractionManager.d.ts +2 -2
- package/lib/typescript/web/tools/NodeManager.d.ts +1 -1
- package/lib/typescript/web/tools/PointerTracker.d.ts +4 -4
- package/lib/typescript/web/tools/VelocityTracker.d.ts +1 -1
- package/package.json +2 -2
- package/src/RNGestureHandlerModule.web.ts +2 -2
- package/src/components/DrawerLayout.tsx +29 -0
- package/src/components/GestureButtons.tsx +13 -2
- package/src/components/GestureButtonsProps.ts +31 -2
- package/src/components/Pressable/Pressable.tsx +22 -5
- package/src/components/Pressable/PressableProps.tsx +4 -11
- package/src/components/Pressable/index.ts +4 -1
- package/src/components/ReanimatedSwipeable.tsx +194 -113
- package/src/components/Text.tsx +13 -4
- package/src/components/touchables/TouchableHighlight.tsx +5 -0
- package/src/components/touchables/TouchableNativeFeedback.android.tsx +2 -0
- package/src/components/touchables/TouchableNativeFeedback.tsx +6 -1
- package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -0
- package/src/components/touchables/TouchableOpacity.tsx +5 -0
- package/src/components/touchables/TouchableWithoutFeedback.tsx +6 -0
- package/src/findNodeHandle.web.ts +6 -0
- package/src/handlers/FlingGestureHandler.ts +10 -0
- package/src/handlers/ForceTouchGestureHandler.ts +9 -0
- package/src/handlers/LongPressGestureHandler.ts +10 -0
- package/src/handlers/NativeViewGestureHandler.ts +10 -0
- package/src/handlers/PanGestureHandler.ts +10 -0
- package/src/handlers/PinchGestureHandler.ts +10 -0
- package/src/handlers/RotationGestureHandler.ts +10 -0
- package/src/handlers/TapGestureHandler.ts +10 -0
- package/src/handlers/createHandler.tsx +11 -4
- package/src/handlers/createNativeWrapper.tsx +10 -4
- package/src/handlers/gestures/GestureDetector/index.tsx +2 -2
- package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +3 -3
- package/src/handlers/gestures/GestureDetector/utils.ts +2 -2
- package/src/handlers/handlersRegistry.ts +7 -3
- package/src/index.ts +4 -1
- package/src/utils.ts +2 -2
- package/src/web/detectors/RotationGestureDetector.ts +22 -22
- package/src/web/detectors/ScaleGestureDetector.ts +24 -24
- package/src/web/handlers/FlingGestureHandler.ts +6 -7
- package/src/web/handlers/GestureHandler.ts +115 -105
- package/src/web/handlers/HoverGestureHandler.ts +2 -2
- package/src/web/handlers/IGestureHandler.ts +12 -13
- package/src/web/handlers/LongPressGestureHandler.ts +7 -7
- package/src/web/handlers/NativeViewGestureHandler.ts +14 -19
- package/src/web/handlers/PanGestureHandler.ts +17 -17
- package/src/web/handlers/PinchGestureHandler.ts +17 -21
- package/src/web/handlers/RotationGestureHandler.ts +12 -12
- package/src/web/handlers/TapGestureHandler.ts +4 -6
- package/src/web/tools/CircularBuffer.ts +15 -15
- package/src/web/tools/GestureHandlerDelegate.ts +1 -1
- package/src/web/tools/GestureHandlerOrchestrator.ts +42 -42
- package/src/web/tools/GestureHandlerWebDelegate.ts +32 -13
- package/src/web/tools/InteractionManager.ts +16 -16
- package/src/web/tools/NodeManager.ts +2 -2
- package/src/web/tools/PointerTracker.ts +20 -20
- package/src/web/tools/Vector.ts +1 -1
- package/src/web/tools/VelocityTracker.ts +1 -1
@@ -3,14 +3,13 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.
|
6
|
+
exports.PointerTypeMapping = void 0;
|
7
7
|
exports.calculateViewScale = calculateViewScale;
|
8
|
-
exports.
|
8
|
+
exports.degToRad = exports.coneToDeviation = void 0;
|
9
|
+
exports.isPointerInBounds = isPointerInBounds;
|
9
10
|
exports.isRNSVGElement = isRNSVGElement;
|
10
|
-
exports.
|
11
|
-
|
11
|
+
exports.tryExtractStylusData = tryExtractStylusData;
|
12
12
|
var _PointerType = require("../PointerType");
|
13
|
-
|
14
13
|
function isPointerInBounds(view, {
|
15
14
|
x,
|
16
15
|
y
|
@@ -18,64 +17,51 @@ function isPointerInBounds(view, {
|
|
18
17
|
const rect = view.getBoundingClientRect();
|
19
18
|
return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;
|
20
19
|
}
|
21
|
-
|
22
|
-
const PointerTypeMapping = new Map([['mouse', _PointerType.PointerType.MOUSE], ['touch', _PointerType.PointerType.TOUCH], ['pen', _PointerType.PointerType.STYLUS], ['none', _PointerType.PointerType.OTHER]]);
|
23
|
-
exports.PointerTypeMapping = PointerTypeMapping;
|
24
|
-
|
20
|
+
const PointerTypeMapping = exports.PointerTypeMapping = new Map([['mouse', _PointerType.PointerType.MOUSE], ['touch', _PointerType.PointerType.TOUCH], ['pen', _PointerType.PointerType.STYLUS], ['none', _PointerType.PointerType.OTHER]]);
|
25
21
|
const degToRad = degrees => degrees * Math.PI / 180;
|
26
|
-
|
27
22
|
exports.degToRad = degToRad;
|
28
|
-
|
29
23
|
const coneToDeviation = degrees => Math.cos(degToRad(degrees / 2));
|
30
|
-
|
31
24
|
exports.coneToDeviation = coneToDeviation;
|
32
|
-
|
33
25
|
function calculateViewScale(view) {
|
34
26
|
var _RegExp$exec;
|
35
|
-
|
36
27
|
const styles = getComputedStyle(view);
|
37
28
|
const resultScales = {
|
38
29
|
scaleX: 1,
|
39
30
|
scaleY: 1
|
40
|
-
};
|
31
|
+
};
|
41
32
|
|
33
|
+
// Get scales from scale property
|
42
34
|
if (styles.scale !== undefined && styles.scale !== 'none') {
|
43
35
|
const scales = styles.scale.split(' ');
|
44
|
-
|
45
36
|
if (scales[0]) {
|
46
37
|
resultScales.scaleX = parseFloat(scales[0]);
|
47
38
|
}
|
48
|
-
|
49
39
|
resultScales.scaleY = scales[1] ? parseFloat(scales[1]) : parseFloat(scales[0]);
|
50
|
-
}
|
51
|
-
|
40
|
+
}
|
52
41
|
|
42
|
+
// Get scales from transform property
|
53
43
|
const matrixElements = (_RegExp$exec = new RegExp(/matrix\((.+)\)/).exec(styles.transform)) === null || _RegExp$exec === void 0 ? void 0 : _RegExp$exec[1];
|
54
|
-
|
55
44
|
if (matrixElements) {
|
56
45
|
const matrixElementsArray = matrixElements.split(', ');
|
57
46
|
resultScales.scaleX *= parseFloat(matrixElementsArray[0]);
|
58
47
|
resultScales.scaleY *= parseFloat(matrixElementsArray[3]);
|
59
48
|
}
|
60
|
-
|
61
49
|
return resultScales;
|
62
50
|
}
|
63
|
-
|
64
51
|
function tryExtractStylusData(event) {
|
65
52
|
const pointerType = PointerTypeMapping.get(event.pointerType);
|
66
|
-
|
67
53
|
if (pointerType !== _PointerType.PointerType.STYLUS) {
|
68
54
|
return;
|
69
|
-
}
|
70
|
-
|
71
|
-
|
72
|
-
const eventAzimuthAngle = event.azimuthAngle; // @ts-ignore This property exists (https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent#instance_properties)
|
55
|
+
}
|
73
56
|
|
57
|
+
// @ts-ignore This property exists (https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent#instance_properties)
|
58
|
+
const eventAzimuthAngle = event.azimuthAngle;
|
59
|
+
// @ts-ignore This property exists (https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent#instance_properties)
|
74
60
|
const eventAltitudeAngle = event.altitudeAngle;
|
75
|
-
|
76
61
|
if (event.tiltX === 0 && event.tiltY === 0) {
|
77
62
|
// If we are in this branch, it means that either tilt properties are not supported and we have to calculate them from altitude and azimuth angles,
|
78
63
|
// or stylus is perpendicular to the screen and we can use altitude / azimuth instead of tilt
|
64
|
+
|
79
65
|
// If azimuth and altitude are undefined in this branch, it means that we are either perpendicular to the screen,
|
80
66
|
// or that none of the position sets is supported. In that case, we can treat stylus as perpendicular
|
81
67
|
if (eventAzimuthAngle === undefined || eventAltitudeAngle === undefined) {
|
@@ -87,7 +73,6 @@ function tryExtractStylusData(event) {
|
|
87
73
|
pressure: event.pressure
|
88
74
|
};
|
89
75
|
}
|
90
|
-
|
91
76
|
const {
|
92
77
|
tiltX,
|
93
78
|
tiltY
|
@@ -100,7 +85,6 @@ function tryExtractStylusData(event) {
|
|
100
85
|
pressure: event.pressure
|
101
86
|
};
|
102
87
|
}
|
103
|
-
|
104
88
|
const {
|
105
89
|
altitudeAngle,
|
106
90
|
azimuthAngle
|
@@ -112,18 +96,18 @@ function tryExtractStylusData(event) {
|
|
112
96
|
altitudeAngle,
|
113
97
|
pressure: event.pressure
|
114
98
|
};
|
115
|
-
}
|
99
|
+
}
|
100
|
+
|
101
|
+
// `altitudeAngle` and `azimuthAngle` are experimental properties, which are not supported on Firefox and Safari.
|
116
102
|
// Given that, we use `tilt` properties and algorithm that converts one value to another.
|
117
103
|
//
|
118
104
|
// Source: https://w3c.github.io/pointerevents/#converting-between-tiltx-tilty-and-altitudeangle-azimuthangle
|
119
|
-
|
120
|
-
|
121
105
|
function tilt2spherical(tiltX, tiltY) {
|
122
106
|
const tiltXrad = tiltX * Math.PI / 180;
|
123
|
-
const tiltYrad = tiltY * Math.PI / 180;
|
107
|
+
const tiltYrad = tiltY * Math.PI / 180;
|
124
108
|
|
109
|
+
// calculate azimuth angle
|
125
110
|
let azimuthAngle = 0;
|
126
|
-
|
127
111
|
if (tiltX === 0) {
|
128
112
|
if (tiltY > 0) {
|
129
113
|
azimuthAngle = Math.PI / 2;
|
@@ -142,15 +126,13 @@ function tilt2spherical(tiltX, tiltY) {
|
|
142
126
|
const tanX = Math.tan(tiltXrad);
|
143
127
|
const tanY = Math.tan(tiltYrad);
|
144
128
|
azimuthAngle = Math.atan2(tanY, tanX);
|
145
|
-
|
146
129
|
if (azimuthAngle < 0) {
|
147
130
|
azimuthAngle += 2 * Math.PI;
|
148
131
|
}
|
149
|
-
}
|
150
|
-
|
132
|
+
}
|
151
133
|
|
134
|
+
// calculate altitude angle
|
152
135
|
let altitudeAngle = 0;
|
153
|
-
|
154
136
|
if (Math.abs(tiltX) === 90 || Math.abs(tiltY) === 90) {
|
155
137
|
altitudeAngle = 0;
|
156
138
|
} else if (tiltX === 0) {
|
@@ -161,70 +143,59 @@ function tilt2spherical(tiltX, tiltY) {
|
|
161
143
|
// Non-boundary case: neither tiltX nor tiltY is equal to 0 or +-90
|
162
144
|
altitudeAngle = Math.atan(1.0 / Math.sqrt(Math.pow(Math.tan(tiltXrad), 2) + Math.pow(Math.tan(tiltYrad), 2)));
|
163
145
|
}
|
164
|
-
|
165
146
|
return {
|
166
147
|
altitudeAngle: altitudeAngle,
|
167
148
|
azimuthAngle: azimuthAngle
|
168
149
|
};
|
169
|
-
}
|
150
|
+
}
|
151
|
+
|
152
|
+
// If we are on a platform that doesn't support `tiltX` and `tiltY`, we have to calculate them from `altitude` and `azimuth` angles.
|
170
153
|
//
|
171
154
|
// Source: https://w3c.github.io/pointerevents/#converting-between-tiltx-tilty-and-altitudeangle-azimuthangle
|
172
|
-
|
173
|
-
|
174
155
|
function spherical2tilt(altitudeAngle, azimuthAngle) {
|
175
156
|
const radToDeg = 180 / Math.PI;
|
176
157
|
let tiltXrad = 0;
|
177
158
|
let tiltYrad = 0;
|
178
|
-
|
179
159
|
if (altitudeAngle === 0) {
|
180
160
|
// the pen is in the X-Y plane
|
181
161
|
if (azimuthAngle === 0 || azimuthAngle === 2 * Math.PI) {
|
182
162
|
// pen is on positive X axis
|
183
163
|
tiltXrad = Math.PI / 2;
|
184
164
|
}
|
185
|
-
|
186
165
|
if (azimuthAngle === Math.PI / 2) {
|
187
166
|
// pen is on positive Y axis
|
188
167
|
tiltYrad = Math.PI / 2;
|
189
168
|
}
|
190
|
-
|
191
169
|
if (azimuthAngle === Math.PI) {
|
192
170
|
// pen is on negative X axis
|
193
171
|
tiltXrad = -Math.PI / 2;
|
194
172
|
}
|
195
|
-
|
196
173
|
if (azimuthAngle === 3 * Math.PI / 2) {
|
197
174
|
// pen is on negative Y axis
|
198
175
|
tiltYrad = -Math.PI / 2;
|
199
176
|
}
|
200
|
-
|
201
177
|
if (azimuthAngle > 0 && azimuthAngle < Math.PI / 2) {
|
202
178
|
tiltXrad = Math.PI / 2;
|
203
179
|
tiltYrad = Math.PI / 2;
|
204
180
|
}
|
205
|
-
|
206
181
|
if (azimuthAngle > Math.PI / 2 && azimuthAngle < Math.PI) {
|
207
182
|
tiltXrad = -Math.PI / 2;
|
208
183
|
tiltYrad = Math.PI / 2;
|
209
184
|
}
|
210
|
-
|
211
185
|
if (azimuthAngle > Math.PI && azimuthAngle < 3 * Math.PI / 2) {
|
212
186
|
tiltXrad = -Math.PI / 2;
|
213
187
|
tiltYrad = -Math.PI / 2;
|
214
188
|
}
|
215
|
-
|
216
189
|
if (azimuthAngle > 3 * Math.PI / 2 && azimuthAngle < 2 * Math.PI) {
|
217
190
|
tiltXrad = Math.PI / 2;
|
218
191
|
tiltYrad = -Math.PI / 2;
|
219
192
|
}
|
220
193
|
}
|
221
|
-
|
222
194
|
if (altitudeAngle !== 0) {
|
223
195
|
const tanAlt = Math.tan(altitudeAngle);
|
224
196
|
tiltXrad = Math.atan(Math.cos(azimuthAngle) / tanAlt);
|
225
197
|
tiltYrad = Math.atan(Math.sin(azimuthAngle) / tanAlt);
|
226
198
|
}
|
227
|
-
|
228
199
|
const tiltX = Math.round(tiltXrad * radToDeg);
|
229
200
|
const tiltY = Math.round(tiltYrad * radToDeg);
|
230
201
|
return {
|
@@ -232,8 +203,9 @@ function spherical2tilt(altitudeAngle, azimuthAngle) {
|
|
232
203
|
tiltY
|
233
204
|
};
|
234
205
|
}
|
206
|
+
const RNSVGElements = ['Circle', 'ClipPath', 'Ellipse', 'ForeignObject', 'G', 'Image', 'Line', 'Marker', 'Mask', 'Path', 'Pattern', 'Polygon', 'Polyline', 'Rect', 'Svg', 'Symbol', 'TSpan', 'Text', 'TextPath', 'Use'];
|
235
207
|
|
236
|
-
|
208
|
+
// This function helps us determine whether given node is SVGElement or not. In our implementation of
|
237
209
|
// findNodeHandle, we can encounter such element in 2 forms - SVG tag or ref to SVG Element. Since Gesture Handler
|
238
210
|
// does not depend on SVG, we use our simplified SVGRef type that has `elementRef` field. This is something that is present
|
239
211
|
// in actual SVG ref object.
|
@@ -242,7 +214,6 @@ const RNSVGElements = ['Circle', 'ClipPath', 'Ellipse', 'ForeignObject', 'G', 'I
|
|
242
214
|
// corresponds to one of the possible SVG elements. Then we also check if `elementRef` field exists.
|
243
215
|
// By doing both steps we decrease probability of detecting situations where, for example, user makes custom `Circle` and
|
244
216
|
// we treat it as SVG.
|
245
|
-
|
246
217
|
function isRNSVGElement(viewRef) {
|
247
218
|
const componentClassName = Object.getPrototypeOf(viewRef).constructor.name;
|
248
219
|
return RNSVGElements.indexOf(componentClassName) >= 0 && Object.hasOwn(viewRef, 'elementRef');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["utils.ts"],"names":["isPointerInBounds","view","x","y","rect","getBoundingClientRect","left","right","top","bottom","PointerTypeMapping","Map","PointerType","MOUSE","TOUCH","STYLUS","OTHER","degToRad","degrees","Math","PI","coneToDeviation","cos","calculateViewScale","styles","getComputedStyle","resultScales","scaleX","scaleY","scale","undefined","scales","split","parseFloat","matrixElements","RegExp","exec","transform","matrixElementsArray","tryExtractStylusData","event","pointerType","get","eventAzimuthAngle","azimuthAngle","eventAltitudeAngle","altitudeAngle","tiltX","tiltY","pressure","spherical2tilt","tilt2spherical","tiltXrad","tiltYrad","abs","tanX","tan","tanY","atan2","atan","sqrt","pow","radToDeg","tanAlt","sin","round","RNSVGElements","isRNSVGElement","viewRef","componentClassName","Object","getPrototypeOf","constructor","name","indexOf","hasOwn"],"mappings":"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","sourcesContent":["import { PointerType } from '../PointerType';\nimport type {\n GestureHandlerRef,\n Point,\n StylusData,\n SVGRef,\n} from './interfaces';\n\nexport function isPointerInBounds(view: HTMLElement, { x, y }: Point): boolean {\n const rect: DOMRect = view.getBoundingClientRect();\n\n return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;\n}\n\nexport const PointerTypeMapping = new Map<string, PointerType>([\n ['mouse', PointerType.MOUSE],\n ['touch', PointerType.TOUCH],\n ['pen', PointerType.STYLUS],\n ['none', PointerType.OTHER],\n]);\n\nexport const degToRad = (degrees: number) => (degrees * Math.PI) / 180;\n\nexport const coneToDeviation = (degrees: number) =>\n Math.cos(degToRad(degrees / 2));\n\nexport function calculateViewScale(view: HTMLElement) {\n const styles = getComputedStyle(view);\n\n const resultScales = {\n scaleX: 1,\n scaleY: 1,\n };\n\n // Get scales from scale property\n if (styles.scale !== undefined && styles.scale !== 'none') {\n const scales = styles.scale.split(' ');\n\n if (scales[0]) {\n resultScales.scaleX = parseFloat(scales[0]);\n }\n\n resultScales.scaleY = scales[1]\n ? parseFloat(scales[1])\n : parseFloat(scales[0]);\n }\n\n // Get scales from transform property\n const matrixElements = new RegExp(/matrix\\((.+)\\)/).exec(\n styles.transform\n )?.[1];\n\n if (matrixElements) {\n const matrixElementsArray = matrixElements.split(', ');\n\n resultScales.scaleX *= parseFloat(matrixElementsArray[0]);\n resultScales.scaleY *= parseFloat(matrixElementsArray[3]);\n }\n\n return resultScales;\n}\n\nexport function tryExtractStylusData(\n event: PointerEvent\n): StylusData | undefined {\n const pointerType = PointerTypeMapping.get(event.pointerType);\n\n if (pointerType !== PointerType.STYLUS) {\n return;\n }\n\n // @ts-ignore This property exists (https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent#instance_properties)\n const eventAzimuthAngle: number | undefined = event.azimuthAngle;\n // @ts-ignore This property exists (https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent#instance_properties)\n const eventAltitudeAngle: number | undefined = event.altitudeAngle;\n\n if (event.tiltX === 0 && event.tiltY === 0) {\n // If we are in this branch, it means that either tilt properties are not supported and we have to calculate them from altitude and azimuth angles,\n // or stylus is perpendicular to the screen and we can use altitude / azimuth instead of tilt\n\n // If azimuth and altitude are undefined in this branch, it means that we are either perpendicular to the screen,\n // or that none of the position sets is supported. In that case, we can treat stylus as perpendicular\n if (eventAzimuthAngle === undefined || eventAltitudeAngle === undefined) {\n return {\n tiltX: 0,\n tiltY: 0,\n azimuthAngle: Math.PI / 2,\n altitudeAngle: Math.PI / 2,\n pressure: event.pressure,\n };\n }\n\n const { tiltX, tiltY } = spherical2tilt(\n eventAltitudeAngle,\n eventAzimuthAngle\n );\n\n return {\n tiltX,\n tiltY,\n azimuthAngle: eventAzimuthAngle,\n altitudeAngle: eventAltitudeAngle,\n pressure: event.pressure,\n };\n }\n\n const { altitudeAngle, azimuthAngle } = tilt2spherical(\n event.tiltX,\n event.tiltY\n );\n\n return {\n tiltX: event.tiltX,\n tiltY: event.tiltY,\n azimuthAngle,\n altitudeAngle,\n pressure: event.pressure,\n };\n}\n\n// `altitudeAngle` and `azimuthAngle` are experimental properties, which are not supported on Firefox and Safari.\n// Given that, we use `tilt` properties and algorithm that converts one value to another.\n//\n// Source: https://w3c.github.io/pointerevents/#converting-between-tiltx-tilty-and-altitudeangle-azimuthangle\nfunction tilt2spherical(tiltX: number, tiltY: number) {\n const tiltXrad = (tiltX * Math.PI) / 180;\n const tiltYrad = (tiltY * Math.PI) / 180;\n\n // calculate azimuth angle\n let azimuthAngle = 0;\n\n if (tiltX === 0) {\n if (tiltY > 0) {\n azimuthAngle = Math.PI / 2;\n } else if (tiltY < 0) {\n azimuthAngle = (3 * Math.PI) / 2;\n }\n } else if (tiltY === 0) {\n if (tiltX < 0) {\n azimuthAngle = Math.PI;\n }\n } else if (Math.abs(tiltX) === 90 || Math.abs(tiltY) === 90) {\n // not enough information to calculate azimuth\n azimuthAngle = 0;\n } else {\n // Non-boundary case: neither tiltX nor tiltY is equal to 0 or +-90\n const tanX = Math.tan(tiltXrad);\n const tanY = Math.tan(tiltYrad);\n\n azimuthAngle = Math.atan2(tanY, tanX);\n if (azimuthAngle < 0) {\n azimuthAngle += 2 * Math.PI;\n }\n }\n\n // calculate altitude angle\n let altitudeAngle = 0;\n\n if (Math.abs(tiltX) === 90 || Math.abs(tiltY) === 90) {\n altitudeAngle = 0;\n } else if (tiltX === 0) {\n altitudeAngle = Math.PI / 2 - Math.abs(tiltYrad);\n } else if (tiltY === 0) {\n altitudeAngle = Math.PI / 2 - Math.abs(tiltXrad);\n } else {\n // Non-boundary case: neither tiltX nor tiltY is equal to 0 or +-90\n altitudeAngle = Math.atan(\n 1.0 /\n Math.sqrt(\n Math.pow(Math.tan(tiltXrad), 2) + Math.pow(Math.tan(tiltYrad), 2)\n )\n );\n }\n\n return { altitudeAngle: altitudeAngle, azimuthAngle: azimuthAngle };\n}\n\n// If we are on a platform that doesn't support `tiltX` and `tiltY`, we have to calculate them from `altitude` and `azimuth` angles.\n//\n// Source: https://w3c.github.io/pointerevents/#converting-between-tiltx-tilty-and-altitudeangle-azimuthangle\nfunction spherical2tilt(altitudeAngle: number, azimuthAngle: number) {\n const radToDeg = 180 / Math.PI;\n\n let tiltXrad = 0;\n let tiltYrad = 0;\n\n if (altitudeAngle === 0) {\n // the pen is in the X-Y plane\n if (azimuthAngle === 0 || azimuthAngle === 2 * Math.PI) {\n // pen is on positive X axis\n tiltXrad = Math.PI / 2;\n }\n if (azimuthAngle === Math.PI / 2) {\n // pen is on positive Y axis\n tiltYrad = Math.PI / 2;\n }\n if (azimuthAngle === Math.PI) {\n // pen is on negative X axis\n tiltXrad = -Math.PI / 2;\n }\n if (azimuthAngle === (3 * Math.PI) / 2) {\n // pen is on negative Y axis\n tiltYrad = -Math.PI / 2;\n }\n if (azimuthAngle > 0 && azimuthAngle < Math.PI / 2) {\n tiltXrad = Math.PI / 2;\n tiltYrad = Math.PI / 2;\n }\n if (azimuthAngle > Math.PI / 2 && azimuthAngle < Math.PI) {\n tiltXrad = -Math.PI / 2;\n tiltYrad = Math.PI / 2;\n }\n if (azimuthAngle > Math.PI && azimuthAngle < (3 * Math.PI) / 2) {\n tiltXrad = -Math.PI / 2;\n tiltYrad = -Math.PI / 2;\n }\n if (azimuthAngle > (3 * Math.PI) / 2 && azimuthAngle < 2 * Math.PI) {\n tiltXrad = Math.PI / 2;\n tiltYrad = -Math.PI / 2;\n }\n }\n\n if (altitudeAngle !== 0) {\n const tanAlt = Math.tan(altitudeAngle);\n\n tiltXrad = Math.atan(Math.cos(azimuthAngle) / tanAlt);\n tiltYrad = Math.atan(Math.sin(azimuthAngle) / tanAlt);\n }\n\n const tiltX = Math.round(tiltXrad * radToDeg);\n const tiltY = Math.round(tiltYrad * radToDeg);\n\n return { tiltX, tiltY };\n}\n\nconst RNSVGElements = [\n 'Circle',\n 'ClipPath',\n 'Ellipse',\n 'ForeignObject',\n 'G',\n 'Image',\n 'Line',\n 'Marker',\n 'Mask',\n 'Path',\n 'Pattern',\n 'Polygon',\n 'Polyline',\n 'Rect',\n 'Svg',\n 'Symbol',\n 'TSpan',\n 'Text',\n 'TextPath',\n 'Use',\n];\n\n// This function helps us determine whether given node is SVGElement or not. In our implementation of\n// findNodeHandle, we can encounter such element in 2 forms - SVG tag or ref to SVG Element. Since Gesture Handler\n// does not depend on SVG, we use our simplified SVGRef type that has `elementRef` field. This is something that is present\n// in actual SVG ref object.\n//\n// In order to make sure that node passed into this function is in fact SVG element, first we check if its constructor name\n// corresponds to one of the possible SVG elements. Then we also check if `elementRef` field exists.\n// By doing both steps we decrease probability of detecting situations where, for example, user makes custom `Circle` and\n// we treat it as SVG.\nexport function isRNSVGElement(viewRef: SVGRef | GestureHandlerRef) {\n const componentClassName = Object.getPrototypeOf(viewRef).constructor.name;\n\n return (\n RNSVGElements.indexOf(componentClassName) >= 0 &&\n Object.hasOwn(viewRef, 'elementRef')\n );\n}\n"]}
|
1
|
+
{"version":3,"names":["_PointerType","require","isPointerInBounds","view","x","y","rect","getBoundingClientRect","left","right","top","bottom","PointerTypeMapping","exports","Map","PointerType","MOUSE","TOUCH","STYLUS","OTHER","degToRad","degrees","Math","PI","coneToDeviation","cos","calculateViewScale","_RegExp$exec","styles","getComputedStyle","resultScales","scaleX","scaleY","scale","undefined","scales","split","parseFloat","matrixElements","RegExp","exec","transform","matrixElementsArray","tryExtractStylusData","event","pointerType","get","eventAzimuthAngle","azimuthAngle","eventAltitudeAngle","altitudeAngle","tiltX","tiltY","pressure","spherical2tilt","tilt2spherical","tiltXrad","tiltYrad","abs","tanX","tan","tanY","atan2","atan","sqrt","pow","radToDeg","tanAlt","sin","round","RNSVGElements","isRNSVGElement","viewRef","componentClassName","Object","getPrototypeOf","constructor","name","indexOf","hasOwn"],"sources":["utils.ts"],"sourcesContent":["import { PointerType } from '../PointerType';\nimport type {\n GestureHandlerRef,\n Point,\n StylusData,\n SVGRef,\n} from './interfaces';\n\nexport function isPointerInBounds(view: HTMLElement, { x, y }: Point): boolean {\n const rect: DOMRect = view.getBoundingClientRect();\n\n return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;\n}\n\nexport const PointerTypeMapping = new Map<string, PointerType>([\n ['mouse', PointerType.MOUSE],\n ['touch', PointerType.TOUCH],\n ['pen', PointerType.STYLUS],\n ['none', PointerType.OTHER],\n]);\n\nexport const degToRad = (degrees: number) => (degrees * Math.PI) / 180;\n\nexport const coneToDeviation = (degrees: number) =>\n Math.cos(degToRad(degrees / 2));\n\nexport function calculateViewScale(view: HTMLElement) {\n const styles = getComputedStyle(view);\n\n const resultScales = {\n scaleX: 1,\n scaleY: 1,\n };\n\n // Get scales from scale property\n if (styles.scale !== undefined && styles.scale !== 'none') {\n const scales = styles.scale.split(' ');\n\n if (scales[0]) {\n resultScales.scaleX = parseFloat(scales[0]);\n }\n\n resultScales.scaleY = scales[1]\n ? parseFloat(scales[1])\n : parseFloat(scales[0]);\n }\n\n // Get scales from transform property\n const matrixElements = new RegExp(/matrix\\((.+)\\)/).exec(\n styles.transform\n )?.[1];\n\n if (matrixElements) {\n const matrixElementsArray = matrixElements.split(', ');\n\n resultScales.scaleX *= parseFloat(matrixElementsArray[0]);\n resultScales.scaleY *= parseFloat(matrixElementsArray[3]);\n }\n\n return resultScales;\n}\n\nexport function tryExtractStylusData(\n event: PointerEvent\n): StylusData | undefined {\n const pointerType = PointerTypeMapping.get(event.pointerType);\n\n if (pointerType !== PointerType.STYLUS) {\n return;\n }\n\n // @ts-ignore This property exists (https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent#instance_properties)\n const eventAzimuthAngle: number | undefined = event.azimuthAngle;\n // @ts-ignore This property exists (https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent#instance_properties)\n const eventAltitudeAngle: number | undefined = event.altitudeAngle;\n\n if (event.tiltX === 0 && event.tiltY === 0) {\n // If we are in this branch, it means that either tilt properties are not supported and we have to calculate them from altitude and azimuth angles,\n // or stylus is perpendicular to the screen and we can use altitude / azimuth instead of tilt\n\n // If azimuth and altitude are undefined in this branch, it means that we are either perpendicular to the screen,\n // or that none of the position sets is supported. In that case, we can treat stylus as perpendicular\n if (eventAzimuthAngle === undefined || eventAltitudeAngle === undefined) {\n return {\n tiltX: 0,\n tiltY: 0,\n azimuthAngle: Math.PI / 2,\n altitudeAngle: Math.PI / 2,\n pressure: event.pressure,\n };\n }\n\n const { tiltX, tiltY } = spherical2tilt(\n eventAltitudeAngle,\n eventAzimuthAngle\n );\n\n return {\n tiltX,\n tiltY,\n azimuthAngle: eventAzimuthAngle,\n altitudeAngle: eventAltitudeAngle,\n pressure: event.pressure,\n };\n }\n\n const { altitudeAngle, azimuthAngle } = tilt2spherical(\n event.tiltX,\n event.tiltY\n );\n\n return {\n tiltX: event.tiltX,\n tiltY: event.tiltY,\n azimuthAngle,\n altitudeAngle,\n pressure: event.pressure,\n };\n}\n\n// `altitudeAngle` and `azimuthAngle` are experimental properties, which are not supported on Firefox and Safari.\n// Given that, we use `tilt` properties and algorithm that converts one value to another.\n//\n// Source: https://w3c.github.io/pointerevents/#converting-between-tiltx-tilty-and-altitudeangle-azimuthangle\nfunction tilt2spherical(tiltX: number, tiltY: number) {\n const tiltXrad = (tiltX * Math.PI) / 180;\n const tiltYrad = (tiltY * Math.PI) / 180;\n\n // calculate azimuth angle\n let azimuthAngle = 0;\n\n if (tiltX === 0) {\n if (tiltY > 0) {\n azimuthAngle = Math.PI / 2;\n } else if (tiltY < 0) {\n azimuthAngle = (3 * Math.PI) / 2;\n }\n } else if (tiltY === 0) {\n if (tiltX < 0) {\n azimuthAngle = Math.PI;\n }\n } else if (Math.abs(tiltX) === 90 || Math.abs(tiltY) === 90) {\n // not enough information to calculate azimuth\n azimuthAngle = 0;\n } else {\n // Non-boundary case: neither tiltX nor tiltY is equal to 0 or +-90\n const tanX = Math.tan(tiltXrad);\n const tanY = Math.tan(tiltYrad);\n\n azimuthAngle = Math.atan2(tanY, tanX);\n if (azimuthAngle < 0) {\n azimuthAngle += 2 * Math.PI;\n }\n }\n\n // calculate altitude angle\n let altitudeAngle = 0;\n\n if (Math.abs(tiltX) === 90 || Math.abs(tiltY) === 90) {\n altitudeAngle = 0;\n } else if (tiltX === 0) {\n altitudeAngle = Math.PI / 2 - Math.abs(tiltYrad);\n } else if (tiltY === 0) {\n altitudeAngle = Math.PI / 2 - Math.abs(tiltXrad);\n } else {\n // Non-boundary case: neither tiltX nor tiltY is equal to 0 or +-90\n altitudeAngle = Math.atan(\n 1.0 /\n Math.sqrt(\n Math.pow(Math.tan(tiltXrad), 2) + Math.pow(Math.tan(tiltYrad), 2)\n )\n );\n }\n\n return { altitudeAngle: altitudeAngle, azimuthAngle: azimuthAngle };\n}\n\n// If we are on a platform that doesn't support `tiltX` and `tiltY`, we have to calculate them from `altitude` and `azimuth` angles.\n//\n// Source: https://w3c.github.io/pointerevents/#converting-between-tiltx-tilty-and-altitudeangle-azimuthangle\nfunction spherical2tilt(altitudeAngle: number, azimuthAngle: number) {\n const radToDeg = 180 / Math.PI;\n\n let tiltXrad = 0;\n let tiltYrad = 0;\n\n if (altitudeAngle === 0) {\n // the pen is in the X-Y plane\n if (azimuthAngle === 0 || azimuthAngle === 2 * Math.PI) {\n // pen is on positive X axis\n tiltXrad = Math.PI / 2;\n }\n if (azimuthAngle === Math.PI / 2) {\n // pen is on positive Y axis\n tiltYrad = Math.PI / 2;\n }\n if (azimuthAngle === Math.PI) {\n // pen is on negative X axis\n tiltXrad = -Math.PI / 2;\n }\n if (azimuthAngle === (3 * Math.PI) / 2) {\n // pen is on negative Y axis\n tiltYrad = -Math.PI / 2;\n }\n if (azimuthAngle > 0 && azimuthAngle < Math.PI / 2) {\n tiltXrad = Math.PI / 2;\n tiltYrad = Math.PI / 2;\n }\n if (azimuthAngle > Math.PI / 2 && azimuthAngle < Math.PI) {\n tiltXrad = -Math.PI / 2;\n tiltYrad = Math.PI / 2;\n }\n if (azimuthAngle > Math.PI && azimuthAngle < (3 * Math.PI) / 2) {\n tiltXrad = -Math.PI / 2;\n tiltYrad = -Math.PI / 2;\n }\n if (azimuthAngle > (3 * Math.PI) / 2 && azimuthAngle < 2 * Math.PI) {\n tiltXrad = Math.PI / 2;\n tiltYrad = -Math.PI / 2;\n }\n }\n\n if (altitudeAngle !== 0) {\n const tanAlt = Math.tan(altitudeAngle);\n\n tiltXrad = Math.atan(Math.cos(azimuthAngle) / tanAlt);\n tiltYrad = Math.atan(Math.sin(azimuthAngle) / tanAlt);\n }\n\n const tiltX = Math.round(tiltXrad * radToDeg);\n const tiltY = Math.round(tiltYrad * radToDeg);\n\n return { tiltX, tiltY };\n}\n\nconst RNSVGElements = [\n 'Circle',\n 'ClipPath',\n 'Ellipse',\n 'ForeignObject',\n 'G',\n 'Image',\n 'Line',\n 'Marker',\n 'Mask',\n 'Path',\n 'Pattern',\n 'Polygon',\n 'Polyline',\n 'Rect',\n 'Svg',\n 'Symbol',\n 'TSpan',\n 'Text',\n 'TextPath',\n 'Use',\n];\n\n// This function helps us determine whether given node is SVGElement or not. In our implementation of\n// findNodeHandle, we can encounter such element in 2 forms - SVG tag or ref to SVG Element. Since Gesture Handler\n// does not depend on SVG, we use our simplified SVGRef type that has `elementRef` field. This is something that is present\n// in actual SVG ref object.\n//\n// In order to make sure that node passed into this function is in fact SVG element, first we check if its constructor name\n// corresponds to one of the possible SVG elements. Then we also check if `elementRef` field exists.\n// By doing both steps we decrease probability of detecting situations where, for example, user makes custom `Circle` and\n// we treat it as SVG.\nexport function isRNSVGElement(viewRef: SVGRef | GestureHandlerRef) {\n const componentClassName = Object.getPrototypeOf(viewRef).constructor.name;\n\n return (\n RNSVGElements.indexOf(componentClassName) >= 0 &&\n Object.hasOwn(viewRef, 'elementRef')\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -4,25 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
|
-
|
8
7
|
var _GestureHandler = _interopRequireDefault(require("./GestureHandler"));
|
9
|
-
|
10
8
|
var _utils = require("./utils");
|
11
|
-
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13
|
-
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
14
10
|
/* eslint-disable eslint-comments/no-unlimited-disable */
|
15
|
-
|
16
11
|
/* eslint-disable */
|
12
|
+
|
17
13
|
class DiscreteGestureHandler extends _GestureHandler.default {
|
18
14
|
get isDiscrete() {
|
19
15
|
return true;
|
20
16
|
}
|
21
|
-
|
22
17
|
get shouldEnableGestureOnSetup() {
|
23
18
|
return true;
|
24
19
|
}
|
25
|
-
|
26
20
|
shouldFailUnderCustomCriteria({
|
27
21
|
x,
|
28
22
|
y,
|
@@ -42,10 +36,8 @@ class DiscreteGestureHandler extends _GestureHandler.default {
|
|
42
36
|
return true;
|
43
37
|
}
|
44
38
|
}
|
45
|
-
|
46
39
|
return (0, _utils.TEST_MAX_IF_NOT_NAN)(Math.abs(deltaX), maxDeltaX) || (0, _utils.TEST_MAX_IF_NOT_NAN)(Math.abs(deltaY), maxDeltaY) || (0, _utils.TEST_MAX_IF_NOT_NAN)(Math.abs(deltaY * deltaY + deltaX * deltaX), maxDistSq);
|
47
40
|
}
|
48
|
-
|
49
41
|
transformNativeEvent({
|
50
42
|
center: {
|
51
43
|
x,
|
@@ -61,7 +53,6 @@ class DiscreteGestureHandler extends _GestureHandler.default {
|
|
61
53
|
y: y - rect.top
|
62
54
|
};
|
63
55
|
}
|
64
|
-
|
65
56
|
isGestureEnabledForEvent({
|
66
57
|
minPointers,
|
67
58
|
maxPointers,
|
@@ -76,8 +67,8 @@ class DiscreteGestureHandler extends _GestureHandler.default {
|
|
76
67
|
deltaY
|
77
68
|
}) {
|
78
69
|
const validPointerCount = pointerLength >= minPointers && pointerLength <= maxPointers;
|
79
|
-
|
80
|
-
|
70
|
+
if (this.shouldFailUnderCustomCriteria({
|
71
|
+
...center,
|
81
72
|
deltaX,
|
82
73
|
deltaY
|
83
74
|
}, {
|
@@ -85,21 +76,18 @@ class DiscreteGestureHandler extends _GestureHandler.default {
|
|
85
76
|
maxDeltaY,
|
86
77
|
maxDistSq,
|
87
78
|
shouldCancelWhenOutside
|
88
|
-
}) ||
|
79
|
+
}) ||
|
80
|
+
// A user probably won't land a multi-pointer tap on the first tick (so we cannot just cancel each time)
|
89
81
|
// but if the gesture is running and the user adds or subtracts another pointer then it should fail.
|
90
82
|
!validPointerCount && this.isGestureRunning) {
|
91
83
|
return {
|
92
84
|
failed: true
|
93
85
|
};
|
94
86
|
}
|
95
|
-
|
96
87
|
return {
|
97
88
|
success: validPointerCount
|
98
89
|
};
|
99
90
|
}
|
100
|
-
|
101
91
|
}
|
102
|
-
|
103
|
-
var _default = DiscreteGestureHandler;
|
104
|
-
exports.default = _default;
|
92
|
+
var _default = exports.default = DiscreteGestureHandler;
|
105
93
|
//# sourceMappingURL=DiscreteGestureHandler.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["_GestureHandler","_interopRequireDefault","require","_utils","e","__esModule","default","DiscreteGestureHandler","GestureHandler","isDiscrete","shouldEnableGestureOnSetup","shouldFailUnderCustomCriteria","x","y","deltaX","deltaY","maxDeltaX","maxDeltaY","maxDistSq","shouldCancelWhenOutside","isPointInView","TEST_MAX_IF_NOT_NAN","Math","abs","transformNativeEvent","center","rect","view","getBoundingClientRect","absoluteX","absoluteY","left","top","isGestureEnabledForEvent","minPointers","maxPointers","_recognizer","pointerLength","validPointerCount","isGestureRunning","failed","success","_default","exports"],"sources":["DiscreteGestureHandler.ts"],"sourcesContent":["/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport GestureHandler from './GestureHandler';\nimport { TEST_MAX_IF_NOT_NAN } from './utils';\n\nabstract class DiscreteGestureHandler extends GestureHandler {\n get isDiscrete() {\n return true;\n }\n\n get shouldEnableGestureOnSetup() {\n return true;\n }\n\n shouldFailUnderCustomCriteria(\n { x, y, deltaX, deltaY }: any,\n { maxDeltaX, maxDeltaY, maxDistSq, shouldCancelWhenOutside }: any\n ) {\n if (shouldCancelWhenOutside) {\n if (!this.isPointInView({ x, y })) {\n return true;\n }\n }\n return (\n TEST_MAX_IF_NOT_NAN(Math.abs(deltaX), maxDeltaX) ||\n TEST_MAX_IF_NOT_NAN(Math.abs(deltaY), maxDeltaY) ||\n TEST_MAX_IF_NOT_NAN(\n Math.abs(deltaY * deltaY + deltaX * deltaX),\n maxDistSq\n )\n );\n }\n\n transformNativeEvent({ center: { x, y } }: any) {\n // @ts-ignore FIXME(TS)\n const rect = this.view!.getBoundingClientRect();\n\n return {\n absoluteX: x,\n absoluteY: y,\n x: x - rect.left,\n y: y - rect.top,\n };\n }\n\n isGestureEnabledForEvent(\n {\n minPointers,\n maxPointers,\n maxDeltaX,\n maxDeltaY,\n maxDistSq,\n shouldCancelWhenOutside,\n }: any,\n _recognizer: any,\n { maxPointers: pointerLength, center, deltaX, deltaY }: any\n ) {\n const validPointerCount =\n pointerLength >= minPointers && pointerLength <= maxPointers;\n\n if (\n this.shouldFailUnderCustomCriteria(\n { ...center, deltaX, deltaY },\n {\n maxDeltaX,\n maxDeltaY,\n maxDistSq,\n shouldCancelWhenOutside,\n }\n ) ||\n // A user probably won't land a multi-pointer tap on the first tick (so we cannot just cancel each time)\n // but if the gesture is running and the user adds or subtracts another pointer then it should fail.\n (!validPointerCount && this.isGestureRunning)\n ) {\n return { failed: true };\n }\n\n return { success: validPointerCount };\n }\n}\n\nexport default DiscreteGestureHandler;\n"],"mappings":";;;;;;AAEA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAA8C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAH9C;AACA;;AAIA,MAAeG,sBAAsB,SAASC,uBAAc,CAAC;EAC3D,IAAIC,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI;EACb;EAEA,IAAIC,0BAA0BA,CAAA,EAAG;IAC/B,OAAO,IAAI;EACb;EAEAC,6BAA6BA,CAC3B;IAAEC,CAAC;IAAEC,CAAC;IAAEC,MAAM;IAAEC;EAAY,CAAC,EAC7B;IAAEC,SAAS;IAAEC,SAAS;IAAEC,SAAS;IAAEC;EAA6B,CAAC,EACjE;IACA,IAAIA,uBAAuB,EAAE;MAC3B,IAAI,CAAC,IAAI,CAACC,aAAa,CAAC;QAAER,CAAC;QAAEC;MAAE,CAAC,CAAC,EAAE;QACjC,OAAO,IAAI;MACb;IACF;IACA,OACE,IAAAQ,0BAAmB,EAACC,IAAI,CAACC,GAAG,CAACT,MAAM,CAAC,EAAEE,SAAS,CAAC,IAChD,IAAAK,0BAAmB,EAACC,IAAI,CAACC,GAAG,CAACR,MAAM,CAAC,EAAEE,SAAS,CAAC,IAChD,IAAAI,0BAAmB,EACjBC,IAAI,CAACC,GAAG,CAACR,MAAM,GAAGA,MAAM,GAAGD,MAAM,GAAGA,MAAM,CAAC,EAC3CI,SACF,CAAC;EAEL;EAEAM,oBAAoBA,CAAC;IAAEC,MAAM,EAAE;MAAEb,CAAC;MAAEC;IAAE;EAAO,CAAC,EAAE;IAC9C;IACA,MAAMa,IAAI,GAAG,IAAI,CAACC,IAAI,CAAEC,qBAAqB,CAAC,CAAC;IAE/C,OAAO;MACLC,SAAS,EAAEjB,CAAC;MACZkB,SAAS,EAAEjB,CAAC;MACZD,CAAC,EAAEA,CAAC,GAAGc,IAAI,CAACK,IAAI;MAChBlB,CAAC,EAAEA,CAAC,GAAGa,IAAI,CAACM;IACd,CAAC;EACH;EAEAC,wBAAwBA,CACtB;IACEC,WAAW;IACXC,WAAW;IACXnB,SAAS;IACTC,SAAS;IACTC,SAAS;IACTC;EACG,CAAC,EACNiB,WAAgB,EAChB;IAAED,WAAW,EAAEE,aAAa;IAAEZ,MAAM;IAAEX,MAAM;IAAEC;EAAY,CAAC,EAC3D;IACA,MAAMuB,iBAAiB,GACrBD,aAAa,IAAIH,WAAW,IAAIG,aAAa,IAAIF,WAAW;IAE9D,IACE,IAAI,CAACxB,6BAA6B,CAChC;MAAE,GAAGc,MAAM;MAAEX,MAAM;MAAEC;IAAO,CAAC,EAC7B;MACEC,SAAS;MACTC,SAAS;MACTC,SAAS;MACTC;IACF,CACF,CAAC;IACD;IACA;IACC,CAACmB,iBAAiB,IAAI,IAAI,CAACC,gBAAiB,EAC7C;MACA,OAAO;QAAEC,MAAM,EAAE;MAAK,CAAC;IACzB;IAEA,OAAO;MAAEC,OAAO,EAAEH;IAAkB,CAAC;EACvC;AACF;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAArC,OAAA,GAEcC,sBAAsB","ignoreList":[]}
|
@@ -4,21 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
|
-
|
8
7
|
var _GestureHandler = _interopRequireDefault(require("./GestureHandler"));
|
9
|
-
|
10
8
|
var _reactNative = require("react-native");
|
11
|
-
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13
|
-
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
14
10
|
/* eslint-disable eslint-comments/no-unlimited-disable */
|
15
|
-
|
16
11
|
/* eslint-disable */
|
12
|
+
|
17
13
|
class DraggingGestureHandler extends _GestureHandler.default {
|
18
14
|
get shouldEnableGestureOnSetup() {
|
19
15
|
return true;
|
20
16
|
}
|
21
|
-
|
22
17
|
transformNativeEvent({
|
23
18
|
deltaX,
|
24
19
|
deltaY,
|
@@ -31,9 +26,7 @@ class DraggingGestureHandler extends _GestureHandler.default {
|
|
31
26
|
}) {
|
32
27
|
// @ts-ignore FIXME(TS)
|
33
28
|
const rect = this.view.getBoundingClientRect();
|
34
|
-
|
35
29
|
const ratio = _reactNative.PixelRatio.get();
|
36
|
-
|
37
30
|
return {
|
38
31
|
translationX: deltaX - (this.__initialX || 0),
|
39
32
|
translationY: deltaY - (this.__initialY || 0),
|
@@ -45,9 +38,6 @@ class DraggingGestureHandler extends _GestureHandler.default {
|
|
45
38
|
y: y - rect.top
|
46
39
|
};
|
47
40
|
}
|
48
|
-
|
49
41
|
}
|
50
|
-
|
51
|
-
var _default = DraggingGestureHandler;
|
52
|
-
exports.default = _default;
|
42
|
+
var _default = exports.default = DraggingGestureHandler;
|
53
43
|
//# sourceMappingURL=DraggingGestureHandler.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["_GestureHandler","_interopRequireDefault","require","_reactNative","e","__esModule","default","DraggingGestureHandler","GestureHandler","shouldEnableGestureOnSetup","transformNativeEvent","deltaX","deltaY","velocityX","velocityY","center","x","y","rect","view","getBoundingClientRect","ratio","PixelRatio","get","translationX","__initialX","translationY","__initialY","absoluteX","absoluteY","left","top","_default","exports"],"sources":["DraggingGestureHandler.ts"],"sourcesContent":["/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport GestureHandler, { HammerInputExt } from './GestureHandler';\nimport { PixelRatio } from 'react-native';\n\nabstract class DraggingGestureHandler extends GestureHandler {\n get shouldEnableGestureOnSetup() {\n return true;\n }\n\n transformNativeEvent({\n deltaX,\n deltaY,\n velocityX,\n velocityY,\n center: { x, y },\n }: HammerInputExt) {\n // @ts-ignore FIXME(TS)\n const rect = this.view!.getBoundingClientRect();\n const ratio = PixelRatio.get();\n return {\n translationX: deltaX - (this.__initialX || 0),\n translationY: deltaY - (this.__initialY || 0),\n absoluteX: x,\n absoluteY: y,\n velocityX: velocityX * ratio,\n velocityY: velocityY * ratio,\n x: x - rect.left,\n y: y - rect.top,\n };\n }\n}\n\nexport default DraggingGestureHandler;\n"],"mappings":";;;;;;AAEA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAA0C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAH1C;AACA;;AAIA,MAAeG,sBAAsB,SAASC,uBAAc,CAAC;EAC3D,IAAIC,0BAA0BA,CAAA,EAAG;IAC/B,OAAO,IAAI;EACb;EAEAC,oBAAoBA,CAAC;IACnBC,MAAM;IACNC,MAAM;IACNC,SAAS;IACTC,SAAS;IACTC,MAAM,EAAE;MAAEC,CAAC;MAAEC;IAAE;EACD,CAAC,EAAE;IACjB;IACA,MAAMC,IAAI,GAAG,IAAI,CAACC,IAAI,CAAEC,qBAAqB,CAAC,CAAC;IAC/C,MAAMC,KAAK,GAAGC,uBAAU,CAACC,GAAG,CAAC,CAAC;IAC9B,OAAO;MACLC,YAAY,EAAEb,MAAM,IAAI,IAAI,CAACc,UAAU,IAAI,CAAC,CAAC;MAC7CC,YAAY,EAAEd,MAAM,IAAI,IAAI,CAACe,UAAU,IAAI,CAAC,CAAC;MAC7CC,SAAS,EAAEZ,CAAC;MACZa,SAAS,EAAEZ,CAAC;MACZJ,SAAS,EAAEA,SAAS,GAAGQ,KAAK;MAC5BP,SAAS,EAAEA,SAAS,GAAGO,KAAK;MAC5BL,CAAC,EAAEA,CAAC,GAAGE,IAAI,CAACY,IAAI;MAChBb,CAAC,EAAEA,CAAC,GAAGC,IAAI,CAACa;IACd,CAAC;EACH;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA3B,OAAA,GAEcC,sBAAsB","ignoreList":[]}
|
@@ -4,13 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.GesturePropError = void 0;
|
7
|
-
|
8
7
|
class GesturePropError extends Error {
|
9
8
|
constructor(name, value, expectedType) {
|
10
9
|
super(`Invalid property \`${name}: ${value}\` expected \`${expectedType}\``);
|
11
10
|
}
|
12
|
-
|
13
11
|
}
|
14
|
-
|
15
12
|
exports.GesturePropError = GesturePropError;
|
16
13
|
//# sourceMappingURL=Errors.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["GesturePropError","Error","constructor","name","value","expectedType","exports"],"sources":["Errors.ts"],"sourcesContent":["export class GesturePropError extends Error {\n constructor(name: string, value: unknown, expectedType: string) {\n super(\n `Invalid property \\`${name}: ${value}\\` expected \\`${expectedType}\\``\n );\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,gBAAgB,SAASC,KAAK,CAAC;EAC1CC,WAAWA,CAACC,IAAY,EAAEC,KAAc,EAAEC,YAAoB,EAAE;IAC9D,KAAK,CACH,sBAAsBF,IAAI,KAAKC,KAAK,iBAAiBC,YAAY,IACnE,CAAC;EACH;AACF;AAACC,OAAA,CAAAN,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|