react-native-gesture-handler 2.22.0 → 2.23.0
Sign up to get free protection for your applications and to get access to all the features.
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +14 -0
- package/android/src/main/jni/cpp-adapter.cpp +19 -12
- package/apple/RNGestureHandler.mm +15 -8
- package/apple/RNGestureHandlerModule.mm +17 -5
- package/lib/commonjs/ActionType.js +3 -3
- package/lib/commonjs/ActionType.js.map +1 -1
- package/lib/commonjs/Directions.js +11 -8
- package/lib/commonjs/Directions.js.map +1 -1
- package/lib/commonjs/EnableNewWebImplementation.js +2 -10
- package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
- package/lib/commonjs/GestureHandlerRootViewContext.js +2 -7
- package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/commonjs/PlatformConstants.js +1 -6
- package/lib/commonjs/PlatformConstants.js.map +1 -1
- package/lib/commonjs/PlatformConstants.web.js +1 -3
- package/lib/commonjs/PlatformConstants.web.js.map +1 -1
- package/lib/commonjs/PointerType.js +3 -5
- package/lib/commonjs/PointerType.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.js +2 -6
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.web.js +13 -39
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.windows.js +22 -32
- package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/commonjs/RNRenderer.js +1 -3
- package/lib/commonjs/RNRenderer.js.map +1 -1
- package/lib/commonjs/RNRenderer.web.js +1 -2
- package/lib/commonjs/RNRenderer.web.js.map +1 -1
- package/lib/commonjs/State.js +4 -3
- package/lib/commonjs/State.js.map +1 -1
- package/lib/commonjs/TouchEventType.js +3 -3
- package/lib/commonjs/TouchEventType.js.map +1 -1
- package/lib/commonjs/components/DrawerLayout.js +96 -115
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/GestureButtons.js +36 -80
- package/lib/commonjs/components/GestureButtons.js.map +1 -1
- package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.js +26 -37
- package/lib/commonjs/components/GestureComponents.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.web.js +13 -27
- package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.js +2 -6
- package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.web.js +4 -12
- package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.android.js +4 -15
- package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.js +4 -14
- package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.web.js +4 -13
- package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/commonjs/components/Pressable/Pressable.js +46 -78
- package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
- package/lib/commonjs/components/Pressable/PressableProps.js.map +1 -1
- package/lib/commonjs/components/Pressable/index.js +1 -3
- package/lib/commonjs/components/Pressable/index.js.map +1 -1
- package/lib/commonjs/components/Pressable/utils.js +5 -20
- package/lib/commonjs/components/Pressable/utils.js.map +1 -1
- package/lib/commonjs/components/ReanimatedDrawerLayout.js +38 -76
- package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/commonjs/components/ReanimatedSwipeable.js +133 -98
- package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/commonjs/components/Swipeable.js +34 -75
- package/lib/commonjs/components/Swipeable.js.map +1 -1
- package/lib/commonjs/components/Text.js +18 -26
- package/lib/commonjs/components/Text.js.map +1 -1
- package/lib/commonjs/components/gestureHandlerRootHOC.js +5 -14
- package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchable.js +40 -76
- package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableHighlight.js +20 -33
- package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +17 -31
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -4
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableOpacity.js +17 -24
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +12 -13
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/index.js +7 -12
- package/lib/commonjs/components/touchables/index.js.map +1 -1
- package/lib/commonjs/findNodeHandle.js +1 -4
- package/lib/commonjs/findNodeHandle.js.map +1 -1
- package/lib/commonjs/findNodeHandle.web.js +9 -10
- package/lib/commonjs/findNodeHandle.web.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.js +1 -6
- package/lib/commonjs/getReactNativeVersion.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.web.js +0 -1
- package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.js +13 -14
- package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.web.js +0 -1
- package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
- package/lib/commonjs/ghQueueMicrotask.js +1 -2
- package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
- package/lib/commonjs/handlers/FlingGestureHandler.js +16 -10
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +20 -23
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/commonjs/handlers/LongPressGestureHandler.js +16 -10
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +17 -12
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js +20 -31
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PinchGestureHandler.js +14 -8
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js +0 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -1
- package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
- package/lib/commonjs/handlers/RotationGestureHandler.js +14 -8
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/TapGestureHandler.js +16 -10
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js +55 -135
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/createNativeWrapper.js +33 -32
- package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.js +0 -1
- package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.web.js +1 -2
- package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js +9 -10
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +5 -14
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +10 -20
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +9 -29
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +1 -10
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js +12 -37
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -3
- package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +12 -24
- package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -48
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +3 -13
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +2 -9
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +8 -16
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +28 -56
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/commonjs/handlers/gestures/eventReceiver.js +14 -46
- package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/commonjs/handlers/gestures/flingGesture.js +5 -12
- package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +8 -19
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gesture.js +44 -84
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureComposition.js +17 -31
- package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js +1 -27
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +3 -9
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +2 -7
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/hoverGesture.js +11 -25
- package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/longPressGesture.js +6 -14
- package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/manualGesture.js +0 -6
- package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/nativeGesture.js +5 -12
- package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/panGesture.js +18 -43
- package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/pinchGesture.js +2 -9
- package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +1 -8
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/commonjs/handlers/gestures/rotationGesture.js +2 -9
- package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/tapGesture.js +10 -22
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/commonjs/handlers/getNextHandlerTag.js +0 -1
- package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
- package/lib/commonjs/handlers/handlersRegistry.js +11 -21
- package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
- package/lib/commonjs/handlers/utils.js +6 -26
- package/lib/commonjs/handlers/utils.js.map +1 -1
- package/lib/commonjs/index.js +75 -104
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js +4 -11
- package/lib/commonjs/init.js.map +1 -1
- package/lib/commonjs/jestUtils/index.js +4 -5
- package/lib/commonjs/jestUtils/index.js.map +1 -1
- package/lib/commonjs/jestUtils/jestUtils.js +19 -83
- package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
- package/lib/commonjs/mocks.js +5 -15
- package/lib/commonjs/mocks.js.map +1 -1
- package/lib/commonjs/mountRegistry.js +3 -12
- package/lib/commonjs/mountRegistry.js.map +1 -1
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +1 -5
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +2 -7
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +2 -7
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
- package/lib/commonjs/typeUtils.js.map +1 -1
- package/lib/commonjs/utils.js +15 -30
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/Gestures.js +5 -23
- package/lib/commonjs/web/Gestures.js.map +1 -1
- package/lib/commonjs/web/constants.js +2 -4
- package/lib/commonjs/web/constants.js.map +1 -1
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +26 -62
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js +36 -65
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +12 -55
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +160 -273
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/HoverGestureHandler.js +8 -21
- package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js +12 -53
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js +1 -11
- package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +21 -62
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +23 -138
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +19 -56
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +16 -54
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +10 -71
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/interfaces.js +9 -17
- package/lib/commonjs/web/interfaces.js.map +1 -1
- package/lib/commonjs/web/tools/CircularBuffer.js +17 -29
- package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
- package/lib/commonjs/web/tools/EventManager.js +7 -41
- package/lib/commonjs/web/tools/EventManager.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +51 -118
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +37 -58
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/InteractionManager.js +21 -40
- package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
- package/lib/commonjs/web/tools/KeyboardEventManager.js +4 -26
- package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/LeastSquareSolver.js +30 -67
- package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/commonjs/web/tools/NodeManager.js +9 -16
- package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerEventManager.js +10 -45
- package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerTracker.js +24 -60
- package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
- package/lib/commonjs/web/tools/Vector.js +3 -18
- package/lib/commonjs/web/tools/Vector.js.map +1 -1
- package/lib/commonjs/web/tools/VelocityTracker.js +10 -32
- package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
- package/lib/commonjs/web/tools/WheelEventManager.js +4 -17
- package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
- package/lib/commonjs/web/utils.js +26 -55
- package/lib/commonjs/web/utils.js.map +1 -1
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +7 -19
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js +3 -13
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/Errors.js +0 -3
- package/lib/commonjs/web_hammer/Errors.js.map +1 -1
- package/lib/commonjs/web_hammer/FlingGestureHandler.js +13 -44
- package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/GestureHandler.js +55 -142
- package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +2 -11
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js +5 -19
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +16 -24
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NodeManager.js +9 -16
- package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
- package/lib/commonjs/web_hammer/PanGestureHandler.js +8 -49
- package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PinchGestureHandler.js +2 -11
- package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PressGestureHandler.js +15 -43
- package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/RotationGestureHandler.js +2 -13
- package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/TapGestureHandler.js +33 -52
- package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/constants.js +13 -26
- package/lib/commonjs/web_hammer/constants.js.map +1 -1
- package/lib/commonjs/web_hammer/utils.js +4 -14
- package/lib/commonjs/web_hammer/utils.js.map +1 -1
- package/lib/module/ActionType.js +3 -1
- package/lib/module/ActionType.js.map +1 -1
- package/lib/module/Directions.js +9 -3
- package/lib/module/Directions.js.map +1 -1
- package/lib/module/EnableNewWebImplementation.js +2 -5
- package/lib/module/EnableNewWebImplementation.js.map +1 -1
- package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/module/PlatformConstants.js +0 -1
- package/lib/module/PlatformConstants.js.map +1 -1
- package/lib/module/PlatformConstants.web.js +0 -1
- package/lib/module/PlatformConstants.web.js.map +1 -1
- package/lib/module/PointerType.js +3 -4
- package/lib/module/PointerType.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.js +1 -0
- package/lib/module/RNGestureHandlerModule.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.web.js +12 -22
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.windows.js +18 -17
- package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/module/RNRenderer.js.map +1 -1
- package/lib/module/RNRenderer.web.js.map +1 -1
- package/lib/module/State.js +4 -1
- package/lib/module/State.js.map +1 -1
- package/lib/module/TouchEventType.js +3 -1
- package/lib/module/TouchEventType.js.map +1 -1
- package/lib/module/components/DrawerLayout.js +87 -99
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/GestureButtons.js +27 -55
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/GestureButtonsProps.js.map +1 -1
- package/lib/module/components/GestureComponents.js +17 -12
- package/lib/module/components/GestureComponents.js.map +1 -1
- package/lib/module/components/GestureComponents.web.js +4 -4
- package/lib/module/components/GestureComponents.web.js.map +1 -1
- package/lib/module/components/GestureHandlerButton.js.map +1 -1
- package/lib/module/components/GestureHandlerButton.web.js +1 -2
- package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.android.js +1 -2
- package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.js +1 -2
- package/lib/module/components/GestureHandlerRootView.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.web.js +1 -2
- package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +44 -61
- package/lib/module/components/Pressable/Pressable.js.map +1 -1
- package/lib/module/components/Pressable/PressableProps.js.map +1 -1
- package/lib/module/components/Pressable/index.js.map +1 -1
- package/lib/module/components/Pressable/utils.js +4 -14
- package/lib/module/components/Pressable/utils.js.map +1 -1
- package/lib/module/components/ReanimatedDrawerLayout.js +34 -56
- package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/module/components/ReanimatedSwipeable.js +130 -84
- package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/module/components/Swipeable.js +28 -59
- package/lib/module/components/Swipeable.js.map +1 -1
- package/lib/module/components/Text.js +14 -13
- package/lib/module/components/Text.js.map +1 -1
- package/lib/module/components/gestureHandlerRootHOC.js +2 -2
- package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/module/components/touchables/GenericTouchable.js +34 -63
- package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/module/components/touchables/GenericTouchableProps.js.map +1 -1
- package/lib/module/components/touchables/TouchableHighlight.js +16 -23
- package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js +11 -19
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.js +6 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
- package/lib/module/components/touchables/TouchableOpacity.js +13 -14
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/module/components/touchables/TouchableWithoutFeedback.js +9 -2
- package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/module/components/touchables/index.js.map +1 -1
- package/lib/module/findNodeHandle.js.map +1 -1
- package/lib/module/findNodeHandle.web.js +9 -8
- package/lib/module/findNodeHandle.web.js.map +1 -1
- package/lib/module/getReactNativeVersion.js.map +1 -1
- package/lib/module/getReactNativeVersion.web.js.map +1 -1
- package/lib/module/getShadowNodeFromRef.js +13 -13
- package/lib/module/getShadowNodeFromRef.js.map +1 -1
- package/lib/module/getShadowNodeFromRef.web.js.map +1 -1
- package/lib/module/ghQueueMicrotask.js.map +1 -1
- package/lib/module/handlers/FlingGestureHandler.js +13 -0
- package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/handlers/ForceTouchGestureHandler.js +16 -8
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/module/handlers/LongPressGestureHandler.js +13 -0
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/handlers/NativeViewGestureHandler.js +13 -0
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/handlers/PanGestureHandler.js +15 -19
- package/lib/module/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/handlers/PinchGestureHandler.js +13 -0
- package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
- package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -1
- package/lib/module/handlers/RotationGestureHandler.js +13 -0
- package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/handlers/TapGestureHandler.js +13 -0
- package/lib/module/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/handlers/createHandler.js +54 -108
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/createNativeWrapper.js +28 -22
- package/lib/module/handlers/createNativeWrapper.js.map +1 -1
- package/lib/module/handlers/customDirectEventTypes.js.map +1 -1
- package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -1
- package/lib/module/handlers/gestureHandlerCommon.js +9 -4
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/Wrap.js +3 -4
- package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +5 -6
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +8 -16
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -1
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/index.js +9 -15
- package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -2
- package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/types.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +11 -14
- package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -39
- package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +5 -5
- package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +2 -6
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -9
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/utils.js +25 -30
- package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/module/handlers/gestures/eventReceiver.js +14 -38
- package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/module/handlers/gestures/flingGesture.js +5 -9
- package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/module/handlers/gestures/forceTouchGesture.js +8 -17
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/gesture.js +44 -73
- package/lib/module/handlers/gestures/gesture.js.map +1 -1
- package/lib/module/handlers/gestures/gestureComposition.js +16 -24
- package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/module/handlers/gestures/gestureObjects.js +1 -14
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.js +3 -4
- package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -1
- package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/module/handlers/gestures/hoverGesture.js +9 -18
- package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/module/handlers/gestures/longPressGesture.js +6 -11
- package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/module/handlers/gestures/manualGesture.js +0 -4
- package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/module/handlers/gestures/nativeGesture.js +5 -9
- package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/module/handlers/gestures/panGesture.js +18 -41
- package/lib/module/handlers/gestures/panGesture.js.map +1 -1
- package/lib/module/handlers/gestures/pinchGesture.js +2 -7
- package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -5
- package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/module/handlers/gestures/rotationGesture.js +2 -7
- package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/module/handlers/gestures/tapGesture.js +10 -19
- package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/module/handlers/getNextHandlerTag.js.map +1 -1
- package/lib/module/handlers/handlersRegistry.js +6 -8
- package/lib/module/handlers/handlersRegistry.js.map +1 -1
- package/lib/module/handlers/utils.js +4 -13
- package/lib/module/handlers/utils.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js +3 -2
- package/lib/module/init.js.map +1 -1
- package/lib/module/jestUtils/index.js.map +1 -1
- package/lib/module/jestUtils/jestUtils.js +20 -66
- package/lib/module/jestUtils/jestUtils.js.map +1 -1
- package/lib/module/mocks.js +3 -7
- package/lib/module/mocks.js.map +1 -1
- package/lib/module/mountRegistry.js +3 -10
- package/lib/module/mountRegistry.js.map +1 -1
- package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
- package/lib/module/typeUtils.js.map +1 -1
- package/lib/module/utils.js +8 -13
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/Gestures.js +2 -1
- package/lib/module/web/Gestures.js.map +1 -1
- package/lib/module/web/constants.js.map +1 -1
- package/lib/module/web/detectors/RotationGestureDetector.js +26 -59
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/module/web/detectors/ScaleGestureDetector.js +36 -61
- package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +11 -45
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js +159 -259
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/HoverGestureHandler.js +7 -13
- package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/IGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/LongPressGestureHandler.js +11 -46
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/ManualGestureHandler.js +0 -6
- package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/NativeViewGestureHandler.js +20 -54
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +22 -129
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PinchGestureHandler.js +18 -48
- package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/RotationGestureHandler.js +15 -46
- package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +9 -63
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/interfaces.js +9 -14
- package/lib/module/web/interfaces.js.map +1 -1
- package/lib/module/web/tools/CircularBuffer.js +17 -27
- package/lib/module/web/tools/CircularBuffer.js.map +1 -1
- package/lib/module/web/tools/EventManager.js +7 -39
- package/lib/module/web/tools/EventManager.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerOrchestrator.js +50 -111
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +36 -47
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/module/web/tools/InteractionManager.js +21 -35
- package/lib/module/web/tools/InteractionManager.js.map +1 -1
- package/lib/module/web/tools/KeyboardEventManager.js +3 -19
- package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/module/web/tools/LeastSquareSolver.js +30 -65
- package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/module/web/tools/NodeManager.js +9 -14
- package/lib/module/web/tools/NodeManager.js.map +1 -1
- package/lib/module/web/tools/PointerEventManager.js +9 -35
- package/lib/module/web/tools/PointerEventManager.js.map +1 -1
- package/lib/module/web/tools/PointerTracker.js +23 -54
- package/lib/module/web/tools/PointerTracker.js.map +1 -1
- package/lib/module/web/tools/Vector.js +3 -14
- package/lib/module/web/tools/Vector.js.map +1 -1
- package/lib/module/web/tools/VelocityTracker.js +9 -26
- package/lib/module/web/tools/VelocityTracker.js.map +1 -1
- package/lib/module/web/tools/WheelEventManager.js +3 -10
- package/lib/module/web/tools/WheelEventManager.js.map +1 -1
- package/lib/module/web/utils.js +21 -40
- package/lib/module/web/utils.js.map +1 -1
- package/lib/module/web_hammer/DiscreteGestureHandler.js +4 -13
- package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/DraggingGestureHandler.js +0 -5
- package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/Errors.js +0 -1
- package/lib/module/web_hammer/Errors.js.map +1 -1
- package/lib/module/web_hammer/FlingGestureHandler.js +10 -35
- package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/GestureHandler.js +53 -130
- package/lib/module/web_hammer/GestureHandler.js.map +1 -1
- package/lib/module/web_hammer/IndiscreteGestureHandler.js +1 -6
- package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/LongPressGestureHandler.js +2 -11
- package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/NativeViewGestureHandler.js +12 -12
- package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/NodeManager.js +6 -8
- package/lib/module/web_hammer/NodeManager.js.map +1 -1
- package/lib/module/web_hammer/PanGestureHandler.js +6 -40
- package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PinchGestureHandler.js +0 -5
- package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PressGestureHandler.js +13 -34
- package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/RotationGestureHandler.js +0 -6
- package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/TapGestureHandler.js +31 -45
- package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/constants.js +2 -1
- package/lib/module/web_hammer/constants.js.map +1 -1
- package/lib/module/web_hammer/utils.js +2 -2
- package/lib/module/web_hammer/utils.js.map +1 -1
- package/lib/typescript/components/DrawerLayout.d.ts +27 -0
- package/lib/typescript/components/GestureButtonsProps.d.ts +18 -2
- package/lib/typescript/components/Pressable/PressableProps.d.ts +3 -10
- package/lib/typescript/components/Pressable/index.d.ts +1 -1
- package/lib/typescript/components/ReanimatedSwipeable.d.ts +6 -0
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +5 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +2 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +5 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -0
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +5 -0
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +6 -0
- package/lib/typescript/handlers/FlingGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/LongPressGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/PanGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/PinchGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/RotationGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/TapGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/handlersRegistry.d.ts +1 -0
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/utils.d.ts +1 -1
- package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +7 -7
- package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +8 -8
- package/lib/typescript/web/handlers/GestureHandler.d.ts +33 -28
- package/lib/typescript/web/handlers/IGestureHandler.d.ts +12 -13
- package/lib/typescript/web/tools/CircularBuffer.d.ts +3 -3
- package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +1 -1
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +2 -2
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +3 -2
- package/lib/typescript/web/tools/InteractionManager.d.ts +2 -2
- package/lib/typescript/web/tools/NodeManager.d.ts +1 -1
- package/lib/typescript/web/tools/PointerTracker.d.ts +4 -4
- package/lib/typescript/web/tools/VelocityTracker.d.ts +1 -1
- package/package.json +2 -2
- package/src/RNGestureHandlerModule.web.ts +2 -2
- package/src/components/DrawerLayout.tsx +29 -0
- package/src/components/GestureButtons.tsx +13 -2
- package/src/components/GestureButtonsProps.ts +31 -2
- package/src/components/Pressable/Pressable.tsx +22 -5
- package/src/components/Pressable/PressableProps.tsx +4 -11
- package/src/components/Pressable/index.ts +4 -1
- package/src/components/ReanimatedSwipeable.tsx +194 -113
- package/src/components/Text.tsx +13 -4
- package/src/components/touchables/TouchableHighlight.tsx +5 -0
- package/src/components/touchables/TouchableNativeFeedback.android.tsx +2 -0
- package/src/components/touchables/TouchableNativeFeedback.tsx +6 -1
- package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -0
- package/src/components/touchables/TouchableOpacity.tsx +5 -0
- package/src/components/touchables/TouchableWithoutFeedback.tsx +6 -0
- package/src/findNodeHandle.web.ts +6 -0
- package/src/handlers/FlingGestureHandler.ts +10 -0
- package/src/handlers/ForceTouchGestureHandler.ts +9 -0
- package/src/handlers/LongPressGestureHandler.ts +10 -0
- package/src/handlers/NativeViewGestureHandler.ts +10 -0
- package/src/handlers/PanGestureHandler.ts +10 -0
- package/src/handlers/PinchGestureHandler.ts +10 -0
- package/src/handlers/RotationGestureHandler.ts +10 -0
- package/src/handlers/TapGestureHandler.ts +10 -0
- package/src/handlers/createHandler.tsx +11 -4
- package/src/handlers/createNativeWrapper.tsx +10 -4
- package/src/handlers/gestures/GestureDetector/index.tsx +2 -2
- package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +3 -3
- package/src/handlers/gestures/GestureDetector/utils.ts +2 -2
- package/src/handlers/handlersRegistry.ts +7 -3
- package/src/index.ts +4 -1
- package/src/utils.ts +2 -2
- package/src/web/detectors/RotationGestureDetector.ts +22 -22
- package/src/web/detectors/ScaleGestureDetector.ts +24 -24
- package/src/web/handlers/FlingGestureHandler.ts +6 -7
- package/src/web/handlers/GestureHandler.ts +115 -105
- package/src/web/handlers/HoverGestureHandler.ts +2 -2
- package/src/web/handlers/IGestureHandler.ts +12 -13
- package/src/web/handlers/LongPressGestureHandler.ts +7 -7
- package/src/web/handlers/NativeViewGestureHandler.ts +14 -19
- package/src/web/handlers/PanGestureHandler.ts +17 -17
- package/src/web/handlers/PinchGestureHandler.ts +17 -21
- package/src/web/handlers/RotationGestureHandler.ts +12 -12
- package/src/web/handlers/TapGestureHandler.ts +4 -6
- package/src/web/tools/CircularBuffer.ts +15 -15
- package/src/web/tools/GestureHandlerDelegate.ts +1 -1
- package/src/web/tools/GestureHandlerOrchestrator.ts +42 -42
- package/src/web/tools/GestureHandlerWebDelegate.ts +32 -13
- package/src/web/tools/InteractionManager.ts +16 -16
- package/src/web/tools/NodeManager.ts +2 -2
- package/src/web/tools/PointerTracker.ts +20 -20
- package/src/web/tools/Vector.ts +1 -1
- package/src/web/tools/VelocityTracker.ts +1 -1
@@ -1,39 +1,31 @@
|
|
1
|
-
function _defineProperty(
|
2
|
-
|
1
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
3
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
3
4
|
import VelocityTracker from './VelocityTracker';
|
4
5
|
const MAX_POINTERS = 20;
|
5
6
|
export default class PointerTracker {
|
6
7
|
constructor() {
|
7
8
|
_defineProperty(this, "velocityTracker", new VelocityTracker());
|
8
|
-
|
9
|
-
_defineProperty(this, "trackedPointers", new Map());
|
10
|
-
|
9
|
+
_defineProperty(this, "_trackedPointers", new Map());
|
11
10
|
_defineProperty(this, "touchEventsIds", new Map());
|
12
|
-
|
13
11
|
_defineProperty(this, "lastMovedPointerId", void 0);
|
14
|
-
|
15
12
|
_defineProperty(this, "cachedAbsoluteAverages", {
|
16
13
|
x: 0,
|
17
14
|
y: 0
|
18
15
|
});
|
19
|
-
|
20
16
|
_defineProperty(this, "cachedRelativeAverages", {
|
21
17
|
x: 0,
|
22
18
|
y: 0
|
23
19
|
});
|
24
|
-
|
25
20
|
this.lastMovedPointerId = NaN;
|
26
|
-
|
27
21
|
for (let i = 0; i < MAX_POINTERS; ++i) {
|
28
22
|
this.touchEventsIds.set(i, NaN);
|
29
23
|
}
|
30
24
|
}
|
31
|
-
|
32
25
|
addToTracker(event) {
|
33
26
|
if (this.trackedPointers.has(event.pointerId)) {
|
34
27
|
return;
|
35
28
|
}
|
36
|
-
|
37
29
|
this.lastMovedPointerId = event.pointerId;
|
38
30
|
const newElement = {
|
39
31
|
abosoluteCoords: {
|
@@ -53,22 +45,18 @@ export default class PointerTracker {
|
|
53
45
|
this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();
|
54
46
|
this.cachedRelativeAverages = this.getRelativeCoordsAverage();
|
55
47
|
}
|
56
|
-
|
57
48
|
removeFromTracker(pointerId) {
|
58
49
|
this.trackedPointers.delete(pointerId);
|
59
50
|
this.removeMappedTouchId(pointerId);
|
60
51
|
}
|
61
|
-
|
62
52
|
track(event) {
|
63
53
|
const element = this.trackedPointers.get(event.pointerId);
|
64
|
-
|
65
54
|
if (!element) {
|
66
55
|
return;
|
67
56
|
}
|
68
|
-
|
69
57
|
this.lastMovedPointerId = event.pointerId;
|
70
58
|
this.velocityTracker.add(event);
|
71
|
-
const [velocityX, velocityY] = this.velocityTracker.
|
59
|
+
const [velocityX, velocityY] = this.velocityTracker.velocity;
|
72
60
|
element.velocityX = velocityX;
|
73
61
|
element.velocityY = velocityY;
|
74
62
|
element.abosoluteCoords = {
|
@@ -82,9 +70,9 @@ export default class PointerTracker {
|
|
82
70
|
this.trackedPointers.set(event.pointerId, element);
|
83
71
|
this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();
|
84
72
|
this.cachedRelativeAverages = this.getRelativeCoordsAverage();
|
85
|
-
}
|
86
|
-
|
73
|
+
}
|
87
74
|
|
75
|
+
// Mapping TouchEvents ID
|
88
76
|
mapTouchEventId(id) {
|
89
77
|
for (const [mappedId, touchId] of this.touchEventsIds) {
|
90
78
|
if (isNaN(touchId)) {
|
@@ -93,50 +81,41 @@ export default class PointerTracker {
|
|
93
81
|
}
|
94
82
|
}
|
95
83
|
}
|
96
|
-
|
97
84
|
removeMappedTouchId(id) {
|
98
85
|
const mappedId = this.getMappedTouchEventId(id);
|
99
|
-
|
100
86
|
if (!isNaN(mappedId)) {
|
101
87
|
this.touchEventsIds.set(mappedId, NaN);
|
102
88
|
}
|
103
89
|
}
|
104
|
-
|
105
90
|
getMappedTouchEventId(touchEventId) {
|
106
91
|
for (const [key, value] of this.touchEventsIds.entries()) {
|
107
92
|
if (value === touchEventId) {
|
108
93
|
return key;
|
109
94
|
}
|
110
95
|
}
|
111
|
-
|
112
96
|
return NaN;
|
113
97
|
}
|
114
|
-
|
115
98
|
getVelocity(pointerId) {
|
116
99
|
var _this$trackedPointers, _this$trackedPointers2;
|
117
|
-
|
118
100
|
return {
|
119
101
|
x: (_this$trackedPointers = this.trackedPointers.get(pointerId)) === null || _this$trackedPointers === void 0 ? void 0 : _this$trackedPointers.velocityX,
|
120
102
|
y: (_this$trackedPointers2 = this.trackedPointers.get(pointerId)) === null || _this$trackedPointers2 === void 0 ? void 0 : _this$trackedPointers2.velocityY
|
121
103
|
};
|
122
104
|
}
|
123
|
-
|
124
105
|
getLastAbsoluteCoords(pointerId) {
|
125
106
|
var _this$trackedPointers3;
|
126
|
-
|
127
107
|
return (_this$trackedPointers3 = this.trackedPointers.get(pointerId !== null && pointerId !== void 0 ? pointerId : this.lastMovedPointerId)) === null || _this$trackedPointers3 === void 0 ? void 0 : _this$trackedPointers3.abosoluteCoords;
|
128
108
|
}
|
129
|
-
|
130
109
|
getLastRelativeCoords(pointerId) {
|
131
110
|
var _this$trackedPointers4;
|
132
|
-
|
133
111
|
return (_this$trackedPointers4 = this.trackedPointers.get(pointerId !== null && pointerId !== void 0 ? pointerId : this.lastMovedPointerId)) === null || _this$trackedPointers4 === void 0 ? void 0 : _this$trackedPointers4.relativeCoords;
|
134
|
-
}
|
112
|
+
}
|
113
|
+
|
114
|
+
// Some handlers use these methods to send average values in native event.
|
135
115
|
// This may happen when pointers have already been removed from tracker (i.e. pointerup event).
|
136
116
|
// In situation when NaN would be sent as a response, we return cached value.
|
137
117
|
// That prevents handlers from crashing
|
138
118
|
|
139
|
-
|
140
119
|
getAbsoluteCoordsAverage() {
|
141
120
|
const coordsSum = this.getAbsoluteCoordsSum();
|
142
121
|
const avgX = coordsSum.x / this.trackedPointers.size;
|
@@ -147,7 +126,6 @@ export default class PointerTracker {
|
|
147
126
|
};
|
148
127
|
return averages;
|
149
128
|
}
|
150
|
-
|
151
129
|
getRelativeCoordsAverage() {
|
152
130
|
const coordsSum = this.getRelativeCoordsSum();
|
153
131
|
const avgX = coordsSum.x / this.trackedPointers.size;
|
@@ -158,7 +136,6 @@ export default class PointerTracker {
|
|
158
136
|
};
|
159
137
|
return averages;
|
160
138
|
}
|
161
|
-
|
162
139
|
getAbsoluteCoordsSum(ignoredPointer) {
|
163
140
|
const sum = {
|
164
141
|
x: 0,
|
@@ -172,7 +149,6 @@ export default class PointerTracker {
|
|
172
149
|
});
|
173
150
|
return sum;
|
174
151
|
}
|
175
|
-
|
176
152
|
getRelativeCoordsSum(ignoredPointer) {
|
177
153
|
const sum = {
|
178
154
|
x: 0,
|
@@ -186,36 +162,29 @@ export default class PointerTracker {
|
|
186
162
|
});
|
187
163
|
return sum;
|
188
164
|
}
|
189
|
-
|
190
|
-
getTrackedPointersCount() {
|
191
|
-
return this.trackedPointers.size;
|
192
|
-
}
|
193
|
-
|
194
|
-
getTrackedPointersID() {
|
195
|
-
const keys = [];
|
196
|
-
this.trackedPointers.forEach((_value, key) => {
|
197
|
-
keys.push(key);
|
198
|
-
});
|
199
|
-
return keys;
|
200
|
-
}
|
201
|
-
|
202
|
-
getData() {
|
203
|
-
return this.trackedPointers;
|
204
|
-
}
|
205
|
-
|
206
165
|
resetTracker() {
|
207
166
|
this.velocityTracker.reset();
|
208
167
|
this.trackedPointers.clear();
|
209
168
|
this.lastMovedPointerId = NaN;
|
210
|
-
|
211
169
|
for (let i = 0; i < MAX_POINTERS; ++i) {
|
212
170
|
this.touchEventsIds.set(i, NaN);
|
213
171
|
}
|
214
172
|
}
|
215
|
-
|
216
173
|
static shareCommonPointers(stPointers, ndPointers) {
|
217
174
|
return stPointers.some(pointerId => ndPointers.includes(pointerId));
|
218
175
|
}
|
219
|
-
|
176
|
+
get trackedPointersCount() {
|
177
|
+
return this.trackedPointers.size;
|
178
|
+
}
|
179
|
+
get trackedPointersIDs() {
|
180
|
+
const keys = [];
|
181
|
+
this.trackedPointers.forEach((_value, key) => {
|
182
|
+
keys.push(key);
|
183
|
+
});
|
184
|
+
return keys;
|
185
|
+
}
|
186
|
+
get trackedPointers() {
|
187
|
+
return this._trackedPointers;
|
188
|
+
}
|
220
189
|
}
|
221
190
|
//# sourceMappingURL=PointerTracker.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["PointerTracker.ts"],"names":["VelocityTracker","MAX_POINTERS","PointerTracker","constructor","Map","x","y","lastMovedPointerId","NaN","i","touchEventsIds","set","addToTracker","event","trackedPointers","has","pointerId","newElement","abosoluteCoords","relativeCoords","offsetX","offsetY","timestamp","time","velocityX","velocityY","mapTouchEventId","cachedAbsoluteAverages","getAbsoluteCoordsAverage","cachedRelativeAverages","getRelativeCoordsAverage","removeFromTracker","delete","removeMappedTouchId","track","element","get","velocityTracker","add","getVelocity","id","mappedId","touchId","isNaN","getMappedTouchEventId","touchEventId","key","value","entries","getLastAbsoluteCoords","getLastRelativeCoords","coordsSum","getAbsoluteCoordsSum","avgX","size","avgY","averages","getRelativeCoordsSum","ignoredPointer","sum","forEach","getTrackedPointersCount","getTrackedPointersID","keys","_value","push","getData","resetTracker","reset","clear","shareCommonPointers","stPointers","ndPointers","some","includes"],"mappings":";;AACA,OAAOA,eAAP,MAA4B,mBAA5B;AAUA,MAAMC,YAAY,GAAG,EAArB;AAEA,eAAe,MAAMC,cAAN,CAAqB;AAc3BC,EAAAA,WAAW,GAAG;AAAA,6CAbK,IAAIH,eAAJ,EAaL;;AAAA,6CAZkC,IAAII,GAAJ,EAYlC;;AAAA,4CAPyB,IAAIA,GAAJ,EAOzB;;AAAA;;AAAA,oDAHmB;AAAEC,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KAGnB;;AAAA,oDAFmB;AAAED,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KAEnB;;AACnB,SAAKC,kBAAL,GAA0BC,GAA1B;;AAEA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGR,YAApB,EAAkC,EAAEQ,CAApC,EAAuC;AACrC,WAAKC,cAAL,CAAoBC,GAApB,CAAwBF,CAAxB,EAA2BD,GAA3B;AACD;AACF;;AAEMI,EAAAA,YAAY,CAACC,KAAD,EAA4B;AAC7C,QAAI,KAAKC,eAAL,CAAqBC,GAArB,CAAyBF,KAAK,CAACG,SAA/B,CAAJ,EAA+C;AAC7C;AACD;;AAED,SAAKT,kBAAL,GAA0BM,KAAK,CAACG,SAAhC;AAEA,UAAMC,UAA0B,GAAG;AACjCC,MAAAA,eAAe,EAAE;AAAEb,QAAAA,CAAC,EAAEQ,KAAK,CAACR,CAAX;AAAcC,QAAAA,CAAC,EAAEO,KAAK,CAACP;AAAvB,OADgB;AAEjCa,MAAAA,cAAc,EAAE;AAAEd,QAAAA,CAAC,EAAEQ,KAAK,CAACO,OAAX;AAAoBd,QAAAA,CAAC,EAAEO,KAAK,CAACQ;AAA7B,OAFiB;AAGjCC,MAAAA,SAAS,EAAET,KAAK,CAACU,IAHgB;AAIjCC,MAAAA,SAAS,EAAE,CAJsB;AAKjCC,MAAAA,SAAS,EAAE;AALsB,KAAnC;AAQA,SAAKX,eAAL,CAAqBH,GAArB,CAAyBE,KAAK,CAACG,SAA/B,EAA0CC,UAA1C;AACA,SAAKS,eAAL,CAAqBb,KAAK,CAACG,SAA3B;AAEA,SAAKW,sBAAL,GAA8B,KAAKC,wBAAL,EAA9B;AACA,SAAKC,sBAAL,GAA8B,KAAKC,wBAAL,EAA9B;AACD;;AAEMC,EAAAA,iBAAiB,CAACf,SAAD,EAA0B;AAChD,SAAKF,eAAL,CAAqBkB,MAArB,CAA4BhB,SAA5B;AACA,SAAKiB,mBAAL,CAAyBjB,SAAzB;AACD;;AAEMkB,EAAAA,KAAK,CAACrB,KAAD,EAA4B;AACtC,UAAMsB,OAAuB,GAAG,KAAKrB,eAAL,CAAqBsB,GAArB,CAC9BvB,KAAK,CAACG,SADwB,CAAhC;;AAIA,QAAI,CAACmB,OAAL,EAAc;AACZ;AACD;;AAED,SAAK5B,kBAAL,GAA0BM,KAAK,CAACG,SAAhC;AAEA,SAAKqB,eAAL,CAAqBC,GAArB,CAAyBzB,KAAzB;AACA,UAAM,CAACW,SAAD,EAAYC,SAAZ,IAAyB,KAAKY,eAAL,CAAqBE,WAArB,EAA/B;AAEAJ,IAAAA,OAAO,CAACX,SAAR,GAAoBA,SAApB;AACAW,IAAAA,OAAO,CAACV,SAAR,GAAoBA,SAApB;AAEAU,IAAAA,OAAO,CAACjB,eAAR,GAA0B;AAAEb,MAAAA,CAAC,EAAEQ,KAAK,CAACR,CAAX;AAAcC,MAAAA,CAAC,EAAEO,KAAK,CAACP;AAAvB,KAA1B;AACA6B,IAAAA,OAAO,CAAChB,cAAR,GAAyB;AAAEd,MAAAA,CAAC,EAAEQ,KAAK,CAACO,OAAX;AAAoBd,MAAAA,CAAC,EAAEO,KAAK,CAACQ;AAA7B,KAAzB;AAEA,SAAKP,eAAL,CAAqBH,GAArB,CAAyBE,KAAK,CAACG,SAA/B,EAA0CmB,OAA1C;AAEA,SAAKR,sBAAL,GAA8B,KAAKC,wBAAL,EAA9B;AACA,SAAKC,sBAAL,GAA8B,KAAKC,wBAAL,EAA9B;AACD,GAzEiC,CA2ElC;;;AACQJ,EAAAA,eAAe,CAACc,EAAD,EAAmB;AACxC,SAAK,MAAM,CAACC,QAAD,EAAWC,OAAX,CAAX,IAAkC,KAAKhC,cAAvC,EAAuD;AACrD,UAAIiC,KAAK,CAACD,OAAD,CAAT,EAAoB;AAClB,aAAKhC,cAAL,CAAoBC,GAApB,CAAwB8B,QAAxB,EAAkCD,EAAlC;AACA;AACD;AACF;AACF;;AAEOP,EAAAA,mBAAmB,CAACO,EAAD,EAAmB;AAC5C,UAAMC,QAAgB,GAAG,KAAKG,qBAAL,CAA2BJ,EAA3B,CAAzB;;AACA,QAAI,CAACG,KAAK,CAACF,QAAD,CAAV,EAAsB;AACpB,WAAK/B,cAAL,CAAoBC,GAApB,CAAwB8B,QAAxB,EAAkCjC,GAAlC;AACD;AACF;;AAEMoC,EAAAA,qBAAqB,CAACC,YAAD,EAA+B;AACzD,SAAK,MAAM,CAACC,GAAD,EAAMC,KAAN,CAAX,IAA2B,KAAKrC,cAAL,CAAoBsC,OAApB,EAA3B,EAA0D;AACxD,UAAID,KAAK,KAAKF,YAAd,EAA4B;AAC1B,eAAOC,GAAP;AACD;AACF;;AAED,WAAOtC,GAAP;AACD;;AAEM+B,EAAAA,WAAW,CAACvB,SAAD,EAAoB;AAAA;;AACpC,WAAO;AACLX,MAAAA,CAAC,2BAAE,KAAKS,eAAL,CAAqBsB,GAArB,CAAyBpB,SAAzB,CAAF,0DAAE,sBAAqCQ,SADnC;AAELlB,MAAAA,CAAC,4BAAE,KAAKQ,eAAL,CAAqBsB,GAArB,CAAyBpB,SAAzB,CAAF,2DAAE,uBAAqCS;AAFnC,KAAP;AAID;;AAEMwB,EAAAA,qBAAqB,CAACjC,SAAD,EAAqB;AAAA;;AAC/C,qCAAO,KAAKF,eAAL,CAAqBsB,GAArB,CAAyBpB,SAAzB,aAAyBA,SAAzB,cAAyBA,SAAzB,GAAsC,KAAKT,kBAA3C,CAAP,2DAAO,uBACHW,eADJ;AAED;;AAEMgC,EAAAA,qBAAqB,CAAClC,SAAD,EAAqB;AAAA;;AAC/C,qCAAO,KAAKF,eAAL,CAAqBsB,GAArB,CAAyBpB,SAAzB,aAAyBA,SAAzB,cAAyBA,SAAzB,GAAsC,KAAKT,kBAA3C,CAAP,2DAAO,uBACHY,cADJ;AAED,GArHiC,CAuHlC;AACA;AACA;AACA;;;AAEOS,EAAAA,wBAAwB,GAAG;AAChC,UAAMuB,SAAS,GAAG,KAAKC,oBAAL,EAAlB;AAEA,UAAMC,IAAI,GAAGF,SAAS,CAAC9C,CAAV,GAAc,KAAKS,eAAL,CAAqBwC,IAAhD;AACA,UAAMC,IAAI,GAAGJ,SAAS,CAAC7C,CAAV,GAAc,KAAKQ,eAAL,CAAqBwC,IAAhD;AAEA,UAAME,QAAQ,GAAG;AACfnD,MAAAA,CAAC,EAAEsC,KAAK,CAACU,IAAD,CAAL,GAAc,KAAK1B,sBAAL,CAA4BtB,CAA1C,GAA8CgD,IADlC;AAEf/C,MAAAA,CAAC,EAAEqC,KAAK,CAACY,IAAD,CAAL,GAAc,KAAK5B,sBAAL,CAA4BrB,CAA1C,GAA8CiD;AAFlC,KAAjB;AAKA,WAAOC,QAAP;AACD;;AAEM1B,EAAAA,wBAAwB,GAAG;AAChC,UAAMqB,SAAS,GAAG,KAAKM,oBAAL,EAAlB;AAEA,UAAMJ,IAAI,GAAGF,SAAS,CAAC9C,CAAV,GAAc,KAAKS,eAAL,CAAqBwC,IAAhD;AACA,UAAMC,IAAI,GAAGJ,SAAS,CAAC7C,CAAV,GAAc,KAAKQ,eAAL,CAAqBwC,IAAhD;AAEA,UAAME,QAAQ,GAAG;AACfnD,MAAAA,CAAC,EAAEsC,KAAK,CAACU,IAAD,CAAL,GAAc,KAAKxB,sBAAL,CAA4BxB,CAA1C,GAA8CgD,IADlC;AAEf/C,MAAAA,CAAC,EAAEqC,KAAK,CAACY,IAAD,CAAL,GAAc,KAAK1B,sBAAL,CAA4BvB,CAA1C,GAA8CiD;AAFlC,KAAjB;AAKA,WAAOC,QAAP;AACD;;AAEMJ,EAAAA,oBAAoB,CAACM,cAAD,EAA0B;AACnD,UAAMC,GAAG,GAAG;AAAEtD,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KAAZ;AAEA,SAAKQ,eAAL,CAAqB8C,OAArB,CAA6B,CAACb,KAAD,EAAQD,GAAR,KAAgB;AAC3C,UAAIA,GAAG,KAAKY,cAAZ,EAA4B;AAC1BC,QAAAA,GAAG,CAACtD,CAAJ,IAAS0C,KAAK,CAAC7B,eAAN,CAAsBb,CAA/B;AACAsD,QAAAA,GAAG,CAACrD,CAAJ,IAASyC,KAAK,CAAC7B,eAAN,CAAsBZ,CAA/B;AACD;AACF,KALD;AAOA,WAAOqD,GAAP;AACD;;AAEMF,EAAAA,oBAAoB,CAACC,cAAD,EAA0B;AACnD,UAAMC,GAAG,GAAG;AAAEtD,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KAAZ;AAEA,SAAKQ,eAAL,CAAqB8C,OAArB,CAA6B,CAACb,KAAD,EAAQD,GAAR,KAAgB;AAC3C,UAAIA,GAAG,KAAKY,cAAZ,EAA4B;AAC1BC,QAAAA,GAAG,CAACtD,CAAJ,IAAS0C,KAAK,CAAC5B,cAAN,CAAqBd,CAA9B;AACAsD,QAAAA,GAAG,CAACrD,CAAJ,IAASyC,KAAK,CAAC5B,cAAN,CAAqBb,CAA9B;AACD;AACF,KALD;AAOA,WAAOqD,GAAP;AACD;;AAEME,EAAAA,uBAAuB,GAAW;AACvC,WAAO,KAAK/C,eAAL,CAAqBwC,IAA5B;AACD;;AAEMQ,EAAAA,oBAAoB,GAAa;AACtC,UAAMC,IAAc,GAAG,EAAvB;AAEA,SAAKjD,eAAL,CAAqB8C,OAArB,CAA6B,CAACI,MAAD,EAASlB,GAAT,KAAiB;AAC5CiB,MAAAA,IAAI,CAACE,IAAL,CAAUnB,GAAV;AACD,KAFD;AAIA,WAAOiB,IAAP;AACD;;AAEMG,EAAAA,OAAO,GAAgC;AAC5C,WAAO,KAAKpD,eAAZ;AACD;;AAEMqD,EAAAA,YAAY,GAAS;AAC1B,SAAK9B,eAAL,CAAqB+B,KAArB;AACA,SAAKtD,eAAL,CAAqBuD,KAArB;AACA,SAAK9D,kBAAL,GAA0BC,GAA1B;;AAEA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGR,YAApB,EAAkC,EAAEQ,CAApC,EAAuC;AACrC,WAAKC,cAAL,CAAoBC,GAApB,CAAwBF,CAAxB,EAA2BD,GAA3B;AACD;AACF;;AAEgC,SAAnB8D,mBAAmB,CAC/BC,UAD+B,EAE/BC,UAF+B,EAGtB;AACT,WAAOD,UAAU,CAACE,IAAX,CAAiBzD,SAAD,IAAewD,UAAU,CAACE,QAAX,CAAoB1D,SAApB,CAA/B,CAAP;AACD;;AAnNiC","sourcesContent":["import { AdaptedEvent, Point } from '../interfaces';\nimport VelocityTracker from './VelocityTracker';\n\nexport interface TrackerElement {\n abosoluteCoords: Point;\n relativeCoords: Point;\n timestamp: number;\n velocityX: number;\n velocityY: number;\n}\n\nconst MAX_POINTERS = 20;\n\nexport default class PointerTracker {\n private velocityTracker = new VelocityTracker();\n private trackedPointers: Map<number, TrackerElement> = new Map<\n number,\n TrackerElement\n >();\n\n private touchEventsIds: Map<number, number> = new Map<number, number>();\n\n private lastMovedPointerId: number;\n\n private cachedAbsoluteAverages: Point = { x: 0, y: 0 };\n private cachedRelativeAverages: Point = { x: 0, y: 0 };\n\n public constructor() {\n this.lastMovedPointerId = NaN;\n\n for (let i = 0; i < MAX_POINTERS; ++i) {\n this.touchEventsIds.set(i, NaN);\n }\n }\n\n public addToTracker(event: AdaptedEvent): void {\n if (this.trackedPointers.has(event.pointerId)) {\n return;\n }\n\n this.lastMovedPointerId = event.pointerId;\n\n const newElement: TrackerElement = {\n abosoluteCoords: { x: event.x, y: event.y },\n relativeCoords: { x: event.offsetX, y: event.offsetY },\n timestamp: event.time,\n velocityX: 0,\n velocityY: 0,\n };\n\n this.trackedPointers.set(event.pointerId, newElement);\n this.mapTouchEventId(event.pointerId);\n\n this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();\n this.cachedRelativeAverages = this.getRelativeCoordsAverage();\n }\n\n public removeFromTracker(pointerId: number): void {\n this.trackedPointers.delete(pointerId);\n this.removeMappedTouchId(pointerId);\n }\n\n public track(event: AdaptedEvent): void {\n const element: TrackerElement = this.trackedPointers.get(\n event.pointerId\n ) as TrackerElement;\n\n if (!element) {\n return;\n }\n\n this.lastMovedPointerId = event.pointerId;\n\n this.velocityTracker.add(event);\n const [velocityX, velocityY] = this.velocityTracker.getVelocity();\n\n element.velocityX = velocityX;\n element.velocityY = velocityY;\n\n element.abosoluteCoords = { x: event.x, y: event.y };\n element.relativeCoords = { x: event.offsetX, y: event.offsetY };\n\n this.trackedPointers.set(event.pointerId, element);\n\n this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();\n this.cachedRelativeAverages = this.getRelativeCoordsAverage();\n }\n\n // Mapping TouchEvents ID\n private mapTouchEventId(id: number): void {\n for (const [mappedId, touchId] of this.touchEventsIds) {\n if (isNaN(touchId)) {\n this.touchEventsIds.set(mappedId, id);\n break;\n }\n }\n }\n\n private removeMappedTouchId(id: number): void {\n const mappedId: number = this.getMappedTouchEventId(id);\n if (!isNaN(mappedId)) {\n this.touchEventsIds.set(mappedId, NaN);\n }\n }\n\n public getMappedTouchEventId(touchEventId: number): number {\n for (const [key, value] of this.touchEventsIds.entries()) {\n if (value === touchEventId) {\n return key;\n }\n }\n\n return NaN;\n }\n\n public getVelocity(pointerId: number) {\n return {\n x: this.trackedPointers.get(pointerId)?.velocityX as number,\n y: this.trackedPointers.get(pointerId)?.velocityY as number,\n };\n }\n\n public getLastAbsoluteCoords(pointerId?: number) {\n return this.trackedPointers.get(pointerId ?? this.lastMovedPointerId)\n ?.abosoluteCoords as Point;\n }\n\n public getLastRelativeCoords(pointerId?: number) {\n return this.trackedPointers.get(pointerId ?? this.lastMovedPointerId)\n ?.relativeCoords as Point;\n }\n\n // Some handlers use these methods to send average values in native event.\n // This may happen when pointers have already been removed from tracker (i.e. pointerup event).\n // In situation when NaN would be sent as a response, we return cached value.\n // That prevents handlers from crashing\n\n public getAbsoluteCoordsAverage() {\n const coordsSum = this.getAbsoluteCoordsSum();\n\n const avgX = coordsSum.x / this.trackedPointers.size;\n const avgY = coordsSum.y / this.trackedPointers.size;\n\n const averages = {\n x: isNaN(avgX) ? this.cachedAbsoluteAverages.x : avgX,\n y: isNaN(avgY) ? this.cachedAbsoluteAverages.y : avgY,\n };\n\n return averages;\n }\n\n public getRelativeCoordsAverage() {\n const coordsSum = this.getRelativeCoordsSum();\n\n const avgX = coordsSum.x / this.trackedPointers.size;\n const avgY = coordsSum.y / this.trackedPointers.size;\n\n const averages = {\n x: isNaN(avgX) ? this.cachedRelativeAverages.x : avgX,\n y: isNaN(avgY) ? this.cachedRelativeAverages.y : avgY,\n };\n\n return averages;\n }\n\n public getAbsoluteCoordsSum(ignoredPointer?: number) {\n const sum = { x: 0, y: 0 };\n\n this.trackedPointers.forEach((value, key) => {\n if (key !== ignoredPointer) {\n sum.x += value.abosoluteCoords.x;\n sum.y += value.abosoluteCoords.y;\n }\n });\n\n return sum;\n }\n\n public getRelativeCoordsSum(ignoredPointer?: number) {\n const sum = { x: 0, y: 0 };\n\n this.trackedPointers.forEach((value, key) => {\n if (key !== ignoredPointer) {\n sum.x += value.relativeCoords.x;\n sum.y += value.relativeCoords.y;\n }\n });\n\n return sum;\n }\n\n public getTrackedPointersCount(): number {\n return this.trackedPointers.size;\n }\n\n public getTrackedPointersID(): number[] {\n const keys: number[] = [];\n\n this.trackedPointers.forEach((_value, key) => {\n keys.push(key);\n });\n\n return keys;\n }\n\n public getData(): Map<number, TrackerElement> {\n return this.trackedPointers;\n }\n\n public resetTracker(): void {\n this.velocityTracker.reset();\n this.trackedPointers.clear();\n this.lastMovedPointerId = NaN;\n\n for (let i = 0; i < MAX_POINTERS; ++i) {\n this.touchEventsIds.set(i, NaN);\n }\n }\n\n public static shareCommonPointers(\n stPointers: number[],\n ndPointers: number[]\n ): boolean {\n return stPointers.some((pointerId) => ndPointers.includes(pointerId));\n }\n}\n"]}
|
1
|
+
{"version":3,"names":["VelocityTracker","MAX_POINTERS","PointerTracker","constructor","_defineProperty","Map","x","y","lastMovedPointerId","NaN","i","touchEventsIds","set","addToTracker","event","trackedPointers","has","pointerId","newElement","abosoluteCoords","relativeCoords","offsetX","offsetY","timestamp","time","velocityX","velocityY","mapTouchEventId","cachedAbsoluteAverages","getAbsoluteCoordsAverage","cachedRelativeAverages","getRelativeCoordsAverage","removeFromTracker","delete","removeMappedTouchId","track","element","get","velocityTracker","add","velocity","id","mappedId","touchId","isNaN","getMappedTouchEventId","touchEventId","key","value","entries","getVelocity","_this$trackedPointers","_this$trackedPointers2","getLastAbsoluteCoords","_this$trackedPointers3","getLastRelativeCoords","_this$trackedPointers4","coordsSum","getAbsoluteCoordsSum","avgX","size","avgY","averages","getRelativeCoordsSum","ignoredPointer","sum","forEach","resetTracker","reset","clear","shareCommonPointers","stPointers","ndPointers","some","includes","trackedPointersCount","trackedPointersIDs","keys","_value","push","_trackedPointers"],"sources":["PointerTracker.ts"],"sourcesContent":["import { AdaptedEvent, Point } from '../interfaces';\nimport VelocityTracker from './VelocityTracker';\n\nexport interface TrackerElement {\n abosoluteCoords: Point;\n relativeCoords: Point;\n timestamp: number;\n velocityX: number;\n velocityY: number;\n}\n\nconst MAX_POINTERS = 20;\n\nexport default class PointerTracker {\n private velocityTracker = new VelocityTracker();\n private readonly _trackedPointers: Map<number, TrackerElement> = new Map<\n number,\n TrackerElement\n >();\n\n private touchEventsIds: Map<number, number> = new Map<number, number>();\n\n private lastMovedPointerId: number;\n\n private cachedAbsoluteAverages: Point = { x: 0, y: 0 };\n private cachedRelativeAverages: Point = { x: 0, y: 0 };\n\n public constructor() {\n this.lastMovedPointerId = NaN;\n\n for (let i = 0; i < MAX_POINTERS; ++i) {\n this.touchEventsIds.set(i, NaN);\n }\n }\n\n public addToTracker(event: AdaptedEvent): void {\n if (this.trackedPointers.has(event.pointerId)) {\n return;\n }\n\n this.lastMovedPointerId = event.pointerId;\n\n const newElement: TrackerElement = {\n abosoluteCoords: { x: event.x, y: event.y },\n relativeCoords: { x: event.offsetX, y: event.offsetY },\n timestamp: event.time,\n velocityX: 0,\n velocityY: 0,\n };\n\n this.trackedPointers.set(event.pointerId, newElement);\n this.mapTouchEventId(event.pointerId);\n\n this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();\n this.cachedRelativeAverages = this.getRelativeCoordsAverage();\n }\n\n public removeFromTracker(pointerId: number): void {\n this.trackedPointers.delete(pointerId);\n this.removeMappedTouchId(pointerId);\n }\n\n public track(event: AdaptedEvent): void {\n const element: TrackerElement = this.trackedPointers.get(\n event.pointerId\n ) as TrackerElement;\n\n if (!element) {\n return;\n }\n\n this.lastMovedPointerId = event.pointerId;\n\n this.velocityTracker.add(event);\n const [velocityX, velocityY] = this.velocityTracker.velocity;\n\n element.velocityX = velocityX;\n element.velocityY = velocityY;\n\n element.abosoluteCoords = { x: event.x, y: event.y };\n element.relativeCoords = { x: event.offsetX, y: event.offsetY };\n\n this.trackedPointers.set(event.pointerId, element);\n\n this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();\n this.cachedRelativeAverages = this.getRelativeCoordsAverage();\n }\n\n // Mapping TouchEvents ID\n private mapTouchEventId(id: number): void {\n for (const [mappedId, touchId] of this.touchEventsIds) {\n if (isNaN(touchId)) {\n this.touchEventsIds.set(mappedId, id);\n break;\n }\n }\n }\n\n private removeMappedTouchId(id: number): void {\n const mappedId: number = this.getMappedTouchEventId(id);\n if (!isNaN(mappedId)) {\n this.touchEventsIds.set(mappedId, NaN);\n }\n }\n\n public getMappedTouchEventId(touchEventId: number): number {\n for (const [key, value] of this.touchEventsIds.entries()) {\n if (value === touchEventId) {\n return key;\n }\n }\n\n return NaN;\n }\n\n public getVelocity(pointerId: number) {\n return {\n x: this.trackedPointers.get(pointerId)?.velocityX as number,\n y: this.trackedPointers.get(pointerId)?.velocityY as number,\n };\n }\n\n public getLastAbsoluteCoords(pointerId?: number) {\n return this.trackedPointers.get(pointerId ?? this.lastMovedPointerId)\n ?.abosoluteCoords as Point;\n }\n\n public getLastRelativeCoords(pointerId?: number) {\n return this.trackedPointers.get(pointerId ?? this.lastMovedPointerId)\n ?.relativeCoords as Point;\n }\n\n // Some handlers use these methods to send average values in native event.\n // This may happen when pointers have already been removed from tracker (i.e. pointerup event).\n // In situation when NaN would be sent as a response, we return cached value.\n // That prevents handlers from crashing\n\n public getAbsoluteCoordsAverage() {\n const coordsSum = this.getAbsoluteCoordsSum();\n\n const avgX = coordsSum.x / this.trackedPointers.size;\n const avgY = coordsSum.y / this.trackedPointers.size;\n\n const averages = {\n x: isNaN(avgX) ? this.cachedAbsoluteAverages.x : avgX,\n y: isNaN(avgY) ? this.cachedAbsoluteAverages.y : avgY,\n };\n\n return averages;\n }\n\n public getRelativeCoordsAverage() {\n const coordsSum = this.getRelativeCoordsSum();\n\n const avgX = coordsSum.x / this.trackedPointers.size;\n const avgY = coordsSum.y / this.trackedPointers.size;\n\n const averages = {\n x: isNaN(avgX) ? this.cachedRelativeAverages.x : avgX,\n y: isNaN(avgY) ? this.cachedRelativeAverages.y : avgY,\n };\n\n return averages;\n }\n\n public getAbsoluteCoordsSum(ignoredPointer?: number) {\n const sum = { x: 0, y: 0 };\n\n this.trackedPointers.forEach((value, key) => {\n if (key !== ignoredPointer) {\n sum.x += value.abosoluteCoords.x;\n sum.y += value.abosoluteCoords.y;\n }\n });\n\n return sum;\n }\n\n public getRelativeCoordsSum(ignoredPointer?: number) {\n const sum = { x: 0, y: 0 };\n\n this.trackedPointers.forEach((value, key) => {\n if (key !== ignoredPointer) {\n sum.x += value.relativeCoords.x;\n sum.y += value.relativeCoords.y;\n }\n });\n\n return sum;\n }\n\n public resetTracker(): void {\n this.velocityTracker.reset();\n this.trackedPointers.clear();\n this.lastMovedPointerId = NaN;\n\n for (let i = 0; i < MAX_POINTERS; ++i) {\n this.touchEventsIds.set(i, NaN);\n }\n }\n\n public static shareCommonPointers(\n stPointers: number[],\n ndPointers: number[]\n ): boolean {\n return stPointers.some((pointerId) => ndPointers.includes(pointerId));\n }\n\n public get trackedPointersCount(): number {\n return this.trackedPointers.size;\n }\n\n public get trackedPointersIDs() {\n const keys: number[] = [];\n\n this.trackedPointers.forEach((_value, key) => {\n keys.push(key);\n });\n\n return keys;\n }\n\n public get trackedPointers() {\n return this._trackedPointers;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,19 +1,15 @@
|
|
1
|
-
function _defineProperty(
|
2
|
-
|
1
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
3
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
3
4
|
import { DiagonalDirections, Directions } from '../../Directions';
|
4
5
|
import { MINIMAL_RECOGNIZABLE_MAGNITUDE } from '../constants';
|
5
6
|
export default class Vector {
|
6
7
|
constructor(x, y) {
|
7
8
|
_defineProperty(this, "x", void 0);
|
8
|
-
|
9
9
|
_defineProperty(this, "y", void 0);
|
10
|
-
|
11
10
|
_defineProperty(this, "unitX", void 0);
|
12
|
-
|
13
11
|
_defineProperty(this, "unitY", void 0);
|
14
|
-
|
15
12
|
_defineProperty(this, "_magnitude", void 0);
|
16
|
-
|
17
13
|
this.x = x;
|
18
14
|
this.y = y;
|
19
15
|
this._magnitude = Math.hypot(this.x, this.y);
|
@@ -21,30 +17,23 @@ export default class Vector {
|
|
21
17
|
this.unitX = isMagnitudeSufficient ? this.x / this._magnitude : 0;
|
22
18
|
this.unitY = isMagnitudeSufficient ? this.y / this._magnitude : 0;
|
23
19
|
}
|
24
|
-
|
25
20
|
static fromDirection(direction) {
|
26
21
|
var _DirectionToVectorMap;
|
27
|
-
|
28
22
|
return (_DirectionToVectorMap = DirectionToVectorMappings.get(direction)) !== null && _DirectionToVectorMap !== void 0 ? _DirectionToVectorMap : new Vector(0, 0);
|
29
23
|
}
|
30
|
-
|
31
24
|
static fromVelocity(tracker, pointerId) {
|
32
25
|
const velocity = tracker.getVelocity(pointerId);
|
33
26
|
return new Vector(velocity.x, velocity.y);
|
34
27
|
}
|
35
|
-
|
36
28
|
get magnitude() {
|
37
29
|
return this._magnitude;
|
38
30
|
}
|
39
|
-
|
40
31
|
computeSimilarity(vector) {
|
41
32
|
return this.unitX * vector.unitX + this.unitY * vector.unitY;
|
42
33
|
}
|
43
|
-
|
44
34
|
isSimilar(vector, threshold) {
|
45
35
|
return this.computeSimilarity(vector) > threshold;
|
46
36
|
}
|
47
|
-
|
48
37
|
}
|
49
38
|
const DirectionToVectorMappings = new Map([[Directions.LEFT, new Vector(-1, 0)], [Directions.RIGHT, new Vector(1, 0)], [Directions.UP, new Vector(0, -1)], [Directions.DOWN, new Vector(0, 1)], [DiagonalDirections.UP_RIGHT, new Vector(1, -1)], [DiagonalDirections.DOWN_RIGHT, new Vector(1, 1)], [DiagonalDirections.UP_LEFT, new Vector(-1, -1)], [DiagonalDirections.DOWN_LEFT, new Vector(-1, 1)]]);
|
50
39
|
//# sourceMappingURL=Vector.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["DiagonalDirections","Directions","MINIMAL_RECOGNIZABLE_MAGNITUDE","Vector","constructor","x","y","_defineProperty","_magnitude","Math","hypot","isMagnitudeSufficient","unitX","unitY","fromDirection","direction","_DirectionToVectorMap","DirectionToVectorMappings","get","fromVelocity","tracker","pointerId","velocity","getVelocity","magnitude","computeSimilarity","vector","isSimilar","threshold","Map","LEFT","RIGHT","UP","DOWN","UP_RIGHT","DOWN_RIGHT","UP_LEFT","DOWN_LEFT"],"sources":["Vector.ts"],"sourcesContent":["import { DiagonalDirections, Directions } from '../../Directions';\nimport { MINIMAL_RECOGNIZABLE_MAGNITUDE } from '../constants';\nimport PointerTracker from './PointerTracker';\n\nexport default class Vector {\n private readonly x;\n private readonly y;\n private readonly unitX;\n private readonly unitY;\n private readonly _magnitude;\n\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n\n this._magnitude = Math.hypot(this.x, this.y);\n const isMagnitudeSufficient =\n this._magnitude > MINIMAL_RECOGNIZABLE_MAGNITUDE;\n\n this.unitX = isMagnitudeSufficient ? this.x / this._magnitude : 0;\n this.unitY = isMagnitudeSufficient ? this.y / this._magnitude : 0;\n }\n\n static fromDirection(direction: Directions | DiagonalDirections): Vector {\n return DirectionToVectorMappings.get(direction) ?? new Vector(0, 0);\n }\n\n static fromVelocity(tracker: PointerTracker, pointerId: number) {\n const velocity = tracker.getVelocity(pointerId);\n return new Vector(velocity.x, velocity.y);\n }\n\n public get magnitude() {\n return this._magnitude;\n }\n\n computeSimilarity(vector: Vector) {\n return this.unitX * vector.unitX + this.unitY * vector.unitY;\n }\n\n isSimilar(vector: Vector, threshold: number) {\n return this.computeSimilarity(vector) > threshold;\n }\n}\n\nconst DirectionToVectorMappings = new Map<\n Directions | DiagonalDirections,\n Vector\n>([\n [Directions.LEFT, new Vector(-1, 0)],\n [Directions.RIGHT, new Vector(1, 0)],\n [Directions.UP, new Vector(0, -1)],\n [Directions.DOWN, new Vector(0, 1)],\n\n [DiagonalDirections.UP_RIGHT, new Vector(1, -1)],\n [DiagonalDirections.DOWN_RIGHT, new Vector(1, 1)],\n [DiagonalDirections.UP_LEFT, new Vector(-1, -1)],\n [DiagonalDirections.DOWN_LEFT, new Vector(-1, 1)],\n]);\n"],"mappings":";;;AAAA,SAASA,kBAAkB,EAAEC,UAAU,QAAQ,kBAAkB;AACjE,SAASC,8BAA8B,QAAQ,cAAc;AAG7D,eAAe,MAAMC,MAAM,CAAC;EAO1BC,WAAWA,CAACC,CAAS,EAAEC,CAAS,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAChC,IAAI,CAACF,CAAC,GAAGA,CAAC;IACV,IAAI,CAACC,CAAC,GAAGA,CAAC;IAEV,IAAI,CAACE,UAAU,GAAGC,IAAI,CAACC,KAAK,CAAC,IAAI,CAACL,CAAC,EAAE,IAAI,CAACC,CAAC,CAAC;IAC5C,MAAMK,qBAAqB,GACzB,IAAI,CAACH,UAAU,GAAGN,8BAA8B;IAElD,IAAI,CAACU,KAAK,GAAGD,qBAAqB,GAAG,IAAI,CAACN,CAAC,GAAG,IAAI,CAACG,UAAU,GAAG,CAAC;IACjE,IAAI,CAACK,KAAK,GAAGF,qBAAqB,GAAG,IAAI,CAACL,CAAC,GAAG,IAAI,CAACE,UAAU,GAAG,CAAC;EACnE;EAEA,OAAOM,aAAaA,CAACC,SAA0C,EAAU;IAAA,IAAAC,qBAAA;IACvE,QAAAA,qBAAA,GAAOC,yBAAyB,CAACC,GAAG,CAACH,SAAS,CAAC,cAAAC,qBAAA,cAAAA,qBAAA,GAAI,IAAIb,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;EACrE;EAEA,OAAOgB,YAAYA,CAACC,OAAuB,EAAEC,SAAiB,EAAE;IAC9D,MAAMC,QAAQ,GAAGF,OAAO,CAACG,WAAW,CAACF,SAAS,CAAC;IAC/C,OAAO,IAAIlB,MAAM,CAACmB,QAAQ,CAACjB,CAAC,EAAEiB,QAAQ,CAAChB,CAAC,CAAC;EAC3C;EAEA,IAAWkB,SAASA,CAAA,EAAG;IACrB,OAAO,IAAI,CAAChB,UAAU;EACxB;EAEAiB,iBAAiBA,CAACC,MAAc,EAAE;IAChC,OAAO,IAAI,CAACd,KAAK,GAAGc,MAAM,CAACd,KAAK,GAAG,IAAI,CAACC,KAAK,GAAGa,MAAM,CAACb,KAAK;EAC9D;EAEAc,SAASA,CAACD,MAAc,EAAEE,SAAiB,EAAE;IAC3C,OAAO,IAAI,CAACH,iBAAiB,CAACC,MAAM,CAAC,GAAGE,SAAS;EACnD;AACF;AAEA,MAAMX,yBAAyB,GAAG,IAAIY,GAAG,CAGvC,CACA,CAAC5B,UAAU,CAAC6B,IAAI,EAAE,IAAI3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACpC,CAACF,UAAU,CAAC8B,KAAK,EAAE,IAAI5B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACpC,CAACF,UAAU,CAAC+B,EAAE,EAAE,IAAI7B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAClC,CAACF,UAAU,CAACgC,IAAI,EAAE,IAAI9B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAEnC,CAACH,kBAAkB,CAACkC,QAAQ,EAAE,IAAI/B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAChD,CAACH,kBAAkB,CAACmC,UAAU,EAAE,IAAIhC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACjD,CAACH,kBAAkB,CAACoC,OAAO,EAAE,IAAIjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAChD,CAACH,kBAAkB,CAACqC,SAAS,EAAE,IAAIlC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAClD,CAAC","ignoreList":[]}
|
@@ -1,32 +1,27 @@
|
|
1
|
-
function _defineProperty(
|
2
|
-
|
1
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
3
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
3
4
|
import CircularBuffer from './CircularBuffer';
|
4
5
|
import LeastSquareSolver from './LeastSquareSolver';
|
5
6
|
export default class VelocityTracker {
|
6
7
|
constructor() {
|
7
8
|
_defineProperty(this, "assumePointerMoveStoppedMilliseconds", 40);
|
8
|
-
|
9
9
|
_defineProperty(this, "historySize", 20);
|
10
|
-
|
11
10
|
_defineProperty(this, "horizonMilliseconds", 300);
|
12
|
-
|
13
11
|
_defineProperty(this, "minSampleSize", 3);
|
14
|
-
|
15
12
|
_defineProperty(this, "samples", void 0);
|
16
|
-
|
17
13
|
this.samples = new CircularBuffer(this.historySize);
|
18
14
|
}
|
19
|
-
|
20
15
|
add(event) {
|
21
16
|
this.samples.push(event);
|
22
|
-
}
|
17
|
+
}
|
18
|
+
|
19
|
+
// Returns an estimate of the velocity of the object being tracked by the
|
23
20
|
// tracker given the current information available to the tracker.
|
24
21
|
//
|
25
22
|
// Information is added using [addPosition].
|
26
23
|
//
|
27
24
|
// Returns null if there is no data on which to base an estimate.
|
28
|
-
|
29
|
-
|
30
25
|
getVelocityEstimate() {
|
31
26
|
const x = [];
|
32
27
|
const y = [];
|
@@ -35,24 +30,21 @@ export default class VelocityTracker {
|
|
35
30
|
let sampleCount = 0;
|
36
31
|
let index = this.samples.size - 1;
|
37
32
|
const newestSample = this.samples.get(index);
|
38
|
-
|
39
33
|
if (!newestSample) {
|
40
34
|
return null;
|
41
35
|
}
|
36
|
+
let previousSample = newestSample;
|
42
37
|
|
43
|
-
|
38
|
+
// Starting with the most recent PointAtTime sample, iterate backwards while
|
44
39
|
// the samples represent continuous motion.
|
45
|
-
|
46
40
|
while (sampleCount < this.samples.size) {
|
47
41
|
const sample = this.samples.get(index);
|
48
42
|
const age = newestSample.time - sample.time;
|
49
43
|
const delta = Math.abs(sample.time - previousSample.time);
|
50
44
|
previousSample = sample;
|
51
|
-
|
52
45
|
if (age > this.horizonMilliseconds || delta > this.assumePointerMoveStoppedMilliseconds) {
|
53
46
|
break;
|
54
47
|
}
|
55
|
-
|
56
48
|
x.push(sample.x);
|
57
49
|
y.push(sample.y);
|
58
50
|
w.push(1);
|
@@ -60,15 +52,12 @@ export default class VelocityTracker {
|
|
60
52
|
sampleCount++;
|
61
53
|
index--;
|
62
54
|
}
|
63
|
-
|
64
55
|
if (sampleCount >= this.minSampleSize) {
|
65
56
|
const xSolver = new LeastSquareSolver(time, x, w);
|
66
57
|
const xFit = xSolver.solve(2);
|
67
|
-
|
68
58
|
if (xFit !== null) {
|
69
59
|
const ySolver = new LeastSquareSolver(time, y, w);
|
70
60
|
const yFit = ySolver.solve(2);
|
71
|
-
|
72
61
|
if (yFit !== null) {
|
73
62
|
const xVelocity = xFit.coefficients[1] * 1000;
|
74
63
|
const yVelocity = yFit.coefficients[1] * 1000;
|
@@ -76,23 +65,17 @@ export default class VelocityTracker {
|
|
76
65
|
}
|
77
66
|
}
|
78
67
|
}
|
79
|
-
|
80
68
|
return null;
|
81
69
|
}
|
82
|
-
|
83
|
-
getVelocity() {
|
70
|
+
get velocity() {
|
84
71
|
const estimate = this.getVelocityEstimate();
|
85
|
-
|
86
72
|
if (estimate !== null) {
|
87
73
|
return estimate;
|
88
74
|
}
|
89
|
-
|
90
75
|
return [0, 0];
|
91
76
|
}
|
92
|
-
|
93
77
|
reset() {
|
94
78
|
this.samples.clear();
|
95
79
|
}
|
96
|
-
|
97
80
|
}
|
98
81
|
//# sourceMappingURL=VelocityTracker.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["CircularBuffer","LeastSquareSolver","VelocityTracker","constructor","_defineProperty","samples","historySize","add","event","push","getVelocityEstimate","x","y","w","time","sampleCount","index","size","newestSample","get","previousSample","sample","age","delta","Math","abs","horizonMilliseconds","assumePointerMoveStoppedMilliseconds","minSampleSize","xSolver","xFit","solve","ySolver","yFit","xVelocity","coefficients","yVelocity","velocity","estimate","reset","clear"],"sources":["VelocityTracker.ts"],"sourcesContent":["import { AdaptedEvent } from '../interfaces';\nimport CircularBuffer from './CircularBuffer';\nimport LeastSquareSolver from './LeastSquareSolver';\n\nexport default class VelocityTracker {\n private assumePointerMoveStoppedMilliseconds = 40;\n private historySize = 20;\n private horizonMilliseconds = 300;\n private minSampleSize = 3;\n\n private samples: CircularBuffer<AdaptedEvent>;\n\n constructor() {\n this.samples = new CircularBuffer<AdaptedEvent>(this.historySize);\n }\n\n public add(event: AdaptedEvent): void {\n this.samples.push(event);\n }\n\n // Returns an estimate of the velocity of the object being tracked by the\n // tracker given the current information available to the tracker.\n //\n // Information is added using [addPosition].\n //\n // Returns null if there is no data on which to base an estimate.\n private getVelocityEstimate(): [number, number] | null {\n const x = [];\n const y = [];\n const w = [];\n const time = [];\n\n let sampleCount = 0;\n let index = this.samples.size - 1;\n const newestSample = this.samples.get(index);\n if (!newestSample) {\n return null;\n }\n\n let previousSample = newestSample;\n\n // Starting with the most recent PointAtTime sample, iterate backwards while\n // the samples represent continuous motion.\n while (sampleCount < this.samples.size) {\n const sample = this.samples.get(index);\n\n const age = newestSample.time - sample.time;\n const delta = Math.abs(sample.time - previousSample.time);\n previousSample = sample;\n\n if (\n age > this.horizonMilliseconds ||\n delta > this.assumePointerMoveStoppedMilliseconds\n ) {\n break;\n }\n\n x.push(sample.x);\n y.push(sample.y);\n w.push(1);\n time.push(-age);\n\n sampleCount++;\n index--;\n }\n\n if (sampleCount >= this.minSampleSize) {\n const xSolver = new LeastSquareSolver(time, x, w);\n const xFit = xSolver.solve(2);\n\n if (xFit !== null) {\n const ySolver = new LeastSquareSolver(time, y, w);\n const yFit = ySolver.solve(2);\n\n if (yFit !== null) {\n const xVelocity = xFit.coefficients[1] * 1000;\n const yVelocity = yFit.coefficients[1] * 1000;\n\n return [xVelocity, yVelocity];\n }\n }\n }\n\n return null;\n }\n\n public get velocity(): [number, number] {\n const estimate = this.getVelocityEstimate();\n if (estimate !== null) {\n return estimate;\n }\n return [0, 0];\n }\n\n public reset(): void {\n this.samples.clear();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,24 +1,22 @@
|
|
1
|
-
function _defineProperty(
|
2
|
-
|
1
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
3
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
3
4
|
import EventManager from './EventManager';
|
4
5
|
import { EventTypes } from '../interfaces';
|
5
6
|
import { PointerType } from '../../PointerType';
|
6
7
|
export default class WheelEventManager extends EventManager {
|
7
8
|
constructor(...args) {
|
8
9
|
super(...args);
|
9
|
-
|
10
10
|
_defineProperty(this, "wheelDelta", {
|
11
11
|
x: 0,
|
12
12
|
y: 0
|
13
13
|
});
|
14
|
-
|
15
14
|
_defineProperty(this, "resetDelta", _event => {
|
16
15
|
this.wheelDelta = {
|
17
16
|
x: 0,
|
18
17
|
y: 0
|
19
18
|
};
|
20
19
|
});
|
21
|
-
|
22
20
|
_defineProperty(this, "wheelCallback", event => {
|
23
21
|
this.wheelDelta.x += event.deltaX;
|
24
22
|
this.wheelDelta.y += event.deltaY;
|
@@ -26,17 +24,14 @@ export default class WheelEventManager extends EventManager {
|
|
26
24
|
this.onWheel(adaptedEvent);
|
27
25
|
});
|
28
26
|
}
|
29
|
-
|
30
27
|
registerListeners() {
|
31
28
|
this.view.addEventListener('pointermove', this.resetDelta);
|
32
29
|
this.view.addEventListener('wheel', this.wheelCallback);
|
33
30
|
}
|
34
|
-
|
35
31
|
unregisterListeners() {
|
36
32
|
this.view.removeEventListener('pointermove', this.resetDelta);
|
37
33
|
this.view.removeEventListener('wheel', this.wheelCallback);
|
38
34
|
}
|
39
|
-
|
40
35
|
mapEvent(event) {
|
41
36
|
return {
|
42
37
|
x: event.clientX + this.wheelDelta.x,
|
@@ -51,10 +46,8 @@ export default class WheelEventManager extends EventManager {
|
|
51
46
|
wheelDeltaY: event.wheelDeltaY
|
52
47
|
};
|
53
48
|
}
|
54
|
-
|
55
49
|
resetManager() {
|
56
50
|
super.resetManager();
|
57
51
|
}
|
58
|
-
|
59
52
|
}
|
60
53
|
//# sourceMappingURL=WheelEventManager.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["EventManager","EventTypes","PointerType","WheelEventManager","constructor","args","_defineProperty","x","y","_event","wheelDelta","event","deltaX","deltaY","adaptedEvent","mapEvent","onWheel","registerListeners","view","addEventListener","resetDelta","wheelCallback","unregisterListeners","removeEventListener","clientX","clientY","offsetX","offsetY","pointerId","eventType","MOVE","pointerType","OTHER","time","timeStamp","wheelDeltaY","resetManager"],"sources":["WheelEventManager.ts"],"sourcesContent":["import EventManager from './EventManager';\nimport { AdaptedEvent, EventTypes } from '../interfaces';\nimport { PointerType } from '../../PointerType';\n\nexport default class WheelEventManager extends EventManager<HTMLElement> {\n private wheelDelta = { x: 0, y: 0 };\n\n private resetDelta = (_event: PointerEvent) => {\n this.wheelDelta = { x: 0, y: 0 };\n };\n\n private wheelCallback = (event: WheelEvent) => {\n this.wheelDelta.x += event.deltaX;\n this.wheelDelta.y += event.deltaY;\n\n const adaptedEvent = this.mapEvent(event);\n this.onWheel(adaptedEvent);\n };\n\n public registerListeners(): void {\n this.view.addEventListener('pointermove', this.resetDelta);\n this.view.addEventListener('wheel', this.wheelCallback);\n }\n\n public unregisterListeners(): void {\n this.view.removeEventListener('pointermove', this.resetDelta);\n this.view.removeEventListener('wheel', this.wheelCallback);\n }\n\n protected mapEvent(event: WheelEvent): AdaptedEvent {\n return {\n x: event.clientX + this.wheelDelta.x,\n y: event.clientY + this.wheelDelta.y,\n offsetX: event.offsetX - event.deltaX,\n offsetY: event.offsetY - event.deltaY,\n pointerId: -1,\n eventType: EventTypes.MOVE,\n pointerType: PointerType.OTHER,\n time: event.timeStamp,\n // @ts-ignore It does exist, but it's deprecated\n wheelDeltaY: event.wheelDeltaY,\n };\n }\n\n public resetManager(): void {\n super.resetManager();\n }\n}\n"],"mappings":";;;AAAA,OAAOA,YAAY,MAAM,gBAAgB;AACzC,SAAuBC,UAAU,QAAQ,eAAe;AACxD,SAASC,WAAW,QAAQ,mBAAmB;AAE/C,eAAe,MAAMC,iBAAiB,SAASH,YAAY,CAAc;EAAAI,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,qBAClD;MAAEC,CAAC,EAAE,CAAC;MAAEC,CAAC,EAAE;IAAE,CAAC;IAAAF,eAAA,qBAEbG,MAAoB,IAAK;MAC7C,IAAI,CAACC,UAAU,GAAG;QAAEH,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAE,CAAC;IAClC,CAAC;IAAAF,eAAA,wBAEwBK,KAAiB,IAAK;MAC7C,IAAI,CAACD,UAAU,CAACH,CAAC,IAAII,KAAK,CAACC,MAAM;MACjC,IAAI,CAACF,UAAU,CAACF,CAAC,IAAIG,KAAK,CAACE,MAAM;MAEjC,MAAMC,YAAY,GAAG,IAAI,CAACC,QAAQ,CAACJ,KAAK,CAAC;MACzC,IAAI,CAACK,OAAO,CAACF,YAAY,CAAC;IAC5B,CAAC;EAAA;EAEMG,iBAAiBA,CAAA,EAAS;IAC/B,IAAI,CAACC,IAAI,CAACC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAACC,UAAU,CAAC;IAC1D,IAAI,CAACF,IAAI,CAACC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAACE,aAAa,CAAC;EACzD;EAEOC,mBAAmBA,CAAA,EAAS;IACjC,IAAI,CAACJ,IAAI,CAACK,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAACH,UAAU,CAAC;IAC7D,IAAI,CAACF,IAAI,CAACK,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAACF,aAAa,CAAC;EAC5D;EAEUN,QAAQA,CAACJ,KAAiB,EAAgB;IAClD,OAAO;MACLJ,CAAC,EAAEI,KAAK,CAACa,OAAO,GAAG,IAAI,CAACd,UAAU,CAACH,CAAC;MACpCC,CAAC,EAAEG,KAAK,CAACc,OAAO,GAAG,IAAI,CAACf,UAAU,CAACF,CAAC;MACpCkB,OAAO,EAAEf,KAAK,CAACe,OAAO,GAAGf,KAAK,CAACC,MAAM;MACrCe,OAAO,EAAEhB,KAAK,CAACgB,OAAO,GAAGhB,KAAK,CAACE,MAAM;MACrCe,SAAS,EAAE,CAAC,CAAC;MACbC,SAAS,EAAE5B,UAAU,CAAC6B,IAAI;MAC1BC,WAAW,EAAE7B,WAAW,CAAC8B,KAAK;MAC9BC,IAAI,EAAEtB,KAAK,CAACuB,SAAS;MACrB;MACAC,WAAW,EAAExB,KAAK,CAACwB;IACrB,CAAC;EACH;EAEOC,YAAYA,CAAA,EAAS;IAC1B,KAAK,CAACA,YAAY,CAAC,CAAC;EACtB;AACF","ignoreList":[]}
|