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
|
@@ -4,48 +4,78 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var React =
|
|
9
|
-
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var React = _react;
|
|
10
9
|
var _invariant = _interopRequireDefault(require("invariant"));
|
|
11
|
-
|
|
12
10
|
var _reactNative = require("react-native");
|
|
13
|
-
|
|
14
11
|
var _PanGestureHandler = require("../handlers/PanGestureHandler");
|
|
15
|
-
|
|
16
12
|
var _TapGestureHandler = require("../handlers/TapGestureHandler");
|
|
17
|
-
|
|
18
13
|
var _State = require("../State");
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
|
+
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; }
|
|
18
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
19
|
+
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); } // This component is based on RN's DrawerLayoutAndroid API
|
|
20
|
+
//
|
|
21
|
+
// It perhaps deserves to be put in a separate repo, but since it relies on
|
|
22
|
+
// react-native-gesture-handler library which isn't very popular at the moment I
|
|
23
|
+
// decided to keep it here for the time being. It will allow us to move faster
|
|
24
|
+
// and fix issues that may arise in gesture handler library that could be found
|
|
25
|
+
// when using the drawer component
|
|
26
|
+
const DRAG_TOSS = 0.05;
|
|
27
|
+
const IDLE = 'Idle';
|
|
28
|
+
const DRAGGING = 'Dragging';
|
|
29
|
+
const SETTLING = 'Settling';
|
|
19
30
|
|
|
20
|
-
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
|
|
33
|
+
*/
|
|
21
34
|
|
|
22
|
-
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
|
|
37
|
+
*/
|
|
23
38
|
|
|
24
|
-
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
|
|
41
|
+
*/
|
|
25
42
|
|
|
26
|
-
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
|
|
45
|
+
*/
|
|
27
46
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
47
|
+
/**
|
|
48
|
+
* @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
// Animated.AnimatedInterpolation has been converted to a generic type
|
|
52
|
+
// in @types/react-native 0.70. This way we can maintain compatibility
|
|
53
|
+
// with all versions of @types/react-native`
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
|
|
61
|
+
*/
|
|
32
62
|
|
|
33
|
-
|
|
63
|
+
/**
|
|
64
|
+
* @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
|
|
65
|
+
*/
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* @deprecated use Reanimated version of DrawerLayout instead
|
|
69
|
+
*/
|
|
70
|
+
class DrawerLayout extends _react.Component {
|
|
34
71
|
constructor(_props) {
|
|
35
72
|
super(_props);
|
|
36
|
-
|
|
37
73
|
_defineProperty(this, "openValue", void 0);
|
|
38
|
-
|
|
39
74
|
_defineProperty(this, "onGestureEvent", void 0);
|
|
40
|
-
|
|
41
75
|
_defineProperty(this, "accessibilityIsModalView", /*#__PURE__*/React.createRef());
|
|
42
|
-
|
|
43
76
|
_defineProperty(this, "pointerEventsView", /*#__PURE__*/React.createRef());
|
|
44
|
-
|
|
45
77
|
_defineProperty(this, "panGestureHandler", /*#__PURE__*/React.createRef());
|
|
46
|
-
|
|
47
78
|
_defineProperty(this, "drawerShown", false);
|
|
48
|
-
|
|
49
79
|
_defineProperty(this, "updateAnimatedEvent", (props, state) => {
|
|
50
80
|
// Event definition is based on
|
|
51
81
|
const {
|
|
@@ -61,7 +91,6 @@ class DrawerLayout extends React.Component {
|
|
|
61
91
|
} = state;
|
|
62
92
|
let dragX = dragXValue;
|
|
63
93
|
let touchX = touchXValue;
|
|
64
|
-
|
|
65
94
|
if (drawerPosition !== 'left') {
|
|
66
95
|
// Most of the code is written in a way to handle left-side drawer. In
|
|
67
96
|
// order to handle right-side drawer the only thing we need to do is to
|
|
@@ -70,13 +99,13 @@ class DrawerLayout extends React.Component {
|
|
|
70
99
|
// calulcated by subtracing real touchX from the width of the container
|
|
71
100
|
// (such that when touch happens at the right edge the value is simply 0)
|
|
72
101
|
dragX = _reactNative.Animated.multiply(new _reactNative.Animated.Value(-1), dragXValue); // TODO(TS): (for all "as" in this file) make sure we can map this
|
|
73
|
-
|
|
74
102
|
touchX = _reactNative.Animated.add(new _reactNative.Animated.Value(containerWidth), _reactNative.Animated.multiply(new _reactNative.Animated.Value(-1), touchXValue)); // TODO(TS): make sure we can map this;
|
|
75
|
-
|
|
76
103
|
touchXValue.setValue(containerWidth);
|
|
77
104
|
} else {
|
|
78
105
|
touchXValue.setValue(0);
|
|
79
|
-
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// While closing the drawer when user starts gesture outside of its area (in greyed
|
|
80
109
|
// out part of the window), we want the drawer to follow only once finger reaches the
|
|
81
110
|
// edge of the drawer.
|
|
82
111
|
// E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by
|
|
@@ -101,20 +130,15 @@ class DrawerLayout extends React.Component {
|
|
|
101
130
|
//
|
|
102
131
|
// This is used only when drawerType is "front"
|
|
103
132
|
//
|
|
104
|
-
|
|
105
|
-
|
|
106
133
|
let translationX = dragX;
|
|
107
|
-
|
|
108
134
|
if (drawerType === 'front') {
|
|
109
135
|
const startPositionX = _reactNative.Animated.add(touchX, _reactNative.Animated.multiply(new _reactNative.Animated.Value(-1), dragX));
|
|
110
|
-
|
|
111
136
|
const dragOffsetFromOnStartPosition = startPositionX.interpolate({
|
|
112
137
|
inputRange: [drawerWidth - 1, drawerWidth, drawerWidth + 1],
|
|
113
138
|
outputRange: [0, 0, 1]
|
|
114
139
|
});
|
|
115
140
|
translationX = _reactNative.Animated.add(dragX, dragOffsetFromOnStartPosition); // TODO: as above
|
|
116
141
|
}
|
|
117
|
-
|
|
118
142
|
this.openValue = _reactNative.Animated.add(translationX, drawerTranslation).interpolate({
|
|
119
143
|
inputRange: [0, drawerWidth],
|
|
120
144
|
outputRange: [0, 1],
|
|
@@ -123,17 +147,14 @@ class DrawerLayout extends React.Component {
|
|
|
123
147
|
const gestureOptions = {
|
|
124
148
|
useNativeDriver: props.useNativeAnimations
|
|
125
149
|
};
|
|
126
|
-
|
|
127
150
|
if (this.props.onDrawerSlide) {
|
|
128
151
|
gestureOptions.listener = ev => {
|
|
129
152
|
var _this$props$onDrawerS, _this$props;
|
|
130
|
-
|
|
131
153
|
const translationX = Math.floor(Math.abs(ev.nativeEvent.translationX));
|
|
132
154
|
const position = translationX / this.state.containerWidth;
|
|
133
|
-
(_this$props$onDrawerS = (_this$props = this.props).onDrawerSlide) === null || _this$props$onDrawerS === void 0
|
|
155
|
+
(_this$props$onDrawerS = (_this$props = this.props).onDrawerSlide) === null || _this$props$onDrawerS === void 0 || _this$props$onDrawerS.call(_this$props, position);
|
|
134
156
|
};
|
|
135
157
|
}
|
|
136
|
-
|
|
137
158
|
this.onGestureEvent = _reactNative.Animated.event([{
|
|
138
159
|
nativeEvent: {
|
|
139
160
|
translationX: dragXValue,
|
|
@@ -141,7 +162,6 @@ class DrawerLayout extends React.Component {
|
|
|
141
162
|
}
|
|
142
163
|
}], gestureOptions);
|
|
143
164
|
});
|
|
144
|
-
|
|
145
165
|
_defineProperty(this, "handleContainerLayout", ({
|
|
146
166
|
nativeEvent
|
|
147
167
|
}) => {
|
|
@@ -149,13 +169,10 @@ class DrawerLayout extends React.Component {
|
|
|
149
169
|
containerWidth: nativeEvent.layout.width
|
|
150
170
|
});
|
|
151
171
|
});
|
|
152
|
-
|
|
153
172
|
_defineProperty(this, "emitStateChanged", (newState, drawerWillShow) => {
|
|
154
173
|
var _this$props$onDrawerS2, _this$props2;
|
|
155
|
-
|
|
156
|
-
(_this$props$onDrawerS2 = (_this$props2 = this.props).onDrawerStateChanged) === null || _this$props$onDrawerS2 === void 0 ? void 0 : _this$props$onDrawerS2.call(_this$props2, newState, drawerWillShow);
|
|
174
|
+
(_this$props$onDrawerS2 = (_this$props2 = this.props).onDrawerStateChanged) === null || _this$props$onDrawerS2 === void 0 || _this$props$onDrawerS2.call(_this$props2, newState, drawerWillShow);
|
|
157
175
|
});
|
|
158
|
-
|
|
159
176
|
_defineProperty(this, "openingHandlerStateChange", ({
|
|
160
177
|
nativeEvent
|
|
161
178
|
}) => {
|
|
@@ -168,17 +185,14 @@ class DrawerLayout extends React.Component {
|
|
|
168
185
|
this.setState({
|
|
169
186
|
drawerState: DRAGGING
|
|
170
187
|
});
|
|
171
|
-
|
|
172
188
|
if (this.props.keyboardDismissMode === 'on-drag') {
|
|
173
189
|
_reactNative.Keyboard.dismiss();
|
|
174
190
|
}
|
|
175
|
-
|
|
176
191
|
if (this.props.hideStatusBar) {
|
|
177
192
|
_reactNative.StatusBar.setHidden(true, this.props.statusBarAnimation || 'slide');
|
|
178
193
|
}
|
|
179
194
|
}
|
|
180
195
|
});
|
|
181
|
-
|
|
182
196
|
_defineProperty(this, "onTapHandlerStateChange", ({
|
|
183
197
|
nativeEvent
|
|
184
198
|
}) => {
|
|
@@ -186,7 +200,6 @@ class DrawerLayout extends React.Component {
|
|
|
186
200
|
this.closeDrawer();
|
|
187
201
|
}
|
|
188
202
|
});
|
|
189
|
-
|
|
190
203
|
_defineProperty(this, "handleRelease", ({
|
|
191
204
|
nativeEvent
|
|
192
205
|
}) => {
|
|
@@ -203,7 +216,6 @@ class DrawerLayout extends React.Component {
|
|
|
203
216
|
velocityX,
|
|
204
217
|
x: touchX
|
|
205
218
|
} = nativeEvent;
|
|
206
|
-
|
|
207
219
|
if (drawerPosition !== 'left') {
|
|
208
220
|
// See description in _updateAnimatedEvent about why events are flipped
|
|
209
221
|
// for right-side drawer
|
|
@@ -211,33 +223,27 @@ class DrawerLayout extends React.Component {
|
|
|
211
223
|
touchX = containerWidth - touchX;
|
|
212
224
|
velocityX = -velocityX;
|
|
213
225
|
}
|
|
214
|
-
|
|
215
226
|
const gestureStartX = touchX - dragX;
|
|
216
227
|
let dragOffsetBasedOnStart = 0;
|
|
217
|
-
|
|
218
228
|
if (drawerType === 'front') {
|
|
219
229
|
dragOffsetBasedOnStart = gestureStartX > drawerWidth ? gestureStartX - drawerWidth : 0;
|
|
220
230
|
}
|
|
221
|
-
|
|
222
231
|
const startOffsetX = dragX + dragOffsetBasedOnStart + (this.drawerShown ? drawerWidth : 0);
|
|
223
232
|
const projOffsetX = startOffsetX + DRAG_TOSS * velocityX;
|
|
224
233
|
const shouldOpen = projOffsetX > drawerWidth / 2;
|
|
225
|
-
|
|
226
234
|
if (shouldOpen) {
|
|
227
235
|
this.animateDrawer(startOffsetX, drawerWidth, velocityX);
|
|
228
236
|
} else {
|
|
229
237
|
this.animateDrawer(startOffsetX, 0, velocityX);
|
|
230
238
|
}
|
|
231
239
|
});
|
|
232
|
-
|
|
233
240
|
_defineProperty(this, "updateShowing", showing => {
|
|
234
241
|
var _this$accessibilityIs, _this$pointerEventsVi, _this$panGestureHandl;
|
|
235
|
-
|
|
236
242
|
this.drawerShown = showing;
|
|
237
|
-
(_this$accessibilityIs = this.accessibilityIsModalView.current) === null || _this$accessibilityIs === void 0
|
|
243
|
+
(_this$accessibilityIs = this.accessibilityIsModalView.current) === null || _this$accessibilityIs === void 0 || _this$accessibilityIs.setNativeProps({
|
|
238
244
|
accessibilityViewIsModal: showing
|
|
239
245
|
});
|
|
240
|
-
(_this$pointerEventsVi = this.pointerEventsView.current) === null || _this$pointerEventsVi === void 0
|
|
246
|
+
(_this$pointerEventsVi = this.pointerEventsView.current) === null || _this$pointerEventsVi === void 0 || _this$pointerEventsVi.setNativeProps({
|
|
241
247
|
pointerEvents: showing ? 'auto' : 'none'
|
|
242
248
|
});
|
|
243
249
|
const {
|
|
@@ -245,35 +251,32 @@ class DrawerLayout extends React.Component {
|
|
|
245
251
|
minSwipeDistance,
|
|
246
252
|
edgeWidth
|
|
247
253
|
} = this.props;
|
|
248
|
-
const fromLeft = drawerPosition === 'left';
|
|
254
|
+
const fromLeft = drawerPosition === 'left';
|
|
255
|
+
// gestureOrientation is 1 if the expected gesture is from left to right and
|
|
249
256
|
// -1 otherwise e.g. when drawer is on the left and is closed we expect left
|
|
250
257
|
// to right gesture, thus orientation will be 1.
|
|
251
|
-
|
|
252
|
-
|
|
258
|
+
const gestureOrientation = (fromLeft ? 1 : -1) * (this.drawerShown ? -1 : 1);
|
|
259
|
+
// When drawer is closed we want the hitSlop to be horizontally shorter than
|
|
253
260
|
// the container size by the value of SLOP. This will make it only activate
|
|
254
261
|
// when gesture happens not further than SLOP away from the edge
|
|
255
|
-
|
|
256
262
|
const hitSlop = fromLeft ? {
|
|
257
263
|
left: 0,
|
|
258
264
|
width: showing ? undefined : edgeWidth
|
|
259
265
|
} : {
|
|
260
266
|
right: 0,
|
|
261
267
|
width: showing ? undefined : edgeWidth
|
|
262
|
-
};
|
|
263
|
-
|
|
264
|
-
(_this$panGestureHandl = this.panGestureHandler.current) === null || _this$panGestureHandl === void 0
|
|
268
|
+
};
|
|
269
|
+
// @ts-ignore internal API, maybe could be fixed in handler types
|
|
270
|
+
(_this$panGestureHandl = this.panGestureHandler.current) === null || _this$panGestureHandl === void 0 || _this$panGestureHandl.setNativeProps({
|
|
265
271
|
hitSlop,
|
|
266
272
|
activeOffsetX: gestureOrientation * minSwipeDistance
|
|
267
273
|
});
|
|
268
274
|
});
|
|
269
|
-
|
|
270
275
|
_defineProperty(this, "animateDrawer", (fromValue, toValue, velocity, speed) => {
|
|
271
276
|
this.state.dragX.setValue(0);
|
|
272
277
|
this.state.touchX.setValue(this.props.drawerPosition === 'left' ? 0 : this.state.containerWidth);
|
|
273
|
-
|
|
274
278
|
if (fromValue != null) {
|
|
275
279
|
let nextFramePosition = fromValue;
|
|
276
|
-
|
|
277
280
|
if (this.props.useNativeAnimations) {
|
|
278
281
|
// When using native driver, we predict the next position of the
|
|
279
282
|
// animation because it takes one frame of a roundtrip to pass RELEASE
|
|
@@ -285,21 +288,17 @@ class DrawerLayout extends React.Component {
|
|
|
285
288
|
nextFramePosition = Math.max(fromValue + velocity / 60.0, toValue);
|
|
286
289
|
}
|
|
287
290
|
}
|
|
288
|
-
|
|
289
291
|
this.state.drawerTranslation.setValue(nextFramePosition);
|
|
290
292
|
}
|
|
291
|
-
|
|
292
293
|
const willShow = toValue !== 0;
|
|
293
294
|
this.updateShowing(willShow);
|
|
294
295
|
this.emitStateChanged(SETTLING, willShow);
|
|
295
296
|
this.setState({
|
|
296
297
|
drawerState: SETTLING
|
|
297
298
|
});
|
|
298
|
-
|
|
299
299
|
if (this.props.hideStatusBar) {
|
|
300
300
|
_reactNative.StatusBar.setHidden(willShow, this.props.statusBarAnimation || 'slide');
|
|
301
301
|
}
|
|
302
|
-
|
|
303
302
|
_reactNative.Animated.spring(this.state.drawerTranslation, {
|
|
304
303
|
velocity,
|
|
305
304
|
bounciness: 0,
|
|
@@ -314,7 +313,6 @@ class DrawerLayout extends React.Component {
|
|
|
314
313
|
this.setState({
|
|
315
314
|
drawerOpened: willShow
|
|
316
315
|
});
|
|
317
|
-
|
|
318
316
|
if (this.state.drawerState !== DRAGGING) {
|
|
319
317
|
// It's possilbe that user started drag while the drawer
|
|
320
318
|
// was settling, don't override state in this case
|
|
@@ -322,47 +320,42 @@ class DrawerLayout extends React.Component {
|
|
|
322
320
|
drawerState: IDLE
|
|
323
321
|
});
|
|
324
322
|
}
|
|
325
|
-
|
|
326
323
|
if (willShow) {
|
|
327
324
|
var _this$props$onDrawerO, _this$props3;
|
|
328
|
-
|
|
329
|
-
(_this$props$onDrawerO = (_this$props3 = this.props).onDrawerOpen) === null || _this$props$onDrawerO === void 0 ? void 0 : _this$props$onDrawerO.call(_this$props3);
|
|
325
|
+
(_this$props$onDrawerO = (_this$props3 = this.props).onDrawerOpen) === null || _this$props$onDrawerO === void 0 || _this$props$onDrawerO.call(_this$props3);
|
|
330
326
|
} else {
|
|
331
327
|
var _this$props$onDrawerC, _this$props4;
|
|
332
|
-
|
|
333
|
-
(_this$props$onDrawerC = (_this$props4 = this.props).onDrawerClose) === null || _this$props$onDrawerC === void 0 ? void 0 : _this$props$onDrawerC.call(_this$props4);
|
|
328
|
+
(_this$props$onDrawerC = (_this$props4 = this.props).onDrawerClose) === null || _this$props$onDrawerC === void 0 || _this$props$onDrawerC.call(_this$props4);
|
|
334
329
|
}
|
|
335
330
|
}
|
|
336
331
|
});
|
|
337
332
|
});
|
|
338
|
-
|
|
339
333
|
_defineProperty(this, "openDrawer", (options = {}) => {
|
|
340
|
-
this.animateDrawer(
|
|
341
|
-
|
|
342
|
-
|
|
334
|
+
this.animateDrawer(
|
|
335
|
+
// TODO: decide if it should be null or undefined is the proper value
|
|
336
|
+
undefined, this.props.drawerWidth, options.velocity ? options.velocity : 0, options.speed);
|
|
343
337
|
|
|
338
|
+
// We need to force the update, otherwise the overlay is not rerendered and
|
|
339
|
+
// it would not be clickable
|
|
344
340
|
this.forceUpdate();
|
|
345
341
|
});
|
|
346
|
-
|
|
347
342
|
_defineProperty(this, "closeDrawer", (options = {}) => {
|
|
348
343
|
// TODO: decide if it should be null or undefined is the proper value
|
|
349
|
-
this.animateDrawer(undefined, 0, options.velocity ? options.velocity : 0, options.speed);
|
|
350
|
-
// it would be still clickable
|
|
344
|
+
this.animateDrawer(undefined, 0, options.velocity ? options.velocity : 0, options.speed);
|
|
351
345
|
|
|
346
|
+
// We need to force the update, otherwise the overlay is not rerendered and
|
|
347
|
+
// it would be still clickable
|
|
352
348
|
this.forceUpdate();
|
|
353
349
|
});
|
|
354
|
-
|
|
355
350
|
_defineProperty(this, "renderOverlay", () => {
|
|
356
351
|
/* Overlay styles */
|
|
357
352
|
(0, _invariant.default)(this.openValue, 'should be set');
|
|
358
353
|
let overlayOpacity;
|
|
359
|
-
|
|
360
354
|
if (this.state.drawerState !== IDLE) {
|
|
361
355
|
overlayOpacity = this.openValue;
|
|
362
356
|
} else {
|
|
363
357
|
overlayOpacity = this.state.drawerOpened ? 1 : 0;
|
|
364
358
|
}
|
|
365
|
-
|
|
366
359
|
const dynamicOverlayStyles = {
|
|
367
360
|
opacity: overlayOpacity,
|
|
368
361
|
backgroundColor: this.props.overlayColor
|
|
@@ -375,7 +368,6 @@ class DrawerLayout extends React.Component {
|
|
|
375
368
|
style: [styles.overlay, dynamicOverlayStyles]
|
|
376
369
|
}));
|
|
377
370
|
});
|
|
378
|
-
|
|
379
371
|
_defineProperty(this, "renderDrawer", () => {
|
|
380
372
|
const {
|
|
381
373
|
drawerBackgroundColor,
|
|
@@ -387,11 +379,12 @@ class DrawerLayout extends React.Component {
|
|
|
387
379
|
} = this.props;
|
|
388
380
|
const fromLeft = drawerPosition === 'left';
|
|
389
381
|
const drawerSlide = drawerType !== 'back';
|
|
390
|
-
const containerSlide = drawerType !== 'front';
|
|
382
|
+
const containerSlide = drawerType !== 'front';
|
|
383
|
+
|
|
384
|
+
// We rely on row and row-reverse flex directions to position the drawer
|
|
391
385
|
// properly. Apparently for RTL these are flipped which requires us to use
|
|
392
386
|
// the opposite setting for the drawer to appear from left or right
|
|
393
387
|
// according to the drawerPosition prop
|
|
394
|
-
|
|
395
388
|
const reverseContentDirection = _reactNative.I18nManager.isRTL ? fromLeft : !fromLeft;
|
|
396
389
|
const dynamicDrawerStyles = {
|
|
397
390
|
backgroundColor: drawerBackgroundColor,
|
|
@@ -400,7 +393,6 @@ class DrawerLayout extends React.Component {
|
|
|
400
393
|
const openValue = this.openValue;
|
|
401
394
|
(0, _invariant.default)(openValue, 'should be set');
|
|
402
395
|
let containerStyles;
|
|
403
|
-
|
|
404
396
|
if (containerSlide) {
|
|
405
397
|
const containerTranslateX = openValue.interpolate({
|
|
406
398
|
inputRange: [0, 1],
|
|
@@ -413,12 +405,9 @@ class DrawerLayout extends React.Component {
|
|
|
413
405
|
}]
|
|
414
406
|
};
|
|
415
407
|
}
|
|
416
|
-
|
|
417
408
|
let drawerTranslateX = 0;
|
|
418
|
-
|
|
419
409
|
if (drawerSlide) {
|
|
420
410
|
const closedDrawerOffset = fromLeft ? -drawerWidth : drawerWidth;
|
|
421
|
-
|
|
422
411
|
if (this.state.drawerState !== IDLE) {
|
|
423
412
|
drawerTranslateX = openValue.interpolate({
|
|
424
413
|
inputRange: [0, 1],
|
|
@@ -429,7 +418,6 @@ class DrawerLayout extends React.Component {
|
|
|
429
418
|
drawerTranslateX = this.state.drawerOpened ? 0 : closedDrawerOffset;
|
|
430
419
|
}
|
|
431
420
|
}
|
|
432
|
-
|
|
433
421
|
const drawerStyles = {
|
|
434
422
|
transform: [{
|
|
435
423
|
translateX: drawerTranslateX
|
|
@@ -451,22 +439,16 @@ class DrawerLayout extends React.Component {
|
|
|
451
439
|
style: dynamicDrawerStyles
|
|
452
440
|
}, this.props.renderNavigationView(this.openValue))));
|
|
453
441
|
});
|
|
454
|
-
|
|
455
442
|
_defineProperty(this, "setPanGestureRef", ref => {
|
|
456
443
|
var _this$props$onGesture, _this$props5;
|
|
457
|
-
|
|
458
444
|
// TODO(TS): make sure it is OK taken from
|
|
459
445
|
// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065#issuecomment-596081842
|
|
460
446
|
this.panGestureHandler.current = ref;
|
|
461
|
-
(_this$props$onGesture = (_this$props5 = this.props).onGestureRef) === null || _this$props$onGesture === void 0
|
|
447
|
+
(_this$props$onGesture = (_this$props5 = this.props).onGestureRef) === null || _this$props$onGesture === void 0 || _this$props$onGesture.call(_this$props5, ref);
|
|
462
448
|
});
|
|
463
|
-
|
|
464
449
|
const _dragX = new _reactNative.Animated.Value(0);
|
|
465
|
-
|
|
466
450
|
const _touchX = new _reactNative.Animated.Value(0);
|
|
467
|
-
|
|
468
451
|
const _drawerTranslation = new _reactNative.Animated.Value(0);
|
|
469
|
-
|
|
470
452
|
this.state = {
|
|
471
453
|
dragX: _dragX,
|
|
472
454
|
touchX: _touchX,
|
|
@@ -477,15 +459,12 @@ class DrawerLayout extends React.Component {
|
|
|
477
459
|
};
|
|
478
460
|
this.updateAnimatedEvent(_props, this.state);
|
|
479
461
|
}
|
|
480
|
-
|
|
481
462
|
shouldComponentUpdate(props, state) {
|
|
482
463
|
if (this.props.drawerPosition !== props.drawerPosition || this.props.drawerWidth !== props.drawerWidth || this.props.drawerType !== props.drawerType || this.state.containerWidth !== state.containerWidth) {
|
|
483
464
|
this.updateAnimatedEvent(props, state);
|
|
484
465
|
}
|
|
485
|
-
|
|
486
466
|
return true;
|
|
487
467
|
}
|
|
488
|
-
|
|
489
468
|
render() {
|
|
490
469
|
const {
|
|
491
470
|
drawerPosition,
|
|
@@ -493,14 +472,16 @@ class DrawerLayout extends React.Component {
|
|
|
493
472
|
edgeWidth,
|
|
494
473
|
minSwipeDistance
|
|
495
474
|
} = this.props;
|
|
496
|
-
const fromLeft = drawerPosition === 'left';
|
|
475
|
+
const fromLeft = drawerPosition === 'left';
|
|
476
|
+
|
|
477
|
+
// gestureOrientation is 1 if the expected gesture is from left to right and
|
|
497
478
|
// -1 otherwise e.g. when drawer is on the left and is closed we expect left
|
|
498
479
|
// to right gesture, thus orientation will be 1.
|
|
480
|
+
const gestureOrientation = (fromLeft ? 1 : -1) * (this.drawerShown ? -1 : 1);
|
|
499
481
|
|
|
500
|
-
|
|
482
|
+
// When drawer is closed we want the hitSlop to be horizontally shorter than
|
|
501
483
|
// the container size by the value of SLOP. This will make it only activate
|
|
502
484
|
// when gesture happens not further than SLOP away from the edge
|
|
503
|
-
|
|
504
485
|
const hitSlop = fromLeft ? {
|
|
505
486
|
left: 0,
|
|
506
487
|
width: this.drawerShown ? undefined : edgeWidth
|
|
@@ -508,7 +489,8 @@ class DrawerLayout extends React.Component {
|
|
|
508
489
|
right: 0,
|
|
509
490
|
width: this.drawerShown ? undefined : edgeWidth
|
|
510
491
|
};
|
|
511
|
-
return /*#__PURE__*/React.createElement(_PanGestureHandler.PanGestureHandler
|
|
492
|
+
return /*#__PURE__*/React.createElement(_PanGestureHandler.PanGestureHandler
|
|
493
|
+
// @ts-ignore could be fixed in handler types
|
|
512
494
|
, {
|
|
513
495
|
userSelect: this.props.userSelect,
|
|
514
496
|
activeCursor: this.props.activeCursor,
|
|
@@ -524,11 +506,8 @@ class DrawerLayout extends React.Component {
|
|
|
524
506
|
enabled: drawerLockMode !== 'locked-closed' && drawerLockMode !== 'locked-open'
|
|
525
507
|
}, this.renderDrawer());
|
|
526
508
|
}
|
|
527
|
-
|
|
528
509
|
}
|
|
529
|
-
|
|
530
510
|
exports.default = DrawerLayout;
|
|
531
|
-
|
|
532
511
|
_defineProperty(DrawerLayout, "defaultProps", {
|
|
533
512
|
drawerWidth: 200,
|
|
534
513
|
drawerPosition: 'left',
|
|
@@ -540,28 +519,30 @@ _defineProperty(DrawerLayout, "defaultProps", {
|
|
|
540
519
|
drawerLockMode: 'unlocked',
|
|
541
520
|
enableTrackpadTwoFingerGesture: false
|
|
542
521
|
});
|
|
543
|
-
|
|
544
522
|
_defineProperty(DrawerLayout, "positions", {
|
|
545
523
|
Left: 'left',
|
|
546
524
|
Right: 'right'
|
|
547
525
|
});
|
|
548
|
-
|
|
549
526
|
const styles = _reactNative.StyleSheet.create({
|
|
550
|
-
drawerContainer: {
|
|
527
|
+
drawerContainer: {
|
|
528
|
+
..._reactNative.StyleSheet.absoluteFillObject,
|
|
551
529
|
zIndex: 1001,
|
|
552
530
|
flexDirection: 'row'
|
|
553
531
|
},
|
|
554
|
-
containerInFront: {
|
|
532
|
+
containerInFront: {
|
|
533
|
+
..._reactNative.StyleSheet.absoluteFillObject,
|
|
555
534
|
zIndex: 1002
|
|
556
535
|
},
|
|
557
|
-
containerOnBack: {
|
|
536
|
+
containerOnBack: {
|
|
537
|
+
..._reactNative.StyleSheet.absoluteFillObject
|
|
558
538
|
},
|
|
559
539
|
main: {
|
|
560
540
|
flex: 1,
|
|
561
541
|
zIndex: 0,
|
|
562
542
|
overflow: 'hidden'
|
|
563
543
|
},
|
|
564
|
-
overlay: {
|
|
544
|
+
overlay: {
|
|
545
|
+
..._reactNative.StyleSheet.absoluteFillObject,
|
|
565
546
|
zIndex: 1000
|
|
566
547
|
}
|
|
567
548
|
});
|