react-native-gesture-handler 2.22.1 → 2.23.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/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 +61 -59
- 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 +17 -27
- 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 +57 -44
- 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 +12 -17
- 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 +97 -66
- 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/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
package/lib/module/web/utils.js
CHANGED
|
@@ -11,49 +11,44 @@ export const degToRad = degrees => degrees * Math.PI / 180;
|
|
|
11
11
|
export const coneToDeviation = degrees => Math.cos(degToRad(degrees / 2));
|
|
12
12
|
export function calculateViewScale(view) {
|
|
13
13
|
var _RegExp$exec;
|
|
14
|
-
|
|
15
14
|
const styles = getComputedStyle(view);
|
|
16
15
|
const resultScales = {
|
|
17
16
|
scaleX: 1,
|
|
18
17
|
scaleY: 1
|
|
19
|
-
};
|
|
18
|
+
};
|
|
20
19
|
|
|
20
|
+
// Get scales from scale property
|
|
21
21
|
if (styles.scale !== undefined && styles.scale !== 'none') {
|
|
22
22
|
const scales = styles.scale.split(' ');
|
|
23
|
-
|
|
24
23
|
if (scales[0]) {
|
|
25
24
|
resultScales.scaleX = parseFloat(scales[0]);
|
|
26
25
|
}
|
|
27
|
-
|
|
28
26
|
resultScales.scaleY = scales[1] ? parseFloat(scales[1]) : parseFloat(scales[0]);
|
|
29
|
-
}
|
|
30
|
-
|
|
27
|
+
}
|
|
31
28
|
|
|
29
|
+
// Get scales from transform property
|
|
32
30
|
const matrixElements = (_RegExp$exec = new RegExp(/matrix\((.+)\)/).exec(styles.transform)) === null || _RegExp$exec === void 0 ? void 0 : _RegExp$exec[1];
|
|
33
|
-
|
|
34
31
|
if (matrixElements) {
|
|
35
32
|
const matrixElementsArray = matrixElements.split(', ');
|
|
36
33
|
resultScales.scaleX *= parseFloat(matrixElementsArray[0]);
|
|
37
34
|
resultScales.scaleY *= parseFloat(matrixElementsArray[3]);
|
|
38
35
|
}
|
|
39
|
-
|
|
40
36
|
return resultScales;
|
|
41
37
|
}
|
|
42
38
|
export function tryExtractStylusData(event) {
|
|
43
39
|
const pointerType = PointerTypeMapping.get(event.pointerType);
|
|
44
|
-
|
|
45
40
|
if (pointerType !== PointerType.STYLUS) {
|
|
46
41
|
return;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const eventAzimuthAngle = event.azimuthAngle; // @ts-ignore This property exists (https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent#instance_properties)
|
|
42
|
+
}
|
|
51
43
|
|
|
44
|
+
// @ts-ignore This property exists (https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent#instance_properties)
|
|
45
|
+
const eventAzimuthAngle = event.azimuthAngle;
|
|
46
|
+
// @ts-ignore This property exists (https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent#instance_properties)
|
|
52
47
|
const eventAltitudeAngle = event.altitudeAngle;
|
|
53
|
-
|
|
54
48
|
if (event.tiltX === 0 && event.tiltY === 0) {
|
|
55
49
|
// 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,
|
|
56
50
|
// or stylus is perpendicular to the screen and we can use altitude / azimuth instead of tilt
|
|
51
|
+
|
|
57
52
|
// If azimuth and altitude are undefined in this branch, it means that we are either perpendicular to the screen,
|
|
58
53
|
// or that none of the position sets is supported. In that case, we can treat stylus as perpendicular
|
|
59
54
|
if (eventAzimuthAngle === undefined || eventAltitudeAngle === undefined) {
|
|
@@ -65,7 +60,6 @@ export function tryExtractStylusData(event) {
|
|
|
65
60
|
pressure: event.pressure
|
|
66
61
|
};
|
|
67
62
|
}
|
|
68
|
-
|
|
69
63
|
const {
|
|
70
64
|
tiltX,
|
|
71
65
|
tiltY
|
|
@@ -78,7 +72,6 @@ export function tryExtractStylusData(event) {
|
|
|
78
72
|
pressure: event.pressure
|
|
79
73
|
};
|
|
80
74
|
}
|
|
81
|
-
|
|
82
75
|
const {
|
|
83
76
|
altitudeAngle,
|
|
84
77
|
azimuthAngle
|
|
@@ -90,17 +83,18 @@ export function tryExtractStylusData(event) {
|
|
|
90
83
|
altitudeAngle,
|
|
91
84
|
pressure: event.pressure
|
|
92
85
|
};
|
|
93
|
-
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// `altitudeAngle` and `azimuthAngle` are experimental properties, which are not supported on Firefox and Safari.
|
|
94
89
|
// Given that, we use `tilt` properties and algorithm that converts one value to another.
|
|
95
90
|
//
|
|
96
91
|
// Source: https://w3c.github.io/pointerevents/#converting-between-tiltx-tilty-and-altitudeangle-azimuthangle
|
|
97
|
-
|
|
98
92
|
function tilt2spherical(tiltX, tiltY) {
|
|
99
93
|
const tiltXrad = tiltX * Math.PI / 180;
|
|
100
|
-
const tiltYrad = tiltY * Math.PI / 180;
|
|
94
|
+
const tiltYrad = tiltY * Math.PI / 180;
|
|
101
95
|
|
|
96
|
+
// calculate azimuth angle
|
|
102
97
|
let azimuthAngle = 0;
|
|
103
|
-
|
|
104
98
|
if (tiltX === 0) {
|
|
105
99
|
if (tiltY > 0) {
|
|
106
100
|
azimuthAngle = Math.PI / 2;
|
|
@@ -119,15 +113,13 @@ function tilt2spherical(tiltX, tiltY) {
|
|
|
119
113
|
const tanX = Math.tan(tiltXrad);
|
|
120
114
|
const tanY = Math.tan(tiltYrad);
|
|
121
115
|
azimuthAngle = Math.atan2(tanY, tanX);
|
|
122
|
-
|
|
123
116
|
if (azimuthAngle < 0) {
|
|
124
117
|
azimuthAngle += 2 * Math.PI;
|
|
125
118
|
}
|
|
126
|
-
}
|
|
127
|
-
|
|
119
|
+
}
|
|
128
120
|
|
|
121
|
+
// calculate altitude angle
|
|
129
122
|
let altitudeAngle = 0;
|
|
130
|
-
|
|
131
123
|
if (Math.abs(tiltX) === 90 || Math.abs(tiltY) === 90) {
|
|
132
124
|
altitudeAngle = 0;
|
|
133
125
|
} else if (tiltX === 0) {
|
|
@@ -138,70 +130,59 @@ function tilt2spherical(tiltX, tiltY) {
|
|
|
138
130
|
// Non-boundary case: neither tiltX nor tiltY is equal to 0 or +-90
|
|
139
131
|
altitudeAngle = Math.atan(1.0 / Math.sqrt(Math.pow(Math.tan(tiltXrad), 2) + Math.pow(Math.tan(tiltYrad), 2)));
|
|
140
132
|
}
|
|
141
|
-
|
|
142
133
|
return {
|
|
143
134
|
altitudeAngle: altitudeAngle,
|
|
144
135
|
azimuthAngle: azimuthAngle
|
|
145
136
|
};
|
|
146
|
-
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// If we are on a platform that doesn't support `tiltX` and `tiltY`, we have to calculate them from `altitude` and `azimuth` angles.
|
|
147
140
|
//
|
|
148
141
|
// Source: https://w3c.github.io/pointerevents/#converting-between-tiltx-tilty-and-altitudeangle-azimuthangle
|
|
149
|
-
|
|
150
|
-
|
|
151
142
|
function spherical2tilt(altitudeAngle, azimuthAngle) {
|
|
152
143
|
const radToDeg = 180 / Math.PI;
|
|
153
144
|
let tiltXrad = 0;
|
|
154
145
|
let tiltYrad = 0;
|
|
155
|
-
|
|
156
146
|
if (altitudeAngle === 0) {
|
|
157
147
|
// the pen is in the X-Y plane
|
|
158
148
|
if (azimuthAngle === 0 || azimuthAngle === 2 * Math.PI) {
|
|
159
149
|
// pen is on positive X axis
|
|
160
150
|
tiltXrad = Math.PI / 2;
|
|
161
151
|
}
|
|
162
|
-
|
|
163
152
|
if (azimuthAngle === Math.PI / 2) {
|
|
164
153
|
// pen is on positive Y axis
|
|
165
154
|
tiltYrad = Math.PI / 2;
|
|
166
155
|
}
|
|
167
|
-
|
|
168
156
|
if (azimuthAngle === Math.PI) {
|
|
169
157
|
// pen is on negative X axis
|
|
170
158
|
tiltXrad = -Math.PI / 2;
|
|
171
159
|
}
|
|
172
|
-
|
|
173
160
|
if (azimuthAngle === 3 * Math.PI / 2) {
|
|
174
161
|
// pen is on negative Y axis
|
|
175
162
|
tiltYrad = -Math.PI / 2;
|
|
176
163
|
}
|
|
177
|
-
|
|
178
164
|
if (azimuthAngle > 0 && azimuthAngle < Math.PI / 2) {
|
|
179
165
|
tiltXrad = Math.PI / 2;
|
|
180
166
|
tiltYrad = Math.PI / 2;
|
|
181
167
|
}
|
|
182
|
-
|
|
183
168
|
if (azimuthAngle > Math.PI / 2 && azimuthAngle < Math.PI) {
|
|
184
169
|
tiltXrad = -Math.PI / 2;
|
|
185
170
|
tiltYrad = Math.PI / 2;
|
|
186
171
|
}
|
|
187
|
-
|
|
188
172
|
if (azimuthAngle > Math.PI && azimuthAngle < 3 * Math.PI / 2) {
|
|
189
173
|
tiltXrad = -Math.PI / 2;
|
|
190
174
|
tiltYrad = -Math.PI / 2;
|
|
191
175
|
}
|
|
192
|
-
|
|
193
176
|
if (azimuthAngle > 3 * Math.PI / 2 && azimuthAngle < 2 * Math.PI) {
|
|
194
177
|
tiltXrad = Math.PI / 2;
|
|
195
178
|
tiltYrad = -Math.PI / 2;
|
|
196
179
|
}
|
|
197
180
|
}
|
|
198
|
-
|
|
199
181
|
if (altitudeAngle !== 0) {
|
|
200
182
|
const tanAlt = Math.tan(altitudeAngle);
|
|
201
183
|
tiltXrad = Math.atan(Math.cos(azimuthAngle) / tanAlt);
|
|
202
184
|
tiltYrad = Math.atan(Math.sin(azimuthAngle) / tanAlt);
|
|
203
185
|
}
|
|
204
|
-
|
|
205
186
|
const tiltX = Math.round(tiltXrad * radToDeg);
|
|
206
187
|
const tiltY = Math.round(tiltYrad * radToDeg);
|
|
207
188
|
return {
|
|
@@ -209,8 +190,9 @@ function spherical2tilt(altitudeAngle, azimuthAngle) {
|
|
|
209
190
|
tiltY
|
|
210
191
|
};
|
|
211
192
|
}
|
|
193
|
+
const RNSVGElements = ['Circle', 'ClipPath', 'Ellipse', 'ForeignObject', 'G', 'Image', 'Line', 'Marker', 'Mask', 'Path', 'Pattern', 'Polygon', 'Polyline', 'Rect', 'Svg', 'Symbol', 'TSpan', 'Text', 'TextPath', 'Use'];
|
|
212
194
|
|
|
213
|
-
|
|
195
|
+
// This function helps us determine whether given node is SVGElement or not. In our implementation of
|
|
214
196
|
// findNodeHandle, we can encounter such element in 2 forms - SVG tag or ref to SVG Element. Since Gesture Handler
|
|
215
197
|
// does not depend on SVG, we use our simplified SVGRef type that has `elementRef` field. This is something that is present
|
|
216
198
|
// in actual SVG ref object.
|
|
@@ -219,7 +201,6 @@ const RNSVGElements = ['Circle', 'ClipPath', 'Ellipse', 'ForeignObject', 'G', 'I
|
|
|
219
201
|
// corresponds to one of the possible SVG elements. Then we also check if `elementRef` field exists.
|
|
220
202
|
// By doing both steps we decrease probability of detecting situations where, for example, user makes custom `Circle` and
|
|
221
203
|
// we treat it as SVG.
|
|
222
|
-
|
|
223
204
|
export function isRNSVGElement(viewRef) {
|
|
224
205
|
const componentClassName = Object.getPrototypeOf(viewRef).constructor.name;
|
|
225
206
|
return RNSVGElements.indexOf(componentClassName) >= 0 && Object.hasOwn(viewRef, 'elementRef');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["utils.ts"],"names":["PointerType","isPointerInBounds","view","x","y","rect","getBoundingClientRect","left","right","top","bottom","PointerTypeMapping","Map","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":"AAAA,SAASA,WAAT,QAA4B,gBAA5B;AAQA,OAAO,SAASC,iBAAT,CAA2BC,IAA3B,EAA8C;AAAEC,EAAAA,CAAF;AAAKC,EAAAA;AAAL,CAA9C,EAAwE;AAC7E,QAAMC,IAAa,GAAGH,IAAI,CAACI,qBAAL,EAAtB;AAEA,SAAOH,CAAC,IAAIE,IAAI,CAACE,IAAV,IAAkBJ,CAAC,IAAIE,IAAI,CAACG,KAA5B,IAAqCJ,CAAC,IAAIC,IAAI,CAACI,GAA/C,IAAsDL,CAAC,IAAIC,IAAI,CAACK,MAAvE;AACD;AAED,OAAO,MAAMC,kBAAkB,GAAG,IAAIC,GAAJ,CAA6B,CAC7D,CAAC,OAAD,EAAUZ,WAAW,CAACa,KAAtB,CAD6D,EAE7D,CAAC,OAAD,EAAUb,WAAW,CAACc,KAAtB,CAF6D,EAG7D,CAAC,KAAD,EAAQd,WAAW,CAACe,MAApB,CAH6D,EAI7D,CAAC,MAAD,EAASf,WAAW,CAACgB,KAArB,CAJ6D,CAA7B,CAA3B;AAOP,OAAO,MAAMC,QAAQ,GAAIC,OAAD,IAAsBA,OAAO,GAAGC,IAAI,CAACC,EAAhB,GAAsB,GAA5D;AAEP,OAAO,MAAMC,eAAe,GAAIH,OAAD,IAC7BC,IAAI,CAACG,GAAL,CAASL,QAAQ,CAACC,OAAO,GAAG,CAAX,CAAjB,CADK;AAGP,OAAO,SAASK,kBAAT,CAA4BrB,IAA5B,EAA+C;AAAA;;AACpD,QAAMsB,MAAM,GAAGC,gBAAgB,CAACvB,IAAD,CAA/B;AAEA,QAAMwB,YAAY,GAAG;AACnBC,IAAAA,MAAM,EAAE,CADW;AAEnBC,IAAAA,MAAM,EAAE;AAFW,GAArB,CAHoD,CAQpD;;AACA,MAAIJ,MAAM,CAACK,KAAP,KAAiBC,SAAjB,IAA8BN,MAAM,CAACK,KAAP,KAAiB,MAAnD,EAA2D;AACzD,UAAME,MAAM,GAAGP,MAAM,CAACK,KAAP,CAAaG,KAAb,CAAmB,GAAnB,CAAf;;AAEA,QAAID,MAAM,CAAC,CAAD,CAAV,EAAe;AACbL,MAAAA,YAAY,CAACC,MAAb,GAAsBM,UAAU,CAACF,MAAM,CAAC,CAAD,CAAP,CAAhC;AACD;;AAEDL,IAAAA,YAAY,CAACE,MAAb,GAAsBG,MAAM,CAAC,CAAD,CAAN,GAClBE,UAAU,CAACF,MAAM,CAAC,CAAD,CAAP,CADQ,GAElBE,UAAU,CAACF,MAAM,CAAC,CAAD,CAAP,CAFd;AAGD,GAnBmD,CAqBpD;;;AACA,QAAMG,cAAc,mBAAG,IAAIC,MAAJ,CAAW,gBAAX,EAA6BC,IAA7B,CACrBZ,MAAM,CAACa,SADc,CAAH,iDAAG,aAEnB,CAFmB,CAAvB;;AAIA,MAAIH,cAAJ,EAAoB;AAClB,UAAMI,mBAAmB,GAAGJ,cAAc,CAACF,KAAf,CAAqB,IAArB,CAA5B;AAEAN,IAAAA,YAAY,CAACC,MAAb,IAAuBM,UAAU,CAACK,mBAAmB,CAAC,CAAD,CAApB,CAAjC;AACAZ,IAAAA,YAAY,CAACE,MAAb,IAAuBK,UAAU,CAACK,mBAAmB,CAAC,CAAD,CAApB,CAAjC;AACD;;AAED,SAAOZ,YAAP;AACD;AAED,OAAO,SAASa,oBAAT,CACLC,KADK,EAEmB;AACxB,QAAMC,WAAW,GAAG9B,kBAAkB,CAAC+B,GAAnB,CAAuBF,KAAK,CAACC,WAA7B,CAApB;;AAEA,MAAIA,WAAW,KAAKzC,WAAW,CAACe,MAAhC,EAAwC;AACtC;AACD,GALuB,CAOxB;;;AACA,QAAM4B,iBAAqC,GAAGH,KAAK,CAACI,YAApD,CARwB,CASxB;;AACA,QAAMC,kBAAsC,GAAGL,KAAK,CAACM,aAArD;;AAEA,MAAIN,KAAK,CAACO,KAAN,KAAgB,CAAhB,IAAqBP,KAAK,CAACQ,KAAN,KAAgB,CAAzC,EAA4C;AAC1C;AACA;AAEA;AACA;AACA,QAAIL,iBAAiB,KAAKb,SAAtB,IAAmCe,kBAAkB,KAAKf,SAA9D,EAAyE;AACvE,aAAO;AACLiB,QAAAA,KAAK,EAAE,CADF;AAELC,QAAAA,KAAK,EAAE,CAFF;AAGLJ,QAAAA,YAAY,EAAEzB,IAAI,CAACC,EAAL,GAAU,CAHnB;AAIL0B,QAAAA,aAAa,EAAE3B,IAAI,CAACC,EAAL,GAAU,CAJpB;AAKL6B,QAAAA,QAAQ,EAAET,KAAK,CAACS;AALX,OAAP;AAOD;;AAED,UAAM;AAAEF,MAAAA,KAAF;AAASC,MAAAA;AAAT,QAAmBE,cAAc,CACrCL,kBADqC,EAErCF,iBAFqC,CAAvC;AAKA,WAAO;AACLI,MAAAA,KADK;AAELC,MAAAA,KAFK;AAGLJ,MAAAA,YAAY,EAAED,iBAHT;AAILG,MAAAA,aAAa,EAAED,kBAJV;AAKLI,MAAAA,QAAQ,EAAET,KAAK,CAACS;AALX,KAAP;AAOD;;AAED,QAAM;AAAEH,IAAAA,aAAF;AAAiBF,IAAAA;AAAjB,MAAkCO,cAAc,CACpDX,KAAK,CAACO,KAD8C,EAEpDP,KAAK,CAACQ,KAF8C,CAAtD;AAKA,SAAO;AACLD,IAAAA,KAAK,EAAEP,KAAK,CAACO,KADR;AAELC,IAAAA,KAAK,EAAER,KAAK,CAACQ,KAFR;AAGLJ,IAAAA,YAHK;AAILE,IAAAA,aAJK;AAKLG,IAAAA,QAAQ,EAAET,KAAK,CAACS;AALX,GAAP;AAOD,C,CAED;AACA;AACA;AACA;;AACA,SAASE,cAAT,CAAwBJ,KAAxB,EAAuCC,KAAvC,EAAsD;AACpD,QAAMI,QAAQ,GAAIL,KAAK,GAAG5B,IAAI,CAACC,EAAd,GAAoB,GAArC;AACA,QAAMiC,QAAQ,GAAIL,KAAK,GAAG7B,IAAI,CAACC,EAAd,GAAoB,GAArC,CAFoD,CAIpD;;AACA,MAAIwB,YAAY,GAAG,CAAnB;;AAEA,MAAIG,KAAK,KAAK,CAAd,EAAiB;AACf,QAAIC,KAAK,GAAG,CAAZ,EAAe;AACbJ,MAAAA,YAAY,GAAGzB,IAAI,CAACC,EAAL,GAAU,CAAzB;AACD,KAFD,MAEO,IAAI4B,KAAK,GAAG,CAAZ,EAAe;AACpBJ,MAAAA,YAAY,GAAI,IAAIzB,IAAI,CAACC,EAAV,GAAgB,CAA/B;AACD;AACF,GAND,MAMO,IAAI4B,KAAK,KAAK,CAAd,EAAiB;AACtB,QAAID,KAAK,GAAG,CAAZ,EAAe;AACbH,MAAAA,YAAY,GAAGzB,IAAI,CAACC,EAApB;AACD;AACF,GAJM,MAIA,IAAID,IAAI,CAACmC,GAAL,CAASP,KAAT,MAAoB,EAApB,IAA0B5B,IAAI,CAACmC,GAAL,CAASN,KAAT,MAAoB,EAAlD,EAAsD;AAC3D;AACAJ,IAAAA,YAAY,GAAG,CAAf;AACD,GAHM,MAGA;AACL;AACA,UAAMW,IAAI,GAAGpC,IAAI,CAACqC,GAAL,CAASJ,QAAT,CAAb;AACA,UAAMK,IAAI,GAAGtC,IAAI,CAACqC,GAAL,CAASH,QAAT,CAAb;AAEAT,IAAAA,YAAY,GAAGzB,IAAI,CAACuC,KAAL,CAAWD,IAAX,EAAiBF,IAAjB,CAAf;;AACA,QAAIX,YAAY,GAAG,CAAnB,EAAsB;AACpBA,MAAAA,YAAY,IAAI,IAAIzB,IAAI,CAACC,EAAzB;AACD;AACF,GA7BmD,CA+BpD;;;AACA,MAAI0B,aAAa,GAAG,CAApB;;AAEA,MAAI3B,IAAI,CAACmC,GAAL,CAASP,KAAT,MAAoB,EAApB,IAA0B5B,IAAI,CAACmC,GAAL,CAASN,KAAT,MAAoB,EAAlD,EAAsD;AACpDF,IAAAA,aAAa,GAAG,CAAhB;AACD,GAFD,MAEO,IAAIC,KAAK,KAAK,CAAd,EAAiB;AACtBD,IAAAA,aAAa,GAAG3B,IAAI,CAACC,EAAL,GAAU,CAAV,GAAcD,IAAI,CAACmC,GAAL,CAASD,QAAT,CAA9B;AACD,GAFM,MAEA,IAAIL,KAAK,KAAK,CAAd,EAAiB;AACtBF,IAAAA,aAAa,GAAG3B,IAAI,CAACC,EAAL,GAAU,CAAV,GAAcD,IAAI,CAACmC,GAAL,CAASF,QAAT,CAA9B;AACD,GAFM,MAEA;AACL;AACAN,IAAAA,aAAa,GAAG3B,IAAI,CAACwC,IAAL,CACd,MACExC,IAAI,CAACyC,IAAL,CACEzC,IAAI,CAAC0C,GAAL,CAAS1C,IAAI,CAACqC,GAAL,CAASJ,QAAT,CAAT,EAA6B,CAA7B,IAAkCjC,IAAI,CAAC0C,GAAL,CAAS1C,IAAI,CAACqC,GAAL,CAASH,QAAT,CAAT,EAA6B,CAA7B,CADpC,CAFY,CAAhB;AAMD;;AAED,SAAO;AAAEP,IAAAA,aAAa,EAAEA,aAAjB;AAAgCF,IAAAA,YAAY,EAAEA;AAA9C,GAAP;AACD,C,CAED;AACA;AACA;;;AACA,SAASM,cAAT,CAAwBJ,aAAxB,EAA+CF,YAA/C,EAAqE;AACnE,QAAMkB,QAAQ,GAAG,MAAM3C,IAAI,CAACC,EAA5B;AAEA,MAAIgC,QAAQ,GAAG,CAAf;AACA,MAAIC,QAAQ,GAAG,CAAf;;AAEA,MAAIP,aAAa,KAAK,CAAtB,EAAyB;AACvB;AACA,QAAIF,YAAY,KAAK,CAAjB,IAAsBA,YAAY,KAAK,IAAIzB,IAAI,CAACC,EAApD,EAAwD;AACtD;AACAgC,MAAAA,QAAQ,GAAGjC,IAAI,CAACC,EAAL,GAAU,CAArB;AACD;;AACD,QAAIwB,YAAY,KAAKzB,IAAI,CAACC,EAAL,GAAU,CAA/B,EAAkC;AAChC;AACAiC,MAAAA,QAAQ,GAAGlC,IAAI,CAACC,EAAL,GAAU,CAArB;AACD;;AACD,QAAIwB,YAAY,KAAKzB,IAAI,CAACC,EAA1B,EAA8B;AAC5B;AACAgC,MAAAA,QAAQ,GAAG,CAACjC,IAAI,CAACC,EAAN,GAAW,CAAtB;AACD;;AACD,QAAIwB,YAAY,KAAM,IAAIzB,IAAI,CAACC,EAAV,GAAgB,CAArC,EAAwC;AACtC;AACAiC,MAAAA,QAAQ,GAAG,CAAClC,IAAI,CAACC,EAAN,GAAW,CAAtB;AACD;;AACD,QAAIwB,YAAY,GAAG,CAAf,IAAoBA,YAAY,GAAGzB,IAAI,CAACC,EAAL,GAAU,CAAjD,EAAoD;AAClDgC,MAAAA,QAAQ,GAAGjC,IAAI,CAACC,EAAL,GAAU,CAArB;AACAiC,MAAAA,QAAQ,GAAGlC,IAAI,CAACC,EAAL,GAAU,CAArB;AACD;;AACD,QAAIwB,YAAY,GAAGzB,IAAI,CAACC,EAAL,GAAU,CAAzB,IAA8BwB,YAAY,GAAGzB,IAAI,CAACC,EAAtD,EAA0D;AACxDgC,MAAAA,QAAQ,GAAG,CAACjC,IAAI,CAACC,EAAN,GAAW,CAAtB;AACAiC,MAAAA,QAAQ,GAAGlC,IAAI,CAACC,EAAL,GAAU,CAArB;AACD;;AACD,QAAIwB,YAAY,GAAGzB,IAAI,CAACC,EAApB,IAA0BwB,YAAY,GAAI,IAAIzB,IAAI,CAACC,EAAV,GAAgB,CAA7D,EAAgE;AAC9DgC,MAAAA,QAAQ,GAAG,CAACjC,IAAI,CAACC,EAAN,GAAW,CAAtB;AACAiC,MAAAA,QAAQ,GAAG,CAAClC,IAAI,CAACC,EAAN,GAAW,CAAtB;AACD;;AACD,QAAIwB,YAAY,GAAI,IAAIzB,IAAI,CAACC,EAAV,GAAgB,CAA/B,IAAoCwB,YAAY,GAAG,IAAIzB,IAAI,CAACC,EAAhE,EAAoE;AAClEgC,MAAAA,QAAQ,GAAGjC,IAAI,CAACC,EAAL,GAAU,CAArB;AACAiC,MAAAA,QAAQ,GAAG,CAAClC,IAAI,CAACC,EAAN,GAAW,CAAtB;AACD;AACF;;AAED,MAAI0B,aAAa,KAAK,CAAtB,EAAyB;AACvB,UAAMiB,MAAM,GAAG5C,IAAI,CAACqC,GAAL,CAASV,aAAT,CAAf;AAEAM,IAAAA,QAAQ,GAAGjC,IAAI,CAACwC,IAAL,CAAUxC,IAAI,CAACG,GAAL,CAASsB,YAAT,IAAyBmB,MAAnC,CAAX;AACAV,IAAAA,QAAQ,GAAGlC,IAAI,CAACwC,IAAL,CAAUxC,IAAI,CAAC6C,GAAL,CAASpB,YAAT,IAAyBmB,MAAnC,CAAX;AACD;;AAED,QAAMhB,KAAK,GAAG5B,IAAI,CAAC8C,KAAL,CAAWb,QAAQ,GAAGU,QAAtB,CAAd;AACA,QAAMd,KAAK,GAAG7B,IAAI,CAAC8C,KAAL,CAAWZ,QAAQ,GAAGS,QAAtB,CAAd;AAEA,SAAO;AAAEf,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAP;AACD;;AAED,MAAMkB,aAAa,GAAG,CACpB,QADoB,EAEpB,UAFoB,EAGpB,SAHoB,EAIpB,eAJoB,EAKpB,GALoB,EAMpB,OANoB,EAOpB,MAPoB,EAQpB,QARoB,EASpB,MAToB,EAUpB,MAVoB,EAWpB,SAXoB,EAYpB,SAZoB,EAapB,UAboB,EAcpB,MAdoB,EAepB,KAfoB,EAgBpB,QAhBoB,EAiBpB,OAjBoB,EAkBpB,MAlBoB,EAmBpB,UAnBoB,EAoBpB,KApBoB,CAAtB,C,CAuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,cAAT,CAAwBC,OAAxB,EAA6D;AAClE,QAAMC,kBAAkB,GAAGC,MAAM,CAACC,cAAP,CAAsBH,OAAtB,EAA+BI,WAA/B,CAA2CC,IAAtE;AAEA,SACEP,aAAa,CAACQ,OAAd,CAAsBL,kBAAtB,KAA6C,CAA7C,IACAC,MAAM,CAACK,MAAP,CAAcP,OAAd,EAAuB,YAAvB,CAFF;AAID","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","isPointerInBounds","view","x","y","rect","getBoundingClientRect","left","right","top","bottom","PointerTypeMapping","Map","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":[]}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
/* eslint-disable eslint-comments/no-unlimited-disable */
|
|
2
|
-
|
|
3
2
|
/* eslint-disable */
|
|
4
3
|
import GestureHandler from './GestureHandler';
|
|
5
4
|
import { TEST_MAX_IF_NOT_NAN } from './utils';
|
|
6
|
-
|
|
7
5
|
class DiscreteGestureHandler extends GestureHandler {
|
|
8
6
|
get isDiscrete() {
|
|
9
7
|
return true;
|
|
10
8
|
}
|
|
11
|
-
|
|
12
9
|
get shouldEnableGestureOnSetup() {
|
|
13
10
|
return true;
|
|
14
11
|
}
|
|
15
|
-
|
|
16
12
|
shouldFailUnderCustomCriteria({
|
|
17
13
|
x,
|
|
18
14
|
y,
|
|
@@ -32,10 +28,8 @@ class DiscreteGestureHandler extends GestureHandler {
|
|
|
32
28
|
return true;
|
|
33
29
|
}
|
|
34
30
|
}
|
|
35
|
-
|
|
36
31
|
return TEST_MAX_IF_NOT_NAN(Math.abs(deltaX), maxDeltaX) || TEST_MAX_IF_NOT_NAN(Math.abs(deltaY), maxDeltaY) || TEST_MAX_IF_NOT_NAN(Math.abs(deltaY * deltaY + deltaX * deltaX), maxDistSq);
|
|
37
32
|
}
|
|
38
|
-
|
|
39
33
|
transformNativeEvent({
|
|
40
34
|
center: {
|
|
41
35
|
x,
|
|
@@ -51,7 +45,6 @@ class DiscreteGestureHandler extends GestureHandler {
|
|
|
51
45
|
y: y - rect.top
|
|
52
46
|
};
|
|
53
47
|
}
|
|
54
|
-
|
|
55
48
|
isGestureEnabledForEvent({
|
|
56
49
|
minPointers,
|
|
57
50
|
maxPointers,
|
|
@@ -66,8 +59,8 @@ class DiscreteGestureHandler extends GestureHandler {
|
|
|
66
59
|
deltaY
|
|
67
60
|
}) {
|
|
68
61
|
const validPointerCount = pointerLength >= minPointers && pointerLength <= maxPointers;
|
|
69
|
-
|
|
70
|
-
|
|
62
|
+
if (this.shouldFailUnderCustomCriteria({
|
|
63
|
+
...center,
|
|
71
64
|
deltaX,
|
|
72
65
|
deltaY
|
|
73
66
|
}, {
|
|
@@ -75,20 +68,18 @@ class DiscreteGestureHandler extends GestureHandler {
|
|
|
75
68
|
maxDeltaY,
|
|
76
69
|
maxDistSq,
|
|
77
70
|
shouldCancelWhenOutside
|
|
78
|
-
}) ||
|
|
71
|
+
}) ||
|
|
72
|
+
// A user probably won't land a multi-pointer tap on the first tick (so we cannot just cancel each time)
|
|
79
73
|
// but if the gesture is running and the user adds or subtracts another pointer then it should fail.
|
|
80
74
|
!validPointerCount && this.isGestureRunning) {
|
|
81
75
|
return {
|
|
82
76
|
failed: true
|
|
83
77
|
};
|
|
84
78
|
}
|
|
85
|
-
|
|
86
79
|
return {
|
|
87
80
|
success: validPointerCount
|
|
88
81
|
};
|
|
89
82
|
}
|
|
90
|
-
|
|
91
83
|
}
|
|
92
|
-
|
|
93
84
|
export default DiscreteGestureHandler;
|
|
94
85
|
//# sourceMappingURL=DiscreteGestureHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["GestureHandler","TEST_MAX_IF_NOT_NAN","DiscreteGestureHandler","isDiscrete","shouldEnableGestureOnSetup","shouldFailUnderCustomCriteria","x","y","deltaX","deltaY","maxDeltaX","maxDeltaY","maxDistSq","shouldCancelWhenOutside","isPointInView","Math","abs","transformNativeEvent","center","rect","view","getBoundingClientRect","absoluteX","absoluteY","left","top","isGestureEnabledForEvent","minPointers","maxPointers","_recognizer","pointerLength","validPointerCount","isGestureRunning","failed","success"],"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":"AAAA;AACA;AACA,OAAOA,cAAc,MAAM,kBAAkB;AAC7C,SAASC,mBAAmB,QAAQ,SAAS;AAE7C,MAAeC,sBAAsB,SAASF,cAAc,CAAC;EAC3D,IAAIG,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,OACEN,mBAAmB,CAACc,IAAI,CAACC,GAAG,CAACR,MAAM,CAAC,EAAEE,SAAS,CAAC,IAChDT,mBAAmB,CAACc,IAAI,CAACC,GAAG,CAACP,MAAM,CAAC,EAAEE,SAAS,CAAC,IAChDV,mBAAmB,CACjBc,IAAI,CAACC,GAAG,CAACP,MAAM,GAAGA,MAAM,GAAGD,MAAM,GAAGA,MAAM,CAAC,EAC3CI,SACF,CAAC;EAEL;EAEAK,oBAAoBA,CAAC;IAAEC,MAAM,EAAE;MAAEZ,CAAC;MAAEC;IAAE;EAAO,CAAC,EAAE;IAC9C;IACA,MAAMY,IAAI,GAAG,IAAI,CAACC,IAAI,CAAEC,qBAAqB,CAAC,CAAC;IAE/C,OAAO;MACLC,SAAS,EAAEhB,CAAC;MACZiB,SAAS,EAAEhB,CAAC;MACZD,CAAC,EAAEA,CAAC,GAAGa,IAAI,CAACK,IAAI;MAChBjB,CAAC,EAAEA,CAAC,GAAGY,IAAI,CAACM;IACd,CAAC;EACH;EAEAC,wBAAwBA,CACtB;IACEC,WAAW;IACXC,WAAW;IACXlB,SAAS;IACTC,SAAS;IACTC,SAAS;IACTC;EACG,CAAC,EACNgB,WAAgB,EAChB;IAAED,WAAW,EAAEE,aAAa;IAAEZ,MAAM;IAAEV,MAAM;IAAEC;EAAY,CAAC,EAC3D;IACA,MAAMsB,iBAAiB,GACrBD,aAAa,IAAIH,WAAW,IAAIG,aAAa,IAAIF,WAAW;IAE9D,IACE,IAAI,CAACvB,6BAA6B,CAChC;MAAE,GAAGa,MAAM;MAAEV,MAAM;MAAEC;IAAO,CAAC,EAC7B;MACEC,SAAS;MACTC,SAAS;MACTC,SAAS;MACTC;IACF,CACF,CAAC;IACD;IACA;IACC,CAACkB,iBAAiB,IAAI,IAAI,CAACC,gBAAiB,EAC7C;MACA,OAAO;QAAEC,MAAM,EAAE;MAAK,CAAC;IACzB;IAEA,OAAO;MAAEC,OAAO,EAAEH;IAAkB,CAAC;EACvC;AACF;AAEA,eAAe7B,sBAAsB","ignoreList":[]}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
/* eslint-disable eslint-comments/no-unlimited-disable */
|
|
2
|
-
|
|
3
2
|
/* eslint-disable */
|
|
4
3
|
import GestureHandler from './GestureHandler';
|
|
5
4
|
import { PixelRatio } from 'react-native';
|
|
6
|
-
|
|
7
5
|
class DraggingGestureHandler extends GestureHandler {
|
|
8
6
|
get shouldEnableGestureOnSetup() {
|
|
9
7
|
return true;
|
|
10
8
|
}
|
|
11
|
-
|
|
12
9
|
transformNativeEvent({
|
|
13
10
|
deltaX,
|
|
14
11
|
deltaY,
|
|
@@ -33,8 +30,6 @@ class DraggingGestureHandler extends GestureHandler {
|
|
|
33
30
|
y: y - rect.top
|
|
34
31
|
};
|
|
35
32
|
}
|
|
36
|
-
|
|
37
33
|
}
|
|
38
|
-
|
|
39
34
|
export default DraggingGestureHandler;
|
|
40
35
|
//# sourceMappingURL=DraggingGestureHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["GestureHandler","PixelRatio","DraggingGestureHandler","shouldEnableGestureOnSetup","transformNativeEvent","deltaX","deltaY","velocityX","velocityY","center","x","y","rect","view","getBoundingClientRect","ratio","get","translationX","__initialX","translationY","__initialY","absoluteX","absoluteY","left","top"],"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":"AAAA;AACA;AACA,OAAOA,cAAc,MAA0B,kBAAkB;AACjE,SAASC,UAAU,QAAQ,cAAc;AAEzC,MAAeC,sBAAsB,SAASF,cAAc,CAAC;EAC3D,IAAIG,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,GAAGd,UAAU,CAACe,GAAG,CAAC,CAAC;IAC9B,OAAO;MACLC,YAAY,EAAEZ,MAAM,IAAI,IAAI,CAACa,UAAU,IAAI,CAAC,CAAC;MAC7CC,YAAY,EAAEb,MAAM,IAAI,IAAI,CAACc,UAAU,IAAI,CAAC,CAAC;MAC7CC,SAAS,EAAEX,CAAC;MACZY,SAAS,EAAEX,CAAC;MACZJ,SAAS,EAAEA,SAAS,GAAGQ,KAAK;MAC5BP,SAAS,EAAEA,SAAS,GAAGO,KAAK;MAC5BL,CAAC,EAAEA,CAAC,GAAGE,IAAI,CAACW,IAAI;MAChBZ,CAAC,EAAEA,CAAC,GAAGC,IAAI,CAACY;IACd,CAAC;EACH;AACF;AAEA,eAAetB,sBAAsB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["GesturePropError","Error","constructor","name","value","expectedType"],"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":"AAAA,OAAO,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","ignoreList":[]}
|
|
@@ -1,44 +1,39 @@
|
|
|
1
1
|
/* eslint-disable eslint-comments/no-unlimited-disable */
|
|
2
|
-
|
|
3
2
|
/* eslint-disable */
|
|
4
3
|
import Hammer from '@egjs/hammerjs';
|
|
5
4
|
import { Direction } from './constants';
|
|
6
5
|
import { GesturePropError } from './Errors';
|
|
7
6
|
import DraggingGestureHandler from './DraggingGestureHandler';
|
|
8
7
|
import { isnan } from './utils';
|
|
9
|
-
|
|
10
8
|
class FlingGestureHandler extends DraggingGestureHandler {
|
|
11
9
|
get name() {
|
|
12
10
|
return 'swipe';
|
|
13
11
|
}
|
|
14
|
-
|
|
15
12
|
get NativeGestureClass() {
|
|
16
13
|
return Hammer.Swipe;
|
|
17
14
|
}
|
|
18
|
-
|
|
19
15
|
onGestureActivated(event) {
|
|
20
|
-
this.sendEvent({
|
|
16
|
+
this.sendEvent({
|
|
17
|
+
...event,
|
|
21
18
|
eventType: Hammer.INPUT_MOVE,
|
|
22
19
|
isFinal: false,
|
|
23
20
|
isFirst: true
|
|
24
21
|
});
|
|
25
22
|
this.isGestureRunning = false;
|
|
26
23
|
this.hasGestureFailed = false;
|
|
27
|
-
this.sendEvent({
|
|
24
|
+
this.sendEvent({
|
|
25
|
+
...event,
|
|
28
26
|
eventType: Hammer.INPUT_END,
|
|
29
27
|
isFinal: true
|
|
30
28
|
});
|
|
31
29
|
}
|
|
32
|
-
|
|
33
30
|
onRawEvent(ev) {
|
|
34
31
|
super.onRawEvent(ev);
|
|
35
|
-
|
|
36
32
|
if (this.hasGestureFailed) {
|
|
37
33
|
return;
|
|
38
|
-
}
|
|
34
|
+
}
|
|
35
|
+
// Hammer doesn't send a `cancel` event for taps.
|
|
39
36
|
// Manually fail the event.
|
|
40
|
-
|
|
41
|
-
|
|
42
37
|
if (ev.isFinal) {
|
|
43
38
|
setTimeout(() => {
|
|
44
39
|
if (this.isGestureRunning) {
|
|
@@ -47,15 +42,14 @@ class FlingGestureHandler extends DraggingGestureHandler {
|
|
|
47
42
|
});
|
|
48
43
|
} else if (!this.hasGestureFailed && !this.isGestureRunning) {
|
|
49
44
|
// Tap Gesture start event
|
|
50
|
-
const gesture = this.hammer.get(this.name);
|
|
51
|
-
|
|
45
|
+
const gesture = this.hammer.get(this.name);
|
|
46
|
+
// @ts-ignore FIXME(TS)
|
|
52
47
|
if (gesture.options.enable(gesture, ev)) {
|
|
53
48
|
this.onStart(ev);
|
|
54
49
|
this.sendEvent(ev);
|
|
55
50
|
}
|
|
56
51
|
}
|
|
57
52
|
}
|
|
58
|
-
|
|
59
53
|
getHammerConfig() {
|
|
60
54
|
return {
|
|
61
55
|
// @ts-ignore FIXME(TS)
|
|
@@ -63,77 +57,61 @@ class FlingGestureHandler extends DraggingGestureHandler {
|
|
|
63
57
|
direction: this.getDirection()
|
|
64
58
|
};
|
|
65
59
|
}
|
|
66
|
-
|
|
67
60
|
getTargetDirections(direction) {
|
|
68
61
|
const directions = [];
|
|
69
|
-
|
|
70
62
|
if (direction & Direction.RIGHT) {
|
|
71
63
|
directions.push(Hammer.DIRECTION_RIGHT);
|
|
72
64
|
}
|
|
73
|
-
|
|
74
65
|
if (direction & Direction.LEFT) {
|
|
75
66
|
directions.push(Hammer.DIRECTION_LEFT);
|
|
76
67
|
}
|
|
77
|
-
|
|
78
68
|
if (direction & Direction.UP) {
|
|
79
69
|
directions.push(Hammer.DIRECTION_UP);
|
|
80
70
|
}
|
|
81
|
-
|
|
82
71
|
if (direction & Direction.DOWN) {
|
|
83
72
|
directions.push(Hammer.DIRECTION_DOWN);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
73
|
+
}
|
|
74
|
+
// const hammerDirection = directions.reduce((a, b) => a | b, 0);
|
|
87
75
|
return directions;
|
|
88
76
|
}
|
|
89
|
-
|
|
90
77
|
getDirection() {
|
|
91
78
|
// @ts-ignore FIXME(TS)
|
|
92
79
|
const {
|
|
93
80
|
direction
|
|
94
81
|
} = this.getConfig();
|
|
95
82
|
let directions = [];
|
|
96
|
-
|
|
97
83
|
if (direction & Direction.RIGHT) {
|
|
98
84
|
directions.push(Hammer.DIRECTION_HORIZONTAL);
|
|
99
85
|
}
|
|
100
|
-
|
|
101
86
|
if (direction & Direction.LEFT) {
|
|
102
87
|
directions.push(Hammer.DIRECTION_HORIZONTAL);
|
|
103
88
|
}
|
|
104
|
-
|
|
105
89
|
if (direction & Direction.UP) {
|
|
106
90
|
directions.push(Hammer.DIRECTION_VERTICAL);
|
|
107
91
|
}
|
|
108
|
-
|
|
109
92
|
if (direction & Direction.DOWN) {
|
|
110
93
|
directions.push(Hammer.DIRECTION_VERTICAL);
|
|
111
94
|
}
|
|
112
|
-
|
|
113
95
|
directions = [...new Set(directions)];
|
|
114
96
|
if (directions.length === 0) return Hammer.DIRECTION_NONE;
|
|
115
97
|
if (directions.length === 1) return directions[0];
|
|
116
98
|
return Hammer.DIRECTION_ALL;
|
|
117
99
|
}
|
|
118
|
-
|
|
119
100
|
isGestureEnabledForEvent({
|
|
120
101
|
numberOfPointers
|
|
121
102
|
}, _recognizer, {
|
|
122
103
|
maxPointers: pointerLength
|
|
123
104
|
}) {
|
|
124
105
|
const validPointerCount = pointerLength === numberOfPointers;
|
|
125
|
-
|
|
126
106
|
if (!validPointerCount && this.isGestureRunning) {
|
|
127
107
|
return {
|
|
128
108
|
failed: true
|
|
129
109
|
};
|
|
130
110
|
}
|
|
131
|
-
|
|
132
111
|
return {
|
|
133
112
|
success: validPointerCount
|
|
134
113
|
};
|
|
135
114
|
}
|
|
136
|
-
|
|
137
115
|
updateGestureConfig({
|
|
138
116
|
numberOfPointers = 1,
|
|
139
117
|
direction,
|
|
@@ -142,15 +120,12 @@ class FlingGestureHandler extends DraggingGestureHandler {
|
|
|
142
120
|
if (isnan(direction) || typeof direction !== 'number') {
|
|
143
121
|
throw new GesturePropError('direction', direction, 'number');
|
|
144
122
|
}
|
|
145
|
-
|
|
146
123
|
return super.updateGestureConfig({
|
|
147
124
|
numberOfPointers,
|
|
148
125
|
direction,
|
|
149
126
|
...props
|
|
150
127
|
});
|
|
151
128
|
}
|
|
152
|
-
|
|
153
129
|
}
|
|
154
|
-
|
|
155
130
|
export default FlingGestureHandler;
|
|
156
131
|
//# sourceMappingURL=FlingGestureHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["Hammer","Direction","GesturePropError","DraggingGestureHandler","isnan","FlingGestureHandler","name","NativeGestureClass","Swipe","onGestureActivated","event","sendEvent","eventType","INPUT_MOVE","isFinal","isFirst","isGestureRunning","hasGestureFailed","INPUT_END","onRawEvent","ev","setTimeout","cancelEvent","gesture","hammer","get","options","enable","onStart","getHammerConfig","pointers","config","numberOfPointers","direction","getDirection","getTargetDirections","directions","RIGHT","push","DIRECTION_RIGHT","LEFT","DIRECTION_LEFT","UP","DIRECTION_UP","DOWN","DIRECTION_DOWN","getConfig","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","Set","length","DIRECTION_NONE","DIRECTION_ALL","isGestureEnabledForEvent","_recognizer","maxPointers","pointerLength","validPointerCount","failed","success","updateGestureConfig","props"],"sources":["FlingGestureHandler.ts"],"sourcesContent":["/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport Hammer from '@egjs/hammerjs';\n\nimport { Direction } from './constants';\nimport { GesturePropError } from './Errors';\nimport DraggingGestureHandler from './DraggingGestureHandler';\nimport { isnan } from './utils';\nimport { HammerInputExt } from './GestureHandler';\n\nclass FlingGestureHandler extends DraggingGestureHandler {\n get name() {\n return 'swipe';\n }\n\n get NativeGestureClass() {\n return Hammer.Swipe;\n }\n\n onGestureActivated(event: HammerInputExt) {\n this.sendEvent({\n ...event,\n eventType: Hammer.INPUT_MOVE,\n isFinal: false,\n isFirst: true,\n });\n this.isGestureRunning = false;\n this.hasGestureFailed = false;\n this.sendEvent({\n ...event,\n eventType: Hammer.INPUT_END,\n isFinal: true,\n });\n }\n\n onRawEvent(ev: HammerInputExt) {\n super.onRawEvent(ev);\n if (this.hasGestureFailed) {\n return;\n }\n // Hammer doesn't send a `cancel` event for taps.\n // Manually fail the event.\n if (ev.isFinal) {\n setTimeout(() => {\n if (this.isGestureRunning) {\n this.cancelEvent(ev);\n }\n });\n } else if (!this.hasGestureFailed && !this.isGestureRunning) {\n // Tap Gesture start event\n const gesture = this.hammer!.get(this.name);\n // @ts-ignore FIXME(TS)\n if (gesture.options.enable(gesture, ev)) {\n this.onStart(ev);\n this.sendEvent(ev);\n }\n }\n }\n\n getHammerConfig() {\n return {\n // @ts-ignore FIXME(TS)\n pointers: this.config.numberOfPointers,\n direction: this.getDirection(),\n };\n }\n\n getTargetDirections(direction: number) {\n const directions = [];\n if (direction & Direction.RIGHT) {\n directions.push(Hammer.DIRECTION_RIGHT);\n }\n if (direction & Direction.LEFT) {\n directions.push(Hammer.DIRECTION_LEFT);\n }\n if (direction & Direction.UP) {\n directions.push(Hammer.DIRECTION_UP);\n }\n if (direction & Direction.DOWN) {\n directions.push(Hammer.DIRECTION_DOWN);\n }\n // const hammerDirection = directions.reduce((a, b) => a | b, 0);\n return directions;\n }\n\n getDirection() {\n // @ts-ignore FIXME(TS)\n const { direction } = this.getConfig();\n\n let directions = [];\n if (direction & Direction.RIGHT) {\n directions.push(Hammer.DIRECTION_HORIZONTAL);\n }\n if (direction & Direction.LEFT) {\n directions.push(Hammer.DIRECTION_HORIZONTAL);\n }\n if (direction & Direction.UP) {\n directions.push(Hammer.DIRECTION_VERTICAL);\n }\n if (direction & Direction.DOWN) {\n directions.push(Hammer.DIRECTION_VERTICAL);\n }\n directions = [...new Set(directions)];\n\n if (directions.length === 0) return Hammer.DIRECTION_NONE;\n if (directions.length === 1) return directions[0];\n return Hammer.DIRECTION_ALL;\n }\n\n isGestureEnabledForEvent(\n { numberOfPointers }: any,\n _recognizer: any,\n { maxPointers: pointerLength }: any\n ) {\n const validPointerCount = pointerLength === numberOfPointers;\n if (!validPointerCount && this.isGestureRunning) {\n return { failed: true };\n }\n return { success: validPointerCount };\n }\n\n updateGestureConfig({ numberOfPointers = 1, direction, ...props }: any) {\n if (isnan(direction) || typeof direction !== 'number') {\n throw new GesturePropError('direction', direction, 'number');\n }\n return super.updateGestureConfig({\n numberOfPointers,\n direction,\n ...props,\n });\n }\n}\n\nexport default FlingGestureHandler;\n"],"mappings":"AAAA;AACA;AACA,OAAOA,MAAM,MAAM,gBAAgB;AAEnC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,gBAAgB,QAAQ,UAAU;AAC3C,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,SAASC,KAAK,QAAQ,SAAS;AAG/B,MAAMC,mBAAmB,SAASF,sBAAsB,CAAC;EACvD,IAAIG,IAAIA,CAAA,EAAG;IACT,OAAO,OAAO;EAChB;EAEA,IAAIC,kBAAkBA,CAAA,EAAG;IACvB,OAAOP,MAAM,CAACQ,KAAK;EACrB;EAEAC,kBAAkBA,CAACC,KAAqB,EAAE;IACxC,IAAI,CAACC,SAAS,CAAC;MACb,GAAGD,KAAK;MACRE,SAAS,EAAEZ,MAAM,CAACa,UAAU;MAC5BC,OAAO,EAAE,KAAK;MACdC,OAAO,EAAE;IACX,CAAC,CAAC;IACF,IAAI,CAACC,gBAAgB,GAAG,KAAK;IAC7B,IAAI,CAACC,gBAAgB,GAAG,KAAK;IAC7B,IAAI,CAACN,SAAS,CAAC;MACb,GAAGD,KAAK;MACRE,SAAS,EAAEZ,MAAM,CAACkB,SAAS;MAC3BJ,OAAO,EAAE;IACX,CAAC,CAAC;EACJ;EAEAK,UAAUA,CAACC,EAAkB,EAAE;IAC7B,KAAK,CAACD,UAAU,CAACC,EAAE,CAAC;IACpB,IAAI,IAAI,CAACH,gBAAgB,EAAE;MACzB;IACF;IACA;IACA;IACA,IAAIG,EAAE,CAACN,OAAO,EAAE;MACdO,UAAU,CAAC,MAAM;QACf,IAAI,IAAI,CAACL,gBAAgB,EAAE;UACzB,IAAI,CAACM,WAAW,CAACF,EAAE,CAAC;QACtB;MACF,CAAC,CAAC;IACJ,CAAC,MAAM,IAAI,CAAC,IAAI,CAACH,gBAAgB,IAAI,CAAC,IAAI,CAACD,gBAAgB,EAAE;MAC3D;MACA,MAAMO,OAAO,GAAG,IAAI,CAACC,MAAM,CAAEC,GAAG,CAAC,IAAI,CAACnB,IAAI,CAAC;MAC3C;MACA,IAAIiB,OAAO,CAACG,OAAO,CAACC,MAAM,CAACJ,OAAO,EAAEH,EAAE,CAAC,EAAE;QACvC,IAAI,CAACQ,OAAO,CAACR,EAAE,CAAC;QAChB,IAAI,CAACT,SAAS,CAACS,EAAE,CAAC;MACpB;IACF;EACF;EAEAS,eAAeA,CAAA,EAAG;IAChB,OAAO;MACL;MACAC,QAAQ,EAAE,IAAI,CAACC,MAAM,CAACC,gBAAgB;MACtCC,SAAS,EAAE,IAAI,CAACC,YAAY,CAAC;IAC/B,CAAC;EACH;EAEAC,mBAAmBA,CAACF,SAAiB,EAAE;IACrC,MAAMG,UAAU,GAAG,EAAE;IACrB,IAAIH,SAAS,GAAGhC,SAAS,CAACoC,KAAK,EAAE;MAC/BD,UAAU,CAACE,IAAI,CAACtC,MAAM,CAACuC,eAAe,CAAC;IACzC;IACA,IAAIN,SAAS,GAAGhC,SAAS,CAACuC,IAAI,EAAE;MAC9BJ,UAAU,CAACE,IAAI,CAACtC,MAAM,CAACyC,cAAc,CAAC;IACxC;IACA,IAAIR,SAAS,GAAGhC,SAAS,CAACyC,EAAE,EAAE;MAC5BN,UAAU,CAACE,IAAI,CAACtC,MAAM,CAAC2C,YAAY,CAAC;IACtC;IACA,IAAIV,SAAS,GAAGhC,SAAS,CAAC2C,IAAI,EAAE;MAC9BR,UAAU,CAACE,IAAI,CAACtC,MAAM,CAAC6C,cAAc,CAAC;IACxC;IACA;IACA,OAAOT,UAAU;EACnB;EAEAF,YAAYA,CAAA,EAAG;IACb;IACA,MAAM;MAAED;IAAU,CAAC,GAAG,IAAI,CAACa,SAAS,CAAC,CAAC;IAEtC,IAAIV,UAAU,GAAG,EAAE;IACnB,IAAIH,SAAS,GAAGhC,SAAS,CAACoC,KAAK,EAAE;MAC/BD,UAAU,CAACE,IAAI,CAACtC,MAAM,CAAC+C,oBAAoB,CAAC;IAC9C;IACA,IAAId,SAAS,GAAGhC,SAAS,CAACuC,IAAI,EAAE;MAC9BJ,UAAU,CAACE,IAAI,CAACtC,MAAM,CAAC+C,oBAAoB,CAAC;IAC9C;IACA,IAAId,SAAS,GAAGhC,SAAS,CAACyC,EAAE,EAAE;MAC5BN,UAAU,CAACE,IAAI,CAACtC,MAAM,CAACgD,kBAAkB,CAAC;IAC5C;IACA,IAAIf,SAAS,GAAGhC,SAAS,CAAC2C,IAAI,EAAE;MAC9BR,UAAU,CAACE,IAAI,CAACtC,MAAM,CAACgD,kBAAkB,CAAC;IAC5C;IACAZ,UAAU,GAAG,CAAC,GAAG,IAAIa,GAAG,CAACb,UAAU,CAAC,CAAC;IAErC,IAAIA,UAAU,CAACc,MAAM,KAAK,CAAC,EAAE,OAAOlD,MAAM,CAACmD,cAAc;IACzD,IAAIf,UAAU,CAACc,MAAM,KAAK,CAAC,EAAE,OAAOd,UAAU,CAAC,CAAC,CAAC;IACjD,OAAOpC,MAAM,CAACoD,aAAa;EAC7B;EAEAC,wBAAwBA,CACtB;IAAErB;EAAsB,CAAC,EACzBsB,WAAgB,EAChB;IAAEC,WAAW,EAAEC;EAAmB,CAAC,EACnC;IACA,MAAMC,iBAAiB,GAAGD,aAAa,KAAKxB,gBAAgB;IAC5D,IAAI,CAACyB,iBAAiB,IAAI,IAAI,CAACzC,gBAAgB,EAAE;MAC/C,OAAO;QAAE0C,MAAM,EAAE;MAAK,CAAC;IACzB;IACA,OAAO;MAAEC,OAAO,EAAEF;IAAkB,CAAC;EACvC;EAEAG,mBAAmBA,CAAC;IAAE5B,gBAAgB,GAAG,CAAC;IAAEC,SAAS;IAAE,GAAG4B;EAAW,CAAC,EAAE;IACtE,IAAIzD,KAAK,CAAC6B,SAAS,CAAC,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;MACrD,MAAM,IAAI/B,gBAAgB,CAAC,WAAW,EAAE+B,SAAS,EAAE,QAAQ,CAAC;IAC9D;IACA,OAAO,KAAK,CAAC2B,mBAAmB,CAAC;MAC/B5B,gBAAgB;MAChBC,SAAS;MACT,GAAG4B;IACL,CAAC,CAAC;EACJ;AACF;AAEA,eAAexD,mBAAmB","ignoreList":[]}
|