react-native-gesture-handler 2.22.1 → 2.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +14 -0
- package/android/src/main/jni/cpp-adapter.cpp +19 -12
- package/apple/RNGestureHandler.mm +15 -8
- package/apple/RNGestureHandlerModule.mm +17 -5
- package/lib/commonjs/ActionType.js +3 -3
- package/lib/commonjs/ActionType.js.map +1 -1
- package/lib/commonjs/Directions.js +11 -8
- package/lib/commonjs/Directions.js.map +1 -1
- package/lib/commonjs/EnableNewWebImplementation.js +2 -10
- package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
- package/lib/commonjs/GestureHandlerRootViewContext.js +2 -7
- package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/commonjs/PlatformConstants.js +1 -6
- package/lib/commonjs/PlatformConstants.js.map +1 -1
- package/lib/commonjs/PlatformConstants.web.js +1 -3
- package/lib/commonjs/PlatformConstants.web.js.map +1 -1
- package/lib/commonjs/PointerType.js +3 -5
- package/lib/commonjs/PointerType.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.js +2 -6
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.web.js +13 -39
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.windows.js +22 -32
- package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/commonjs/RNRenderer.js +1 -3
- package/lib/commonjs/RNRenderer.js.map +1 -1
- package/lib/commonjs/RNRenderer.web.js +1 -2
- package/lib/commonjs/RNRenderer.web.js.map +1 -1
- package/lib/commonjs/State.js +4 -3
- package/lib/commonjs/State.js.map +1 -1
- package/lib/commonjs/TouchEventType.js +3 -3
- package/lib/commonjs/TouchEventType.js.map +1 -1
- package/lib/commonjs/components/DrawerLayout.js +96 -115
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/GestureButtons.js +36 -80
- package/lib/commonjs/components/GestureButtons.js.map +1 -1
- package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.js +26 -37
- package/lib/commonjs/components/GestureComponents.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.web.js +13 -27
- package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.js +2 -6
- package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.web.js +4 -12
- package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.android.js +4 -15
- package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.js +4 -14
- package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.web.js +4 -13
- package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/commonjs/components/Pressable/Pressable.js +46 -78
- package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
- package/lib/commonjs/components/Pressable/PressableProps.js.map +1 -1
- package/lib/commonjs/components/Pressable/index.js +1 -3
- package/lib/commonjs/components/Pressable/index.js.map +1 -1
- package/lib/commonjs/components/Pressable/utils.js +5 -20
- package/lib/commonjs/components/Pressable/utils.js.map +1 -1
- package/lib/commonjs/components/ReanimatedDrawerLayout.js +38 -76
- package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/commonjs/components/ReanimatedSwipeable.js +61 -59
- package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/commonjs/components/Swipeable.js +34 -75
- package/lib/commonjs/components/Swipeable.js.map +1 -1
- package/lib/commonjs/components/Text.js +18 -26
- package/lib/commonjs/components/Text.js.map +1 -1
- package/lib/commonjs/components/gestureHandlerRootHOC.js +5 -14
- package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchable.js +40 -76
- package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableHighlight.js +20 -33
- package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +17 -31
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -4
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableOpacity.js +17 -24
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +12 -13
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/index.js +7 -12
- package/lib/commonjs/components/touchables/index.js.map +1 -1
- package/lib/commonjs/findNodeHandle.js +1 -4
- package/lib/commonjs/findNodeHandle.js.map +1 -1
- package/lib/commonjs/findNodeHandle.web.js +9 -10
- package/lib/commonjs/findNodeHandle.web.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.js +1 -6
- package/lib/commonjs/getReactNativeVersion.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.web.js +0 -1
- package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.js +13 -14
- package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.web.js +0 -1
- package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
- package/lib/commonjs/ghQueueMicrotask.js +1 -2
- package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
- package/lib/commonjs/handlers/FlingGestureHandler.js +16 -10
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +20 -23
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/commonjs/handlers/LongPressGestureHandler.js +16 -10
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +17 -12
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js +20 -31
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PinchGestureHandler.js +14 -8
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js +0 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -1
- package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
- package/lib/commonjs/handlers/RotationGestureHandler.js +14 -8
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/TapGestureHandler.js +16 -10
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js +55 -135
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/createNativeWrapper.js +17 -27
- package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.js +0 -1
- package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.web.js +1 -2
- package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js +9 -10
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +5 -14
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +10 -20
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +9 -29
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +1 -10
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js +12 -37
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -3
- package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +12 -24
- package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -48
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +3 -13
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +2 -9
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +8 -16
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +28 -56
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/commonjs/handlers/gestures/eventReceiver.js +14 -46
- package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/commonjs/handlers/gestures/flingGesture.js +5 -12
- package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +8 -19
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gesture.js +44 -84
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureComposition.js +17 -31
- package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js +1 -27
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +3 -9
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +2 -7
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/hoverGesture.js +11 -25
- package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/longPressGesture.js +6 -14
- package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/manualGesture.js +0 -6
- package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/nativeGesture.js +5 -12
- package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/panGesture.js +18 -43
- package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/pinchGesture.js +2 -9
- package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +1 -8
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/commonjs/handlers/gestures/rotationGesture.js +2 -9
- package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/tapGesture.js +10 -22
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/commonjs/handlers/getNextHandlerTag.js +0 -1
- package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
- package/lib/commonjs/handlers/handlersRegistry.js +11 -21
- package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
- package/lib/commonjs/handlers/utils.js +6 -26
- package/lib/commonjs/handlers/utils.js.map +1 -1
- package/lib/commonjs/index.js +75 -104
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js +4 -11
- package/lib/commonjs/init.js.map +1 -1
- package/lib/commonjs/jestUtils/index.js +4 -5
- package/lib/commonjs/jestUtils/index.js.map +1 -1
- package/lib/commonjs/jestUtils/jestUtils.js +19 -83
- package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
- package/lib/commonjs/mocks.js +5 -15
- package/lib/commonjs/mocks.js.map +1 -1
- package/lib/commonjs/mountRegistry.js +3 -12
- package/lib/commonjs/mountRegistry.js.map +1 -1
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +1 -5
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +2 -7
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +2 -7
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
- package/lib/commonjs/typeUtils.js.map +1 -1
- package/lib/commonjs/utils.js +15 -30
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/Gestures.js +5 -23
- package/lib/commonjs/web/Gestures.js.map +1 -1
- package/lib/commonjs/web/constants.js +2 -4
- package/lib/commonjs/web/constants.js.map +1 -1
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +26 -62
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js +36 -65
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +12 -55
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +160 -273
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/HoverGestureHandler.js +8 -21
- package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js +12 -53
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js +1 -11
- package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +21 -62
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +23 -138
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +19 -56
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +16 -54
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +10 -71
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/interfaces.js +9 -17
- package/lib/commonjs/web/interfaces.js.map +1 -1
- package/lib/commonjs/web/tools/CircularBuffer.js +17 -29
- package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
- package/lib/commonjs/web/tools/EventManager.js +7 -41
- package/lib/commonjs/web/tools/EventManager.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +51 -118
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +37 -58
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/InteractionManager.js +21 -40
- package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
- package/lib/commonjs/web/tools/KeyboardEventManager.js +4 -26
- package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/LeastSquareSolver.js +30 -67
- package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/commonjs/web/tools/NodeManager.js +9 -16
- package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerEventManager.js +10 -45
- package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerTracker.js +24 -60
- package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
- package/lib/commonjs/web/tools/Vector.js +3 -18
- package/lib/commonjs/web/tools/Vector.js.map +1 -1
- package/lib/commonjs/web/tools/VelocityTracker.js +10 -32
- package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
- package/lib/commonjs/web/tools/WheelEventManager.js +4 -17
- package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
- package/lib/commonjs/web/utils.js +26 -55
- package/lib/commonjs/web/utils.js.map +1 -1
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +7 -19
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js +3 -13
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/Errors.js +0 -3
- package/lib/commonjs/web_hammer/Errors.js.map +1 -1
- package/lib/commonjs/web_hammer/FlingGestureHandler.js +13 -44
- package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/GestureHandler.js +55 -142
- package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +2 -11
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js +5 -19
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +16 -24
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NodeManager.js +9 -16
- package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
- package/lib/commonjs/web_hammer/PanGestureHandler.js +8 -49
- package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PinchGestureHandler.js +2 -11
- package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PressGestureHandler.js +15 -43
- package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/RotationGestureHandler.js +2 -13
- package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/TapGestureHandler.js +33 -52
- package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/constants.js +13 -26
- package/lib/commonjs/web_hammer/constants.js.map +1 -1
- package/lib/commonjs/web_hammer/utils.js +4 -14
- package/lib/commonjs/web_hammer/utils.js.map +1 -1
- package/lib/module/ActionType.js +3 -1
- package/lib/module/ActionType.js.map +1 -1
- package/lib/module/Directions.js +9 -3
- package/lib/module/Directions.js.map +1 -1
- package/lib/module/EnableNewWebImplementation.js +2 -5
- package/lib/module/EnableNewWebImplementation.js.map +1 -1
- package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/module/PlatformConstants.js +0 -1
- package/lib/module/PlatformConstants.js.map +1 -1
- package/lib/module/PlatformConstants.web.js +0 -1
- package/lib/module/PlatformConstants.web.js.map +1 -1
- package/lib/module/PointerType.js +3 -4
- package/lib/module/PointerType.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.js +1 -0
- package/lib/module/RNGestureHandlerModule.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.web.js +12 -22
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.windows.js +18 -17
- package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/module/RNRenderer.js.map +1 -1
- package/lib/module/RNRenderer.web.js.map +1 -1
- package/lib/module/State.js +4 -1
- package/lib/module/State.js.map +1 -1
- package/lib/module/TouchEventType.js +3 -1
- package/lib/module/TouchEventType.js.map +1 -1
- package/lib/module/components/DrawerLayout.js +87 -99
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/GestureButtons.js +27 -55
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/GestureButtonsProps.js.map +1 -1
- package/lib/module/components/GestureComponents.js +17 -12
- package/lib/module/components/GestureComponents.js.map +1 -1
- package/lib/module/components/GestureComponents.web.js +4 -4
- package/lib/module/components/GestureComponents.web.js.map +1 -1
- package/lib/module/components/GestureHandlerButton.js.map +1 -1
- package/lib/module/components/GestureHandlerButton.web.js +1 -2
- package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.android.js +1 -2
- package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.js +1 -2
- package/lib/module/components/GestureHandlerRootView.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.web.js +1 -2
- package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +44 -61
- package/lib/module/components/Pressable/Pressable.js.map +1 -1
- package/lib/module/components/Pressable/PressableProps.js.map +1 -1
- package/lib/module/components/Pressable/index.js.map +1 -1
- package/lib/module/components/Pressable/utils.js +4 -14
- package/lib/module/components/Pressable/utils.js.map +1 -1
- package/lib/module/components/ReanimatedDrawerLayout.js +34 -56
- package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/module/components/ReanimatedSwipeable.js +57 -44
- package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/module/components/Swipeable.js +28 -59
- package/lib/module/components/Swipeable.js.map +1 -1
- package/lib/module/components/Text.js +14 -13
- package/lib/module/components/Text.js.map +1 -1
- package/lib/module/components/gestureHandlerRootHOC.js +2 -2
- package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/module/components/touchables/GenericTouchable.js +34 -63
- package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/module/components/touchables/GenericTouchableProps.js.map +1 -1
- package/lib/module/components/touchables/TouchableHighlight.js +16 -23
- package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js +11 -19
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.js +6 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
- package/lib/module/components/touchables/TouchableOpacity.js +13 -14
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/module/components/touchables/TouchableWithoutFeedback.js +9 -2
- package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/module/components/touchables/index.js.map +1 -1
- package/lib/module/findNodeHandle.js.map +1 -1
- package/lib/module/findNodeHandle.web.js +9 -8
- package/lib/module/findNodeHandle.web.js.map +1 -1
- package/lib/module/getReactNativeVersion.js.map +1 -1
- package/lib/module/getReactNativeVersion.web.js.map +1 -1
- package/lib/module/getShadowNodeFromRef.js +13 -13
- package/lib/module/getShadowNodeFromRef.js.map +1 -1
- package/lib/module/getShadowNodeFromRef.web.js.map +1 -1
- package/lib/module/ghQueueMicrotask.js.map +1 -1
- package/lib/module/handlers/FlingGestureHandler.js +13 -0
- package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/handlers/ForceTouchGestureHandler.js +16 -8
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/module/handlers/LongPressGestureHandler.js +13 -0
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/handlers/NativeViewGestureHandler.js +13 -0
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/handlers/PanGestureHandler.js +15 -19
- package/lib/module/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/handlers/PinchGestureHandler.js +13 -0
- package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
- package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -1
- package/lib/module/handlers/RotationGestureHandler.js +13 -0
- package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/handlers/TapGestureHandler.js +13 -0
- package/lib/module/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/handlers/createHandler.js +54 -108
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/createNativeWrapper.js +12 -17
- package/lib/module/handlers/createNativeWrapper.js.map +1 -1
- package/lib/module/handlers/customDirectEventTypes.js.map +1 -1
- package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -1
- package/lib/module/handlers/gestureHandlerCommon.js +9 -4
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/Wrap.js +3 -4
- package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +5 -6
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +8 -16
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -1
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/index.js +9 -15
- package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -2
- package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/types.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +11 -14
- package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -39
- package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +5 -5
- package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +2 -6
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -9
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/utils.js +25 -30
- package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/module/handlers/gestures/eventReceiver.js +14 -38
- package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/module/handlers/gestures/flingGesture.js +5 -9
- package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/module/handlers/gestures/forceTouchGesture.js +8 -17
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/gesture.js +44 -73
- package/lib/module/handlers/gestures/gesture.js.map +1 -1
- package/lib/module/handlers/gestures/gestureComposition.js +16 -24
- package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/module/handlers/gestures/gestureObjects.js +1 -14
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.js +3 -4
- package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -1
- package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/module/handlers/gestures/hoverGesture.js +9 -18
- package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/module/handlers/gestures/longPressGesture.js +6 -11
- package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/module/handlers/gestures/manualGesture.js +0 -4
- package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/module/handlers/gestures/nativeGesture.js +5 -9
- package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/module/handlers/gestures/panGesture.js +18 -41
- package/lib/module/handlers/gestures/panGesture.js.map +1 -1
- package/lib/module/handlers/gestures/pinchGesture.js +2 -7
- package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -5
- package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/module/handlers/gestures/rotationGesture.js +2 -7
- package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/module/handlers/gestures/tapGesture.js +10 -19
- package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/module/handlers/getNextHandlerTag.js.map +1 -1
- package/lib/module/handlers/handlersRegistry.js +6 -8
- package/lib/module/handlers/handlersRegistry.js.map +1 -1
- package/lib/module/handlers/utils.js +4 -13
- package/lib/module/handlers/utils.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js +3 -2
- package/lib/module/init.js.map +1 -1
- package/lib/module/jestUtils/index.js.map +1 -1
- package/lib/module/jestUtils/jestUtils.js +20 -66
- package/lib/module/jestUtils/jestUtils.js.map +1 -1
- package/lib/module/mocks.js +3 -7
- package/lib/module/mocks.js.map +1 -1
- package/lib/module/mountRegistry.js +3 -10
- package/lib/module/mountRegistry.js.map +1 -1
- package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
- package/lib/module/typeUtils.js.map +1 -1
- package/lib/module/utils.js +8 -13
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/Gestures.js +2 -1
- package/lib/module/web/Gestures.js.map +1 -1
- package/lib/module/web/constants.js.map +1 -1
- package/lib/module/web/detectors/RotationGestureDetector.js +26 -59
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/module/web/detectors/ScaleGestureDetector.js +36 -61
- package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +11 -45
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js +159 -259
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/HoverGestureHandler.js +7 -13
- package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/IGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/LongPressGestureHandler.js +11 -46
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/ManualGestureHandler.js +0 -6
- package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/NativeViewGestureHandler.js +20 -54
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +22 -129
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PinchGestureHandler.js +18 -48
- package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/RotationGestureHandler.js +15 -46
- package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +9 -63
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/interfaces.js +9 -14
- package/lib/module/web/interfaces.js.map +1 -1
- package/lib/module/web/tools/CircularBuffer.js +17 -27
- package/lib/module/web/tools/CircularBuffer.js.map +1 -1
- package/lib/module/web/tools/EventManager.js +7 -39
- package/lib/module/web/tools/EventManager.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerOrchestrator.js +50 -111
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +36 -47
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/module/web/tools/InteractionManager.js +21 -35
- package/lib/module/web/tools/InteractionManager.js.map +1 -1
- package/lib/module/web/tools/KeyboardEventManager.js +3 -19
- package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/module/web/tools/LeastSquareSolver.js +30 -65
- package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/module/web/tools/NodeManager.js +9 -14
- package/lib/module/web/tools/NodeManager.js.map +1 -1
- package/lib/module/web/tools/PointerEventManager.js +9 -35
- package/lib/module/web/tools/PointerEventManager.js.map +1 -1
- package/lib/module/web/tools/PointerTracker.js +23 -54
- package/lib/module/web/tools/PointerTracker.js.map +1 -1
- package/lib/module/web/tools/Vector.js +3 -14
- package/lib/module/web/tools/Vector.js.map +1 -1
- package/lib/module/web/tools/VelocityTracker.js +9 -26
- package/lib/module/web/tools/VelocityTracker.js.map +1 -1
- package/lib/module/web/tools/WheelEventManager.js +3 -10
- package/lib/module/web/tools/WheelEventManager.js.map +1 -1
- package/lib/module/web/utils.js +21 -40
- package/lib/module/web/utils.js.map +1 -1
- package/lib/module/web_hammer/DiscreteGestureHandler.js +4 -13
- package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/DraggingGestureHandler.js +0 -5
- package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/Errors.js +0 -1
- package/lib/module/web_hammer/Errors.js.map +1 -1
- package/lib/module/web_hammer/FlingGestureHandler.js +10 -35
- package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/GestureHandler.js +53 -130
- package/lib/module/web_hammer/GestureHandler.js.map +1 -1
- package/lib/module/web_hammer/IndiscreteGestureHandler.js +1 -6
- package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/LongPressGestureHandler.js +2 -11
- package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/NativeViewGestureHandler.js +12 -12
- package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/NodeManager.js +6 -8
- package/lib/module/web_hammer/NodeManager.js.map +1 -1
- package/lib/module/web_hammer/PanGestureHandler.js +6 -40
- package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PinchGestureHandler.js +0 -5
- package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PressGestureHandler.js +13 -34
- package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/RotationGestureHandler.js +0 -6
- package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/TapGestureHandler.js +31 -45
- package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/constants.js +2 -1
- package/lib/module/web_hammer/constants.js.map +1 -1
- package/lib/module/web_hammer/utils.js +2 -2
- package/lib/module/web_hammer/utils.js.map +1 -1
- package/lib/typescript/components/DrawerLayout.d.ts +27 -0
- package/lib/typescript/components/GestureButtonsProps.d.ts +18 -2
- package/lib/typescript/components/Pressable/PressableProps.d.ts +3 -10
- package/lib/typescript/components/Pressable/index.d.ts +1 -1
- package/lib/typescript/components/ReanimatedSwipeable.d.ts +6 -0
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +5 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +2 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +5 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -0
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +5 -0
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +6 -0
- package/lib/typescript/handlers/FlingGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/LongPressGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/PanGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/PinchGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/RotationGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/TapGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/handlersRegistry.d.ts +1 -0
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/utils.d.ts +1 -1
- package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +7 -7
- package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +8 -8
- package/lib/typescript/web/handlers/GestureHandler.d.ts +33 -28
- package/lib/typescript/web/handlers/IGestureHandler.d.ts +12 -13
- package/lib/typescript/web/tools/CircularBuffer.d.ts +3 -3
- package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +1 -1
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +2 -2
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +3 -2
- package/lib/typescript/web/tools/InteractionManager.d.ts +2 -2
- package/lib/typescript/web/tools/NodeManager.d.ts +1 -1
- package/lib/typescript/web/tools/PointerTracker.d.ts +4 -4
- package/lib/typescript/web/tools/VelocityTracker.d.ts +1 -1
- package/package.json +2 -2
- package/src/RNGestureHandlerModule.web.ts +2 -2
- package/src/components/DrawerLayout.tsx +29 -0
- package/src/components/GestureButtons.tsx +13 -2
- package/src/components/GestureButtonsProps.ts +31 -2
- package/src/components/Pressable/Pressable.tsx +22 -5
- package/src/components/Pressable/PressableProps.tsx +4 -11
- package/src/components/Pressable/index.ts +4 -1
- package/src/components/ReanimatedSwipeable.tsx +97 -66
- package/src/components/Text.tsx +13 -4
- package/src/components/touchables/TouchableHighlight.tsx +5 -0
- package/src/components/touchables/TouchableNativeFeedback.android.tsx +2 -0
- package/src/components/touchables/TouchableNativeFeedback.tsx +6 -1
- package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -0
- package/src/components/touchables/TouchableOpacity.tsx +5 -0
- package/src/components/touchables/TouchableWithoutFeedback.tsx +6 -0
- package/src/findNodeHandle.web.ts +6 -0
- package/src/handlers/FlingGestureHandler.ts +10 -0
- package/src/handlers/ForceTouchGestureHandler.ts +9 -0
- package/src/handlers/LongPressGestureHandler.ts +10 -0
- package/src/handlers/NativeViewGestureHandler.ts +10 -0
- package/src/handlers/PanGestureHandler.ts +10 -0
- package/src/handlers/PinchGestureHandler.ts +10 -0
- package/src/handlers/RotationGestureHandler.ts +10 -0
- package/src/handlers/TapGestureHandler.ts +10 -0
- package/src/handlers/createHandler.tsx +11 -4
- package/src/handlers/gestures/GestureDetector/index.tsx +2 -2
- package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +3 -3
- package/src/handlers/gestures/GestureDetector/utils.ts +2 -2
- package/src/handlers/handlersRegistry.ts +7 -3
- package/src/index.ts +4 -1
- package/src/utils.ts +2 -2
- package/src/web/detectors/RotationGestureDetector.ts +22 -22
- package/src/web/detectors/ScaleGestureDetector.ts +24 -24
- package/src/web/handlers/FlingGestureHandler.ts +6 -7
- package/src/web/handlers/GestureHandler.ts +115 -105
- package/src/web/handlers/HoverGestureHandler.ts +2 -2
- package/src/web/handlers/IGestureHandler.ts +12 -13
- package/src/web/handlers/LongPressGestureHandler.ts +7 -7
- package/src/web/handlers/NativeViewGestureHandler.ts +14 -19
- package/src/web/handlers/PanGestureHandler.ts +17 -17
- package/src/web/handlers/PinchGestureHandler.ts +17 -21
- package/src/web/handlers/RotationGestureHandler.ts +12 -12
- package/src/web/handlers/TapGestureHandler.ts +4 -6
- package/src/web/tools/CircularBuffer.ts +15 -15
- package/src/web/tools/GestureHandlerDelegate.ts +1 -1
- package/src/web/tools/GestureHandlerOrchestrator.ts +42 -42
- package/src/web/tools/GestureHandlerWebDelegate.ts +32 -13
- package/src/web/tools/InteractionManager.ts +16 -16
- package/src/web/tools/NodeManager.ts +2 -2
- package/src/web/tools/PointerTracker.ts +20 -20
- package/src/web/tools/Vector.ts +1 -1
- package/src/web/tools/VelocityTracker.ts +1 -1
|
@@ -5,7 +5,7 @@ import type IGestureHandler from '../handlers/IGestureHandler';
|
|
|
5
5
|
import PointerTracker from './PointerTracker';
|
|
6
6
|
|
|
7
7
|
export default class GestureHandlerOrchestrator {
|
|
8
|
-
private static
|
|
8
|
+
private static _instance: GestureHandlerOrchestrator;
|
|
9
9
|
|
|
10
10
|
private gestureHandlers: IGestureHandler[] = [];
|
|
11
11
|
private awaitingHandlers: IGestureHandler[] = [];
|
|
@@ -26,9 +26,9 @@ export default class GestureHandlerOrchestrator {
|
|
|
26
26
|
|
|
27
27
|
private cleanHandler(handler: IGestureHandler): void {
|
|
28
28
|
handler.reset();
|
|
29
|
-
handler.
|
|
30
|
-
handler.
|
|
31
|
-
handler.
|
|
29
|
+
handler.active = false;
|
|
30
|
+
handler.awaiting = false;
|
|
31
|
+
handler.activationIndex = Number.MAX_VALUE;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
public removeHandlerFromOrchestrator(handler: IGestureHandler): void {
|
|
@@ -41,7 +41,7 @@ export default class GestureHandlerOrchestrator {
|
|
|
41
41
|
|
|
42
42
|
if (indexInAwaitingHandlers >= 0) {
|
|
43
43
|
this.awaitingHandlers.splice(indexInAwaitingHandlers, 1);
|
|
44
|
-
this.awaitingHandlersTags.delete(handler.
|
|
44
|
+
this.awaitingHandlersTags.delete(handler.handlerTag);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -51,7 +51,7 @@ export default class GestureHandlerOrchestrator {
|
|
|
51
51
|
for (let i = this.gestureHandlers.length - 1; i >= 0; --i) {
|
|
52
52
|
const handler = this.gestureHandlers[i];
|
|
53
53
|
|
|
54
|
-
if (this.isFinished(handler.
|
|
54
|
+
if (this.isFinished(handler.state) && !handler.awaiting) {
|
|
55
55
|
this.cleanHandler(handler);
|
|
56
56
|
handlersToRemove.add(handler);
|
|
57
57
|
}
|
|
@@ -65,7 +65,7 @@ export default class GestureHandlerOrchestrator {
|
|
|
65
65
|
private hasOtherHandlerToWaitFor(handler: IGestureHandler): boolean {
|
|
66
66
|
const hasToWaitFor = (otherHandler: IGestureHandler) => {
|
|
67
67
|
return (
|
|
68
|
-
!this.isFinished(otherHandler.
|
|
68
|
+
!this.isFinished(otherHandler.state) &&
|
|
69
69
|
this.shouldHandlerWaitForOther(handler, otherHandler)
|
|
70
70
|
);
|
|
71
71
|
};
|
|
@@ -79,7 +79,7 @@ export default class GestureHandlerOrchestrator {
|
|
|
79
79
|
const shouldBeCancelled = (otherHandler: IGestureHandler) => {
|
|
80
80
|
return (
|
|
81
81
|
this.shouldHandlerWaitForOther(handler, otherHandler) &&
|
|
82
|
-
otherHandler.
|
|
82
|
+
otherHandler.state === State.END
|
|
83
83
|
);
|
|
84
84
|
};
|
|
85
85
|
|
|
@@ -97,7 +97,7 @@ export default class GestureHandlerOrchestrator {
|
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
const handlerState = handler.
|
|
100
|
+
const handlerState = handler.state;
|
|
101
101
|
|
|
102
102
|
if (handlerState === State.CANCELLED || handlerState === State.FAILED) {
|
|
103
103
|
return;
|
|
@@ -129,7 +129,7 @@ export default class GestureHandlerOrchestrator {
|
|
|
129
129
|
private cleanupAwaitingHandlers(handler: IGestureHandler): void {
|
|
130
130
|
const shouldWait = (otherHandler: IGestureHandler) => {
|
|
131
131
|
return (
|
|
132
|
-
!otherHandler.
|
|
132
|
+
!otherHandler.awaiting &&
|
|
133
133
|
this.shouldHandlerWaitForOther(otherHandler, handler)
|
|
134
134
|
);
|
|
135
135
|
};
|
|
@@ -137,12 +137,12 @@ export default class GestureHandlerOrchestrator {
|
|
|
137
137
|
for (const otherHandler of this.awaitingHandlers) {
|
|
138
138
|
if (shouldWait(otherHandler)) {
|
|
139
139
|
this.cleanHandler(otherHandler);
|
|
140
|
-
this.awaitingHandlersTags.delete(otherHandler.
|
|
140
|
+
this.awaitingHandlersTags.delete(otherHandler.handlerTag);
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
this.awaitingHandlers = this.awaitingHandlers.filter((otherHandler) =>
|
|
145
|
-
this.awaitingHandlersTags.has(otherHandler.
|
|
145
|
+
this.awaitingHandlersTags.has(otherHandler.handlerTag)
|
|
146
146
|
);
|
|
147
147
|
}
|
|
148
148
|
|
|
@@ -152,7 +152,7 @@ export default class GestureHandlerOrchestrator {
|
|
|
152
152
|
oldState: State,
|
|
153
153
|
sendIfDisabled?: boolean
|
|
154
154
|
): void {
|
|
155
|
-
if (!handler.
|
|
155
|
+
if (!handler.enabled && !sendIfDisabled) {
|
|
156
156
|
return;
|
|
157
157
|
}
|
|
158
158
|
|
|
@@ -162,7 +162,7 @@ export default class GestureHandlerOrchestrator {
|
|
|
162
162
|
for (const otherHandler of this.awaitingHandlers) {
|
|
163
163
|
if (
|
|
164
164
|
!this.shouldHandlerWaitForOther(otherHandler, handler) ||
|
|
165
|
-
!this.awaitingHandlersTags.has(otherHandler.
|
|
165
|
+
!this.awaitingHandlersTags.has(otherHandler.handlerTag)
|
|
166
166
|
) {
|
|
167
167
|
continue;
|
|
168
168
|
}
|
|
@@ -174,7 +174,7 @@ export default class GestureHandlerOrchestrator {
|
|
|
174
174
|
|
|
175
175
|
otherHandler.cancel();
|
|
176
176
|
|
|
177
|
-
if (otherHandler.
|
|
177
|
+
if (otherHandler.state === State.END) {
|
|
178
178
|
// Handle edge case, where discrete gestures end immediately after activation thus
|
|
179
179
|
// their state is set to END and when the gesture they are waiting for activates they
|
|
180
180
|
// should be cancelled, however `cancel` was never sent as gestures were already in the END state.
|
|
@@ -182,14 +182,14 @@ export default class GestureHandlerOrchestrator {
|
|
|
182
182
|
otherHandler.sendEvent(State.CANCELLED, State.BEGAN);
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
-
otherHandler.
|
|
185
|
+
otherHandler.awaiting = false;
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
if (newState === State.ACTIVE) {
|
|
190
190
|
this.tryActivate(handler);
|
|
191
191
|
} else if (oldState === State.ACTIVE || oldState === State.END) {
|
|
192
|
-
if (handler.
|
|
192
|
+
if (handler.active) {
|
|
193
193
|
handler.sendEvent(newState, oldState);
|
|
194
194
|
} else if (
|
|
195
195
|
oldState === State.ACTIVE &&
|
|
@@ -214,11 +214,11 @@ export default class GestureHandlerOrchestrator {
|
|
|
214
214
|
}
|
|
215
215
|
|
|
216
216
|
private makeActive(handler: IGestureHandler): void {
|
|
217
|
-
const currentState = handler.
|
|
217
|
+
const currentState = handler.state;
|
|
218
218
|
|
|
219
|
-
handler.
|
|
220
|
-
handler.
|
|
221
|
-
handler.
|
|
219
|
+
handler.active = true;
|
|
220
|
+
handler.shouldResetProgress = true;
|
|
221
|
+
handler.activationIndex = this.activationIndex++;
|
|
222
222
|
|
|
223
223
|
for (let i = this.gestureHandlers.length - 1; i >= 0; --i) {
|
|
224
224
|
if (this.shouldHandlerBeCancelledBy(this.gestureHandlers[i], handler)) {
|
|
@@ -228,7 +228,7 @@ export default class GestureHandlerOrchestrator {
|
|
|
228
228
|
|
|
229
229
|
for (const otherHandler of this.awaitingHandlers) {
|
|
230
230
|
if (this.shouldHandlerBeCancelledBy(otherHandler, handler)) {
|
|
231
|
-
otherHandler.
|
|
231
|
+
otherHandler.awaiting = false;
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
|
|
@@ -241,11 +241,11 @@ export default class GestureHandlerOrchestrator {
|
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
-
if (!handler.
|
|
244
|
+
if (!handler.awaiting) {
|
|
245
245
|
return;
|
|
246
246
|
}
|
|
247
247
|
|
|
248
|
-
handler.
|
|
248
|
+
handler.awaiting = false;
|
|
249
249
|
|
|
250
250
|
this.awaitingHandlers = this.awaitingHandlers.filter(
|
|
251
251
|
(otherHandler) => otherHandler !== handler
|
|
@@ -258,10 +258,10 @@ export default class GestureHandlerOrchestrator {
|
|
|
258
258
|
}
|
|
259
259
|
|
|
260
260
|
this.awaitingHandlers.push(handler);
|
|
261
|
-
this.awaitingHandlersTags.add(handler.
|
|
261
|
+
this.awaitingHandlersTags.add(handler.handlerTag);
|
|
262
262
|
|
|
263
|
-
handler.
|
|
264
|
-
handler.
|
|
263
|
+
handler.awaiting = true;
|
|
264
|
+
handler.activationIndex = this.activationIndex++;
|
|
265
265
|
}
|
|
266
266
|
|
|
267
267
|
public recordHandlerIfNotPresent(handler: IGestureHandler): void {
|
|
@@ -271,9 +271,9 @@ export default class GestureHandlerOrchestrator {
|
|
|
271
271
|
|
|
272
272
|
this.gestureHandlers.push(handler);
|
|
273
273
|
|
|
274
|
-
handler.
|
|
275
|
-
handler.
|
|
276
|
-
handler.
|
|
274
|
+
handler.active = false;
|
|
275
|
+
handler.awaiting = false;
|
|
276
|
+
handler.activationIndex = Number.MAX_SAFE_INTEGER;
|
|
277
277
|
}
|
|
278
278
|
|
|
279
279
|
private shouldHandlerWaitForOther(
|
|
@@ -306,7 +306,7 @@ export default class GestureHandlerOrchestrator {
|
|
|
306
306
|
return false;
|
|
307
307
|
}
|
|
308
308
|
|
|
309
|
-
if (handler.
|
|
309
|
+
if (handler.awaiting || handler.state === State.ACTIVE) {
|
|
310
310
|
// For now it always returns false
|
|
311
311
|
return handler.shouldBeCancelledByOther(otherHandler);
|
|
312
312
|
}
|
|
@@ -316,7 +316,7 @@ export default class GestureHandlerOrchestrator {
|
|
|
316
316
|
|
|
317
317
|
if (
|
|
318
318
|
!PointerTracker.shareCommonPointers(handlerPointers, otherPointers) &&
|
|
319
|
-
handler.
|
|
319
|
+
handler.delegate.view !== otherHandler.delegate.view
|
|
320
320
|
) {
|
|
321
321
|
return this.checkOverlap(handler, otherHandler);
|
|
322
322
|
}
|
|
@@ -335,11 +335,11 @@ export default class GestureHandlerOrchestrator {
|
|
|
335
335
|
// TODO: Find better way to handle that issue, for example by activation order and handler cancelling
|
|
336
336
|
|
|
337
337
|
const isPointerWithinBothBounds = (pointer: number) => {
|
|
338
|
-
const point = handler.
|
|
338
|
+
const point = handler.tracker.getLastAbsoluteCoords(pointer);
|
|
339
339
|
|
|
340
340
|
return (
|
|
341
|
-
handler.
|
|
342
|
-
otherHandler.
|
|
341
|
+
handler.delegate.isPointerInBounds(point) &&
|
|
342
|
+
otherHandler.delegate.isPointerInBounds(point)
|
|
343
343
|
);
|
|
344
344
|
};
|
|
345
345
|
|
|
@@ -361,8 +361,8 @@ export default class GestureHandlerOrchestrator {
|
|
|
361
361
|
public cancelMouseAndPenGestures(currentHandler: IGestureHandler): void {
|
|
362
362
|
this.gestureHandlers.forEach((handler: IGestureHandler) => {
|
|
363
363
|
if (
|
|
364
|
-
handler.
|
|
365
|
-
handler.
|
|
364
|
+
handler.pointerType !== PointerType.MOUSE &&
|
|
365
|
+
handler.pointerType !== PointerType.STYLUS
|
|
366
366
|
) {
|
|
367
367
|
return;
|
|
368
368
|
}
|
|
@@ -377,16 +377,16 @@ export default class GestureHandlerOrchestrator {
|
|
|
377
377
|
//
|
|
378
378
|
// However, handler will receive manually created onPointerEnter that is triggered in EventManager in onPointerMove method.
|
|
379
379
|
// There may be possibility to use that fact to make handler respond properly to first mouse click
|
|
380
|
-
handler.
|
|
380
|
+
handler.tracker.resetTracker();
|
|
381
381
|
}
|
|
382
382
|
});
|
|
383
383
|
}
|
|
384
384
|
|
|
385
|
-
public static
|
|
386
|
-
if (!GestureHandlerOrchestrator.
|
|
387
|
-
GestureHandlerOrchestrator.
|
|
385
|
+
public static get instance(): GestureHandlerOrchestrator {
|
|
386
|
+
if (!GestureHandlerOrchestrator._instance) {
|
|
387
|
+
GestureHandlerOrchestrator._instance = new GestureHandlerOrchestrator();
|
|
388
388
|
}
|
|
389
389
|
|
|
390
|
-
return GestureHandlerOrchestrator.
|
|
390
|
+
return GestureHandlerOrchestrator._instance;
|
|
391
391
|
}
|
|
392
392
|
}
|
|
@@ -22,7 +22,8 @@ export class GestureHandlerWebDelegate
|
|
|
22
22
|
implements GestureHandlerDelegate<HTMLElement, IGestureHandler>
|
|
23
23
|
{
|
|
24
24
|
private isInitialized = false;
|
|
25
|
-
private
|
|
25
|
+
private _view!: HTMLElement;
|
|
26
|
+
|
|
26
27
|
private gestureHandler!: IGestureHandler;
|
|
27
28
|
private eventManagers: EventManager<unknown>[] = [];
|
|
28
29
|
private defaultViewStyles: DefaultViewStyles = {
|
|
@@ -30,14 +31,10 @@ export class GestureHandlerWebDelegate
|
|
|
30
31
|
touchAction: '',
|
|
31
32
|
};
|
|
32
33
|
|
|
33
|
-
getView(): HTMLElement {
|
|
34
|
-
return this.view;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
34
|
init(viewRef: number, handler: IGestureHandler): void {
|
|
38
35
|
if (!viewRef) {
|
|
39
36
|
throw new Error(
|
|
40
|
-
`Cannot find HTML Element for handler ${handler.
|
|
37
|
+
`Cannot find HTML Element for handler ${handler.handlerTag}`
|
|
41
38
|
);
|
|
42
39
|
}
|
|
43
40
|
|
|
@@ -51,7 +48,7 @@ export class GestureHandlerWebDelegate
|
|
|
51
48
|
touchAction: this.view.style.touchAction,
|
|
52
49
|
};
|
|
53
50
|
|
|
54
|
-
const config = handler.
|
|
51
|
+
const config = handler.config;
|
|
55
52
|
|
|
56
53
|
this.setUserSelect(config.enabled);
|
|
57
54
|
this.setTouchAction(config.enabled);
|
|
@@ -88,12 +85,12 @@ export class GestureHandlerWebDelegate
|
|
|
88
85
|
}
|
|
89
86
|
|
|
90
87
|
tryResetCursor() {
|
|
91
|
-
const config = this.gestureHandler.
|
|
88
|
+
const config = this.gestureHandler.config;
|
|
92
89
|
|
|
93
90
|
if (
|
|
94
91
|
config.activeCursor &&
|
|
95
92
|
config.activeCursor !== 'auto' &&
|
|
96
|
-
this.gestureHandler.
|
|
93
|
+
this.gestureHandler.state === State.ACTIVE
|
|
97
94
|
) {
|
|
98
95
|
this.view.style.cursor = 'auto';
|
|
99
96
|
}
|
|
@@ -132,7 +129,7 @@ export class GestureHandlerWebDelegate
|
|
|
132
129
|
}
|
|
133
130
|
|
|
134
131
|
private setUserSelect(isHandlerEnabled: boolean) {
|
|
135
|
-
const { userSelect } = this.gestureHandler.
|
|
132
|
+
const { userSelect } = this.gestureHandler.config;
|
|
136
133
|
|
|
137
134
|
this.view.style['userSelect'] = isHandlerEnabled
|
|
138
135
|
? (userSelect ?? 'none')
|
|
@@ -144,7 +141,7 @@ export class GestureHandlerWebDelegate
|
|
|
144
141
|
}
|
|
145
142
|
|
|
146
143
|
private setTouchAction(isHandlerEnabled: boolean) {
|
|
147
|
-
const { touchAction } = this.gestureHandler.
|
|
144
|
+
const { touchAction } = this.gestureHandler.config;
|
|
148
145
|
|
|
149
146
|
this.view.style['touchAction'] = isHandlerEnabled
|
|
150
147
|
? (touchAction ?? 'none')
|
|
@@ -157,7 +154,7 @@ export class GestureHandlerWebDelegate
|
|
|
157
154
|
}
|
|
158
155
|
|
|
159
156
|
private setContextMenu(isHandlerEnabled: boolean) {
|
|
160
|
-
const config = this.gestureHandler.
|
|
157
|
+
const config = this.gestureHandler.config;
|
|
161
158
|
|
|
162
159
|
if (isHandlerEnabled) {
|
|
163
160
|
this.addContextMenuListeners(config);
|
|
@@ -174,6 +171,21 @@ export class GestureHandlerWebDelegate
|
|
|
174
171
|
this.setUserSelect(enabled);
|
|
175
172
|
this.setTouchAction(enabled);
|
|
176
173
|
this.setContextMenu(enabled);
|
|
174
|
+
|
|
175
|
+
if (enabled) {
|
|
176
|
+
this.eventManagers.forEach((manager) => {
|
|
177
|
+
// It may look like managers will be registered twice when handler is mounted for the first time.
|
|
178
|
+
// However, `init` method is called AFTER `updateGestureConfig` - it means that delegate has not
|
|
179
|
+
// been initialized yet, so this code won't be executed.
|
|
180
|
+
//
|
|
181
|
+
// Also, because we use defined functions, not lambdas, they will not be registered multiple times.
|
|
182
|
+
manager.registerListeners();
|
|
183
|
+
});
|
|
184
|
+
} else {
|
|
185
|
+
this.eventManagers.forEach((manager) => {
|
|
186
|
+
manager.unregisterListeners();
|
|
187
|
+
});
|
|
188
|
+
}
|
|
177
189
|
}
|
|
178
190
|
|
|
179
191
|
onBegin(): void {
|
|
@@ -181,7 +193,7 @@ export class GestureHandlerWebDelegate
|
|
|
181
193
|
}
|
|
182
194
|
|
|
183
195
|
onActivate(): void {
|
|
184
|
-
const config = this.gestureHandler.
|
|
196
|
+
const config = this.gestureHandler.config;
|
|
185
197
|
|
|
186
198
|
if (
|
|
187
199
|
(!this.view.style.cursor || this.view.style.cursor === 'auto') &&
|
|
@@ -210,4 +222,11 @@ export class GestureHandlerWebDelegate
|
|
|
210
222
|
manager.unregisterListeners();
|
|
211
223
|
});
|
|
212
224
|
}
|
|
225
|
+
|
|
226
|
+
public get view() {
|
|
227
|
+
return this._view;
|
|
228
|
+
}
|
|
229
|
+
public set view(value: HTMLElement) {
|
|
230
|
+
this._view = value;
|
|
231
|
+
}
|
|
213
232
|
}
|
|
@@ -3,7 +3,7 @@ import { State } from '../../State';
|
|
|
3
3
|
import { Config, Handler } from '../interfaces';
|
|
4
4
|
|
|
5
5
|
export default class InteractionManager {
|
|
6
|
-
private static
|
|
6
|
+
private static _instance: InteractionManager;
|
|
7
7
|
private readonly waitForRelations: Map<number, number[]> = new Map();
|
|
8
8
|
private readonly simultaneousRelations: Map<number, number[]> = new Map();
|
|
9
9
|
private readonly blocksHandlersRelations: Map<number, number[]> = new Map();
|
|
@@ -13,7 +13,7 @@ export default class InteractionManager {
|
|
|
13
13
|
private constructor() {}
|
|
14
14
|
|
|
15
15
|
public configureInteractions(handler: IGestureHandler, config: Config) {
|
|
16
|
-
this.dropRelationsForHandlerWithTag(handler.
|
|
16
|
+
this.dropRelationsForHandlerWithTag(handler.handlerTag);
|
|
17
17
|
|
|
18
18
|
if (config.waitFor) {
|
|
19
19
|
const waitFor: number[] = [];
|
|
@@ -27,7 +27,7 @@ export default class InteractionManager {
|
|
|
27
27
|
}
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
-
this.waitForRelations.set(handler.
|
|
30
|
+
this.waitForRelations.set(handler.handlerTag, waitFor);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
if (config.simultaneousHandlers) {
|
|
@@ -40,7 +40,7 @@ export default class InteractionManager {
|
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
|
|
43
|
-
this.simultaneousRelations.set(handler.
|
|
43
|
+
this.simultaneousRelations.set(handler.handlerTag, simultaneousHandlers);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
if (config.blocksHandlers) {
|
|
@@ -53,7 +53,7 @@ export default class InteractionManager {
|
|
|
53
53
|
}
|
|
54
54
|
});
|
|
55
55
|
|
|
56
|
-
this.blocksHandlersRelations.set(handler.
|
|
56
|
+
this.blocksHandlersRelations.set(handler.handlerTag, blocksHandlers);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
|
|
@@ -62,12 +62,12 @@ export default class InteractionManager {
|
|
|
62
62
|
otherHandler: IGestureHandler
|
|
63
63
|
): boolean {
|
|
64
64
|
const waitFor: number[] | undefined = this.waitForRelations.get(
|
|
65
|
-
handler.
|
|
65
|
+
handler.handlerTag
|
|
66
66
|
);
|
|
67
67
|
|
|
68
68
|
return (
|
|
69
69
|
waitFor?.find((tag: number) => {
|
|
70
|
-
return tag === otherHandler.
|
|
70
|
+
return tag === otherHandler.handlerTag;
|
|
71
71
|
}) !== undefined
|
|
72
72
|
);
|
|
73
73
|
}
|
|
@@ -77,11 +77,11 @@ export default class InteractionManager {
|
|
|
77
77
|
otherHandler: IGestureHandler
|
|
78
78
|
): boolean {
|
|
79
79
|
const simultaneousHandlers: number[] | undefined =
|
|
80
|
-
this.simultaneousRelations.get(handler.
|
|
80
|
+
this.simultaneousRelations.get(handler.handlerTag);
|
|
81
81
|
|
|
82
82
|
return (
|
|
83
83
|
simultaneousHandlers?.find((tag: number) => {
|
|
84
|
-
return tag === otherHandler.
|
|
84
|
+
return tag === otherHandler.handlerTag;
|
|
85
85
|
}) !== undefined
|
|
86
86
|
);
|
|
87
87
|
}
|
|
@@ -91,12 +91,12 @@ export default class InteractionManager {
|
|
|
91
91
|
otherHandler: IGestureHandler
|
|
92
92
|
): boolean {
|
|
93
93
|
const waitFor: number[] | undefined = this.blocksHandlersRelations.get(
|
|
94
|
-
handler.
|
|
94
|
+
handler.handlerTag
|
|
95
95
|
);
|
|
96
96
|
|
|
97
97
|
return (
|
|
98
98
|
waitFor?.find((tag: number) => {
|
|
99
|
-
return tag === otherHandler.
|
|
99
|
+
return tag === otherHandler.handlerTag;
|
|
100
100
|
}) !== undefined
|
|
101
101
|
);
|
|
102
102
|
}
|
|
@@ -108,7 +108,7 @@ export default class InteractionManager {
|
|
|
108
108
|
// We check constructor name instead of using `instanceof` in order do avoid circular dependencies
|
|
109
109
|
const isNativeHandler =
|
|
110
110
|
otherHandler.constructor.name === 'NativeViewGestureHandler';
|
|
111
|
-
const isActive = otherHandler.
|
|
111
|
+
const isActive = otherHandler.state === State.ACTIVE;
|
|
112
112
|
const isButton = otherHandler.isButton?.() === true;
|
|
113
113
|
|
|
114
114
|
return isNativeHandler && isActive && !isButton;
|
|
@@ -126,11 +126,11 @@ export default class InteractionManager {
|
|
|
126
126
|
this.blocksHandlersRelations.clear();
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
public static
|
|
130
|
-
if (!this.
|
|
131
|
-
this.
|
|
129
|
+
public static get instance(): InteractionManager {
|
|
130
|
+
if (!this._instance) {
|
|
131
|
+
this._instance = new InteractionManager();
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
return this.
|
|
134
|
+
return this._instance;
|
|
135
135
|
}
|
|
136
136
|
}
|
|
@@ -28,7 +28,7 @@ export default abstract class NodeManager {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
this.gestures[handlerTag] = handler;
|
|
31
|
-
this.gestures[handlerTag].
|
|
31
|
+
this.gestures[handlerTag].handlerTag = handlerTag;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
public static dropGestureHandler(handlerTag: number): void {
|
|
@@ -42,7 +42,7 @@ export default abstract class NodeManager {
|
|
|
42
42
|
delete this.gestures[handlerTag];
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
public static
|
|
45
|
+
public static get nodes() {
|
|
46
46
|
return { ...this.gestures };
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -13,7 +13,7 @@ const MAX_POINTERS = 20;
|
|
|
13
13
|
|
|
14
14
|
export default class PointerTracker {
|
|
15
15
|
private velocityTracker = new VelocityTracker();
|
|
16
|
-
private
|
|
16
|
+
private readonly _trackedPointers: Map<number, TrackerElement> = new Map<
|
|
17
17
|
number,
|
|
18
18
|
TrackerElement
|
|
19
19
|
>();
|
|
@@ -72,7 +72,7 @@ export default class PointerTracker {
|
|
|
72
72
|
this.lastMovedPointerId = event.pointerId;
|
|
73
73
|
|
|
74
74
|
this.velocityTracker.add(event);
|
|
75
|
-
const [velocityX, velocityY] = this.velocityTracker.
|
|
75
|
+
const [velocityX, velocityY] = this.velocityTracker.velocity;
|
|
76
76
|
|
|
77
77
|
element.velocityX = velocityX;
|
|
78
78
|
element.velocityY = velocityY;
|
|
@@ -189,24 +189,6 @@ export default class PointerTracker {
|
|
|
189
189
|
return sum;
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
-
public getTrackedPointersCount(): number {
|
|
193
|
-
return this.trackedPointers.size;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
public getTrackedPointersID(): number[] {
|
|
197
|
-
const keys: number[] = [];
|
|
198
|
-
|
|
199
|
-
this.trackedPointers.forEach((_value, key) => {
|
|
200
|
-
keys.push(key);
|
|
201
|
-
});
|
|
202
|
-
|
|
203
|
-
return keys;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
public getData(): Map<number, TrackerElement> {
|
|
207
|
-
return this.trackedPointers;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
192
|
public resetTracker(): void {
|
|
211
193
|
this.velocityTracker.reset();
|
|
212
194
|
this.trackedPointers.clear();
|
|
@@ -223,4 +205,22 @@ export default class PointerTracker {
|
|
|
223
205
|
): boolean {
|
|
224
206
|
return stPointers.some((pointerId) => ndPointers.includes(pointerId));
|
|
225
207
|
}
|
|
208
|
+
|
|
209
|
+
public get trackedPointersCount(): number {
|
|
210
|
+
return this.trackedPointers.size;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
public get trackedPointersIDs() {
|
|
214
|
+
const keys: number[] = [];
|
|
215
|
+
|
|
216
|
+
this.trackedPointers.forEach((_value, key) => {
|
|
217
|
+
keys.push(key);
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
return keys;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
public get trackedPointers() {
|
|
224
|
+
return this._trackedPointers;
|
|
225
|
+
}
|
|
226
226
|
}
|
package/src/web/tools/Vector.ts
CHANGED