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
@@ -4,36 +4,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = Pressable;
|
7
|
-
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
9
|
-
|
10
8
|
var _gestureObjects = require("../../handlers/gestures/gestureObjects");
|
11
|
-
|
12
9
|
var _GestureDetector = require("../../handlers/gestures/GestureDetector");
|
13
|
-
|
14
10
|
var _reactNative = require("react-native");
|
15
|
-
|
16
11
|
var _GestureHandlerButton = _interopRequireDefault(require("../GestureHandlerButton"));
|
17
|
-
|
18
12
|
var _utils = require("./utils");
|
19
|
-
|
20
13
|
var _PressabilityDebugView = require("../../handlers/PressabilityDebugView");
|
21
|
-
|
22
14
|
var _utils2 = require("../../utils");
|
23
|
-
|
24
|
-
function
|
25
|
-
|
26
|
-
function
|
27
|
-
|
28
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
29
|
-
|
30
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
31
|
-
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
18
|
+
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); }
|
32
19
|
const DEFAULT_LONG_PRESS_DURATION = 500;
|
33
|
-
|
20
|
+
const IS_TEST_ENV = (0, _utils2.isTestEnv)();
|
21
|
+
let IS_FABRIC = null;
|
34
22
|
function Pressable(props) {
|
35
|
-
var _android_ripple$
|
36
|
-
|
23
|
+
var _android_ripple$radiu;
|
37
24
|
const {
|
38
25
|
testOnly_pressed,
|
39
26
|
hitSlop,
|
@@ -56,8 +43,9 @@ function Pressable(props) {
|
|
56
43
|
...remainingProps
|
57
44
|
} = props;
|
58
45
|
const [pressedState, setPressedState] = (0, _react.useState)(testOnly_pressed !== null && testOnly_pressed !== void 0 ? testOnly_pressed : false);
|
59
|
-
const pressableRef = (0, _react.useRef)(null);
|
46
|
+
const pressableRef = (0, _react.useRef)(null);
|
60
47
|
|
48
|
+
// Disabled when onLongPress has been called
|
61
49
|
const isPressCallbackEnabled = (0, _react.useRef)(true);
|
62
50
|
const hasPassedBoundsChecks = (0, _react.useRef)(false);
|
63
51
|
const shouldPreventNativeEffects = (0, _react.useRef)(false);
|
@@ -70,40 +58,35 @@ function Pressable(props) {
|
|
70
58
|
if (hoverOutTimeout.current) {
|
71
59
|
clearTimeout(hoverOutTimeout.current);
|
72
60
|
}
|
73
|
-
|
74
61
|
if (delayHoverIn) {
|
75
62
|
hoverInTimeout.current = setTimeout(() => onHoverIn === null || onHoverIn === void 0 ? void 0 : onHoverIn((0, _utils.gestureToPressableEvent)(event)), delayHoverIn);
|
76
63
|
return;
|
77
64
|
}
|
78
|
-
|
79
|
-
onHoverIn === null || onHoverIn === void 0 ? void 0 : onHoverIn((0, _utils.gestureToPressableEvent)(event));
|
65
|
+
onHoverIn === null || onHoverIn === void 0 || onHoverIn((0, _utils.gestureToPressableEvent)(event));
|
80
66
|
}).onFinalize(event => {
|
81
67
|
if (hoverInTimeout.current) {
|
82
68
|
clearTimeout(hoverInTimeout.current);
|
83
69
|
}
|
84
|
-
|
85
70
|
if (delayHoverOut) {
|
86
71
|
hoverOutTimeout.current = setTimeout(() => onHoverOut === null || onHoverOut === void 0 ? void 0 : onHoverOut((0, _utils.gestureToPressableEvent)(event)), delayHoverOut);
|
87
72
|
return;
|
88
73
|
}
|
89
|
-
|
90
|
-
onHoverOut === null || onHoverOut === void 0 ? void 0 : onHoverOut((0, _utils.gestureToPressableEvent)(event));
|
74
|
+
onHoverOut === null || onHoverOut === void 0 || onHoverOut((0, _utils.gestureToPressableEvent)(event));
|
91
75
|
}), [delayHoverIn, delayHoverOut, onHoverIn, onHoverOut]);
|
92
76
|
const pressDelayTimeoutRef = (0, _react.useRef)(null);
|
93
|
-
const isTouchPropagationAllowed = (0, _react.useRef)(false);
|
77
|
+
const isTouchPropagationAllowed = (0, _react.useRef)(false);
|
94
78
|
|
79
|
+
// iOS only: due to varying flow of gestures, events sometimes have to be saved for later use
|
95
80
|
const deferredEventPayload = (0, _react.useRef)(null);
|
96
81
|
const pressInHandler = (0, _react.useCallback)(event => {
|
97
82
|
if (handlingOnTouchesDown.current) {
|
98
83
|
deferredEventPayload.current = event;
|
99
84
|
}
|
100
|
-
|
101
85
|
if (!isTouchPropagationAllowed.current) {
|
102
86
|
return;
|
103
87
|
}
|
104
|
-
|
105
88
|
deferredEventPayload.current = null;
|
106
|
-
onPressIn === null || onPressIn === void 0
|
89
|
+
onPressIn === null || onPressIn === void 0 || onPressIn(event);
|
107
90
|
isPressCallbackEnabled.current = true;
|
108
91
|
pressDelayTimeoutRef.current = null;
|
109
92
|
setPressedState(true);
|
@@ -112,7 +95,6 @@ function Pressable(props) {
|
|
112
95
|
if (!hasPassedBoundsChecks.current || event.nativeEvent.touches.length > event.nativeEvent.changedTouches.length) {
|
113
96
|
return;
|
114
97
|
}
|
115
|
-
|
116
98
|
if (unstable_pressDelay && pressDelayTimeoutRef.current !== null) {
|
117
99
|
// When delay is preemptively finished by lifting touches,
|
118
100
|
// we want to immediately activate it's effects - pressInHandler,
|
@@ -120,23 +102,18 @@ function Pressable(props) {
|
|
120
102
|
clearTimeout(pressDelayTimeoutRef.current);
|
121
103
|
pressInHandler(event);
|
122
104
|
}
|
123
|
-
|
124
105
|
if (deferredEventPayload.current) {
|
125
|
-
onPressIn === null || onPressIn === void 0
|
106
|
+
onPressIn === null || onPressIn === void 0 || onPressIn(deferredEventPayload.current);
|
126
107
|
deferredEventPayload.current = null;
|
127
108
|
}
|
128
|
-
|
129
|
-
onPressOut === null || onPressOut === void 0 ? void 0 : onPressOut(event);
|
130
|
-
|
109
|
+
onPressOut === null || onPressOut === void 0 || onPressOut(event);
|
131
110
|
if (isPressCallbackEnabled.current) {
|
132
|
-
onPress === null || onPress === void 0
|
111
|
+
onPress === null || onPress === void 0 || onPress(event);
|
133
112
|
}
|
134
|
-
|
135
113
|
if (longPressTimeoutRef.current) {
|
136
114
|
clearTimeout(longPressTimeoutRef.current);
|
137
115
|
longPressTimeoutRef.current = null;
|
138
116
|
}
|
139
|
-
|
140
117
|
isTouchPropagationAllowed.current = false;
|
141
118
|
hasPassedBoundsChecks.current = false;
|
142
119
|
isPressCallbackEnabled.current = true;
|
@@ -149,12 +126,10 @@ function Pressable(props) {
|
|
149
126
|
if (!isTouchPropagationAllowed.current) {
|
150
127
|
return;
|
151
128
|
}
|
152
|
-
|
153
129
|
if (hasPassedBoundsChecks.current) {
|
154
|
-
onLongPress === null || onLongPress === void 0
|
130
|
+
onLongPress === null || onLongPress === void 0 || onLongPress((0, _utils.gestureTouchToPressableEvent)(event));
|
155
131
|
isPressCallbackEnabled.current = false;
|
156
132
|
}
|
157
|
-
|
158
133
|
if (longPressTimeoutRef.current) {
|
159
134
|
clearTimeout(longPressTimeoutRef.current);
|
160
135
|
longPressTimeoutRef.current = null;
|
@@ -166,11 +141,9 @@ function Pressable(props) {
|
|
166
141
|
.maxDistance(_utils2.INT32_MAX) // Stops long press from cancelling after set distance
|
167
142
|
.cancelsTouchesInView(false).onTouchesDown(event => {
|
168
143
|
var _pressableRef$current;
|
169
|
-
|
170
144
|
handlingOnTouchesDown.current = true;
|
171
|
-
(_pressableRef$current = pressableRef.current) === null || _pressableRef$current === void 0
|
145
|
+
(_pressableRef$current = pressableRef.current) === null || _pressableRef$current === void 0 || _pressableRef$current.measure((_x, _y, width, height) => {
|
172
146
|
var _onEndHandlingTouches;
|
173
|
-
|
174
147
|
if (!(0, _utils.isTouchWithinInset)({
|
175
148
|
width,
|
176
149
|
height
|
@@ -180,14 +153,13 @@ function Pressable(props) {
|
|
180
153
|
handlingOnTouchesDown.current = false;
|
181
154
|
return;
|
182
155
|
}
|
156
|
+
hasPassedBoundsChecks.current = true;
|
183
157
|
|
184
|
-
|
185
|
-
|
158
|
+
// In case of multiple touches, the first one starts long press gesture
|
186
159
|
if (longPressTimeoutRef.current === null) {
|
187
160
|
// Start long press gesture timer
|
188
161
|
longPressTimeoutRef.current = setTimeout(() => activateLongPress(event), longPressMinDuration);
|
189
162
|
}
|
190
|
-
|
191
163
|
if (unstable_pressDelay) {
|
192
164
|
pressDelayTimeoutRef.current = setTimeout(() => {
|
193
165
|
pressInHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
@@ -195,43 +167,35 @@ function Pressable(props) {
|
|
195
167
|
} else {
|
196
168
|
pressInHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
197
169
|
}
|
198
|
-
|
199
|
-
(_onEndHandlingTouches = onEndHandlingTouchesDown.current) === null || _onEndHandlingTouches === void 0 ? void 0 : _onEndHandlingTouches.call(onEndHandlingTouchesDown);
|
170
|
+
(_onEndHandlingTouches = onEndHandlingTouchesDown.current) === null || _onEndHandlingTouches === void 0 || _onEndHandlingTouches.call(onEndHandlingTouchesDown);
|
200
171
|
onEndHandlingTouchesDown.current = null;
|
201
172
|
handlingOnTouchesDown.current = false;
|
202
173
|
});
|
203
174
|
}).onTouchesUp(event => {
|
204
175
|
if (handlingOnTouchesDown.current) {
|
205
176
|
onEndHandlingTouchesDown.current = () => pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
206
|
-
|
207
177
|
return;
|
208
|
-
}
|
178
|
+
}
|
179
|
+
// On iOS, short taps will make LongPress gesture call onTouchesUp before Native gesture calls onStart
|
209
180
|
// This variable ensures that onStart isn't detected as the first gesture since Pressable is pressed.
|
210
|
-
|
211
|
-
|
212
181
|
if (deferredEventPayload.current !== null) {
|
213
182
|
shouldPreventNativeEffects.current = true;
|
214
183
|
}
|
215
|
-
|
216
184
|
pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
217
185
|
}).onTouchesCancelled(event => {
|
218
186
|
isPressCallbackEnabled.current = false;
|
219
|
-
|
220
187
|
if (handlingOnTouchesDown.current) {
|
221
188
|
cancelledMidPress.current = true;
|
222
|
-
|
223
189
|
onEndHandlingTouchesDown.current = () => pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
224
|
-
|
225
190
|
return;
|
226
191
|
}
|
227
|
-
|
228
192
|
if (!hasPassedBoundsChecks.current || event.allTouches.length > event.changedTouches.length) {
|
229
193
|
return;
|
230
194
|
}
|
231
|
-
|
232
195
|
pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
233
|
-
}), [activateLongPress, longPressMinDuration, normalizedHitSlop, pressInHandler, pressOutHandler, unstable_pressDelay]);
|
196
|
+
}), [activateLongPress, longPressMinDuration, normalizedHitSlop, pressInHandler, pressOutHandler, unstable_pressDelay]);
|
234
197
|
|
198
|
+
// RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events
|
235
199
|
const buttonGesture = (0, _react.useMemo)(() => _gestureObjects.GestureObjects.Native().onBegin(() => {
|
236
200
|
// Android sets BEGAN state on press down
|
237
201
|
if (_reactNative.Platform.OS === 'android' || _reactNative.Platform.OS === 'macos') {
|
@@ -240,16 +204,14 @@ function Pressable(props) {
|
|
240
204
|
}).onStart(() => {
|
241
205
|
if (_reactNative.Platform.OS === 'web') {
|
242
206
|
isTouchPropagationAllowed.current = true;
|
243
|
-
}
|
244
|
-
|
207
|
+
}
|
245
208
|
|
209
|
+
// iOS sets ACTIVE state on press down
|
246
210
|
if (_reactNative.Platform.OS !== 'ios') {
|
247
211
|
return;
|
248
212
|
}
|
249
|
-
|
250
213
|
if (deferredEventPayload.current) {
|
251
214
|
isTouchPropagationAllowed.current = true;
|
252
|
-
|
253
215
|
if (hasPassedBoundsChecks.current) {
|
254
216
|
pressInHandler(deferredEventPayload.current);
|
255
217
|
deferredEventPayload.current = null;
|
@@ -257,40 +219,33 @@ function Pressable(props) {
|
|
257
219
|
pressOutHandler(deferredEventPayload.current);
|
258
220
|
isTouchPropagationAllowed.current = false;
|
259
221
|
}
|
260
|
-
|
261
222
|
return;
|
262
223
|
}
|
263
|
-
|
264
224
|
if (hasPassedBoundsChecks.current) {
|
265
225
|
isTouchPropagationAllowed.current = true;
|
266
226
|
return;
|
267
227
|
}
|
268
|
-
|
269
228
|
if (shouldPreventNativeEffects.current) {
|
270
229
|
shouldPreventNativeEffects.current = false;
|
271
230
|
return;
|
272
231
|
}
|
273
|
-
|
274
232
|
isTouchPropagationAllowed.current = true;
|
275
233
|
}), [pressInHandler, pressOutHandler]);
|
276
234
|
const appliedHitSlop = (0, _utils.addInsets)(normalizedHitSlop, normalizedPressRetentionOffset);
|
277
235
|
const isPressableEnabled = disabled !== true;
|
278
236
|
const gestures = [buttonGesture, pressAndTouchGesture, hoverGesture];
|
279
|
-
|
280
237
|
for (const gesture of gestures) {
|
281
238
|
gesture.enabled(isPressableEnabled);
|
282
239
|
gesture.runOnJS(true);
|
283
240
|
gesture.hitSlop(appliedHitSlop);
|
284
241
|
gesture.shouldCancelWhenOutside(_reactNative.Platform.OS === 'web' ? false : true);
|
285
|
-
}
|
286
|
-
|
242
|
+
}
|
287
243
|
|
244
|
+
// Uses different hitSlop, to activate on hitSlop area instead of pressRetentionOffset area
|
288
245
|
buttonGesture.hitSlop(normalizedHitSlop);
|
289
|
-
|
290
246
|
const gesture = _gestureObjects.GestureObjects.Simultaneous(...gestures);
|
291
247
|
|
292
|
-
|
293
|
-
|
248
|
+
// `cursor: 'pointer'` on `RNButton` crashes iOS
|
294
249
|
const pointerStyle = _reactNative.Platform.OS === 'web' ? {
|
295
250
|
cursor: 'pointer'
|
296
251
|
} : {};
|
@@ -300,6 +255,15 @@ function Pressable(props) {
|
|
300
255
|
const childrenProp = typeof children === 'function' ? children({
|
301
256
|
pressed: pressedState
|
302
257
|
}) : children;
|
258
|
+
const rippleColor = (0, _react.useMemo)(() => {
|
259
|
+
var _android_ripple$color;
|
260
|
+
if (IS_FABRIC === null) {
|
261
|
+
IS_FABRIC = (0, _utils2.isFabric)();
|
262
|
+
}
|
263
|
+
const defaultRippleColor = android_ripple ? undefined : 'transparent';
|
264
|
+
const unprocessedRippleColor = (_android_ripple$color = android_ripple === null || android_ripple === void 0 ? void 0 : android_ripple.color) !== null && _android_ripple$color !== void 0 ? _android_ripple$color : defaultRippleColor;
|
265
|
+
return IS_FABRIC ? unprocessedRippleColor : (0, _reactNative.processColor)(unprocessedRippleColor);
|
266
|
+
}, [android_ripple]);
|
303
267
|
return /*#__PURE__*/_react.default.createElement(_GestureDetector.GestureDetector, {
|
304
268
|
gesture: gesture
|
305
269
|
}, /*#__PURE__*/_react.default.createElement(_GestureHandlerButton.default, _extends({}, remainingProps, {
|
@@ -307,9 +271,13 @@ function Pressable(props) {
|
|
307
271
|
hitSlop: appliedHitSlop,
|
308
272
|
enabled: isPressableEnabled,
|
309
273
|
touchSoundDisabled: android_disableSound !== null && android_disableSound !== void 0 ? android_disableSound : undefined,
|
310
|
-
rippleColor:
|
274
|
+
rippleColor: rippleColor,
|
311
275
|
rippleRadius: (_android_ripple$radiu = android_ripple === null || android_ripple === void 0 ? void 0 : android_ripple.radius) !== null && _android_ripple$radiu !== void 0 ? _android_ripple$radiu : undefined,
|
312
|
-
style: [pointerStyle, styleProp]
|
276
|
+
style: [pointerStyle, styleProp],
|
277
|
+
testOnly_onPress: IS_TEST_ENV ? onPress : undefined,
|
278
|
+
testOnly_onPressIn: IS_TEST_ENV ? onPressIn : undefined,
|
279
|
+
testOnly_onPressOut: IS_TEST_ENV ? onPressOut : undefined,
|
280
|
+
testOnly_onLongPress: IS_TEST_ENV ? onLongPress : undefined
|
313
281
|
}), childrenProp, __DEV__ ? /*#__PURE__*/_react.default.createElement(_PressabilityDebugView.PressabilityDebugView, {
|
314
282
|
color: "red",
|
315
283
|
hitSlop: normalizedHitSlop
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["Pressable.tsx"],"names":["DEFAULT_LONG_PRESS_DURATION","Pressable","props","testOnly_pressed","hitSlop","pressRetentionOffset","delayHoverIn","onHoverIn","delayHoverOut","onHoverOut","delayLongPress","unstable_pressDelay","onPress","onPressIn","onPressOut","onLongPress","style","children","android_disableSound","android_ripple","disabled","remainingProps","pressedState","setPressedState","pressableRef","isPressCallbackEnabled","hasPassedBoundsChecks","shouldPreventNativeEffects","normalizedHitSlop","normalizedPressRetentionOffset","hoverInTimeout","hoverOutTimeout","hoverGesture","Gesture","Hover","manualActivation","cancelsTouchesInView","onBegin","event","current","clearTimeout","setTimeout","onFinalize","pressDelayTimeoutRef","isTouchPropagationAllowed","deferredEventPayload","pressInHandler","handlingOnTouchesDown","pressOutHandler","nativeEvent","touches","length","changedTouches","longPressTimeoutRef","onEndHandlingTouchesDown","cancelledMidPress","activateLongPress","longPressMinDuration","pressAndTouchGesture","LongPress","minDuration","INT32_MAX","maxDistance","onTouchesDown","measure","_x","_y","width","height","at","onTouchesUp","onTouchesCancelled","allTouches","buttonGesture","Native","Platform","OS","onStart","appliedHitSlop","isPressableEnabled","gestures","gesture","enabled","runOnJS","shouldCancelWhenOutside","Simultaneous","defaultRippleColor","undefined","pointerStyle","cursor","styleProp","pressed","childrenProp","color","radius","__DEV__"],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { GestureObjects as Gesture } from '../../handlers/gestures/gestureObjects';\nimport { GestureDetector } from '../../handlers/gestures/GestureDetector';\nimport { PressableEvent, PressableProps } from './PressableProps';\nimport {\n Insets,\n Platform,\n StyleProp,\n View,\n ViewStyle,\n processColor,\n} from 'react-native';\nimport NativeButton from '../GestureHandlerButton';\nimport {\n numberAsInset,\n gestureToPressableEvent,\n isTouchWithinInset,\n gestureTouchToPressableEvent,\n addInsets,\n} from './utils';\nimport { PressabilityDebugView } from '../../handlers/PressabilityDebugView';\nimport { GestureTouchEvent } from '../../handlers/gestureHandlerCommon';\nimport { INT32_MAX } from '../../utils';\n\nconst DEFAULT_LONG_PRESS_DURATION = 500;\n\nexport default function Pressable(props: PressableProps) {\n const {\n testOnly_pressed,\n hitSlop,\n pressRetentionOffset,\n delayHoverIn,\n onHoverIn,\n delayHoverOut,\n onHoverOut,\n delayLongPress,\n unstable_pressDelay,\n onPress,\n onPressIn,\n onPressOut,\n onLongPress,\n style,\n children,\n android_disableSound,\n android_ripple,\n disabled,\n ...remainingProps\n } = props;\n\n const [pressedState, setPressedState] = useState(testOnly_pressed ?? false);\n\n const pressableRef = useRef<View>(null);\n\n // Disabled when onLongPress has been called\n const isPressCallbackEnabled = useRef<boolean>(true);\n const hasPassedBoundsChecks = useRef<boolean>(false);\n const shouldPreventNativeEffects = useRef<boolean>(false);\n\n const normalizedHitSlop: Insets = useMemo(\n () =>\n typeof hitSlop === 'number' ? numberAsInset(hitSlop) : (hitSlop ?? {}),\n [hitSlop]\n );\n\n const normalizedPressRetentionOffset: Insets = useMemo(\n () =>\n typeof pressRetentionOffset === 'number'\n ? numberAsInset(pressRetentionOffset)\n : (pressRetentionOffset ?? {}),\n [pressRetentionOffset]\n );\n\n const hoverInTimeout = useRef<number | null>(null);\n const hoverOutTimeout = useRef<number | null>(null);\n\n const hoverGesture = useMemo(\n () =>\n Gesture.Hover()\n .manualActivation(true) // Stops Hover from blocking Native gesture activation on web\n .cancelsTouchesInView(false)\n .onBegin((event) => {\n if (hoverOutTimeout.current) {\n clearTimeout(hoverOutTimeout.current);\n }\n if (delayHoverIn) {\n hoverInTimeout.current = setTimeout(\n () => onHoverIn?.(gestureToPressableEvent(event)),\n delayHoverIn\n );\n return;\n }\n onHoverIn?.(gestureToPressableEvent(event));\n })\n .onFinalize((event) => {\n if (hoverInTimeout.current) {\n clearTimeout(hoverInTimeout.current);\n }\n if (delayHoverOut) {\n hoverOutTimeout.current = setTimeout(\n () => onHoverOut?.(gestureToPressableEvent(event)),\n delayHoverOut\n );\n return;\n }\n onHoverOut?.(gestureToPressableEvent(event));\n }),\n [delayHoverIn, delayHoverOut, onHoverIn, onHoverOut]\n );\n\n const pressDelayTimeoutRef = useRef<number | null>(null);\n const isTouchPropagationAllowed = useRef<boolean>(false);\n\n // iOS only: due to varying flow of gestures, events sometimes have to be saved for later use\n const deferredEventPayload = useRef<PressableEvent | null>(null);\n\n const pressInHandler = useCallback(\n (event: PressableEvent) => {\n if (handlingOnTouchesDown.current) {\n deferredEventPayload.current = event;\n }\n\n if (!isTouchPropagationAllowed.current) {\n return;\n }\n\n deferredEventPayload.current = null;\n\n onPressIn?.(event);\n isPressCallbackEnabled.current = true;\n pressDelayTimeoutRef.current = null;\n setPressedState(true);\n },\n [onPressIn]\n );\n\n const pressOutHandler = useCallback(\n (event: PressableEvent) => {\n if (\n !hasPassedBoundsChecks.current ||\n event.nativeEvent.touches.length >\n event.nativeEvent.changedTouches.length\n ) {\n return;\n }\n\n if (unstable_pressDelay && pressDelayTimeoutRef.current !== null) {\n // When delay is preemptively finished by lifting touches,\n // we want to immediately activate it's effects - pressInHandler,\n // even though we are located at the pressOutHandler\n clearTimeout(pressDelayTimeoutRef.current);\n pressInHandler(event);\n }\n\n if (deferredEventPayload.current) {\n onPressIn?.(deferredEventPayload.current);\n deferredEventPayload.current = null;\n }\n\n onPressOut?.(event);\n\n if (isPressCallbackEnabled.current) {\n onPress?.(event);\n }\n\n if (longPressTimeoutRef.current) {\n clearTimeout(longPressTimeoutRef.current);\n longPressTimeoutRef.current = null;\n }\n\n isTouchPropagationAllowed.current = false;\n hasPassedBoundsChecks.current = false;\n isPressCallbackEnabled.current = true;\n setPressedState(false);\n },\n [onPress, onPressIn, onPressOut, pressInHandler, unstable_pressDelay]\n );\n\n const handlingOnTouchesDown = useRef<boolean>(false);\n const onEndHandlingTouchesDown = useRef<(() => void) | null>(null);\n const cancelledMidPress = useRef<boolean>(false);\n\n const activateLongPress = useCallback(\n (event: GestureTouchEvent) => {\n if (!isTouchPropagationAllowed.current) {\n return;\n }\n\n if (hasPassedBoundsChecks.current) {\n onLongPress?.(gestureTouchToPressableEvent(event));\n isPressCallbackEnabled.current = false;\n }\n\n if (longPressTimeoutRef.current) {\n clearTimeout(longPressTimeoutRef.current);\n longPressTimeoutRef.current = null;\n }\n },\n [onLongPress]\n );\n\n const longPressTimeoutRef = useRef<number | null>(null);\n const longPressMinDuration =\n (delayLongPress ?? DEFAULT_LONG_PRESS_DURATION) +\n (unstable_pressDelay ?? 0);\n\n const pressAndTouchGesture = useMemo(\n () =>\n Gesture.LongPress()\n .minDuration(INT32_MAX) // Stops long press from blocking native gesture\n .maxDistance(INT32_MAX) // Stops long press from cancelling after set distance\n .cancelsTouchesInView(false)\n .onTouchesDown((event) => {\n handlingOnTouchesDown.current = true;\n pressableRef.current?.measure((_x, _y, width, height) => {\n if (\n !isTouchWithinInset(\n {\n width,\n height,\n },\n normalizedHitSlop,\n event.changedTouches.at(-1)\n ) ||\n hasPassedBoundsChecks.current ||\n cancelledMidPress.current\n ) {\n cancelledMidPress.current = false;\n onEndHandlingTouchesDown.current = null;\n handlingOnTouchesDown.current = false;\n return;\n }\n\n hasPassedBoundsChecks.current = true;\n\n // In case of multiple touches, the first one starts long press gesture\n if (longPressTimeoutRef.current === null) {\n // Start long press gesture timer\n longPressTimeoutRef.current = setTimeout(\n () => activateLongPress(event),\n longPressMinDuration\n );\n }\n\n if (unstable_pressDelay) {\n pressDelayTimeoutRef.current = setTimeout(() => {\n pressInHandler(gestureTouchToPressableEvent(event));\n }, unstable_pressDelay);\n } else {\n pressInHandler(gestureTouchToPressableEvent(event));\n }\n\n onEndHandlingTouchesDown.current?.();\n onEndHandlingTouchesDown.current = null;\n handlingOnTouchesDown.current = false;\n });\n })\n .onTouchesUp((event) => {\n if (handlingOnTouchesDown.current) {\n onEndHandlingTouchesDown.current = () =>\n pressOutHandler(gestureTouchToPressableEvent(event));\n return;\n }\n // On iOS, short taps will make LongPress gesture call onTouchesUp before Native gesture calls onStart\n // This variable ensures that onStart isn't detected as the first gesture since Pressable is pressed.\n if (deferredEventPayload.current !== null) {\n shouldPreventNativeEffects.current = true;\n }\n pressOutHandler(gestureTouchToPressableEvent(event));\n })\n .onTouchesCancelled((event) => {\n isPressCallbackEnabled.current = false;\n\n if (handlingOnTouchesDown.current) {\n cancelledMidPress.current = true;\n onEndHandlingTouchesDown.current = () =>\n pressOutHandler(gestureTouchToPressableEvent(event));\n return;\n }\n\n if (\n !hasPassedBoundsChecks.current ||\n event.allTouches.length > event.changedTouches.length\n ) {\n return;\n }\n\n pressOutHandler(gestureTouchToPressableEvent(event));\n }),\n [\n activateLongPress,\n longPressMinDuration,\n normalizedHitSlop,\n pressInHandler,\n pressOutHandler,\n unstable_pressDelay,\n ]\n );\n\n // RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events\n const buttonGesture = useMemo(\n () =>\n Gesture.Native()\n .onBegin(() => {\n // Android sets BEGAN state on press down\n if (Platform.OS === 'android' || Platform.OS === 'macos') {\n isTouchPropagationAllowed.current = true;\n }\n })\n .onStart(() => {\n if (Platform.OS === 'web') {\n isTouchPropagationAllowed.current = true;\n }\n\n // iOS sets ACTIVE state on press down\n if (Platform.OS !== 'ios') {\n return;\n }\n\n if (deferredEventPayload.current) {\n isTouchPropagationAllowed.current = true;\n\n if (hasPassedBoundsChecks.current) {\n pressInHandler(deferredEventPayload.current);\n deferredEventPayload.current = null;\n } else {\n pressOutHandler(deferredEventPayload.current);\n isTouchPropagationAllowed.current = false;\n }\n\n return;\n }\n\n if (hasPassedBoundsChecks.current) {\n isTouchPropagationAllowed.current = true;\n return;\n }\n\n if (shouldPreventNativeEffects.current) {\n shouldPreventNativeEffects.current = false;\n return;\n }\n\n isTouchPropagationAllowed.current = true;\n }),\n [pressInHandler, pressOutHandler]\n );\n\n const appliedHitSlop = addInsets(\n normalizedHitSlop,\n normalizedPressRetentionOffset\n );\n\n const isPressableEnabled = disabled !== true;\n\n const gestures = [buttonGesture, pressAndTouchGesture, hoverGesture];\n\n for (const gesture of gestures) {\n gesture.enabled(isPressableEnabled);\n gesture.runOnJS(true);\n gesture.hitSlop(appliedHitSlop);\n gesture.shouldCancelWhenOutside(Platform.OS === 'web' ? false : true);\n }\n\n // Uses different hitSlop, to activate on hitSlop area instead of pressRetentionOffset area\n buttonGesture.hitSlop(normalizedHitSlop);\n\n const gesture = Gesture.Simultaneous(...gestures);\n\n const defaultRippleColor = android_ripple ? undefined : 'transparent';\n\n // `cursor: 'pointer'` on `RNButton` crashes iOS\n const pointerStyle: StyleProp<ViewStyle> =\n Platform.OS === 'web' ? { cursor: 'pointer' } : {};\n\n const styleProp =\n typeof style === 'function' ? style({ pressed: pressedState }) : style;\n\n const childrenProp =\n typeof children === 'function'\n ? children({ pressed: pressedState })\n : children;\n\n return (\n <GestureDetector gesture={gesture}>\n <NativeButton\n {...remainingProps}\n ref={pressableRef}\n hitSlop={appliedHitSlop}\n enabled={isPressableEnabled}\n touchSoundDisabled={android_disableSound ?? undefined}\n rippleColor={processColor(android_ripple?.color ?? defaultRippleColor)}\n rippleRadius={android_ripple?.radius ?? undefined}\n style={[pointerStyle, styleProp]}>\n {childrenProp}\n {__DEV__ ? (\n <PressabilityDebugView color=\"red\" hitSlop={normalizedHitSlop} />\n ) : null}\n </NativeButton>\n </GestureDetector>\n );\n}\n"]}
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_gestureObjects","_GestureDetector","_reactNative","_GestureHandlerButton","_interopRequireDefault","_utils","_PressabilityDebugView","_utils2","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","DEFAULT_LONG_PRESS_DURATION","IS_TEST_ENV","isTestEnv","IS_FABRIC","Pressable","props","_android_ripple$radiu","testOnly_pressed","hitSlop","pressRetentionOffset","delayHoverIn","onHoverIn","delayHoverOut","onHoverOut","delayLongPress","unstable_pressDelay","onPress","onPressIn","onPressOut","onLongPress","style","children","android_disableSound","android_ripple","disabled","remainingProps","pressedState","setPressedState","useState","pressableRef","useRef","isPressCallbackEnabled","hasPassedBoundsChecks","shouldPreventNativeEffects","normalizedHitSlop","useMemo","numberAsInset","normalizedPressRetentionOffset","hoverInTimeout","hoverOutTimeout","hoverGesture","Gesture","Hover","manualActivation","cancelsTouchesInView","onBegin","event","current","clearTimeout","setTimeout","gestureToPressableEvent","onFinalize","pressDelayTimeoutRef","isTouchPropagationAllowed","deferredEventPayload","pressInHandler","useCallback","handlingOnTouchesDown","pressOutHandler","nativeEvent","touches","changedTouches","longPressTimeoutRef","onEndHandlingTouchesDown","cancelledMidPress","activateLongPress","gestureTouchToPressableEvent","longPressMinDuration","pressAndTouchGesture","LongPress","minDuration","INT32_MAX","maxDistance","onTouchesDown","_pressableRef$current","measure","_x","_y","width","height","_onEndHandlingTouches","isTouchWithinInset","at","onTouchesUp","onTouchesCancelled","allTouches","buttonGesture","Native","Platform","OS","onStart","appliedHitSlop","addInsets","isPressableEnabled","gestures","gesture","enabled","runOnJS","shouldCancelWhenOutside","Simultaneous","pointerStyle","cursor","styleProp","pressed","childrenProp","rippleColor","_android_ripple$color","isFabric","defaultRippleColor","undefined","unprocessedRippleColor","color","processColor","createElement","GestureDetector","ref","touchSoundDisabled","rippleRadius","radius","testOnly_onPress","testOnly_onPressIn","testOnly_onPressOut","testOnly_onLongPress","__DEV__","PressabilityDebugView"],"sources":["Pressable.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { GestureObjects as Gesture } from '../../handlers/gestures/gestureObjects';\nimport { GestureDetector } from '../../handlers/gestures/GestureDetector';\nimport { PressableEvent, PressableProps } from './PressableProps';\nimport {\n Insets,\n Platform,\n StyleProp,\n View,\n ViewStyle,\n processColor,\n} from 'react-native';\nimport NativeButton from '../GestureHandlerButton';\nimport {\n numberAsInset,\n gestureToPressableEvent,\n isTouchWithinInset,\n gestureTouchToPressableEvent,\n addInsets,\n} from './utils';\nimport { PressabilityDebugView } from '../../handlers/PressabilityDebugView';\nimport { GestureTouchEvent } from '../../handlers/gestureHandlerCommon';\nimport { INT32_MAX, isFabric, isTestEnv } from '../../utils';\n\nconst DEFAULT_LONG_PRESS_DURATION = 500;\nconst IS_TEST_ENV = isTestEnv();\n\nlet IS_FABRIC: null | boolean = null;\n\nexport default function Pressable(props: PressableProps) {\n const {\n testOnly_pressed,\n hitSlop,\n pressRetentionOffset,\n delayHoverIn,\n onHoverIn,\n delayHoverOut,\n onHoverOut,\n delayLongPress,\n unstable_pressDelay,\n onPress,\n onPressIn,\n onPressOut,\n onLongPress,\n style,\n children,\n android_disableSound,\n android_ripple,\n disabled,\n ...remainingProps\n } = props;\n\n const [pressedState, setPressedState] = useState(testOnly_pressed ?? false);\n\n const pressableRef = useRef<View>(null);\n\n // Disabled when onLongPress has been called\n const isPressCallbackEnabled = useRef<boolean>(true);\n const hasPassedBoundsChecks = useRef<boolean>(false);\n const shouldPreventNativeEffects = useRef<boolean>(false);\n\n const normalizedHitSlop: Insets = useMemo(\n () =>\n typeof hitSlop === 'number' ? numberAsInset(hitSlop) : (hitSlop ?? {}),\n [hitSlop]\n );\n\n const normalizedPressRetentionOffset: Insets = useMemo(\n () =>\n typeof pressRetentionOffset === 'number'\n ? numberAsInset(pressRetentionOffset)\n : (pressRetentionOffset ?? {}),\n [pressRetentionOffset]\n );\n\n const hoverInTimeout = useRef<number | null>(null);\n const hoverOutTimeout = useRef<number | null>(null);\n\n const hoverGesture = useMemo(\n () =>\n Gesture.Hover()\n .manualActivation(true) // Stops Hover from blocking Native gesture activation on web\n .cancelsTouchesInView(false)\n .onBegin((event) => {\n if (hoverOutTimeout.current) {\n clearTimeout(hoverOutTimeout.current);\n }\n if (delayHoverIn) {\n hoverInTimeout.current = setTimeout(\n () => onHoverIn?.(gestureToPressableEvent(event)),\n delayHoverIn\n );\n return;\n }\n onHoverIn?.(gestureToPressableEvent(event));\n })\n .onFinalize((event) => {\n if (hoverInTimeout.current) {\n clearTimeout(hoverInTimeout.current);\n }\n if (delayHoverOut) {\n hoverOutTimeout.current = setTimeout(\n () => onHoverOut?.(gestureToPressableEvent(event)),\n delayHoverOut\n );\n return;\n }\n onHoverOut?.(gestureToPressableEvent(event));\n }),\n [delayHoverIn, delayHoverOut, onHoverIn, onHoverOut]\n );\n\n const pressDelayTimeoutRef = useRef<number | null>(null);\n const isTouchPropagationAllowed = useRef<boolean>(false);\n\n // iOS only: due to varying flow of gestures, events sometimes have to be saved for later use\n const deferredEventPayload = useRef<PressableEvent | null>(null);\n\n const pressInHandler = useCallback(\n (event: PressableEvent) => {\n if (handlingOnTouchesDown.current) {\n deferredEventPayload.current = event;\n }\n\n if (!isTouchPropagationAllowed.current) {\n return;\n }\n\n deferredEventPayload.current = null;\n\n onPressIn?.(event);\n isPressCallbackEnabled.current = true;\n pressDelayTimeoutRef.current = null;\n setPressedState(true);\n },\n [onPressIn]\n );\n\n const pressOutHandler = useCallback(\n (event: PressableEvent) => {\n if (\n !hasPassedBoundsChecks.current ||\n event.nativeEvent.touches.length >\n event.nativeEvent.changedTouches.length\n ) {\n return;\n }\n\n if (unstable_pressDelay && pressDelayTimeoutRef.current !== null) {\n // When delay is preemptively finished by lifting touches,\n // we want to immediately activate it's effects - pressInHandler,\n // even though we are located at the pressOutHandler\n clearTimeout(pressDelayTimeoutRef.current);\n pressInHandler(event);\n }\n\n if (deferredEventPayload.current) {\n onPressIn?.(deferredEventPayload.current);\n deferredEventPayload.current = null;\n }\n\n onPressOut?.(event);\n\n if (isPressCallbackEnabled.current) {\n onPress?.(event);\n }\n\n if (longPressTimeoutRef.current) {\n clearTimeout(longPressTimeoutRef.current);\n longPressTimeoutRef.current = null;\n }\n\n isTouchPropagationAllowed.current = false;\n hasPassedBoundsChecks.current = false;\n isPressCallbackEnabled.current = true;\n setPressedState(false);\n },\n [onPress, onPressIn, onPressOut, pressInHandler, unstable_pressDelay]\n );\n\n const handlingOnTouchesDown = useRef<boolean>(false);\n const onEndHandlingTouchesDown = useRef<(() => void) | null>(null);\n const cancelledMidPress = useRef<boolean>(false);\n\n const activateLongPress = useCallback(\n (event: GestureTouchEvent) => {\n if (!isTouchPropagationAllowed.current) {\n return;\n }\n\n if (hasPassedBoundsChecks.current) {\n onLongPress?.(gestureTouchToPressableEvent(event));\n isPressCallbackEnabled.current = false;\n }\n\n if (longPressTimeoutRef.current) {\n clearTimeout(longPressTimeoutRef.current);\n longPressTimeoutRef.current = null;\n }\n },\n [onLongPress]\n );\n\n const longPressTimeoutRef = useRef<number | null>(null);\n const longPressMinDuration =\n (delayLongPress ?? DEFAULT_LONG_PRESS_DURATION) +\n (unstable_pressDelay ?? 0);\n\n const pressAndTouchGesture = useMemo(\n () =>\n Gesture.LongPress()\n .minDuration(INT32_MAX) // Stops long press from blocking native gesture\n .maxDistance(INT32_MAX) // Stops long press from cancelling after set distance\n .cancelsTouchesInView(false)\n .onTouchesDown((event) => {\n handlingOnTouchesDown.current = true;\n pressableRef.current?.measure((_x, _y, width, height) => {\n if (\n !isTouchWithinInset(\n {\n width,\n height,\n },\n normalizedHitSlop,\n event.changedTouches.at(-1)\n ) ||\n hasPassedBoundsChecks.current ||\n cancelledMidPress.current\n ) {\n cancelledMidPress.current = false;\n onEndHandlingTouchesDown.current = null;\n handlingOnTouchesDown.current = false;\n return;\n }\n\n hasPassedBoundsChecks.current = true;\n\n // In case of multiple touches, the first one starts long press gesture\n if (longPressTimeoutRef.current === null) {\n // Start long press gesture timer\n longPressTimeoutRef.current = setTimeout(\n () => activateLongPress(event),\n longPressMinDuration\n );\n }\n\n if (unstable_pressDelay) {\n pressDelayTimeoutRef.current = setTimeout(() => {\n pressInHandler(gestureTouchToPressableEvent(event));\n }, unstable_pressDelay);\n } else {\n pressInHandler(gestureTouchToPressableEvent(event));\n }\n\n onEndHandlingTouchesDown.current?.();\n onEndHandlingTouchesDown.current = null;\n handlingOnTouchesDown.current = false;\n });\n })\n .onTouchesUp((event) => {\n if (handlingOnTouchesDown.current) {\n onEndHandlingTouchesDown.current = () =>\n pressOutHandler(gestureTouchToPressableEvent(event));\n return;\n }\n // On iOS, short taps will make LongPress gesture call onTouchesUp before Native gesture calls onStart\n // This variable ensures that onStart isn't detected as the first gesture since Pressable is pressed.\n if (deferredEventPayload.current !== null) {\n shouldPreventNativeEffects.current = true;\n }\n pressOutHandler(gestureTouchToPressableEvent(event));\n })\n .onTouchesCancelled((event) => {\n isPressCallbackEnabled.current = false;\n\n if (handlingOnTouchesDown.current) {\n cancelledMidPress.current = true;\n onEndHandlingTouchesDown.current = () =>\n pressOutHandler(gestureTouchToPressableEvent(event));\n return;\n }\n\n if (\n !hasPassedBoundsChecks.current ||\n event.allTouches.length > event.changedTouches.length\n ) {\n return;\n }\n\n pressOutHandler(gestureTouchToPressableEvent(event));\n }),\n [\n activateLongPress,\n longPressMinDuration,\n normalizedHitSlop,\n pressInHandler,\n pressOutHandler,\n unstable_pressDelay,\n ]\n );\n\n // RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events\n const buttonGesture = useMemo(\n () =>\n Gesture.Native()\n .onBegin(() => {\n // Android sets BEGAN state on press down\n if (Platform.OS === 'android' || Platform.OS === 'macos') {\n isTouchPropagationAllowed.current = true;\n }\n })\n .onStart(() => {\n if (Platform.OS === 'web') {\n isTouchPropagationAllowed.current = true;\n }\n\n // iOS sets ACTIVE state on press down\n if (Platform.OS !== 'ios') {\n return;\n }\n\n if (deferredEventPayload.current) {\n isTouchPropagationAllowed.current = true;\n\n if (hasPassedBoundsChecks.current) {\n pressInHandler(deferredEventPayload.current);\n deferredEventPayload.current = null;\n } else {\n pressOutHandler(deferredEventPayload.current);\n isTouchPropagationAllowed.current = false;\n }\n\n return;\n }\n\n if (hasPassedBoundsChecks.current) {\n isTouchPropagationAllowed.current = true;\n return;\n }\n\n if (shouldPreventNativeEffects.current) {\n shouldPreventNativeEffects.current = false;\n return;\n }\n\n isTouchPropagationAllowed.current = true;\n }),\n [pressInHandler, pressOutHandler]\n );\n\n const appliedHitSlop = addInsets(\n normalizedHitSlop,\n normalizedPressRetentionOffset\n );\n\n const isPressableEnabled = disabled !== true;\n\n const gestures = [buttonGesture, pressAndTouchGesture, hoverGesture];\n\n for (const gesture of gestures) {\n gesture.enabled(isPressableEnabled);\n gesture.runOnJS(true);\n gesture.hitSlop(appliedHitSlop);\n gesture.shouldCancelWhenOutside(Platform.OS === 'web' ? false : true);\n }\n\n // Uses different hitSlop, to activate on hitSlop area instead of pressRetentionOffset area\n buttonGesture.hitSlop(normalizedHitSlop);\n\n const gesture = Gesture.Simultaneous(...gestures);\n\n // `cursor: 'pointer'` on `RNButton` crashes iOS\n const pointerStyle: StyleProp<ViewStyle> =\n Platform.OS === 'web' ? { cursor: 'pointer' } : {};\n\n const styleProp =\n typeof style === 'function' ? style({ pressed: pressedState }) : style;\n\n const childrenProp =\n typeof children === 'function'\n ? children({ pressed: pressedState })\n : children;\n\n const rippleColor = useMemo(() => {\n if (IS_FABRIC === null) {\n IS_FABRIC = isFabric();\n }\n\n const defaultRippleColor = android_ripple ? undefined : 'transparent';\n const unprocessedRippleColor = android_ripple?.color ?? defaultRippleColor;\n return IS_FABRIC\n ? unprocessedRippleColor\n : processColor(unprocessedRippleColor);\n }, [android_ripple]);\n\n return (\n <GestureDetector gesture={gesture}>\n <NativeButton\n {...remainingProps}\n ref={pressableRef}\n hitSlop={appliedHitSlop}\n enabled={isPressableEnabled}\n touchSoundDisabled={android_disableSound ?? undefined}\n rippleColor={rippleColor}\n rippleRadius={android_ripple?.radius ?? undefined}\n style={[pointerStyle, styleProp]}\n testOnly_onPress={IS_TEST_ENV ? onPress : undefined}\n testOnly_onPressIn={IS_TEST_ENV ? onPressIn : undefined}\n testOnly_onPressOut={IS_TEST_ENV ? onPressOut : undefined}\n testOnly_onLongPress={IS_TEST_ENV ? onLongPress : undefined}>\n {childrenProp}\n {__DEV__ ? (\n <PressabilityDebugView color=\"red\" hitSlop={normalizedHitSlop} />\n ) : null}\n </NativeButton>\n </GestureDetector>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":[],"
|
1
|
+
{"version":3,"names":[],"sources":["PressableProps.tsx"],"sourcesContent":["import {\n AccessibilityProps,\n ViewProps,\n Insets,\n StyleProp,\n ViewStyle,\n PressableStateCallbackType as RNPressableStateCallbackType,\n PressableAndroidRippleConfig as RNPressableAndroidRippleConfig,\n} from 'react-native';\n\nexport type PressableStateCallbackType = RNPressableStateCallbackType;\nexport type PressableAndroidRippleConfig = RNPressableAndroidRippleConfig;\n\nexport type InnerPressableEvent = {\n changedTouches: InnerPressableEvent[];\n identifier: number;\n locationX: number;\n locationY: number;\n pageX: number;\n pageY: number;\n target: number;\n timestamp: number;\n touches: InnerPressableEvent[];\n force?: number;\n};\n\nexport type PressableEvent = { nativeEvent: InnerPressableEvent };\n\nexport interface PressableProps\n extends AccessibilityProps,\n Omit<ViewProps, 'children' | 'style' | 'hitSlop'> {\n /**\n * Called when the hover is activated to provide visual feedback.\n */\n onHoverIn?: null | ((event: PressableEvent) => void);\n\n /**\n * Called when the hover is deactivated to undo visual feedback.\n */\n onHoverOut?: null | ((event: PressableEvent) => void);\n\n /**\n * Called when a single tap gesture is detected.\n */\n onPress?: null | ((event: PressableEvent) => void);\n\n /**\n * Called when a touch is engaged before `onPress`.\n */\n onPressIn?: null | ((event: PressableEvent) => void);\n\n /**\n * Called when a touch is released before `onPress`.\n */\n onPressOut?: null | ((event: PressableEvent) => void);\n\n /**\n * Called when a long-tap gesture is detected.\n */\n onLongPress?: null | ((event: PressableEvent) => void);\n\n /**\n * Either children or a render prop that receives a boolean reflecting whether\n * the component is currently pressed.\n */\n children?:\n | React.ReactNode\n | ((state: PressableStateCallbackType) => React.ReactNode);\n\n /**\n * Whether a press gesture can be interrupted by a parent gesture such as a\n * scroll event. Defaults to true.\n */\n cancelable?: null | boolean;\n\n /**\n * Duration to wait after hover in before calling `onHoverIn`.\n * @platform web macos\n *\n * NOTE: not present in RN docs\n */\n delayHoverIn?: number | null;\n\n /**\n * Duration to wait after hover out before calling `onHoverOut`.\n * @platform web macos\n *\n * NOTE: not present in RN docs\n */\n delayHoverOut?: number | null;\n\n /**\n * Duration (in milliseconds) from `onPressIn` before `onLongPress` is called.\n */\n delayLongPress?: null | number;\n\n /**\n * Whether the press behavior is disabled.\n */\n disabled?: null | boolean;\n\n /**\n * Additional distance outside of this view in which a press is detected.\n */\n hitSlop?: null | Insets | number;\n\n /**\n * Additional distance outside of this view in which a touch is considered a\n * press before `onPressOut` is triggered.\n */\n pressRetentionOffset?: null | Insets | number;\n\n /**\n * If true, doesn't play system sound on touch.\n * @platform android\n */\n android_disableSound?: null | boolean;\n\n /**\n * Enables the Android ripple effect and configures its color.\n * @platform android\n */\n android_ripple?: null | PressableAndroidRippleConfig;\n\n /**\n * Used only for documentation or testing (e.g. snapshot testing).\n */\n testOnly_pressed?: null | boolean;\n\n /**\n * Either view styles or a function that receives a boolean reflecting whether\n * the component is currently pressed and returns view styles.\n */\n style?:\n | StyleProp<ViewStyle>\n | ((state: PressableStateCallbackType) => StyleProp<ViewStyle>);\n\n /**\n * Duration (in milliseconds) to wait after press down before calling onPressIn.\n */\n unstable_pressDelay?: number;\n}\n"],"mappings":"","ignoreList":[]}
|
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "default", {
|
|
9
9
|
return _Pressable.default;
|
10
10
|
}
|
11
11
|
});
|
12
|
-
|
13
12
|
var _Pressable = _interopRequireDefault(require("./Pressable"));
|
14
|
-
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
16
14
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["_Pressable","_interopRequireDefault","require","e","__esModule","default"],"sources":["index.ts"],"sourcesContent":["export type {\n PressableProps,\n PressableStateCallbackType,\n} from './PressableProps';\nexport { default } from './Pressable';\n"],"mappings":";;;;;;;;;;;AAIA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAsC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
@@ -3,20 +3,16 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.
|
7
|
-
|
6
|
+
exports.numberAsInset = exports.isTouchWithinInset = exports.gestureTouchToPressableEvent = exports.gestureToPressableEvent = exports.addInsets = void 0;
|
8
7
|
const numberAsInset = value => ({
|
9
8
|
left: value,
|
10
9
|
right: value,
|
11
10
|
top: value,
|
12
11
|
bottom: value
|
13
12
|
});
|
14
|
-
|
15
13
|
exports.numberAsInset = numberAsInset;
|
16
|
-
|
17
14
|
const addInsets = (a, b) => {
|
18
15
|
var _a$left, _b$left, _a$right, _b$right, _a$top, _b$top, _a$bottom, _b$bottom;
|
19
|
-
|
20
16
|
return {
|
21
17
|
left: ((_a$left = a.left) !== null && _a$left !== void 0 ? _a$left : 0) + ((_b$left = b.left) !== null && _b$left !== void 0 ? _b$left : 0),
|
22
18
|
right: ((_a$right = a.right) !== null && _a$right !== void 0 ? _a$right : 0) + ((_b$right = b.right) !== null && _b$right !== void 0 ? _b$right : 0),
|
@@ -24,9 +20,7 @@ const addInsets = (a, b) => {
|
|
24
20
|
bottom: ((_a$bottom = a.bottom) !== null && _a$bottom !== void 0 ? _a$bottom : 0) + ((_b$bottom = b.bottom) !== null && _b$bottom !== void 0 ? _b$bottom : 0)
|
25
21
|
};
|
26
22
|
};
|
27
|
-
|
28
23
|
exports.addInsets = addInsets;
|
29
|
-
|
30
24
|
const touchDataToPressEvent = (data, timestamp, targetId) => ({
|
31
25
|
identifier: data.id,
|
32
26
|
locationX: data.x,
|
@@ -38,9 +32,7 @@ const touchDataToPressEvent = (data, timestamp, targetId) => ({
|
|
38
32
|
touches: [],
|
39
33
|
// Always empty - legacy compatibility
|
40
34
|
changedTouches: [] // Always empty - legacy compatibility
|
41
|
-
|
42
35
|
});
|
43
|
-
|
44
36
|
const gestureToPressEvent = (event, timestamp, targetId) => ({
|
45
37
|
identifier: event.handlerTag,
|
46
38
|
locationX: event.x,
|
@@ -52,20 +44,16 @@ const gestureToPressEvent = (event, timestamp, targetId) => ({
|
|
52
44
|
touches: [],
|
53
45
|
// Always empty - legacy compatibility
|
54
46
|
changedTouches: [] // Always empty - legacy compatibility
|
55
|
-
|
56
47
|
});
|
57
|
-
|
58
48
|
const isTouchWithinInset = (dimensions, inset, touch) => {
|
59
49
|
var _touch$x, _inset$right, _touch$y, _inset$bottom, _touch$x2, _inset$left, _touch$y2, _inset$top;
|
60
|
-
|
61
50
|
return ((_touch$x = touch === null || touch === void 0 ? void 0 : touch.x) !== null && _touch$x !== void 0 ? _touch$x : 0) < ((_inset$right = inset.right) !== null && _inset$right !== void 0 ? _inset$right : 0) + dimensions.width && ((_touch$y = touch === null || touch === void 0 ? void 0 : touch.y) !== null && _touch$y !== void 0 ? _touch$y : 0) < ((_inset$bottom = inset.bottom) !== null && _inset$bottom !== void 0 ? _inset$bottom : 0) + dimensions.height && ((_touch$x2 = touch === null || touch === void 0 ? void 0 : touch.x) !== null && _touch$x2 !== void 0 ? _touch$x2 : 0) > -((_inset$left = inset.left) !== null && _inset$left !== void 0 ? _inset$left : 0) && ((_touch$y2 = touch === null || touch === void 0 ? void 0 : touch.y) !== null && _touch$y2 !== void 0 ? _touch$y2 : 0) > -((_inset$top = inset.top) !== null && _inset$top !== void 0 ? _inset$top : 0);
|
62
51
|
};
|
63
|
-
|
64
52
|
exports.isTouchWithinInset = isTouchWithinInset;
|
65
|
-
|
66
53
|
const gestureToPressableEvent = event => {
|
67
|
-
const timestamp = Date.now();
|
54
|
+
const timestamp = Date.now();
|
68
55
|
|
56
|
+
// As far as I can see, there isn't a conventional way of getting targetId with the data we get
|
69
57
|
const targetId = 0;
|
70
58
|
const pressEvent = gestureToPressEvent(event, timestamp, targetId);
|
71
59
|
return {
|
@@ -83,14 +71,12 @@ const gestureToPressableEvent = event => {
|
|
83
71
|
}
|
84
72
|
};
|
85
73
|
};
|
86
|
-
|
87
74
|
exports.gestureToPressableEvent = gestureToPressableEvent;
|
88
|
-
|
89
75
|
const gestureTouchToPressableEvent = event => {
|
90
76
|
var _event$allTouches$at$, _event$allTouches$at, _event$allTouches$at$2, _event$allTouches$at2, _event$allTouches$at$3, _event$allTouches$at3, _event$allTouches$at$4, _event$allTouches$at4;
|
77
|
+
const timestamp = Date.now();
|
91
78
|
|
92
|
-
|
93
|
-
|
79
|
+
// As far as I can see, there isn't a conventional way of getting targetId with the data we get
|
94
80
|
const targetId = 0;
|
95
81
|
const touchesList = event.allTouches.map(touch => touchDataToPressEvent(touch, timestamp, targetId));
|
96
82
|
const changedTouchesList = event.changedTouches.map(touch => touchDataToPressEvent(touch, timestamp, targetId));
|
@@ -109,6 +95,5 @@ const gestureTouchToPressableEvent = event => {
|
|
109
95
|
}
|
110
96
|
};
|
111
97
|
};
|
112
|
-
|
113
98
|
exports.gestureTouchToPressableEvent = gestureTouchToPressableEvent;
|
114
99
|
//# sourceMappingURL=utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["numberAsInset","value","left","right","top","bottom","exports","addInsets","a","b","_a$left","_b$left","_a$right","_b$right","_a$top","_b$top","_a$bottom","_b$bottom","touchDataToPressEvent","data","timestamp","targetId","identifier","id","locationX","x","locationY","y","pageX","absoluteX","pageY","absoluteY","target","touches","changedTouches","gestureToPressEvent","event","handlerTag","isTouchWithinInset","dimensions","inset","touch","_touch$x","_inset$right","_touch$y","_inset$bottom","_touch$x2","_inset$left","_touch$y2","_inset$top","width","height","gestureToPressableEvent","Date","now","pressEvent","nativeEvent","force","undefined","gestureTouchToPressableEvent","_event$allTouches$at$","_event$allTouches$at","_event$allTouches$at$2","_event$allTouches$at2","_event$allTouches$at$3","_event$allTouches$at3","_event$allTouches$at$4","_event$allTouches$at4","touchesList","allTouches","map","changedTouchesList","at"],"sources":["utils.ts"],"sourcesContent":["import { Insets } from 'react-native';\nimport {\n HoverGestureHandlerEventPayload,\n LongPressGestureHandlerEventPayload,\n} from '../../handlers/GestureHandlerEventPayload';\nimport {\n TouchData,\n GestureStateChangeEvent,\n GestureTouchEvent,\n} from '../../handlers/gestureHandlerCommon';\nimport { InnerPressableEvent, PressableEvent } from './PressableProps';\n\nconst numberAsInset = (value: number): Insets => ({\n left: value,\n right: value,\n top: value,\n bottom: value,\n});\n\nconst addInsets = (a: Insets, b: Insets): Insets => ({\n left: (a.left ?? 0) + (b.left ?? 0),\n right: (a.right ?? 0) + (b.right ?? 0),\n top: (a.top ?? 0) + (b.top ?? 0),\n bottom: (a.bottom ?? 0) + (b.bottom ?? 0),\n});\n\nconst touchDataToPressEvent = (\n data: TouchData,\n timestamp: number,\n targetId: number\n): InnerPressableEvent => ({\n identifier: data.id,\n locationX: data.x,\n locationY: data.y,\n pageX: data.absoluteX,\n pageY: data.absoluteY,\n target: targetId,\n timestamp: timestamp,\n touches: [], // Always empty - legacy compatibility\n changedTouches: [], // Always empty - legacy compatibility\n});\n\nconst gestureToPressEvent = (\n event: GestureStateChangeEvent<\n HoverGestureHandlerEventPayload | LongPressGestureHandlerEventPayload\n >,\n timestamp: number,\n targetId: number\n): InnerPressableEvent => ({\n identifier: event.handlerTag,\n locationX: event.x,\n locationY: event.y,\n pageX: event.absoluteX,\n pageY: event.absoluteY,\n target: targetId,\n timestamp: timestamp,\n touches: [], // Always empty - legacy compatibility\n changedTouches: [], // Always empty - legacy compatibility\n});\n\nconst isTouchWithinInset = (\n dimensions: { width: number; height: number },\n inset: Insets,\n touch?: TouchData\n) =>\n (touch?.x ?? 0) < (inset.right ?? 0) + dimensions.width &&\n (touch?.y ?? 0) < (inset.bottom ?? 0) + dimensions.height &&\n (touch?.x ?? 0) > -(inset.left ?? 0) &&\n (touch?.y ?? 0) > -(inset.top ?? 0);\n\nconst gestureToPressableEvent = (\n event: GestureStateChangeEvent<\n HoverGestureHandlerEventPayload | LongPressGestureHandlerEventPayload\n >\n): PressableEvent => {\n const timestamp = Date.now();\n\n // As far as I can see, there isn't a conventional way of getting targetId with the data we get\n const targetId = 0;\n\n const pressEvent = gestureToPressEvent(event, timestamp, targetId);\n\n return {\n nativeEvent: {\n touches: [pressEvent],\n changedTouches: [pressEvent],\n identifier: pressEvent.identifier,\n locationX: event.x,\n locationY: event.y,\n pageX: event.absoluteX,\n pageY: event.absoluteY,\n target: targetId,\n timestamp: timestamp,\n force: undefined,\n },\n };\n};\n\nconst gestureTouchToPressableEvent = (\n event: GestureTouchEvent\n): PressableEvent => {\n const timestamp = Date.now();\n\n // As far as I can see, there isn't a conventional way of getting targetId with the data we get\n const targetId = 0;\n\n const touchesList = event.allTouches.map((touch: TouchData) =>\n touchDataToPressEvent(touch, timestamp, targetId)\n );\n const changedTouchesList = event.changedTouches.map((touch: TouchData) =>\n touchDataToPressEvent(touch, timestamp, targetId)\n );\n\n return {\n nativeEvent: {\n touches: touchesList,\n changedTouches: changedTouchesList,\n identifier: event.handlerTag,\n locationX: event.allTouches.at(0)?.x ?? -1,\n locationY: event.allTouches.at(0)?.y ?? -1,\n pageX: event.allTouches.at(0)?.absoluteX ?? -1,\n pageY: event.allTouches.at(0)?.absoluteY ?? -1,\n target: targetId,\n timestamp: timestamp,\n force: undefined,\n },\n };\n};\n\nexport {\n numberAsInset,\n addInsets,\n isTouchWithinInset,\n gestureToPressableEvent,\n gestureTouchToPressableEvent,\n};\n"],"mappings":"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","ignoreList":[]}
|