react-native-gesture-handler 2.23.0 → 2.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RNGestureHandler.podspec +8 -0
- package/android/build.gradle +9 -3
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +2 -1
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +2 -1
- package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +60 -0
- package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +26 -0
- package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +26 -0
- package/android/paper77/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +16 -0
- package/android/paper77/src/main/java/com/swmansion/gesturehandler/NativeRNGestureHandlerModuleSpec.java +67 -0
- package/android/paper77/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +13 -0
- package/apple/RNGestureHandlerButton.mm +12 -2
- package/lib/commonjs/ActionType.js +3 -3
- package/lib/commonjs/ActionType.js.map +1 -1
- package/lib/commonjs/Directions.js +8 -11
- package/lib/commonjs/Directions.js.map +1 -1
- package/lib/commonjs/EnableNewWebImplementation.js +10 -2
- package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
- package/lib/commonjs/GestureHandlerRootViewContext.js +7 -2
- package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/commonjs/PlatformConstants.js +6 -1
- package/lib/commonjs/PlatformConstants.js.map +1 -1
- package/lib/commonjs/PlatformConstants.web.js +3 -1
- package/lib/commonjs/PlatformConstants.web.js.map +1 -1
- package/lib/commonjs/PointerType.js +5 -3
- package/lib/commonjs/PointerType.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.js +6 -2
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.web.js +37 -11
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.windows.js +32 -22
- package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/commonjs/RNRenderer.js +3 -1
- package/lib/commonjs/RNRenderer.js.map +1 -1
- package/lib/commonjs/RNRenderer.web.js +2 -1
- package/lib/commonjs/RNRenderer.web.js.map +1 -1
- package/lib/commonjs/State.js +3 -4
- 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 +115 -90
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/GestureButtons.js +81 -28
- package/lib/commonjs/components/GestureButtons.js.map +1 -1
- package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.js +37 -26
- package/lib/commonjs/components/GestureComponents.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.web.js +27 -13
- package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.js +6 -2
- package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.web.js +12 -4
- package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.android.js +15 -4
- package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.js +14 -4
- package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.web.js +13 -4
- package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/commonjs/components/Pressable/Pressable.js +77 -29
- 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 +3 -1
- package/lib/commonjs/components/Pressable/index.js.map +1 -1
- package/lib/commonjs/components/Pressable/utils.js +20 -5
- package/lib/commonjs/components/Pressable/utils.js.map +1 -1
- package/lib/commonjs/components/ReanimatedDrawerLayout.js +86 -44
- package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/commonjs/components/ReanimatedSwipeable.js +45 -18
- package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/commonjs/components/Swipeable.js +75 -34
- package/lib/commonjs/components/Swipeable.js.map +1 -1
- package/lib/commonjs/components/Text.js +28 -10
- package/lib/commonjs/components/Text.js.map +1 -1
- package/lib/commonjs/components/gestureHandlerRootHOC.js +14 -5
- package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/commonjs/components/touchables/ExtraButtonProps.js +2 -0
- package/lib/commonjs/components/touchables/ExtraButtonProps.js.map +1 -0
- package/lib/commonjs/components/touchables/GenericTouchable.js +76 -40
- 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 +34 -19
- package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +32 -16
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -2
- 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 +25 -16
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +25 -13
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/index.js +12 -7
- package/lib/commonjs/components/touchables/index.js.map +1 -1
- package/lib/commonjs/findNodeHandle.js +4 -1
- package/lib/commonjs/findNodeHandle.js.map +1 -1
- package/lib/commonjs/findNodeHandle.web.js +14 -5
- package/lib/commonjs/findNodeHandle.web.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.js +6 -1
- package/lib/commonjs/getReactNativeVersion.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.web.js +1 -0
- package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.js +14 -13
- package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.web.js +1 -0
- package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
- package/lib/commonjs/ghQueueMicrotask.js +2 -1
- package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
- package/lib/commonjs/handlers/FlingGestureHandler.js +11 -9
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +22 -15
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/commonjs/handlers/LongPressGestureHandler.js +11 -9
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +13 -10
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js +32 -13
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PinchGestureHandler.js +9 -7
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js +1 -0
- package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.web.js +1 -0
- package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
- package/lib/commonjs/handlers/RotationGestureHandler.js +9 -7
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/TapGestureHandler.js +11 -9
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js +146 -59
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/createNativeWrapper.js +30 -18
- package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.js +1 -0
- package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.web.js +2 -1
- package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js +10 -9
- 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 +14 -5
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +21 -13
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +29 -9
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +10 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js +36 -11
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +3 -0
- 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 +24 -12
- package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +48 -12
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +13 -3
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +9 -2
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +14 -6
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +55 -27
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/commonjs/handlers/gestures/eventReceiver.js +46 -14
- package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/commonjs/handlers/gestures/flingGesture.js +12 -5
- package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +19 -8
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gesture.js +84 -44
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureComposition.js +31 -17
- package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js +27 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +9 -3
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +7 -2
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/hoverGesture.js +25 -11
- package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/longPressGesture.js +14 -6
- package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/manualGesture.js +6 -0
- package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/nativeGesture.js +12 -5
- package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/panGesture.js +43 -18
- package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/pinchGesture.js +9 -2
- package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +8 -1
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/commonjs/handlers/gestures/rotationGesture.js +9 -2
- package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/tapGesture.js +22 -10
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/commonjs/handlers/getNextHandlerTag.js +1 -0
- package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
- package/lib/commonjs/handlers/handlersRegistry.js +21 -6
- package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
- package/lib/commonjs/handlers/utils.js +26 -6
- package/lib/commonjs/handlers/utils.js.map +1 -1
- package/lib/commonjs/index.js +104 -75
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js +11 -4
- package/lib/commonjs/init.js.map +1 -1
- package/lib/commonjs/jestUtils/index.js +5 -4
- package/lib/commonjs/jestUtils/index.js.map +1 -1
- package/lib/commonjs/jestUtils/jestUtils.js +83 -19
- package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
- package/lib/commonjs/mocks.js +15 -5
- package/lib/commonjs/mocks.js.map +1 -1
- package/lib/commonjs/mountRegistry.js +12 -3
- package/lib/commonjs/mountRegistry.js.map +1 -1
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +5 -1
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +7 -2
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +7 -2
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
- package/lib/commonjs/typeUtils.js.map +1 -1
- package/lib/commonjs/utils.js +37 -13
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/Gestures.js +23 -5
- package/lib/commonjs/web/Gestures.js.map +1 -1
- package/lib/commonjs/web/constants.js +4 -2
- package/lib/commonjs/web/constants.js.map +1 -1
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +41 -5
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js +42 -13
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +49 -6
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +195 -62
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/HoverGestureHandler.js +19 -6
- 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 +47 -6
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js +11 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +49 -8
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +123 -8
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +41 -4
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +42 -4
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +67 -6
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/interfaces.js +17 -9
- package/lib/commonjs/web/interfaces.js.map +1 -1
- package/lib/commonjs/web/tools/CircularBuffer.js +15 -3
- package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
- package/lib/commonjs/web/tools/EventManager.js +41 -7
- 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 +78 -11
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +48 -8
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/InteractionManager.js +22 -5
- package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
- package/lib/commonjs/web/tools/KeyboardEventManager.js +26 -4
- package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/LeastSquareSolver.js +67 -30
- package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/commonjs/web/tools/NodeManager.js +14 -7
- package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerEventManager.js +45 -10
- package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerTracker.js +45 -9
- package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
- package/lib/commonjs/web/tools/Vector.js +18 -3
- package/lib/commonjs/web/tools/Vector.js.map +1 -1
- package/lib/commonjs/web/tools/VelocityTracker.js +31 -9
- package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
- package/lib/commonjs/web/tools/WheelEventManager.js +17 -4
- package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
- package/lib/commonjs/web/utils.js +76 -27
- package/lib/commonjs/web/utils.js.map +1 -1
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +19 -7
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js +13 -3
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/Errors.js +3 -0
- package/lib/commonjs/web_hammer/Errors.js.map +1 -1
- package/lib/commonjs/web_hammer/FlingGestureHandler.js +44 -13
- package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/GestureHandler.js +142 -55
- package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +11 -2
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js +19 -5
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +24 -16
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NodeManager.js +16 -9
- package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
- package/lib/commonjs/web_hammer/PanGestureHandler.js +49 -8
- package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PinchGestureHandler.js +11 -2
- package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PressGestureHandler.js +43 -15
- package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/RotationGestureHandler.js +13 -2
- package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/TapGestureHandler.js +52 -33
- package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/constants.js +26 -13
- package/lib/commonjs/web_hammer/constants.js.map +1 -1
- package/lib/commonjs/web_hammer/utils.js +14 -4
- package/lib/commonjs/web_hammer/utils.js.map +1 -1
- package/lib/module/ActionType.js +1 -3
- package/lib/module/ActionType.js.map +1 -1
- package/lib/module/Directions.js +3 -9
- package/lib/module/Directions.js.map +1 -1
- package/lib/module/EnableNewWebImplementation.js +5 -2
- package/lib/module/EnableNewWebImplementation.js.map +1 -1
- package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/module/PlatformConstants.js +1 -0
- package/lib/module/PlatformConstants.js.map +1 -1
- package/lib/module/PlatformConstants.web.js +1 -0
- package/lib/module/PlatformConstants.web.js.map +1 -1
- package/lib/module/PointerType.js +4 -3
- package/lib/module/PointerType.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.js +0 -1
- package/lib/module/RNGestureHandlerModule.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.web.js +20 -10
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.windows.js +17 -18
- 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 +1 -4
- package/lib/module/State.js.map +1 -1
- package/lib/module/TouchEventType.js +1 -3
- package/lib/module/TouchEventType.js.map +1 -1
- package/lib/module/components/DrawerLayout.js +99 -80
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/GestureButtons.js +55 -19
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/GestureButtonsProps.js.map +1 -1
- package/lib/module/components/GestureComponents.js +12 -17
- 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 +2 -1
- package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.android.js +2 -1
- package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.js +2 -1
- package/lib/module/components/GestureHandlerRootView.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.web.js +2 -1
- package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +59 -26
- 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 +14 -4
- package/lib/module/components/Pressable/utils.js.map +1 -1
- package/lib/module/components/ReanimatedDrawerLayout.js +66 -40
- package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/module/components/ReanimatedSwipeable.js +30 -14
- package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/module/components/Swipeable.js +59 -28
- package/lib/module/components/Swipeable.js.map +1 -1
- package/lib/module/components/Text.js +15 -7
- 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/ExtraButtonProps.js +2 -0
- package/lib/module/components/touchables/ExtraButtonProps.js.map +1 -0
- package/lib/module/components/touchables/GenericTouchable.js +63 -34
- 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 +24 -15
- package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js +20 -10
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.js +2 -2
- 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 +16 -10
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/module/components/touchables/TouchableWithoutFeedback.js +15 -10
- 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 +11 -5
- 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 +0 -6
- package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/handlers/ForceTouchGestureHandler.js +8 -12
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/module/handlers/LongPressGestureHandler.js +0 -6
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/handlers/NativeViewGestureHandler.js +0 -6
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/handlers/PanGestureHandler.js +19 -8
- package/lib/module/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/handlers/PinchGestureHandler.js +0 -2
- 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 +0 -2
- package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/handlers/TapGestureHandler.js +0 -6
- package/lib/module/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/handlers/createHandler.js +119 -57
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/createNativeWrapper.js +22 -15
- 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 +4 -9
- 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 +4 -3
- package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +7 -8
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +16 -8
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +1 -0
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/index.js +13 -7
- package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +2 -0
- 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 +14 -11
- package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +39 -12
- 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 +6 -2
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -5
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/utils.js +28 -23
- package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/module/handlers/gestures/eventReceiver.js +38 -14
- package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/module/handlers/gestures/flingGesture.js +9 -5
- package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/module/handlers/gestures/forceTouchGesture.js +17 -8
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/gesture.js +73 -44
- package/lib/module/handlers/gestures/gesture.js.map +1 -1
- package/lib/module/handlers/gestures/gestureComposition.js +24 -16
- package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/module/handlers/gestures/gestureObjects.js +14 -1
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.js +4 -3
- package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.web.js +1 -0
- package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/module/handlers/gestures/hoverGesture.js +18 -9
- package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/module/handlers/gestures/longPressGesture.js +11 -6
- package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/module/handlers/gestures/manualGesture.js +4 -0
- package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/module/handlers/gestures/nativeGesture.js +9 -5
- package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/module/handlers/gestures/panGesture.js +41 -18
- package/lib/module/handlers/gestures/panGesture.js.map +1 -1
- package/lib/module/handlers/gestures/pinchGesture.js +7 -2
- package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/reanimatedWrapper.js +5 -0
- package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/module/handlers/gestures/rotationGesture.js +7 -2
- package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/module/handlers/gestures/tapGesture.js +19 -10
- 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 +5 -0
- package/lib/module/handlers/handlersRegistry.js.map +1 -1
- package/lib/module/handlers/utils.js +13 -4
- package/lib/module/handlers/utils.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js +2 -3
- package/lib/module/init.js.map +1 -1
- package/lib/module/jestUtils/index.js.map +1 -1
- package/lib/module/jestUtils/jestUtils.js +66 -20
- package/lib/module/jestUtils/jestUtils.js.map +1 -1
- package/lib/module/mocks.js +7 -3
- package/lib/module/mocks.js.map +1 -1
- package/lib/module/mountRegistry.js +10 -3
- 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 +15 -6
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/Gestures.js +1 -2
- 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 +38 -5
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/module/web/detectors/ScaleGestureDetector.js +38 -13
- package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +39 -5
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js +181 -61
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/HoverGestureHandler.js +11 -5
- 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 +40 -5
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/ManualGestureHandler.js +6 -0
- package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/NativeViewGestureHandler.js +41 -7
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +114 -7
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PinchGestureHandler.js +33 -3
- package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/RotationGestureHandler.js +34 -3
- package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +59 -5
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/interfaces.js +14 -9
- package/lib/module/web/interfaces.js.map +1 -1
- package/lib/module/web/tools/CircularBuffer.js +13 -3
- package/lib/module/web/tools/CircularBuffer.js.map +1 -1
- package/lib/module/web/tools/EventManager.js +39 -7
- 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 +71 -10
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +37 -7
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/module/web/tools/InteractionManager.js +19 -5
- package/lib/module/web/tools/InteractionManager.js.map +1 -1
- package/lib/module/web/tools/KeyboardEventManager.js +19 -3
- package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/module/web/tools/LeastSquareSolver.js +65 -30
- package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/module/web/tools/NodeManager.js +12 -7
- package/lib/module/web/tools/NodeManager.js.map +1 -1
- package/lib/module/web/tools/PointerEventManager.js +35 -9
- package/lib/module/web/tools/PointerEventManager.js.map +1 -1
- package/lib/module/web/tools/PointerTracker.js +39 -8
- package/lib/module/web/tools/PointerTracker.js.map +1 -1
- package/lib/module/web/tools/Vector.js +14 -3
- package/lib/module/web/tools/Vector.js.map +1 -1
- package/lib/module/web/tools/VelocityTracker.js +25 -8
- package/lib/module/web/tools/VelocityTracker.js.map +1 -1
- package/lib/module/web/tools/WheelEventManager.js +10 -3
- package/lib/module/web/tools/WheelEventManager.js.map +1 -1
- package/lib/module/web/utils.js +57 -22
- package/lib/module/web/utils.js.map +1 -1
- package/lib/module/web_hammer/DiscreteGestureHandler.js +13 -4
- package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/DraggingGestureHandler.js +5 -0
- package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/Errors.js +1 -0
- package/lib/module/web_hammer/Errors.js.map +1 -1
- package/lib/module/web_hammer/FlingGestureHandler.js +35 -10
- package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/GestureHandler.js +130 -53
- package/lib/module/web_hammer/GestureHandler.js.map +1 -1
- package/lib/module/web_hammer/IndiscreteGestureHandler.js +6 -1
- package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/LongPressGestureHandler.js +11 -2
- 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 +8 -6
- package/lib/module/web_hammer/NodeManager.js.map +1 -1
- package/lib/module/web_hammer/PanGestureHandler.js +40 -6
- package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PinchGestureHandler.js +5 -0
- package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PressGestureHandler.js +34 -13
- package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/RotationGestureHandler.js +6 -0
- package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/TapGestureHandler.js +45 -31
- package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/constants.js +1 -2
- 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/GestureComponents.d.ts +1 -1
- package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +5 -0
- package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +7 -0
- package/lib/typescript/components/touchables/GenericTouchable.d.ts +0 -2
- package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +2 -0
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +2 -2
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +3 -3
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +1 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -7
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +2 -2
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +2 -2
- package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +1 -1
- package/lib/typescript/utils.d.ts +1 -0
- package/lib/typescript/web/utils.d.ts +2 -0
- package/package.json +9 -8
- package/src/components/GestureComponents.tsx +1 -1
- package/src/components/ReanimatedDrawerLayout.tsx +17 -4
- package/src/components/Text.tsx +5 -0
- package/src/components/touchables/ExtraButtonProps.ts +7 -0
- package/src/components/touchables/GenericTouchable.tsx +0 -2
- package/src/components/touchables/GenericTouchableProps.ts +2 -0
- package/src/components/touchables/TouchableHighlight.tsx +2 -2
- package/src/components/touchables/TouchableNativeFeedback.android.tsx +1 -1
- package/src/components/touchables/TouchableNativeFeedback.tsx +1 -1
- package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -8
- package/src/components/touchables/TouchableOpacity.tsx +2 -2
- package/src/components/touchables/TouchableWithoutFeedback.tsx +22 -4
- package/src/handlers/createHandler.tsx +20 -9
- package/src/handlers/createNativeWrapper.tsx +7 -3
- package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +2 -4
- package/src/utils.ts +6 -0
- package/src/web/utils.ts +21 -3
@@ -4,23 +4,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = Pressable;
|
7
|
+
|
7
8
|
var _react = _interopRequireWildcard(require("react"));
|
9
|
+
|
8
10
|
var _gestureObjects = require("../../handlers/gestures/gestureObjects");
|
11
|
+
|
9
12
|
var _GestureDetector = require("../../handlers/gestures/GestureDetector");
|
13
|
+
|
10
14
|
var _reactNative = require("react-native");
|
15
|
+
|
11
16
|
var _GestureHandlerButton = _interopRequireDefault(require("../GestureHandlerButton"));
|
17
|
+
|
12
18
|
var _utils = require("./utils");
|
19
|
+
|
13
20
|
var _PressabilityDebugView = require("../../handlers/PressabilityDebugView");
|
21
|
+
|
14
22
|
var _utils2 = require("../../utils");
|
15
|
-
|
16
|
-
function
|
17
|
-
|
18
|
-
function
|
23
|
+
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
25
|
+
|
26
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
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
|
+
|
19
32
|
const DEFAULT_LONG_PRESS_DURATION = 500;
|
20
33
|
const IS_TEST_ENV = (0, _utils2.isTestEnv)();
|
21
34
|
let IS_FABRIC = null;
|
35
|
+
|
22
36
|
function Pressable(props) {
|
23
37
|
var _android_ripple$radiu;
|
38
|
+
|
24
39
|
const {
|
25
40
|
testOnly_pressed,
|
26
41
|
hitSlop,
|
@@ -43,9 +58,8 @@ function Pressable(props) {
|
|
43
58
|
...remainingProps
|
44
59
|
} = props;
|
45
60
|
const [pressedState, setPressedState] = (0, _react.useState)(testOnly_pressed !== null && testOnly_pressed !== void 0 ? testOnly_pressed : false);
|
46
|
-
const pressableRef = (0, _react.useRef)(null);
|
61
|
+
const pressableRef = (0, _react.useRef)(null); // Disabled when onLongPress has been called
|
47
62
|
|
48
|
-
// Disabled when onLongPress has been called
|
49
63
|
const isPressCallbackEnabled = (0, _react.useRef)(true);
|
50
64
|
const hasPassedBoundsChecks = (0, _react.useRef)(false);
|
51
65
|
const shouldPreventNativeEffects = (0, _react.useRef)(false);
|
@@ -58,35 +72,40 @@ function Pressable(props) {
|
|
58
72
|
if (hoverOutTimeout.current) {
|
59
73
|
clearTimeout(hoverOutTimeout.current);
|
60
74
|
}
|
75
|
+
|
61
76
|
if (delayHoverIn) {
|
62
77
|
hoverInTimeout.current = setTimeout(() => onHoverIn === null || onHoverIn === void 0 ? void 0 : onHoverIn((0, _utils.gestureToPressableEvent)(event)), delayHoverIn);
|
63
78
|
return;
|
64
79
|
}
|
65
|
-
|
80
|
+
|
81
|
+
onHoverIn === null || onHoverIn === void 0 ? void 0 : onHoverIn((0, _utils.gestureToPressableEvent)(event));
|
66
82
|
}).onFinalize(event => {
|
67
83
|
if (hoverInTimeout.current) {
|
68
84
|
clearTimeout(hoverInTimeout.current);
|
69
85
|
}
|
86
|
+
|
70
87
|
if (delayHoverOut) {
|
71
88
|
hoverOutTimeout.current = setTimeout(() => onHoverOut === null || onHoverOut === void 0 ? void 0 : onHoverOut((0, _utils.gestureToPressableEvent)(event)), delayHoverOut);
|
72
89
|
return;
|
73
90
|
}
|
74
|
-
|
91
|
+
|
92
|
+
onHoverOut === null || onHoverOut === void 0 ? void 0 : onHoverOut((0, _utils.gestureToPressableEvent)(event));
|
75
93
|
}), [delayHoverIn, delayHoverOut, onHoverIn, onHoverOut]);
|
76
94
|
const pressDelayTimeoutRef = (0, _react.useRef)(null);
|
77
|
-
const isTouchPropagationAllowed = (0, _react.useRef)(false);
|
95
|
+
const isTouchPropagationAllowed = (0, _react.useRef)(false); // iOS only: due to varying flow of gestures, events sometimes have to be saved for later use
|
78
96
|
|
79
|
-
// iOS only: due to varying flow of gestures, events sometimes have to be saved for later use
|
80
97
|
const deferredEventPayload = (0, _react.useRef)(null);
|
81
98
|
const pressInHandler = (0, _react.useCallback)(event => {
|
82
99
|
if (handlingOnTouchesDown.current) {
|
83
100
|
deferredEventPayload.current = event;
|
84
101
|
}
|
102
|
+
|
85
103
|
if (!isTouchPropagationAllowed.current) {
|
86
104
|
return;
|
87
105
|
}
|
106
|
+
|
88
107
|
deferredEventPayload.current = null;
|
89
|
-
onPressIn === null || onPressIn === void 0
|
108
|
+
onPressIn === null || onPressIn === void 0 ? void 0 : onPressIn(event);
|
90
109
|
isPressCallbackEnabled.current = true;
|
91
110
|
pressDelayTimeoutRef.current = null;
|
92
111
|
setPressedState(true);
|
@@ -95,6 +114,7 @@ function Pressable(props) {
|
|
95
114
|
if (!hasPassedBoundsChecks.current || event.nativeEvent.touches.length > event.nativeEvent.changedTouches.length) {
|
96
115
|
return;
|
97
116
|
}
|
117
|
+
|
98
118
|
if (unstable_pressDelay && pressDelayTimeoutRef.current !== null) {
|
99
119
|
// When delay is preemptively finished by lifting touches,
|
100
120
|
// we want to immediately activate it's effects - pressInHandler,
|
@@ -102,18 +122,23 @@ function Pressable(props) {
|
|
102
122
|
clearTimeout(pressDelayTimeoutRef.current);
|
103
123
|
pressInHandler(event);
|
104
124
|
}
|
125
|
+
|
105
126
|
if (deferredEventPayload.current) {
|
106
|
-
onPressIn === null || onPressIn === void 0
|
127
|
+
onPressIn === null || onPressIn === void 0 ? void 0 : onPressIn(deferredEventPayload.current);
|
107
128
|
deferredEventPayload.current = null;
|
108
129
|
}
|
109
|
-
|
130
|
+
|
131
|
+
onPressOut === null || onPressOut === void 0 ? void 0 : onPressOut(event);
|
132
|
+
|
110
133
|
if (isPressCallbackEnabled.current) {
|
111
|
-
onPress === null || onPress === void 0
|
134
|
+
onPress === null || onPress === void 0 ? void 0 : onPress(event);
|
112
135
|
}
|
136
|
+
|
113
137
|
if (longPressTimeoutRef.current) {
|
114
138
|
clearTimeout(longPressTimeoutRef.current);
|
115
139
|
longPressTimeoutRef.current = null;
|
116
140
|
}
|
141
|
+
|
117
142
|
isTouchPropagationAllowed.current = false;
|
118
143
|
hasPassedBoundsChecks.current = false;
|
119
144
|
isPressCallbackEnabled.current = true;
|
@@ -126,10 +151,12 @@ function Pressable(props) {
|
|
126
151
|
if (!isTouchPropagationAllowed.current) {
|
127
152
|
return;
|
128
153
|
}
|
154
|
+
|
129
155
|
if (hasPassedBoundsChecks.current) {
|
130
|
-
onLongPress === null || onLongPress === void 0
|
156
|
+
onLongPress === null || onLongPress === void 0 ? void 0 : onLongPress((0, _utils.gestureTouchToPressableEvent)(event));
|
131
157
|
isPressCallbackEnabled.current = false;
|
132
158
|
}
|
159
|
+
|
133
160
|
if (longPressTimeoutRef.current) {
|
134
161
|
clearTimeout(longPressTimeoutRef.current);
|
135
162
|
longPressTimeoutRef.current = null;
|
@@ -141,9 +168,11 @@ function Pressable(props) {
|
|
141
168
|
.maxDistance(_utils2.INT32_MAX) // Stops long press from cancelling after set distance
|
142
169
|
.cancelsTouchesInView(false).onTouchesDown(event => {
|
143
170
|
var _pressableRef$current;
|
171
|
+
|
144
172
|
handlingOnTouchesDown.current = true;
|
145
|
-
(_pressableRef$current = pressableRef.current) === null || _pressableRef$current === void 0
|
173
|
+
(_pressableRef$current = pressableRef.current) === null || _pressableRef$current === void 0 ? void 0 : _pressableRef$current.measure((_x, _y, width, height) => {
|
146
174
|
var _onEndHandlingTouches;
|
175
|
+
|
147
176
|
if (!(0, _utils.isTouchWithinInset)({
|
148
177
|
width,
|
149
178
|
height
|
@@ -153,13 +182,14 @@ function Pressable(props) {
|
|
153
182
|
handlingOnTouchesDown.current = false;
|
154
183
|
return;
|
155
184
|
}
|
156
|
-
hasPassedBoundsChecks.current = true;
|
157
185
|
|
158
|
-
// In case of multiple touches, the first one starts long press gesture
|
186
|
+
hasPassedBoundsChecks.current = true; // In case of multiple touches, the first one starts long press gesture
|
187
|
+
|
159
188
|
if (longPressTimeoutRef.current === null) {
|
160
189
|
// Start long press gesture timer
|
161
190
|
longPressTimeoutRef.current = setTimeout(() => activateLongPress(event), longPressMinDuration);
|
162
191
|
}
|
192
|
+
|
163
193
|
if (unstable_pressDelay) {
|
164
194
|
pressDelayTimeoutRef.current = setTimeout(() => {
|
165
195
|
pressInHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
@@ -167,35 +197,43 @@ function Pressable(props) {
|
|
167
197
|
} else {
|
168
198
|
pressInHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
169
199
|
}
|
170
|
-
|
200
|
+
|
201
|
+
(_onEndHandlingTouches = onEndHandlingTouchesDown.current) === null || _onEndHandlingTouches === void 0 ? void 0 : _onEndHandlingTouches.call(onEndHandlingTouchesDown);
|
171
202
|
onEndHandlingTouchesDown.current = null;
|
172
203
|
handlingOnTouchesDown.current = false;
|
173
204
|
});
|
174
205
|
}).onTouchesUp(event => {
|
175
206
|
if (handlingOnTouchesDown.current) {
|
176
207
|
onEndHandlingTouchesDown.current = () => pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
208
|
+
|
177
209
|
return;
|
178
|
-
}
|
179
|
-
// On iOS, short taps will make LongPress gesture call onTouchesUp before Native gesture calls onStart
|
210
|
+
} // On iOS, short taps will make LongPress gesture call onTouchesUp before Native gesture calls onStart
|
180
211
|
// This variable ensures that onStart isn't detected as the first gesture since Pressable is pressed.
|
212
|
+
|
213
|
+
|
181
214
|
if (deferredEventPayload.current !== null) {
|
182
215
|
shouldPreventNativeEffects.current = true;
|
183
216
|
}
|
217
|
+
|
184
218
|
pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
185
219
|
}).onTouchesCancelled(event => {
|
186
220
|
isPressCallbackEnabled.current = false;
|
221
|
+
|
187
222
|
if (handlingOnTouchesDown.current) {
|
188
223
|
cancelledMidPress.current = true;
|
224
|
+
|
189
225
|
onEndHandlingTouchesDown.current = () => pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
226
|
+
|
190
227
|
return;
|
191
228
|
}
|
229
|
+
|
192
230
|
if (!hasPassedBoundsChecks.current || event.allTouches.length > event.changedTouches.length) {
|
193
231
|
return;
|
194
232
|
}
|
233
|
+
|
195
234
|
pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
196
|
-
}), [activateLongPress, longPressMinDuration, normalizedHitSlop, pressInHandler, pressOutHandler, unstable_pressDelay]);
|
235
|
+
}), [activateLongPress, longPressMinDuration, normalizedHitSlop, pressInHandler, pressOutHandler, unstable_pressDelay]); // RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events
|
197
236
|
|
198
|
-
// RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events
|
199
237
|
const buttonGesture = (0, _react.useMemo)(() => _gestureObjects.GestureObjects.Native().onBegin(() => {
|
200
238
|
// Android sets BEGAN state on press down
|
201
239
|
if (_reactNative.Platform.OS === 'android' || _reactNative.Platform.OS === 'macos') {
|
@@ -204,14 +242,16 @@ function Pressable(props) {
|
|
204
242
|
}).onStart(() => {
|
205
243
|
if (_reactNative.Platform.OS === 'web') {
|
206
244
|
isTouchPropagationAllowed.current = true;
|
207
|
-
}
|
245
|
+
} // iOS sets ACTIVE state on press down
|
246
|
+
|
208
247
|
|
209
|
-
// iOS sets ACTIVE state on press down
|
210
248
|
if (_reactNative.Platform.OS !== 'ios') {
|
211
249
|
return;
|
212
250
|
}
|
251
|
+
|
213
252
|
if (deferredEventPayload.current) {
|
214
253
|
isTouchPropagationAllowed.current = true;
|
254
|
+
|
215
255
|
if (hasPassedBoundsChecks.current) {
|
216
256
|
pressInHandler(deferredEventPayload.current);
|
217
257
|
deferredEventPayload.current = null;
|
@@ -219,33 +259,39 @@ function Pressable(props) {
|
|
219
259
|
pressOutHandler(deferredEventPayload.current);
|
220
260
|
isTouchPropagationAllowed.current = false;
|
221
261
|
}
|
262
|
+
|
222
263
|
return;
|
223
264
|
}
|
265
|
+
|
224
266
|
if (hasPassedBoundsChecks.current) {
|
225
267
|
isTouchPropagationAllowed.current = true;
|
226
268
|
return;
|
227
269
|
}
|
270
|
+
|
228
271
|
if (shouldPreventNativeEffects.current) {
|
229
272
|
shouldPreventNativeEffects.current = false;
|
230
273
|
return;
|
231
274
|
}
|
275
|
+
|
232
276
|
isTouchPropagationAllowed.current = true;
|
233
277
|
}), [pressInHandler, pressOutHandler]);
|
234
278
|
const appliedHitSlop = (0, _utils.addInsets)(normalizedHitSlop, normalizedPressRetentionOffset);
|
235
279
|
const isPressableEnabled = disabled !== true;
|
236
280
|
const gestures = [buttonGesture, pressAndTouchGesture, hoverGesture];
|
281
|
+
|
237
282
|
for (const gesture of gestures) {
|
238
283
|
gesture.enabled(isPressableEnabled);
|
239
284
|
gesture.runOnJS(true);
|
240
285
|
gesture.hitSlop(appliedHitSlop);
|
241
286
|
gesture.shouldCancelWhenOutside(_reactNative.Platform.OS === 'web' ? false : true);
|
242
|
-
}
|
287
|
+
} // Uses different hitSlop, to activate on hitSlop area instead of pressRetentionOffset area
|
288
|
+
|
243
289
|
|
244
|
-
// Uses different hitSlop, to activate on hitSlop area instead of pressRetentionOffset area
|
245
290
|
buttonGesture.hitSlop(normalizedHitSlop);
|
246
|
-
const gesture = _gestureObjects.GestureObjects.Simultaneous(...gestures);
|
247
291
|
|
248
|
-
// `cursor: 'pointer'` on `RNButton` crashes iOS
|
292
|
+
const gesture = _gestureObjects.GestureObjects.Simultaneous(...gestures); // `cursor: 'pointer'` on `RNButton` crashes iOS
|
293
|
+
|
294
|
+
|
249
295
|
const pointerStyle = _reactNative.Platform.OS === 'web' ? {
|
250
296
|
cursor: 'pointer'
|
251
297
|
} : {};
|
@@ -257,9 +303,11 @@ function Pressable(props) {
|
|
257
303
|
}) : children;
|
258
304
|
const rippleColor = (0, _react.useMemo)(() => {
|
259
305
|
var _android_ripple$color;
|
306
|
+
|
260
307
|
if (IS_FABRIC === null) {
|
261
308
|
IS_FABRIC = (0, _utils2.isFabric)();
|
262
309
|
}
|
310
|
+
|
263
311
|
const defaultRippleColor = android_ripple ? undefined : 'transparent';
|
264
312
|
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
313
|
return IS_FABRIC ? unprocessedRippleColor : (0, _reactNative.processColor)(unprocessedRippleColor);
|
@@ -1 +1 @@
|
|
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
|
+
{"version":3,"sources":["Pressable.tsx"],"names":["DEFAULT_LONG_PRESS_DURATION","IS_TEST_ENV","IS_FABRIC","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","pointerStyle","cursor","styleProp","pressed","childrenProp","rippleColor","defaultRippleColor","undefined","unprocessedRippleColor","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, 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"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "default", {
|
|
9
9
|
return _Pressable.default;
|
10
10
|
}
|
11
11
|
});
|
12
|
+
|
12
13
|
var _Pressable = _interopRequireDefault(require("./Pressable"));
|
13
|
-
|
14
|
+
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14
16
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA","sourcesContent":["export type {\n PressableProps,\n PressableStateCallbackType,\n} from './PressableProps';\nexport { default } from './Pressable';\n"]}
|
@@ -3,16 +3,20 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.
|
6
|
+
exports.gestureTouchToPressableEvent = exports.gestureToPressableEvent = exports.isTouchWithinInset = exports.addInsets = exports.numberAsInset = void 0;
|
7
|
+
|
7
8
|
const numberAsInset = value => ({
|
8
9
|
left: value,
|
9
10
|
right: value,
|
10
11
|
top: value,
|
11
12
|
bottom: value
|
12
13
|
});
|
14
|
+
|
13
15
|
exports.numberAsInset = numberAsInset;
|
16
|
+
|
14
17
|
const addInsets = (a, b) => {
|
15
18
|
var _a$left, _b$left, _a$right, _b$right, _a$top, _b$top, _a$bottom, _b$bottom;
|
19
|
+
|
16
20
|
return {
|
17
21
|
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),
|
18
22
|
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),
|
@@ -20,7 +24,9 @@ const addInsets = (a, b) => {
|
|
20
24
|
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)
|
21
25
|
};
|
22
26
|
};
|
27
|
+
|
23
28
|
exports.addInsets = addInsets;
|
29
|
+
|
24
30
|
const touchDataToPressEvent = (data, timestamp, targetId) => ({
|
25
31
|
identifier: data.id,
|
26
32
|
locationX: data.x,
|
@@ -32,7 +38,9 @@ const touchDataToPressEvent = (data, timestamp, targetId) => ({
|
|
32
38
|
touches: [],
|
33
39
|
// Always empty - legacy compatibility
|
34
40
|
changedTouches: [] // Always empty - legacy compatibility
|
41
|
+
|
35
42
|
});
|
43
|
+
|
36
44
|
const gestureToPressEvent = (event, timestamp, targetId) => ({
|
37
45
|
identifier: event.handlerTag,
|
38
46
|
locationX: event.x,
|
@@ -44,16 +52,20 @@ const gestureToPressEvent = (event, timestamp, targetId) => ({
|
|
44
52
|
touches: [],
|
45
53
|
// Always empty - legacy compatibility
|
46
54
|
changedTouches: [] // Always empty - legacy compatibility
|
55
|
+
|
47
56
|
});
|
57
|
+
|
48
58
|
const isTouchWithinInset = (dimensions, inset, touch) => {
|
49
59
|
var _touch$x, _inset$right, _touch$y, _inset$bottom, _touch$x2, _inset$left, _touch$y2, _inset$top;
|
60
|
+
|
50
61
|
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);
|
51
62
|
};
|
63
|
+
|
52
64
|
exports.isTouchWithinInset = isTouchWithinInset;
|
65
|
+
|
53
66
|
const gestureToPressableEvent = event => {
|
54
|
-
const timestamp = Date.now();
|
67
|
+
const timestamp = Date.now(); // As far as I can see, there isn't a conventional way of getting targetId with the data we get
|
55
68
|
|
56
|
-
// As far as I can see, there isn't a conventional way of getting targetId with the data we get
|
57
69
|
const targetId = 0;
|
58
70
|
const pressEvent = gestureToPressEvent(event, timestamp, targetId);
|
59
71
|
return {
|
@@ -71,12 +83,14 @@ const gestureToPressableEvent = event => {
|
|
71
83
|
}
|
72
84
|
};
|
73
85
|
};
|
86
|
+
|
74
87
|
exports.gestureToPressableEvent = gestureToPressableEvent;
|
88
|
+
|
75
89
|
const gestureTouchToPressableEvent = event => {
|
76
90
|
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();
|
78
91
|
|
79
|
-
// As far as I can see, there isn't a conventional way of getting targetId with the data we get
|
92
|
+
const timestamp = Date.now(); // As far as I can see, there isn't a conventional way of getting targetId with the data we get
|
93
|
+
|
80
94
|
const targetId = 0;
|
81
95
|
const touchesList = event.allTouches.map(touch => touchDataToPressEvent(touch, timestamp, targetId));
|
82
96
|
const changedTouchesList = event.changedTouches.map(touch => touchDataToPressEvent(touch, timestamp, targetId));
|
@@ -95,5 +109,6 @@ const gestureTouchToPressableEvent = event => {
|
|
95
109
|
}
|
96
110
|
};
|
97
111
|
};
|
112
|
+
|
98
113
|
exports.gestureTouchToPressableEvent = gestureTouchToPressableEvent;
|
99
114
|
//# sourceMappingURL=utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["numberAsInset","value","left","right","top","bottom","
|
1
|
+
{"version":3,"sources":["utils.ts"],"names":["numberAsInset","value","left","right","top","bottom","addInsets","a","b","touchDataToPressEvent","data","timestamp","targetId","identifier","id","locationX","x","locationY","y","pageX","absoluteX","pageY","absoluteY","target","touches","changedTouches","gestureToPressEvent","event","handlerTag","isTouchWithinInset","dimensions","inset","touch","width","height","gestureToPressableEvent","Date","now","pressEvent","nativeEvent","force","undefined","gestureTouchToPressableEvent","touchesList","allTouches","map","changedTouchesList","at"],"mappings":"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","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"]}
|