// Metro module 5573 (f5574). import { useEffect } from "react"; import warnOnce from "./warnOnce_4545"; import { createNavigatorFactory, useNavigationBuilder, StackRouter, StackActions } from "./Module1481"; import StackView from "./StackView"; export default createNavigatorFactory(function StackNavigator(props) { const { id, initialRouteName, children, screenListeners, screenOptions, ...props2 } = props; const mode = props2.mode; warnOnce(mode != null, `Stack Navigator: 'mode="${mode}"' is deprecated. Use 'presentation: "${mode}"' in 'screenOptions' instead. See https://reactnavigation.org/docs/stack-navigator#presentation for more details.`); const headerMode = props2.headerMode; warnOnce(headerMode === "none", "Stack Navigator: 'headerMode=\"none\"' is deprecated. Use 'headerShown: false' in 'screenOptions' instead.\n\nSee https://reactnavigation.org/docs/stack-navigator/#headershown for more details."); warnOnce(headerMode != null && headerMode !== "none", "Stack Navigator: 'headerMode' is moved to 'options'. Moved it to 'screenOptions' to keep current behavior.\n\nSee https://reactnavigation.org/docs/stack-navigator/#headermode for more details."); const keyboardHandlingEnabled = props2.keyboardHandlingEnabled; warnOnce(keyboardHandlingEnabled !== void 0, "Stack Navigator: 'keyboardHandlingEnabled' is moved to 'options'. Moved it to 'screenOptions' to keep current behavior.\n\nSee https://reactnavigation.org/docs/stack-navigator/#keyboardhandlingenabled for more details."); const navigationBuilder = useNavigationBuilder(StackRouter, { id, initialRouteName, children, screenListeners, screenOptions, defaultScreenOptions: { presentation: mode, headerShown: headerMode ? headerMode !== "none" : !headerMode, headerMode: headerMode ? headerMode !== "none" ? headerMode : void 0 : void 0, keyboardHandlingEnabled } }); const { state, descriptors, navigation, NavigationContent } = navigationBuilder; useEffect(() => { const addListener = navigation.addListener; return addListener == null ? void 0 : addListener.call(navigation, "tabPress", (c29524_0) => { const isFocused = navigation.isFocused(); requestAnimationFrame(() => { if (state.index > 0 && isFocused && !c29524_0.defaultPrevented) { navigation.dispatch({ ...StackActions.popToTop(), target: state.key }); } }); }); }, [navigation, state.index, state.key]); return ; });