react-native-gesture-handler 2.22.1 → 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 +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
@@ -1,21 +1,19 @@
|
|
1
|
-
function _extends() { _extends = Object.assign
|
2
|
-
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
3
2
|
// Similarily to the DrawerLayout component this deserves to be put in a
|
4
3
|
// separate repo. Although, keeping it here for the time being will allow us to
|
5
4
|
// move faster and fix possible issues quicker
|
5
|
+
|
6
6
|
import React, { forwardRef, useCallback, useImperativeHandle, useMemo } from 'react';
|
7
7
|
import { GestureObjects as Gesture } from '../handlers/gestures/gestureObjects';
|
8
8
|
import { GestureDetector } from '../handlers/gestures/GestureDetector';
|
9
9
|
import Animated, { ReduceMotion, interpolate, measure, runOnJS, runOnUI, useAnimatedRef, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';
|
10
10
|
import { I18nManager, StyleSheet, View } from 'react-native';
|
11
11
|
const DRAG_TOSS = 0.05;
|
12
|
-
var SwipeDirection
|
13
|
-
|
14
|
-
(function (SwipeDirection) {
|
12
|
+
var SwipeDirection = /*#__PURE__*/function (SwipeDirection) {
|
15
13
|
SwipeDirection["LEFT"] = "left";
|
16
14
|
SwipeDirection["RIGHT"] = "right";
|
17
|
-
|
18
|
-
|
15
|
+
return SwipeDirection;
|
16
|
+
}(SwipeDirection || {});
|
19
17
|
const Swipeable = /*#__PURE__*/forwardRef(function Swipeable(props, ref) {
|
20
18
|
const defaultProps = {
|
21
19
|
friction: 1,
|
@@ -47,6 +45,7 @@ const Swipeable = /*#__PURE__*/forwardRef(function Swipeable(props, ref) {
|
|
47
45
|
onSwipeableClose,
|
48
46
|
renderLeftActions,
|
49
47
|
renderRightActions,
|
48
|
+
simultaneousWithExternalGesture,
|
50
49
|
...remainingProps
|
51
50
|
} = props;
|
52
51
|
const rowState = useSharedValue(0);
|
@@ -105,7 +104,8 @@ const Swipeable = /*#__PURE__*/forwardRef(function Swipeable(props, ref) {
|
|
105
104
|
const isClosing = toValue === 0;
|
106
105
|
const moveToRight = isClosing ? rowState.value < 0 : toValue > 0;
|
107
106
|
const usedWidth = isClosing ? moveToRight ? rightWidth.value : leftWidth.value : moveToRight ? leftWidth.value : rightWidth.value;
|
108
|
-
const progressSpringConfig = {
|
107
|
+
const progressSpringConfig = {
|
108
|
+
...translationSpringConfig,
|
109
109
|
restDisplacementThreshold: 0.01,
|
110
110
|
restSpeedThreshold: 0.01,
|
111
111
|
velocity: velocityX && interpolate(velocityX, [-usedWidth, usedWidth], [-1, 1])
|
@@ -129,13 +129,12 @@ const Swipeable = /*#__PURE__*/forwardRef(function Swipeable(props, ref) {
|
|
129
129
|
'worklet';
|
130
130
|
|
131
131
|
var _leftLayout$pageX, _leftWrapperLayout$pa, _rightLayout$pageX, _leftWrapperLayout$pa2;
|
132
|
-
|
133
132
|
const leftLayout = measure(leftLayoutRef);
|
134
133
|
const leftWrapperLayout = measure(leftWrapperLayoutRef);
|
135
134
|
const rightLayout = measure(rightLayoutRef);
|
136
135
|
leftWidth.value = ((_leftLayout$pageX = leftLayout === null || leftLayout === void 0 ? void 0 : leftLayout.pageX) !== null && _leftLayout$pageX !== void 0 ? _leftLayout$pageX : 0) - ((_leftWrapperLayout$pa = leftWrapperLayout === null || leftWrapperLayout === void 0 ? void 0 : leftWrapperLayout.pageX) !== null && _leftWrapperLayout$pa !== void 0 ? _leftWrapperLayout$pa : 0);
|
137
136
|
rightWidth.value = rowWidth.value - ((_rightLayout$pageX = rightLayout === null || rightLayout === void 0 ? void 0 : rightLayout.pageX) !== null && _rightLayout$pageX !== void 0 ? _rightLayout$pageX : rowWidth.value) + ((_leftWrapperLayout$pa2 = leftWrapperLayout === null || leftWrapperLayout === void 0 ? void 0 : leftWrapperLayout.pageX) !== null && _leftWrapperLayout$pa2 !== void 0 ? _leftWrapperLayout$pa2 : 0);
|
138
|
-
}, [leftLayoutRef, leftWrapperLayoutRef, rightLayoutRef, leftWidth, rightWidth, rowWidth
|
137
|
+
}, [leftLayoutRef, leftWrapperLayoutRef, rightLayoutRef, leftWidth, rightWidth, rowWidth]);
|
139
138
|
const swipeableMethods = useMemo(() => ({
|
140
139
|
close() {
|
141
140
|
'worklet';
|
@@ -144,12 +143,10 @@ const Swipeable = /*#__PURE__*/forwardRef(function Swipeable(props, ref) {
|
|
144
143
|
animateRow(0);
|
145
144
|
return;
|
146
145
|
}
|
147
|
-
|
148
146
|
runOnUI(() => {
|
149
147
|
animateRow(0);
|
150
148
|
})();
|
151
149
|
},
|
152
|
-
|
153
150
|
openLeft() {
|
154
151
|
'worklet';
|
155
152
|
|
@@ -158,13 +155,11 @@ const Swipeable = /*#__PURE__*/forwardRef(function Swipeable(props, ref) {
|
|
158
155
|
animateRow(leftWidth.value);
|
159
156
|
return;
|
160
157
|
}
|
161
|
-
|
162
158
|
runOnUI(() => {
|
163
159
|
updateElementWidths();
|
164
160
|
animateRow(leftWidth.value);
|
165
161
|
})();
|
166
162
|
},
|
167
|
-
|
168
163
|
openRight() {
|
169
164
|
'worklet';
|
170
165
|
|
@@ -173,13 +168,11 @@ const Swipeable = /*#__PURE__*/forwardRef(function Swipeable(props, ref) {
|
|
173
168
|
animateRow(-rightWidth.value);
|
174
169
|
return;
|
175
170
|
}
|
176
|
-
|
177
171
|
runOnUI(() => {
|
178
172
|
updateElementWidths();
|
179
173
|
animateRow(-rightWidth.value);
|
180
174
|
})();
|
181
175
|
},
|
182
|
-
|
183
176
|
reset() {
|
184
177
|
'worklet';
|
185
178
|
|
@@ -188,13 +181,14 @@ const Swipeable = /*#__PURE__*/forwardRef(function Swipeable(props, ref) {
|
|
188
181
|
appliedTranslation.value = 0;
|
189
182
|
rowState.value = 0;
|
190
183
|
}
|
191
|
-
|
192
184
|
}), [animateRow, updateElementWidths, leftWidth, rightWidth, userDrag, showLeftProgress, appliedTranslation, rowState]);
|
193
185
|
const onRowLayout = useCallback(({
|
194
186
|
nativeEvent
|
195
187
|
}) => {
|
196
188
|
rowWidth.value = nativeEvent.layout.width;
|
197
|
-
}, [rowWidth]);
|
189
|
+
}, [rowWidth]);
|
190
|
+
|
191
|
+
// As stated in `Dimensions.get` docstring, this function should be called on every render
|
198
192
|
// since dimensions may change (e.g. orientation change)
|
199
193
|
|
200
194
|
const leftActionAnimation = useAnimatedStyle(() => {
|
@@ -229,7 +223,6 @@ const Swipeable = /*#__PURE__*/forwardRef(function Swipeable(props, ref) {
|
|
229
223
|
const rightThresholdProp = rightThreshold !== null && rightThreshold !== void 0 ? rightThreshold : rightWidth.value / 2;
|
230
224
|
const translationX = (userDrag.value + DRAG_TOSS * velocityX) / friction;
|
231
225
|
let toValue = 0;
|
232
|
-
|
233
226
|
if (rowState.value === 0) {
|
234
227
|
if (translationX > leftThresholdProp) {
|
235
228
|
toValue = leftWidth.value;
|
@@ -247,7 +240,6 @@ const Swipeable = /*#__PURE__*/forwardRef(function Swipeable(props, ref) {
|
|
247
240
|
toValue = -rightWidth.value;
|
248
241
|
}
|
249
242
|
}
|
250
|
-
|
251
243
|
animateRow(toValue, velocityX / friction);
|
252
244
|
}, [animateRow, friction, leftThreshold, leftWidth, rightThreshold, rightWidth, rowState, userDrag]);
|
253
245
|
const close = useCallback(() => {
|
@@ -256,31 +248,50 @@ const Swipeable = /*#__PURE__*/forwardRef(function Swipeable(props, ref) {
|
|
256
248
|
animateRow(0);
|
257
249
|
}, [animateRow]);
|
258
250
|
const dragStarted = useSharedValue(false);
|
259
|
-
const tapGesture = useMemo(() =>
|
260
|
-
|
261
|
-
|
251
|
+
const tapGesture = useMemo(() => {
|
252
|
+
const tap = Gesture.Tap().shouldCancelWhenOutside(true).onStart(() => {
|
253
|
+
if (rowState.value !== 0) {
|
254
|
+
close();
|
255
|
+
}
|
256
|
+
});
|
257
|
+
if (!simultaneousWithExternalGesture) {
|
258
|
+
return tap;
|
262
259
|
}
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
260
|
+
if (Array.isArray(simultaneousWithExternalGesture)) {
|
261
|
+
tap.simultaneousWithExternalGesture(...simultaneousWithExternalGesture);
|
262
|
+
} else {
|
263
|
+
tap.simultaneousWithExternalGesture(simultaneousWithExternalGesture);
|
264
|
+
}
|
265
|
+
return tap;
|
266
|
+
}, [close, rowState, simultaneousWithExternalGesture]);
|
267
|
+
const panGesture = useMemo(() => {
|
268
|
+
const pan = Gesture.Pan().enabled(enabled !== false).enableTrackpadTwoFingerGesture(enableTrackpadTwoFingerGesture).activeOffsetX([-dragOffsetFromRightEdge, dragOffsetFromLeftEdge]).onStart(updateElementWidths).onUpdate(event => {
|
269
|
+
userDrag.value = event.translationX;
|
270
|
+
const direction = rowState.value === -1 ? SwipeDirection.RIGHT : rowState.value === 1 ? SwipeDirection.LEFT : event.translationX > 0 ? SwipeDirection.RIGHT : SwipeDirection.LEFT;
|
271
|
+
if (!dragStarted.value) {
|
272
|
+
dragStarted.value = true;
|
273
|
+
if (rowState.value === 0 && onSwipeableOpenStartDrag) {
|
274
|
+
runOnJS(onSwipeableOpenStartDrag)(direction);
|
275
|
+
} else if (onSwipeableCloseStartDrag) {
|
276
|
+
runOnJS(onSwipeableCloseStartDrag)(direction);
|
277
|
+
}
|
275
278
|
}
|
279
|
+
updateAnimatedEvent();
|
280
|
+
}).onEnd(event => {
|
281
|
+
handleRelease(event);
|
282
|
+
}).onFinalize(() => {
|
283
|
+
dragStarted.value = false;
|
284
|
+
});
|
285
|
+
if (!simultaneousWithExternalGesture) {
|
286
|
+
return pan;
|
276
287
|
}
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
}
|
288
|
+
if (Array.isArray(simultaneousWithExternalGesture)) {
|
289
|
+
pan.simultaneousWithExternalGesture(...simultaneousWithExternalGesture);
|
290
|
+
} else {
|
291
|
+
pan.simultaneousWithExternalGesture(simultaneousWithExternalGesture);
|
292
|
+
}
|
293
|
+
return pan;
|
294
|
+
}, [dragOffsetFromLeftEdge, dragOffsetFromRightEdge, dragStarted, enableTrackpadTwoFingerGesture, enabled, handleRelease, onSwipeableCloseStartDrag, onSwipeableOpenStartDrag, rowState, updateAnimatedEvent, updateElementWidths, userDrag, simultaneousWithExternalGesture]);
|
284
295
|
useImperativeHandle(ref, () => swipeableMethods, [swipeableMethods]);
|
285
296
|
const animatedStyle = useAnimatedStyle(() => ({
|
286
297
|
transform: [{
|
@@ -309,11 +320,13 @@ const styles = StyleSheet.create({
|
|
309
320
|
container: {
|
310
321
|
overflow: 'hidden'
|
311
322
|
},
|
312
|
-
leftActions: {
|
323
|
+
leftActions: {
|
324
|
+
...StyleSheet.absoluteFillObject,
|
313
325
|
flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',
|
314
326
|
overflow: 'hidden'
|
315
327
|
},
|
316
|
-
rightActions: {
|
328
|
+
rightActions: {
|
329
|
+
...StyleSheet.absoluteFillObject,
|
317
330
|
flexDirection: I18nManager.isRTL ? 'row' : 'row-reverse',
|
318
331
|
overflow: 'hidden'
|
319
332
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["ReanimatedSwipeable.tsx"],"names":["React","forwardRef","useCallback","useImperativeHandle","useMemo","GestureObjects","Gesture","GestureDetector","Animated","ReduceMotion","interpolate","measure","runOnJS","runOnUI","useAnimatedRef","useAnimatedStyle","useSharedValue","withSpring","I18nManager","StyleSheet","View","DRAG_TOSS","SwipeDirection","Swipeable","props","ref","defaultProps","friction","overshootFriction","dragOffset","enableTrackpadTwoFingerGesture","leftThreshold","rightThreshold","enabled","containerStyle","childrenContainerStyle","animationOptions","overshootLeft","overshootRight","testID","children","dragOffsetFromLeftEdge","dragOffsetFromRightEdge","onSwipeableOpenStartDrag","onSwipeableCloseStartDrag","onSwipeableWillOpen","onSwipeableWillClose","onSwipeableOpen","onSwipeableClose","renderLeftActions","renderRightActions","remainingProps","rowState","userDrag","appliedTranslation","rowWidth","leftWidth","rightWidth","showLeftProgress","showRightProgress","updateAnimatedEvent","shouldOvershootLeft","value","shouldOvershootRight","startOffset","offsetDrag","dispatchImmediateEvents","fromValue","toValue","RIGHT","LEFT","dispatchEndEvents","animateRow","velocityX","translationSpringConfig","mass","damping","stiffness","velocity","overshootClamping","reduceMotion","System","isClosing","moveToRight","usedWidth","progressSpringConfig","restDisplacementThreshold","restSpeedThreshold","frozenRowState","isFinished","progressTarget","Math","sign","max","leftLayoutRef","leftWrapperLayoutRef","rightLayoutRef","updateElementWidths","leftLayout","leftWrapperLayout","rightLayout","pageX","swipeableMethods","close","_WORKLET","openLeft","openRight","reset","onRowLayout","nativeEvent","layout","width","leftActionAnimation","opacity","leftElement","styles","leftActions","rightActionAnimation","rightElement","rightActions","handleRelease","event","translationX","leftThresholdProp","rightThresholdProp","dragStarted","tapGesture","Tap","shouldCancelWhenOutside","onStart","panGesture","Pan","activeOffsetX","onUpdate","direction","onEnd","onFinalize","animatedStyle","transform","translateX","pointerEvents","swipeableComponent","container","create","overflow","absoluteFillObject","flexDirection","isRTL"],"mappings":"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","sourcesContent":["// Similarily to the DrawerLayout component this deserves to be put in a\n// separate repo. Although, keeping it here for the time being will allow us to\n// move faster and fix possible issues quicker\n\nimport React, {\n ForwardedRef,\n forwardRef,\n useCallback,\n useImperativeHandle,\n useMemo,\n} from 'react';\nimport { GestureObjects as Gesture } from '../handlers/gestures/gestureObjects';\nimport { GestureDetector } from '../handlers/gestures/GestureDetector';\nimport {\n GestureStateChangeEvent,\n GestureUpdateEvent,\n} from '../handlers/gestureHandlerCommon';\nimport type { PanGestureHandlerProps } from '../handlers/PanGestureHandler';\nimport type { PanGestureHandlerEventPayload } from '../handlers/GestureHandlerEventPayload';\nimport Animated, {\n ReduceMotion,\n SharedValue,\n interpolate,\n measure,\n runOnJS,\n runOnUI,\n useAnimatedRef,\n useAnimatedStyle,\n useSharedValue,\n withSpring,\n} from 'react-native-reanimated';\nimport {\n I18nManager,\n LayoutChangeEvent,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\n\nconst DRAG_TOSS = 0.05;\n\ntype SwipeableExcludes = Exclude<\n keyof PanGestureHandlerProps,\n 'onGestureEvent' | 'onHandlerStateChange'\n>;\n\nenum SwipeDirection {\n LEFT = 'left',\n RIGHT = 'right',\n}\n\nexport interface SwipeableProps\n extends Pick<PanGestureHandlerProps, SwipeableExcludes> {\n /**\n * Enables two-finger gestures on supported devices, for example iPads with\n * trackpads. If not enabled the gesture will require click + drag, with\n * `enableTrackpadTwoFingerGesture` swiping with two fingers will also trigger\n * the gesture.\n */\n enableTrackpadTwoFingerGesture?: boolean;\n\n /**\n * Specifies how much the visual interaction will be delayed compared to the\n * gesture distance. e.g. value of 1 will indicate that the swipeable panel\n * should exactly follow the gesture, 2 means it is going to be two times\n * \"slower\".\n */\n friction?: number;\n\n /**\n * Distance from the left edge at which released panel will animate to the\n * open state (or the open panel will animate into the closed state). By\n * default it's a half of the panel's width.\n */\n leftThreshold?: number;\n\n /**\n * Distance from the right edge at which released panel will animate to the\n * open state (or the open panel will animate into the closed state). By\n * default it's a half of the panel's width.\n */\n rightThreshold?: number;\n\n /**\n * Distance that the panel must be dragged from the left edge to be considered\n * a swipe. The default value is 10.\n */\n dragOffsetFromLeftEdge?: number;\n\n /**\n * Distance that the panel must be dragged from the right edge to be considered\n * a swipe. The default value is 10.\n */\n dragOffsetFromRightEdge?: number;\n\n /**\n * Value indicating if the swipeable panel can be pulled further than the left\n * actions panel's width. It is set to true by default as long as the left\n * panel render method is present.\n */\n overshootLeft?: boolean;\n\n /**\n * Value indicating if the swipeable panel can be pulled further than the\n * right actions panel's width. It is set to true by default as long as the\n * right panel render method is present.\n */\n overshootRight?: boolean;\n\n /**\n * Specifies how much the visual interaction will be delayed compared to the\n * gesture distance at overshoot. Default value is 1, it mean no friction, for\n * a native feel, try 8 or above.\n */\n overshootFriction?: number;\n\n /**\n * Called when action panel gets open (either right or left).\n */\n onSwipeableOpen?: (\n direction: SwipeDirection.LEFT | SwipeDirection.RIGHT\n ) => void;\n\n /**\n * Called when action panel is closed.\n */\n onSwipeableClose?: (\n direction: SwipeDirection.LEFT | SwipeDirection.RIGHT\n ) => void;\n\n /**\n * Called when action panel starts animating on open (either right or left).\n */\n onSwipeableWillOpen?: (\n direction: SwipeDirection.LEFT | SwipeDirection.RIGHT\n ) => void;\n\n /**\n * Called when action panel starts animating on close.\n */\n onSwipeableWillClose?: (\n direction: SwipeDirection.LEFT | SwipeDirection.RIGHT\n ) => void;\n\n /**\n * Called when action panel starts being shown on dragging to open.\n */\n onSwipeableOpenStartDrag?: (\n direction: SwipeDirection.LEFT | SwipeDirection.RIGHT\n ) => void;\n\n /**\n * Called when action panel starts being shown on dragging to close.\n */\n onSwipeableCloseStartDrag?: (\n direction: SwipeDirection.LEFT | SwipeDirection.RIGHT\n ) => void;\n\n /**\n * `progress`: Equals `0` when `swipeable` is closed, `1` when `swipeable` is opened.\n * - When the element overshoots it's opened position the value tends towards `Infinity`.\n * - Goes back to `1` when `swipeable` is released.\n *\n * `translation`: a horizontal offset of the `swipeable` relative to its closed position.\\\n * `swipeableMethods`: provides an object exposing methods for controlling the `swipeable`.\n *\n * To support `rtl` flexbox layouts use `flexDirection` styling.\n * */\n renderLeftActions?: (\n progress: SharedValue<number>,\n translation: SharedValue<number>,\n swipeableMethods: SwipeableMethods\n ) => React.ReactNode;\n\n /**\n * `progress`: Equals `0` when `swipeable` is closed, `1` when `swipeable` is opened.\n * - When the element overshoots it's opened position the value tends towards `Infinity`.\n * - Goes back to `1` when `swipeable` is released.\n *\n * `translation`: a horizontal offset of the `swipeable` relative to its closed position.\\\n * `swipeableMethods`: provides an object exposing methods for controlling the `swipeable`.\n *\n * To support `rtl` flexbox layouts use `flexDirection` styling.\n * */\n renderRightActions?: (\n progress: SharedValue<number>,\n translation: SharedValue<number>,\n swipeableMethods: SwipeableMethods\n ) => React.ReactNode;\n\n animationOptions?: Record<string, unknown>;\n\n /**\n * Style object for the container (`Animated.View`), for example to override\n * `overflow: 'hidden'`.\n */\n containerStyle?: StyleProp<ViewStyle>;\n\n /**\n * Style object for the children container (`Animated.View`), for example to\n * apply `flex: 1`\n */\n childrenContainerStyle?: StyleProp<ViewStyle>;\n}\n\nexport interface SwipeableMethods {\n close: () => void;\n openLeft: () => void;\n openRight: () => void;\n reset: () => void;\n}\n\nconst Swipeable = forwardRef<SwipeableMethods, SwipeableProps>(\n function Swipeable(\n props: SwipeableProps,\n ref: ForwardedRef<SwipeableMethods>\n ) {\n const defaultProps = {\n friction: 1,\n overshootFriction: 1,\n dragOffset: 10,\n enableTrackpadTwoFingerGesture: false,\n };\n\n const {\n leftThreshold,\n rightThreshold,\n enabled,\n containerStyle,\n childrenContainerStyle,\n animationOptions,\n overshootLeft,\n overshootRight,\n testID,\n children,\n enableTrackpadTwoFingerGesture = defaultProps.enableTrackpadTwoFingerGesture,\n dragOffsetFromLeftEdge = defaultProps.dragOffset,\n dragOffsetFromRightEdge = defaultProps.dragOffset,\n friction = defaultProps.friction,\n overshootFriction = defaultProps.overshootFriction,\n onSwipeableOpenStartDrag,\n onSwipeableCloseStartDrag,\n onSwipeableWillOpen,\n onSwipeableWillClose,\n onSwipeableOpen,\n onSwipeableClose,\n renderLeftActions,\n renderRightActions,\n ...remainingProps\n } = props;\n\n const rowState = useSharedValue<number>(0);\n\n const userDrag = useSharedValue<number>(0);\n\n const appliedTranslation = useSharedValue<number>(0);\n\n const rowWidth = useSharedValue<number>(0);\n const leftWidth = useSharedValue<number>(0);\n const rightWidth = useSharedValue<number>(0);\n\n const showLeftProgress = useSharedValue<number>(0);\n const showRightProgress = useSharedValue<number>(0);\n\n const updateAnimatedEvent = useCallback(() => {\n 'worklet';\n\n const shouldOvershootLeft = overshootLeft ?? leftWidth.value > 0;\n const shouldOvershootRight = overshootRight ?? rightWidth.value > 0;\n\n const startOffset =\n rowState.value === 1\n ? leftWidth.value\n : rowState.value === -1\n ? -rightWidth.value\n : 0;\n\n const offsetDrag = userDrag.value / friction + startOffset;\n\n appliedTranslation.value = interpolate(\n offsetDrag,\n [\n -rightWidth.value - 1,\n -rightWidth.value,\n leftWidth.value,\n leftWidth.value + 1,\n ],\n [\n -rightWidth.value -\n (shouldOvershootRight ? 1 / overshootFriction : 0),\n -rightWidth.value,\n leftWidth.value,\n leftWidth.value + (shouldOvershootLeft ? 1 / overshootFriction : 0),\n ]\n );\n\n showLeftProgress.value =\n leftWidth.value > 0\n ? interpolate(\n appliedTranslation.value,\n [-1, 0, leftWidth.value],\n [0, 0, 1]\n )\n : 0;\n\n showRightProgress.value =\n rightWidth.value > 0\n ? interpolate(\n appliedTranslation.value,\n [-rightWidth.value, 0, 1],\n [1, 0, 0]\n )\n : 0;\n }, [\n appliedTranslation,\n friction,\n leftWidth,\n overshootFriction,\n rightWidth,\n rowState,\n showLeftProgress,\n showRightProgress,\n userDrag,\n overshootLeft,\n overshootRight,\n ]);\n\n const dispatchImmediateEvents = useCallback(\n (fromValue: number, toValue: number) => {\n 'worklet';\n if (toValue > 0 && onSwipeableWillOpen) {\n runOnJS(onSwipeableWillOpen)(SwipeDirection.RIGHT);\n } else if (toValue < 0 && onSwipeableWillOpen) {\n runOnJS(onSwipeableWillOpen)(SwipeDirection.LEFT);\n } else if (onSwipeableWillClose) {\n runOnJS(onSwipeableWillClose)(\n fromValue > 0 ? SwipeDirection.LEFT : SwipeDirection.RIGHT\n );\n }\n },\n [onSwipeableWillClose, onSwipeableWillOpen]\n );\n\n const dispatchEndEvents = useCallback(\n (fromValue: number, toValue: number) => {\n 'worklet';\n if (toValue > 0 && onSwipeableOpen) {\n runOnJS(onSwipeableOpen)(SwipeDirection.RIGHT);\n } else if (toValue < 0 && onSwipeableOpen) {\n runOnJS(onSwipeableOpen)(SwipeDirection.LEFT);\n } else if (onSwipeableClose) {\n runOnJS(onSwipeableClose)(\n fromValue > 0 ? SwipeDirection.LEFT : SwipeDirection.RIGHT\n );\n }\n },\n [onSwipeableClose, onSwipeableOpen]\n );\n\n const animateRow: (toValue: number, velocityX?: number) => void =\n useCallback(\n (toValue: number, velocityX?: number) => {\n 'worklet';\n\n const translationSpringConfig = {\n mass: 2,\n damping: 1000,\n stiffness: 700,\n velocity: velocityX,\n overshootClamping: true,\n reduceMotion: ReduceMotion.System,\n ...animationOptions,\n };\n\n const isClosing = toValue === 0;\n const moveToRight = isClosing ? rowState.value < 0 : toValue > 0;\n\n const usedWidth = isClosing\n ? moveToRight\n ? rightWidth.value\n : leftWidth.value\n : moveToRight\n ? leftWidth.value\n : rightWidth.value;\n\n const progressSpringConfig = {\n ...translationSpringConfig,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n velocity:\n velocityX &&\n interpolate(velocityX, [-usedWidth, usedWidth], [-1, 1]),\n };\n\n const frozenRowState = rowState.value;\n\n appliedTranslation.value = withSpring(\n toValue,\n translationSpringConfig,\n (isFinished) => {\n if (isFinished) {\n dispatchEndEvents(frozenRowState, toValue);\n }\n }\n );\n\n const progressTarget = toValue === 0 ? 0 : 1 * Math.sign(toValue);\n\n showLeftProgress.value = withSpring(\n Math.max(progressTarget, 0),\n progressSpringConfig\n );\n\n showRightProgress.value = withSpring(\n Math.max(-progressTarget, 0),\n progressSpringConfig\n );\n\n dispatchImmediateEvents(frozenRowState, toValue);\n\n rowState.value = Math.sign(toValue);\n },\n [\n rowState,\n animationOptions,\n appliedTranslation,\n showLeftProgress,\n leftWidth,\n showRightProgress,\n rightWidth,\n dispatchImmediateEvents,\n dispatchEndEvents,\n ]\n );\n\n const leftLayoutRef = useAnimatedRef();\n const leftWrapperLayoutRef = useAnimatedRef();\n const rightLayoutRef = useAnimatedRef();\n\n const updateElementWidths = useCallback(() => {\n 'worklet';\n const leftLayout = measure(leftLayoutRef);\n const leftWrapperLayout = measure(leftWrapperLayoutRef);\n const rightLayout = measure(rightLayoutRef);\n leftWidth.value =\n (leftLayout?.pageX ?? 0) - (leftWrapperLayout?.pageX ?? 0);\n\n rightWidth.value =\n rowWidth.value -\n (rightLayout?.pageX ?? rowWidth.value) +\n (leftWrapperLayout?.pageX ?? 0);\n }, [\n leftLayoutRef,\n leftWrapperLayoutRef,\n rightLayoutRef,\n leftWidth,\n rightWidth,\n rowWidth.value,\n ]);\n\n const swipeableMethods = useMemo<SwipeableMethods>(\n () => ({\n close() {\n 'worklet';\n if (_WORKLET) {\n animateRow(0);\n return;\n }\n runOnUI(() => {\n animateRow(0);\n })();\n },\n openLeft() {\n 'worklet';\n if (_WORKLET) {\n updateElementWidths();\n animateRow(leftWidth.value);\n return;\n }\n runOnUI(() => {\n updateElementWidths();\n animateRow(leftWidth.value);\n })();\n },\n openRight() {\n 'worklet';\n if (_WORKLET) {\n updateElementWidths();\n animateRow(-rightWidth.value);\n return;\n }\n runOnUI(() => {\n updateElementWidths();\n animateRow(-rightWidth.value);\n })();\n },\n reset() {\n 'worklet';\n userDrag.value = 0;\n showLeftProgress.value = 0;\n appliedTranslation.value = 0;\n rowState.value = 0;\n },\n }),\n [\n animateRow,\n updateElementWidths,\n leftWidth,\n rightWidth,\n userDrag,\n showLeftProgress,\n appliedTranslation,\n rowState,\n ]\n );\n\n const onRowLayout = useCallback(\n ({ nativeEvent }: LayoutChangeEvent) => {\n rowWidth.value = nativeEvent.layout.width;\n },\n [rowWidth]\n );\n\n // As stated in `Dimensions.get` docstring, this function should be called on every render\n // since dimensions may change (e.g. orientation change)\n\n const leftActionAnimation = useAnimatedStyle(() => {\n return {\n opacity: showLeftProgress.value === 0 ? 0 : 1,\n };\n });\n\n const leftElement = useCallback(\n () => (\n <Animated.View\n ref={leftWrapperLayoutRef}\n style={[styles.leftActions, leftActionAnimation]}>\n {renderLeftActions?.(\n showLeftProgress,\n appliedTranslation,\n swipeableMethods\n )}\n <Animated.View ref={leftLayoutRef} />\n </Animated.View>\n ),\n [\n appliedTranslation,\n leftActionAnimation,\n leftLayoutRef,\n leftWrapperLayoutRef,\n renderLeftActions,\n showLeftProgress,\n swipeableMethods,\n ]\n );\n\n const rightActionAnimation = useAnimatedStyle(() => {\n return {\n opacity: showRightProgress.value === 0 ? 0 : 1,\n };\n });\n\n const rightElement = useCallback(\n () => (\n <Animated.View style={[styles.rightActions, rightActionAnimation]}>\n {renderRightActions?.(\n showRightProgress,\n appliedTranslation,\n swipeableMethods\n )}\n <Animated.View ref={rightLayoutRef} />\n </Animated.View>\n ),\n [\n appliedTranslation,\n renderRightActions,\n rightActionAnimation,\n rightLayoutRef,\n showRightProgress,\n swipeableMethods,\n ]\n );\n\n const handleRelease = useCallback(\n (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => {\n 'worklet';\n const { velocityX } = event;\n userDrag.value = event.translationX;\n\n const leftThresholdProp = leftThreshold ?? leftWidth.value / 2;\n const rightThresholdProp = rightThreshold ?? rightWidth.value / 2;\n\n const translationX =\n (userDrag.value + DRAG_TOSS * velocityX) / friction;\n\n let toValue = 0;\n\n if (rowState.value === 0) {\n if (translationX > leftThresholdProp) {\n toValue = leftWidth.value;\n } else if (translationX < -rightThresholdProp) {\n toValue = -rightWidth.value;\n }\n } else if (rowState.value === 1) {\n // Swiped to left\n if (translationX > -leftThresholdProp) {\n toValue = leftWidth.value;\n }\n } else {\n // Swiped to right\n if (translationX < rightThresholdProp) {\n toValue = -rightWidth.value;\n }\n }\n\n animateRow(toValue, velocityX / friction);\n },\n [\n animateRow,\n friction,\n leftThreshold,\n leftWidth,\n rightThreshold,\n rightWidth,\n rowState,\n userDrag,\n ]\n );\n\n const close = useCallback(() => {\n 'worklet';\n animateRow(0);\n }, [animateRow]);\n\n const dragStarted = useSharedValue<boolean>(false);\n\n const tapGesture = useMemo(\n () =>\n Gesture.Tap()\n .shouldCancelWhenOutside(true)\n .onStart(() => {\n if (rowState.value !== 0) {\n close();\n }\n }),\n [close, rowState]\n );\n\n const panGesture = useMemo(\n () =>\n Gesture.Pan()\n .enabled(enabled !== false)\n .enableTrackpadTwoFingerGesture(enableTrackpadTwoFingerGesture)\n .activeOffsetX([-dragOffsetFromRightEdge, dragOffsetFromLeftEdge])\n .onStart(updateElementWidths)\n .onUpdate(\n (event: GestureUpdateEvent<PanGestureHandlerEventPayload>) => {\n userDrag.value = event.translationX;\n\n const direction =\n rowState.value === -1\n ? SwipeDirection.RIGHT\n : rowState.value === 1\n ? SwipeDirection.LEFT\n : event.translationX > 0\n ? SwipeDirection.RIGHT\n : SwipeDirection.LEFT;\n\n if (!dragStarted.value) {\n dragStarted.value = true;\n if (rowState.value === 0 && onSwipeableOpenStartDrag) {\n runOnJS(onSwipeableOpenStartDrag)(direction);\n } else if (onSwipeableCloseStartDrag) {\n runOnJS(onSwipeableCloseStartDrag)(direction);\n }\n }\n\n updateAnimatedEvent();\n }\n )\n .onEnd(\n (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => {\n handleRelease(event);\n }\n )\n .onFinalize(() => {\n dragStarted.value = false;\n }),\n [\n dragOffsetFromLeftEdge,\n dragOffsetFromRightEdge,\n dragStarted,\n enableTrackpadTwoFingerGesture,\n enabled,\n handleRelease,\n onSwipeableCloseStartDrag,\n onSwipeableOpenStartDrag,\n rowState,\n updateAnimatedEvent,\n updateElementWidths,\n userDrag,\n ]\n );\n\n useImperativeHandle(ref, () => swipeableMethods, [swipeableMethods]);\n\n const animatedStyle = useAnimatedStyle(\n () => ({\n transform: [{ translateX: appliedTranslation.value }],\n pointerEvents: rowState.value === 0 ? 'auto' : 'box-only',\n }),\n [appliedTranslation, rowState]\n );\n\n const swipeableComponent = (\n <GestureDetector gesture={panGesture} touchAction=\"pan-y\">\n <Animated.View\n {...remainingProps}\n onLayout={onRowLayout}\n style={[styles.container, containerStyle]}>\n {leftElement()}\n {rightElement()}\n <GestureDetector gesture={tapGesture} touchAction=\"pan-y\">\n <Animated.View style={[animatedStyle, childrenContainerStyle]}>\n {children}\n </Animated.View>\n </GestureDetector>\n </Animated.View>\n </GestureDetector>\n );\n\n return testID ? (\n <View testID={testID}>{swipeableComponent}</View>\n ) : (\n swipeableComponent\n );\n }\n);\n\nexport default Swipeable;\nexport type SwipeableRef = ForwardedRef<SwipeableMethods>;\n\nconst styles = StyleSheet.create({\n container: {\n overflow: 'hidden',\n },\n leftActions: {\n ...StyleSheet.absoluteFillObject,\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\n overflow: 'hidden',\n },\n rightActions: {\n ...StyleSheet.absoluteFillObject,\n flexDirection: I18nManager.isRTL ? 'row' : 'row-reverse',\n overflow: 'hidden',\n },\n});\n"]}
|
1
|
+
{"version":3,"names":["React","forwardRef","useCallback","useImperativeHandle","useMemo","GestureObjects","Gesture","GestureDetector","Animated","ReduceMotion","interpolate","measure","runOnJS","runOnUI","useAnimatedRef","useAnimatedStyle","useSharedValue","withSpring","I18nManager","StyleSheet","View","DRAG_TOSS","SwipeDirection","Swipeable","props","ref","defaultProps","friction","overshootFriction","dragOffset","enableTrackpadTwoFingerGesture","leftThreshold","rightThreshold","enabled","containerStyle","childrenContainerStyle","animationOptions","overshootLeft","overshootRight","testID","children","dragOffsetFromLeftEdge","dragOffsetFromRightEdge","onSwipeableOpenStartDrag","onSwipeableCloseStartDrag","onSwipeableWillOpen","onSwipeableWillClose","onSwipeableOpen","onSwipeableClose","renderLeftActions","renderRightActions","simultaneousWithExternalGesture","remainingProps","rowState","userDrag","appliedTranslation","rowWidth","leftWidth","rightWidth","showLeftProgress","showRightProgress","updateAnimatedEvent","shouldOvershootLeft","value","shouldOvershootRight","startOffset","offsetDrag","dispatchImmediateEvents","fromValue","toValue","RIGHT","LEFT","dispatchEndEvents","animateRow","velocityX","translationSpringConfig","mass","damping","stiffness","velocity","overshootClamping","reduceMotion","System","isClosing","moveToRight","usedWidth","progressSpringConfig","restDisplacementThreshold","restSpeedThreshold","frozenRowState","isFinished","progressTarget","Math","sign","max","leftLayoutRef","leftWrapperLayoutRef","rightLayoutRef","updateElementWidths","_leftLayout$pageX","_leftWrapperLayout$pa","_rightLayout$pageX","_leftWrapperLayout$pa2","leftLayout","leftWrapperLayout","rightLayout","pageX","swipeableMethods","close","_WORKLET","openLeft","openRight","reset","onRowLayout","nativeEvent","layout","width","leftActionAnimation","opacity","leftElement","createElement","style","styles","leftActions","rightActionAnimation","rightElement","rightActions","handleRelease","event","translationX","leftThresholdProp","rightThresholdProp","dragStarted","tapGesture","tap","Tap","shouldCancelWhenOutside","onStart","Array","isArray","panGesture","pan","Pan","activeOffsetX","onUpdate","direction","onEnd","onFinalize","animatedStyle","transform","translateX","pointerEvents","swipeableComponent","gesture","touchAction","_extends","onLayout","container","create","overflow","absoluteFillObject","flexDirection","isRTL"],"sources":["ReanimatedSwipeable.tsx"],"sourcesContent":["// Similarily to the DrawerLayout component this deserves to be put in a\n// separate repo. Although, keeping it here for the time being will allow us to\n// move faster and fix possible issues quicker\n\nimport React, {\n ForwardedRef,\n forwardRef,\n useCallback,\n useImperativeHandle,\n useMemo,\n} from 'react';\nimport { GestureRef } from '../handlers/gestures/gesture';\nimport { GestureObjects as Gesture } from '../handlers/gestures/gestureObjects';\nimport { GestureDetector } from '../handlers/gestures/GestureDetector';\nimport {\n GestureStateChangeEvent,\n GestureUpdateEvent,\n} from '../handlers/gestureHandlerCommon';\nimport type { PanGestureHandlerProps } from '../handlers/PanGestureHandler';\nimport type { PanGestureHandlerEventPayload } from '../handlers/GestureHandlerEventPayload';\nimport Animated, {\n ReduceMotion,\n SharedValue,\n interpolate,\n measure,\n runOnJS,\n runOnUI,\n useAnimatedRef,\n useAnimatedStyle,\n useSharedValue,\n withSpring,\n} from 'react-native-reanimated';\nimport {\n I18nManager,\n LayoutChangeEvent,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\n\nconst DRAG_TOSS = 0.05;\n\ntype SwipeableExcludes = Exclude<\n keyof PanGestureHandlerProps,\n 'onGestureEvent' | 'onHandlerStateChange'\n>;\n\nenum SwipeDirection {\n LEFT = 'left',\n RIGHT = 'right',\n}\n\nexport interface SwipeableProps\n extends Pick<PanGestureHandlerProps, SwipeableExcludes> {\n /**\n * Enables two-finger gestures on supported devices, for example iPads with\n * trackpads. If not enabled the gesture will require click + drag, with\n * `enableTrackpadTwoFingerGesture` swiping with two fingers will also trigger\n * the gesture.\n */\n enableTrackpadTwoFingerGesture?: boolean;\n\n /**\n * Specifies how much the visual interaction will be delayed compared to the\n * gesture distance. e.g. value of 1 will indicate that the swipeable panel\n * should exactly follow the gesture, 2 means it is going to be two times\n * \"slower\".\n */\n friction?: number;\n\n /**\n * Distance from the left edge at which released panel will animate to the\n * open state (or the open panel will animate into the closed state). By\n * default it's a half of the panel's width.\n */\n leftThreshold?: number;\n\n /**\n * Distance from the right edge at which released panel will animate to the\n * open state (or the open panel will animate into the closed state). By\n * default it's a half of the panel's width.\n */\n rightThreshold?: number;\n\n /**\n * Distance that the panel must be dragged from the left edge to be considered\n * a swipe. The default value is 10.\n */\n dragOffsetFromLeftEdge?: number;\n\n /**\n * Distance that the panel must be dragged from the right edge to be considered\n * a swipe. The default value is 10.\n */\n dragOffsetFromRightEdge?: number;\n\n /**\n * Value indicating if the swipeable panel can be pulled further than the left\n * actions panel's width. It is set to true by default as long as the left\n * panel render method is present.\n */\n overshootLeft?: boolean;\n\n /**\n * Value indicating if the swipeable panel can be pulled further than the\n * right actions panel's width. It is set to true by default as long as the\n * right panel render method is present.\n */\n overshootRight?: boolean;\n\n /**\n * Specifies how much the visual interaction will be delayed compared to the\n * gesture distance at overshoot. Default value is 1, it mean no friction, for\n * a native feel, try 8 or above.\n */\n overshootFriction?: number;\n\n /**\n * Called when action panel gets open (either right or left).\n */\n onSwipeableOpen?: (\n direction: SwipeDirection.LEFT | SwipeDirection.RIGHT\n ) => void;\n\n /**\n * Called when action panel is closed.\n */\n onSwipeableClose?: (\n direction: SwipeDirection.LEFT | SwipeDirection.RIGHT\n ) => void;\n\n /**\n * Called when action panel starts animating on open (either right or left).\n */\n onSwipeableWillOpen?: (\n direction: SwipeDirection.LEFT | SwipeDirection.RIGHT\n ) => void;\n\n /**\n * Called when action panel starts animating on close.\n */\n onSwipeableWillClose?: (\n direction: SwipeDirection.LEFT | SwipeDirection.RIGHT\n ) => void;\n\n /**\n * Called when action panel starts being shown on dragging to open.\n */\n onSwipeableOpenStartDrag?: (\n direction: SwipeDirection.LEFT | SwipeDirection.RIGHT\n ) => void;\n\n /**\n * Called when action panel starts being shown on dragging to close.\n */\n onSwipeableCloseStartDrag?: (\n direction: SwipeDirection.LEFT | SwipeDirection.RIGHT\n ) => void;\n\n /**\n * `progress`: Equals `0` when `swipeable` is closed, `1` when `swipeable` is opened.\n * - When the element overshoots it's opened position the value tends towards `Infinity`.\n * - Goes back to `1` when `swipeable` is released.\n *\n * `translation`: a horizontal offset of the `swipeable` relative to its closed position.\\\n * `swipeableMethods`: provides an object exposing methods for controlling the `swipeable`.\n *\n * To support `rtl` flexbox layouts use `flexDirection` styling.\n * */\n renderLeftActions?: (\n progress: SharedValue<number>,\n translation: SharedValue<number>,\n swipeableMethods: SwipeableMethods\n ) => React.ReactNode;\n\n /**\n * `progress`: Equals `0` when `swipeable` is closed, `1` when `swipeable` is opened.\n * - When the element overshoots it's opened position the value tends towards `Infinity`.\n * - Goes back to `1` when `swipeable` is released.\n *\n * `translation`: a horizontal offset of the `swipeable` relative to its closed position.\\\n * `swipeableMethods`: provides an object exposing methods for controlling the `swipeable`.\n *\n * To support `rtl` flexbox layouts use `flexDirection` styling.\n * */\n renderRightActions?: (\n progress: SharedValue<number>,\n translation: SharedValue<number>,\n swipeableMethods: SwipeableMethods\n ) => React.ReactNode;\n\n animationOptions?: Record<string, unknown>;\n\n /**\n * Style object for the container (`Animated.View`), for example to override\n * `overflow: 'hidden'`.\n */\n containerStyle?: StyleProp<ViewStyle>;\n\n /**\n * Style object for the children container (`Animated.View`), for example to\n * apply `flex: 1`\n */\n childrenContainerStyle?: StyleProp<ViewStyle>;\n\n /**\n * A gesture object or an array of gesture objects containing the configuration and callbacks to be\n * used with the swipeable's gesture handler.\n */\n simultaneousWithExternalGesture?:\n | Exclude<GestureRef, number>\n | Exclude<GestureRef, number>[];\n}\n\nexport interface SwipeableMethods {\n close: () => void;\n openLeft: () => void;\n openRight: () => void;\n reset: () => void;\n}\n\nconst Swipeable = forwardRef<SwipeableMethods, SwipeableProps>(\n function Swipeable(\n props: SwipeableProps,\n ref: ForwardedRef<SwipeableMethods>\n ) {\n const defaultProps = {\n friction: 1,\n overshootFriction: 1,\n dragOffset: 10,\n enableTrackpadTwoFingerGesture: false,\n };\n\n const {\n leftThreshold,\n rightThreshold,\n enabled,\n containerStyle,\n childrenContainerStyle,\n animationOptions,\n overshootLeft,\n overshootRight,\n testID,\n children,\n enableTrackpadTwoFingerGesture = defaultProps.enableTrackpadTwoFingerGesture,\n dragOffsetFromLeftEdge = defaultProps.dragOffset,\n dragOffsetFromRightEdge = defaultProps.dragOffset,\n friction = defaultProps.friction,\n overshootFriction = defaultProps.overshootFriction,\n onSwipeableOpenStartDrag,\n onSwipeableCloseStartDrag,\n onSwipeableWillOpen,\n onSwipeableWillClose,\n onSwipeableOpen,\n onSwipeableClose,\n renderLeftActions,\n renderRightActions,\n simultaneousWithExternalGesture,\n ...remainingProps\n } = props;\n\n const rowState = useSharedValue<number>(0);\n\n const userDrag = useSharedValue<number>(0);\n\n const appliedTranslation = useSharedValue<number>(0);\n\n const rowWidth = useSharedValue<number>(0);\n const leftWidth = useSharedValue<number>(0);\n const rightWidth = useSharedValue<number>(0);\n\n const showLeftProgress = useSharedValue<number>(0);\n const showRightProgress = useSharedValue<number>(0);\n\n const updateAnimatedEvent = useCallback(() => {\n 'worklet';\n\n const shouldOvershootLeft = overshootLeft ?? leftWidth.value > 0;\n const shouldOvershootRight = overshootRight ?? rightWidth.value > 0;\n\n const startOffset =\n rowState.value === 1\n ? leftWidth.value\n : rowState.value === -1\n ? -rightWidth.value\n : 0;\n\n const offsetDrag = userDrag.value / friction + startOffset;\n\n appliedTranslation.value = interpolate(\n offsetDrag,\n [\n -rightWidth.value - 1,\n -rightWidth.value,\n leftWidth.value,\n leftWidth.value + 1,\n ],\n [\n -rightWidth.value -\n (shouldOvershootRight ? 1 / overshootFriction : 0),\n -rightWidth.value,\n leftWidth.value,\n leftWidth.value + (shouldOvershootLeft ? 1 / overshootFriction : 0),\n ]\n );\n\n showLeftProgress.value =\n leftWidth.value > 0\n ? interpolate(\n appliedTranslation.value,\n [-1, 0, leftWidth.value],\n [0, 0, 1]\n )\n : 0;\n\n showRightProgress.value =\n rightWidth.value > 0\n ? interpolate(\n appliedTranslation.value,\n [-rightWidth.value, 0, 1],\n [1, 0, 0]\n )\n : 0;\n }, [\n appliedTranslation,\n friction,\n leftWidth,\n overshootFriction,\n rightWidth,\n rowState,\n showLeftProgress,\n showRightProgress,\n userDrag,\n overshootLeft,\n overshootRight,\n ]);\n\n const dispatchImmediateEvents = useCallback(\n (fromValue: number, toValue: number) => {\n 'worklet';\n if (toValue > 0 && onSwipeableWillOpen) {\n runOnJS(onSwipeableWillOpen)(SwipeDirection.RIGHT);\n } else if (toValue < 0 && onSwipeableWillOpen) {\n runOnJS(onSwipeableWillOpen)(SwipeDirection.LEFT);\n } else if (onSwipeableWillClose) {\n runOnJS(onSwipeableWillClose)(\n fromValue > 0 ? SwipeDirection.LEFT : SwipeDirection.RIGHT\n );\n }\n },\n [onSwipeableWillClose, onSwipeableWillOpen]\n );\n\n const dispatchEndEvents = useCallback(\n (fromValue: number, toValue: number) => {\n 'worklet';\n if (toValue > 0 && onSwipeableOpen) {\n runOnJS(onSwipeableOpen)(SwipeDirection.RIGHT);\n } else if (toValue < 0 && onSwipeableOpen) {\n runOnJS(onSwipeableOpen)(SwipeDirection.LEFT);\n } else if (onSwipeableClose) {\n runOnJS(onSwipeableClose)(\n fromValue > 0 ? SwipeDirection.LEFT : SwipeDirection.RIGHT\n );\n }\n },\n [onSwipeableClose, onSwipeableOpen]\n );\n\n const animateRow: (toValue: number, velocityX?: number) => void =\n useCallback(\n (toValue: number, velocityX?: number) => {\n 'worklet';\n\n const translationSpringConfig = {\n mass: 2,\n damping: 1000,\n stiffness: 700,\n velocity: velocityX,\n overshootClamping: true,\n reduceMotion: ReduceMotion.System,\n ...animationOptions,\n };\n\n const isClosing = toValue === 0;\n const moveToRight = isClosing ? rowState.value < 0 : toValue > 0;\n\n const usedWidth = isClosing\n ? moveToRight\n ? rightWidth.value\n : leftWidth.value\n : moveToRight\n ? leftWidth.value\n : rightWidth.value;\n\n const progressSpringConfig = {\n ...translationSpringConfig,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n velocity:\n velocityX &&\n interpolate(velocityX, [-usedWidth, usedWidth], [-1, 1]),\n };\n\n const frozenRowState = rowState.value;\n\n appliedTranslation.value = withSpring(\n toValue,\n translationSpringConfig,\n (isFinished) => {\n if (isFinished) {\n dispatchEndEvents(frozenRowState, toValue);\n }\n }\n );\n\n const progressTarget = toValue === 0 ? 0 : 1 * Math.sign(toValue);\n\n showLeftProgress.value = withSpring(\n Math.max(progressTarget, 0),\n progressSpringConfig\n );\n\n showRightProgress.value = withSpring(\n Math.max(-progressTarget, 0),\n progressSpringConfig\n );\n\n dispatchImmediateEvents(frozenRowState, toValue);\n\n rowState.value = Math.sign(toValue);\n },\n [\n rowState,\n animationOptions,\n appliedTranslation,\n showLeftProgress,\n leftWidth,\n showRightProgress,\n rightWidth,\n dispatchImmediateEvents,\n dispatchEndEvents,\n ]\n );\n\n const leftLayoutRef = useAnimatedRef();\n const leftWrapperLayoutRef = useAnimatedRef();\n const rightLayoutRef = useAnimatedRef();\n\n const updateElementWidths = useCallback(() => {\n 'worklet';\n const leftLayout = measure(leftLayoutRef);\n const leftWrapperLayout = measure(leftWrapperLayoutRef);\n const rightLayout = measure(rightLayoutRef);\n leftWidth.value =\n (leftLayout?.pageX ?? 0) - (leftWrapperLayout?.pageX ?? 0);\n\n rightWidth.value =\n rowWidth.value -\n (rightLayout?.pageX ?? rowWidth.value) +\n (leftWrapperLayout?.pageX ?? 0);\n }, [\n leftLayoutRef,\n leftWrapperLayoutRef,\n rightLayoutRef,\n leftWidth,\n rightWidth,\n rowWidth,\n ]);\n\n const swipeableMethods = useMemo<SwipeableMethods>(\n () => ({\n close() {\n 'worklet';\n if (_WORKLET) {\n animateRow(0);\n return;\n }\n runOnUI(() => {\n animateRow(0);\n })();\n },\n openLeft() {\n 'worklet';\n if (_WORKLET) {\n updateElementWidths();\n animateRow(leftWidth.value);\n return;\n }\n runOnUI(() => {\n updateElementWidths();\n animateRow(leftWidth.value);\n })();\n },\n openRight() {\n 'worklet';\n if (_WORKLET) {\n updateElementWidths();\n animateRow(-rightWidth.value);\n return;\n }\n runOnUI(() => {\n updateElementWidths();\n animateRow(-rightWidth.value);\n })();\n },\n reset() {\n 'worklet';\n userDrag.value = 0;\n showLeftProgress.value = 0;\n appliedTranslation.value = 0;\n rowState.value = 0;\n },\n }),\n [\n animateRow,\n updateElementWidths,\n leftWidth,\n rightWidth,\n userDrag,\n showLeftProgress,\n appliedTranslation,\n rowState,\n ]\n );\n\n const onRowLayout = useCallback(\n ({ nativeEvent }: LayoutChangeEvent) => {\n rowWidth.value = nativeEvent.layout.width;\n },\n [rowWidth]\n );\n\n // As stated in `Dimensions.get` docstring, this function should be called on every render\n // since dimensions may change (e.g. orientation change)\n\n const leftActionAnimation = useAnimatedStyle(() => {\n return {\n opacity: showLeftProgress.value === 0 ? 0 : 1,\n };\n });\n\n const leftElement = useCallback(\n () => (\n <Animated.View\n ref={leftWrapperLayoutRef}\n style={[styles.leftActions, leftActionAnimation]}>\n {renderLeftActions?.(\n showLeftProgress,\n appliedTranslation,\n swipeableMethods\n )}\n <Animated.View ref={leftLayoutRef} />\n </Animated.View>\n ),\n [\n appliedTranslation,\n leftActionAnimation,\n leftLayoutRef,\n leftWrapperLayoutRef,\n renderLeftActions,\n showLeftProgress,\n swipeableMethods,\n ]\n );\n\n const rightActionAnimation = useAnimatedStyle(() => {\n return {\n opacity: showRightProgress.value === 0 ? 0 : 1,\n };\n });\n\n const rightElement = useCallback(\n () => (\n <Animated.View style={[styles.rightActions, rightActionAnimation]}>\n {renderRightActions?.(\n showRightProgress,\n appliedTranslation,\n swipeableMethods\n )}\n <Animated.View ref={rightLayoutRef} />\n </Animated.View>\n ),\n [\n appliedTranslation,\n renderRightActions,\n rightActionAnimation,\n rightLayoutRef,\n showRightProgress,\n swipeableMethods,\n ]\n );\n\n const handleRelease = useCallback(\n (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => {\n 'worklet';\n const { velocityX } = event;\n userDrag.value = event.translationX;\n\n const leftThresholdProp = leftThreshold ?? leftWidth.value / 2;\n const rightThresholdProp = rightThreshold ?? rightWidth.value / 2;\n\n const translationX =\n (userDrag.value + DRAG_TOSS * velocityX) / friction;\n\n let toValue = 0;\n\n if (rowState.value === 0) {\n if (translationX > leftThresholdProp) {\n toValue = leftWidth.value;\n } else if (translationX < -rightThresholdProp) {\n toValue = -rightWidth.value;\n }\n } else if (rowState.value === 1) {\n // Swiped to left\n if (translationX > -leftThresholdProp) {\n toValue = leftWidth.value;\n }\n } else {\n // Swiped to right\n if (translationX < rightThresholdProp) {\n toValue = -rightWidth.value;\n }\n }\n\n animateRow(toValue, velocityX / friction);\n },\n [\n animateRow,\n friction,\n leftThreshold,\n leftWidth,\n rightThreshold,\n rightWidth,\n rowState,\n userDrag,\n ]\n );\n\n const close = useCallback(() => {\n 'worklet';\n animateRow(0);\n }, [animateRow]);\n\n const dragStarted = useSharedValue<boolean>(false);\n\n const tapGesture = useMemo(() => {\n const tap = Gesture.Tap()\n .shouldCancelWhenOutside(true)\n .onStart(() => {\n if (rowState.value !== 0) {\n close();\n }\n });\n\n if (!simultaneousWithExternalGesture) {\n return tap;\n }\n\n if (Array.isArray(simultaneousWithExternalGesture)) {\n tap.simultaneousWithExternalGesture(...simultaneousWithExternalGesture);\n } else {\n tap.simultaneousWithExternalGesture(simultaneousWithExternalGesture);\n }\n\n return tap;\n }, [close, rowState, simultaneousWithExternalGesture]);\n\n const panGesture = useMemo(() => {\n const pan = Gesture.Pan()\n .enabled(enabled !== false)\n .enableTrackpadTwoFingerGesture(enableTrackpadTwoFingerGesture)\n .activeOffsetX([-dragOffsetFromRightEdge, dragOffsetFromLeftEdge])\n .onStart(updateElementWidths)\n .onUpdate(\n (event: GestureUpdateEvent<PanGestureHandlerEventPayload>) => {\n userDrag.value = event.translationX;\n\n const direction =\n rowState.value === -1\n ? SwipeDirection.RIGHT\n : rowState.value === 1\n ? SwipeDirection.LEFT\n : event.translationX > 0\n ? SwipeDirection.RIGHT\n : SwipeDirection.LEFT;\n\n if (!dragStarted.value) {\n dragStarted.value = true;\n if (rowState.value === 0 && onSwipeableOpenStartDrag) {\n runOnJS(onSwipeableOpenStartDrag)(direction);\n } else if (onSwipeableCloseStartDrag) {\n runOnJS(onSwipeableCloseStartDrag)(direction);\n }\n }\n\n updateAnimatedEvent();\n }\n )\n .onEnd(\n (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => {\n handleRelease(event);\n }\n )\n .onFinalize(() => {\n dragStarted.value = false;\n });\n\n if (!simultaneousWithExternalGesture) {\n return pan;\n }\n\n if (Array.isArray(simultaneousWithExternalGesture)) {\n pan.simultaneousWithExternalGesture(...simultaneousWithExternalGesture);\n } else {\n pan.simultaneousWithExternalGesture(simultaneousWithExternalGesture);\n }\n\n return pan;\n }, [\n dragOffsetFromLeftEdge,\n dragOffsetFromRightEdge,\n dragStarted,\n enableTrackpadTwoFingerGesture,\n enabled,\n handleRelease,\n onSwipeableCloseStartDrag,\n onSwipeableOpenStartDrag,\n rowState,\n updateAnimatedEvent,\n updateElementWidths,\n userDrag,\n simultaneousWithExternalGesture,\n ]);\n\n useImperativeHandle(ref, () => swipeableMethods, [swipeableMethods]);\n\n const animatedStyle = useAnimatedStyle(\n () => ({\n transform: [{ translateX: appliedTranslation.value }],\n pointerEvents: rowState.value === 0 ? 'auto' : 'box-only',\n }),\n [appliedTranslation, rowState]\n );\n\n const swipeableComponent = (\n <GestureDetector gesture={panGesture} touchAction=\"pan-y\">\n <Animated.View\n {...remainingProps}\n onLayout={onRowLayout}\n style={[styles.container, containerStyle]}>\n {leftElement()}\n {rightElement()}\n <GestureDetector gesture={tapGesture} touchAction=\"pan-y\">\n <Animated.View style={[animatedStyle, childrenContainerStyle]}>\n {children}\n </Animated.View>\n </GestureDetector>\n </Animated.View>\n </GestureDetector>\n );\n\n return testID ? (\n <View testID={testID}>{swipeableComponent}</View>\n ) : (\n swipeableComponent\n );\n }\n);\n\nexport default Swipeable;\nexport type SwipeableRef = ForwardedRef<SwipeableMethods>;\n\nconst styles = StyleSheet.create({\n container: {\n overflow: 'hidden',\n },\n leftActions: {\n ...StyleSheet.absoluteFillObject,\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\n overflow: 'hidden',\n },\n rightActions: {\n ...StyleSheet.absoluteFillObject,\n flexDirection: I18nManager.isRTL ? 'row' : 'row-reverse',\n overflow: 'hidden',\n },\n});\n"],"mappings":"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","ignoreList":[]}
|