react-native-gesture-handler 2.23.0 → 2.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RNGestureHandler.podspec +8 -0
- package/android/build.gradle +9 -3
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +2 -1
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +2 -1
- package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +60 -0
- package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +26 -0
- package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +26 -0
- package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +16 -0
- package/android/paper77/src/main/java/com/swmansion/gesturehandler/NativeRNGestureHandlerModuleSpec.java +67 -0
- package/android/paper77/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +13 -0
- package/apple/RNGestureHandlerButton.mm +12 -2
- package/lib/commonjs/ActionType.js +3 -3
- package/lib/commonjs/ActionType.js.map +1 -1
- package/lib/commonjs/Directions.js +8 -11
- package/lib/commonjs/Directions.js.map +1 -1
- package/lib/commonjs/EnableNewWebImplementation.js +10 -2
- package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
- package/lib/commonjs/GestureHandlerRootViewContext.js +7 -2
- package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/commonjs/PlatformConstants.js +6 -1
- package/lib/commonjs/PlatformConstants.js.map +1 -1
- package/lib/commonjs/PlatformConstants.web.js +3 -1
- package/lib/commonjs/PlatformConstants.web.js.map +1 -1
- package/lib/commonjs/PointerType.js +5 -3
- package/lib/commonjs/PointerType.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.js +6 -2
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.web.js +37 -11
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.windows.js +32 -22
- package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/commonjs/RNRenderer.js +3 -1
- package/lib/commonjs/RNRenderer.js.map +1 -1
- package/lib/commonjs/RNRenderer.web.js +2 -1
- package/lib/commonjs/RNRenderer.web.js.map +1 -1
- package/lib/commonjs/State.js +3 -4
- package/lib/commonjs/State.js.map +1 -1
- package/lib/commonjs/TouchEventType.js +3 -3
- package/lib/commonjs/TouchEventType.js.map +1 -1
- package/lib/commonjs/components/DrawerLayout.js +115 -90
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/GestureButtons.js +81 -28
- package/lib/commonjs/components/GestureButtons.js.map +1 -1
- package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.js +37 -26
- package/lib/commonjs/components/GestureComponents.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.web.js +27 -13
- package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.js +6 -2
- package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.web.js +12 -4
- package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.android.js +15 -4
- package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.js +14 -4
- package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.web.js +13 -4
- package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/commonjs/components/Pressable/Pressable.js +77 -29
- package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
- package/lib/commonjs/components/Pressable/PressableProps.js.map +1 -1
- package/lib/commonjs/components/Pressable/index.js +3 -1
- package/lib/commonjs/components/Pressable/index.js.map +1 -1
- package/lib/commonjs/components/Pressable/utils.js +20 -5
- package/lib/commonjs/components/Pressable/utils.js.map +1 -1
- package/lib/commonjs/components/ReanimatedDrawerLayout.js +86 -44
- package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/commonjs/components/ReanimatedSwipeable.js +45 -18
- package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/commonjs/components/Swipeable.js +75 -34
- package/lib/commonjs/components/Swipeable.js.map +1 -1
- package/lib/commonjs/components/Text.js +28 -10
- package/lib/commonjs/components/Text.js.map +1 -1
- package/lib/commonjs/components/gestureHandlerRootHOC.js +14 -5
- package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/commonjs/components/touchables/ExtraButtonProps.js +2 -0
- package/lib/commonjs/components/touchables/ExtraButtonProps.js.map +1 -0
- package/lib/commonjs/components/touchables/GenericTouchable.js +76 -40
- package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableHighlight.js +34 -19
- package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +32 -16
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -2
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableOpacity.js +25 -16
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +25 -13
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/index.js +12 -7
- package/lib/commonjs/components/touchables/index.js.map +1 -1
- package/lib/commonjs/findNodeHandle.js +4 -1
- package/lib/commonjs/findNodeHandle.js.map +1 -1
- package/lib/commonjs/findNodeHandle.web.js +14 -5
- package/lib/commonjs/findNodeHandle.web.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.js +6 -1
- package/lib/commonjs/getReactNativeVersion.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.web.js +1 -0
- package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.js +14 -13
- package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.web.js +1 -0
- package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
- package/lib/commonjs/ghQueueMicrotask.js +2 -1
- package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
- package/lib/commonjs/handlers/FlingGestureHandler.js +11 -9
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +22 -15
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/commonjs/handlers/LongPressGestureHandler.js +11 -9
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +13 -10
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js +32 -13
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PinchGestureHandler.js +9 -7
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js +1 -0
- package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.web.js +1 -0
- package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
- package/lib/commonjs/handlers/RotationGestureHandler.js +9 -7
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/TapGestureHandler.js +11 -9
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js +146 -59
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/createNativeWrapper.js +30 -18
- package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.js +1 -0
- package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.web.js +2 -1
- package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js +10 -9
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +14 -5
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +21 -13
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +29 -9
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +10 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js +36 -11
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +3 -0
- package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +24 -12
- package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +48 -12
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +13 -3
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +9 -2
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +14 -6
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +55 -27
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/commonjs/handlers/gestures/eventReceiver.js +46 -14
- package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/commonjs/handlers/gestures/flingGesture.js +12 -5
- package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +19 -8
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gesture.js +84 -44
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureComposition.js +31 -17
- package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js +27 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +9 -3
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +7 -2
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/hoverGesture.js +25 -11
- package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/longPressGesture.js +14 -6
- package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/manualGesture.js +6 -0
- package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/nativeGesture.js +12 -5
- package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/panGesture.js +43 -18
- package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/pinchGesture.js +9 -2
- package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +8 -1
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/commonjs/handlers/gestures/rotationGesture.js +9 -2
- package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/tapGesture.js +22 -10
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/commonjs/handlers/getNextHandlerTag.js +1 -0
- package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
- package/lib/commonjs/handlers/handlersRegistry.js +21 -6
- package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
- package/lib/commonjs/handlers/utils.js +26 -6
- package/lib/commonjs/handlers/utils.js.map +1 -1
- package/lib/commonjs/index.js +104 -75
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js +11 -4
- package/lib/commonjs/init.js.map +1 -1
- package/lib/commonjs/jestUtils/index.js +5 -4
- package/lib/commonjs/jestUtils/index.js.map +1 -1
- package/lib/commonjs/jestUtils/jestUtils.js +83 -19
- package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
- package/lib/commonjs/mocks.js +15 -5
- package/lib/commonjs/mocks.js.map +1 -1
- package/lib/commonjs/mountRegistry.js +12 -3
- package/lib/commonjs/mountRegistry.js.map +1 -1
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +5 -1
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +7 -2
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +7 -2
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
- package/lib/commonjs/typeUtils.js.map +1 -1
- package/lib/commonjs/utils.js +37 -13
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/Gestures.js +23 -5
- package/lib/commonjs/web/Gestures.js.map +1 -1
- package/lib/commonjs/web/constants.js +4 -2
- package/lib/commonjs/web/constants.js.map +1 -1
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +41 -5
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js +42 -13
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +49 -6
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +195 -62
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/HoverGestureHandler.js +19 -6
- package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js +47 -6
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js +11 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +49 -8
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +123 -8
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +41 -4
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +42 -4
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +67 -6
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/interfaces.js +17 -9
- package/lib/commonjs/web/interfaces.js.map +1 -1
- package/lib/commonjs/web/tools/CircularBuffer.js +15 -3
- package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
- package/lib/commonjs/web/tools/EventManager.js +41 -7
- package/lib/commonjs/web/tools/EventManager.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +78 -11
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +48 -8
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/InteractionManager.js +22 -5
- package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
- package/lib/commonjs/web/tools/KeyboardEventManager.js +26 -4
- package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/LeastSquareSolver.js +67 -30
- package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/commonjs/web/tools/NodeManager.js +14 -7
- package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerEventManager.js +45 -10
- package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerTracker.js +45 -9
- package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
- package/lib/commonjs/web/tools/Vector.js +18 -3
- package/lib/commonjs/web/tools/Vector.js.map +1 -1
- package/lib/commonjs/web/tools/VelocityTracker.js +31 -9
- package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
- package/lib/commonjs/web/tools/WheelEventManager.js +17 -4
- package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
- package/lib/commonjs/web/utils.js +76 -27
- package/lib/commonjs/web/utils.js.map +1 -1
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +19 -7
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js +13 -3
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/Errors.js +3 -0
- package/lib/commonjs/web_hammer/Errors.js.map +1 -1
- package/lib/commonjs/web_hammer/FlingGestureHandler.js +44 -13
- package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/GestureHandler.js +142 -55
- package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +11 -2
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js +19 -5
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +24 -16
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NodeManager.js +16 -9
- package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
- package/lib/commonjs/web_hammer/PanGestureHandler.js +49 -8
- package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PinchGestureHandler.js +11 -2
- package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PressGestureHandler.js +43 -15
- package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/RotationGestureHandler.js +13 -2
- package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/TapGestureHandler.js +52 -33
- package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/constants.js +26 -13
- package/lib/commonjs/web_hammer/constants.js.map +1 -1
- package/lib/commonjs/web_hammer/utils.js +14 -4
- package/lib/commonjs/web_hammer/utils.js.map +1 -1
- package/lib/module/ActionType.js +1 -3
- package/lib/module/ActionType.js.map +1 -1
- package/lib/module/Directions.js +3 -9
- package/lib/module/Directions.js.map +1 -1
- package/lib/module/EnableNewWebImplementation.js +5 -2
- package/lib/module/EnableNewWebImplementation.js.map +1 -1
- package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/module/PlatformConstants.js +1 -0
- package/lib/module/PlatformConstants.js.map +1 -1
- package/lib/module/PlatformConstants.web.js +1 -0
- package/lib/module/PlatformConstants.web.js.map +1 -1
- package/lib/module/PointerType.js +4 -3
- package/lib/module/PointerType.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.js +0 -1
- package/lib/module/RNGestureHandlerModule.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.web.js +20 -10
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.windows.js +17 -18
- package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/module/RNRenderer.js.map +1 -1
- package/lib/module/RNRenderer.web.js.map +1 -1
- package/lib/module/State.js +1 -4
- package/lib/module/State.js.map +1 -1
- package/lib/module/TouchEventType.js +1 -3
- package/lib/module/TouchEventType.js.map +1 -1
- package/lib/module/components/DrawerLayout.js +99 -80
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/GestureButtons.js +55 -19
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/GestureButtonsProps.js.map +1 -1
- package/lib/module/components/GestureComponents.js +12 -17
- package/lib/module/components/GestureComponents.js.map +1 -1
- package/lib/module/components/GestureComponents.web.js +4 -4
- package/lib/module/components/GestureComponents.web.js.map +1 -1
- package/lib/module/components/GestureHandlerButton.js.map +1 -1
- package/lib/module/components/GestureHandlerButton.web.js +2 -1
- package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.android.js +2 -1
- package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.js +2 -1
- package/lib/module/components/GestureHandlerRootView.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.web.js +2 -1
- package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +59 -26
- package/lib/module/components/Pressable/Pressable.js.map +1 -1
- package/lib/module/components/Pressable/PressableProps.js.map +1 -1
- package/lib/module/components/Pressable/index.js.map +1 -1
- package/lib/module/components/Pressable/utils.js +14 -4
- package/lib/module/components/Pressable/utils.js.map +1 -1
- package/lib/module/components/ReanimatedDrawerLayout.js +66 -40
- package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/module/components/ReanimatedSwipeable.js +30 -14
- package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/module/components/Swipeable.js +59 -28
- package/lib/module/components/Swipeable.js.map +1 -1
- package/lib/module/components/Text.js +15 -7
- package/lib/module/components/Text.js.map +1 -1
- package/lib/module/components/gestureHandlerRootHOC.js +2 -2
- package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/module/components/touchables/ExtraButtonProps.js +2 -0
- package/lib/module/components/touchables/ExtraButtonProps.js.map +1 -0
- package/lib/module/components/touchables/GenericTouchable.js +63 -34
- package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/module/components/touchables/GenericTouchableProps.js.map +1 -1
- package/lib/module/components/touchables/TouchableHighlight.js +24 -15
- package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js +20 -10
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.js +2 -2
- package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
- package/lib/module/components/touchables/TouchableOpacity.js +16 -10
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/module/components/touchables/TouchableWithoutFeedback.js +15 -10
- package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/module/components/touchables/index.js.map +1 -1
- package/lib/module/findNodeHandle.js.map +1 -1
- package/lib/module/findNodeHandle.web.js +11 -5
- package/lib/module/findNodeHandle.web.js.map +1 -1
- package/lib/module/getReactNativeVersion.js.map +1 -1
- package/lib/module/getReactNativeVersion.web.js.map +1 -1
- package/lib/module/getShadowNodeFromRef.js +13 -13
- package/lib/module/getShadowNodeFromRef.js.map +1 -1
- package/lib/module/getShadowNodeFromRef.web.js.map +1 -1
- package/lib/module/ghQueueMicrotask.js.map +1 -1
- package/lib/module/handlers/FlingGestureHandler.js +0 -6
- package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/handlers/ForceTouchGestureHandler.js +8 -12
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/module/handlers/LongPressGestureHandler.js +0 -6
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/handlers/NativeViewGestureHandler.js +0 -6
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/handlers/PanGestureHandler.js +19 -8
- package/lib/module/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/handlers/PinchGestureHandler.js +0 -2
- package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
- package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -1
- package/lib/module/handlers/RotationGestureHandler.js +0 -2
- package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/handlers/TapGestureHandler.js +0 -6
- package/lib/module/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/handlers/createHandler.js +119 -57
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/createNativeWrapper.js +22 -15
- package/lib/module/handlers/createNativeWrapper.js.map +1 -1
- package/lib/module/handlers/customDirectEventTypes.js.map +1 -1
- package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -1
- package/lib/module/handlers/gestureHandlerCommon.js +4 -9
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/Wrap.js +4 -3
- package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +7 -8
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +16 -8
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +1 -0
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/index.js +13 -7
- package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +2 -0
- package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/types.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +14 -11
- package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +39 -12
- package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +5 -5
- package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +6 -2
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -5
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/utils.js +28 -23
- package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/module/handlers/gestures/eventReceiver.js +38 -14
- package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/module/handlers/gestures/flingGesture.js +9 -5
- package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/module/handlers/gestures/forceTouchGesture.js +17 -8
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/gesture.js +73 -44
- package/lib/module/handlers/gestures/gesture.js.map +1 -1
- package/lib/module/handlers/gestures/gestureComposition.js +24 -16
- package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/module/handlers/gestures/gestureObjects.js +14 -1
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.js +4 -3
- package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.web.js +1 -0
- package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/module/handlers/gestures/hoverGesture.js +18 -9
- package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/module/handlers/gestures/longPressGesture.js +11 -6
- package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/module/handlers/gestures/manualGesture.js +4 -0
- package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/module/handlers/gestures/nativeGesture.js +9 -5
- package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/module/handlers/gestures/panGesture.js +41 -18
- package/lib/module/handlers/gestures/panGesture.js.map +1 -1
- package/lib/module/handlers/gestures/pinchGesture.js +7 -2
- package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/reanimatedWrapper.js +5 -0
- package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/module/handlers/gestures/rotationGesture.js +7 -2
- package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/module/handlers/gestures/tapGesture.js +19 -10
- package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/module/handlers/getNextHandlerTag.js.map +1 -1
- package/lib/module/handlers/handlersRegistry.js +5 -0
- package/lib/module/handlers/handlersRegistry.js.map +1 -1
- package/lib/module/handlers/utils.js +13 -4
- package/lib/module/handlers/utils.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js +2 -3
- package/lib/module/init.js.map +1 -1
- package/lib/module/jestUtils/index.js.map +1 -1
- package/lib/module/jestUtils/jestUtils.js +66 -20
- package/lib/module/jestUtils/jestUtils.js.map +1 -1
- package/lib/module/mocks.js +7 -3
- package/lib/module/mocks.js.map +1 -1
- package/lib/module/mountRegistry.js +10 -3
- package/lib/module/mountRegistry.js.map +1 -1
- package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
- package/lib/module/typeUtils.js.map +1 -1
- package/lib/module/utils.js +15 -6
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/Gestures.js +1 -2
- package/lib/module/web/Gestures.js.map +1 -1
- package/lib/module/web/constants.js.map +1 -1
- package/lib/module/web/detectors/RotationGestureDetector.js +38 -5
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/module/web/detectors/ScaleGestureDetector.js +38 -13
- package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +39 -5
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js +181 -61
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/HoverGestureHandler.js +11 -5
- package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/IGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/LongPressGestureHandler.js +40 -5
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/ManualGestureHandler.js +6 -0
- package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/NativeViewGestureHandler.js +41 -7
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +114 -7
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PinchGestureHandler.js +33 -3
- package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/RotationGestureHandler.js +34 -3
- package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +59 -5
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/interfaces.js +14 -9
- package/lib/module/web/interfaces.js.map +1 -1
- package/lib/module/web/tools/CircularBuffer.js +13 -3
- package/lib/module/web/tools/CircularBuffer.js.map +1 -1
- package/lib/module/web/tools/EventManager.js +39 -7
- package/lib/module/web/tools/EventManager.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerOrchestrator.js +71 -10
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +37 -7
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/module/web/tools/InteractionManager.js +19 -5
- package/lib/module/web/tools/InteractionManager.js.map +1 -1
- package/lib/module/web/tools/KeyboardEventManager.js +19 -3
- package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/module/web/tools/LeastSquareSolver.js +65 -30
- package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/module/web/tools/NodeManager.js +12 -7
- package/lib/module/web/tools/NodeManager.js.map +1 -1
- package/lib/module/web/tools/PointerEventManager.js +35 -9
- package/lib/module/web/tools/PointerEventManager.js.map +1 -1
- package/lib/module/web/tools/PointerTracker.js +39 -8
- package/lib/module/web/tools/PointerTracker.js.map +1 -1
- package/lib/module/web/tools/Vector.js +14 -3
- package/lib/module/web/tools/Vector.js.map +1 -1
- package/lib/module/web/tools/VelocityTracker.js +25 -8
- package/lib/module/web/tools/VelocityTracker.js.map +1 -1
- package/lib/module/web/tools/WheelEventManager.js +10 -3
- package/lib/module/web/tools/WheelEventManager.js.map +1 -1
- package/lib/module/web/utils.js +57 -22
- package/lib/module/web/utils.js.map +1 -1
- package/lib/module/web_hammer/DiscreteGestureHandler.js +13 -4
- package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/DraggingGestureHandler.js +5 -0
- package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/Errors.js +1 -0
- package/lib/module/web_hammer/Errors.js.map +1 -1
- package/lib/module/web_hammer/FlingGestureHandler.js +35 -10
- package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/GestureHandler.js +130 -53
- package/lib/module/web_hammer/GestureHandler.js.map +1 -1
- package/lib/module/web_hammer/IndiscreteGestureHandler.js +6 -1
- package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/LongPressGestureHandler.js +11 -2
- package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/NativeViewGestureHandler.js +12 -12
- package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/NodeManager.js +8 -6
- package/lib/module/web_hammer/NodeManager.js.map +1 -1
- package/lib/module/web_hammer/PanGestureHandler.js +40 -6
- package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PinchGestureHandler.js +5 -0
- package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PressGestureHandler.js +34 -13
- package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/RotationGestureHandler.js +6 -0
- package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/TapGestureHandler.js +45 -31
- package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/constants.js +1 -2
- package/lib/module/web_hammer/constants.js.map +1 -1
- package/lib/module/web_hammer/utils.js +2 -2
- package/lib/module/web_hammer/utils.js.map +1 -1
- package/lib/typescript/components/GestureComponents.d.ts +1 -1
- package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +5 -0
- package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +7 -0
- package/lib/typescript/components/touchables/GenericTouchable.d.ts +0 -2
- package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +2 -0
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +2 -2
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +3 -3
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +1 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -7
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +2 -2
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +2 -2
- package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +1 -1
- package/lib/typescript/utils.d.ts +1 -0
- package/lib/typescript/web/utils.d.ts +2 -0
- package/package.json +9 -8
- package/src/components/GestureComponents.tsx +1 -1
- package/src/components/ReanimatedDrawerLayout.tsx +17 -4
- package/src/components/Text.tsx +5 -0
- package/src/components/touchables/ExtraButtonProps.ts +7 -0
- package/src/components/touchables/GenericTouchable.tsx +0 -2
- package/src/components/touchables/GenericTouchableProps.ts +2 -0
- package/src/components/touchables/TouchableHighlight.tsx +2 -2
- package/src/components/touchables/TouchableNativeFeedback.android.tsx +1 -1
- package/src/components/touchables/TouchableNativeFeedback.tsx +1 -1
- package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -8
- package/src/components/touchables/TouchableOpacity.tsx +2 -2
- package/src/components/touchables/TouchableWithoutFeedback.tsx +22 -4
- package/src/handlers/createHandler.tsx +20 -9
- package/src/handlers/createNativeWrapper.tsx +7 -3
- package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +2 -4
- package/src/utils.ts +6 -0
- package/src/web/utils.ts +21 -3
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_State","require","_interfaces","_GestureHandlerOrchestrator","_interopRequireDefault","_InteractionManager","_PointerTracker","_gestureHandlerCommon","_PointerType","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GestureHandler","constructor","delegate","State","UNDETERMINED","enabled","PointerTracker","PointerType","MOUSE","newState","oldState","onGestureHandlerEvent","onGestureHandlerStateChange","propsRef","current","resultEvent","transformEventData","lastSentState","invokeNullableMethod","state","ACTIVE","nativeEvent","undefined","_delegate","init","viewRef","attachEventManager","manager","setOnPointerDown","onPointerDown","bind","setOnPointerAdd","onPointerAdd","setOnPointerUp","onPointerUp","setOnPointerRemove","onPointerRemove","setOnPointerMove","onPointerMove","setOnPointerEnter","onPointerEnter","setOnPointerLeave","onPointerLeave","setOnPointerCancel","onPointerCancel","setOnPointerOutOfBounds","onPointerOutOfBounds","setOnPointerMoveOver","onPointerMoveOver","setOnPointerMoveOut","onPointerMoveOut","setOnWheel","onWheel","registerListeners","onCancel","onReset","resetProgress","reset","tracker","resetTracker","moveToState","sendIfDisabled","trackedPointersCount","config","needsPointerData","isFinished","cancelTouches","GestureHandlerOrchestrator","instance","onHandlerStateChange","onStateChange","_newState","_oldState","begin","checkHitSlop","BEGAN","fail","onFail","FAILED","cancel","CANCELLED","activate","force","manualActivation","onActivate","end","onEnd","END","getShouldResetProgress","shouldResetProgress","setShouldResetProgress","shouldWaitForHandlerFailure","handler","InteractionManager","shouldRequireToWaitForFailure","shouldRequireHandlerToWaitForFailure","shouldRecognizeSimultaneously","shouldBeCancelledByOther","shouldHandlerBeCancelledBy","event","recordHandlerIfNotPresent","pointerType","TOUCH","cancelMouseAndPenGestures","tryToSendTouchEvent","tryToSendMoveEvent","shouldCancelWhenOutside","_event","out","active","sendEvent","sendTouchEvent","touchEvent","transformTouchEvent","numberOfPointers","pointerInside","isPointerInBounds","getAbsoluteCoordsAverage","transformNativeEvent","handlerTag","target","timeStamp","Date","now","rect","measureView","all","changed","trackerData","trackedPointers","size","has","pointerId","forEach","element","key","id","getMappedTouchEventId","push","x","abosoluteCoords","pageX","y","pageY","absoluteX","absoluteY","eventType","EventTypes","CANCEL","TouchEventType","DOWN","ADDITIONAL_POINTER_DOWN","UP","ADDITIONAL_POINTER_UP","MOVE","numberOfTouches","length","changedTouches","allTouches","cancelEvent","lastCoords","lastRelativeCoords","getRelativeCoordsAverage","updateGestureConfig","props","_config","onEnabledChange","validateHitSlops","removeHandlerFromOrchestrator","checkCustomActivationCriteria","criterias","indexOf","hasCustomActivationCriteria","hitSlop","left","right","width","Error","height","top","bottom","horizontal","vertical","getLastAbsoluteCoords","offsetX","offsetY","isButtonInConfig","mouseButton","MouseButton","LEFT","resetConfig","onDestroy","destroy","_handlerTag","_tracker","_state","_shouldCancelWhenOutside","_enabled","_pointerType","_active","awaiting","_awaiting","activationIndex","_activationIndex","_shouldResetProgress","getTrackedPointersID","trackedPointersIDs","exports","method","__getHandler","argMapping","__nodeConfig","Array","isArray","index","entries","nativeValue","setValue"],"sources":["GestureHandler.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\nimport { State } from '../../State';\nimport {\n Config,\n AdaptedEvent,\n PropsRef,\n ResultEvent,\n PointerData,\n ResultTouchEvent,\n TouchEventType,\n EventTypes,\n} from '../interfaces';\nimport EventManager from '../tools/EventManager';\nimport GestureHandlerOrchestrator from '../tools/GestureHandlerOrchestrator';\nimport InteractionManager from '../tools/InteractionManager';\nimport PointerTracker, { TrackerElement } from '../tools/PointerTracker';\nimport IGestureHandler from './IGestureHandler';\nimport { MouseButton } from '../../handlers/gestureHandlerCommon';\nimport { PointerType } from '../../PointerType';\nimport { GestureHandlerDelegate } from '../tools/GestureHandlerDelegate';\n\nexport default abstract class GestureHandler implements IGestureHandler {\n private lastSentState: State | null = null;\n\n private _state: State = State.UNDETERMINED;\n\n private _shouldCancelWhenOutside = false;\n protected hasCustomActivationCriteria = false;\n private _enabled = false;\n\n private viewRef!: number;\n private propsRef!: React.RefObject<unknown>;\n private _handlerTag!: number;\n private _config: Config = { enabled: false };\n\n private _tracker: PointerTracker = new PointerTracker();\n\n // Orchestrator properties\n private _activationIndex = 0;\n\n private _awaiting = false;\n private _active = false;\n\n private _shouldResetProgress = false;\n private _pointerType: PointerType = PointerType.MOUSE;\n\n private _delegate: GestureHandlerDelegate<unknown, IGestureHandler>;\n\n public constructor(\n delegate: GestureHandlerDelegate<unknown, IGestureHandler>\n ) {\n this._delegate = delegate;\n }\n\n //\n // Initializing handler\n //\n\n protected init(viewRef: number, propsRef: React.RefObject<unknown>) {\n this.propsRef = propsRef;\n this.viewRef = viewRef;\n\n this.state = State.UNDETERMINED;\n\n this.delegate.init(viewRef, this);\n }\n\n public attachEventManager(manager: EventManager<unknown>): void {\n manager.setOnPointerDown(this.onPointerDown.bind(this));\n manager.setOnPointerAdd(this.onPointerAdd.bind(this));\n manager.setOnPointerUp(this.onPointerUp.bind(this));\n manager.setOnPointerRemove(this.onPointerRemove.bind(this));\n manager.setOnPointerMove(this.onPointerMove.bind(this));\n manager.setOnPointerEnter(this.onPointerEnter.bind(this));\n manager.setOnPointerLeave(this.onPointerLeave.bind(this));\n manager.setOnPointerCancel(this.onPointerCancel.bind(this));\n manager.setOnPointerOutOfBounds(this.onPointerOutOfBounds.bind(this));\n manager.setOnPointerMoveOver(this.onPointerMoveOver.bind(this));\n manager.setOnPointerMoveOut(this.onPointerMoveOut.bind(this));\n manager.setOnWheel(this.onWheel.bind(this));\n\n manager.registerListeners();\n }\n\n //\n // Resetting handler\n //\n\n protected onCancel(): void {}\n protected onReset(): void {}\n protected resetProgress(): void {}\n\n public reset(): void {\n this.tracker.resetTracker();\n this.onReset();\n this.resetProgress();\n this.delegate.reset();\n this.state = State.UNDETERMINED;\n }\n\n //\n // State logic\n //\n\n public moveToState(newState: State, sendIfDisabled?: boolean) {\n if (this.state === newState) {\n return;\n }\n\n const oldState = this.state;\n this.state = newState;\n\n if (\n this.tracker.trackedPointersCount > 0 &&\n this.config.needsPointerData &&\n this.isFinished()\n ) {\n this.cancelTouches();\n }\n\n GestureHandlerOrchestrator.instance.onHandlerStateChange(\n this,\n newState,\n oldState,\n sendIfDisabled\n );\n\n this.onStateChange(newState, oldState);\n\n if (!this.enabled && this.isFinished()) {\n this.state = State.UNDETERMINED;\n }\n }\n\n protected onStateChange(_newState: State, _oldState: State): void {}\n\n public begin(): void {\n if (!this.checkHitSlop()) {\n return;\n }\n\n if (this.state === State.UNDETERMINED) {\n this.moveToState(State.BEGAN);\n }\n }\n\n /**\n * @param {boolean} sendIfDisabled - Used when handler becomes disabled. With this flag orchestrator will be forced to send fail event\n */\n public fail(sendIfDisabled?: boolean): void {\n if (this.state === State.ACTIVE || this.state === State.BEGAN) {\n // Here the order of calling the delegate and moveToState is important.\n // At this point we can use currentState as previuos state, because immediately after changing cursor we call moveToState method.\n this.delegate.onFail();\n\n this.moveToState(State.FAILED, sendIfDisabled);\n }\n\n this.resetProgress();\n }\n\n /**\n * @param {boolean} sendIfDisabled - Used when handler becomes disabled. With this flag orchestrator will be forced to send cancel event\n */\n public cancel(sendIfDisabled?: boolean): void {\n if (\n this.state === State.ACTIVE ||\n this.state === State.UNDETERMINED ||\n this.state === State.BEGAN\n ) {\n this.onCancel();\n\n // Same as above - order matters\n this.delegate.onCancel();\n\n this.moveToState(State.CANCELLED, sendIfDisabled);\n }\n }\n\n public activate(force = false) {\n if (\n (this.config.manualActivation !== true || force) &&\n (this.state === State.UNDETERMINED || this.state === State.BEGAN)\n ) {\n this.delegate.onActivate();\n this.moveToState(State.ACTIVE);\n }\n }\n\n public end() {\n if (this.state === State.BEGAN || this.state === State.ACTIVE) {\n // Same as above - order matters\n this.delegate.onEnd();\n\n this.moveToState(State.END);\n }\n\n this.resetProgress();\n }\n\n //\n // Methods for orchestrator\n //\n\n public getShouldResetProgress(): boolean {\n return this.shouldResetProgress;\n }\n public setShouldResetProgress(value: boolean): void {\n this.shouldResetProgress = value;\n }\n\n public shouldWaitForHandlerFailure(handler: IGestureHandler): boolean {\n if (handler === this) {\n return false;\n }\n\n return InteractionManager.instance.shouldWaitForHandlerFailure(\n this,\n handler\n );\n }\n\n public shouldRequireToWaitForFailure(handler: IGestureHandler): boolean {\n if (handler === this) {\n return false;\n }\n\n return InteractionManager.instance.shouldRequireHandlerToWaitForFailure(\n this,\n handler\n );\n }\n\n public shouldRecognizeSimultaneously(handler: IGestureHandler): boolean {\n if (handler === this) {\n return true;\n }\n\n return InteractionManager.instance.shouldRecognizeSimultaneously(\n this,\n handler\n );\n }\n\n public shouldBeCancelledByOther(handler: IGestureHandler): boolean {\n if (handler === this) {\n return false;\n }\n\n return InteractionManager.instance.shouldHandlerBeCancelledBy(\n this,\n handler\n );\n }\n\n //\n // Event actions\n //\n\n protected onPointerDown(event: AdaptedEvent): void {\n GestureHandlerOrchestrator.instance.recordHandlerIfNotPresent(this);\n this.pointerType = event.pointerType;\n\n if (this.pointerType === PointerType.TOUCH) {\n GestureHandlerOrchestrator.instance.cancelMouseAndPenGestures(this);\n }\n\n // TODO: Bring back touch events along with introducing `handleDown` method that will handle handler specific stuff\n }\n // Adding another pointer to existing ones\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n }\n protected onPointerUp(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n }\n // Removing pointer, when there is more than one pointers\n protected onPointerRemove(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n }\n protected onPointerMove(event: AdaptedEvent): void {\n this.tryToSendMoveEvent(false, event);\n }\n protected onPointerLeave(event: AdaptedEvent): void {\n if (this.shouldCancelWhenOutside) {\n switch (this.state) {\n case State.ACTIVE:\n this.cancel();\n break;\n case State.BEGAN:\n this.fail();\n break;\n }\n return;\n }\n\n this.tryToSendTouchEvent(event);\n }\n protected onPointerEnter(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n }\n protected onPointerCancel(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n\n this.cancel();\n this.reset();\n }\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n this.tryToSendMoveEvent(true, event);\n }\n protected onPointerMoveOver(_event: AdaptedEvent): void {\n // Used only by hover gesture handler atm\n }\n protected onPointerMoveOut(_event: AdaptedEvent): void {\n // Used only by hover gesture handler atm\n }\n protected onWheel(_event: AdaptedEvent): void {\n // Used only by pan gesture handler\n }\n protected tryToSendMoveEvent(out: boolean, event: AdaptedEvent): void {\n if ((out && this.shouldCancelWhenOutside) || !this.enabled) {\n return;\n }\n\n if (this.active) {\n this.sendEvent(this.state, this.state);\n }\n\n this.tryToSendTouchEvent(event);\n }\n\n protected tryToSendTouchEvent(event: AdaptedEvent): void {\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n\n public sendTouchEvent(event: AdaptedEvent): void {\n if (!this.enabled) {\n return;\n }\n\n const { onGestureHandlerEvent }: PropsRef = this.propsRef\n .current as PropsRef;\n\n const touchEvent: ResultTouchEvent | undefined =\n this.transformTouchEvent(event);\n\n if (touchEvent) {\n invokeNullableMethod(onGestureHandlerEvent, touchEvent);\n }\n }\n\n //\n // Events Sending\n //\n\n public sendEvent = (newState: State, oldState: State): void => {\n const { onGestureHandlerEvent, onGestureHandlerStateChange }: PropsRef =\n this.propsRef.current as PropsRef;\n\n const resultEvent: ResultEvent = this.transformEventData(\n newState,\n oldState\n );\n\n // In the new API oldState field has to be undefined, unless we send event state changed\n // Here the order is flipped to avoid workarounds such as making backup of the state and setting it to undefined first, then changing it back\n // Flipping order with setting oldState to undefined solves issue, when events were being sent twice instead of once\n // However, this may cause trouble in the future (but for now we don't know that)\n\n if (this.lastSentState !== newState) {\n this.lastSentState = newState;\n invokeNullableMethod(onGestureHandlerStateChange, resultEvent);\n }\n if (this.state === State.ACTIVE) {\n resultEvent.nativeEvent.oldState = undefined;\n invokeNullableMethod(onGestureHandlerEvent, resultEvent);\n }\n };\n\n private transformEventData(newState: State, oldState: State): ResultEvent {\n return {\n nativeEvent: {\n numberOfPointers: this.tracker.trackedPointersCount,\n state: newState,\n pointerInside: this.delegate.isPointerInBounds(\n this.tracker.getAbsoluteCoordsAverage()\n ),\n ...this.transformNativeEvent(),\n handlerTag: this.handlerTag,\n target: this.viewRef,\n oldState: newState !== oldState ? oldState : undefined,\n pointerType: this.pointerType,\n },\n timeStamp: Date.now(),\n };\n }\n\n private transformTouchEvent(\n event: AdaptedEvent\n ): ResultTouchEvent | undefined {\n const rect = this.delegate.measureView();\n\n const all: PointerData[] = [];\n const changed: PointerData[] = [];\n\n const trackerData = this.tracker.trackedPointers;\n\n // This if handles edge case where all pointers have been cancelled\n // When pointercancel is triggered, reset method is called. This means that tracker will be reset after first pointer being cancelled\n // The problem is, that handler will receive another pointercancel event from the rest of the pointers\n // To avoid crashing, we don't send event if tracker tracks no pointers, i.e. has been reset\n if (trackerData.size === 0 || !trackerData.has(event.pointerId)) {\n return;\n }\n\n trackerData.forEach((element: TrackerElement, key: number): void => {\n const id: number = this.tracker.getMappedTouchEventId(key);\n\n all.push({\n id: id,\n x: element.abosoluteCoords.x - rect.pageX,\n y: element.abosoluteCoords.y - rect.pageY,\n absoluteX: element.abosoluteCoords.x,\n absoluteY: element.abosoluteCoords.y,\n });\n });\n\n // Each pointer sends its own event, so we want changed touches to contain only the pointer that has changed.\n // However, if the event is cancel, we want to cancel all pointers to avoid crashes\n if (event.eventType !== EventTypes.CANCEL) {\n changed.push({\n id: this.tracker.getMappedTouchEventId(event.pointerId),\n x: event.x - rect.pageX,\n y: event.y - rect.pageY,\n absoluteX: event.x,\n absoluteY: event.y,\n });\n } else {\n trackerData.forEach((element: TrackerElement, key: number): void => {\n const id: number = this.tracker.getMappedTouchEventId(key);\n\n changed.push({\n id: id,\n x: element.abosoluteCoords.x - rect.pageX,\n y: element.abosoluteCoords.y - rect.pageY,\n absoluteX: element.abosoluteCoords.x,\n absoluteY: element.abosoluteCoords.y,\n });\n });\n }\n\n let eventType: TouchEventType = TouchEventType.UNDETERMINED;\n\n switch (event.eventType) {\n case EventTypes.DOWN:\n case EventTypes.ADDITIONAL_POINTER_DOWN:\n eventType = TouchEventType.DOWN;\n break;\n case EventTypes.UP:\n case EventTypes.ADDITIONAL_POINTER_UP:\n eventType = TouchEventType.UP;\n break;\n case EventTypes.MOVE:\n eventType = TouchEventType.MOVE;\n break;\n case EventTypes.CANCEL:\n eventType = TouchEventType.CANCELLED;\n break;\n }\n\n // Here, when we receive up event, we want to decrease number of touches\n // That's because we want handler to send information that there's one pointer less\n // However, we still want this pointer to be present in allTouches array, so that its data can be accessed\n let numberOfTouches: number = all.length;\n\n if (\n event.eventType === EventTypes.UP ||\n event.eventType === EventTypes.ADDITIONAL_POINTER_UP\n ) {\n --numberOfTouches;\n }\n\n return {\n nativeEvent: {\n handlerTag: this.handlerTag,\n state: this.state,\n eventType: eventType,\n changedTouches: changed,\n allTouches: all,\n numberOfTouches: numberOfTouches,\n pointerType: this.pointerType,\n },\n timeStamp: Date.now(),\n };\n }\n\n private cancelTouches(): void {\n const rect = this.delegate.measureView();\n\n const all: PointerData[] = [];\n const changed: PointerData[] = [];\n\n const trackerData = this.tracker.trackedPointers;\n\n if (trackerData.size === 0) {\n return;\n }\n\n trackerData.forEach((element: TrackerElement, key: number): void => {\n const id: number = this.tracker.getMappedTouchEventId(key);\n\n all.push({\n id: id,\n x: element.abosoluteCoords.x - rect.pageX,\n y: element.abosoluteCoords.y - rect.pageY,\n absoluteX: element.abosoluteCoords.x,\n absoluteY: element.abosoluteCoords.y,\n });\n\n changed.push({\n id: id,\n x: element.abosoluteCoords.x - rect.pageX,\n y: element.abosoluteCoords.y - rect.pageY,\n absoluteX: element.abosoluteCoords.x,\n absoluteY: element.abosoluteCoords.y,\n });\n });\n\n const cancelEvent: ResultTouchEvent = {\n nativeEvent: {\n handlerTag: this.handlerTag,\n state: this.state,\n eventType: TouchEventType.CANCELLED,\n changedTouches: changed,\n allTouches: all,\n numberOfTouches: all.length,\n pointerType: this.pointerType,\n },\n timeStamp: Date.now(),\n };\n\n const { onGestureHandlerEvent }: PropsRef = this.propsRef\n .current as PropsRef;\n\n invokeNullableMethod(onGestureHandlerEvent, cancelEvent);\n }\n\n protected transformNativeEvent(): Record<string, unknown> {\n // Those properties are shared by most handlers and if not this method will be overriden\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n const lastRelativeCoords = this.tracker.getRelativeCoordsAverage();\n\n return {\n x: lastRelativeCoords.x,\n y: lastRelativeCoords.y,\n absoluteX: lastCoords.x,\n absoluteY: lastCoords.y,\n };\n }\n\n //\n // Handling config\n //\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n this._config = { enabled: enabled, ...props };\n this.enabled = enabled;\n\n this.delegate.onEnabledChange(enabled);\n\n if (this.config.shouldCancelWhenOutside !== undefined) {\n this.shouldCancelWhenOutside = this.config.shouldCancelWhenOutside;\n }\n\n this.validateHitSlops();\n\n if (this.enabled) {\n return;\n }\n\n switch (this.state) {\n case State.ACTIVE:\n this.fail(true);\n break;\n case State.UNDETERMINED:\n GestureHandlerOrchestrator.instance.removeHandlerFromOrchestrator(this);\n break;\n default:\n this.cancel(true);\n break;\n }\n }\n\n protected checkCustomActivationCriteria(criterias: string[]): void {\n for (const key in this.config) {\n if (criterias.indexOf(key) >= 0) {\n this.hasCustomActivationCriteria = true;\n }\n }\n }\n\n private validateHitSlops(): void {\n if (!this.config.hitSlop) {\n return;\n }\n\n if (\n this.config.hitSlop.left !== undefined &&\n this.config.hitSlop.right !== undefined &&\n this.config.hitSlop.width !== undefined\n ) {\n throw new Error(\n 'HitSlop Error: Cannot define left, right and width at the same time'\n );\n }\n\n if (\n this.config.hitSlop.width !== undefined &&\n this.config.hitSlop.left === undefined &&\n this.config.hitSlop.right === undefined\n ) {\n throw new Error(\n 'HitSlop Error: When width is defined, either left or right has to be defined'\n );\n }\n\n if (\n this.config.hitSlop.height !== undefined &&\n this.config.hitSlop.top !== undefined &&\n this.config.hitSlop.bottom !== undefined\n ) {\n throw new Error(\n 'HitSlop Error: Cannot define top, bottom and height at the same time'\n );\n }\n\n if (\n this.config.hitSlop.height !== undefined &&\n this.config.hitSlop.top === undefined &&\n this.config.hitSlop.bottom === undefined\n ) {\n throw new Error(\n 'HitSlop Error: When height is defined, either top or bottom has to be defined'\n );\n }\n }\n\n private checkHitSlop(): boolean {\n if (!this.config.hitSlop) {\n return true;\n }\n\n const { width, height } = this.delegate.measureView();\n\n let left = 0;\n let top = 0;\n let right: number = width;\n let bottom: number = height;\n\n if (this.config.hitSlop.horizontal !== undefined) {\n left -= this.config.hitSlop.horizontal;\n right += this.config.hitSlop.horizontal;\n }\n\n if (this.config.hitSlop.vertical !== undefined) {\n top -= this.config.hitSlop.vertical;\n bottom += this.config.hitSlop.vertical;\n }\n\n if (this.config.hitSlop.left !== undefined) {\n left = -this.config.hitSlop.left;\n }\n\n if (this.config.hitSlop.right !== undefined) {\n right = width + this.config.hitSlop.right;\n }\n\n if (this.config.hitSlop.top !== undefined) {\n top = -this.config.hitSlop.top;\n }\n\n if (this.config.hitSlop.bottom !== undefined) {\n bottom = width + this.config.hitSlop.bottom;\n }\n if (this.config.hitSlop.width !== undefined) {\n if (this.config.hitSlop.left !== undefined) {\n right = left + this.config.hitSlop.width;\n } else if (this.config.hitSlop.right !== undefined) {\n left = right - this.config.hitSlop.width;\n }\n }\n\n if (this.config.hitSlop.height !== undefined) {\n if (this.config.hitSlop.top !== undefined) {\n bottom = top + this.config.hitSlop.height;\n } else if (this.config.hitSlop.bottom !== undefined) {\n top = bottom - this.config.hitSlop.height;\n }\n }\n\n const rect = this.delegate.measureView();\n const { x, y } = this.tracker.getLastAbsoluteCoords();\n const offsetX: number = x - rect.pageX;\n const offsetY: number = y - rect.pageY;\n\n return (\n offsetX >= left && offsetX <= right && offsetY >= top && offsetY <= bottom\n );\n }\n\n public isButtonInConfig(mouseButton: MouseButton | undefined) {\n return (\n !mouseButton ||\n (!this.config.mouseButton && mouseButton === MouseButton.LEFT) ||\n (this.config.mouseButton && mouseButton & this.config.mouseButton)\n );\n }\n\n protected resetConfig(): void {}\n\n public onDestroy(): void {\n this.delegate.destroy(this.config);\n }\n\n //\n // Getters and setters\n //\n\n public get handlerTag() {\n return this._handlerTag;\n }\n public set handlerTag(value: number) {\n this._handlerTag = value;\n }\n\n public get config(): Config {\n return this._config;\n }\n\n public get delegate() {\n return this._delegate;\n }\n\n public get tracker() {\n return this._tracker;\n }\n\n public get state(): State {\n return this._state;\n }\n protected set state(value: State) {\n this._state = value;\n }\n\n public get shouldCancelWhenOutside() {\n return this._shouldCancelWhenOutside;\n }\n protected set shouldCancelWhenOutside(value) {\n this._shouldCancelWhenOutside = value;\n }\n\n public get enabled() {\n return this._enabled;\n }\n protected set enabled(value) {\n this._enabled = value;\n }\n\n public get pointerType(): PointerType {\n return this._pointerType;\n }\n protected set pointerType(value: PointerType) {\n this._pointerType = value;\n }\n\n public get active() {\n return this._active;\n }\n protected set active(value) {\n this._active = value;\n }\n\n public get awaiting() {\n return this._awaiting;\n }\n protected set awaiting(value) {\n this._awaiting = value;\n }\n\n public get activationIndex() {\n return this._activationIndex;\n }\n protected set activationIndex(value) {\n this._activationIndex = value;\n }\n\n public get shouldResetProgress() {\n return this._shouldResetProgress;\n }\n protected set shouldResetProgress(value) {\n this._shouldResetProgress = value;\n }\n\n public getTrackedPointersID(): number[] {\n return this.tracker.trackedPointersIDs;\n }\n\n private isFinished(): boolean {\n return (\n this.state === State.END ||\n this.state === State.FAILED ||\n this.state === State.CANCELLED\n );\n }\n}\n\nfunction invokeNullableMethod(\n method:\n | ((event: ResultEvent | ResultTouchEvent) => void)\n | { __getHandler: () => (event: ResultEvent | ResultTouchEvent) => void }\n | { __nodeConfig: { argMapping: unknown[] } },\n event: ResultEvent | ResultTouchEvent\n): void {\n if (!method) {\n return;\n }\n\n if (typeof method === 'function') {\n method(event);\n return;\n }\n\n if ('__getHandler' in method && typeof method.__getHandler === 'function') {\n const handler = method.__getHandler();\n invokeNullableMethod(handler, event);\n return;\n }\n\n if (!('__nodeConfig' in method)) {\n return;\n }\n\n const { argMapping }: { argMapping: unknown } = method.__nodeConfig;\n if (!Array.isArray(argMapping)) {\n return;\n }\n\n for (const [index, [key, value]] of argMapping.entries()) {\n if (!(key in event.nativeEvent)) {\n continue;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const nativeValue = event.nativeEvent[key];\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (value?.setValue) {\n // Reanimated API\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n value.setValue(nativeValue);\n } else {\n // RN Animated API\n method.__nodeConfig.argMapping[index] = [key, nativeValue];\n }\n }\n\n return;\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"sources":["GestureHandler.ts"],"names":["GestureHandler","constructor","delegate","State","UNDETERMINED","enabled","PointerTracker","PointerType","MOUSE","newState","oldState","onGestureHandlerEvent","onGestureHandlerStateChange","propsRef","current","resultEvent","transformEventData","lastSentState","invokeNullableMethod","state","ACTIVE","nativeEvent","undefined","_delegate","init","viewRef","attachEventManager","manager","setOnPointerDown","onPointerDown","bind","setOnPointerAdd","onPointerAdd","setOnPointerUp","onPointerUp","setOnPointerRemove","onPointerRemove","setOnPointerMove","onPointerMove","setOnPointerEnter","onPointerEnter","setOnPointerLeave","onPointerLeave","setOnPointerCancel","onPointerCancel","setOnPointerOutOfBounds","onPointerOutOfBounds","setOnPointerMoveOver","onPointerMoveOver","setOnPointerMoveOut","onPointerMoveOut","setOnWheel","onWheel","registerListeners","onCancel","onReset","resetProgress","reset","tracker","resetTracker","moveToState","sendIfDisabled","trackedPointersCount","config","needsPointerData","isFinished","cancelTouches","GestureHandlerOrchestrator","instance","onHandlerStateChange","onStateChange","_newState","_oldState","begin","checkHitSlop","BEGAN","fail","onFail","FAILED","cancel","CANCELLED","activate","force","manualActivation","onActivate","end","onEnd","END","getShouldResetProgress","shouldResetProgress","setShouldResetProgress","value","shouldWaitForHandlerFailure","handler","InteractionManager","shouldRequireToWaitForFailure","shouldRequireHandlerToWaitForFailure","shouldRecognizeSimultaneously","shouldBeCancelledByOther","shouldHandlerBeCancelledBy","event","recordHandlerIfNotPresent","pointerType","TOUCH","cancelMouseAndPenGestures","tryToSendTouchEvent","tryToSendMoveEvent","shouldCancelWhenOutside","_event","out","active","sendEvent","sendTouchEvent","touchEvent","transformTouchEvent","numberOfPointers","pointerInside","isPointerInBounds","getAbsoluteCoordsAverage","transformNativeEvent","handlerTag","target","timeStamp","Date","now","rect","measureView","all","changed","trackerData","trackedPointers","size","has","pointerId","forEach","element","key","id","getMappedTouchEventId","push","x","abosoluteCoords","pageX","y","pageY","absoluteX","absoluteY","eventType","EventTypes","CANCEL","TouchEventType","DOWN","ADDITIONAL_POINTER_DOWN","UP","ADDITIONAL_POINTER_UP","MOVE","numberOfTouches","length","changedTouches","allTouches","cancelEvent","lastCoords","lastRelativeCoords","getRelativeCoordsAverage","updateGestureConfig","props","_config","onEnabledChange","validateHitSlops","removeHandlerFromOrchestrator","checkCustomActivationCriteria","criterias","indexOf","hasCustomActivationCriteria","hitSlop","left","right","width","Error","height","top","bottom","horizontal","vertical","getLastAbsoluteCoords","offsetX","offsetY","isButtonInConfig","mouseButton","MouseButton","LEFT","resetConfig","onDestroy","destroy","_handlerTag","_tracker","_state","_shouldCancelWhenOutside","_enabled","_pointerType","_active","awaiting","_awaiting","activationIndex","_activationIndex","_shouldResetProgress","getTrackedPointersID","trackedPointersIDs","method","__getHandler","argMapping","__nodeConfig","Array","isArray","index","entries","nativeValue","setValue"],"mappings":";;;;;;;AACA;;AACA;;AAWA;;AACA;;AACA;;AAEA;;AACA;;;;;;AAGe,MAAeA,cAAf,CAAyD;AAgBtE;AAWOC,EAAAA,WAAW,CAChBC,QADgB,EAEhB;AAAA,2CA5BoC,IA4BpC;;AAAA,oCA1BsBC,aAAMC,YA0B5B;;AAAA,sDAxBiC,KAwBjC;;AAAA,yDAvBsC,KAuBtC;;AAAA,sCAtBiB,KAsBjB;;AAAA;;AAAA;;AAAA;;AAAA,qCAjBwB;AAAEC,MAAAA,OAAO,EAAE;AAAX,KAiBxB;;AAAA,sCAfiC,IAAIC,uBAAJ,EAejC;;AAAA,8CAZyB,CAYzB;;AAAA,uCAVkB,KAUlB;;AAAA,qCATgB,KAShB;;AAAA,kDAP6B,KAO7B;;AAAA,0CANkCC,yBAAYC,KAM9C;;AAAA;;AAAA,uCAmTiB,CAACC,QAAD,EAAkBC,QAAlB,KAA4C;AAC7D,YAAM;AAAEC,QAAAA,qBAAF;AAAyBC,QAAAA;AAAzB,UACJ,KAAKC,QAAL,CAAcC,OADhB;AAGA,YAAMC,WAAwB,GAAG,KAAKC,kBAAL,CAC/BP,QAD+B,EAE/BC,QAF+B,CAAjC,CAJ6D,CAS7D;AACA;AACA;AACA;;AAEA,UAAI,KAAKO,aAAL,KAAuBR,QAA3B,EAAqC;AACnC,aAAKQ,aAAL,GAAqBR,QAArB;AACAS,QAAAA,oBAAoB,CAACN,2BAAD,EAA8BG,WAA9B,CAApB;AACD;;AACD,UAAI,KAAKI,KAAL,KAAehB,aAAMiB,MAAzB,EAAiC;AAC/BL,QAAAA,WAAW,CAACM,WAAZ,CAAwBX,QAAxB,GAAmCY,SAAnC;AACAJ,QAAAA,oBAAoB,CAACP,qBAAD,EAAwBI,WAAxB,CAApB;AACD;AACF,KAzUC;;AACA,SAAKQ,SAAL,GAAiBrB,QAAjB;AACD,GA/BqE,CAiCtE;AACA;AACA;;;AAEUsB,EAAAA,IAAI,CAACC,OAAD,EAAkBZ,QAAlB,EAAsD;AAClE,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKY,OAAL,GAAeA,OAAf;AAEA,SAAKN,KAAL,GAAahB,aAAMC,YAAnB;AAEA,SAAKF,QAAL,CAAcsB,IAAd,CAAmBC,OAAnB,EAA4B,IAA5B;AACD;;AAEMC,EAAAA,kBAAkB,CAACC,OAAD,EAAuC;AAC9DA,IAAAA,OAAO,CAACC,gBAAR,CAAyB,KAAKC,aAAL,CAAmBC,IAAnB,CAAwB,IAAxB,CAAzB;AACAH,IAAAA,OAAO,CAACI,eAAR,CAAwB,KAAKC,YAAL,CAAkBF,IAAlB,CAAuB,IAAvB,CAAxB;AACAH,IAAAA,OAAO,CAACM,cAAR,CAAuB,KAAKC,WAAL,CAAiBJ,IAAjB,CAAsB,IAAtB,CAAvB;AACAH,IAAAA,OAAO,CAACQ,kBAAR,CAA2B,KAAKC,eAAL,CAAqBN,IAArB,CAA0B,IAA1B,CAA3B;AACAH,IAAAA,OAAO,CAACU,gBAAR,CAAyB,KAAKC,aAAL,CAAmBR,IAAnB,CAAwB,IAAxB,CAAzB;AACAH,IAAAA,OAAO,CAACY,iBAAR,CAA0B,KAAKC,cAAL,CAAoBV,IAApB,CAAyB,IAAzB,CAA1B;AACAH,IAAAA,OAAO,CAACc,iBAAR,CAA0B,KAAKC,cAAL,CAAoBZ,IAApB,CAAyB,IAAzB,CAA1B;AACAH,IAAAA,OAAO,CAACgB,kBAAR,CAA2B,KAAKC,eAAL,CAAqBd,IAArB,CAA0B,IAA1B,CAA3B;AACAH,IAAAA,OAAO,CAACkB,uBAAR,CAAgC,KAAKC,oBAAL,CAA0BhB,IAA1B,CAA+B,IAA/B,CAAhC;AACAH,IAAAA,OAAO,CAACoB,oBAAR,CAA6B,KAAKC,iBAAL,CAAuBlB,IAAvB,CAA4B,IAA5B,CAA7B;AACAH,IAAAA,OAAO,CAACsB,mBAAR,CAA4B,KAAKC,gBAAL,CAAsBpB,IAAtB,CAA2B,IAA3B,CAA5B;AACAH,IAAAA,OAAO,CAACwB,UAAR,CAAmB,KAAKC,OAAL,CAAatB,IAAb,CAAkB,IAAlB,CAAnB;AAEAH,IAAAA,OAAO,CAAC0B,iBAAR;AACD,GA7DqE,CA+DtE;AACA;AACA;;;AAEUC,EAAAA,QAAQ,GAAS,CAAE;;AACnBC,EAAAA,OAAO,GAAS,CAAE;;AAClBC,EAAAA,aAAa,GAAS,CAAE;;AAE3BC,EAAAA,KAAK,GAAS;AACnB,SAAKC,OAAL,CAAaC,YAAb;AACA,SAAKJ,OAAL;AACA,SAAKC,aAAL;AACA,SAAKtD,QAAL,CAAcuD,KAAd;AACA,SAAKtC,KAAL,GAAahB,aAAMC,YAAnB;AACD,GA7EqE,CA+EtE;AACA;AACA;;;AAEOwD,EAAAA,WAAW,CAACnD,QAAD,EAAkBoD,cAAlB,EAA4C;AAC5D,QAAI,KAAK1C,KAAL,KAAeV,QAAnB,EAA6B;AAC3B;AACD;;AAED,UAAMC,QAAQ,GAAG,KAAKS,KAAtB;AACA,SAAKA,KAAL,GAAaV,QAAb;;AAEA,QACE,KAAKiD,OAAL,CAAaI,oBAAb,GAAoC,CAApC,IACA,KAAKC,MAAL,CAAYC,gBADZ,IAEA,KAAKC,UAAL,EAHF,EAIE;AACA,WAAKC,aAAL;AACD;;AAEDC,wCAA2BC,QAA3B,CAAoCC,oBAApC,CACE,IADF,EAEE5D,QAFF,EAGEC,QAHF,EAIEmD,cAJF;;AAOA,SAAKS,aAAL,CAAmB7D,QAAnB,EAA6BC,QAA7B;;AAEA,QAAI,CAAC,KAAKL,OAAN,IAAiB,KAAK4D,UAAL,EAArB,EAAwC;AACtC,WAAK9C,KAAL,GAAahB,aAAMC,YAAnB;AACD;AACF;;AAESkE,EAAAA,aAAa,CAACC,SAAD,EAAmBC,SAAnB,EAA2C,CAAE;;AAE7DC,EAAAA,KAAK,GAAS;AACnB,QAAI,CAAC,KAAKC,YAAL,EAAL,EAA0B;AACxB;AACD;;AAED,QAAI,KAAKvD,KAAL,KAAehB,aAAMC,YAAzB,EAAuC;AACrC,WAAKwD,WAAL,CAAiBzD,aAAMwE,KAAvB;AACD;AACF;AAED;AACF;AACA;;;AACSC,EAAAA,IAAI,CAACf,cAAD,EAAiC;AAC1C,QAAI,KAAK1C,KAAL,KAAehB,aAAMiB,MAArB,IAA+B,KAAKD,KAAL,KAAehB,aAAMwE,KAAxD,EAA+D;AAC7D;AACA;AACA,WAAKzE,QAAL,CAAc2E,MAAd;AAEA,WAAKjB,WAAL,CAAiBzD,aAAM2E,MAAvB,EAA+BjB,cAA/B;AACD;;AAED,SAAKL,aAAL;AACD;AAED;AACF;AACA;;;AACSuB,EAAAA,MAAM,CAAClB,cAAD,EAAiC;AAC5C,QACE,KAAK1C,KAAL,KAAehB,aAAMiB,MAArB,IACA,KAAKD,KAAL,KAAehB,aAAMC,YADrB,IAEA,KAAKe,KAAL,KAAehB,aAAMwE,KAHvB,EAIE;AACA,WAAKrB,QAAL,GADA,CAGA;;AACA,WAAKpD,QAAL,CAAcoD,QAAd;AAEA,WAAKM,WAAL,CAAiBzD,aAAM6E,SAAvB,EAAkCnB,cAAlC;AACD;AACF;;AAEMoB,EAAAA,QAAQ,CAACC,KAAK,GAAG,KAAT,EAAgB;AAC7B,QACE,CAAC,KAAKnB,MAAL,CAAYoB,gBAAZ,KAAiC,IAAjC,IAAyCD,KAA1C,MACC,KAAK/D,KAAL,KAAehB,aAAMC,YAArB,IAAqC,KAAKe,KAAL,KAAehB,aAAMwE,KAD3D,CADF,EAGE;AACA,WAAKzE,QAAL,CAAckF,UAAd;AACA,WAAKxB,WAAL,CAAiBzD,aAAMiB,MAAvB;AACD;AACF;;AAEMiE,EAAAA,GAAG,GAAG;AACX,QAAI,KAAKlE,KAAL,KAAehB,aAAMwE,KAArB,IAA8B,KAAKxD,KAAL,KAAehB,aAAMiB,MAAvD,EAA+D;AAC7D;AACA,WAAKlB,QAAL,CAAcoF,KAAd;AAEA,WAAK1B,WAAL,CAAiBzD,aAAMoF,GAAvB;AACD;;AAED,SAAK/B,aAAL;AACD,GAjLqE,CAmLtE;AACA;AACA;;;AAEOgC,EAAAA,sBAAsB,GAAY;AACvC,WAAO,KAAKC,mBAAZ;AACD;;AACMC,EAAAA,sBAAsB,CAACC,KAAD,EAAuB;AAClD,SAAKF,mBAAL,GAA2BE,KAA3B;AACD;;AAEMC,EAAAA,2BAA2B,CAACC,OAAD,EAAoC;AACpE,QAAIA,OAAO,KAAK,IAAhB,EAAsB;AACpB,aAAO,KAAP;AACD;;AAED,WAAOC,4BAAmB1B,QAAnB,CAA4BwB,2BAA5B,CACL,IADK,EAELC,OAFK,CAAP;AAID;;AAEME,EAAAA,6BAA6B,CAACF,OAAD,EAAoC;AACtE,QAAIA,OAAO,KAAK,IAAhB,EAAsB;AACpB,aAAO,KAAP;AACD;;AAED,WAAOC,4BAAmB1B,QAAnB,CAA4B4B,oCAA5B,CACL,IADK,EAELH,OAFK,CAAP;AAID;;AAEMI,EAAAA,6BAA6B,CAACJ,OAAD,EAAoC;AACtE,QAAIA,OAAO,KAAK,IAAhB,EAAsB;AACpB,aAAO,IAAP;AACD;;AAED,WAAOC,4BAAmB1B,QAAnB,CAA4B6B,6BAA5B,CACL,IADK,EAELJ,OAFK,CAAP;AAID;;AAEMK,EAAAA,wBAAwB,CAACL,OAAD,EAAoC;AACjE,QAAIA,OAAO,KAAK,IAAhB,EAAsB;AACpB,aAAO,KAAP;AACD;;AAED,WAAOC,4BAAmB1B,QAAnB,CAA4B+B,0BAA5B,CACL,IADK,EAELN,OAFK,CAAP;AAID,GAxOqE,CA0OtE;AACA;AACA;;;AAEUhE,EAAAA,aAAa,CAACuE,KAAD,EAA4B;AACjDjC,wCAA2BC,QAA3B,CAAoCiC,yBAApC,CAA8D,IAA9D;;AACA,SAAKC,WAAL,GAAmBF,KAAK,CAACE,WAAzB;;AAEA,QAAI,KAAKA,WAAL,KAAqB/F,yBAAYgG,KAArC,EAA4C;AAC1CpC,0CAA2BC,QAA3B,CAAoCoC,yBAApC,CAA8D,IAA9D;AACD,KANgD,CAQjD;;AACD,GAvPqE,CAwPtE;;;AACUxE,EAAAA,YAAY,CAACoE,KAAD,EAA4B;AAChD,SAAKK,mBAAL,CAAyBL,KAAzB;AACD;;AACSlE,EAAAA,WAAW,CAACkE,KAAD,EAA4B;AAC/C,SAAKK,mBAAL,CAAyBL,KAAzB;AACD,GA9PqE,CA+PtE;;;AACUhE,EAAAA,eAAe,CAACgE,KAAD,EAA4B;AACnD,SAAKK,mBAAL,CAAyBL,KAAzB;AACD;;AACS9D,EAAAA,aAAa,CAAC8D,KAAD,EAA4B;AACjD,SAAKM,kBAAL,CAAwB,KAAxB,EAA+BN,KAA/B;AACD;;AACS1D,EAAAA,cAAc,CAAC0D,KAAD,EAA4B;AAClD,QAAI,KAAKO,uBAAT,EAAkC;AAChC,cAAQ,KAAKxF,KAAb;AACE,aAAKhB,aAAMiB,MAAX;AACE,eAAK2D,MAAL;AACA;;AACF,aAAK5E,aAAMwE,KAAX;AACE,eAAKC,IAAL;AACA;AANJ;;AAQA;AACD;;AAED,SAAK6B,mBAAL,CAAyBL,KAAzB;AACD;;AACS5D,EAAAA,cAAc,CAAC4D,KAAD,EAA4B;AAClD,SAAKK,mBAAL,CAAyBL,KAAzB;AACD;;AACSxD,EAAAA,eAAe,CAACwD,KAAD,EAA4B;AACnD,SAAKK,mBAAL,CAAyBL,KAAzB;AAEA,SAAKrB,MAAL;AACA,SAAKtB,KAAL;AACD;;AACSX,EAAAA,oBAAoB,CAACsD,KAAD,EAA4B;AACxD,SAAKM,kBAAL,CAAwB,IAAxB,EAA8BN,KAA9B;AACD;;AACSpD,EAAAA,iBAAiB,CAAC4D,MAAD,EAA6B,CACtD;AACD;;AACS1D,EAAAA,gBAAgB,CAAC0D,MAAD,EAA6B,CACrD;AACD;;AACSxD,EAAAA,OAAO,CAACwD,MAAD,EAA6B,CAC5C;AACD;;AACSF,EAAAA,kBAAkB,CAACG,GAAD,EAAeT,KAAf,EAA0C;AACpE,QAAKS,GAAG,IAAI,KAAKF,uBAAb,IAAyC,CAAC,KAAKtG,OAAnD,EAA4D;AAC1D;AACD;;AAED,QAAI,KAAKyG,MAAT,EAAiB;AACf,WAAKC,SAAL,CAAe,KAAK5F,KAApB,EAA2B,KAAKA,KAAhC;AACD;;AAED,SAAKsF,mBAAL,CAAyBL,KAAzB;AACD;;AAESK,EAAAA,mBAAmB,CAACL,KAAD,EAA4B;AACvD,QAAI,KAAKrC,MAAL,CAAYC,gBAAhB,EAAkC;AAChC,WAAKgD,cAAL,CAAoBZ,KAApB;AACD;AACF;;AAEMY,EAAAA,cAAc,CAACZ,KAAD,EAA4B;AAC/C,QAAI,CAAC,KAAK/F,OAAV,EAAmB;AACjB;AACD;;AAED,UAAM;AAAEM,MAAAA;AAAF,QAAsC,KAAKE,QAAL,CACzCC,OADH;AAGA,UAAMmG,UAAwC,GAC5C,KAAKC,mBAAL,CAAyBd,KAAzB,CADF;;AAGA,QAAIa,UAAJ,EAAgB;AACd/F,MAAAA,oBAAoB,CAACP,qBAAD,EAAwBsG,UAAxB,CAApB;AACD;AACF,GA1UqE,CA4UtE;AACA;AACA;;;AA0BQjG,EAAAA,kBAAkB,CAACP,QAAD,EAAkBC,QAAlB,EAAgD;AACxE,WAAO;AACLW,MAAAA,WAAW,EAAE;AACX8F,QAAAA,gBAAgB,EAAE,KAAKzD,OAAL,CAAaI,oBADpB;AAEX3C,QAAAA,KAAK,EAAEV,QAFI;AAGX2G,QAAAA,aAAa,EAAE,KAAKlH,QAAL,CAAcmH,iBAAd,CACb,KAAK3D,OAAL,CAAa4D,wBAAb,EADa,CAHJ;AAMX,WAAG,KAAKC,oBAAL,EANQ;AAOXC,QAAAA,UAAU,EAAE,KAAKA,UAPN;AAQXC,QAAAA,MAAM,EAAE,KAAKhG,OARF;AASXf,QAAAA,QAAQ,EAAED,QAAQ,KAAKC,QAAb,GAAwBA,QAAxB,GAAmCY,SATlC;AAUXgF,QAAAA,WAAW,EAAE,KAAKA;AAVP,OADR;AAaLoB,MAAAA,SAAS,EAAEC,IAAI,CAACC,GAAL;AAbN,KAAP;AAeD;;AAEOV,EAAAA,mBAAmB,CACzBd,KADyB,EAEK;AAC9B,UAAMyB,IAAI,GAAG,KAAK3H,QAAL,CAAc4H,WAAd,EAAb;AAEA,UAAMC,GAAkB,GAAG,EAA3B;AACA,UAAMC,OAAsB,GAAG,EAA/B;AAEA,UAAMC,WAAW,GAAG,KAAKvE,OAAL,CAAawE,eAAjC,CAN8B,CAQ9B;AACA;AACA;AACA;;AACA,QAAID,WAAW,CAACE,IAAZ,KAAqB,CAArB,IAA0B,CAACF,WAAW,CAACG,GAAZ,CAAgBhC,KAAK,CAACiC,SAAtB,CAA/B,EAAiE;AAC/D;AACD;;AAEDJ,IAAAA,WAAW,CAACK,OAAZ,CAAoB,CAACC,OAAD,EAA0BC,GAA1B,KAAgD;AAClE,YAAMC,EAAU,GAAG,KAAK/E,OAAL,CAAagF,qBAAb,CAAmCF,GAAnC,CAAnB;AAEAT,MAAAA,GAAG,CAACY,IAAJ,CAAS;AACPF,QAAAA,EAAE,EAAEA,EADG;AAEPG,QAAAA,CAAC,EAAEL,OAAO,CAACM,eAAR,CAAwBD,CAAxB,GAA4Bf,IAAI,CAACiB,KAF7B;AAGPC,QAAAA,CAAC,EAAER,OAAO,CAACM,eAAR,CAAwBE,CAAxB,GAA4BlB,IAAI,CAACmB,KAH7B;AAIPC,QAAAA,SAAS,EAAEV,OAAO,CAACM,eAAR,CAAwBD,CAJ5B;AAKPM,QAAAA,SAAS,EAAEX,OAAO,CAACM,eAAR,CAAwBE;AAL5B,OAAT;AAOD,KAVD,EAhB8B,CA4B9B;AACA;;AACA,QAAI3C,KAAK,CAAC+C,SAAN,KAAoBC,uBAAWC,MAAnC,EAA2C;AACzCrB,MAAAA,OAAO,CAACW,IAAR,CAAa;AACXF,QAAAA,EAAE,EAAE,KAAK/E,OAAL,CAAagF,qBAAb,CAAmCtC,KAAK,CAACiC,SAAzC,CADO;AAEXO,QAAAA,CAAC,EAAExC,KAAK,CAACwC,CAAN,GAAUf,IAAI,CAACiB,KAFP;AAGXC,QAAAA,CAAC,EAAE3C,KAAK,CAAC2C,CAAN,GAAUlB,IAAI,CAACmB,KAHP;AAIXC,QAAAA,SAAS,EAAE7C,KAAK,CAACwC,CAJN;AAKXM,QAAAA,SAAS,EAAE9C,KAAK,CAAC2C;AALN,OAAb;AAOD,KARD,MAQO;AACLd,MAAAA,WAAW,CAACK,OAAZ,CAAoB,CAACC,OAAD,EAA0BC,GAA1B,KAAgD;AAClE,cAAMC,EAAU,GAAG,KAAK/E,OAAL,CAAagF,qBAAb,CAAmCF,GAAnC,CAAnB;AAEAR,QAAAA,OAAO,CAACW,IAAR,CAAa;AACXF,UAAAA,EAAE,EAAEA,EADO;AAEXG,UAAAA,CAAC,EAAEL,OAAO,CAACM,eAAR,CAAwBD,CAAxB,GAA4Bf,IAAI,CAACiB,KAFzB;AAGXC,UAAAA,CAAC,EAAER,OAAO,CAACM,eAAR,CAAwBE,CAAxB,GAA4BlB,IAAI,CAACmB,KAHzB;AAIXC,UAAAA,SAAS,EAAEV,OAAO,CAACM,eAAR,CAAwBD,CAJxB;AAKXM,UAAAA,SAAS,EAAEX,OAAO,CAACM,eAAR,CAAwBE;AALxB,SAAb;AAOD,OAVD;AAWD;;AAED,QAAII,SAAyB,GAAGG,2BAAelJ,YAA/C;;AAEA,YAAQgG,KAAK,CAAC+C,SAAd;AACE,WAAKC,uBAAWG,IAAhB;AACA,WAAKH,uBAAWI,uBAAhB;AACEL,QAAAA,SAAS,GAAGG,2BAAeC,IAA3B;AACA;;AACF,WAAKH,uBAAWK,EAAhB;AACA,WAAKL,uBAAWM,qBAAhB;AACEP,QAAAA,SAAS,GAAGG,2BAAeG,EAA3B;AACA;;AACF,WAAKL,uBAAWO,IAAhB;AACER,QAAAA,SAAS,GAAGG,2BAAeK,IAA3B;AACA;;AACF,WAAKP,uBAAWC,MAAhB;AACEF,QAAAA,SAAS,GAAGG,2BAAetE,SAA3B;AACA;AAdJ,KAtD8B,CAuE9B;AACA;AACA;;;AACA,QAAI4E,eAAuB,GAAG7B,GAAG,CAAC8B,MAAlC;;AAEA,QACEzD,KAAK,CAAC+C,SAAN,KAAoBC,uBAAWK,EAA/B,IACArD,KAAK,CAAC+C,SAAN,KAAoBC,uBAAWM,qBAFjC,EAGE;AACA,QAAEE,eAAF;AACD;;AAED,WAAO;AACLvI,MAAAA,WAAW,EAAE;AACXmG,QAAAA,UAAU,EAAE,KAAKA,UADN;AAEXrG,QAAAA,KAAK,EAAE,KAAKA,KAFD;AAGXgI,QAAAA,SAAS,EAAEA,SAHA;AAIXW,QAAAA,cAAc,EAAE9B,OAJL;AAKX+B,QAAAA,UAAU,EAAEhC,GALD;AAMX6B,QAAAA,eAAe,EAAEA,eANN;AAOXtD,QAAAA,WAAW,EAAE,KAAKA;AAPP,OADR;AAULoB,MAAAA,SAAS,EAAEC,IAAI,CAACC,GAAL;AAVN,KAAP;AAYD;;AAEO1D,EAAAA,aAAa,GAAS;AAC5B,UAAM2D,IAAI,GAAG,KAAK3H,QAAL,CAAc4H,WAAd,EAAb;AAEA,UAAMC,GAAkB,GAAG,EAA3B;AACA,UAAMC,OAAsB,GAAG,EAA/B;AAEA,UAAMC,WAAW,GAAG,KAAKvE,OAAL,CAAawE,eAAjC;;AAEA,QAAID,WAAW,CAACE,IAAZ,KAAqB,CAAzB,EAA4B;AAC1B;AACD;;AAEDF,IAAAA,WAAW,CAACK,OAAZ,CAAoB,CAACC,OAAD,EAA0BC,GAA1B,KAAgD;AAClE,YAAMC,EAAU,GAAG,KAAK/E,OAAL,CAAagF,qBAAb,CAAmCF,GAAnC,CAAnB;AAEAT,MAAAA,GAAG,CAACY,IAAJ,CAAS;AACPF,QAAAA,EAAE,EAAEA,EADG;AAEPG,QAAAA,CAAC,EAAEL,OAAO,CAACM,eAAR,CAAwBD,CAAxB,GAA4Bf,IAAI,CAACiB,KAF7B;AAGPC,QAAAA,CAAC,EAAER,OAAO,CAACM,eAAR,CAAwBE,CAAxB,GAA4BlB,IAAI,CAACmB,KAH7B;AAIPC,QAAAA,SAAS,EAAEV,OAAO,CAACM,eAAR,CAAwBD,CAJ5B;AAKPM,QAAAA,SAAS,EAAEX,OAAO,CAACM,eAAR,CAAwBE;AAL5B,OAAT;AAQAf,MAAAA,OAAO,CAACW,IAAR,CAAa;AACXF,QAAAA,EAAE,EAAEA,EADO;AAEXG,QAAAA,CAAC,EAAEL,OAAO,CAACM,eAAR,CAAwBD,CAAxB,GAA4Bf,IAAI,CAACiB,KAFzB;AAGXC,QAAAA,CAAC,EAAER,OAAO,CAACM,eAAR,CAAwBE,CAAxB,GAA4BlB,IAAI,CAACmB,KAHzB;AAIXC,QAAAA,SAAS,EAAEV,OAAO,CAACM,eAAR,CAAwBD,CAJxB;AAKXM,QAAAA,SAAS,EAAEX,OAAO,CAACM,eAAR,CAAwBE;AALxB,OAAb;AAOD,KAlBD;AAoBA,UAAMiB,WAA6B,GAAG;AACpC3I,MAAAA,WAAW,EAAE;AACXmG,QAAAA,UAAU,EAAE,KAAKA,UADN;AAEXrG,QAAAA,KAAK,EAAE,KAAKA,KAFD;AAGXgI,QAAAA,SAAS,EAAEG,2BAAetE,SAHf;AAIX8E,QAAAA,cAAc,EAAE9B,OAJL;AAKX+B,QAAAA,UAAU,EAAEhC,GALD;AAMX6B,QAAAA,eAAe,EAAE7B,GAAG,CAAC8B,MANV;AAOXvD,QAAAA,WAAW,EAAE,KAAKA;AAPP,OADuB;AAUpCoB,MAAAA,SAAS,EAAEC,IAAI,CAACC,GAAL;AAVyB,KAAtC;AAaA,UAAM;AAAEjH,MAAAA;AAAF,QAAsC,KAAKE,QAAL,CACzCC,OADH;AAGAI,IAAAA,oBAAoB,CAACP,qBAAD,EAAwBqJ,WAAxB,CAApB;AACD;;AAESzC,EAAAA,oBAAoB,GAA4B;AACxD;AACA,UAAM0C,UAAU,GAAG,KAAKvG,OAAL,CAAa4D,wBAAb,EAAnB;AACA,UAAM4C,kBAAkB,GAAG,KAAKxG,OAAL,CAAayG,wBAAb,EAA3B;AAEA,WAAO;AACLvB,MAAAA,CAAC,EAAEsB,kBAAkB,CAACtB,CADjB;AAELG,MAAAA,CAAC,EAAEmB,kBAAkB,CAACnB,CAFjB;AAGLE,MAAAA,SAAS,EAAEgB,UAAU,CAACrB,CAHjB;AAILM,MAAAA,SAAS,EAAEe,UAAU,CAAClB;AAJjB,KAAP;AAMD,GA3hBqE,CA6hBtE;AACA;AACA;;;AAEOqB,EAAAA,mBAAmB,CAAC;AAAE/J,IAAAA,OAAO,GAAG,IAAZ;AAAkB,OAAGgK;AAArB,GAAD,EAA6C;AACrE,SAAKC,OAAL,GAAe;AAAEjK,MAAAA,OAAO,EAAEA,OAAX;AAAoB,SAAGgK;AAAvB,KAAf;AACA,SAAKhK,OAAL,GAAeA,OAAf;AAEA,SAAKH,QAAL,CAAcqK,eAAd,CAA8BlK,OAA9B;;AAEA,QAAI,KAAK0D,MAAL,CAAY4C,uBAAZ,KAAwCrF,SAA5C,EAAuD;AACrD,WAAKqF,uBAAL,GAA+B,KAAK5C,MAAL,CAAY4C,uBAA3C;AACD;;AAED,SAAK6D,gBAAL;;AAEA,QAAI,KAAKnK,OAAT,EAAkB;AAChB;AACD;;AAED,YAAQ,KAAKc,KAAb;AACE,WAAKhB,aAAMiB,MAAX;AACE,aAAKwD,IAAL,CAAU,IAAV;AACA;;AACF,WAAKzE,aAAMC,YAAX;AACE+D,4CAA2BC,QAA3B,CAAoCqG,6BAApC,CAAkE,IAAlE;;AACA;;AACF;AACE,aAAK1F,MAAL,CAAY,IAAZ;AACA;AATJ;AAWD;;AAES2F,EAAAA,6BAA6B,CAACC,SAAD,EAA4B;AACjE,SAAK,MAAMnC,GAAX,IAAkB,KAAKzE,MAAvB,EAA+B;AAC7B,UAAI4G,SAAS,CAACC,OAAV,CAAkBpC,GAAlB,KAA0B,CAA9B,EAAiC;AAC/B,aAAKqC,2BAAL,GAAmC,IAAnC;AACD;AACF;AACF;;AAEOL,EAAAA,gBAAgB,GAAS;AAC/B,QAAI,CAAC,KAAKzG,MAAL,CAAY+G,OAAjB,EAA0B;AACxB;AACD;;AAED,QACE,KAAK/G,MAAL,CAAY+G,OAAZ,CAAoBC,IAApB,KAA6BzJ,SAA7B,IACA,KAAKyC,MAAL,CAAY+G,OAAZ,CAAoBE,KAApB,KAA8B1J,SAD9B,IAEA,KAAKyC,MAAL,CAAY+G,OAAZ,CAAoBG,KAApB,KAA8B3J,SAHhC,EAIE;AACA,YAAM,IAAI4J,KAAJ,CACJ,qEADI,CAAN;AAGD;;AAED,QACE,KAAKnH,MAAL,CAAY+G,OAAZ,CAAoBG,KAApB,KAA8B3J,SAA9B,IACA,KAAKyC,MAAL,CAAY+G,OAAZ,CAAoBC,IAApB,KAA6BzJ,SAD7B,IAEA,KAAKyC,MAAL,CAAY+G,OAAZ,CAAoBE,KAApB,KAA8B1J,SAHhC,EAIE;AACA,YAAM,IAAI4J,KAAJ,CACJ,8EADI,CAAN;AAGD;;AAED,QACE,KAAKnH,MAAL,CAAY+G,OAAZ,CAAoBK,MAApB,KAA+B7J,SAA/B,IACA,KAAKyC,MAAL,CAAY+G,OAAZ,CAAoBM,GAApB,KAA4B9J,SAD5B,IAEA,KAAKyC,MAAL,CAAY+G,OAAZ,CAAoBO,MAApB,KAA+B/J,SAHjC,EAIE;AACA,YAAM,IAAI4J,KAAJ,CACJ,sEADI,CAAN;AAGD;;AAED,QACE,KAAKnH,MAAL,CAAY+G,OAAZ,CAAoBK,MAApB,KAA+B7J,SAA/B,IACA,KAAKyC,MAAL,CAAY+G,OAAZ,CAAoBM,GAApB,KAA4B9J,SAD5B,IAEA,KAAKyC,MAAL,CAAY+G,OAAZ,CAAoBO,MAApB,KAA+B/J,SAHjC,EAIE;AACA,YAAM,IAAI4J,KAAJ,CACJ,+EADI,CAAN;AAGD;AACF;;AAEOxG,EAAAA,YAAY,GAAY;AAC9B,QAAI,CAAC,KAAKX,MAAL,CAAY+G,OAAjB,EAA0B;AACxB,aAAO,IAAP;AACD;;AAED,UAAM;AAAEG,MAAAA,KAAF;AAASE,MAAAA;AAAT,QAAoB,KAAKjL,QAAL,CAAc4H,WAAd,EAA1B;AAEA,QAAIiD,IAAI,GAAG,CAAX;AACA,QAAIK,GAAG,GAAG,CAAV;AACA,QAAIJ,KAAa,GAAGC,KAApB;AACA,QAAII,MAAc,GAAGF,MAArB;;AAEA,QAAI,KAAKpH,MAAL,CAAY+G,OAAZ,CAAoBQ,UAApB,KAAmChK,SAAvC,EAAkD;AAChDyJ,MAAAA,IAAI,IAAI,KAAKhH,MAAL,CAAY+G,OAAZ,CAAoBQ,UAA5B;AACAN,MAAAA,KAAK,IAAI,KAAKjH,MAAL,CAAY+G,OAAZ,CAAoBQ,UAA7B;AACD;;AAED,QAAI,KAAKvH,MAAL,CAAY+G,OAAZ,CAAoBS,QAApB,KAAiCjK,SAArC,EAAgD;AAC9C8J,MAAAA,GAAG,IAAI,KAAKrH,MAAL,CAAY+G,OAAZ,CAAoBS,QAA3B;AACAF,MAAAA,MAAM,IAAI,KAAKtH,MAAL,CAAY+G,OAAZ,CAAoBS,QAA9B;AACD;;AAED,QAAI,KAAKxH,MAAL,CAAY+G,OAAZ,CAAoBC,IAApB,KAA6BzJ,SAAjC,EAA4C;AAC1CyJ,MAAAA,IAAI,GAAG,CAAC,KAAKhH,MAAL,CAAY+G,OAAZ,CAAoBC,IAA5B;AACD;;AAED,QAAI,KAAKhH,MAAL,CAAY+G,OAAZ,CAAoBE,KAApB,KAA8B1J,SAAlC,EAA6C;AAC3C0J,MAAAA,KAAK,GAAGC,KAAK,GAAG,KAAKlH,MAAL,CAAY+G,OAAZ,CAAoBE,KAApC;AACD;;AAED,QAAI,KAAKjH,MAAL,CAAY+G,OAAZ,CAAoBM,GAApB,KAA4B9J,SAAhC,EAA2C;AACzC8J,MAAAA,GAAG,GAAG,CAAC,KAAKrH,MAAL,CAAY+G,OAAZ,CAAoBM,GAA3B;AACD;;AAED,QAAI,KAAKrH,MAAL,CAAY+G,OAAZ,CAAoBO,MAApB,KAA+B/J,SAAnC,EAA8C;AAC5C+J,MAAAA,MAAM,GAAGJ,KAAK,GAAG,KAAKlH,MAAL,CAAY+G,OAAZ,CAAoBO,MAArC;AACD;;AACD,QAAI,KAAKtH,MAAL,CAAY+G,OAAZ,CAAoBG,KAApB,KAA8B3J,SAAlC,EAA6C;AAC3C,UAAI,KAAKyC,MAAL,CAAY+G,OAAZ,CAAoBC,IAApB,KAA6BzJ,SAAjC,EAA4C;AAC1C0J,QAAAA,KAAK,GAAGD,IAAI,GAAG,KAAKhH,MAAL,CAAY+G,OAAZ,CAAoBG,KAAnC;AACD,OAFD,MAEO,IAAI,KAAKlH,MAAL,CAAY+G,OAAZ,CAAoBE,KAApB,KAA8B1J,SAAlC,EAA6C;AAClDyJ,QAAAA,IAAI,GAAGC,KAAK,GAAG,KAAKjH,MAAL,CAAY+G,OAAZ,CAAoBG,KAAnC;AACD;AACF;;AAED,QAAI,KAAKlH,MAAL,CAAY+G,OAAZ,CAAoBK,MAApB,KAA+B7J,SAAnC,EAA8C;AAC5C,UAAI,KAAKyC,MAAL,CAAY+G,OAAZ,CAAoBM,GAApB,KAA4B9J,SAAhC,EAA2C;AACzC+J,QAAAA,MAAM,GAAGD,GAAG,GAAG,KAAKrH,MAAL,CAAY+G,OAAZ,CAAoBK,MAAnC;AACD,OAFD,MAEO,IAAI,KAAKpH,MAAL,CAAY+G,OAAZ,CAAoBO,MAApB,KAA+B/J,SAAnC,EAA8C;AACnD8J,QAAAA,GAAG,GAAGC,MAAM,GAAG,KAAKtH,MAAL,CAAY+G,OAAZ,CAAoBK,MAAnC;AACD;AACF;;AAED,UAAMtD,IAAI,GAAG,KAAK3H,QAAL,CAAc4H,WAAd,EAAb;AACA,UAAM;AAAEc,MAAAA,CAAF;AAAKG,MAAAA;AAAL,QAAW,KAAKrF,OAAL,CAAa8H,qBAAb,EAAjB;AACA,UAAMC,OAAe,GAAG7C,CAAC,GAAGf,IAAI,CAACiB,KAAjC;AACA,UAAM4C,OAAe,GAAG3C,CAAC,GAAGlB,IAAI,CAACmB,KAAjC;AAEA,WACEyC,OAAO,IAAIV,IAAX,IAAmBU,OAAO,IAAIT,KAA9B,IAAuCU,OAAO,IAAIN,GAAlD,IAAyDM,OAAO,IAAIL,MADtE;AAGD;;AAEMM,EAAAA,gBAAgB,CAACC,WAAD,EAAuC;AAC5D,WACE,CAACA,WAAD,IACC,CAAC,KAAK7H,MAAL,CAAY6H,WAAb,IAA4BA,WAAW,KAAKC,kCAAYC,IADzD,IAEC,KAAK/H,MAAL,CAAY6H,WAAZ,IAA2BA,WAAW,GAAG,KAAK7H,MAAL,CAAY6H,WAHxD;AAKD;;AAESG,EAAAA,WAAW,GAAS,CAAE;;AAEzBC,EAAAA,SAAS,GAAS;AACvB,SAAK9L,QAAL,CAAc+L,OAAd,CAAsB,KAAKlI,MAA3B;AACD,GA/rBqE,CAisBtE;AACA;AACA;;;AAEqB,MAAVyD,UAAU,GAAG;AACtB,WAAO,KAAK0E,WAAZ;AACD;;AACoB,MAAV1E,UAAU,CAAC7B,KAAD,EAAgB;AACnC,SAAKuG,WAAL,GAAmBvG,KAAnB;AACD;;AAEgB,MAAN5B,MAAM,GAAW;AAC1B,WAAO,KAAKuG,OAAZ;AACD;;AAEkB,MAARpK,QAAQ,GAAG;AACpB,WAAO,KAAKqB,SAAZ;AACD;;AAEiB,MAAPmC,OAAO,GAAG;AACnB,WAAO,KAAKyI,QAAZ;AACD;;AAEe,MAALhL,KAAK,GAAU;AACxB,WAAO,KAAKiL,MAAZ;AACD;;AACkB,MAALjL,KAAK,CAACwE,KAAD,EAAe;AAChC,SAAKyG,MAAL,GAAczG,KAAd;AACD;;AAEiC,MAAvBgB,uBAAuB,GAAG;AACnC,WAAO,KAAK0F,wBAAZ;AACD;;AACoC,MAAvB1F,uBAAuB,CAAChB,KAAD,EAAQ;AAC3C,SAAK0G,wBAAL,GAAgC1G,KAAhC;AACD;;AAEiB,MAAPtF,OAAO,GAAG;AACnB,WAAO,KAAKiM,QAAZ;AACD;;AACoB,MAAPjM,OAAO,CAACsF,KAAD,EAAQ;AAC3B,SAAK2G,QAAL,GAAgB3G,KAAhB;AACD;;AAEqB,MAAXW,WAAW,GAAgB;AACpC,WAAO,KAAKiG,YAAZ;AACD;;AACwB,MAAXjG,WAAW,CAACX,KAAD,EAAqB;AAC5C,SAAK4G,YAAL,GAAoB5G,KAApB;AACD;;AAEgB,MAANmB,MAAM,GAAG;AAClB,WAAO,KAAK0F,OAAZ;AACD;;AACmB,MAAN1F,MAAM,CAACnB,KAAD,EAAQ;AAC1B,SAAK6G,OAAL,GAAe7G,KAAf;AACD;;AAEkB,MAAR8G,QAAQ,GAAG;AACpB,WAAO,KAAKC,SAAZ;AACD;;AACqB,MAARD,QAAQ,CAAC9G,KAAD,EAAQ;AAC5B,SAAK+G,SAAL,GAAiB/G,KAAjB;AACD;;AAEyB,MAAfgH,eAAe,GAAG;AAC3B,WAAO,KAAKC,gBAAZ;AACD;;AAC4B,MAAfD,eAAe,CAAChH,KAAD,EAAQ;AACnC,SAAKiH,gBAAL,GAAwBjH,KAAxB;AACD;;AAE6B,MAAnBF,mBAAmB,GAAG;AAC/B,WAAO,KAAKoH,oBAAZ;AACD;;AACgC,MAAnBpH,mBAAmB,CAACE,KAAD,EAAQ;AACvC,SAAKkH,oBAAL,GAA4BlH,KAA5B;AACD;;AAEMmH,EAAAA,oBAAoB,GAAa;AACtC,WAAO,KAAKpJ,OAAL,CAAaqJ,kBAApB;AACD;;AAEO9I,EAAAA,UAAU,GAAY;AAC5B,WACE,KAAK9C,KAAL,KAAehB,aAAMoF,GAArB,IACA,KAAKpE,KAAL,KAAehB,aAAM2E,MADrB,IAEA,KAAK3D,KAAL,KAAehB,aAAM6E,SAHvB;AAKD;;AA1xBqE;;;;AA6xBxE,SAAS9D,oBAAT,CACE8L,MADF,EAKE5G,KALF,EAMQ;AACN,MAAI,CAAC4G,MAAL,EAAa;AACX;AACD;;AAED,MAAI,OAAOA,MAAP,KAAkB,UAAtB,EAAkC;AAChCA,IAAAA,MAAM,CAAC5G,KAAD,CAAN;AACA;AACD;;AAED,MAAI,kBAAkB4G,MAAlB,IAA4B,OAAOA,MAAM,CAACC,YAAd,KAA+B,UAA/D,EAA2E;AACzE,UAAMpH,OAAO,GAAGmH,MAAM,CAACC,YAAP,EAAhB;;AACA/L,IAAAA,oBAAoB,CAAC2E,OAAD,EAAUO,KAAV,CAApB;AACA;AACD;;AAED,MAAI,EAAE,kBAAkB4G,MAApB,CAAJ,EAAiC;AAC/B;AACD;;AAED,QAAM;AAAEE,IAAAA;AAAF,MAA0CF,MAAM,CAACG,YAAvD;;AACA,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcH,UAAd,CAAL,EAAgC;AAC9B;AACD;;AAED,OAAK,MAAM,CAACI,KAAD,EAAQ,CAAC9E,GAAD,EAAM7C,KAAN,CAAR,CAAX,IAAoCuH,UAAU,CAACK,OAAX,EAApC,EAA0D;AACxD,QAAI,EAAE/E,GAAG,IAAIpC,KAAK,CAAC/E,WAAf,CAAJ,EAAiC;AAC/B;AACD,KAHuD,CAKxD;;;AACA,UAAMmM,WAAW,GAAGpH,KAAK,CAAC/E,WAAN,CAAkBmH,GAAlB,CAApB,CANwD,CAQxD;;AACA,QAAI7C,KAAJ,aAAIA,KAAJ,eAAIA,KAAK,CAAE8H,QAAX,EAAqB;AACnB;AACA;AACA9H,MAAAA,KAAK,CAAC8H,QAAN,CAAeD,WAAf;AACD,KAJD,MAIO;AACL;AACAR,MAAAA,MAAM,CAACG,YAAP,CAAoBD,UAApB,CAA+BI,KAA/B,IAAwC,CAAC9E,GAAD,EAAMgF,WAAN,CAAxC;AACD;AACF;;AAED;AACD","sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\nimport { State } from '../../State';\nimport {\n Config,\n AdaptedEvent,\n PropsRef,\n ResultEvent,\n PointerData,\n ResultTouchEvent,\n TouchEventType,\n EventTypes,\n} from '../interfaces';\nimport EventManager from '../tools/EventManager';\nimport GestureHandlerOrchestrator from '../tools/GestureHandlerOrchestrator';\nimport InteractionManager from '../tools/InteractionManager';\nimport PointerTracker, { TrackerElement } from '../tools/PointerTracker';\nimport IGestureHandler from './IGestureHandler';\nimport { MouseButton } from '../../handlers/gestureHandlerCommon';\nimport { PointerType } from '../../PointerType';\nimport { GestureHandlerDelegate } from '../tools/GestureHandlerDelegate';\n\nexport default abstract class GestureHandler implements IGestureHandler {\n private lastSentState: State | null = null;\n\n private _state: State = State.UNDETERMINED;\n\n private _shouldCancelWhenOutside = false;\n protected hasCustomActivationCriteria = false;\n private _enabled = false;\n\n private viewRef!: number;\n private propsRef!: React.RefObject<unknown>;\n private _handlerTag!: number;\n private _config: Config = { enabled: false };\n\n private _tracker: PointerTracker = new PointerTracker();\n\n // Orchestrator properties\n private _activationIndex = 0;\n\n private _awaiting = false;\n private _active = false;\n\n private _shouldResetProgress = false;\n private _pointerType: PointerType = PointerType.MOUSE;\n\n private _delegate: GestureHandlerDelegate<unknown, IGestureHandler>;\n\n public constructor(\n delegate: GestureHandlerDelegate<unknown, IGestureHandler>\n ) {\n this._delegate = delegate;\n }\n\n //\n // Initializing handler\n //\n\n protected init(viewRef: number, propsRef: React.RefObject<unknown>) {\n this.propsRef = propsRef;\n this.viewRef = viewRef;\n\n this.state = State.UNDETERMINED;\n\n this.delegate.init(viewRef, this);\n }\n\n public attachEventManager(manager: EventManager<unknown>): void {\n manager.setOnPointerDown(this.onPointerDown.bind(this));\n manager.setOnPointerAdd(this.onPointerAdd.bind(this));\n manager.setOnPointerUp(this.onPointerUp.bind(this));\n manager.setOnPointerRemove(this.onPointerRemove.bind(this));\n manager.setOnPointerMove(this.onPointerMove.bind(this));\n manager.setOnPointerEnter(this.onPointerEnter.bind(this));\n manager.setOnPointerLeave(this.onPointerLeave.bind(this));\n manager.setOnPointerCancel(this.onPointerCancel.bind(this));\n manager.setOnPointerOutOfBounds(this.onPointerOutOfBounds.bind(this));\n manager.setOnPointerMoveOver(this.onPointerMoveOver.bind(this));\n manager.setOnPointerMoveOut(this.onPointerMoveOut.bind(this));\n manager.setOnWheel(this.onWheel.bind(this));\n\n manager.registerListeners();\n }\n\n //\n // Resetting handler\n //\n\n protected onCancel(): void {}\n protected onReset(): void {}\n protected resetProgress(): void {}\n\n public reset(): void {\n this.tracker.resetTracker();\n this.onReset();\n this.resetProgress();\n this.delegate.reset();\n this.state = State.UNDETERMINED;\n }\n\n //\n // State logic\n //\n\n public moveToState(newState: State, sendIfDisabled?: boolean) {\n if (this.state === newState) {\n return;\n }\n\n const oldState = this.state;\n this.state = newState;\n\n if (\n this.tracker.trackedPointersCount > 0 &&\n this.config.needsPointerData &&\n this.isFinished()\n ) {\n this.cancelTouches();\n }\n\n GestureHandlerOrchestrator.instance.onHandlerStateChange(\n this,\n newState,\n oldState,\n sendIfDisabled\n );\n\n this.onStateChange(newState, oldState);\n\n if (!this.enabled && this.isFinished()) {\n this.state = State.UNDETERMINED;\n }\n }\n\n protected onStateChange(_newState: State, _oldState: State): void {}\n\n public begin(): void {\n if (!this.checkHitSlop()) {\n return;\n }\n\n if (this.state === State.UNDETERMINED) {\n this.moveToState(State.BEGAN);\n }\n }\n\n /**\n * @param {boolean} sendIfDisabled - Used when handler becomes disabled. With this flag orchestrator will be forced to send fail event\n */\n public fail(sendIfDisabled?: boolean): void {\n if (this.state === State.ACTIVE || this.state === State.BEGAN) {\n // Here the order of calling the delegate and moveToState is important.\n // At this point we can use currentState as previuos state, because immediately after changing cursor we call moveToState method.\n this.delegate.onFail();\n\n this.moveToState(State.FAILED, sendIfDisabled);\n }\n\n this.resetProgress();\n }\n\n /**\n * @param {boolean} sendIfDisabled - Used when handler becomes disabled. With this flag orchestrator will be forced to send cancel event\n */\n public cancel(sendIfDisabled?: boolean): void {\n if (\n this.state === State.ACTIVE ||\n this.state === State.UNDETERMINED ||\n this.state === State.BEGAN\n ) {\n this.onCancel();\n\n // Same as above - order matters\n this.delegate.onCancel();\n\n this.moveToState(State.CANCELLED, sendIfDisabled);\n }\n }\n\n public activate(force = false) {\n if (\n (this.config.manualActivation !== true || force) &&\n (this.state === State.UNDETERMINED || this.state === State.BEGAN)\n ) {\n this.delegate.onActivate();\n this.moveToState(State.ACTIVE);\n }\n }\n\n public end() {\n if (this.state === State.BEGAN || this.state === State.ACTIVE) {\n // Same as above - order matters\n this.delegate.onEnd();\n\n this.moveToState(State.END);\n }\n\n this.resetProgress();\n }\n\n //\n // Methods for orchestrator\n //\n\n public getShouldResetProgress(): boolean {\n return this.shouldResetProgress;\n }\n public setShouldResetProgress(value: boolean): void {\n this.shouldResetProgress = value;\n }\n\n public shouldWaitForHandlerFailure(handler: IGestureHandler): boolean {\n if (handler === this) {\n return false;\n }\n\n return InteractionManager.instance.shouldWaitForHandlerFailure(\n this,\n handler\n );\n }\n\n public shouldRequireToWaitForFailure(handler: IGestureHandler): boolean {\n if (handler === this) {\n return false;\n }\n\n return InteractionManager.instance.shouldRequireHandlerToWaitForFailure(\n this,\n handler\n );\n }\n\n public shouldRecognizeSimultaneously(handler: IGestureHandler): boolean {\n if (handler === this) {\n return true;\n }\n\n return InteractionManager.instance.shouldRecognizeSimultaneously(\n this,\n handler\n );\n }\n\n public shouldBeCancelledByOther(handler: IGestureHandler): boolean {\n if (handler === this) {\n return false;\n }\n\n return InteractionManager.instance.shouldHandlerBeCancelledBy(\n this,\n handler\n );\n }\n\n //\n // Event actions\n //\n\n protected onPointerDown(event: AdaptedEvent): void {\n GestureHandlerOrchestrator.instance.recordHandlerIfNotPresent(this);\n this.pointerType = event.pointerType;\n\n if (this.pointerType === PointerType.TOUCH) {\n GestureHandlerOrchestrator.instance.cancelMouseAndPenGestures(this);\n }\n\n // TODO: Bring back touch events along with introducing `handleDown` method that will handle handler specific stuff\n }\n // Adding another pointer to existing ones\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n }\n protected onPointerUp(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n }\n // Removing pointer, when there is more than one pointers\n protected onPointerRemove(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n }\n protected onPointerMove(event: AdaptedEvent): void {\n this.tryToSendMoveEvent(false, event);\n }\n protected onPointerLeave(event: AdaptedEvent): void {\n if (this.shouldCancelWhenOutside) {\n switch (this.state) {\n case State.ACTIVE:\n this.cancel();\n break;\n case State.BEGAN:\n this.fail();\n break;\n }\n return;\n }\n\n this.tryToSendTouchEvent(event);\n }\n protected onPointerEnter(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n }\n protected onPointerCancel(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n\n this.cancel();\n this.reset();\n }\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n this.tryToSendMoveEvent(true, event);\n }\n protected onPointerMoveOver(_event: AdaptedEvent): void {\n // Used only by hover gesture handler atm\n }\n protected onPointerMoveOut(_event: AdaptedEvent): void {\n // Used only by hover gesture handler atm\n }\n protected onWheel(_event: AdaptedEvent): void {\n // Used only by pan gesture handler\n }\n protected tryToSendMoveEvent(out: boolean, event: AdaptedEvent): void {\n if ((out && this.shouldCancelWhenOutside) || !this.enabled) {\n return;\n }\n\n if (this.active) {\n this.sendEvent(this.state, this.state);\n }\n\n this.tryToSendTouchEvent(event);\n }\n\n protected tryToSendTouchEvent(event: AdaptedEvent): void {\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n\n public sendTouchEvent(event: AdaptedEvent): void {\n if (!this.enabled) {\n return;\n }\n\n const { onGestureHandlerEvent }: PropsRef = this.propsRef\n .current as PropsRef;\n\n const touchEvent: ResultTouchEvent | undefined =\n this.transformTouchEvent(event);\n\n if (touchEvent) {\n invokeNullableMethod(onGestureHandlerEvent, touchEvent);\n }\n }\n\n //\n // Events Sending\n //\n\n public sendEvent = (newState: State, oldState: State): void => {\n const { onGestureHandlerEvent, onGestureHandlerStateChange }: PropsRef =\n this.propsRef.current as PropsRef;\n\n const resultEvent: ResultEvent = this.transformEventData(\n newState,\n oldState\n );\n\n // In the new API oldState field has to be undefined, unless we send event state changed\n // Here the order is flipped to avoid workarounds such as making backup of the state and setting it to undefined first, then changing it back\n // Flipping order with setting oldState to undefined solves issue, when events were being sent twice instead of once\n // However, this may cause trouble in the future (but for now we don't know that)\n\n if (this.lastSentState !== newState) {\n this.lastSentState = newState;\n invokeNullableMethod(onGestureHandlerStateChange, resultEvent);\n }\n if (this.state === State.ACTIVE) {\n resultEvent.nativeEvent.oldState = undefined;\n invokeNullableMethod(onGestureHandlerEvent, resultEvent);\n }\n };\n\n private transformEventData(newState: State, oldState: State): ResultEvent {\n return {\n nativeEvent: {\n numberOfPointers: this.tracker.trackedPointersCount,\n state: newState,\n pointerInside: this.delegate.isPointerInBounds(\n this.tracker.getAbsoluteCoordsAverage()\n ),\n ...this.transformNativeEvent(),\n handlerTag: this.handlerTag,\n target: this.viewRef,\n oldState: newState !== oldState ? oldState : undefined,\n pointerType: this.pointerType,\n },\n timeStamp: Date.now(),\n };\n }\n\n private transformTouchEvent(\n event: AdaptedEvent\n ): ResultTouchEvent | undefined {\n const rect = this.delegate.measureView();\n\n const all: PointerData[] = [];\n const changed: PointerData[] = [];\n\n const trackerData = this.tracker.trackedPointers;\n\n // This if handles edge case where all pointers have been cancelled\n // When pointercancel is triggered, reset method is called. This means that tracker will be reset after first pointer being cancelled\n // The problem is, that handler will receive another pointercancel event from the rest of the pointers\n // To avoid crashing, we don't send event if tracker tracks no pointers, i.e. has been reset\n if (trackerData.size === 0 || !trackerData.has(event.pointerId)) {\n return;\n }\n\n trackerData.forEach((element: TrackerElement, key: number): void => {\n const id: number = this.tracker.getMappedTouchEventId(key);\n\n all.push({\n id: id,\n x: element.abosoluteCoords.x - rect.pageX,\n y: element.abosoluteCoords.y - rect.pageY,\n absoluteX: element.abosoluteCoords.x,\n absoluteY: element.abosoluteCoords.y,\n });\n });\n\n // Each pointer sends its own event, so we want changed touches to contain only the pointer that has changed.\n // However, if the event is cancel, we want to cancel all pointers to avoid crashes\n if (event.eventType !== EventTypes.CANCEL) {\n changed.push({\n id: this.tracker.getMappedTouchEventId(event.pointerId),\n x: event.x - rect.pageX,\n y: event.y - rect.pageY,\n absoluteX: event.x,\n absoluteY: event.y,\n });\n } else {\n trackerData.forEach((element: TrackerElement, key: number): void => {\n const id: number = this.tracker.getMappedTouchEventId(key);\n\n changed.push({\n id: id,\n x: element.abosoluteCoords.x - rect.pageX,\n y: element.abosoluteCoords.y - rect.pageY,\n absoluteX: element.abosoluteCoords.x,\n absoluteY: element.abosoluteCoords.y,\n });\n });\n }\n\n let eventType: TouchEventType = TouchEventType.UNDETERMINED;\n\n switch (event.eventType) {\n case EventTypes.DOWN:\n case EventTypes.ADDITIONAL_POINTER_DOWN:\n eventType = TouchEventType.DOWN;\n break;\n case EventTypes.UP:\n case EventTypes.ADDITIONAL_POINTER_UP:\n eventType = TouchEventType.UP;\n break;\n case EventTypes.MOVE:\n eventType = TouchEventType.MOVE;\n break;\n case EventTypes.CANCEL:\n eventType = TouchEventType.CANCELLED;\n break;\n }\n\n // Here, when we receive up event, we want to decrease number of touches\n // That's because we want handler to send information that there's one pointer less\n // However, we still want this pointer to be present in allTouches array, so that its data can be accessed\n let numberOfTouches: number = all.length;\n\n if (\n event.eventType === EventTypes.UP ||\n event.eventType === EventTypes.ADDITIONAL_POINTER_UP\n ) {\n --numberOfTouches;\n }\n\n return {\n nativeEvent: {\n handlerTag: this.handlerTag,\n state: this.state,\n eventType: eventType,\n changedTouches: changed,\n allTouches: all,\n numberOfTouches: numberOfTouches,\n pointerType: this.pointerType,\n },\n timeStamp: Date.now(),\n };\n }\n\n private cancelTouches(): void {\n const rect = this.delegate.measureView();\n\n const all: PointerData[] = [];\n const changed: PointerData[] = [];\n\n const trackerData = this.tracker.trackedPointers;\n\n if (trackerData.size === 0) {\n return;\n }\n\n trackerData.forEach((element: TrackerElement, key: number): void => {\n const id: number = this.tracker.getMappedTouchEventId(key);\n\n all.push({\n id: id,\n x: element.abosoluteCoords.x - rect.pageX,\n y: element.abosoluteCoords.y - rect.pageY,\n absoluteX: element.abosoluteCoords.x,\n absoluteY: element.abosoluteCoords.y,\n });\n\n changed.push({\n id: id,\n x: element.abosoluteCoords.x - rect.pageX,\n y: element.abosoluteCoords.y - rect.pageY,\n absoluteX: element.abosoluteCoords.x,\n absoluteY: element.abosoluteCoords.y,\n });\n });\n\n const cancelEvent: ResultTouchEvent = {\n nativeEvent: {\n handlerTag: this.handlerTag,\n state: this.state,\n eventType: TouchEventType.CANCELLED,\n changedTouches: changed,\n allTouches: all,\n numberOfTouches: all.length,\n pointerType: this.pointerType,\n },\n timeStamp: Date.now(),\n };\n\n const { onGestureHandlerEvent }: PropsRef = this.propsRef\n .current as PropsRef;\n\n invokeNullableMethod(onGestureHandlerEvent, cancelEvent);\n }\n\n protected transformNativeEvent(): Record<string, unknown> {\n // Those properties are shared by most handlers and if not this method will be overriden\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n const lastRelativeCoords = this.tracker.getRelativeCoordsAverage();\n\n return {\n x: lastRelativeCoords.x,\n y: lastRelativeCoords.y,\n absoluteX: lastCoords.x,\n absoluteY: lastCoords.y,\n };\n }\n\n //\n // Handling config\n //\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n this._config = { enabled: enabled, ...props };\n this.enabled = enabled;\n\n this.delegate.onEnabledChange(enabled);\n\n if (this.config.shouldCancelWhenOutside !== undefined) {\n this.shouldCancelWhenOutside = this.config.shouldCancelWhenOutside;\n }\n\n this.validateHitSlops();\n\n if (this.enabled) {\n return;\n }\n\n switch (this.state) {\n case State.ACTIVE:\n this.fail(true);\n break;\n case State.UNDETERMINED:\n GestureHandlerOrchestrator.instance.removeHandlerFromOrchestrator(this);\n break;\n default:\n this.cancel(true);\n break;\n }\n }\n\n protected checkCustomActivationCriteria(criterias: string[]): void {\n for (const key in this.config) {\n if (criterias.indexOf(key) >= 0) {\n this.hasCustomActivationCriteria = true;\n }\n }\n }\n\n private validateHitSlops(): void {\n if (!this.config.hitSlop) {\n return;\n }\n\n if (\n this.config.hitSlop.left !== undefined &&\n this.config.hitSlop.right !== undefined &&\n this.config.hitSlop.width !== undefined\n ) {\n throw new Error(\n 'HitSlop Error: Cannot define left, right and width at the same time'\n );\n }\n\n if (\n this.config.hitSlop.width !== undefined &&\n this.config.hitSlop.left === undefined &&\n this.config.hitSlop.right === undefined\n ) {\n throw new Error(\n 'HitSlop Error: When width is defined, either left or right has to be defined'\n );\n }\n\n if (\n this.config.hitSlop.height !== undefined &&\n this.config.hitSlop.top !== undefined &&\n this.config.hitSlop.bottom !== undefined\n ) {\n throw new Error(\n 'HitSlop Error: Cannot define top, bottom and height at the same time'\n );\n }\n\n if (\n this.config.hitSlop.height !== undefined &&\n this.config.hitSlop.top === undefined &&\n this.config.hitSlop.bottom === undefined\n ) {\n throw new Error(\n 'HitSlop Error: When height is defined, either top or bottom has to be defined'\n );\n }\n }\n\n private checkHitSlop(): boolean {\n if (!this.config.hitSlop) {\n return true;\n }\n\n const { width, height } = this.delegate.measureView();\n\n let left = 0;\n let top = 0;\n let right: number = width;\n let bottom: number = height;\n\n if (this.config.hitSlop.horizontal !== undefined) {\n left -= this.config.hitSlop.horizontal;\n right += this.config.hitSlop.horizontal;\n }\n\n if (this.config.hitSlop.vertical !== undefined) {\n top -= this.config.hitSlop.vertical;\n bottom += this.config.hitSlop.vertical;\n }\n\n if (this.config.hitSlop.left !== undefined) {\n left = -this.config.hitSlop.left;\n }\n\n if (this.config.hitSlop.right !== undefined) {\n right = width + this.config.hitSlop.right;\n }\n\n if (this.config.hitSlop.top !== undefined) {\n top = -this.config.hitSlop.top;\n }\n\n if (this.config.hitSlop.bottom !== undefined) {\n bottom = width + this.config.hitSlop.bottom;\n }\n if (this.config.hitSlop.width !== undefined) {\n if (this.config.hitSlop.left !== undefined) {\n right = left + this.config.hitSlop.width;\n } else if (this.config.hitSlop.right !== undefined) {\n left = right - this.config.hitSlop.width;\n }\n }\n\n if (this.config.hitSlop.height !== undefined) {\n if (this.config.hitSlop.top !== undefined) {\n bottom = top + this.config.hitSlop.height;\n } else if (this.config.hitSlop.bottom !== undefined) {\n top = bottom - this.config.hitSlop.height;\n }\n }\n\n const rect = this.delegate.measureView();\n const { x, y } = this.tracker.getLastAbsoluteCoords();\n const offsetX: number = x - rect.pageX;\n const offsetY: number = y - rect.pageY;\n\n return (\n offsetX >= left && offsetX <= right && offsetY >= top && offsetY <= bottom\n );\n }\n\n public isButtonInConfig(mouseButton: MouseButton | undefined) {\n return (\n !mouseButton ||\n (!this.config.mouseButton && mouseButton === MouseButton.LEFT) ||\n (this.config.mouseButton && mouseButton & this.config.mouseButton)\n );\n }\n\n protected resetConfig(): void {}\n\n public onDestroy(): void {\n this.delegate.destroy(this.config);\n }\n\n //\n // Getters and setters\n //\n\n public get handlerTag() {\n return this._handlerTag;\n }\n public set handlerTag(value: number) {\n this._handlerTag = value;\n }\n\n public get config(): Config {\n return this._config;\n }\n\n public get delegate() {\n return this._delegate;\n }\n\n public get tracker() {\n return this._tracker;\n }\n\n public get state(): State {\n return this._state;\n }\n protected set state(value: State) {\n this._state = value;\n }\n\n public get shouldCancelWhenOutside() {\n return this._shouldCancelWhenOutside;\n }\n protected set shouldCancelWhenOutside(value) {\n this._shouldCancelWhenOutside = value;\n }\n\n public get enabled() {\n return this._enabled;\n }\n protected set enabled(value) {\n this._enabled = value;\n }\n\n public get pointerType(): PointerType {\n return this._pointerType;\n }\n protected set pointerType(value: PointerType) {\n this._pointerType = value;\n }\n\n public get active() {\n return this._active;\n }\n protected set active(value) {\n this._active = value;\n }\n\n public get awaiting() {\n return this._awaiting;\n }\n protected set awaiting(value) {\n this._awaiting = value;\n }\n\n public get activationIndex() {\n return this._activationIndex;\n }\n protected set activationIndex(value) {\n this._activationIndex = value;\n }\n\n public get shouldResetProgress() {\n return this._shouldResetProgress;\n }\n protected set shouldResetProgress(value) {\n this._shouldResetProgress = value;\n }\n\n public getTrackedPointersID(): number[] {\n return this.tracker.trackedPointersIDs;\n }\n\n private isFinished(): boolean {\n return (\n this.state === State.END ||\n this.state === State.FAILED ||\n this.state === State.CANCELLED\n );\n }\n}\n\nfunction invokeNullableMethod(\n method:\n | ((event: ResultEvent | ResultTouchEvent) => void)\n | { __getHandler: () => (event: ResultEvent | ResultTouchEvent) => void }\n | { __nodeConfig: { argMapping: unknown[] } },\n event: ResultEvent | ResultTouchEvent\n): void {\n if (!method) {\n return;\n }\n\n if (typeof method === 'function') {\n method(event);\n return;\n }\n\n if ('__getHandler' in method && typeof method.__getHandler === 'function') {\n const handler = method.__getHandler();\n invokeNullableMethod(handler, event);\n return;\n }\n\n if (!('__nodeConfig' in method)) {\n return;\n }\n\n const { argMapping }: { argMapping: unknown } = method.__nodeConfig;\n if (!Array.isArray(argMapping)) {\n return;\n }\n\n for (const [index, [key, value]] of argMapping.entries()) {\n if (!(key in event.nativeEvent)) {\n continue;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const nativeValue = event.nativeEvent[key];\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (value?.setValue) {\n // Reanimated API\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n value.setValue(nativeValue);\n } else {\n // RN Animated API\n method.__nodeConfig.argMapping[index] = [key, nativeValue];\n }\n }\n\n return;\n}\n"]}
|
@@ -4,49 +4,62 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
|
+
|
7
8
|
var _State = require("../../State");
|
9
|
+
|
8
10
|
var _GestureHandlerOrchestrator = _interopRequireDefault(require("../tools/GestureHandlerOrchestrator"));
|
11
|
+
|
9
12
|
var _GestureHandler = _interopRequireDefault(require("./GestureHandler"));
|
10
|
-
|
11
|
-
function
|
12
|
-
|
13
|
-
function
|
13
|
+
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
|
+
|
16
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
17
|
+
|
14
18
|
class HoverGestureHandler extends _GestureHandler.default {
|
15
19
|
constructor(...args) {
|
16
20
|
super(...args);
|
21
|
+
|
17
22
|
_defineProperty(this, "stylusData", void 0);
|
18
23
|
}
|
24
|
+
|
19
25
|
transformNativeEvent() {
|
20
|
-
return {
|
21
|
-
...super.transformNativeEvent(),
|
26
|
+
return { ...super.transformNativeEvent(),
|
22
27
|
stylusData: this.stylusData
|
23
28
|
};
|
24
29
|
}
|
30
|
+
|
25
31
|
onPointerMoveOver(event) {
|
26
32
|
_GestureHandlerOrchestrator.default.instance.recordHandlerIfNotPresent(this);
|
33
|
+
|
27
34
|
this.tracker.addToTracker(event);
|
28
35
|
this.stylusData = event.stylusData;
|
29
36
|
super.onPointerMoveOver(event);
|
37
|
+
|
30
38
|
if (this.state === _State.State.UNDETERMINED) {
|
31
39
|
this.begin();
|
32
40
|
this.activate();
|
33
41
|
}
|
34
42
|
}
|
43
|
+
|
35
44
|
onPointerMoveOut(event) {
|
36
45
|
this.tracker.removeFromTracker(event.pointerId);
|
37
46
|
this.stylusData = event.stylusData;
|
38
47
|
super.onPointerMoveOut(event);
|
39
48
|
this.end();
|
40
49
|
}
|
50
|
+
|
41
51
|
onPointerMove(event) {
|
42
52
|
this.tracker.track(event);
|
43
53
|
this.stylusData = event.stylusData;
|
44
54
|
super.onPointerMove(event);
|
45
55
|
}
|
56
|
+
|
46
57
|
onPointerCancel(event) {
|
47
58
|
super.onPointerCancel(event);
|
48
59
|
this.reset();
|
49
60
|
}
|
61
|
+
|
50
62
|
}
|
63
|
+
|
51
64
|
exports.default = HoverGestureHandler;
|
52
65
|
//# sourceMappingURL=HoverGestureHandler.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["HoverGestureHandler.ts"],"names":["HoverGestureHandler","GestureHandler","transformNativeEvent","stylusData","onPointerMoveOver","event","GestureHandlerOrchestrator","instance","recordHandlerIfNotPresent","tracker","addToTracker","state","State","UNDETERMINED","begin","activate","onPointerMoveOut","removeFromTracker","pointerId","end","onPointerMove","track","onPointerCancel","reset"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;;;;;AAEe,MAAMA,mBAAN,SAAkCC,uBAAlC,CAAiD;AAAA;AAAA;;AAAA;AAAA;;AAGpDC,EAAAA,oBAAoB,GAA4B;AACxD,WAAO,EACL,GAAG,MAAMA,oBAAN,EADE;AAELC,MAAAA,UAAU,EAAE,KAAKA;AAFZ,KAAP;AAID;;AAESC,EAAAA,iBAAiB,CAACC,KAAD,EAA4B;AACrDC,wCAA2BC,QAA3B,CAAoCC,yBAApC,CAA8D,IAA9D;;AAEA,SAAKC,OAAL,CAAaC,YAAb,CAA0BL,KAA1B;AACA,SAAKF,UAAL,GAAkBE,KAAK,CAACF,UAAxB;AACA,UAAMC,iBAAN,CAAwBC,KAAxB;;AAEA,QAAI,KAAKM,KAAL,KAAeC,aAAMC,YAAzB,EAAuC;AACrC,WAAKC,KAAL;AACA,WAAKC,QAAL;AACD;AACF;;AAESC,EAAAA,gBAAgB,CAACX,KAAD,EAA4B;AACpD,SAAKI,OAAL,CAAaQ,iBAAb,CAA+BZ,KAAK,CAACa,SAArC;AACA,SAAKf,UAAL,GAAkBE,KAAK,CAACF,UAAxB;AAEA,UAAMa,gBAAN,CAAuBX,KAAvB;AAEA,SAAKc,GAAL;AACD;;AAESC,EAAAA,aAAa,CAACf,KAAD,EAA4B;AACjD,SAAKI,OAAL,CAAaY,KAAb,CAAmBhB,KAAnB;AACA,SAAKF,UAAL,GAAkBE,KAAK,CAACF,UAAxB;AAEA,UAAMiB,aAAN,CAAoBf,KAApB;AACD;;AAESiB,EAAAA,eAAe,CAACjB,KAAD,EAA4B;AACnD,UAAMiB,eAAN,CAAsBjB,KAAtB;AACA,SAAKkB,KAAL;AACD;;AA1C6D","sourcesContent":["import { State } from '../../State';\nimport { AdaptedEvent, StylusData } from '../interfaces';\nimport GestureHandlerOrchestrator from '../tools/GestureHandlerOrchestrator';\nimport GestureHandler from './GestureHandler';\n\nexport default class HoverGestureHandler extends GestureHandler {\n private stylusData: StylusData | undefined;\n\n protected transformNativeEvent(): Record<string, unknown> {\n return {\n ...super.transformNativeEvent(),\n stylusData: this.stylusData,\n };\n }\n\n protected onPointerMoveOver(event: AdaptedEvent): void {\n GestureHandlerOrchestrator.instance.recordHandlerIfNotPresent(this);\n\n this.tracker.addToTracker(event);\n this.stylusData = event.stylusData;\n super.onPointerMoveOver(event);\n\n if (this.state === State.UNDETERMINED) {\n this.begin();\n this.activate();\n }\n }\n\n protected onPointerMoveOut(event: AdaptedEvent): void {\n this.tracker.removeFromTracker(event.pointerId);\n this.stylusData = event.stylusData;\n\n super.onPointerMoveOut(event);\n\n this.end();\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n super.onPointerMove(event);\n }\n\n protected onPointerCancel(event: AdaptedEvent): void {\n super.onPointerCancel(event);\n this.reset();\n }\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
@@ -4,40 +4,56 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
|
+
|
7
8
|
var _State = require("../../State");
|
9
|
+
|
8
10
|
var _GestureHandler = _interopRequireDefault(require("./GestureHandler"));
|
9
|
-
|
10
|
-
function
|
11
|
-
|
12
|
-
function
|
11
|
+
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13
|
+
|
14
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
15
|
+
|
13
16
|
const DEFAULT_MIN_DURATION_MS = 500;
|
14
17
|
const DEFAULT_MAX_DIST_DP = 10;
|
15
18
|
const SCALING_FACTOR = 10;
|
19
|
+
|
16
20
|
class LongPressGestureHandler extends _GestureHandler.default {
|
17
21
|
constructor(...args) {
|
18
22
|
super(...args);
|
23
|
+
|
19
24
|
_defineProperty(this, "minDurationMs", DEFAULT_MIN_DURATION_MS);
|
25
|
+
|
20
26
|
_defineProperty(this, "defaultMaxDistSq", DEFAULT_MAX_DIST_DP * SCALING_FACTOR);
|
27
|
+
|
21
28
|
_defineProperty(this, "maxDistSq", this.defaultMaxDistSq);
|
29
|
+
|
22
30
|
_defineProperty(this, "numberOfPointers", 1);
|
31
|
+
|
23
32
|
_defineProperty(this, "startX", 0);
|
33
|
+
|
24
34
|
_defineProperty(this, "startY", 0);
|
35
|
+
|
25
36
|
_defineProperty(this, "startTime", 0);
|
37
|
+
|
26
38
|
_defineProperty(this, "previousTime", 0);
|
39
|
+
|
27
40
|
_defineProperty(this, "activationTimeout", void 0);
|
28
41
|
}
|
42
|
+
|
29
43
|
init(ref, propsRef) {
|
30
44
|
if (this.config.enableContextMenu === undefined) {
|
31
45
|
this.config.enableContextMenu = false;
|
32
46
|
}
|
47
|
+
|
33
48
|
super.init(ref, propsRef);
|
34
49
|
}
|
50
|
+
|
35
51
|
transformNativeEvent() {
|
36
|
-
return {
|
37
|
-
...super.transformNativeEvent(),
|
52
|
+
return { ...super.transformNativeEvent(),
|
38
53
|
duration: Date.now() - this.startTime
|
39
54
|
};
|
40
55
|
}
|
56
|
+
|
41
57
|
updateGestureConfig({
|
42
58
|
enabled = true,
|
43
59
|
...props
|
@@ -46,28 +62,35 @@ class LongPressGestureHandler extends _GestureHandler.default {
|
|
46
62
|
enabled: enabled,
|
47
63
|
...props
|
48
64
|
});
|
65
|
+
|
49
66
|
if (this.config.minDurationMs !== undefined) {
|
50
67
|
this.minDurationMs = this.config.minDurationMs;
|
51
68
|
}
|
69
|
+
|
52
70
|
if (this.config.maxDist !== undefined) {
|
53
71
|
this.maxDistSq = this.config.maxDist * this.config.maxDist;
|
54
72
|
}
|
73
|
+
|
55
74
|
if (this.config.numberOfPointers !== undefined) {
|
56
75
|
this.numberOfPointers = this.config.numberOfPointers;
|
57
76
|
}
|
58
77
|
}
|
78
|
+
|
59
79
|
resetConfig() {
|
60
80
|
super.resetConfig();
|
61
81
|
this.minDurationMs = DEFAULT_MIN_DURATION_MS;
|
62
82
|
this.maxDistSq = this.defaultMaxDistSq;
|
63
83
|
}
|
84
|
+
|
64
85
|
onStateChange(_newState, _oldState) {
|
65
86
|
clearTimeout(this.activationTimeout);
|
66
87
|
}
|
88
|
+
|
67
89
|
onPointerDown(event) {
|
68
90
|
if (!this.isButtonInConfig(event.button)) {
|
69
91
|
return;
|
70
92
|
}
|
93
|
+
|
71
94
|
this.tracker.addToTracker(event);
|
72
95
|
super.onPointerDown(event);
|
73
96
|
this.startX = event.x;
|
@@ -76,56 +99,69 @@ class LongPressGestureHandler extends _GestureHandler.default {
|
|
76
99
|
this.tryActivate();
|
77
100
|
this.tryToSendTouchEvent(event);
|
78
101
|
}
|
102
|
+
|
79
103
|
onPointerAdd(event) {
|
80
104
|
super.onPointerAdd(event);
|
81
105
|
this.tracker.addToTracker(event);
|
106
|
+
|
82
107
|
if (this.tracker.trackedPointersCount > this.numberOfPointers) {
|
83
108
|
this.fail();
|
84
109
|
return;
|
85
110
|
}
|
111
|
+
|
86
112
|
const absoluteCoordsAverage = this.tracker.getAbsoluteCoordsAverage();
|
87
113
|
this.startX = absoluteCoordsAverage.x;
|
88
114
|
this.startY = absoluteCoordsAverage.y;
|
89
115
|
this.tryActivate();
|
90
116
|
}
|
117
|
+
|
91
118
|
onPointerMove(event) {
|
92
119
|
super.onPointerMove(event);
|
93
120
|
this.tracker.track(event);
|
94
121
|
this.checkDistanceFail();
|
95
122
|
}
|
123
|
+
|
96
124
|
onPointerOutOfBounds(event) {
|
97
125
|
super.onPointerOutOfBounds(event);
|
98
126
|
this.tracker.track(event);
|
99
127
|
this.checkDistanceFail();
|
100
128
|
}
|
129
|
+
|
101
130
|
onPointerUp(event) {
|
102
131
|
super.onPointerUp(event);
|
103
132
|
this.tracker.removeFromTracker(event.pointerId);
|
133
|
+
|
104
134
|
if (this.state === _State.State.ACTIVE) {
|
105
135
|
this.end();
|
106
136
|
} else {
|
107
137
|
this.fail();
|
108
138
|
}
|
109
139
|
}
|
140
|
+
|
110
141
|
onPointerRemove(event) {
|
111
142
|
super.onPointerRemove(event);
|
112
143
|
this.tracker.removeFromTracker(event.pointerId);
|
144
|
+
|
113
145
|
if (this.tracker.trackedPointersCount < this.numberOfPointers && this.state !== _State.State.ACTIVE) {
|
114
146
|
this.fail();
|
115
147
|
}
|
116
148
|
}
|
149
|
+
|
117
150
|
tryBegin() {
|
118
151
|
if (this.state !== _State.State.UNDETERMINED) {
|
119
152
|
return;
|
120
153
|
}
|
154
|
+
|
121
155
|
this.previousTime = Date.now();
|
122
156
|
this.startTime = this.previousTime;
|
123
157
|
this.begin();
|
124
158
|
}
|
159
|
+
|
125
160
|
tryActivate() {
|
126
161
|
if (this.tracker.trackedPointersCount !== this.numberOfPointers) {
|
127
162
|
return;
|
128
163
|
}
|
164
|
+
|
129
165
|
if (this.minDurationMs > 0) {
|
130
166
|
this.activationTimeout = setTimeout(() => {
|
131
167
|
this.activate();
|
@@ -134,20 +170,25 @@ class LongPressGestureHandler extends _GestureHandler.default {
|
|
134
170
|
this.activate();
|
135
171
|
}
|
136
172
|
}
|
173
|
+
|
137
174
|
checkDistanceFail() {
|
138
175
|
const absoluteCoordsAverage = this.tracker.getAbsoluteCoordsAverage();
|
139
176
|
const dx = absoluteCoordsAverage.x - this.startX;
|
140
177
|
const dy = absoluteCoordsAverage.y - this.startY;
|
141
178
|
const distSq = dx * dx + dy * dy;
|
179
|
+
|
142
180
|
if (distSq <= this.maxDistSq) {
|
143
181
|
return;
|
144
182
|
}
|
183
|
+
|
145
184
|
if (this.state === _State.State.ACTIVE) {
|
146
185
|
this.cancel();
|
147
186
|
} else {
|
148
187
|
this.fail();
|
149
188
|
}
|
150
189
|
}
|
190
|
+
|
151
191
|
}
|
192
|
+
|
152
193
|
exports.default = LongPressGestureHandler;
|
153
194
|
//# sourceMappingURL=LongPressGestureHandler.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_State","require","_GestureHandler","_interopRequireDefault","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DEFAULT_MIN_DURATION_MS","DEFAULT_MAX_DIST_DP","SCALING_FACTOR","LongPressGestureHandler","GestureHandler","constructor","args","defaultMaxDistSq","init","ref","propsRef","config","enableContextMenu","undefined","transformNativeEvent","duration","Date","now","startTime","updateGestureConfig","enabled","props","minDurationMs","maxDist","maxDistSq","numberOfPointers","resetConfig","onStateChange","_newState","_oldState","clearTimeout","activationTimeout","onPointerDown","event","isButtonInConfig","button","tracker","addToTracker","startX","x","startY","y","tryBegin","tryActivate","tryToSendTouchEvent","onPointerAdd","trackedPointersCount","fail","absoluteCoordsAverage","getAbsoluteCoordsAverage","onPointerMove","track","checkDistanceFail","onPointerOutOfBounds","onPointerUp","removeFromTracker","pointerId","state","State","ACTIVE","end","onPointerRemove","UNDETERMINED","previousTime","begin","setTimeout","activate","dx","dy","distSq","cancel","exports"],"sources":["LongPressGestureHandler.ts"],"sourcesContent":["import { State } from '../../State';\nimport { AdaptedEvent, Config } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MIN_DURATION_MS = 500;\nconst DEFAULT_MAX_DIST_DP = 10;\nconst SCALING_FACTOR = 10;\n\nexport default class LongPressGestureHandler extends GestureHandler {\n private minDurationMs = DEFAULT_MIN_DURATION_MS;\n private defaultMaxDistSq = DEFAULT_MAX_DIST_DP * SCALING_FACTOR;\n\n private maxDistSq = this.defaultMaxDistSq;\n private numberOfPointers = 1;\n private startX = 0;\n private startY = 0;\n\n private startTime = 0;\n private previousTime = 0;\n\n private activationTimeout: number | undefined;\n\n public init(ref: number, propsRef: React.RefObject<unknown>) {\n if (this.config.enableContextMenu === undefined) {\n this.config.enableContextMenu = false;\n }\n\n super.init(ref, propsRef);\n }\n\n protected transformNativeEvent() {\n return {\n ...super.transformNativeEvent(),\n duration: Date.now() - this.startTime,\n };\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n\n if (this.config.minDurationMs !== undefined) {\n this.minDurationMs = this.config.minDurationMs;\n }\n\n if (this.config.maxDist !== undefined) {\n this.maxDistSq = this.config.maxDist * this.config.maxDist;\n }\n\n if (this.config.numberOfPointers !== undefined) {\n this.numberOfPointers = this.config.numberOfPointers;\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n this.minDurationMs = DEFAULT_MIN_DURATION_MS;\n this.maxDistSq = this.defaultMaxDistSq;\n }\n\n protected onStateChange(_newState: State, _oldState: State): void {\n clearTimeout(this.activationTimeout);\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.startX = event.x;\n this.startY = event.y;\n\n this.tryBegin();\n this.tryActivate();\n\n this.tryToSendTouchEvent(event);\n }\n protected onPointerAdd(event: AdaptedEvent): void {\n super.onPointerAdd(event);\n this.tracker.addToTracker(event);\n\n if (this.tracker.trackedPointersCount > this.numberOfPointers) {\n this.fail();\n return;\n }\n\n const absoluteCoordsAverage = this.tracker.getAbsoluteCoordsAverage();\n\n this.startX = absoluteCoordsAverage.x;\n this.startY = absoluteCoordsAverage.y;\n\n this.tryActivate();\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n super.onPointerMove(event);\n this.tracker.track(event);\n this.checkDistanceFail();\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n super.onPointerOutOfBounds(event);\n this.tracker.track(event);\n this.checkDistanceFail();\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.state === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n if (\n this.tracker.trackedPointersCount < this.numberOfPointers &&\n this.state !== State.ACTIVE\n ) {\n this.fail();\n }\n }\n\n private tryBegin(): void {\n if (this.state !== State.UNDETERMINED) {\n return;\n }\n\n this.previousTime = Date.now();\n this.startTime = this.previousTime;\n\n this.begin();\n }\n\n private tryActivate(): void {\n if (this.tracker.trackedPointersCount !== this.numberOfPointers) {\n return;\n }\n\n if (this.minDurationMs > 0) {\n this.activationTimeout = setTimeout(() => {\n this.activate();\n }, this.minDurationMs);\n } else if (this.minDurationMs === 0) {\n this.activate();\n }\n }\n\n private checkDistanceFail(): void {\n const absoluteCoordsAverage = this.tracker.getAbsoluteCoordsAverage();\n\n const dx = absoluteCoordsAverage.x - this.startX;\n const dy = absoluteCoordsAverage.y - this.startY;\n const distSq = dx * dx + dy * dy;\n\n if (distSq <= this.maxDistSq) {\n return;\n }\n\n if (this.state === State.ACTIVE) {\n this.cancel();\n } else {\n this.fail();\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA8C,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAE9C,MAAMgB,uBAAuB,GAAG,GAAG;AACnC,MAAMC,mBAAmB,GAAG,EAAE;AAC9B,MAAMC,cAAc,GAAG,EAAE;AAEV,MAAMC,uBAAuB,SAASC,uBAAc,CAAC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAxB,eAAA,wBAC1CkB,uBAAuB;IAAAlB,eAAA,2BACpBmB,mBAAmB,GAAGC,cAAc;IAAApB,eAAA,oBAE3C,IAAI,CAACyB,gBAAgB;IAAAzB,eAAA,2BACd,CAAC;IAAAA,eAAA,iBACX,CAAC;IAAAA,eAAA,iBACD,CAAC;IAAAA,eAAA,oBAEE,CAAC;IAAAA,eAAA,uBACE,CAAC;IAAAA,eAAA;EAAA;EAIjB0B,IAAIA,CAACC,GAAW,EAAEC,QAAkC,EAAE;IAC3D,IAAI,IAAI,CAACC,MAAM,CAACC,iBAAiB,KAAKC,SAAS,EAAE;MAC/C,IAAI,CAACF,MAAM,CAACC,iBAAiB,GAAG,KAAK;IACvC;IAEA,KAAK,CAACJ,IAAI,CAACC,GAAG,EAAEC,QAAQ,CAAC;EAC3B;EAEUI,oBAAoBA,CAAA,EAAG;IAC/B,OAAO;MACL,GAAG,KAAK,CAACA,oBAAoB,CAAC,CAAC;MAC/BC,QAAQ,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAACC;IAC9B,CAAC;EACH;EAEOC,mBAAmBA,CAAC;IAAEC,OAAO,GAAG,IAAI;IAAE,GAAGC;EAAc,CAAC,EAAQ;IACrE,KAAK,CAACF,mBAAmB,CAAC;MAAEC,OAAO,EAAEA,OAAO;MAAE,GAAGC;IAAM,CAAC,CAAC;IAEzD,IAAI,IAAI,CAACV,MAAM,CAACW,aAAa,KAAKT,SAAS,EAAE;MAC3C,IAAI,CAACS,aAAa,GAAG,IAAI,CAACX,MAAM,CAACW,aAAa;IAChD;IAEA,IAAI,IAAI,CAACX,MAAM,CAACY,OAAO,KAAKV,SAAS,EAAE;MACrC,IAAI,CAACW,SAAS,GAAG,IAAI,CAACb,MAAM,CAACY,OAAO,GAAG,IAAI,CAACZ,MAAM,CAACY,OAAO;IAC5D;IAEA,IAAI,IAAI,CAACZ,MAAM,CAACc,gBAAgB,KAAKZ,SAAS,EAAE;MAC9C,IAAI,CAACY,gBAAgB,GAAG,IAAI,CAACd,MAAM,CAACc,gBAAgB;IACtD;EACF;EAEUC,WAAWA,CAAA,EAAS;IAC5B,KAAK,CAACA,WAAW,CAAC,CAAC;IACnB,IAAI,CAACJ,aAAa,GAAGtB,uBAAuB;IAC5C,IAAI,CAACwB,SAAS,GAAG,IAAI,CAACjB,gBAAgB;EACxC;EAEUoB,aAAaA,CAACC,SAAgB,EAAEC,SAAgB,EAAQ;IAChEC,YAAY,CAAC,IAAI,CAACC,iBAAiB,CAAC;EACtC;EAEUC,aAAaA,CAACC,KAAmB,EAAQ;IACjD,IAAI,CAAC,IAAI,CAACC,gBAAgB,CAACD,KAAK,CAACE,MAAM,CAAC,EAAE;MACxC;IACF;IAEA,IAAI,CAACC,OAAO,CAACC,YAAY,CAACJ,KAAK,CAAC;IAChC,KAAK,CAACD,aAAa,CAACC,KAAK,CAAC;IAE1B,IAAI,CAACK,MAAM,GAAGL,KAAK,CAACM,CAAC;IACrB,IAAI,CAACC,MAAM,GAAGP,KAAK,CAACQ,CAAC;IAErB,IAAI,CAACC,QAAQ,CAAC,CAAC;IACf,IAAI,CAACC,WAAW,CAAC,CAAC;IAElB,IAAI,CAACC,mBAAmB,CAACX,KAAK,CAAC;EACjC;EACUY,YAAYA,CAACZ,KAAmB,EAAQ;IAChD,KAAK,CAACY,YAAY,CAACZ,KAAK,CAAC;IACzB,IAAI,CAACG,OAAO,CAACC,YAAY,CAACJ,KAAK,CAAC;IAEhC,IAAI,IAAI,CAACG,OAAO,CAACU,oBAAoB,GAAG,IAAI,CAACrB,gBAAgB,EAAE;MAC7D,IAAI,CAACsB,IAAI,CAAC,CAAC;MACX;IACF;IAEA,MAAMC,qBAAqB,GAAG,IAAI,CAACZ,OAAO,CAACa,wBAAwB,CAAC,CAAC;IAErE,IAAI,CAACX,MAAM,GAAGU,qBAAqB,CAACT,CAAC;IACrC,IAAI,CAACC,MAAM,GAAGQ,qBAAqB,CAACP,CAAC;IAErC,IAAI,CAACE,WAAW,CAAC,CAAC;EACpB;EAEUO,aAAaA,CAACjB,KAAmB,EAAQ;IACjD,KAAK,CAACiB,aAAa,CAACjB,KAAK,CAAC;IAC1B,IAAI,CAACG,OAAO,CAACe,KAAK,CAAClB,KAAK,CAAC;IACzB,IAAI,CAACmB,iBAAiB,CAAC,CAAC;EAC1B;EAEUC,oBAAoBA,CAACpB,KAAmB,EAAQ;IACxD,KAAK,CAACoB,oBAAoB,CAACpB,KAAK,CAAC;IACjC,IAAI,CAACG,OAAO,CAACe,KAAK,CAAClB,KAAK,CAAC;IACzB,IAAI,CAACmB,iBAAiB,CAAC,CAAC;EAC1B;EAEUE,WAAWA,CAACrB,KAAmB,EAAQ;IAC/C,KAAK,CAACqB,WAAW,CAACrB,KAAK,CAAC;IACxB,IAAI,CAACG,OAAO,CAACmB,iBAAiB,CAACtB,KAAK,CAACuB,SAAS,CAAC;IAE/C,IAAI,IAAI,CAACC,KAAK,KAAKC,YAAK,CAACC,MAAM,EAAE;MAC/B,IAAI,CAACC,GAAG,CAAC,CAAC;IACZ,CAAC,MAAM;MACL,IAAI,CAACb,IAAI,CAAC,CAAC;IACb;EACF;EAEUc,eAAeA,CAAC5B,KAAmB,EAAQ;IACnD,KAAK,CAAC4B,eAAe,CAAC5B,KAAK,CAAC;IAC5B,IAAI,CAACG,OAAO,CAACmB,iBAAiB,CAACtB,KAAK,CAACuB,SAAS,CAAC;IAE/C,IACE,IAAI,CAACpB,OAAO,CAACU,oBAAoB,GAAG,IAAI,CAACrB,gBAAgB,IACzD,IAAI,CAACgC,KAAK,KAAKC,YAAK,CAACC,MAAM,EAC3B;MACA,IAAI,CAACZ,IAAI,CAAC,CAAC;IACb;EACF;EAEQL,QAAQA,CAAA,EAAS;IACvB,IAAI,IAAI,CAACe,KAAK,KAAKC,YAAK,CAACI,YAAY,EAAE;MACrC;IACF;IAEA,IAAI,CAACC,YAAY,GAAG/C,IAAI,CAACC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAACC,SAAS,GAAG,IAAI,CAAC6C,YAAY;IAElC,IAAI,CAACC,KAAK,CAAC,CAAC;EACd;EAEQrB,WAAWA,CAAA,EAAS;IAC1B,IAAI,IAAI,CAACP,OAAO,CAACU,oBAAoB,KAAK,IAAI,CAACrB,gBAAgB,EAAE;MAC/D;IACF;IAEA,IAAI,IAAI,CAACH,aAAa,GAAG,CAAC,EAAE;MAC1B,IAAI,CAACS,iBAAiB,GAAGkC,UAAU,CAAC,MAAM;QACxC,IAAI,CAACC,QAAQ,CAAC,CAAC;MACjB,CAAC,EAAE,IAAI,CAAC5C,aAAa,CAAC;IACxB,CAAC,MAAM,IAAI,IAAI,CAACA,aAAa,KAAK,CAAC,EAAE;MACnC,IAAI,CAAC4C,QAAQ,CAAC,CAAC;IACjB;EACF;EAEQd,iBAAiBA,CAAA,EAAS;IAChC,MAAMJ,qBAAqB,GAAG,IAAI,CAACZ,OAAO,CAACa,wBAAwB,CAAC,CAAC;IAErE,MAAMkB,EAAE,GAAGnB,qBAAqB,CAACT,CAAC,GAAG,IAAI,CAACD,MAAM;IAChD,MAAM8B,EAAE,GAAGpB,qBAAqB,CAACP,CAAC,GAAG,IAAI,CAACD,MAAM;IAChD,MAAM6B,MAAM,GAAGF,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE;IAEhC,IAAIC,MAAM,IAAI,IAAI,CAAC7C,SAAS,EAAE;MAC5B;IACF;IAEA,IAAI,IAAI,CAACiC,KAAK,KAAKC,YAAK,CAACC,MAAM,EAAE;MAC/B,IAAI,CAACW,MAAM,CAAC,CAAC;IACf,CAAC,MAAM;MACL,IAAI,CAACvB,IAAI,CAAC,CAAC;IACb;EACF;AACF;AAACwB,OAAA,CAAA1F,OAAA,GAAAsB,uBAAA","ignoreList":[]}
|
1
|
+
{"version":3,"sources":["LongPressGestureHandler.ts"],"names":["DEFAULT_MIN_DURATION_MS","DEFAULT_MAX_DIST_DP","SCALING_FACTOR","LongPressGestureHandler","GestureHandler","defaultMaxDistSq","init","ref","propsRef","config","enableContextMenu","undefined","transformNativeEvent","duration","Date","now","startTime","updateGestureConfig","enabled","props","minDurationMs","maxDist","maxDistSq","numberOfPointers","resetConfig","onStateChange","_newState","_oldState","clearTimeout","activationTimeout","onPointerDown","event","isButtonInConfig","button","tracker","addToTracker","startX","x","startY","y","tryBegin","tryActivate","tryToSendTouchEvent","onPointerAdd","trackedPointersCount","fail","absoluteCoordsAverage","getAbsoluteCoordsAverage","onPointerMove","track","checkDistanceFail","onPointerOutOfBounds","onPointerUp","removeFromTracker","pointerId","state","State","ACTIVE","end","onPointerRemove","UNDETERMINED","previousTime","begin","setTimeout","activate","dx","dy","distSq","cancel"],"mappings":"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","sourcesContent":["import { State } from '../../State';\nimport { AdaptedEvent, Config } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MIN_DURATION_MS = 500;\nconst DEFAULT_MAX_DIST_DP = 10;\nconst SCALING_FACTOR = 10;\n\nexport default class LongPressGestureHandler extends GestureHandler {\n private minDurationMs = DEFAULT_MIN_DURATION_MS;\n private defaultMaxDistSq = DEFAULT_MAX_DIST_DP * SCALING_FACTOR;\n\n private maxDistSq = this.defaultMaxDistSq;\n private numberOfPointers = 1;\n private startX = 0;\n private startY = 0;\n\n private startTime = 0;\n private previousTime = 0;\n\n private activationTimeout: number | undefined;\n\n public init(ref: number, propsRef: React.RefObject<unknown>) {\n if (this.config.enableContextMenu === undefined) {\n this.config.enableContextMenu = false;\n }\n\n super.init(ref, propsRef);\n }\n\n protected transformNativeEvent() {\n return {\n ...super.transformNativeEvent(),\n duration: Date.now() - this.startTime,\n };\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n\n if (this.config.minDurationMs !== undefined) {\n this.minDurationMs = this.config.minDurationMs;\n }\n\n if (this.config.maxDist !== undefined) {\n this.maxDistSq = this.config.maxDist * this.config.maxDist;\n }\n\n if (this.config.numberOfPointers !== undefined) {\n this.numberOfPointers = this.config.numberOfPointers;\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n this.minDurationMs = DEFAULT_MIN_DURATION_MS;\n this.maxDistSq = this.defaultMaxDistSq;\n }\n\n protected onStateChange(_newState: State, _oldState: State): void {\n clearTimeout(this.activationTimeout);\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.startX = event.x;\n this.startY = event.y;\n\n this.tryBegin();\n this.tryActivate();\n\n this.tryToSendTouchEvent(event);\n }\n protected onPointerAdd(event: AdaptedEvent): void {\n super.onPointerAdd(event);\n this.tracker.addToTracker(event);\n\n if (this.tracker.trackedPointersCount > this.numberOfPointers) {\n this.fail();\n return;\n }\n\n const absoluteCoordsAverage = this.tracker.getAbsoluteCoordsAverage();\n\n this.startX = absoluteCoordsAverage.x;\n this.startY = absoluteCoordsAverage.y;\n\n this.tryActivate();\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n super.onPointerMove(event);\n this.tracker.track(event);\n this.checkDistanceFail();\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n super.onPointerOutOfBounds(event);\n this.tracker.track(event);\n this.checkDistanceFail();\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.state === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n if (\n this.tracker.trackedPointersCount < this.numberOfPointers &&\n this.state !== State.ACTIVE\n ) {\n this.fail();\n }\n }\n\n private tryBegin(): void {\n if (this.state !== State.UNDETERMINED) {\n return;\n }\n\n this.previousTime = Date.now();\n this.startTime = this.previousTime;\n\n this.begin();\n }\n\n private tryActivate(): void {\n if (this.tracker.trackedPointersCount !== this.numberOfPointers) {\n return;\n }\n\n if (this.minDurationMs > 0) {\n this.activationTimeout = setTimeout(() => {\n this.activate();\n }, this.minDurationMs);\n } else if (this.minDurationMs === 0) {\n this.activate();\n }\n }\n\n private checkDistanceFail(): void {\n const absoluteCoordsAverage = this.tracker.getAbsoluteCoordsAverage();\n\n const dx = absoluteCoordsAverage.x - this.startX;\n const dy = absoluteCoordsAverage.y - this.startY;\n const distSq = dx * dx + dy * dy;\n\n if (distSq <= this.maxDistSq) {\n return;\n }\n\n if (this.state === State.ACTIVE) {\n this.cancel();\n } else {\n this.fail();\n }\n }\n}\n"]}
|
@@ -4,8 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
|
+
|
7
8
|
var _GestureHandler = _interopRequireDefault(require("./GestureHandler"));
|
8
|
-
|
9
|
+
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11
|
+
|
9
12
|
class ManualGestureHandler extends _GestureHandler.default {
|
10
13
|
onPointerDown(event) {
|
11
14
|
this.tracker.addToTracker(event);
|
@@ -13,26 +16,33 @@ class ManualGestureHandler extends _GestureHandler.default {
|
|
13
16
|
this.begin();
|
14
17
|
this.tryToSendTouchEvent(event);
|
15
18
|
}
|
19
|
+
|
16
20
|
onPointerAdd(event) {
|
17
21
|
this.tracker.addToTracker(event);
|
18
22
|
super.onPointerAdd(event);
|
19
23
|
}
|
24
|
+
|
20
25
|
onPointerMove(event) {
|
21
26
|
this.tracker.track(event);
|
22
27
|
super.onPointerMove(event);
|
23
28
|
}
|
29
|
+
|
24
30
|
onPointerOutOfBounds(event) {
|
25
31
|
this.tracker.track(event);
|
26
32
|
super.onPointerOutOfBounds(event);
|
27
33
|
}
|
34
|
+
|
28
35
|
onPointerUp(event) {
|
29
36
|
super.onPointerUp(event);
|
30
37
|
this.tracker.removeFromTracker(event.pointerId);
|
31
38
|
}
|
39
|
+
|
32
40
|
onPointerRemove(event) {
|
33
41
|
super.onPointerRemove(event);
|
34
42
|
this.tracker.removeFromTracker(event.pointerId);
|
35
43
|
}
|
44
|
+
|
36
45
|
}
|
46
|
+
|
37
47
|
exports.default = ManualGestureHandler;
|
38
48
|
//# sourceMappingURL=ManualGestureHandler.js.map
|