react-native-gesture-handler 2.26.0 → 2.27.1
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/README.md +69 -0
- package/android/src/main/jni/CMakeLists.txt +7 -26
- package/lib/commonjs/components/Pressable/Pressable.js +139 -188
- package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
- package/lib/commonjs/components/Pressable/StateMachine.js +38 -0
- package/lib/commonjs/components/Pressable/StateMachine.js.map +1 -0
- package/lib/commonjs/components/Pressable/stateDefinitions.js +88 -0
- package/lib/commonjs/components/Pressable/stateDefinitions.js.map +1 -0
- package/lib/commonjs/components/Pressable/utils.js +1 -1
- package/lib/commonjs/components/Pressable/utils.js.map +1 -1
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +12 -0
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js +3 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +3 -0
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +3 -0
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +6 -6
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +24 -33
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +15 -17
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +1 -1
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/commonjs/web/tools/PointerEventManager.js +1 -1
- package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerTracker.js +12 -11
- package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
- package/lib/commonjs/web/tools/Vector.js +1 -1
- package/lib/commonjs/web/tools/Vector.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +141 -190
- package/lib/module/components/Pressable/Pressable.js.map +1 -1
- package/lib/module/components/Pressable/StateMachine.js +34 -0
- package/lib/module/components/Pressable/StateMachine.js.map +1 -0
- package/lib/module/components/Pressable/stateDefinitions.js +83 -0
- package/lib/module/components/Pressable/stateDefinitions.js.map +1 -0
- package/lib/module/components/Pressable/utils.js +1 -1
- package/lib/module/components/Pressable/utils.js.map +1 -1
- package/lib/module/handlers/gestures/forceTouchGesture.js +13 -0
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/gestureObjects.js +3 -1
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/module/web/detectors/RotationGestureDetector.js +3 -0
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +3 -0
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js +6 -6
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +24 -33
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +15 -17
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerOrchestrator.js +1 -1
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/module/web/tools/PointerEventManager.js +1 -1
- package/lib/module/web/tools/PointerEventManager.js.map +1 -1
- package/lib/module/web/tools/PointerTracker.js +12 -11
- package/lib/module/web/tools/PointerTracker.js.map +1 -1
- package/lib/module/web/tools/Vector.js +1 -1
- package/lib/module/web/tools/Vector.js.map +1 -1
- package/lib/typescript/ActionType.d.ts +0 -1
- package/lib/typescript/ActionType.js +6 -0
- package/lib/typescript/Directions.d.ts +0 -1
- package/lib/typescript/Directions.js +18 -0
- package/lib/typescript/EnableNewWebImplementation.d.ts +0 -1
- package/lib/typescript/EnableNewWebImplementation.js +30 -0
- package/lib/typescript/GestureHandlerRootViewContext.d.ts +0 -1
- package/lib/typescript/GestureHandlerRootViewContext.js +2 -0
- package/lib/typescript/PlatformConstants.d.ts +0 -1
- package/lib/typescript/PlatformConstants.js +3 -0
- package/lib/typescript/PlatformConstants.web.d.ts +0 -1
- package/lib/typescript/PlatformConstants.web.js +5 -0
- package/lib/typescript/PointerType.d.ts +0 -1
- package/lib/typescript/PointerType.js +8 -0
- package/lib/typescript/RNGestureHandlerModule.d.ts +0 -1
- package/lib/typescript/RNGestureHandlerModule.js +4 -0
- package/lib/typescript/RNGestureHandlerModule.web.d.ts +0 -1
- package/lib/typescript/RNGestureHandlerModule.web.js +92 -0
- package/lib/typescript/RNGestureHandlerModule.windows.d.ts +0 -1
- package/lib/typescript/RNGestureHandlerModule.windows.js +47 -0
- package/lib/typescript/RNRenderer.d.ts +0 -1
- package/lib/typescript/RNRenderer.js +3 -0
- package/lib/typescript/RNRenderer.web.d.ts +0 -1
- package/lib/typescript/RNRenderer.web.js +3 -0
- package/lib/typescript/State.d.ts +0 -1
- package/lib/typescript/State.js +9 -0
- package/lib/typescript/TouchEventType.d.ts +0 -1
- package/lib/typescript/TouchEventType.js +7 -0
- package/lib/typescript/components/DrawerLayout.d.ts +0 -1
- package/lib/typescript/components/DrawerLayout.js +417 -0
- package/lib/typescript/components/GestureButtons.d.ts +0 -1
- package/lib/typescript/components/GestureButtons.js +165 -0
- package/lib/typescript/components/GestureButtonsProps.d.ts +0 -1
- package/lib/typescript/components/GestureButtonsProps.js +1 -0
- package/lib/typescript/components/GestureComponents.d.ts +0 -1
- package/lib/typescript/components/GestureComponents.js +67 -0
- package/lib/typescript/components/GestureComponents.web.d.ts +0 -1
- package/lib/typescript/components/GestureComponents.web.js +21 -0
- package/lib/typescript/components/GestureHandlerButton.d.ts +0 -1
- package/lib/typescript/components/GestureHandlerButton.js +2 -0
- package/lib/typescript/components/GestureHandlerButton.web.d.ts +0 -1
- package/lib/typescript/components/GestureHandlerButton.web.js +3 -0
- package/lib/typescript/components/GestureHandlerRootView.android.d.ts +0 -1
- package/lib/typescript/components/GestureHandlerRootView.android.js +17 -0
- package/lib/typescript/components/GestureHandlerRootView.d.ts +0 -1
- package/lib/typescript/components/GestureHandlerRootView.js +16 -0
- package/lib/typescript/components/GestureHandlerRootView.web.d.ts +0 -1
- package/lib/typescript/components/GestureHandlerRootView.web.js +11 -0
- package/lib/typescript/components/Pressable/Pressable.d.ts +1 -3
- package/lib/typescript/components/Pressable/Pressable.d.ts.map +1 -1
- package/lib/typescript/components/Pressable/Pressable.js +231 -0
- package/lib/typescript/components/Pressable/PressableProps.d.ts +15 -2
- package/lib/typescript/components/Pressable/PressableProps.d.ts.map +1 -1
- package/lib/typescript/components/Pressable/PressableProps.js +1 -0
- package/lib/typescript/components/Pressable/StateMachine.d.ts +14 -0
- package/lib/typescript/components/Pressable/StateMachine.d.ts.map +1 -0
- package/lib/typescript/components/Pressable/StateMachine.js +34 -0
- package/lib/typescript/components/Pressable/index.d.ts +0 -1
- package/lib/typescript/components/Pressable/index.js +1 -0
- package/lib/typescript/components/Pressable/stateDefinitions.d.ts +9 -0
- package/lib/typescript/components/Pressable/stateDefinitions.d.ts.map +1 -0
- package/lib/typescript/components/Pressable/stateDefinitions.js +104 -0
- package/lib/typescript/components/Pressable/utils.d.ts +3 -7
- package/lib/typescript/components/Pressable/utils.d.ts.map +1 -1
- package/lib/typescript/components/Pressable/utils.js +80 -0
- package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +0 -1
- package/lib/typescript/components/ReanimatedDrawerLayout.js +364 -0
- package/lib/typescript/components/ReanimatedSwipeable.d.ts +0 -1
- package/lib/typescript/components/ReanimatedSwipeable.js +400 -0
- package/lib/typescript/components/Swipeable.d.ts +0 -1
- package/lib/typescript/components/Swipeable.js +287 -0
- package/lib/typescript/components/Text.d.ts +0 -1
- package/lib/typescript/components/Text.js +38 -0
- package/lib/typescript/components/gestureHandlerRootHOC.d.ts +0 -1
- package/lib/typescript/components/gestureHandlerRootHOC.js +18 -0
- package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +0 -1
- package/lib/typescript/components/touchables/ExtraButtonProps.js +1 -0
- package/lib/typescript/components/touchables/GenericTouchable.d.ts +0 -1
- package/lib/typescript/components/touchables/GenericTouchable.js +221 -0
- package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +0 -1
- package/lib/typescript/components/touchables/GenericTouchableProps.js +1 -0
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +0 -1
- package/lib/typescript/components/touchables/TouchableHighlight.js +75 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +0 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.js +65 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +0 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedback.js +6 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +0 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.js +1 -0
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +0 -1
- package/lib/typescript/components/touchables/TouchableOpacity.js +51 -0
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +0 -1
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.js +10 -0
- package/lib/typescript/components/touchables/index.d.ts +0 -1
- package/lib/typescript/components/touchables/index.js +4 -0
- package/lib/typescript/components/utils.d.ts +0 -1
- package/lib/typescript/components/utils.js +11 -0
- package/lib/typescript/findNodeHandle.d.ts +0 -1
- package/lib/typescript/findNodeHandle.js +2 -0
- package/lib/typescript/findNodeHandle.web.d.ts +0 -1
- package/lib/typescript/findNodeHandle.web.js +31 -0
- package/lib/typescript/getShadowNodeFromRef.d.ts +0 -1
- package/lib/typescript/getShadowNodeFromRef.js +45 -0
- package/lib/typescript/getShadowNodeFromRef.web.d.ts +0 -1
- package/lib/typescript/getShadowNodeFromRef.web.js +7 -0
- package/lib/typescript/ghQueueMicrotask.d.ts +0 -1
- package/lib/typescript/ghQueueMicrotask.js +7 -0
- package/lib/typescript/handlers/FlingGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/FlingGestureHandler.js +19 -0
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/ForceTouchGestureHandler.js +37 -0
- package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts +3 -1
- package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts.map +1 -1
- package/lib/typescript/handlers/GestureHandlerEventPayload.js +1 -0
- package/lib/typescript/handlers/LongPressGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/LongPressGestureHandler.js +22 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/NativeViewGestureHandler.js +20 -0
- package/lib/typescript/handlers/PanGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/PanGestureHandler.js +128 -0
- package/lib/typescript/handlers/PinchGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/PinchGestureHandler.js +12 -0
- package/lib/typescript/handlers/PressabilityDebugView.d.ts +0 -1
- package/lib/typescript/handlers/PressabilityDebugView.js +2 -0
- package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +0 -1
- package/lib/typescript/handlers/PressabilityDebugView.web.js +4 -0
- package/lib/typescript/handlers/RotationGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/RotationGestureHandler.js +12 -0
- package/lib/typescript/handlers/TapGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/TapGestureHandler.js +26 -0
- package/lib/typescript/handlers/createHandler.d.ts +0 -1
- package/lib/typescript/handlers/createHandler.js +375 -0
- package/lib/typescript/handlers/createNativeWrapper.d.ts +0 -1
- package/lib/typescript/handlers/createNativeWrapper.js +67 -0
- package/lib/typescript/handlers/customDirectEventTypes.d.ts +0 -1
- package/lib/typescript/handlers/customDirectEventTypes.js +2 -0
- package/lib/typescript/handlers/customDirectEventTypes.web.d.ts +0 -1
- package/lib/typescript/handlers/customDirectEventTypes.web.js +4 -0
- package/lib/typescript/handlers/gestureHandlerCommon.d.ts +0 -1
- package/lib/typescript/handlers/gestureHandlerCommon.js +42 -0
- package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +9 -1
- package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts.map +1 -1
- package/lib/typescript/handlers/gestureHandlerTypesCompat.js +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/Wrap.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/Wrap.js +22 -0
- package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.js +24 -0
- package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.js +55 -0
- package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.js +12 -0
- package/lib/typescript/handlers/gestures/GestureDetector/index.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/index.js +114 -0
- package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.js +18 -0
- package/lib/typescript/handlers/gestures/GestureDetector/types.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/types.js +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.js +54 -0
- package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.js +137 -0
- package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.js +48 -0
- package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.js +35 -0
- package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.js +32 -0
- package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/utils.js +140 -0
- package/lib/typescript/handlers/gestures/eventReceiver.d.ts +0 -1
- package/lib/typescript/handlers/gestures/eventReceiver.js +105 -0
- package/lib/typescript/handlers/gestures/flingGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/flingGesture.js +27 -0
- package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +9 -1
- package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts.map +1 -1
- package/lib/typescript/handlers/gestures/forceTouchGesture.js +57 -0
- package/lib/typescript/handlers/gestures/gesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/gesture.js +303 -0
- package/lib/typescript/handlers/gestures/gestureComposition.d.ts +0 -1
- package/lib/typescript/handlers/gestures/gestureComposition.js +78 -0
- package/lib/typescript/handlers/gestures/gestureObjects.d.ts +3 -2
- package/lib/typescript/handlers/gestures/gestureObjects.d.ts.map +1 -1
- package/lib/typescript/handlers/gestures/gestureObjects.js +125 -0
- package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +0 -1
- package/lib/typescript/handlers/gestures/gestureStateManager.js +60 -0
- package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +0 -1
- package/lib/typescript/handlers/gestures/gestureStateManager.web.js +19 -0
- package/lib/typescript/handlers/gestures/hoverGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/hoverGesture.js +45 -0
- package/lib/typescript/handlers/gestures/longPressGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/longPressGesture.js +35 -0
- package/lib/typescript/handlers/gestures/manualGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/manualGesture.js +16 -0
- package/lib/typescript/handlers/gestures/nativeGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/nativeGesture.js +24 -0
- package/lib/typescript/handlers/gestures/panGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/panGesture.js +181 -0
- package/lib/typescript/handlers/gestures/pinchGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/pinchGesture.js +27 -0
- package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +0 -1
- package/lib/typescript/handlers/gestures/reanimatedWrapper.js +23 -0
- package/lib/typescript/handlers/gestures/rotationGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/rotationGesture.js +27 -0
- package/lib/typescript/handlers/gestures/tapGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/tapGesture.js +72 -0
- package/lib/typescript/handlers/getNextHandlerTag.d.ts +0 -1
- package/lib/typescript/handlers/getNextHandlerTag.js +4 -0
- package/lib/typescript/handlers/handlersRegistry.d.ts +0 -1
- package/lib/typescript/handlers/handlersRegistry.js +36 -0
- package/lib/typescript/handlers/utils.d.ts +0 -1
- package/lib/typescript/handlers/utils.js +58 -0
- package/lib/typescript/index.d.ts +0 -1
- package/lib/typescript/index.js +28 -0
- package/lib/typescript/init.d.ts +0 -1
- package/lib/typescript/init.js +15 -0
- package/lib/typescript/jestUtils/index.d.ts +0 -1
- package/lib/typescript/jestUtils/index.js +1 -0
- package/lib/typescript/jestUtils/jestUtils.d.ts +0 -1
- package/lib/typescript/jestUtils/jestUtils.js +290 -0
- package/lib/typescript/mocks.d.ts +0 -1
- package/lib/typescript/mocks.js +59 -0
- package/lib/typescript/mountRegistry.d.ts +0 -1
- package/lib/typescript/mountRegistry.js +29 -0
- package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +0 -1
- package/lib/typescript/specs/NativeRNGestureHandlerModule.js +2 -0
- package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +0 -1
- package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.js +2 -0
- package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +0 -1
- package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.js +2 -0
- package/lib/typescript/typeUtils.d.ts +0 -1
- package/lib/typescript/typeUtils.js +1 -0
- package/lib/typescript/utils.d.ts +0 -1
- package/lib/typescript/utils.js +80 -0
- package/lib/typescript/web/Gestures.d.ts +0 -1
- package/lib/typescript/web/Gestures.js +38 -0
- package/lib/typescript/web/constants.d.ts +0 -1
- package/lib/typescript/web/constants.js +2 -0
- package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +0 -1
- package/lib/typescript/web/detectors/RotationGestureDetector.d.ts.map +1 -1
- package/lib/typescript/web/detectors/RotationGestureDetector.js +122 -0
- package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +0 -1
- package/lib/typescript/web/detectors/ScaleGestureDetector.js +117 -0
- package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/FlingGestureHandler.d.ts.map +1 -1
- package/lib/typescript/web/handlers/FlingGestureHandler.js +133 -0
- package/lib/typescript/web/handlers/GestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/GestureHandler.d.ts.map +1 -1
- package/lib/typescript/web/handlers/GestureHandler.js +656 -0
- package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/HoverGestureHandler.js +37 -0
- package/lib/typescript/web/handlers/IGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/IGestureHandler.js +1 -0
- package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/LongPressGestureHandler.js +136 -0
- package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/ManualGestureHandler.js +29 -0
- package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/NativeViewGestureHandler.js +133 -0
- package/lib/typescript/web/handlers/PanGestureHandler.d.ts +2 -1
- package/lib/typescript/web/handlers/PanGestureHandler.d.ts.map +1 -1
- package/lib/typescript/web/handlers/PanGestureHandler.js +420 -0
- package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/PinchGestureHandler.js +117 -0
- package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/RotationGestureHandler.js +122 -0
- package/lib/typescript/web/handlers/TapGestureHandler.d.ts +1 -1
- package/lib/typescript/web/handlers/TapGestureHandler.d.ts.map +1 -1
- package/lib/typescript/web/handlers/TapGestureHandler.js +202 -0
- package/lib/typescript/web/interfaces.d.ts +0 -1
- package/lib/typescript/web/interfaces.js +25 -0
- package/lib/typescript/web/tools/CircularBuffer.d.ts +0 -1
- package/lib/typescript/web/tools/CircularBuffer.js +37 -0
- package/lib/typescript/web/tools/EventManager.d.ts +0 -1
- package/lib/typescript/web/tools/EventManager.js +85 -0
- package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +0 -1
- package/lib/typescript/web/tools/GestureHandlerDelegate.js +1 -0
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +0 -1
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts.map +1 -1
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.js +273 -0
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +0 -1
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.js +169 -0
- package/lib/typescript/web/tools/InteractionManager.d.ts +0 -1
- package/lib/typescript/web/tools/InteractionManager.js +91 -0
- package/lib/typescript/web/tools/KeyboardEventManager.d.ts +0 -1
- package/lib/typescript/web/tools/KeyboardEventManager.js +73 -0
- package/lib/typescript/web/tools/LeastSquareSolver.d.ts +0 -1
- package/lib/typescript/web/tools/LeastSquareSolver.js +147 -0
- package/lib/typescript/web/tools/NodeManager.d.ts +0 -1
- package/lib/typescript/web/tools/NodeManager.js +28 -0
- package/lib/typescript/web/tools/PointerEventManager.d.ts +0 -1
- package/lib/typescript/web/tools/PointerEventManager.js +179 -0
- package/lib/typescript/web/tools/PointerTracker.d.ts +3 -4
- package/lib/typescript/web/tools/PointerTracker.d.ts.map +1 -1
- package/lib/typescript/web/tools/PointerTracker.js +161 -0
- package/lib/typescript/web/tools/Vector.d.ts +1 -2
- package/lib/typescript/web/tools/Vector.js +43 -0
- package/lib/typescript/web/tools/VelocityTracker.d.ts +0 -1
- package/lib/typescript/web/tools/VelocityTracker.js +76 -0
- package/lib/typescript/web/tools/WheelEventManager.d.ts +0 -1
- package/lib/typescript/web/tools/WheelEventManager.js +40 -0
- package/lib/typescript/web/utils.d.ts +0 -1
- package/lib/typescript/web/utils.js +233 -0
- package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/DiscreteGestureHandler.js +48 -0
- package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/DraggingGestureHandler.js +25 -0
- package/lib/typescript/web_hammer/Errors.d.ts +0 -1
- package/lib/typescript/web_hammer/Errors.js +5 -0
- package/lib/typescript/web_hammer/FlingGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/FlingGestureHandler.js +119 -0
- package/lib/typescript/web_hammer/GestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/GestureHandler.js +469 -0
- package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/IndiscreteGestureHandler.js +26 -0
- package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/LongPressGestureHandler.js +46 -0
- package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/NativeViewGestureHandler.js +40 -0
- package/lib/typescript/web_hammer/NodeManager.d.ts +0 -1
- package/lib/typescript/web_hammer/NodeManager.js +28 -0
- package/lib/typescript/web_hammer/PanGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/PanGestureHandler.js +151 -0
- package/lib/typescript/web_hammer/PinchGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/PinchGestureHandler.js +19 -0
- package/lib/typescript/web_hammer/PressGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/PressGestureHandler.js +133 -0
- package/lib/typescript/web_hammer/RotationGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/RotationGestureHandler.js +20 -0
- package/lib/typescript/web_hammer/TapGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/TapGestureHandler.js +142 -0
- package/lib/typescript/web_hammer/constants.d.ts +0 -1
- package/lib/typescript/web_hammer/constants.js +42 -0
- package/lib/typescript/web_hammer/utils.d.ts +0 -1
- package/lib/typescript/web_hammer/utils.js +15 -0
- package/package.json +4 -2
- package/src/components/Pressable/Pressable.tsx +357 -445
- package/src/components/Pressable/PressableProps.tsx +15 -0
- package/src/components/Pressable/StateMachine.tsx +49 -0
- package/src/components/Pressable/stateDefinitions.ts +125 -0
- package/src/components/Pressable/utils.ts +11 -7
- package/src/handlers/GestureHandlerEventPayload.ts +3 -0
- package/src/handlers/gestureHandlerTypesCompat.ts +9 -0
- package/src/handlers/gestures/forceTouchGesture.ts +9 -0
- package/src/handlers/gestures/gestureObjects.ts +3 -1
- package/src/web/detectors/RotationGestureDetector.ts +4 -0
- package/src/web/handlers/FlingGestureHandler.ts +4 -0
- package/src/web/handlers/GestureHandler.ts +9 -3
- package/src/web/handlers/PanGestureHandler.ts +25 -36
- package/src/web/handlers/TapGestureHandler.ts +14 -19
- package/src/web/tools/GestureHandlerOrchestrator.ts +1 -0
- package/src/web/tools/PointerEventManager.ts +1 -1
- package/src/web/tools/PointerTracker.ts +17 -15
- package/src/web/tools/Vector.ts +1 -1
package/README.md
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
<img src="https://user-images.githubusercontent.com/16062886/117444014-2d1ffd80-af39-11eb-9bbb-33c320599d93.png" width="100%" alt="React Native Gesture Handler by Software Mansion">
|
2
|
+
|
3
|
+
### Declarative API exposing platform native touch and gesture system to React Native.
|
4
|
+
|
5
|
+
React Native Gesture Handler provides native-driven gesture management APIs for building best possible touch-based experiences in React Native.
|
6
|
+
|
7
|
+
With this library gestures are no longer controlled by the JS responder system, but instead are recognized and tracked in the UI thread.
|
8
|
+
It makes touch interactions and gesture tracking not only smooth, but also dependable and deterministic.
|
9
|
+
|
10
|
+
## Installation
|
11
|
+
|
12
|
+
Check [getting started](https://docs.swmansion.com/react-native-gesture-handler/docs/#installation) section of our docs for the detailed installation instructions.
|
13
|
+
|
14
|
+
## Documentation
|
15
|
+
|
16
|
+
Check out our dedicated documentation page for info about this library, API reference and more: [https://docs.swmansion.com/react-native-gesture-handler/docs/](https://docs.swmansion.com/react-native-gesture-handler/docs/)
|
17
|
+
|
18
|
+
## Examples
|
19
|
+
|
20
|
+
If you want to play with the API but don't feel like trying it on a real app, you can run the example project. Clone the repo, go to the `example` folder and run:
|
21
|
+
|
22
|
+
```bash
|
23
|
+
yarn install
|
24
|
+
```
|
25
|
+
|
26
|
+
Run `yarn start` to start the metro bundler
|
27
|
+
|
28
|
+
Run `yarn android` or `yarn ios` (depending on which platform you want to run the example app on).
|
29
|
+
|
30
|
+
You will need to have an Android or iOS device or emulator connected.
|
31
|
+
|
32
|
+
## React Native Support
|
33
|
+
|
34
|
+
`react-native-gesture-handler` supports the three latest minor releases of `react-native`.
|
35
|
+
|
36
|
+
| version | react-native version |
|
37
|
+
| ------- | -------------------- |
|
38
|
+
| 2.26.0+ | 0.78.0+ |
|
39
|
+
| 2.25.0+ | 0.76.0+ |
|
40
|
+
| 2.24.0+ | 0.75.0+ |
|
41
|
+
| 2.21.0+ | 0.74.0+ |
|
42
|
+
| 2.18.0+ | 0.73.0+ |
|
43
|
+
| 2.16.0+ | 0.68.0+ |
|
44
|
+
| 2.14.0+ | 0.67.0+ |
|
45
|
+
| 2.10.0+ | 0.64.0+ |
|
46
|
+
| 2.0.0+ | 0.63.0+ |
|
47
|
+
|
48
|
+
It may be possible to use newer versions of react-native-gesture-handler on React Native with version <= 0.59 by reverse Jetifying.
|
49
|
+
Read more on that here <https://github.com/mikehardy/jetifier#to-reverse-jetify--convert-node_modules-dependencies-to-support-libraries>
|
50
|
+
|
51
|
+
## License
|
52
|
+
|
53
|
+
Gesture handler library is licensed under [The MIT License](LICENSE).
|
54
|
+
|
55
|
+
## Credits
|
56
|
+
|
57
|
+
This project has been build and is maintained thanks to the support from [Shopify](https://shopify.com), [Expo.io](https://expo.io) and [Software Mansion](https://swmansion.com)
|
58
|
+
|
59
|
+
[](https://shopify.com)
|
60
|
+
[](https://expo.io)
|
61
|
+
[](https://swmansion.com)
|
62
|
+
|
63
|
+
## Community Discord
|
64
|
+
|
65
|
+
[Join the Software Mansion Community Discord](https://discord.swmansion.com) to chat about Gesture Handler or other Software Mansion libraries.
|
66
|
+
|
67
|
+
## Gesture Handler is created by Software Mansion
|
68
|
+
|
69
|
+
Since 2012 [Software Mansion](https://swmansion.com) is a software agency with experience in building web and mobile apps. We are Core React Native Contributors and experts in dealing with all kinds of React Native issues. We can help you build your next dream product – [Hire us](https://swmansion.com/contact/projects?utm_source=gesture-handler&utm_medium=readme).
|
@@ -27,29 +27,10 @@ target_include_directories(
|
|
27
27
|
|
28
28
|
find_package(ReactAndroid REQUIRED CONFIG)
|
29
29
|
find_package(fbjni REQUIRED CONFIG)
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
)
|
38
|
-
elseif (ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
|
39
|
-
target_link_libraries(
|
40
|
-
${PACKAGE_NAME}
|
41
|
-
ReactAndroid::reactnative
|
42
|
-
ReactAndroid::jsi
|
43
|
-
)
|
44
|
-
elseif (ReactAndroid_VERSION_MINOR GREATER_EQUAL 75)
|
45
|
-
target_link_libraries(
|
46
|
-
${PACKAGE_NAME}
|
47
|
-
ReactAndroid::react_render_core
|
48
|
-
ReactAndroid::react_render_uimanager
|
49
|
-
ReactAndroid::react_render_graphics
|
50
|
-
ReactAndroid::jsi
|
51
|
-
ReactAndroid::react_nativemodule_core
|
52
|
-
)
|
53
|
-
else ()
|
54
|
-
message(FATAL_ERROR "react-native-gesture-handler on the New Architecture requires react-native 0.75 or newer.")
|
55
|
-
endif ()
|
30
|
+
|
31
|
+
target_link_libraries(
|
32
|
+
${PACKAGE_NAME}
|
33
|
+
ReactAndroid::reactnative
|
34
|
+
ReactAndroid::jsi
|
35
|
+
fbjni::fbjni
|
36
|
+
)
|
@@ -13,23 +13,25 @@ var _utils = require("./utils");
|
|
13
13
|
var _PressabilityDebugView = require("../../handlers/PressabilityDebugView");
|
14
14
|
var _utils2 = require("../../utils");
|
15
15
|
var _utils3 = require("../utils");
|
16
|
+
var _stateDefinitions = require("./stateDefinitions");
|
16
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
17
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
18
19
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
19
20
|
const DEFAULT_LONG_PRESS_DURATION = 500;
|
20
21
|
const IS_TEST_ENV = (0, _utils2.isTestEnv)();
|
21
22
|
let IS_FABRIC = null;
|
22
|
-
const Pressable =
|
23
|
+
const Pressable = props => {
|
23
24
|
const {
|
25
|
+
ref,
|
24
26
|
testOnly_pressed,
|
25
27
|
hitSlop,
|
26
28
|
pressRetentionOffset,
|
27
29
|
delayHoverIn,
|
28
|
-
onHoverIn,
|
29
30
|
delayHoverOut,
|
30
|
-
onHoverOut,
|
31
31
|
delayLongPress,
|
32
32
|
unstable_pressDelay,
|
33
|
+
onHoverIn,
|
34
|
+
onHoverOut,
|
33
35
|
onPress,
|
34
36
|
onPressIn,
|
35
37
|
onPressOut,
|
@@ -43,6 +45,7 @@ const Pressable = /*#__PURE__*/(0, _react.forwardRef)((props, pressableRef) => {
|
|
43
45
|
simultaneousWithExternalGesture,
|
44
46
|
requireExternalGestureToFail,
|
45
47
|
blocksExternalGesture,
|
48
|
+
dimensionsAfterResize,
|
46
49
|
...remainingProps
|
47
50
|
} = props;
|
48
51
|
const relationProps = {
|
@@ -50,17 +53,105 @@ const Pressable = /*#__PURE__*/(0, _react.forwardRef)((props, pressableRef) => {
|
|
50
53
|
requireExternalGestureToFail,
|
51
54
|
blocksExternalGesture
|
52
55
|
};
|
53
|
-
const [pressedState, setPressedState] = (0, _react.useState)(testOnly_pressed ?? false);
|
54
56
|
|
55
|
-
//
|
56
|
-
const
|
57
|
-
const
|
58
|
-
const
|
57
|
+
// used only if `ref` is undefined
|
58
|
+
const fallbackRef = (0, _react.useRef)(null);
|
59
|
+
const [pressedState, setPressedState] = (0, _react.useState)(testOnly_pressed ?? false);
|
60
|
+
const longPressTimeoutRef = (0, _react.useRef)(null);
|
61
|
+
const pressDelayTimeoutRef = (0, _react.useRef)(null);
|
62
|
+
const isOnPressAllowed = (0, _react.useRef)(true);
|
63
|
+
const isCurrentlyPressed = (0, _react.useRef)(false);
|
64
|
+
const dimensions = (0, _react.useRef)({
|
65
|
+
width: 0,
|
66
|
+
height: 0
|
67
|
+
});
|
59
68
|
const normalizedHitSlop = (0, _react.useMemo)(() => typeof hitSlop === 'number' ? (0, _utils.numberAsInset)(hitSlop) : hitSlop ?? {}, [hitSlop]);
|
60
69
|
const normalizedPressRetentionOffset = (0, _react.useMemo)(() => typeof pressRetentionOffset === 'number' ? (0, _utils.numberAsInset)(pressRetentionOffset) : pressRetentionOffset ?? {}, [pressRetentionOffset]);
|
70
|
+
const appliedHitSlop = (0, _utils.addInsets)(normalizedHitSlop, normalizedPressRetentionOffset);
|
71
|
+
(0, _react.useLayoutEffect)(() => {
|
72
|
+
if (dimensionsAfterResize) {
|
73
|
+
dimensions.current = dimensionsAfterResize;
|
74
|
+
} else {
|
75
|
+
requestAnimationFrame(() => {
|
76
|
+
(ref ?? fallbackRef).current?.measure((_x, _y, width, height) => {
|
77
|
+
dimensions.current = {
|
78
|
+
width,
|
79
|
+
height
|
80
|
+
};
|
81
|
+
});
|
82
|
+
});
|
83
|
+
}
|
84
|
+
}, [dimensionsAfterResize, ref]);
|
85
|
+
const cancelLongPress = (0, _react.useCallback)(() => {
|
86
|
+
if (longPressTimeoutRef.current) {
|
87
|
+
clearTimeout(longPressTimeoutRef.current);
|
88
|
+
longPressTimeoutRef.current = null;
|
89
|
+
isOnPressAllowed.current = true;
|
90
|
+
}
|
91
|
+
}, []);
|
92
|
+
const cancelDelayedPress = (0, _react.useCallback)(() => {
|
93
|
+
if (pressDelayTimeoutRef.current) {
|
94
|
+
clearTimeout(pressDelayTimeoutRef.current);
|
95
|
+
pressDelayTimeoutRef.current = null;
|
96
|
+
}
|
97
|
+
}, []);
|
98
|
+
const startLongPress = (0, _react.useCallback)(event => {
|
99
|
+
if (onLongPress) {
|
100
|
+
cancelLongPress();
|
101
|
+
longPressTimeoutRef.current = setTimeout(() => {
|
102
|
+
isOnPressAllowed.current = false;
|
103
|
+
onLongPress(event);
|
104
|
+
}, delayLongPress ?? DEFAULT_LONG_PRESS_DURATION);
|
105
|
+
}
|
106
|
+
}, [onLongPress, cancelLongPress, delayLongPress]);
|
107
|
+
const innerHandlePressIn = (0, _react.useCallback)(event => {
|
108
|
+
onPressIn?.(event);
|
109
|
+
startLongPress(event);
|
110
|
+
setPressedState(true);
|
111
|
+
if (pressDelayTimeoutRef.current) {
|
112
|
+
clearTimeout(pressDelayTimeoutRef.current);
|
113
|
+
pressDelayTimeoutRef.current = null;
|
114
|
+
}
|
115
|
+
}, [onPressIn, startLongPress]);
|
116
|
+
const handleFinalize = (0, _react.useCallback)(() => {
|
117
|
+
isCurrentlyPressed.current = false;
|
118
|
+
cancelLongPress();
|
119
|
+
cancelDelayedPress();
|
120
|
+
setPressedState(false);
|
121
|
+
}, [cancelDelayedPress, cancelLongPress]);
|
122
|
+
const handlePressIn = (0, _react.useCallback)(event => {
|
123
|
+
if (!(0, _utils.isTouchWithinInset)(dimensions.current, normalizedHitSlop, event.nativeEvent.changedTouches.at(-1))) {
|
124
|
+
// Ignoring pressIn within pressRetentionOffset
|
125
|
+
return;
|
126
|
+
}
|
127
|
+
isCurrentlyPressed.current = true;
|
128
|
+
if (unstable_pressDelay) {
|
129
|
+
pressDelayTimeoutRef.current = setTimeout(() => {
|
130
|
+
innerHandlePressIn(event);
|
131
|
+
}, unstable_pressDelay);
|
132
|
+
} else {
|
133
|
+
innerHandlePressIn(event);
|
134
|
+
}
|
135
|
+
}, [innerHandlePressIn, normalizedHitSlop, unstable_pressDelay]);
|
136
|
+
const handlePressOut = (0, _react.useCallback)((event, success = true) => {
|
137
|
+
if (!isCurrentlyPressed.current) {
|
138
|
+
// Some prop configurations may lead to handlePressOut being called mutliple times.
|
139
|
+
return;
|
140
|
+
}
|
141
|
+
isCurrentlyPressed.current = false;
|
142
|
+
if (pressDelayTimeoutRef.current) {
|
143
|
+
innerHandlePressIn(event);
|
144
|
+
}
|
145
|
+
onPressOut?.(event);
|
146
|
+
if (isOnPressAllowed.current && success) {
|
147
|
+
onPress?.(event);
|
148
|
+
}
|
149
|
+
handleFinalize();
|
150
|
+
}, [handleFinalize, innerHandlePressIn, onPress, onPressOut]);
|
151
|
+
const stateMachine = (0, _react.useMemo)(() => (0, _stateDefinitions.getConfiguredStateMachine)(handlePressIn, handlePressOut), [handlePressIn, handlePressOut]);
|
61
152
|
const hoverInTimeout = (0, _react.useRef)(null);
|
62
153
|
const hoverOutTimeout = (0, _react.useRef)(null);
|
63
|
-
const hoverGesture = (0, _react.useMemo)(() => _gestureObjects.GestureObjects.Hover().manualActivation(true) //
|
154
|
+
const hoverGesture = (0, _react.useMemo)(() => _gestureObjects.GestureObjects.Hover().manualActivation(true) // Prevents Hover blocking Gesture.Native() on web
|
64
155
|
.cancelsTouchesInView(false).onBegin(event => {
|
65
156
|
if (hoverOutTimeout.current) {
|
66
157
|
clearTimeout(hoverOutTimeout.current);
|
@@ -80,203 +171,63 @@ const Pressable = /*#__PURE__*/(0, _react.forwardRef)((props, pressableRef) => {
|
|
80
171
|
}
|
81
172
|
onHoverOut?.((0, _utils.gestureToPressableEvent)(event));
|
82
173
|
}), [delayHoverIn, delayHoverOut, onHoverIn, onHoverOut]);
|
83
|
-
const
|
84
|
-
|
85
|
-
|
86
|
-
// iOS only: due to varying flow of gestures, events sometimes have to be saved for later use
|
87
|
-
const deferredEventPayload = (0, _react.useRef)(null);
|
88
|
-
const pressInHandler = (0, _react.useCallback)(event => {
|
89
|
-
if (handlingOnTouchesDown.current) {
|
90
|
-
deferredEventPayload.current = event;
|
91
|
-
}
|
92
|
-
if (!isTouchPropagationAllowed.current) {
|
93
|
-
return;
|
94
|
-
}
|
95
|
-
deferredEventPayload.current = null;
|
96
|
-
onPressIn?.(event);
|
97
|
-
isPressCallbackEnabled.current = true;
|
98
|
-
pressDelayTimeoutRef.current = null;
|
99
|
-
setPressedState(true);
|
100
|
-
}, [onPressIn]);
|
101
|
-
const pressOutHandler = (0, _react.useCallback)(event => {
|
102
|
-
if (!isTouchPropagationAllowed.current) {
|
103
|
-
hasPassedBoundsChecks.current = false;
|
104
|
-
isPressCallbackEnabled.current = true;
|
105
|
-
deferredEventPayload.current = null;
|
106
|
-
if (longPressTimeoutRef.current) {
|
107
|
-
clearTimeout(longPressTimeoutRef.current);
|
108
|
-
longPressTimeoutRef.current = null;
|
109
|
-
}
|
110
|
-
if (pressDelayTimeoutRef.current) {
|
111
|
-
clearTimeout(pressDelayTimeoutRef.current);
|
112
|
-
pressDelayTimeoutRef.current = null;
|
113
|
-
}
|
114
|
-
return;
|
115
|
-
}
|
116
|
-
if (!hasPassedBoundsChecks.current || event.nativeEvent.touches.length > event.nativeEvent.changedTouches.length) {
|
117
|
-
return;
|
118
|
-
}
|
119
|
-
if (unstable_pressDelay && pressDelayTimeoutRef.current !== null) {
|
120
|
-
// When delay is preemptively finished by lifting touches,
|
121
|
-
// we want to immediately activate it's effects - pressInHandler,
|
122
|
-
// even though we are located at the pressOutHandler
|
123
|
-
clearTimeout(pressDelayTimeoutRef.current);
|
124
|
-
pressInHandler(event);
|
125
|
-
}
|
126
|
-
if (deferredEventPayload.current) {
|
127
|
-
onPressIn?.(deferredEventPayload.current);
|
128
|
-
deferredEventPayload.current = null;
|
129
|
-
}
|
130
|
-
onPressOut?.(event);
|
131
|
-
if (isPressCallbackEnabled.current) {
|
132
|
-
onPress?.(event);
|
133
|
-
}
|
134
|
-
if (longPressTimeoutRef.current) {
|
135
|
-
clearTimeout(longPressTimeoutRef.current);
|
136
|
-
longPressTimeoutRef.current = null;
|
137
|
-
}
|
138
|
-
isTouchPropagationAllowed.current = false;
|
139
|
-
hasPassedBoundsChecks.current = false;
|
140
|
-
isPressCallbackEnabled.current = true;
|
141
|
-
setPressedState(false);
|
142
|
-
}, [onPress, onPressIn, onPressOut, pressInHandler, unstable_pressDelay]);
|
143
|
-
const handlingOnTouchesDown = (0, _react.useRef)(false);
|
144
|
-
const onEndHandlingTouchesDown = (0, _react.useRef)(null);
|
145
|
-
const cancelledMidPress = (0, _react.useRef)(false);
|
146
|
-
const activateLongPress = (0, _react.useCallback)(event => {
|
147
|
-
if (!isTouchPropagationAllowed.current) {
|
148
|
-
return;
|
149
|
-
}
|
150
|
-
if (hasPassedBoundsChecks.current && onLongPress) {
|
151
|
-
onLongPress((0, _utils.gestureTouchToPressableEvent)(event));
|
152
|
-
isPressCallbackEnabled.current = false;
|
153
|
-
}
|
154
|
-
if (longPressTimeoutRef.current) {
|
155
|
-
clearTimeout(longPressTimeoutRef.current);
|
156
|
-
longPressTimeoutRef.current = null;
|
157
|
-
}
|
158
|
-
}, [onLongPress]);
|
159
|
-
const longPressTimeoutRef = (0, _react.useRef)(null);
|
160
|
-
const longPressMinDuration = (delayLongPress ?? DEFAULT_LONG_PRESS_DURATION) + (unstable_pressDelay ?? 0);
|
161
|
-
const innerPressableRef = (0, _react.useRef)(null);
|
162
|
-
const measureCallback = (0, _react.useCallback)((width, height, event) => {
|
163
|
-
if (!(0, _utils.isTouchWithinInset)({
|
164
|
-
width,
|
165
|
-
height
|
166
|
-
}, normalizedHitSlop, event.changedTouches.at(-1)) || hasPassedBoundsChecks.current || cancelledMidPress.current) {
|
167
|
-
cancelledMidPress.current = false;
|
168
|
-
onEndHandlingTouchesDown.current = null;
|
169
|
-
handlingOnTouchesDown.current = false;
|
170
|
-
return;
|
171
|
-
}
|
172
|
-
hasPassedBoundsChecks.current = true;
|
173
|
-
|
174
|
-
// In case of multiple touches, the first one starts long press gesture
|
175
|
-
if (longPressTimeoutRef.current === null) {
|
176
|
-
// Start long press gesture timer
|
177
|
-
longPressTimeoutRef.current = setTimeout(() => activateLongPress(event), longPressMinDuration);
|
178
|
-
}
|
179
|
-
if (unstable_pressDelay) {
|
180
|
-
pressDelayTimeoutRef.current = setTimeout(() => {
|
181
|
-
pressInHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
182
|
-
}, unstable_pressDelay);
|
183
|
-
} else {
|
184
|
-
pressInHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
185
|
-
}
|
186
|
-
onEndHandlingTouchesDown.current?.();
|
187
|
-
onEndHandlingTouchesDown.current = null;
|
188
|
-
handlingOnTouchesDown.current = false;
|
189
|
-
}, [activateLongPress, longPressMinDuration, normalizedHitSlop, pressInHandler, unstable_pressDelay]);
|
190
|
-
const pressAndTouchGesture = (0, _react.useMemo)(() => _gestureObjects.GestureObjects.LongPress().minDuration(_utils2.INT32_MAX) // Stops long press from blocking native gesture
|
191
|
-
.maxDistance(_utils2.INT32_MAX) // Stops long press from cancelling after set distance
|
174
|
+
const pressAndTouchGesture = (0, _react.useMemo)(() => _gestureObjects.GestureObjects.LongPress().minDuration(_utils2.INT32_MAX) // Stops long press from blocking Gesture.Native()
|
175
|
+
.maxDistance(_utils2.INT32_MAX) // Stops long press from cancelling on touch move
|
192
176
|
.cancelsTouchesInView(false).onTouchesDown(event => {
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
measureCallback(width, height, event);
|
201
|
-
});
|
177
|
+
const pressableEvent = (0, _utils.gestureTouchToPressableEvent)(event);
|
178
|
+
stateMachine.handleEvent(_stateDefinitions.StateMachineEvent.LONG_PRESS_TOUCHES_DOWN, pressableEvent);
|
179
|
+
}).onTouchesUp(() => {
|
180
|
+
if (_reactNative.Platform.OS === 'android') {
|
181
|
+
// Prevents potential soft-locks
|
182
|
+
stateMachine.reset();
|
183
|
+
handleFinalize();
|
202
184
|
}
|
203
|
-
}).onTouchesUp(event => {
|
204
|
-
if (handlingOnTouchesDown.current) {
|
205
|
-
onEndHandlingTouchesDown.current = () => pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
206
|
-
return;
|
207
|
-
}
|
208
|
-
// On iOS, short taps will make LongPress gesture call onTouchesUp before Native gesture calls onStart
|
209
|
-
// This variable ensures that onStart isn't detected as the first gesture since Pressable is pressed.
|
210
|
-
if (deferredEventPayload.current !== null) {
|
211
|
-
shouldPreventNativeEffects.current = true;
|
212
|
-
}
|
213
|
-
pressOutHandler((0, _utils.gestureTouchToPressableEvent)(event));
|
214
185
|
}).onTouchesCancelled(event => {
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
return;
|
186
|
+
const pressableEvent = (0, _utils.gestureTouchToPressableEvent)(event);
|
187
|
+
stateMachine.reset();
|
188
|
+
handlePressOut(pressableEvent, false);
|
189
|
+
}).onFinalize(() => {
|
190
|
+
if (_reactNative.Platform.OS === 'web') {
|
191
|
+
stateMachine.handleEvent(_stateDefinitions.StateMachineEvent.FINALIZE);
|
192
|
+
handleFinalize();
|
223
193
|
}
|
224
|
-
|
225
|
-
}), [pressableRef, measureCallback, pressOutHandler]);
|
194
|
+
}), [stateMachine, handleFinalize, handlePressOut]);
|
226
195
|
|
227
196
|
// RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events
|
228
|
-
const buttonGesture = (0, _react.useMemo)(() => _gestureObjects.GestureObjects.Native().
|
229
|
-
|
230
|
-
|
231
|
-
|
197
|
+
const buttonGesture = (0, _react.useMemo)(() => _gestureObjects.GestureObjects.Native().onTouchesCancelled(event => {
|
198
|
+
if (_reactNative.Platform.OS !== 'macos' && _reactNative.Platform.OS !== 'web') {
|
199
|
+
// On MacOS cancel occurs in middle of gesture
|
200
|
+
// On Web cancel occurs on mouse move, which is unwanted
|
201
|
+
const pressableEvent = (0, _utils.gestureTouchToPressableEvent)(event);
|
202
|
+
stateMachine.reset();
|
203
|
+
handlePressOut(pressableEvent, false);
|
232
204
|
}
|
205
|
+
}).onBegin(() => {
|
206
|
+
stateMachine.handleEvent(_stateDefinitions.StateMachineEvent.NATIVE_BEGIN);
|
233
207
|
}).onStart(() => {
|
234
|
-
if (_reactNative.Platform.OS
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
// iOS sets ACTIVE state on press down
|
239
|
-
if (_reactNative.Platform.OS !== 'ios') {
|
240
|
-
return;
|
241
|
-
}
|
242
|
-
if (deferredEventPayload.current) {
|
243
|
-
isTouchPropagationAllowed.current = true;
|
244
|
-
if (hasPassedBoundsChecks.current) {
|
245
|
-
pressInHandler(deferredEventPayload.current);
|
246
|
-
deferredEventPayload.current = null;
|
247
|
-
} else {
|
248
|
-
pressOutHandler(deferredEventPayload.current);
|
249
|
-
isTouchPropagationAllowed.current = false;
|
250
|
-
}
|
251
|
-
return;
|
252
|
-
}
|
253
|
-
if (hasPassedBoundsChecks.current) {
|
254
|
-
isTouchPropagationAllowed.current = true;
|
255
|
-
return;
|
208
|
+
if (_reactNative.Platform.OS !== 'android') {
|
209
|
+
// Gesture.Native().onStart() is broken with Android + hitSlop
|
210
|
+
stateMachine.handleEvent(_stateDefinitions.StateMachineEvent.NATIVE_START);
|
256
211
|
}
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
212
|
+
}).onFinalize(() => {
|
213
|
+
if (_reactNative.Platform.OS !== 'web') {
|
214
|
+
// On Web we use LongPress().onFinalize() instead of Native().onFinalize(),
|
215
|
+
// as Native cancels on mouse move, and LongPress does not.
|
216
|
+
stateMachine.handleEvent(_stateDefinitions.StateMachineEvent.FINALIZE);
|
217
|
+
handleFinalize();
|
262
218
|
}
|
263
|
-
|
264
|
-
}), [pressInHandler, pressOutHandler]);
|
265
|
-
const appliedHitSlop = (0, _utils.addInsets)(normalizedHitSlop, normalizedPressRetentionOffset);
|
219
|
+
}), [stateMachine, handlePressOut, handleFinalize]);
|
266
220
|
const isPressableEnabled = disabled !== true;
|
267
221
|
const gestures = [buttonGesture, pressAndTouchGesture, hoverGesture];
|
268
222
|
for (const gesture of gestures) {
|
269
223
|
gesture.enabled(isPressableEnabled);
|
270
224
|
gesture.runOnJS(true);
|
271
225
|
gesture.hitSlop(appliedHitSlop);
|
272
|
-
gesture.shouldCancelWhenOutside(_reactNative.Platform.OS
|
226
|
+
gesture.shouldCancelWhenOutside(_reactNative.Platform.OS !== 'web');
|
273
227
|
Object.entries(relationProps).forEach(([relationName, relation]) => {
|
274
228
|
(0, _utils3.applyRelationProp)(gesture, relationName, relation);
|
275
229
|
});
|
276
230
|
}
|
277
|
-
|
278
|
-
// Uses different hitSlop, to activate on hitSlop area instead of pressRetentionOffset area
|
279
|
-
buttonGesture.hitSlop(normalizedHitSlop);
|
280
231
|
const gesture = _gestureObjects.GestureObjects.Simultaneous(...gestures);
|
281
232
|
|
282
233
|
// `cursor: 'pointer'` on `RNButton` crashes iOS
|
@@ -301,7 +252,7 @@ const Pressable = /*#__PURE__*/(0, _react.forwardRef)((props, pressableRef) => {
|
|
301
252
|
gesture: gesture,
|
302
253
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GestureHandlerButton.default, {
|
303
254
|
...remainingProps,
|
304
|
-
ref:
|
255
|
+
ref: ref ?? fallbackRef,
|
305
256
|
accessible: accessible !== false,
|
306
257
|
hitSlop: appliedHitSlop,
|
307
258
|
enabled: isPressableEnabled,
|
@@ -319,6 +270,6 @@ const Pressable = /*#__PURE__*/(0, _react.forwardRef)((props, pressableRef) => {
|
|
319
270
|
}) : null]
|
320
271
|
})
|
321
272
|
});
|
322
|
-
}
|
273
|
+
};
|
323
274
|
var _default = exports.default = Pressable;
|
324
275
|
//# sourceMappingURL=Pressable.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_gestureObjects","_GestureDetector","_reactNative","_GestureHandlerButton","_interopRequireDefault","_utils","_PressabilityDebugView","_utils2","_utils3","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_LONG_PRESS_DURATION","IS_TEST_ENV","isTestEnv","IS_FABRIC","Pressable","forwardRef","props","pressableRef","testOnly_pressed","hitSlop","pressRetentionOffset","delayHoverIn","onHoverIn","delayHoverOut","onHoverOut","delayLongPress","unstable_pressDelay","onPress","onPressIn","onPressOut","onLongPress","style","children","android_disableSound","android_ripple","disabled","accessible","simultaneousWithExternalGesture","requireExternalGestureToFail","blocksExternalGesture","remainingProps","relationProps","pressedState","setPressedState","useState","isPressCallbackEnabled","useRef","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","longPressTimeoutRef","nativeEvent","touches","length","changedTouches","onEndHandlingTouchesDown","cancelledMidPress","activateLongPress","gestureTouchToPressableEvent","longPressMinDuration","innerPressableRef","measureCallback","width","height","isTouchWithinInset","at","pressAndTouchGesture","LongPress","minDuration","INT32_MAX","maxDistance","onTouchesDown","measure","_x","_y","onTouchesUp","onTouchesCancelled","allTouches","buttonGesture","Native","Platform","OS","onStart","appliedHitSlop","addInsets","isPressableEnabled","gestures","gesture","enabled","runOnJS","shouldCancelWhenOutside","entries","forEach","relationName","relation","applyRelationProp","Simultaneous","pointerStyle","cursor","styleProp","pressed","childrenProp","rippleColor","isFabric","defaultRippleColor","undefined","unprocessedRippleColor","color","processColor","jsx","GestureDetector","jsxs","ref","touchSoundDisabled","rippleRadius","radius","testOnly_onPress","testOnly_onPressIn","testOnly_onPressOut","testOnly_onLongPress","__DEV__","PressabilityDebugView","_default","exports"],"sourceRoot":"../../../../src","sources":["components/Pressable/Pressable.tsx"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_gestureObjects","_GestureDetector","_reactNative","_GestureHandlerButton","_interopRequireDefault","_utils","_PressabilityDebugView","_utils2","_utils3","_stateDefinitions","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_LONG_PRESS_DURATION","IS_TEST_ENV","isTestEnv","IS_FABRIC","Pressable","props","ref","testOnly_pressed","hitSlop","pressRetentionOffset","delayHoverIn","delayHoverOut","delayLongPress","unstable_pressDelay","onHoverIn","onHoverOut","onPress","onPressIn","onPressOut","onLongPress","style","children","android_disableSound","android_ripple","disabled","accessible","simultaneousWithExternalGesture","requireExternalGestureToFail","blocksExternalGesture","dimensionsAfterResize","remainingProps","relationProps","fallbackRef","useRef","pressedState","setPressedState","useState","longPressTimeoutRef","pressDelayTimeoutRef","isOnPressAllowed","isCurrentlyPressed","dimensions","width","height","normalizedHitSlop","useMemo","numberAsInset","normalizedPressRetentionOffset","appliedHitSlop","addInsets","useLayoutEffect","current","requestAnimationFrame","measure","_x","_y","cancelLongPress","useCallback","clearTimeout","cancelDelayedPress","startLongPress","event","setTimeout","innerHandlePressIn","handleFinalize","handlePressIn","isTouchWithinInset","nativeEvent","changedTouches","at","handlePressOut","success","stateMachine","getConfiguredStateMachine","hoverInTimeout","hoverOutTimeout","hoverGesture","Gesture","Hover","manualActivation","cancelsTouchesInView","onBegin","gestureToPressableEvent","onFinalize","pressAndTouchGesture","LongPress","minDuration","INT32_MAX","maxDistance","onTouchesDown","pressableEvent","gestureTouchToPressableEvent","handleEvent","StateMachineEvent","LONG_PRESS_TOUCHES_DOWN","onTouchesUp","Platform","OS","reset","onTouchesCancelled","FINALIZE","buttonGesture","Native","NATIVE_BEGIN","onStart","NATIVE_START","isPressableEnabled","gestures","gesture","enabled","runOnJS","shouldCancelWhenOutside","entries","forEach","relationName","relation","applyRelationProp","Simultaneous","pointerStyle","cursor","styleProp","pressed","childrenProp","rippleColor","isFabric","defaultRippleColor","undefined","unprocessedRippleColor","color","processColor","jsx","GestureDetector","jsxs","touchSoundDisabled","rippleRadius","radius","testOnly_onPress","testOnly_onPressIn","testOnly_onPressOut","testOnly_onLongPress","__DEV__","PressabilityDebugView","_default","exports"],"sourceRoot":"../../../../src","sources":["components/Pressable/Pressable.tsx"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.PressableStateMachine = void 0;
|
7
|
+
class PressableStateMachine {
|
8
|
+
constructor(steps) {
|
9
|
+
this.states = steps;
|
10
|
+
this.currentStepIndex = 0;
|
11
|
+
this.eventPayload = null;
|
12
|
+
}
|
13
|
+
reset() {
|
14
|
+
this.currentStepIndex = 0;
|
15
|
+
this.eventPayload = null;
|
16
|
+
}
|
17
|
+
handleEvent(eventName, eventPayload) {
|
18
|
+
const step = this.states[this.currentStepIndex];
|
19
|
+
this.eventPayload = eventPayload || this.eventPayload;
|
20
|
+
if (step.eventName !== eventName) {
|
21
|
+
if (this.currentStepIndex > 0) {
|
22
|
+
// retry with position at index 0
|
23
|
+
this.reset();
|
24
|
+
this.handleEvent(eventName, eventPayload);
|
25
|
+
}
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
if (this.eventPayload && step.callback) {
|
29
|
+
step.callback(this.eventPayload);
|
30
|
+
}
|
31
|
+
this.currentStepIndex++;
|
32
|
+
if (this.currentStepIndex === this.states.length) {
|
33
|
+
this.reset();
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
exports.PressableStateMachine = PressableStateMachine;
|
38
|
+
//# sourceMappingURL=StateMachine.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["PressableStateMachine","constructor","steps","states","currentStepIndex","eventPayload","reset","handleEvent","eventName","step","callback","length","exports"],"sourceRoot":"../../../../src","sources":["components/Pressable/StateMachine.tsx"],"mappings":";;;;;;AAOA,MAAMA,qBAAqB,CAAC;EAK1BC,WAAWA,CAACC,KAAwB,EAAE;IACpC,IAAI,CAACC,MAAM,GAAGD,KAAK;IACnB,IAAI,CAACE,gBAAgB,GAAG,CAAC;IACzB,IAAI,CAACC,YAAY,GAAG,IAAI;EAC1B;EAEOC,KAAKA,CAAA,EAAG;IACb,IAAI,CAACF,gBAAgB,GAAG,CAAC;IACzB,IAAI,CAACC,YAAY,GAAG,IAAI;EAC1B;EAEOE,WAAWA,CAACC,SAAiB,EAAEH,YAA6B,EAAE;IACnE,MAAMI,IAAI,GAAG,IAAI,CAACN,MAAM,CAAC,IAAI,CAACC,gBAAgB,CAAC;IAC/C,IAAI,CAACC,YAAY,GAAGA,YAAY,IAAI,IAAI,CAACA,YAAY;IAErD,IAAII,IAAI,CAACD,SAAS,KAAKA,SAAS,EAAE;MAChC,IAAI,IAAI,CAACJ,gBAAgB,GAAG,CAAC,EAAE;QAC7B;QACA,IAAI,CAACE,KAAK,CAAC,CAAC;QACZ,IAAI,CAACC,WAAW,CAACC,SAAS,EAAEH,YAAY,CAAC;MAC3C;MACA;IACF;IAEA,IAAI,IAAI,CAACA,YAAY,IAAII,IAAI,CAACC,QAAQ,EAAE;MACtCD,IAAI,CAACC,QAAQ,CAAC,IAAI,CAACL,YAAY,CAAC;IAClC;IAEA,IAAI,CAACD,gBAAgB,EAAE;IAEvB,IAAI,IAAI,CAACA,gBAAgB,KAAK,IAAI,CAACD,MAAM,CAACQ,MAAM,EAAE;MAChD,IAAI,CAACL,KAAK,CAAC,CAAC;IACd;EACF;AACF;AAACM,OAAA,CAAAZ,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|