@react-navigation/native-stack 6.9.1 → 6.9.2

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.
Files changed (33) hide show
  1. package/lib/commonjs/index.js.map +1 -1
  2. package/lib/commonjs/navigators/createNativeStackNavigator.js +1 -1
  3. package/lib/commonjs/navigators/createNativeStackNavigator.js.map +1 -1
  4. package/lib/commonjs/types.js.map +1 -1
  5. package/lib/commonjs/utils/useDismissedRouteError.js.map +1 -1
  6. package/lib/commonjs/utils/useInvalidPreventRemoveError.js.map +1 -1
  7. package/lib/commonjs/views/DebugContainer.js.map +1 -1
  8. package/lib/commonjs/views/DebugContainer.native.js.map +1 -1
  9. package/lib/commonjs/views/FontProcessor.js.map +1 -1
  10. package/lib/commonjs/views/FontProcessor.native.js.map +1 -1
  11. package/lib/commonjs/views/HeaderConfig.js +1 -1
  12. package/lib/commonjs/views/HeaderConfig.js.map +1 -1
  13. package/lib/commonjs/views/NativeStackView.js.map +1 -1
  14. package/lib/commonjs/views/NativeStackView.native.js +8 -3
  15. package/lib/commonjs/views/NativeStackView.native.js.map +1 -1
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/module/navigators/createNativeStackNavigator.js +1 -1
  18. package/lib/module/navigators/createNativeStackNavigator.js.map +1 -1
  19. package/lib/module/types.js.map +1 -1
  20. package/lib/module/utils/useDismissedRouteError.js.map +1 -1
  21. package/lib/module/utils/useInvalidPreventRemoveError.js.map +1 -1
  22. package/lib/module/views/DebugContainer.js.map +1 -1
  23. package/lib/module/views/DebugContainer.native.js.map +1 -1
  24. package/lib/module/views/FontProcessor.js.map +1 -1
  25. package/lib/module/views/FontProcessor.native.js.map +1 -1
  26. package/lib/module/views/HeaderConfig.js +1 -1
  27. package/lib/module/views/HeaderConfig.js.map +1 -1
  28. package/lib/module/views/NativeStackView.js.map +1 -1
  29. package/lib/module/views/NativeStackView.native.js +8 -3
  30. package/lib/module/views/NativeStackView.native.js.map +1 -1
  31. package/package.json +5 -5
  32. package/src/views/HeaderConfig.tsx +1 -1
  33. package/src/views/NativeStackView.native.tsx +13 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA;;AAKA","sourcesContent":["/**\n * Navigators\n */\nexport { default as createNativeStackNavigator } from './navigators/createNativeStackNavigator';\n\n/**\n * Views\n */\nexport { default as NativeStackView } from './views/NativeStackView';\n\n/**\n * Types\n */\nexport type {\n NativeStackHeaderProps,\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigationProp,\n NativeStackScreenProps,\n} from './types';\n"]}
1
+ {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["/**\n * Navigators\n */\nexport { default as createNativeStackNavigator } from './navigators/createNativeStackNavigator';\n\n/**\n * Views\n */\nexport { default as NativeStackView } from './views/NativeStackView';\n\n/**\n * Types\n */\nexport type {\n NativeStackHeaderProps,\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigationProp,\n NativeStackScreenProps,\n} from './types';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAGA;;AAKA"}
@@ -17,7 +17,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
17
17
 
18
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
19
19
 
20
- 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); }
20
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
21
21
 
22
22
  function NativeStackNavigator(_ref) {
23
23
  let {
@@ -1 +1 @@
1
- {"version":3,"sources":["createNativeStackNavigator.tsx"],"names":["NativeStackNavigator","id","initialRouteName","children","screenListeners","screenOptions","rest","state","descriptors","navigation","NavigationContent","StackRouter","React","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","StackActions","popToTop","target","key"],"mappings":";;;;;;;AAAA;;AAWA;;AAOA;;;;;;;;;;AAEA,SAASA,oBAAT,OAO8B;AAAA,MAPA;AAC5BC,IAAAA,EAD4B;AAE5BC,IAAAA,gBAF4B;AAG5BC,IAAAA,QAH4B;AAI5BC,IAAAA,eAJ4B;AAK5BC,IAAAA,aAL4B;AAM5B,OAAGC;AANyB,GAOA;AAC5B,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA,WAAT;AAAsBC,IAAAA,UAAtB;AAAkCC,IAAAA;AAAlC,MACJ,kCAMEC,mBANF,EAMe;AACbV,IAAAA,EADa;AAEbC,IAAAA,gBAFa;AAGbC,IAAAA,QAHa;AAIbC,IAAAA,eAJa;AAKbC,IAAAA;AALa,GANf,CADF;AAeAO,EAAAA,KAAK,CAACC,SAAN,CACE;AAAA;;AAAA,WACE;AACAJ,MAAAA,UAFF,aAEEA,UAFF,gDAEEA,UAAU,CAAEK,WAFd,0DAEE,2BAAAL,UAAU,EAAgB,UAAhB,EAA6BM,CAAD,IAAY;AAChD,cAAMC,SAAS,GAAGP,UAAU,CAACO,SAAX,EAAlB,CADgD,CAGhD;AACA;;AACAC,QAAAA,qBAAqB,CAAC,MAAM;AAC1B,cACEV,KAAK,CAACW,KAAN,GAAc,CAAd,IACAF,SADA,IAEA,CAAED,CAAD,CAAkCI,gBAHrC,EAIE;AACA;AACA;AACAV,YAAAA,UAAU,CAACW,QAAX,CAAoB,EAClB,GAAGC,qBAAaC,QAAb,EADe;AAElBC,cAAAA,MAAM,EAAEhB,KAAK,CAACiB;AAFI,aAApB;AAID;AACF,SAboB,CAArB;AAcD,OAnBS;AAFZ;AAAA,GADF,EAuBE,CAACf,UAAD,EAAaF,KAAK,CAACW,KAAnB,EAA0BX,KAAK,CAACiB,GAAhC,CAvBF;AA0BA,sBACE,oBAAC,iBAAD,qBACE,oBAAC,wBAAD,eACMlB,IADN;AAEE,IAAA,KAAK,EAAEC,KAFT;AAGE,IAAA,UAAU,EAAEE,UAHd;AAIE,IAAA,WAAW,EAAED;AAJf,KADF,CADF;AAUD;;eAEc,oCAKbR,oBALa,C","sourcesContent":["import {\n createNavigatorFactory,\n EventArg,\n ParamListBase,\n StackActionHelpers,\n StackActions,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\n\nimport type {\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigatorProps,\n} from '../types';\nimport NativeStackView from '../views/NativeStackView';\n\nfunction NativeStackNavigator({\n id,\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n ...rest\n}: NativeStackNavigatorProps) {\n const { state, descriptors, navigation, NavigationContent } =\n useNavigationBuilder<\n StackNavigationState<ParamListBase>,\n StackRouterOptions,\n StackActionHelpers<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n >(StackRouter, {\n id,\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n });\n\n React.useEffect(\n () =>\n // @ts-expect-error: there may not be a tab navigator in parent\n navigation?.addListener?.('tabPress', (e: any) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }),\n [navigation, state.index, state.key]\n );\n\n return (\n <NavigationContent>\n <NativeStackView\n {...rest}\n state={state}\n navigation={navigation}\n descriptors={descriptors}\n />\n </NavigationContent>\n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap,\n typeof NativeStackNavigator\n>(NativeStackNavigator);\n"]}
1
+ {"version":3,"names":["NativeStackNavigator","id","initialRouteName","children","screenListeners","screenOptions","rest","state","descriptors","navigation","NavigationContent","useNavigationBuilder","StackRouter","React","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","StackActions","popToTop","target","key","createNavigatorFactory"],"sources":["createNativeStackNavigator.tsx"],"sourcesContent":["import {\n createNavigatorFactory,\n EventArg,\n ParamListBase,\n StackActionHelpers,\n StackActions,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\n\nimport type {\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigatorProps,\n} from '../types';\nimport NativeStackView from '../views/NativeStackView';\n\nfunction NativeStackNavigator({\n id,\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n ...rest\n}: NativeStackNavigatorProps) {\n const { state, descriptors, navigation, NavigationContent } =\n useNavigationBuilder<\n StackNavigationState<ParamListBase>,\n StackRouterOptions,\n StackActionHelpers<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n >(StackRouter, {\n id,\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n });\n\n React.useEffect(\n () =>\n // @ts-expect-error: there may not be a tab navigator in parent\n navigation?.addListener?.('tabPress', (e: any) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }),\n [navigation, state.index, state.key]\n );\n\n return (\n <NavigationContent>\n <NativeStackView\n {...rest}\n state={state}\n navigation={navigation}\n descriptors={descriptors}\n />\n </NavigationContent>\n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap,\n typeof NativeStackNavigator\n>(NativeStackNavigator);\n"],"mappings":";;;;;;;AAAA;;AAWA;;AAOA;;;;;;;;;;AAEA,SAASA,oBAAT,OAO8B;EAAA,IAPA;IAC5BC,EAD4B;IAE5BC,gBAF4B;IAG5BC,QAH4B;IAI5BC,eAJ4B;IAK5BC,aAL4B;IAM5B,GAAGC;EANyB,CAOA;EAC5B,MAAM;IAAEC,KAAF;IAASC,WAAT;IAAsBC,UAAtB;IAAkCC;EAAlC,IACJ,IAAAC,4BAAA,EAMEC,mBANF,EAMe;IACbX,EADa;IAEbC,gBAFa;IAGbC,QAHa;IAIbC,eAJa;IAKbC;EALa,CANf,CADF;EAeAQ,KAAK,CAACC,SAAN,CACE;IAAA;;IAAA,OACE;MACAL,UAFF,aAEEA,UAFF,gDAEEA,UAAU,CAAEM,WAFd,0DAEE,2BAAAN,UAAU,EAAgB,UAAhB,EAA6BO,CAAD,IAAY;QAChD,MAAMC,SAAS,GAAGR,UAAU,CAACQ,SAAX,EAAlB,CADgD,CAGhD;QACA;;QACAC,qBAAqB,CAAC,MAAM;UAC1B,IACEX,KAAK,CAACY,KAAN,GAAc,CAAd,IACAF,SADA,IAEA,CAAED,CAAD,CAAkCI,gBAHrC,EAIE;YACA;YACA;YACAX,UAAU,CAACY,QAAX,CAAoB,EAClB,GAAGC,oBAAA,CAAaC,QAAb,EADe;cAElBC,MAAM,EAAEjB,KAAK,CAACkB;YAFI,CAApB;UAID;QACF,CAboB,CAArB;MAcD,CAnBS;IAFZ;EAAA,CADF,EAuBE,CAAChB,UAAD,EAAaF,KAAK,CAACY,KAAnB,EAA0BZ,KAAK,CAACkB,GAAhC,CAvBF;EA0BA,oBACE,oBAAC,iBAAD,qBACE,oBAAC,wBAAD,eACMnB,IADN;IAEE,KAAK,EAAEC,KAFT;IAGE,UAAU,EAAEE,UAHd;IAIE,WAAW,EAAED;EAJf,GADF,CADF;AAUD;;eAEc,IAAAkB,8BAAA,EAKb1B,oBALa,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sources":["types.tsx"],"sourcesContent":["import type {\n DefaultNavigatorOptions,\n Descriptor,\n NavigationHelpers,\n NavigationProp,\n ParamListBase,\n Route,\n RouteProp,\n StackActionHelpers,\n StackNavigationState,\n StackRouterOptions,\n} from '@react-navigation/native';\nimport type {\n ImageSourcePropType,\n StyleProp,\n TextStyle,\n ViewStyle,\n} from 'react-native';\nimport type {\n ScreenProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n} from 'react-native-screens';\n\nexport type NativeStackNavigationEventMap = {\n /**\n * Event which fires when a transition animation starts.\n */\n transitionStart: { data: { closing: boolean } };\n /**\n * Event which fires when a transition animation ends.\n */\n transitionEnd: { data: { closing: boolean } };\n};\n\nexport type NativeStackNavigationProp<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList = string,\n NavigatorID extends string | undefined = undefined\n> = NavigationProp<\n ParamList,\n RouteName,\n NavigatorID,\n StackNavigationState<ParamList>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n> &\n StackActionHelpers<ParamList>;\n\nexport type NativeStackScreenProps<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList = string,\n NavigatorID extends string | undefined = undefined\n> = {\n navigation: NativeStackNavigationProp<ParamList, RouteName, NavigatorID>;\n route: RouteProp<ParamList, RouteName>;\n};\n\nexport type NativeStackNavigationHelpers = NavigationHelpers<\n ParamListBase,\n NativeStackNavigationEventMap\n>;\n\n// We want it to be an empty object because navigator does not have any additional props\nexport type NativeStackNavigationConfig = {};\n\nexport type NativeStackHeaderProps = {\n /**\n * Options for the back button.\n */\n back?: {\n /**\n * Title of the previous screen.\n */\n title: string;\n };\n /**\n * Options for the current screen.\n */\n options: NativeStackNavigationOptions;\n /**\n * Route object for the current screen.\n */\n route: Route<string>;\n /**\n * Navigation prop for the header.\n */\n navigation: NativeStackNavigationProp<ParamListBase>;\n};\n\nexport type HeaderButtonProps = {\n /**\n * Tint color for the header.\n */\n tintColor?: string;\n /**\n * Whether it's possible to navigate back in stack.\n */\n canGoBack: boolean;\n};\n\nexport type HeaderBackButtonProps = HeaderButtonProps & {\n /**\n * Label text for the button. Usually the title of the previous screen.\n * By default, this is only shown on iOS.\n */\n label?: string;\n};\n\nexport type NativeStackNavigationOptions = {\n /**\n * String that can be displayed in the header as a fallback for `headerTitle`.\n */\n title?: string;\n /**\n * Function that given `HeaderProps` returns a React Element to display as a header.\n */\n header?: (props: NativeStackHeaderProps) => React.ReactNode;\n /**\n * Whether the back button is visible in the header.\n * You can use it to show a back button alongside `headerLeft` if you have specified it.\n *\n * This will have no effect on the first screen in the stack.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackVisible?: boolean;\n /**\n * Title string used by the back button on iOS.\n * Defaults to the previous scene's title, or \"Back\" if there's not enough space.\n * Use `headerBackTitleVisible: false` to hide it.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackTitle?: string;\n /**\n * Whether the back button title should be visible or not.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackTitleVisible?: boolean;\n /**\n * Style object for header back title. Supported properties:\n * - fontFamily\n * - fontSize\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackTitleStyle?: StyleProp<{\n fontFamily?: string;\n fontSize?: number;\n }>;\n /**\n * Image to display in the header as the icon in the back button.\n * Defaults to back icon image for the platform\n * - A chevron on iOS\n * - An arrow on Android\n */\n headerBackImageSource?: ImageSourcePropType;\n /**\n * Style of the header when a large title is shown.\n * The large title is shown if `headerLargeTitle` is `true` and\n * the edge of any scrollable content reaches the matching edge of the header.\n *\n * Supported properties:\n * - backgroundColor\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerLargeStyle?: StyleProp<{\n backgroundColor?: string;\n }>;\n /**\n * Whether to enable header with large title which collapses to regular header on scroll.\n *\n * For large title to collapse on scroll, the content of the screen should be wrapped in a scrollable view such as `ScrollView` or `FlatList`.\n * If the scrollable area doesn't fill the screen, the large title won't collapse on scroll.\n * You also need to specify `contentInsetAdjustmentBehavior=\"automatic\"` in your `ScrollView`, `FlatList` etc.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerLargeTitle?: boolean;\n /**\n * Whether drop shadow of header is visible when a large title is shown.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerLargeTitleShadowVisible?: boolean;\n /**\n * Style object for large title in header. Supported properties:\n * - fontFamily\n * - fontSize\n * - fontWeight\n * - color\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerLargeTitleStyle?: StyleProp<{\n fontFamily?: string;\n fontSize?: number;\n fontWeight?: string;\n color?: string;\n }>;\n /**\n * Whether to show the header. The header is shown by default.\n * Setting this to `false` hides the header.\n */\n headerShown?: boolean;\n /**\n * Style object for header. Supported properties:\n * - backgroundColor\n */\n headerStyle?: StyleProp<{\n backgroundColor?: string;\n }>;\n /**\n * Whether to hide the elevation shadow (Android) or the bottom border (iOS) on the header.\n */\n headerShadowVisible?: boolean;\n /**\n * Boolean indicating whether the navigation bar is translucent.\n * Setting this to `true` makes the header absolutely positioned,\n * and changes the background color to `transparent` unless specified in `headerStyle`.\n */\n headerTransparent?: boolean;\n /**\n * Blur effect for the translucent header.\n * The `headerTransparent` option needs to be set to `true` for this to work.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBlurEffect?: ScreenStackHeaderConfigProps['blurEffect'];\n /**\n * Tint color for the header. Changes the color of back button and title.\n */\n headerTintColor?: string;\n /**\n * Function which returns a React Element to render as the background of the header.\n * This is useful for using backgrounds such as an image, a gradient, blur effect etc.\n * You can use this with `headerTransparent` to render content underneath a translucent header.\n */\n headerBackground?: () => React.ReactNode;\n /**\n * Function which returns a React Element to display on the left side of the header.\n * This replaces the back button. See `headerBackVisible` to show the back button along side left element.\n */\n headerLeft?: (props: HeaderBackButtonProps) => React.ReactNode;\n /**\n * Function which returns a React Element to display on the right side of the header.\n */\n headerRight?: (props: HeaderButtonProps) => React.ReactNode;\n /**\n * String or a function that returns a React Element to be used by the header.\n * Defaults to screen `title` or route name.\n *\n * When a function is passed, it receives `tintColor` and`children` in the options object as an argument.\n * The title string is passed in `children`.\n *\n * Note that if you render a custom element by passing a function, animations for the title won't work.\n */\n headerTitle?:\n | string\n | ((props: {\n /**\n * The title text of the header.\n */\n children: string;\n /**\n * Tint color for the header.\n */\n tintColor?: string;\n }) => React.ReactNode);\n /**\n * How to align the the header title.\n * Defaults to `left` on platforms other than iOS.\n *\n * Not supported on iOS. It's always `center` on iOS and cannot be changed.\n */\n headerTitleAlign?: 'left' | 'center';\n /**\n * Style object for header title. Supported properties:\n * - fontFamily\n * - fontSize\n * - fontWeight\n * - color\n */\n headerTitleStyle?: StyleProp<\n Pick<TextStyle, 'fontFamily' | 'fontSize' | 'fontWeight'> & {\n color?: string;\n }\n >;\n /**\n * Options to render a native search bar.\n * You also need to specify `contentInsetAdjustmentBehavior=\"automatic\"` in your `ScrollView`, `FlatList` etc.\n * If you don't have a `ScrollView`, specify `headerTransparent: false`.\n *\n * Only supported on iOS and Android.\n */\n headerSearchBarOptions?: SearchBarProps;\n /**\n * Boolean indicating whether to show the menu on longPress of iOS >= 14 back button. Defaults to `true`.\n * Requires `react-native-screens` version >=3.3.0.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackButtonMenuEnabled?: boolean;\n /**\n * Whether the home indicator should prefer to stay hidden on this screen. Defaults to `false`.\n *\n * @platform ios\n */\n autoHideHomeIndicator?: boolean;\n /**\n * Sets the navigation bar color. Defaults to initial navigation bar color.\n *\n * @platform android\n */\n navigationBarColor?: string;\n /**\n * Sets the visibility of the navigation bar. Defaults to `false`.\n *\n * @platform android\n */\n navigationBarHidden?: boolean;\n /**\n * Sets the status bar animation (similar to the `StatusBar` component).\n * Requires setting `View controller-based status bar appearance -> YES` (or removing the config) in your `Info.plist` file.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n statusBarAnimation?: ScreenProps['statusBarAnimation'];\n /**\n * Sets the status bar color (similar to the `StatusBar` component). Defaults to initial status bar color.\n *\n * @platform android\n */\n statusBarColor?: string;\n /**\n * Whether the status bar should be hidden on this screen.\n * Requires setting `View controller-based status bar appearance -> YES` in your Info.plist file.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n statusBarHidden?: boolean;\n /**\n * Sets the status bar color (similar to the `StatusBar` component).\n * Requires setting `View controller-based status bar appearance -> YES` (or removing the config) in your `Info.plist` file.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n statusBarStyle?: ScreenProps['statusBarStyle'];\n /**\n * Sets the translucency of the status bar. Defaults to `false`.\n *\n * @platform android\n */\n statusBarTranslucent?: boolean;\n /**\n * Sets the direction in which you should swipe to dismiss the screen.\n * When using `vertical` option, options `fullScreenGestureEnabled: true`, `customAnimationOnGesture: true` and `animation: 'slide_from_bottom'` are set by default.\n *\n * Supported values:\n * - `vertical` – dismiss screen vertically\n * - `horizontal` – dismiss screen horizontally (default)\n *\n * @platform ios\n */\n gestureDirection?: ScreenProps['swipeDirection'];\n /**\n * Style object for the scene content.\n */\n contentStyle?: StyleProp<ViewStyle>;\n /**\n * Whether the gesture to dismiss should use animation provided to `animation` prop. Defaults to `false`.\n *\n * Doesn't affect the behavior of screens presented modally.\n *\n * @platform ios\n */\n customAnimationOnGesture?: boolean;\n /**\n * Whether the gesture to dismiss should work on the whole screen. Using gesture to dismiss with this option results in the same\n * transition animation as `simple_push`. This behavior can be changed by setting `customAnimationOnGesture` prop. Achieving the\n * default iOS animation isn't possible due to platform limitations. Defaults to `false`.\n *\n * Doesn't affect the behavior of screens presented modally.\n *\n * @platform ios\n */\n fullScreenGestureEnabled?: boolean;\n /**\n * Whether you can use gestures to dismiss this screen. Defaults to `true`.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n gestureEnabled?: boolean;\n /**\n * The type of animation to use when this screen replaces another screen. Defaults to `pop`.\n *\n * Supported values:\n * - \"push\": the new screen will perform push animation.\n * - \"pop\": the new screen will perform pop animation.\n *\n * Only supported on iOS and Android.\n */\n animationTypeForReplace?: ScreenProps['replaceAnimation'];\n /**\n * How the screen should animate when pushed or popped.\n *\n * Supported values:\n * - \"default\": use the platform default animation\n * - \"fade\": fade screen in or out\n * - \"flip\": flip the screen, requires presentation: \"modal\" (iOS only)\n * - \"simple_push\": use the platform default animation, but without shadow and native header transition (iOS only)\n * - \"slide_from_bottom\": slide in the new screen from bottom\n * - \"slide_from_right\": slide in the new screen from right (Android only, uses default animation on iOS)\n * - \"slide_from_left\": slide in the new screen from left (Android only, uses default animation on iOS)\n * - \"none\": don't animate the screen\n *\n * Only supported on iOS and Android.\n */\n animation?: ScreenProps['stackAnimation'];\n /**\n * Changes the duration (in milliseconds) of `slide_from_bottom`, `fade_from_bottom`, `fade` and `simple_push` transitions on iOS. Defaults to `350`.\n * The duration of `default` and `flip` transitions isn't customizable.\n *\n * @platform ios\n */\n animationDuration?: number;\n /**\n * How should the screen be presented.\n *\n * Supported values:\n * - \"card\": the new screen will be pushed onto a stack, which means the default animation will be slide from the side on iOS, the animation on Android will vary depending on the OS version and theme.\n * - \"modal\": the new screen will be presented modally. this also allows for a nested stack to be rendered inside the screen.\n * - \"transparentModal\": the new screen will be presented modally, but in addition, the previous screen will stay so that the content below can still be seen if the screen has translucent background.\n * - \"containedModal\": will use \"UIModalPresentationCurrentContext\" modal style on iOS and will fallback to \"modal\" on Android.\n * - \"containedTransparentModal\": will use \"UIModalPresentationOverCurrentContext\" modal style on iOS and will fallback to \"transparentModal\" on Android.\n * - \"fullScreenModal\": will use \"UIModalPresentationFullScreen\" modal style on iOS and will fallback to \"modal\" on Android.\n * - \"formSheet\": will use \"UIModalPresentationFormSheet\" modal style on iOS and will fallback to \"modal\" on Android.\n *\n * Only supported on iOS and Android.\n */\n presentation?: Exclude<ScreenProps['stackPresentation'], 'push'> | 'card';\n /**\n * The display orientation to use for the screen.\n *\n * Supported values:\n * - \"default\" - resolves to \"all\" without \"portrait_down\" on iOS. On Android, this lets the system decide the best orientation.\n * - \"all\": all orientations are permitted.\n * - \"portrait\": portrait orientations are permitted.\n * - \"portrait_up\": right-side portrait orientation is permitted.\n * - \"portrait_down\": upside-down portrait orientation is permitted.\n * - \"landscape\": landscape orientations are permitted.\n * - \"landscape_left\": landscape-left orientation is permitted.\n * - \"landscape_right\": landscape-right orientation is permitted.\n *\n * Only supported on iOS and Android.\n */\n orientation?: ScreenProps['screenOrientation'];\n /**\n * Whether inactive screens should be suspended from re-rendering. Defaults to `false`.\n * Defaults to `true` when `enableFreeze()` is run at the top of the application.\n * Requires `react-native-screens` version >=3.16.0.\n *\n * Only supported on iOS and Android.\n */\n freezeOnBlur?: boolean;\n};\n\nexport type NativeStackNavigatorProps = DefaultNavigatorOptions<\n ParamListBase,\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n> &\n StackRouterOptions &\n NativeStackNavigationConfig;\n\nexport type NativeStackDescriptor = Descriptor<\n NativeStackNavigationOptions,\n NativeStackNavigationProp<ParamListBase>,\n RouteProp<ParamListBase>\n>;\n\nexport type NativeStackDescriptorMap = {\n [key: string]: NativeStackDescriptor;\n};\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["useDismissedRouteError.tsx"],"names":["useInvalidPreventRemoveError","state","nextDismissedKey","setNextDismissedKey","React","useState","dismissedRouteName","routes","find","route","key","name","useEffect","message","console","error"],"mappings":";;;;;;;AAIA;;;;;;AAEe,SAASA,4BAAT,CACbC,KADa,EAEb;AAAA;;AACA,QAAM,CAACC,gBAAD,EAAmBC,mBAAnB,IAA0CC,KAAK,CAACC,QAAN,CAC9C,IAD8C,CAAhD;AAIA,QAAMC,kBAAkB,GAAGJ,gBAAgB,yBACvCD,KAAK,CAACM,MAAN,CAAaC,IAAb,CAAmBC,KAAD,IAAWA,KAAK,CAACC,GAAN,KAAcR,gBAA3C,CADuC,uDACvC,mBAA8DS,IADvB,GAEvC,IAFJ;AAIAP,EAAAA,KAAK,CAACQ,SAAN,CAAgB,MAAM;AACpB,QAAIN,kBAAJ,EAAwB;AACtB,YAAMO,OAAO,GACV,eAAcP,kBAAmB,+DAAlC,GACC,6HADD,GAEC,gJAHH;AAKAQ,MAAAA,OAAO,CAACC,KAAR,CAAcF,OAAd;AACD;AACF,GATD,EASG,CAACP,kBAAD,CATH;AAWA,SAAO;AAAEH,IAAAA;AAAF,GAAP;AACD","sourcesContent":["import type {\n ParamListBase,\n StackNavigationState,\n} from '@react-navigation/native';\nimport * as React from 'react';\n\nexport default function useInvalidPreventRemoveError(\n state: StackNavigationState<ParamListBase>\n) {\n const [nextDismissedKey, setNextDismissedKey] = React.useState<string | null>(\n null\n );\n\n const dismissedRouteName = nextDismissedKey\n ? state.routes.find((route) => route.key === nextDismissedKey)?.name\n : null;\n\n React.useEffect(() => {\n if (dismissedRouteName) {\n const message =\n `The screen '${dismissedRouteName}' was removed natively but didn't get removed from JS state. ` +\n `This can happen if the action was prevented in a 'beforeRemove' listener, which is not fully supported in native-stack.\\n\\n` +\n `Consider using a 'usePreventRemove' hook with 'headerBackButtonMenuEnabled: false' to prevent users from natively going back multiple screens.`;\n\n console.error(message);\n }\n }, [dismissedRouteName]);\n\n return { setNextDismissedKey };\n}\n"]}
1
+ {"version":3,"names":["useInvalidPreventRemoveError","state","nextDismissedKey","setNextDismissedKey","React","useState","dismissedRouteName","routes","find","route","key","name","useEffect","message","console","error"],"sources":["useDismissedRouteError.tsx"],"sourcesContent":["import type {\n ParamListBase,\n StackNavigationState,\n} from '@react-navigation/native';\nimport * as React from 'react';\n\nexport default function useInvalidPreventRemoveError(\n state: StackNavigationState<ParamListBase>\n) {\n const [nextDismissedKey, setNextDismissedKey] = React.useState<string | null>(\n null\n );\n\n const dismissedRouteName = nextDismissedKey\n ? state.routes.find((route) => route.key === nextDismissedKey)?.name\n : null;\n\n React.useEffect(() => {\n if (dismissedRouteName) {\n const message =\n `The screen '${dismissedRouteName}' was removed natively but didn't get removed from JS state. ` +\n `This can happen if the action was prevented in a 'beforeRemove' listener, which is not fully supported in native-stack.\\n\\n` +\n `Consider using a 'usePreventRemove' hook with 'headerBackButtonMenuEnabled: false' to prevent users from natively going back multiple screens.`;\n\n console.error(message);\n }\n }, [dismissedRouteName]);\n\n return { setNextDismissedKey };\n}\n"],"mappings":";;;;;;;AAIA;;;;;;AAEe,SAASA,4BAAT,CACbC,KADa,EAEb;EAAA;;EACA,MAAM,CAACC,gBAAD,EAAmBC,mBAAnB,IAA0CC,KAAK,CAACC,QAAN,CAC9C,IAD8C,CAAhD;EAIA,MAAMC,kBAAkB,GAAGJ,gBAAgB,yBACvCD,KAAK,CAACM,MAAN,CAAaC,IAAb,CAAmBC,KAAD,IAAWA,KAAK,CAACC,GAAN,KAAcR,gBAA3C,CADuC,uDACvC,mBAA8DS,IADvB,GAEvC,IAFJ;EAIAP,KAAK,CAACQ,SAAN,CAAgB,MAAM;IACpB,IAAIN,kBAAJ,EAAwB;MACtB,MAAMO,OAAO,GACV,eAAcP,kBAAmB,+DAAlC,GACC,6HADD,GAEC,gJAHH;MAKAQ,OAAO,CAACC,KAAR,CAAcF,OAAd;IACD;EACF,CATD,EASG,CAACP,kBAAD,CATH;EAWA,OAAO;IAAEH;EAAF,CAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["useInvalidPreventRemoveError.tsx"],"names":["useInvalidPreventRemoveError","descriptors","preventedRoutes","preventedRouteKey","Object","keys","preventedDescriptor","isHeaderBackButtonMenuEnabledOnPreventedScreen","options","headerBackButtonMenuEnabled","preventedRouteName","route","name","React","useEffect","message","console","error"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAIe,SAASA,4BAAT,CACbC,WADa,EAEb;AAAA;;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAsB,sCAA5B;AACA,QAAMC,iBAAiB,GAAGC,MAAM,CAACC,IAAP,CAAYH,eAAZ,EAA6B,CAA7B,CAA1B;AACA,QAAMI,mBAAmB,GAAGL,WAAW,CAACE,iBAAD,CAAvC;AACA,QAAMI,8CAA8C,GAClDD,mBADkD,aAClDA,mBADkD,gDAClDA,mBAAmB,CAAEE,OAD6B,0DAClD,sBAA8BC,2BADhC;AAEA,QAAMC,kBAAkB,GAAGJ,mBAAH,aAAGA,mBAAH,iDAAGA,mBAAmB,CAAEK,KAAxB,2DAAG,uBAA4BC,IAAvD;AAEAC,EAAAA,KAAK,CAACC,SAAN,CAAgB,MAAM;AACpB,QACEX,iBAAiB,IAAI,IAArB,IACAI,8CAFF,EAGE;AACA,YAAMQ,OAAO,GACV,cAAaL,kBAAmB,2GAAjC,GACC,8DAA6DA,kBAAmB,mCAFnF;AAGAM,MAAAA,OAAO,CAACC,KAAR,CAAcF,OAAd;AACD;AACF,GAVD,EAUG,CACDZ,iBADC,EAEDI,8CAFC,EAGDG,kBAHC,CAVH;AAeD","sourcesContent":["import { usePreventRemoveContext } from '@react-navigation/native';\nimport * as React from 'react';\n\nimport type { NativeStackDescriptorMap } from '../types';\n\nexport default function useInvalidPreventRemoveError(\n descriptors: NativeStackDescriptorMap\n) {\n const { preventedRoutes } = usePreventRemoveContext();\n const preventedRouteKey = Object.keys(preventedRoutes)[0];\n const preventedDescriptor = descriptors[preventedRouteKey];\n const isHeaderBackButtonMenuEnabledOnPreventedScreen =\n preventedDescriptor?.options?.headerBackButtonMenuEnabled;\n const preventedRouteName = preventedDescriptor?.route?.name;\n\n React.useEffect(() => {\n if (\n preventedRouteKey != null &&\n isHeaderBackButtonMenuEnabledOnPreventedScreen\n ) {\n const message =\n `The screen ${preventedRouteName} uses 'usePreventRemove' hook alongside 'headerBackButtonMenuEnabled: true', which is not supported. \\n\\n` +\n `Consider removing 'headerBackButtonMenuEnabled: true' from ${preventedRouteName} screen to get rid of this error.`;\n console.error(message);\n }\n }, [\n preventedRouteKey,\n isHeaderBackButtonMenuEnabledOnPreventedScreen,\n preventedRouteName,\n ]);\n}\n"]}
1
+ {"version":3,"names":["useInvalidPreventRemoveError","descriptors","preventedRoutes","usePreventRemoveContext","preventedRouteKey","Object","keys","preventedDescriptor","isHeaderBackButtonMenuEnabledOnPreventedScreen","options","headerBackButtonMenuEnabled","preventedRouteName","route","name","React","useEffect","message","console","error"],"sources":["useInvalidPreventRemoveError.tsx"],"sourcesContent":["import { usePreventRemoveContext } from '@react-navigation/native';\nimport * as React from 'react';\n\nimport type { NativeStackDescriptorMap } from '../types';\n\nexport default function useInvalidPreventRemoveError(\n descriptors: NativeStackDescriptorMap\n) {\n const { preventedRoutes } = usePreventRemoveContext();\n const preventedRouteKey = Object.keys(preventedRoutes)[0];\n const preventedDescriptor = descriptors[preventedRouteKey];\n const isHeaderBackButtonMenuEnabledOnPreventedScreen =\n preventedDescriptor?.options?.headerBackButtonMenuEnabled;\n const preventedRouteName = preventedDescriptor?.route?.name;\n\n React.useEffect(() => {\n if (\n preventedRouteKey != null &&\n isHeaderBackButtonMenuEnabledOnPreventedScreen\n ) {\n const message =\n `The screen ${preventedRouteName} uses 'usePreventRemove' hook alongside 'headerBackButtonMenuEnabled: true', which is not supported. \\n\\n` +\n `Consider removing 'headerBackButtonMenuEnabled: true' from ${preventedRouteName} screen to get rid of this error.`;\n console.error(message);\n }\n }, [\n preventedRouteKey,\n isHeaderBackButtonMenuEnabledOnPreventedScreen,\n preventedRouteName,\n ]);\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAIe,SAASA,4BAAT,CACbC,WADa,EAEb;EAAA;;EACA,MAAM;IAAEC;EAAF,IAAsB,IAAAC,+BAAA,GAA5B;EACA,MAAMC,iBAAiB,GAAGC,MAAM,CAACC,IAAP,CAAYJ,eAAZ,EAA6B,CAA7B,CAA1B;EACA,MAAMK,mBAAmB,GAAGN,WAAW,CAACG,iBAAD,CAAvC;EACA,MAAMI,8CAA8C,GAClDD,mBADkD,aAClDA,mBADkD,gDAClDA,mBAAmB,CAAEE,OAD6B,0DAClD,sBAA8BC,2BADhC;EAEA,MAAMC,kBAAkB,GAAGJ,mBAAH,aAAGA,mBAAH,iDAAGA,mBAAmB,CAAEK,KAAxB,2DAAG,uBAA4BC,IAAvD;EAEAC,KAAK,CAACC,SAAN,CAAgB,MAAM;IACpB,IACEX,iBAAiB,IAAI,IAArB,IACAI,8CAFF,EAGE;MACA,MAAMQ,OAAO,GACV,cAAaL,kBAAmB,2GAAjC,GACC,8DAA6DA,kBAAmB,mCAFnF;MAGAM,OAAO,CAACC,KAAR,CAAcF,OAAd;IACD;EACF,CAVD,EAUG,CACDZ,iBADC,EAEDI,8CAFC,EAGDG,kBAHC,CAVH;AAeD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["DebugContainer.tsx"],"names":["Container","props","stackPresentation","_","rest"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAQe,SAASA,SAAT,CAAmBC,KAAnB,EAA0C;AACvD;AACA,QAAM;AAAEC,IAAAA,iBAAiB,EAAEC,CAArB;AAAwB,OAAGC;AAA3B,MAAoCH,KAA1C;AACA,sBAAO,oBAAC,iBAAD,EAAUG,IAAV,CAAP;AACD","sourcesContent":["import * as React from 'react';\nimport { View, ViewProps } from 'react-native';\nimport type { StackPresentationTypes } from 'react-native-screens';\n\ntype ContainerProps = ViewProps & {\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n};\n\nexport default function Container(props: ContainerProps) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { stackPresentation: _, ...rest } = props;\n return <View {...rest} />;\n}\n"]}
1
+ {"version":3,"names":["Container","props","stackPresentation","_","rest"],"sources":["DebugContainer.tsx"],"sourcesContent":["import * as React from 'react';\nimport { View, ViewProps } from 'react-native';\nimport type { StackPresentationTypes } from 'react-native-screens';\n\ntype ContainerProps = ViewProps & {\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n};\n\nexport default function Container(props: ContainerProps) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { stackPresentation: _, ...rest } = props;\n return <View {...rest} />;\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAQe,SAASA,SAAT,CAAmBC,KAAnB,EAA0C;EACvD;EACA,MAAM;IAAEC,iBAAiB,EAAEC,CAArB;IAAwB,GAAGC;EAA3B,IAAoCH,KAA1C;EACA,oBAAO,oBAAC,iBAAD,EAAUG,IAAV,CAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["DebugContainer.native.tsx"],"names":["Container","View","process","env","NODE_ENV","DebugContainer","props","stackPresentation","rest","Platform","OS"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;;;;AADA;AASA,IAAIA,SAAS,GAAGC,iBAAhB;;AAEA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,QAAMC,cAAc,GAAIC,KAAD,IAA2B;AAChD,UAAM;AAAEC,MAAAA,iBAAF;AAAqB,SAAGC;AAAxB,QAAiCF,KAAvC;;AAEA,QAAIG,sBAASC,EAAT,KAAgB,KAAhB,IAAyBH,iBAAiB,KAAK,MAAnD,EAA2D;AACzD;AACA,0BACE,oBAAC,qBAAD,qBACE,oBAAC,iBAAD,EAAUC,IAAV,CADF,CADF;AAKD;;AAED,wBAAO,oBAAC,iBAAD,EAAUA,IAAV,CAAP;AACD,GAbD;;AAeAR,EAAAA,SAAS,GAAGK,cAAZ;AACD;;eAEcL,S","sourcesContent":["import * as React from 'react';\nimport { Platform, View, ViewProps } from 'react-native';\n// @ts-ignore Getting private component\nimport AppContainer from 'react-native/Libraries/ReactNative/AppContainer';\nimport type { StackPresentationTypes } from 'react-native-screens';\n\ntype ContainerProps = ViewProps & {\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n};\n\nlet Container = View as unknown as React.ComponentType<ContainerProps>;\n\nif (process.env.NODE_ENV !== 'production') {\n const DebugContainer = (props: ContainerProps) => {\n const { stackPresentation, ...rest } = props;\n\n if (Platform.OS === 'ios' && stackPresentation !== 'push') {\n // This is necessary for LogBox\n return (\n <AppContainer>\n <View {...rest} />\n </AppContainer>\n );\n }\n\n return <View {...rest} />;\n };\n\n Container = DebugContainer;\n}\n\nexport default Container;\n"]}
1
+ {"version":3,"names":["Container","View","process","env","NODE_ENV","DebugContainer","props","stackPresentation","rest","Platform","OS"],"sources":["DebugContainer.native.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Platform, View, ViewProps } from 'react-native';\n// @ts-ignore Getting private component\nimport AppContainer from 'react-native/Libraries/ReactNative/AppContainer';\nimport type { StackPresentationTypes } from 'react-native-screens';\n\ntype ContainerProps = ViewProps & {\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n};\n\nlet Container = View as unknown as React.ComponentType<ContainerProps>;\n\nif (process.env.NODE_ENV !== 'production') {\n const DebugContainer = (props: ContainerProps) => {\n const { stackPresentation, ...rest } = props;\n\n if (Platform.OS === 'ios' && stackPresentation !== 'push') {\n // This is necessary for LogBox\n return (\n <AppContainer>\n <View {...rest} />\n </AppContainer>\n );\n }\n\n return <View {...rest} />;\n };\n\n Container = DebugContainer;\n}\n\nexport default Container;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;;;;AADA;AASA,IAAIA,SAAS,GAAGC,iBAAhB;;AAEA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;EACzC,MAAMC,cAAc,GAAIC,KAAD,IAA2B;IAChD,MAAM;MAAEC,iBAAF;MAAqB,GAAGC;IAAxB,IAAiCF,KAAvC;;IAEA,IAAIG,qBAAA,CAASC,EAAT,KAAgB,KAAhB,IAAyBH,iBAAiB,KAAK,MAAnD,EAA2D;MACzD;MACA,oBACE,oBAAC,qBAAD,qBACE,oBAAC,iBAAD,EAAUC,IAAV,CADF,CADF;IAKD;;IAED,oBAAO,oBAAC,iBAAD,EAAUA,IAAV,CAAP;EACD,CAbD;;EAeAR,SAAS,GAAGK,cAAZ;AACD;;eAEcL,S"}
@@ -1 +1 @@
1
- {"version":3,"sources":["FontProcessor.tsx"],"names":["processFonts","_","Error"],"mappings":";;;;;;;AAAO,SAASA,YAAT,CACLC,CADK,EAEmB;AACxB,QAAM,IAAIC,KAAJ,CAAU,sBAAV,CAAN;AACD","sourcesContent":["export function processFonts(\n _: (string | undefined)[]\n): (string | undefined)[] {\n throw new Error('Not supported on Web');\n}\n"]}
1
+ {"version":3,"names":["processFonts","_","Error"],"sources":["FontProcessor.tsx"],"sourcesContent":["export function processFonts(\n _: (string | undefined)[]\n): (string | undefined)[] {\n throw new Error('Not supported on Web');\n}\n"],"mappings":";;;;;;;AAAO,SAASA,YAAT,CACLC,CADK,EAEmB;EACxB,MAAM,IAAIC,KAAJ,CAAU,sBAAV,CAAN;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["FontProcessor.native.tsx"],"names":["processFonts","fontFamilies","fontFamilyProcessor","ReactNativeStyleAttributes","fontFamily","process","map"],"mappings":";;;;;;;AACA;;;;AADA;AAGO,SAASA,YAAT,CACLC,YADK,EAEmB;AAAA;;AACxB;AACA,QAAMC,mBAAmB,4BAAGC,oCAA2BC,UAA9B,0DAAG,sBAAuCC,OAAnE;;AACA,MAAI,OAAOH,mBAAP,KAA+B,UAAnC,EAA+C;AAC7C,WAAOD,YAAY,CAACK,GAAb,CAAiBJ,mBAAjB,CAAP;AACD;;AACD,SAAOD,YAAP;AACD","sourcesContent":["// @ts-ignore: No declaration available\nimport ReactNativeStyleAttributes from 'react-native/Libraries/Components/View/ReactNativeStyleAttributes';\n\nexport function processFonts(\n fontFamilies: (string | undefined)[]\n): (string | undefined)[] {\n // @ts-ignore: React Native types are incorrect here and don't consider fontFamily a style value\n const fontFamilyProcessor = ReactNativeStyleAttributes.fontFamily?.process;\n if (typeof fontFamilyProcessor === 'function') {\n return fontFamilies.map(fontFamilyProcessor);\n }\n return fontFamilies;\n}\n"]}
1
+ {"version":3,"names":["processFonts","fontFamilies","fontFamilyProcessor","ReactNativeStyleAttributes","fontFamily","process","map"],"sources":["FontProcessor.native.tsx"],"sourcesContent":["// @ts-ignore: No declaration available\nimport ReactNativeStyleAttributes from 'react-native/Libraries/Components/View/ReactNativeStyleAttributes';\n\nexport function processFonts(\n fontFamilies: (string | undefined)[]\n): (string | undefined)[] {\n // @ts-ignore: React Native types are incorrect here and don't consider fontFamily a style value\n const fontFamilyProcessor = ReactNativeStyleAttributes.fontFamily?.process;\n if (typeof fontFamilyProcessor === 'function') {\n return fontFamilies.map(fontFamilyProcessor);\n }\n return fontFamilies;\n}\n"],"mappings":";;;;;;;AACA;;;;AADA;AAGO,SAASA,YAAT,CACLC,YADK,EAEmB;EAAA;;EACxB;EACA,MAAMC,mBAAmB,4BAAGC,mCAAA,CAA2BC,UAA9B,0DAAG,sBAAuCC,OAAnE;;EACA,IAAI,OAAOH,mBAAP,KAA+B,UAAnC,EAA+C;IAC7C,OAAOD,YAAY,CAACK,GAAb,CAAiBJ,mBAAjB,CAAP;EACD;;EACD,OAAOD,YAAP;AACD"}
@@ -133,7 +133,7 @@ function HeaderConfig(_ref) {
133
133
  disableBackButtonMenu: headerBackButtonMenuEnabled === false,
134
134
  hidden: headerShown === false,
135
135
  hideBackButton: headerBackVisible === false,
136
- hideShadow: headerShadowVisible === false || headerBackground != null || headerTransparent,
136
+ hideShadow: headerShadowVisible === false || headerBackground != null || headerTransparent && headerShadowVisible !== true,
137
137
  largeTitle: headerLargeTitle,
138
138
  largeTitleBackgroundColor: headerLargeStyleFlattened.backgroundColor,
139
139
  largeTitleColor: headerLargeTitleStyleFlattened.color,
@@ -1 +1 @@
1
- {"version":3,"sources":["HeaderConfig.tsx"],"names":["HeaderConfig","headerHeight","headerBackImageSource","headerBackButtonMenuEnabled","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerBackVisible","headerShadowVisible","headerLargeStyle","headerLargeTitle","headerLargeTitleShadowVisible","headerLargeTitleStyle","headerBackground","headerLeft","headerRight","headerShown","headerStyle","headerBlurEffect","headerTintColor","headerTitle","headerTitleAlign","headerTitleStyle","headerTransparent","headerSearchBarOptions","headerTopInsetEnabled","route","title","canGoBack","colors","tintColor","Platform","OS","primary","text","headerBackTitleStyleFlattened","StyleSheet","flatten","headerLargeTitleStyleFlattened","headerTitleStyleFlattened","headerStyleFlattened","headerLargeStyleFlattened","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","fontFamily","titleText","name","titleColor","color","titleFontSize","fontSize","titleFontWeight","fontWeight","headerTitleStyleSupported","headerLeftElement","label","headerRightElement","headerTitleElement","children","supportsHeaderSearchBar","isSearchBarAvailableForCurrentPlatform","SearchBar","hasHeaderSearchBar","Error","backButtonInCustomView","translucent","styles","background","height","backgroundColor","card","I18nManager","getConstants","isRTL","row","undefined","create","flexDirection","alignItems","position","top","left","right","zIndex","overflow"],"mappings":"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","sourcesContent":["import { getHeaderTitle, HeaderTitle } from '@react-navigation/elements';\nimport { Route, useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n I18nManager,\n Platform,\n StyleSheet,\n TextStyle,\n View,\n} from 'react-native';\nimport {\n isSearchBarAvailableForCurrentPlatform,\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderConfig,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderRightView,\n ScreenStackHeaderSearchBarView,\n SearchBar,\n} from 'react-native-screens';\n\nimport type { NativeStackNavigationOptions } from '../types';\nimport { processFonts } from './FontProcessor';\n\ntype Props = NativeStackNavigationOptions & {\n headerTopInsetEnabled: boolean;\n headerHeight: number;\n route: Route<string>;\n canGoBack: boolean;\n};\n\nexport default function HeaderConfig({\n headerHeight,\n headerBackImageSource,\n headerBackButtonMenuEnabled,\n headerBackTitle,\n headerBackTitleStyle,\n headerBackTitleVisible = true,\n headerBackVisible,\n headerShadowVisible,\n headerLargeStyle,\n headerLargeTitle,\n headerLargeTitleShadowVisible,\n headerLargeTitleStyle,\n headerBackground,\n headerLeft,\n headerRight,\n headerShown,\n headerStyle,\n headerBlurEffect,\n headerTintColor,\n headerTitle,\n headerTitleAlign,\n headerTitleStyle,\n headerTransparent,\n headerSearchBarOptions,\n headerTopInsetEnabled,\n route,\n title,\n canGoBack,\n}: Props): JSX.Element {\n const { colors } = useTheme();\n const tintColor =\n headerTintColor ?? (Platform.OS === 'ios' ? colors.primary : colors.text);\n\n const headerBackTitleStyleFlattened =\n StyleSheet.flatten(headerBackTitleStyle) || {};\n const headerLargeTitleStyleFlattened =\n StyleSheet.flatten(headerLargeTitleStyle) || {};\n const headerTitleStyleFlattened = StyleSheet.flatten(headerTitleStyle) || {};\n const headerStyleFlattened = StyleSheet.flatten(headerStyle) || {};\n const headerLargeStyleFlattened = StyleSheet.flatten(headerLargeStyle) || {};\n\n const [backTitleFontFamily, largeTitleFontFamily, titleFontFamily] =\n processFonts([\n headerBackTitleStyleFlattened.fontFamily,\n headerLargeTitleStyleFlattened.fontFamily,\n headerTitleStyleFlattened.fontFamily,\n ]);\n\n const titleText = getHeaderTitle({ title, headerTitle }, route.name);\n const titleColor =\n headerTitleStyleFlattened.color ?? headerTintColor ?? colors.text;\n const titleFontSize = headerTitleStyleFlattened.fontSize;\n const titleFontWeight = headerTitleStyleFlattened.fontWeight;\n\n const headerTitleStyleSupported: TextStyle = { color: titleColor };\n\n if (headerTitleStyleFlattened.fontFamily != null) {\n headerTitleStyleSupported.fontFamily = headerTitleStyleFlattened.fontFamily;\n }\n\n if (titleFontSize != null) {\n headerTitleStyleSupported.fontSize = titleFontSize;\n }\n\n if (titleFontWeight != null) {\n headerTitleStyleSupported.fontWeight = titleFontWeight;\n }\n\n const headerLeftElement = headerLeft?.({\n tintColor,\n canGoBack,\n label: headerBackTitle,\n });\n const headerRightElement = headerRight?.({\n tintColor,\n canGoBack,\n });\n const headerTitleElement =\n typeof headerTitle === 'function'\n ? headerTitle({\n tintColor,\n children: titleText,\n })\n : null;\n\n const supportsHeaderSearchBar =\n typeof isSearchBarAvailableForCurrentPlatform === 'boolean'\n ? isSearchBarAvailableForCurrentPlatform\n : // Fallback for older versions of react-native-screens\n Platform.OS === 'ios' && SearchBar != null;\n\n const hasHeaderSearchBar =\n supportsHeaderSearchBar && headerSearchBarOptions != null;\n\n if (headerSearchBarOptions != null && !supportsHeaderSearchBar) {\n throw new Error(\n `The current version of 'react-native-screens' doesn't support SearchBar in the header. Please update to the latest version to use this option.`\n );\n }\n\n /**\n * We need to set this in if:\n * - Back button should stay visible when `headerLeft` is specified\n * - If `headerTitle` for Android is specified, so we only need to remove the title and keep the back button\n */\n const backButtonInCustomView = headerBackVisible\n ? headerLeftElement != null\n : Platform.OS === 'android' && headerTitleElement != null;\n\n const translucent =\n headerBackground != null ||\n headerTransparent ||\n // When using a SearchBar or large title, the header needs to be translucent for it to work on iOS\n ((hasHeaderSearchBar || headerLargeTitle) &&\n Platform.OS === 'ios' &&\n headerTransparent !== false);\n\n return (\n <>\n {headerBackground != null ? (\n <View\n style={[\n styles.background,\n headerTransparent ? styles.translucent : null,\n { height: headerHeight },\n ]}\n >\n {headerBackground()}\n </View>\n ) : null}\n <ScreenStackHeaderConfig\n backButtonInCustomView={backButtonInCustomView}\n backgroundColor={\n headerStyleFlattened.backgroundColor ??\n (headerBackground != null || headerTransparent\n ? 'transparent'\n : colors.card)\n }\n backTitle={headerBackTitleVisible ? headerBackTitle : ' '}\n backTitleFontFamily={backTitleFontFamily}\n backTitleFontSize={headerBackTitleStyleFlattened.fontSize}\n blurEffect={headerBlurEffect}\n color={tintColor}\n direction={I18nManager.getConstants().isRTL ? 'rtl' : 'ltr'}\n disableBackButtonMenu={headerBackButtonMenuEnabled === false}\n hidden={headerShown === false}\n hideBackButton={headerBackVisible === false}\n hideShadow={\n headerShadowVisible === false ||\n headerBackground != null ||\n headerTransparent\n }\n largeTitle={headerLargeTitle}\n largeTitleBackgroundColor={headerLargeStyleFlattened.backgroundColor}\n largeTitleColor={headerLargeTitleStyleFlattened.color}\n largeTitleFontFamily={largeTitleFontFamily}\n largeTitleFontSize={headerLargeTitleStyleFlattened.fontSize}\n largeTitleFontWeight={headerLargeTitleStyleFlattened.fontWeight}\n largeTitleHideShadow={headerLargeTitleShadowVisible === false}\n title={titleText}\n titleColor={titleColor}\n titleFontFamily={titleFontFamily}\n titleFontSize={titleFontSize}\n titleFontWeight={titleFontWeight}\n topInsetEnabled={headerTopInsetEnabled}\n translucent={\n // This defaults to `true`, so we can't pass `undefined`\n translucent === true\n }\n >\n {Platform.OS === 'ios' ? (\n <>\n {headerLeftElement != null ? (\n <ScreenStackHeaderLeftView>\n {headerLeftElement}\n </ScreenStackHeaderLeftView>\n ) : null}\n {headerTitleElement != null ? (\n <ScreenStackHeaderCenterView>\n {headerTitleElement}\n </ScreenStackHeaderCenterView>\n ) : null}\n </>\n ) : (\n <>\n {headerLeftElement != null || typeof headerTitle === 'function' ? (\n <ScreenStackHeaderLeftView>\n <View style={styles.row}>\n {headerLeftElement}\n {headerTitleAlign !== 'center' ? (\n typeof headerTitle === 'function' ? (\n headerTitleElement\n ) : (\n <HeaderTitle\n tintColor={tintColor}\n style={headerTitleStyleSupported}\n >\n {titleText}\n </HeaderTitle>\n )\n ) : null}\n </View>\n </ScreenStackHeaderLeftView>\n ) : null}\n {headerTitleAlign === 'center' ? (\n <ScreenStackHeaderCenterView>\n {typeof headerTitle === 'function' ? (\n headerTitleElement\n ) : (\n <HeaderTitle\n tintColor={tintColor}\n style={headerTitleStyleSupported}\n >\n {titleText}\n </HeaderTitle>\n )}\n </ScreenStackHeaderCenterView>\n ) : null}\n </>\n )}\n {headerBackImageSource !== undefined ? (\n <ScreenStackHeaderBackButtonImage source={headerBackImageSource} />\n ) : null}\n {headerRightElement != null ? (\n <ScreenStackHeaderRightView>\n {headerRightElement}\n </ScreenStackHeaderRightView>\n ) : null}\n {hasHeaderSearchBar ? (\n <ScreenStackHeaderSearchBarView>\n <SearchBar {...headerSearchBarOptions} />\n </ScreenStackHeaderSearchBarView>\n ) : null}\n </ScreenStackHeaderConfig>\n </>\n );\n}\n\nconst styles = StyleSheet.create({\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n translucent: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n zIndex: 1,\n },\n background: {\n overflow: 'hidden',\n },\n});\n"]}
1
+ {"version":3,"names":["HeaderConfig","headerHeight","headerBackImageSource","headerBackButtonMenuEnabled","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerBackVisible","headerShadowVisible","headerLargeStyle","headerLargeTitle","headerLargeTitleShadowVisible","headerLargeTitleStyle","headerBackground","headerLeft","headerRight","headerShown","headerStyle","headerBlurEffect","headerTintColor","headerTitle","headerTitleAlign","headerTitleStyle","headerTransparent","headerSearchBarOptions","headerTopInsetEnabled","route","title","canGoBack","colors","useTheme","tintColor","Platform","OS","primary","text","headerBackTitleStyleFlattened","StyleSheet","flatten","headerLargeTitleStyleFlattened","headerTitleStyleFlattened","headerStyleFlattened","headerLargeStyleFlattened","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","processFonts","fontFamily","titleText","getHeaderTitle","name","titleColor","color","titleFontSize","fontSize","titleFontWeight","fontWeight","headerTitleStyleSupported","headerLeftElement","label","headerRightElement","headerTitleElement","children","supportsHeaderSearchBar","isSearchBarAvailableForCurrentPlatform","SearchBar","hasHeaderSearchBar","Error","backButtonInCustomView","translucent","styles","background","height","backgroundColor","card","I18nManager","getConstants","isRTL","row","undefined","create","flexDirection","alignItems","position","top","left","right","zIndex","overflow"],"sources":["HeaderConfig.tsx"],"sourcesContent":["import { getHeaderTitle, HeaderTitle } from '@react-navigation/elements';\nimport { Route, useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n I18nManager,\n Platform,\n StyleSheet,\n TextStyle,\n View,\n} from 'react-native';\nimport {\n isSearchBarAvailableForCurrentPlatform,\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderConfig,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderRightView,\n ScreenStackHeaderSearchBarView,\n SearchBar,\n} from 'react-native-screens';\n\nimport type { NativeStackNavigationOptions } from '../types';\nimport { processFonts } from './FontProcessor';\n\ntype Props = NativeStackNavigationOptions & {\n headerTopInsetEnabled: boolean;\n headerHeight: number;\n route: Route<string>;\n canGoBack: boolean;\n};\n\nexport default function HeaderConfig({\n headerHeight,\n headerBackImageSource,\n headerBackButtonMenuEnabled,\n headerBackTitle,\n headerBackTitleStyle,\n headerBackTitleVisible = true,\n headerBackVisible,\n headerShadowVisible,\n headerLargeStyle,\n headerLargeTitle,\n headerLargeTitleShadowVisible,\n headerLargeTitleStyle,\n headerBackground,\n headerLeft,\n headerRight,\n headerShown,\n headerStyle,\n headerBlurEffect,\n headerTintColor,\n headerTitle,\n headerTitleAlign,\n headerTitleStyle,\n headerTransparent,\n headerSearchBarOptions,\n headerTopInsetEnabled,\n route,\n title,\n canGoBack,\n}: Props): JSX.Element {\n const { colors } = useTheme();\n const tintColor =\n headerTintColor ?? (Platform.OS === 'ios' ? colors.primary : colors.text);\n\n const headerBackTitleStyleFlattened =\n StyleSheet.flatten(headerBackTitleStyle) || {};\n const headerLargeTitleStyleFlattened =\n StyleSheet.flatten(headerLargeTitleStyle) || {};\n const headerTitleStyleFlattened = StyleSheet.flatten(headerTitleStyle) || {};\n const headerStyleFlattened = StyleSheet.flatten(headerStyle) || {};\n const headerLargeStyleFlattened = StyleSheet.flatten(headerLargeStyle) || {};\n\n const [backTitleFontFamily, largeTitleFontFamily, titleFontFamily] =\n processFonts([\n headerBackTitleStyleFlattened.fontFamily,\n headerLargeTitleStyleFlattened.fontFamily,\n headerTitleStyleFlattened.fontFamily,\n ]);\n\n const titleText = getHeaderTitle({ title, headerTitle }, route.name);\n const titleColor =\n headerTitleStyleFlattened.color ?? headerTintColor ?? colors.text;\n const titleFontSize = headerTitleStyleFlattened.fontSize;\n const titleFontWeight = headerTitleStyleFlattened.fontWeight;\n\n const headerTitleStyleSupported: TextStyle = { color: titleColor };\n\n if (headerTitleStyleFlattened.fontFamily != null) {\n headerTitleStyleSupported.fontFamily = headerTitleStyleFlattened.fontFamily;\n }\n\n if (titleFontSize != null) {\n headerTitleStyleSupported.fontSize = titleFontSize;\n }\n\n if (titleFontWeight != null) {\n headerTitleStyleSupported.fontWeight = titleFontWeight;\n }\n\n const headerLeftElement = headerLeft?.({\n tintColor,\n canGoBack,\n label: headerBackTitle,\n });\n const headerRightElement = headerRight?.({\n tintColor,\n canGoBack,\n });\n const headerTitleElement =\n typeof headerTitle === 'function'\n ? headerTitle({\n tintColor,\n children: titleText,\n })\n : null;\n\n const supportsHeaderSearchBar =\n typeof isSearchBarAvailableForCurrentPlatform === 'boolean'\n ? isSearchBarAvailableForCurrentPlatform\n : // Fallback for older versions of react-native-screens\n Platform.OS === 'ios' && SearchBar != null;\n\n const hasHeaderSearchBar =\n supportsHeaderSearchBar && headerSearchBarOptions != null;\n\n if (headerSearchBarOptions != null && !supportsHeaderSearchBar) {\n throw new Error(\n `The current version of 'react-native-screens' doesn't support SearchBar in the header. Please update to the latest version to use this option.`\n );\n }\n\n /**\n * We need to set this in if:\n * - Back button should stay visible when `headerLeft` is specified\n * - If `headerTitle` for Android is specified, so we only need to remove the title and keep the back button\n */\n const backButtonInCustomView = headerBackVisible\n ? headerLeftElement != null\n : Platform.OS === 'android' && headerTitleElement != null;\n\n const translucent =\n headerBackground != null ||\n headerTransparent ||\n // When using a SearchBar or large title, the header needs to be translucent for it to work on iOS\n ((hasHeaderSearchBar || headerLargeTitle) &&\n Platform.OS === 'ios' &&\n headerTransparent !== false);\n\n return (\n <>\n {headerBackground != null ? (\n <View\n style={[\n styles.background,\n headerTransparent ? styles.translucent : null,\n { height: headerHeight },\n ]}\n >\n {headerBackground()}\n </View>\n ) : null}\n <ScreenStackHeaderConfig\n backButtonInCustomView={backButtonInCustomView}\n backgroundColor={\n headerStyleFlattened.backgroundColor ??\n (headerBackground != null || headerTransparent\n ? 'transparent'\n : colors.card)\n }\n backTitle={headerBackTitleVisible ? headerBackTitle : ' '}\n backTitleFontFamily={backTitleFontFamily}\n backTitleFontSize={headerBackTitleStyleFlattened.fontSize}\n blurEffect={headerBlurEffect}\n color={tintColor}\n direction={I18nManager.getConstants().isRTL ? 'rtl' : 'ltr'}\n disableBackButtonMenu={headerBackButtonMenuEnabled === false}\n hidden={headerShown === false}\n hideBackButton={headerBackVisible === false}\n hideShadow={\n headerShadowVisible === false ||\n headerBackground != null ||\n (headerTransparent && headerShadowVisible !== true)\n }\n largeTitle={headerLargeTitle}\n largeTitleBackgroundColor={headerLargeStyleFlattened.backgroundColor}\n largeTitleColor={headerLargeTitleStyleFlattened.color}\n largeTitleFontFamily={largeTitleFontFamily}\n largeTitleFontSize={headerLargeTitleStyleFlattened.fontSize}\n largeTitleFontWeight={headerLargeTitleStyleFlattened.fontWeight}\n largeTitleHideShadow={headerLargeTitleShadowVisible === false}\n title={titleText}\n titleColor={titleColor}\n titleFontFamily={titleFontFamily}\n titleFontSize={titleFontSize}\n titleFontWeight={titleFontWeight}\n topInsetEnabled={headerTopInsetEnabled}\n translucent={\n // This defaults to `true`, so we can't pass `undefined`\n translucent === true\n }\n >\n {Platform.OS === 'ios' ? (\n <>\n {headerLeftElement != null ? (\n <ScreenStackHeaderLeftView>\n {headerLeftElement}\n </ScreenStackHeaderLeftView>\n ) : null}\n {headerTitleElement != null ? (\n <ScreenStackHeaderCenterView>\n {headerTitleElement}\n </ScreenStackHeaderCenterView>\n ) : null}\n </>\n ) : (\n <>\n {headerLeftElement != null || typeof headerTitle === 'function' ? (\n <ScreenStackHeaderLeftView>\n <View style={styles.row}>\n {headerLeftElement}\n {headerTitleAlign !== 'center' ? (\n typeof headerTitle === 'function' ? (\n headerTitleElement\n ) : (\n <HeaderTitle\n tintColor={tintColor}\n style={headerTitleStyleSupported}\n >\n {titleText}\n </HeaderTitle>\n )\n ) : null}\n </View>\n </ScreenStackHeaderLeftView>\n ) : null}\n {headerTitleAlign === 'center' ? (\n <ScreenStackHeaderCenterView>\n {typeof headerTitle === 'function' ? (\n headerTitleElement\n ) : (\n <HeaderTitle\n tintColor={tintColor}\n style={headerTitleStyleSupported}\n >\n {titleText}\n </HeaderTitle>\n )}\n </ScreenStackHeaderCenterView>\n ) : null}\n </>\n )}\n {headerBackImageSource !== undefined ? (\n <ScreenStackHeaderBackButtonImage source={headerBackImageSource} />\n ) : null}\n {headerRightElement != null ? (\n <ScreenStackHeaderRightView>\n {headerRightElement}\n </ScreenStackHeaderRightView>\n ) : null}\n {hasHeaderSearchBar ? (\n <ScreenStackHeaderSearchBarView>\n <SearchBar {...headerSearchBarOptions} />\n </ScreenStackHeaderSearchBarView>\n ) : null}\n </ScreenStackHeaderConfig>\n </>\n );\n}\n\nconst styles = StyleSheet.create({\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n translucent: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n zIndex: 1,\n },\n background: {\n overflow: 'hidden',\n },\n});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["NativeStackView.tsx"],"names":["TRANSPARENT_PRESENTATIONS","NativeStackView","state","descriptors","parentHeaderBack","React","useContext","HeaderBackContext","styles","container","routes","map","route","i","isFocused","index","previousKey","key","nextKey","previousDescriptor","undefined","nextDescriptor","options","navigation","render","headerBack","title","name","canGoBack","header","headerShown","headerTintColor","headerBackImageSource","headerLeft","headerRight","headerTitle","headerTitleAlign","headerTitleStyle","headerStyle","headerShadowVisible","headerTransparent","headerBackground","headerBackTitle","presentation","contentStyle","nextPresentation","back","tintColor","label","backImage","goBack","children","StyleSheet","absoluteFill","display","includes","backgroundColor","contentContainer","create","flex","height","width","margin","resizeMode"],"mappings":"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","sourcesContent":["import {\n getHeaderTitle,\n Header,\n HeaderBackButton,\n HeaderBackContext,\n SafeAreaProviderCompat,\n Screen,\n} from '@react-navigation/elements';\nimport type {\n ParamListBase,\n StackNavigationState,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Image, StyleSheet, View } from 'react-native';\n\nimport type {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n} from '../types';\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n // This is used for the native implementation of the stack.\n // eslint-disable-next-line react/no-unused-prop-types\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nconst TRANSPARENT_PRESENTATIONS = [\n 'transparentModal',\n 'containedTransparentModal',\n];\n\nexport default function NativeStackView({ state, descriptors }: Props) {\n const parentHeaderBack = React.useContext(HeaderBackContext);\n\n return (\n <SafeAreaProviderCompat>\n <View style={styles.container}>\n {state.routes.map((route, i) => {\n const isFocused = state.index === i;\n const previousKey = state.routes[i - 1]?.key;\n const nextKey = state.routes[i + 1]?.key;\n const previousDescriptor = previousKey\n ? descriptors[previousKey]\n : undefined;\n const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;\n const { options, navigation, render } = descriptors[route.key];\n\n const headerBack = previousDescriptor\n ? {\n title: getHeaderTitle(\n previousDescriptor.options,\n previousDescriptor.route.name\n ),\n }\n : parentHeaderBack;\n\n const canGoBack = headerBack !== undefined;\n\n const {\n header,\n headerShown,\n headerTintColor,\n headerBackImageSource,\n headerLeft,\n headerRight,\n headerTitle,\n headerTitleAlign,\n headerTitleStyle,\n headerStyle,\n headerShadowVisible,\n headerTransparent,\n headerBackground,\n headerBackTitle,\n presentation,\n contentStyle,\n } = options;\n\n const nextPresentation = nextDescriptor?.options.presentation;\n\n return (\n <Screen\n key={route.key}\n focused={isFocused}\n route={route}\n navigation={navigation}\n headerShown={headerShown}\n headerTransparent={headerTransparent}\n header={\n header !== undefined ? (\n header({\n back: headerBack,\n options,\n route,\n navigation,\n })\n ) : (\n <Header\n title={getHeaderTitle(options, route.name)}\n headerTintColor={headerTintColor}\n headerLeft={\n typeof headerLeft === 'function'\n ? ({ tintColor }) =>\n headerLeft({\n tintColor,\n canGoBack,\n label: headerBackTitle,\n })\n : headerLeft === undefined && canGoBack\n ? ({ tintColor }) => (\n <HeaderBackButton\n tintColor={tintColor}\n backImage={\n headerBackImageSource !== undefined\n ? () => (\n <Image\n source={headerBackImageSource}\n style={[\n styles.backImage,\n { tintColor },\n ]}\n />\n )\n : undefined\n }\n onPress={navigation.goBack}\n canGoBack={canGoBack}\n />\n )\n : headerLeft\n }\n headerRight={\n typeof headerRight === 'function'\n ? ({ tintColor }) =>\n headerRight({ tintColor, canGoBack })\n : headerRight\n }\n headerTitle={\n typeof headerTitle === 'function'\n ? ({ children, tintColor }) =>\n headerTitle({ children, tintColor })\n : headerTitle\n }\n headerTitleAlign={headerTitleAlign}\n headerTitleStyle={headerTitleStyle}\n headerTransparent={headerTransparent}\n headerShadowVisible={headerShadowVisible}\n headerBackground={headerBackground}\n headerStyle={headerStyle}\n />\n )\n }\n style={[\n StyleSheet.absoluteFill,\n {\n display:\n isFocused ||\n (nextPresentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(nextPresentation))\n ? 'flex'\n : 'none',\n },\n presentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(presentation)\n ? { backgroundColor: 'transparent' }\n : null,\n ]}\n >\n <HeaderBackContext.Provider value={headerBack}>\n <View style={[styles.contentContainer, contentStyle]}>\n {render()}\n </View>\n </HeaderBackContext.Provider>\n </Screen>\n );\n })}\n </View>\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n contentContainer: {\n flex: 1,\n },\n backImage: {\n height: 24,\n width: 24,\n margin: 3,\n resizeMode: 'contain',\n },\n});\n"]}
1
+ {"version":3,"names":["TRANSPARENT_PRESENTATIONS","NativeStackView","state","descriptors","parentHeaderBack","React","useContext","HeaderBackContext","styles","container","routes","map","route","i","isFocused","index","previousKey","key","nextKey","previousDescriptor","undefined","nextDescriptor","options","navigation","render","headerBack","title","getHeaderTitle","name","canGoBack","header","headerShown","headerTintColor","headerBackImageSource","headerLeft","headerRight","headerTitle","headerTitleAlign","headerTitleStyle","headerStyle","headerShadowVisible","headerTransparent","headerBackground","headerBackTitle","presentation","contentStyle","nextPresentation","back","tintColor","label","backImage","goBack","children","StyleSheet","absoluteFill","display","includes","backgroundColor","contentContainer","create","flex","height","width","margin","resizeMode"],"sources":["NativeStackView.tsx"],"sourcesContent":["import {\n getHeaderTitle,\n Header,\n HeaderBackButton,\n HeaderBackContext,\n SafeAreaProviderCompat,\n Screen,\n} from '@react-navigation/elements';\nimport type {\n ParamListBase,\n StackNavigationState,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Image, StyleSheet, View } from 'react-native';\n\nimport type {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n} from '../types';\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n // This is used for the native implementation of the stack.\n // eslint-disable-next-line react/no-unused-prop-types\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nconst TRANSPARENT_PRESENTATIONS = [\n 'transparentModal',\n 'containedTransparentModal',\n];\n\nexport default function NativeStackView({ state, descriptors }: Props) {\n const parentHeaderBack = React.useContext(HeaderBackContext);\n\n return (\n <SafeAreaProviderCompat>\n <View style={styles.container}>\n {state.routes.map((route, i) => {\n const isFocused = state.index === i;\n const previousKey = state.routes[i - 1]?.key;\n const nextKey = state.routes[i + 1]?.key;\n const previousDescriptor = previousKey\n ? descriptors[previousKey]\n : undefined;\n const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;\n const { options, navigation, render } = descriptors[route.key];\n\n const headerBack = previousDescriptor\n ? {\n title: getHeaderTitle(\n previousDescriptor.options,\n previousDescriptor.route.name\n ),\n }\n : parentHeaderBack;\n\n const canGoBack = headerBack !== undefined;\n\n const {\n header,\n headerShown,\n headerTintColor,\n headerBackImageSource,\n headerLeft,\n headerRight,\n headerTitle,\n headerTitleAlign,\n headerTitleStyle,\n headerStyle,\n headerShadowVisible,\n headerTransparent,\n headerBackground,\n headerBackTitle,\n presentation,\n contentStyle,\n } = options;\n\n const nextPresentation = nextDescriptor?.options.presentation;\n\n return (\n <Screen\n key={route.key}\n focused={isFocused}\n route={route}\n navigation={navigation}\n headerShown={headerShown}\n headerTransparent={headerTransparent}\n header={\n header !== undefined ? (\n header({\n back: headerBack,\n options,\n route,\n navigation,\n })\n ) : (\n <Header\n title={getHeaderTitle(options, route.name)}\n headerTintColor={headerTintColor}\n headerLeft={\n typeof headerLeft === 'function'\n ? ({ tintColor }) =>\n headerLeft({\n tintColor,\n canGoBack,\n label: headerBackTitle,\n })\n : headerLeft === undefined && canGoBack\n ? ({ tintColor }) => (\n <HeaderBackButton\n tintColor={tintColor}\n backImage={\n headerBackImageSource !== undefined\n ? () => (\n <Image\n source={headerBackImageSource}\n style={[\n styles.backImage,\n { tintColor },\n ]}\n />\n )\n : undefined\n }\n onPress={navigation.goBack}\n canGoBack={canGoBack}\n />\n )\n : headerLeft\n }\n headerRight={\n typeof headerRight === 'function'\n ? ({ tintColor }) =>\n headerRight({ tintColor, canGoBack })\n : headerRight\n }\n headerTitle={\n typeof headerTitle === 'function'\n ? ({ children, tintColor }) =>\n headerTitle({ children, tintColor })\n : headerTitle\n }\n headerTitleAlign={headerTitleAlign}\n headerTitleStyle={headerTitleStyle}\n headerTransparent={headerTransparent}\n headerShadowVisible={headerShadowVisible}\n headerBackground={headerBackground}\n headerStyle={headerStyle}\n />\n )\n }\n style={[\n StyleSheet.absoluteFill,\n {\n display:\n isFocused ||\n (nextPresentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(nextPresentation))\n ? 'flex'\n : 'none',\n },\n presentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(presentation)\n ? { backgroundColor: 'transparent' }\n : null,\n ]}\n >\n <HeaderBackContext.Provider value={headerBack}>\n <View style={[styles.contentContainer, contentStyle]}>\n {render()}\n </View>\n </HeaderBackContext.Provider>\n </Screen>\n );\n })}\n </View>\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n contentContainer: {\n flex: 1,\n },\n backImage: {\n height: 24,\n width: 24,\n margin: 3,\n resizeMode: 'contain',\n },\n});\n"],"mappings":"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"}
@@ -33,7 +33,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
33
33
 
34
34
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
35
35
 
36
- 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); }
36
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
37
37
 
38
38
  const isAndroid = _reactNative.Platform.OS === 'android';
39
39
 
@@ -88,10 +88,11 @@ const SceneView = _ref2 => {
88
88
  var _preventedRoutes$rout;
89
89
 
90
90
  let {
91
+ index,
92
+ focused,
91
93
  descriptor,
92
94
  previousDescriptor,
93
95
  nextDescriptor,
94
- index,
95
96
  onWillDisappear,
96
97
  onAppear,
97
98
  onDisappear,
@@ -167,7 +168,7 @@ const SceneView = _ref2 => {
167
168
 
168
169
  const isModal = presentation === 'modal' || presentation === 'formSheet'; // Modals are fullscreen in landscape only on iPhone
169
170
 
170
- const isIPhone = _reactNative.Platform.OS === 'ios' && !(_reactNative.Platform.isPad || _reactNative.Platform.isTVOS);
171
+ const isIPhone = _reactNative.Platform.OS === 'ios' && !(_reactNative.Platform.isPad || _reactNative.Platform.isTV);
171
172
  const isLandscape = frame.width > frame.height;
172
173
  const isParentHeaderShown = React.useContext(_elements.HeaderShownContext);
173
174
  const parentHeaderHeight = React.useContext(_elements.HeaderHeightContext);
@@ -238,6 +239,8 @@ const SceneView = _ref2 => {
238
239
  headerTopInsetEnabled: headerTopInsetEnabled,
239
240
  canGoBack: headerBack !== undefined
240
241
  })), /*#__PURE__*/React.createElement(_reactNative.View, {
242
+ accessibilityElementsHidden: !focused,
243
+ importantForAccessibility: focused ? 'auto' : 'no-hide-descendants',
241
244
  style: styles.scene
242
245
  }, /*#__PURE__*/React.createElement(MaybeNestedStack, {
243
246
  options: options,
@@ -276,6 +279,7 @@ function NativeStackViewInner(_ref3) {
276
279
  var _state$routes, _state$routes2;
277
280
 
278
281
  const descriptor = descriptors[route.key];
282
+ const isFocused = state.index === index;
279
283
  const previousKey = (_state$routes = state.routes[index - 1]) === null || _state$routes === void 0 ? void 0 : _state$routes.key;
280
284
  const nextKey = (_state$routes2 = state.routes[index + 1]) === null || _state$routes2 === void 0 ? void 0 : _state$routes2.key;
281
285
  const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
@@ -283,6 +287,7 @@ function NativeStackViewInner(_ref3) {
283
287
  return /*#__PURE__*/React.createElement(SceneView, {
284
288
  key: route.key,
285
289
  index: index,
290
+ focused: isFocused,
286
291
  descriptor: descriptor,
287
292
  previousDescriptor: previousDescriptor,
288
293
  nextDescriptor: nextDescriptor,
@@ -1 +1 @@
1
- {"version":3,"sources":["NativeStackView.native.tsx"],"names":["isAndroid","Platform","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","React","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","StyleSheet","absoluteFill","SceneView","descriptor","previousDescriptor","nextDescriptor","index","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","frame","isModal","isIPhone","isPad","isTVOS","isLandscape","width","height","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","topInset","top","preventedRoutes","defaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","isRemovePrevented","key","preventRemove","headerBackTitle","scene","e","nativeEvent","layout","absolute","back","NativeStackViewInner","state","descriptors","setNextDismissedKey","routes","map","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","StackActions","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right"],"mappings":"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","sourcesContent":["import {\n getDefaultHeaderHeight,\n getHeaderTitle,\n HeaderBackContext,\n HeaderHeightContext,\n HeaderShownContext,\n SafeAreaProviderCompat,\n} from '@react-navigation/elements';\nimport {\n NavigationContext,\n NavigationRouteContext,\n ParamListBase,\n Route,\n StackActions,\n StackNavigationState,\n usePreventRemoveContext,\n useTheme,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Platform, StyleSheet, View } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\nimport type { ScreenProps } from 'react-native-screens';\nimport {\n Screen,\n ScreenStack,\n StackPresentationTypes,\n} from 'react-native-screens';\nimport warnOnce from 'warn-once';\n\nimport type {\n NativeStackDescriptor,\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n NativeStackNavigationOptions,\n} from '../types';\nimport useDismissedRouteError from '../utils/useDismissedRouteError';\nimport useInvalidPreventRemoveError from '../utils/useInvalidPreventRemoveError';\nimport DebugContainer from './DebugContainer';\nimport HeaderConfig from './HeaderConfig';\n\nconst isAndroid = Platform.OS === 'android';\n\nconst MaybeNestedStack = ({\n options,\n route,\n presentation,\n headerHeight,\n headerTopInsetEnabled,\n children,\n}: {\n options: NativeStackNavigationOptions;\n route: Route<string>;\n presentation: Exclude<StackPresentationTypes, 'push'> | 'card';\n headerHeight: number;\n headerTopInsetEnabled: boolean;\n children: React.ReactNode;\n}) => {\n const { colors } = useTheme();\n const { header, headerShown = true, contentStyle } = options;\n\n const isHeaderInModal = isAndroid\n ? false\n : presentation !== 'card' && headerShown === true && header === undefined;\n\n const headerShownPreviousRef = React.useRef(headerShown);\n\n React.useEffect(() => {\n warnOnce(\n !isAndroid &&\n presentation !== 'card' &&\n headerShownPreviousRef.current !== headerShown,\n `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`\n );\n\n headerShownPreviousRef.current = headerShown;\n }, [headerShown, presentation, route.name]);\n\n const content = (\n <DebugContainer\n style={[\n styles.container,\n presentation !== 'transparentModal' &&\n presentation !== 'containedTransparentModal' && {\n backgroundColor: colors.background,\n },\n contentStyle,\n ]}\n stackPresentation={presentation === 'card' ? 'push' : presentation}\n >\n {children}\n </DebugContainer>\n );\n\n if (isHeaderInModal) {\n return (\n <ScreenStack style={styles.container}>\n <Screen enabled style={StyleSheet.absoluteFill}>\n <HeaderConfig\n {...options}\n route={route}\n headerHeight={headerHeight}\n headerTopInsetEnabled={headerTopInsetEnabled}\n canGoBack\n />\n {content}\n </Screen>\n </ScreenStack>\n );\n }\n\n return content;\n};\n\ntype SceneViewProps = {\n index: number;\n descriptor: NativeStackDescriptor;\n previousDescriptor?: NativeStackDescriptor;\n nextDescriptor?: NativeStackDescriptor;\n onWillDisappear: () => void;\n onAppear: () => void;\n onDisappear: () => void;\n onDismissed: ScreenProps['onDismissed'];\n onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked'];\n onNativeDismissCancelled: ScreenProps['onDismissed'];\n};\n\nconst SceneView = ({\n descriptor,\n previousDescriptor,\n nextDescriptor,\n index,\n onWillDisappear,\n onAppear,\n onDisappear,\n onDismissed,\n onHeaderBackButtonClicked,\n onNativeDismissCancelled,\n}: SceneViewProps) => {\n const { route, navigation, options, render } = descriptor;\n const {\n animationDuration,\n animationTypeForReplace = 'push',\n gestureEnabled,\n header,\n headerBackButtonMenuEnabled,\n headerShown,\n headerTransparent,\n autoHideHomeIndicator,\n navigationBarColor,\n navigationBarHidden,\n orientation,\n statusBarAnimation,\n statusBarHidden,\n statusBarStyle,\n statusBarTranslucent,\n statusBarColor,\n freezeOnBlur,\n } = options;\n\n let {\n animation,\n customAnimationOnGesture,\n fullScreenGestureEnabled,\n presentation = 'card',\n gestureDirection = presentation === 'card' ? 'horizontal' : 'vertical',\n } = options;\n\n if (gestureDirection === 'vertical' && Platform.OS === 'ios') {\n // for `vertical` direction to work, we need to set `fullScreenGestureEnabled` to `true`\n // so the screen can be dismissed from any point on screen.\n // `customAnimationOnGesture` needs to be set to `true` so the `animation` set by user can be used,\n // otherwise `simple_push` will be used.\n // Also, the default animation for this direction seems to be `slide_from_bottom`.\n if (fullScreenGestureEnabled === undefined) {\n fullScreenGestureEnabled = true;\n }\n if (customAnimationOnGesture === undefined) {\n customAnimationOnGesture = true;\n }\n if (animation === undefined) {\n animation = 'slide_from_bottom';\n }\n }\n\n // workaround for rn-screens where gestureDirection has to be set on both\n // current and previous screen - software-mansion/react-native-screens/pull/1509\n const nextGestureDirection = nextDescriptor?.options.gestureDirection;\n const gestureDirectionOverride =\n nextGestureDirection != null ? nextGestureDirection : gestureDirection;\n\n if (index === 0) {\n // first screen should always be treated as `card`, it resolves problems with no header animation\n // for navigator with first screen as `modal` and the next as `card`\n presentation = 'card';\n }\n\n const insets = useSafeAreaInsets();\n const frame = useSafeAreaFrame();\n\n // `modal` and `formSheet` presentations do not take whole screen, so should not take the inset.\n const isModal = presentation === 'modal' || presentation === 'formSheet';\n\n // Modals are fullscreen in landscape only on iPhone\n const isIPhone =\n Platform.OS === 'ios' && !(Platform.isPad || Platform.isTVOS);\n const isLandscape = frame.width > frame.height;\n\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n const parentHeaderBack = React.useContext(HeaderBackContext);\n\n const topInset =\n isParentHeaderShown ||\n (Platform.OS === 'ios' && isModal) ||\n (isIPhone && isLandscape)\n ? 0\n : insets.top;\n\n const { preventedRoutes } = usePreventRemoveContext();\n\n const defaultHeaderHeight = getDefaultHeaderHeight(frame, isModal, topInset);\n\n const [customHeaderHeight, setCustomHeaderHeight] =\n React.useState(defaultHeaderHeight);\n\n const headerTopInsetEnabled = topInset !== 0;\n const headerHeight = header ? customHeaderHeight : defaultHeaderHeight;\n const headerBack = previousDescriptor\n ? {\n title: getHeaderTitle(\n previousDescriptor.options,\n previousDescriptor.route.name\n ),\n }\n : parentHeaderBack;\n\n const isRemovePrevented = preventedRoutes[route.key]?.preventRemove;\n\n return (\n <Screen\n key={route.key}\n enabled\n style={StyleSheet.absoluteFill}\n customAnimationOnSwipe={customAnimationOnGesture}\n fullScreenSwipeEnabled={fullScreenGestureEnabled}\n gestureEnabled={\n isAndroid\n ? // This prop enables handling of system back gestures on Android\n // Since we handle them in JS side, we disable this\n false\n : gestureEnabled\n }\n homeIndicatorHidden={autoHideHomeIndicator}\n navigationBarColor={navigationBarColor}\n navigationBarHidden={navigationBarHidden}\n replaceAnimation={animationTypeForReplace}\n stackPresentation={presentation === 'card' ? 'push' : presentation}\n stackAnimation={animation}\n screenOrientation={orientation}\n statusBarAnimation={statusBarAnimation}\n statusBarHidden={statusBarHidden}\n statusBarStyle={statusBarStyle}\n statusBarColor={statusBarColor}\n statusBarTranslucent={statusBarTranslucent}\n swipeDirection={gestureDirectionOverride}\n transitionDuration={animationDuration}\n onWillDisappear={onWillDisappear}\n onAppear={onAppear}\n onDisappear={onDisappear}\n onDismissed={onDismissed}\n isNativeStack\n nativeBackButtonDismissalEnabled={false} // on Android\n onHeaderBackButtonClicked={onHeaderBackButtonClicked}\n // @ts-ignore props not exported from rn-screens\n preventNativeDismiss={isRemovePrevented} // on iOS\n onNativeDismissCancelled={onNativeDismissCancelled}\n // this prop is available since rn-screens 3.16\n freezeOnBlur={freezeOnBlur}\n >\n <NavigationContext.Provider value={navigation}>\n <NavigationRouteContext.Provider value={route}>\n <HeaderShownContext.Provider\n value={isParentHeaderShown || headerShown !== false}\n >\n <HeaderHeightContext.Provider\n value={\n headerShown !== false ? headerHeight : parentHeaderHeight ?? 0\n }\n >\n {/**\n * `HeaderConfig` needs to be the direct child of `Screen` without any intermediate `View`\n * We don't render it conditionally to make it possible to dynamically render a custom `header`\n * Otherwise dynamically rendering a custom `header` leaves the native header visible\n *\n * https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md#screenstackheaderconfig\n */}\n <HeaderConfig\n {...options}\n route={route}\n headerBackButtonMenuEnabled={\n isRemovePrevented !== undefined\n ? !isRemovePrevented\n : headerBackButtonMenuEnabled\n }\n headerShown={header !== undefined ? false : headerShown}\n headerHeight={headerHeight}\n headerBackTitle={\n options.headerBackTitle !== undefined\n ? options.headerBackTitle\n : undefined\n }\n headerTopInsetEnabled={headerTopInsetEnabled}\n canGoBack={headerBack !== undefined}\n />\n <View style={styles.scene}>\n <MaybeNestedStack\n options={options}\n route={route}\n presentation={presentation}\n headerHeight={headerHeight}\n headerTopInsetEnabled={headerTopInsetEnabled}\n >\n <HeaderBackContext.Provider value={headerBack}>\n {render()}\n </HeaderBackContext.Provider>\n </MaybeNestedStack>\n {header !== undefined && headerShown !== false ? (\n <View\n onLayout={(e) => {\n setCustomHeaderHeight(e.nativeEvent.layout.height);\n }}\n style={headerTransparent ? styles.absolute : null}\n >\n {header({\n back: headerBack,\n options,\n route,\n navigation,\n })}\n </View>\n ) : null}\n </View>\n </HeaderHeightContext.Provider>\n </HeaderShownContext.Provider>\n </NavigationRouteContext.Provider>\n </NavigationContext.Provider>\n </Screen>\n );\n};\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nfunction NativeStackViewInner({ state, navigation, descriptors }: Props) {\n const { setNextDismissedKey } = useDismissedRouteError(state);\n\n useInvalidPreventRemoveError(descriptors);\n\n return (\n <ScreenStack style={styles.container}>\n {state.routes.map((route, index) => {\n const descriptor = descriptors[route.key];\n const previousKey = state.routes[index - 1]?.key;\n const nextKey = state.routes[index + 1]?.key;\n const previousDescriptor = previousKey\n ? descriptors[previousKey]\n : undefined;\n const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;\n\n return (\n <SceneView\n key={route.key}\n index={index}\n descriptor={descriptor}\n previousDescriptor={previousDescriptor}\n nextDescriptor={nextDescriptor}\n onWillDisappear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: true },\n target: route.key,\n });\n }}\n onAppear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: false },\n target: route.key,\n });\n }}\n onDisappear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: true },\n target: route.key,\n });\n }}\n onDismissed={(event) => {\n navigation.dispatch({\n ...StackActions.pop(event.nativeEvent.dismissCount),\n source: route.key,\n target: state.key,\n });\n\n setNextDismissedKey(route.key);\n }}\n onHeaderBackButtonClicked={() => {\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n target: state.key,\n });\n }}\n onNativeDismissCancelled={(event) => {\n navigation.dispatch({\n ...StackActions.pop(event.nativeEvent.dismissCount),\n source: route.key,\n target: state.key,\n });\n }}\n />\n );\n })}\n </ScreenStack>\n );\n}\n\nexport default function NativeStackView(props: Props) {\n return (\n <SafeAreaProviderCompat>\n <NativeStackViewInner {...props} />\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n scene: {\n flex: 1,\n flexDirection: 'column-reverse',\n },\n absolute: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n"]}
1
+ {"version":3,"names":["isAndroid","Platform","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","useTheme","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","React","useRef","useEffect","warnOnce","current","name","content","styles","container","backgroundColor","background","StyleSheet","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","useSafeAreaInsets","frame","useSafeAreaFrame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","topInset","top","preventedRoutes","usePreventRemoveContext","defaultHeaderHeight","getDefaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","getHeaderTitle","isRemovePrevented","key","preventRemove","headerBackTitle","scene","e","nativeEvent","layout","absolute","back","NativeStackViewInner","state","descriptors","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","StackActions","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right"],"sources":["NativeStackView.native.tsx"],"sourcesContent":["import {\n getDefaultHeaderHeight,\n getHeaderTitle,\n HeaderBackContext,\n HeaderHeightContext,\n HeaderShownContext,\n SafeAreaProviderCompat,\n} from '@react-navigation/elements';\nimport {\n NavigationContext,\n NavigationRouteContext,\n ParamListBase,\n Route,\n StackActions,\n StackNavigationState,\n usePreventRemoveContext,\n useTheme,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Platform, StyleSheet, View } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\nimport type { ScreenProps } from 'react-native-screens';\nimport {\n Screen,\n ScreenStack,\n StackPresentationTypes,\n} from 'react-native-screens';\nimport warnOnce from 'warn-once';\n\nimport type {\n NativeStackDescriptor,\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n NativeStackNavigationOptions,\n} from '../types';\nimport useDismissedRouteError from '../utils/useDismissedRouteError';\nimport useInvalidPreventRemoveError from '../utils/useInvalidPreventRemoveError';\nimport DebugContainer from './DebugContainer';\nimport HeaderConfig from './HeaderConfig';\n\nconst isAndroid = Platform.OS === 'android';\n\nconst MaybeNestedStack = ({\n options,\n route,\n presentation,\n headerHeight,\n headerTopInsetEnabled,\n children,\n}: {\n options: NativeStackNavigationOptions;\n route: Route<string>;\n presentation: Exclude<StackPresentationTypes, 'push'> | 'card';\n headerHeight: number;\n headerTopInsetEnabled: boolean;\n children: React.ReactNode;\n}) => {\n const { colors } = useTheme();\n const { header, headerShown = true, contentStyle } = options;\n\n const isHeaderInModal = isAndroid\n ? false\n : presentation !== 'card' && headerShown === true && header === undefined;\n\n const headerShownPreviousRef = React.useRef(headerShown);\n\n React.useEffect(() => {\n warnOnce(\n !isAndroid &&\n presentation !== 'card' &&\n headerShownPreviousRef.current !== headerShown,\n `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`\n );\n\n headerShownPreviousRef.current = headerShown;\n }, [headerShown, presentation, route.name]);\n\n const content = (\n <DebugContainer\n style={[\n styles.container,\n presentation !== 'transparentModal' &&\n presentation !== 'containedTransparentModal' && {\n backgroundColor: colors.background,\n },\n contentStyle,\n ]}\n stackPresentation={presentation === 'card' ? 'push' : presentation}\n >\n {children}\n </DebugContainer>\n );\n\n if (isHeaderInModal) {\n return (\n <ScreenStack style={styles.container}>\n <Screen enabled style={StyleSheet.absoluteFill}>\n <HeaderConfig\n {...options}\n route={route}\n headerHeight={headerHeight}\n headerTopInsetEnabled={headerTopInsetEnabled}\n canGoBack\n />\n {content}\n </Screen>\n </ScreenStack>\n );\n }\n\n return content;\n};\n\ntype SceneViewProps = {\n index: number;\n focused: boolean;\n descriptor: NativeStackDescriptor;\n previousDescriptor?: NativeStackDescriptor;\n nextDescriptor?: NativeStackDescriptor;\n onWillDisappear: () => void;\n onAppear: () => void;\n onDisappear: () => void;\n onDismissed: ScreenProps['onDismissed'];\n onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked'];\n onNativeDismissCancelled: ScreenProps['onDismissed'];\n};\n\nconst SceneView = ({\n index,\n focused,\n descriptor,\n previousDescriptor,\n nextDescriptor,\n onWillDisappear,\n onAppear,\n onDisappear,\n onDismissed,\n onHeaderBackButtonClicked,\n onNativeDismissCancelled,\n}: SceneViewProps) => {\n const { route, navigation, options, render } = descriptor;\n const {\n animationDuration,\n animationTypeForReplace = 'push',\n gestureEnabled,\n header,\n headerBackButtonMenuEnabled,\n headerShown,\n headerTransparent,\n autoHideHomeIndicator,\n navigationBarColor,\n navigationBarHidden,\n orientation,\n statusBarAnimation,\n statusBarHidden,\n statusBarStyle,\n statusBarTranslucent,\n statusBarColor,\n freezeOnBlur,\n } = options;\n\n let {\n animation,\n customAnimationOnGesture,\n fullScreenGestureEnabled,\n presentation = 'card',\n gestureDirection = presentation === 'card' ? 'horizontal' : 'vertical',\n } = options;\n\n if (gestureDirection === 'vertical' && Platform.OS === 'ios') {\n // for `vertical` direction to work, we need to set `fullScreenGestureEnabled` to `true`\n // so the screen can be dismissed from any point on screen.\n // `customAnimationOnGesture` needs to be set to `true` so the `animation` set by user can be used,\n // otherwise `simple_push` will be used.\n // Also, the default animation for this direction seems to be `slide_from_bottom`.\n if (fullScreenGestureEnabled === undefined) {\n fullScreenGestureEnabled = true;\n }\n if (customAnimationOnGesture === undefined) {\n customAnimationOnGesture = true;\n }\n if (animation === undefined) {\n animation = 'slide_from_bottom';\n }\n }\n\n // workaround for rn-screens where gestureDirection has to be set on both\n // current and previous screen - software-mansion/react-native-screens/pull/1509\n const nextGestureDirection = nextDescriptor?.options.gestureDirection;\n const gestureDirectionOverride =\n nextGestureDirection != null ? nextGestureDirection : gestureDirection;\n\n if (index === 0) {\n // first screen should always be treated as `card`, it resolves problems with no header animation\n // for navigator with first screen as `modal` and the next as `card`\n presentation = 'card';\n }\n\n const insets = useSafeAreaInsets();\n const frame = useSafeAreaFrame();\n\n // `modal` and `formSheet` presentations do not take whole screen, so should not take the inset.\n const isModal = presentation === 'modal' || presentation === 'formSheet';\n\n // Modals are fullscreen in landscape only on iPhone\n const isIPhone = Platform.OS === 'ios' && !(Platform.isPad || Platform.isTV);\n const isLandscape = frame.width > frame.height;\n\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n const parentHeaderBack = React.useContext(HeaderBackContext);\n\n const topInset =\n isParentHeaderShown ||\n (Platform.OS === 'ios' && isModal) ||\n (isIPhone && isLandscape)\n ? 0\n : insets.top;\n\n const { preventedRoutes } = usePreventRemoveContext();\n\n const defaultHeaderHeight = getDefaultHeaderHeight(frame, isModal, topInset);\n\n const [customHeaderHeight, setCustomHeaderHeight] =\n React.useState(defaultHeaderHeight);\n\n const headerTopInsetEnabled = topInset !== 0;\n const headerHeight = header ? customHeaderHeight : defaultHeaderHeight;\n const headerBack = previousDescriptor\n ? {\n title: getHeaderTitle(\n previousDescriptor.options,\n previousDescriptor.route.name\n ),\n }\n : parentHeaderBack;\n\n const isRemovePrevented = preventedRoutes[route.key]?.preventRemove;\n\n return (\n <Screen\n key={route.key}\n enabled\n style={StyleSheet.absoluteFill}\n customAnimationOnSwipe={customAnimationOnGesture}\n fullScreenSwipeEnabled={fullScreenGestureEnabled}\n gestureEnabled={\n isAndroid\n ? // This prop enables handling of system back gestures on Android\n // Since we handle them in JS side, we disable this\n false\n : gestureEnabled\n }\n homeIndicatorHidden={autoHideHomeIndicator}\n navigationBarColor={navigationBarColor}\n navigationBarHidden={navigationBarHidden}\n replaceAnimation={animationTypeForReplace}\n stackPresentation={presentation === 'card' ? 'push' : presentation}\n stackAnimation={animation}\n screenOrientation={orientation}\n statusBarAnimation={statusBarAnimation}\n statusBarHidden={statusBarHidden}\n statusBarStyle={statusBarStyle}\n statusBarColor={statusBarColor}\n statusBarTranslucent={statusBarTranslucent}\n swipeDirection={gestureDirectionOverride}\n transitionDuration={animationDuration}\n onWillDisappear={onWillDisappear}\n onAppear={onAppear}\n onDisappear={onDisappear}\n onDismissed={onDismissed}\n isNativeStack\n nativeBackButtonDismissalEnabled={false} // on Android\n onHeaderBackButtonClicked={onHeaderBackButtonClicked}\n // @ts-ignore props not exported from rn-screens\n preventNativeDismiss={isRemovePrevented} // on iOS\n onNativeDismissCancelled={onNativeDismissCancelled}\n // this prop is available since rn-screens 3.16\n freezeOnBlur={freezeOnBlur}\n >\n <NavigationContext.Provider value={navigation}>\n <NavigationRouteContext.Provider value={route}>\n <HeaderShownContext.Provider\n value={isParentHeaderShown || headerShown !== false}\n >\n <HeaderHeightContext.Provider\n value={\n headerShown !== false ? headerHeight : parentHeaderHeight ?? 0\n }\n >\n {/**\n * `HeaderConfig` needs to be the direct child of `Screen` without any intermediate `View`\n * We don't render it conditionally to make it possible to dynamically render a custom `header`\n * Otherwise dynamically rendering a custom `header` leaves the native header visible\n *\n * https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md#screenstackheaderconfig\n */}\n <HeaderConfig\n {...options}\n route={route}\n headerBackButtonMenuEnabled={\n isRemovePrevented !== undefined\n ? !isRemovePrevented\n : headerBackButtonMenuEnabled\n }\n headerShown={header !== undefined ? false : headerShown}\n headerHeight={headerHeight}\n headerBackTitle={\n options.headerBackTitle !== undefined\n ? options.headerBackTitle\n : undefined\n }\n headerTopInsetEnabled={headerTopInsetEnabled}\n canGoBack={headerBack !== undefined}\n />\n <View\n accessibilityElementsHidden={!focused}\n importantForAccessibility={\n focused ? 'auto' : 'no-hide-descendants'\n }\n style={styles.scene}\n >\n <MaybeNestedStack\n options={options}\n route={route}\n presentation={presentation}\n headerHeight={headerHeight}\n headerTopInsetEnabled={headerTopInsetEnabled}\n >\n <HeaderBackContext.Provider value={headerBack}>\n {render()}\n </HeaderBackContext.Provider>\n </MaybeNestedStack>\n {header !== undefined && headerShown !== false ? (\n <View\n onLayout={(e) => {\n setCustomHeaderHeight(e.nativeEvent.layout.height);\n }}\n style={headerTransparent ? styles.absolute : null}\n >\n {header({\n back: headerBack,\n options,\n route,\n navigation,\n })}\n </View>\n ) : null}\n </View>\n </HeaderHeightContext.Provider>\n </HeaderShownContext.Provider>\n </NavigationRouteContext.Provider>\n </NavigationContext.Provider>\n </Screen>\n );\n};\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nfunction NativeStackViewInner({ state, navigation, descriptors }: Props) {\n const { setNextDismissedKey } = useDismissedRouteError(state);\n\n useInvalidPreventRemoveError(descriptors);\n\n return (\n <ScreenStack style={styles.container}>\n {state.routes.map((route, index) => {\n const descriptor = descriptors[route.key];\n const isFocused = state.index === index;\n const previousKey = state.routes[index - 1]?.key;\n const nextKey = state.routes[index + 1]?.key;\n const previousDescriptor = previousKey\n ? descriptors[previousKey]\n : undefined;\n const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;\n\n return (\n <SceneView\n key={route.key}\n index={index}\n focused={isFocused}\n descriptor={descriptor}\n previousDescriptor={previousDescriptor}\n nextDescriptor={nextDescriptor}\n onWillDisappear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: true },\n target: route.key,\n });\n }}\n onAppear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: false },\n target: route.key,\n });\n }}\n onDisappear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: true },\n target: route.key,\n });\n }}\n onDismissed={(event) => {\n navigation.dispatch({\n ...StackActions.pop(event.nativeEvent.dismissCount),\n source: route.key,\n target: state.key,\n });\n\n setNextDismissedKey(route.key);\n }}\n onHeaderBackButtonClicked={() => {\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n target: state.key,\n });\n }}\n onNativeDismissCancelled={(event) => {\n navigation.dispatch({\n ...StackActions.pop(event.nativeEvent.dismissCount),\n source: route.key,\n target: state.key,\n });\n }}\n />\n );\n })}\n </ScreenStack>\n );\n}\n\nexport default function NativeStackView(props: Props) {\n return (\n <SafeAreaProviderCompat>\n <NativeStackViewInner {...props} />\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n scene: {\n flex: 1,\n flexDirection: 'column-reverse',\n },\n absolute: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["default","createNativeStackNavigator","NativeStackView"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,0BAApB,QAAsD,yCAAtD;AAEA;AACA;AACA;;AACA,SAASD,OAAO,IAAIE,eAApB,QAA2C,yBAA3C;AAEA;AACA;AACA","sourcesContent":["/**\n * Navigators\n */\nexport { default as createNativeStackNavigator } from './navigators/createNativeStackNavigator';\n\n/**\n * Views\n */\nexport { default as NativeStackView } from './views/NativeStackView';\n\n/**\n * Types\n */\nexport type {\n NativeStackHeaderProps,\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigationProp,\n NativeStackScreenProps,\n} from './types';\n"]}
1
+ {"version":3,"names":["default","createNativeStackNavigator","NativeStackView"],"sources":["index.tsx"],"sourcesContent":["/**\n * Navigators\n */\nexport { default as createNativeStackNavigator } from './navigators/createNativeStackNavigator';\n\n/**\n * Views\n */\nexport { default as NativeStackView } from './views/NativeStackView';\n\n/**\n * Types\n */\nexport type {\n NativeStackHeaderProps,\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigationProp,\n NativeStackScreenProps,\n} from './types';\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,0BAApB,QAAsD,yCAAtD;AAEA;AACA;AACA;;AACA,SAASD,OAAO,IAAIE,eAApB,QAA2C,yBAA3C;AAEA;AACA;AACA"}
@@ -1,4 +1,4 @@
1
- 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); }
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
2
2
 
3
3
  import { createNavigatorFactory, StackActions, StackRouter, useNavigationBuilder } from '@react-navigation/native';
4
4
  import * as React from 'react';
@@ -1 +1 @@
1
- {"version":3,"sources":["createNativeStackNavigator.tsx"],"names":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","NativeStackView","NativeStackNavigator","id","initialRouteName","children","screenListeners","screenOptions","rest","state","descriptors","navigation","NavigationContent","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key"],"mappings":";;AAAA,SACEA,sBADF,EAKEC,YALF,EAOEC,WAPF,EASEC,oBATF,QAUO,0BAVP;AAWA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAOA,OAAOC,eAAP,MAA4B,0BAA5B;;AAEA,SAASC,oBAAT,OAO8B;AAAA,MAPA;AAC5BC,IAAAA,EAD4B;AAE5BC,IAAAA,gBAF4B;AAG5BC,IAAAA,QAH4B;AAI5BC,IAAAA,eAJ4B;AAK5BC,IAAAA,aAL4B;AAM5B,OAAGC;AANyB,GAOA;AAC5B,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA,WAAT;AAAsBC,IAAAA,UAAtB;AAAkCC,IAAAA;AAAlC,MACJb,oBAAoB,CAMlBD,WANkB,EAML;AACbK,IAAAA,EADa;AAEbC,IAAAA,gBAFa;AAGbC,IAAAA,QAHa;AAIbC,IAAAA,eAJa;AAKbC,IAAAA;AALa,GANK,CADtB;AAeAP,EAAAA,KAAK,CAACa,SAAN,CACE;AAAA;;AAAA,WACE;AACAF,MAAAA,UAFF,aAEEA,UAFF,gDAEEA,UAAU,CAAEG,WAFd,0DAEE,2BAAAH,UAAU,EAAgB,UAAhB,EAA6BI,CAAD,IAAY;AAChD,cAAMC,SAAS,GAAGL,UAAU,CAACK,SAAX,EAAlB,CADgD,CAGhD;AACA;;AACAC,QAAAA,qBAAqB,CAAC,MAAM;AAC1B,cACER,KAAK,CAACS,KAAN,GAAc,CAAd,IACAF,SADA,IAEA,CAAED,CAAD,CAAkCI,gBAHrC,EAIE;AACA;AACA;AACAR,YAAAA,UAAU,CAACS,QAAX,CAAoB,EAClB,GAAGvB,YAAY,CAACwB,QAAb,EADe;AAElBC,cAAAA,MAAM,EAAEb,KAAK,CAACc;AAFI,aAApB;AAID;AACF,SAboB,CAArB;AAcD,OAnBS;AAFZ;AAAA,GADF,EAuBE,CAACZ,UAAD,EAAaF,KAAK,CAACS,KAAnB,EAA0BT,KAAK,CAACc,GAAhC,CAvBF;AA0BA,sBACE,oBAAC,iBAAD,qBACE,oBAAC,eAAD,eACMf,IADN;AAEE,IAAA,KAAK,EAAEC,KAFT;AAGE,IAAA,UAAU,EAAEE,UAHd;AAIE,IAAA,WAAW,EAAED;AAJf,KADF,CADF;AAUD;;AAED,eAAed,sBAAsB,CAKnCM,oBALmC,CAArC","sourcesContent":["import {\n createNavigatorFactory,\n EventArg,\n ParamListBase,\n StackActionHelpers,\n StackActions,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\n\nimport type {\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigatorProps,\n} from '../types';\nimport NativeStackView from '../views/NativeStackView';\n\nfunction NativeStackNavigator({\n id,\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n ...rest\n}: NativeStackNavigatorProps) {\n const { state, descriptors, navigation, NavigationContent } =\n useNavigationBuilder<\n StackNavigationState<ParamListBase>,\n StackRouterOptions,\n StackActionHelpers<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n >(StackRouter, {\n id,\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n });\n\n React.useEffect(\n () =>\n // @ts-expect-error: there may not be a tab navigator in parent\n navigation?.addListener?.('tabPress', (e: any) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }),\n [navigation, state.index, state.key]\n );\n\n return (\n <NavigationContent>\n <NativeStackView\n {...rest}\n state={state}\n navigation={navigation}\n descriptors={descriptors}\n />\n </NavigationContent>\n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap,\n typeof NativeStackNavigator\n>(NativeStackNavigator);\n"]}
1
+ {"version":3,"names":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","NativeStackView","NativeStackNavigator","id","initialRouteName","children","screenListeners","screenOptions","rest","state","descriptors","navigation","NavigationContent","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key"],"sources":["createNativeStackNavigator.tsx"],"sourcesContent":["import {\n createNavigatorFactory,\n EventArg,\n ParamListBase,\n StackActionHelpers,\n StackActions,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\n\nimport type {\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigatorProps,\n} from '../types';\nimport NativeStackView from '../views/NativeStackView';\n\nfunction NativeStackNavigator({\n id,\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n ...rest\n}: NativeStackNavigatorProps) {\n const { state, descriptors, navigation, NavigationContent } =\n useNavigationBuilder<\n StackNavigationState<ParamListBase>,\n StackRouterOptions,\n StackActionHelpers<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n >(StackRouter, {\n id,\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n });\n\n React.useEffect(\n () =>\n // @ts-expect-error: there may not be a tab navigator in parent\n navigation?.addListener?.('tabPress', (e: any) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }),\n [navigation, state.index, state.key]\n );\n\n return (\n <NavigationContent>\n <NativeStackView\n {...rest}\n state={state}\n navigation={navigation}\n descriptors={descriptors}\n />\n </NavigationContent>\n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap,\n typeof NativeStackNavigator\n>(NativeStackNavigator);\n"],"mappings":";;AAAA,SACEA,sBADF,EAKEC,YALF,EAOEC,WAPF,EASEC,oBATF,QAUO,0BAVP;AAWA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAOA,OAAOC,eAAP,MAA4B,0BAA5B;;AAEA,SAASC,oBAAT,OAO8B;EAAA,IAPA;IAC5BC,EAD4B;IAE5BC,gBAF4B;IAG5BC,QAH4B;IAI5BC,eAJ4B;IAK5BC,aAL4B;IAM5B,GAAGC;EANyB,CAOA;EAC5B,MAAM;IAAEC,KAAF;IAASC,WAAT;IAAsBC,UAAtB;IAAkCC;EAAlC,IACJb,oBAAoB,CAMlBD,WANkB,EAML;IACbK,EADa;IAEbC,gBAFa;IAGbC,QAHa;IAIbC,eAJa;IAKbC;EALa,CANK,CADtB;EAeAP,KAAK,CAACa,SAAN,CACE;IAAA;;IAAA,OACE;MACAF,UAFF,aAEEA,UAFF,gDAEEA,UAAU,CAAEG,WAFd,0DAEE,2BAAAH,UAAU,EAAgB,UAAhB,EAA6BI,CAAD,IAAY;QAChD,MAAMC,SAAS,GAAGL,UAAU,CAACK,SAAX,EAAlB,CADgD,CAGhD;QACA;;QACAC,qBAAqB,CAAC,MAAM;UAC1B,IACER,KAAK,CAACS,KAAN,GAAc,CAAd,IACAF,SADA,IAEA,CAAED,CAAD,CAAkCI,gBAHrC,EAIE;YACA;YACA;YACAR,UAAU,CAACS,QAAX,CAAoB,EAClB,GAAGvB,YAAY,CAACwB,QAAb,EADe;cAElBC,MAAM,EAAEb,KAAK,CAACc;YAFI,CAApB;UAID;QACF,CAboB,CAArB;MAcD,CAnBS;IAFZ;EAAA,CADF,EAuBE,CAACZ,UAAD,EAAaF,KAAK,CAACS,KAAnB,EAA0BT,KAAK,CAACc,GAAhC,CAvBF;EA0BA,oBACE,oBAAC,iBAAD,qBACE,oBAAC,eAAD,eACMf,IADN;IAEE,KAAK,EAAEC,KAFT;IAGE,UAAU,EAAEE,UAHd;IAIE,WAAW,EAAED;EAJf,GADF,CADF;AAUD;;AAED,eAAed,sBAAsB,CAKnCM,oBALmC,CAArC"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sources":["types.tsx"],"sourcesContent":["import type {\n DefaultNavigatorOptions,\n Descriptor,\n NavigationHelpers,\n NavigationProp,\n ParamListBase,\n Route,\n RouteProp,\n StackActionHelpers,\n StackNavigationState,\n StackRouterOptions,\n} from '@react-navigation/native';\nimport type {\n ImageSourcePropType,\n StyleProp,\n TextStyle,\n ViewStyle,\n} from 'react-native';\nimport type {\n ScreenProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n} from 'react-native-screens';\n\nexport type NativeStackNavigationEventMap = {\n /**\n * Event which fires when a transition animation starts.\n */\n transitionStart: { data: { closing: boolean } };\n /**\n * Event which fires when a transition animation ends.\n */\n transitionEnd: { data: { closing: boolean } };\n};\n\nexport type NativeStackNavigationProp<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList = string,\n NavigatorID extends string | undefined = undefined\n> = NavigationProp<\n ParamList,\n RouteName,\n NavigatorID,\n StackNavigationState<ParamList>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n> &\n StackActionHelpers<ParamList>;\n\nexport type NativeStackScreenProps<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList = string,\n NavigatorID extends string | undefined = undefined\n> = {\n navigation: NativeStackNavigationProp<ParamList, RouteName, NavigatorID>;\n route: RouteProp<ParamList, RouteName>;\n};\n\nexport type NativeStackNavigationHelpers = NavigationHelpers<\n ParamListBase,\n NativeStackNavigationEventMap\n>;\n\n// We want it to be an empty object because navigator does not have any additional props\nexport type NativeStackNavigationConfig = {};\n\nexport type NativeStackHeaderProps = {\n /**\n * Options for the back button.\n */\n back?: {\n /**\n * Title of the previous screen.\n */\n title: string;\n };\n /**\n * Options for the current screen.\n */\n options: NativeStackNavigationOptions;\n /**\n * Route object for the current screen.\n */\n route: Route<string>;\n /**\n * Navigation prop for the header.\n */\n navigation: NativeStackNavigationProp<ParamListBase>;\n};\n\nexport type HeaderButtonProps = {\n /**\n * Tint color for the header.\n */\n tintColor?: string;\n /**\n * Whether it's possible to navigate back in stack.\n */\n canGoBack: boolean;\n};\n\nexport type HeaderBackButtonProps = HeaderButtonProps & {\n /**\n * Label text for the button. Usually the title of the previous screen.\n * By default, this is only shown on iOS.\n */\n label?: string;\n};\n\nexport type NativeStackNavigationOptions = {\n /**\n * String that can be displayed in the header as a fallback for `headerTitle`.\n */\n title?: string;\n /**\n * Function that given `HeaderProps` returns a React Element to display as a header.\n */\n header?: (props: NativeStackHeaderProps) => React.ReactNode;\n /**\n * Whether the back button is visible in the header.\n * You can use it to show a back button alongside `headerLeft` if you have specified it.\n *\n * This will have no effect on the first screen in the stack.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackVisible?: boolean;\n /**\n * Title string used by the back button on iOS.\n * Defaults to the previous scene's title, or \"Back\" if there's not enough space.\n * Use `headerBackTitleVisible: false` to hide it.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackTitle?: string;\n /**\n * Whether the back button title should be visible or not.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackTitleVisible?: boolean;\n /**\n * Style object for header back title. Supported properties:\n * - fontFamily\n * - fontSize\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackTitleStyle?: StyleProp<{\n fontFamily?: string;\n fontSize?: number;\n }>;\n /**\n * Image to display in the header as the icon in the back button.\n * Defaults to back icon image for the platform\n * - A chevron on iOS\n * - An arrow on Android\n */\n headerBackImageSource?: ImageSourcePropType;\n /**\n * Style of the header when a large title is shown.\n * The large title is shown if `headerLargeTitle` is `true` and\n * the edge of any scrollable content reaches the matching edge of the header.\n *\n * Supported properties:\n * - backgroundColor\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerLargeStyle?: StyleProp<{\n backgroundColor?: string;\n }>;\n /**\n * Whether to enable header with large title which collapses to regular header on scroll.\n *\n * For large title to collapse on scroll, the content of the screen should be wrapped in a scrollable view such as `ScrollView` or `FlatList`.\n * If the scrollable area doesn't fill the screen, the large title won't collapse on scroll.\n * You also need to specify `contentInsetAdjustmentBehavior=\"automatic\"` in your `ScrollView`, `FlatList` etc.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerLargeTitle?: boolean;\n /**\n * Whether drop shadow of header is visible when a large title is shown.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerLargeTitleShadowVisible?: boolean;\n /**\n * Style object for large title in header. Supported properties:\n * - fontFamily\n * - fontSize\n * - fontWeight\n * - color\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerLargeTitleStyle?: StyleProp<{\n fontFamily?: string;\n fontSize?: number;\n fontWeight?: string;\n color?: string;\n }>;\n /**\n * Whether to show the header. The header is shown by default.\n * Setting this to `false` hides the header.\n */\n headerShown?: boolean;\n /**\n * Style object for header. Supported properties:\n * - backgroundColor\n */\n headerStyle?: StyleProp<{\n backgroundColor?: string;\n }>;\n /**\n * Whether to hide the elevation shadow (Android) or the bottom border (iOS) on the header.\n */\n headerShadowVisible?: boolean;\n /**\n * Boolean indicating whether the navigation bar is translucent.\n * Setting this to `true` makes the header absolutely positioned,\n * and changes the background color to `transparent` unless specified in `headerStyle`.\n */\n headerTransparent?: boolean;\n /**\n * Blur effect for the translucent header.\n * The `headerTransparent` option needs to be set to `true` for this to work.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBlurEffect?: ScreenStackHeaderConfigProps['blurEffect'];\n /**\n * Tint color for the header. Changes the color of back button and title.\n */\n headerTintColor?: string;\n /**\n * Function which returns a React Element to render as the background of the header.\n * This is useful for using backgrounds such as an image, a gradient, blur effect etc.\n * You can use this with `headerTransparent` to render content underneath a translucent header.\n */\n headerBackground?: () => React.ReactNode;\n /**\n * Function which returns a React Element to display on the left side of the header.\n * This replaces the back button. See `headerBackVisible` to show the back button along side left element.\n */\n headerLeft?: (props: HeaderBackButtonProps) => React.ReactNode;\n /**\n * Function which returns a React Element to display on the right side of the header.\n */\n headerRight?: (props: HeaderButtonProps) => React.ReactNode;\n /**\n * String or a function that returns a React Element to be used by the header.\n * Defaults to screen `title` or route name.\n *\n * When a function is passed, it receives `tintColor` and`children` in the options object as an argument.\n * The title string is passed in `children`.\n *\n * Note that if you render a custom element by passing a function, animations for the title won't work.\n */\n headerTitle?:\n | string\n | ((props: {\n /**\n * The title text of the header.\n */\n children: string;\n /**\n * Tint color for the header.\n */\n tintColor?: string;\n }) => React.ReactNode);\n /**\n * How to align the the header title.\n * Defaults to `left` on platforms other than iOS.\n *\n * Not supported on iOS. It's always `center` on iOS and cannot be changed.\n */\n headerTitleAlign?: 'left' | 'center';\n /**\n * Style object for header title. Supported properties:\n * - fontFamily\n * - fontSize\n * - fontWeight\n * - color\n */\n headerTitleStyle?: StyleProp<\n Pick<TextStyle, 'fontFamily' | 'fontSize' | 'fontWeight'> & {\n color?: string;\n }\n >;\n /**\n * Options to render a native search bar.\n * You also need to specify `contentInsetAdjustmentBehavior=\"automatic\"` in your `ScrollView`, `FlatList` etc.\n * If you don't have a `ScrollView`, specify `headerTransparent: false`.\n *\n * Only supported on iOS and Android.\n */\n headerSearchBarOptions?: SearchBarProps;\n /**\n * Boolean indicating whether to show the menu on longPress of iOS >= 14 back button. Defaults to `true`.\n * Requires `react-native-screens` version >=3.3.0.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackButtonMenuEnabled?: boolean;\n /**\n * Whether the home indicator should prefer to stay hidden on this screen. Defaults to `false`.\n *\n * @platform ios\n */\n autoHideHomeIndicator?: boolean;\n /**\n * Sets the navigation bar color. Defaults to initial navigation bar color.\n *\n * @platform android\n */\n navigationBarColor?: string;\n /**\n * Sets the visibility of the navigation bar. Defaults to `false`.\n *\n * @platform android\n */\n navigationBarHidden?: boolean;\n /**\n * Sets the status bar animation (similar to the `StatusBar` component).\n * Requires setting `View controller-based status bar appearance -> YES` (or removing the config) in your `Info.plist` file.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n statusBarAnimation?: ScreenProps['statusBarAnimation'];\n /**\n * Sets the status bar color (similar to the `StatusBar` component). Defaults to initial status bar color.\n *\n * @platform android\n */\n statusBarColor?: string;\n /**\n * Whether the status bar should be hidden on this screen.\n * Requires setting `View controller-based status bar appearance -> YES` in your Info.plist file.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n statusBarHidden?: boolean;\n /**\n * Sets the status bar color (similar to the `StatusBar` component).\n * Requires setting `View controller-based status bar appearance -> YES` (or removing the config) in your `Info.plist` file.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n statusBarStyle?: ScreenProps['statusBarStyle'];\n /**\n * Sets the translucency of the status bar. Defaults to `false`.\n *\n * @platform android\n */\n statusBarTranslucent?: boolean;\n /**\n * Sets the direction in which you should swipe to dismiss the screen.\n * When using `vertical` option, options `fullScreenGestureEnabled: true`, `customAnimationOnGesture: true` and `animation: 'slide_from_bottom'` are set by default.\n *\n * Supported values:\n * - `vertical` – dismiss screen vertically\n * - `horizontal` – dismiss screen horizontally (default)\n *\n * @platform ios\n */\n gestureDirection?: ScreenProps['swipeDirection'];\n /**\n * Style object for the scene content.\n */\n contentStyle?: StyleProp<ViewStyle>;\n /**\n * Whether the gesture to dismiss should use animation provided to `animation` prop. Defaults to `false`.\n *\n * Doesn't affect the behavior of screens presented modally.\n *\n * @platform ios\n */\n customAnimationOnGesture?: boolean;\n /**\n * Whether the gesture to dismiss should work on the whole screen. Using gesture to dismiss with this option results in the same\n * transition animation as `simple_push`. This behavior can be changed by setting `customAnimationOnGesture` prop. Achieving the\n * default iOS animation isn't possible due to platform limitations. Defaults to `false`.\n *\n * Doesn't affect the behavior of screens presented modally.\n *\n * @platform ios\n */\n fullScreenGestureEnabled?: boolean;\n /**\n * Whether you can use gestures to dismiss this screen. Defaults to `true`.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n gestureEnabled?: boolean;\n /**\n * The type of animation to use when this screen replaces another screen. Defaults to `pop`.\n *\n * Supported values:\n * - \"push\": the new screen will perform push animation.\n * - \"pop\": the new screen will perform pop animation.\n *\n * Only supported on iOS and Android.\n */\n animationTypeForReplace?: ScreenProps['replaceAnimation'];\n /**\n * How the screen should animate when pushed or popped.\n *\n * Supported values:\n * - \"default\": use the platform default animation\n * - \"fade\": fade screen in or out\n * - \"flip\": flip the screen, requires presentation: \"modal\" (iOS only)\n * - \"simple_push\": use the platform default animation, but without shadow and native header transition (iOS only)\n * - \"slide_from_bottom\": slide in the new screen from bottom\n * - \"slide_from_right\": slide in the new screen from right (Android only, uses default animation on iOS)\n * - \"slide_from_left\": slide in the new screen from left (Android only, uses default animation on iOS)\n * - \"none\": don't animate the screen\n *\n * Only supported on iOS and Android.\n */\n animation?: ScreenProps['stackAnimation'];\n /**\n * Changes the duration (in milliseconds) of `slide_from_bottom`, `fade_from_bottom`, `fade` and `simple_push` transitions on iOS. Defaults to `350`.\n * The duration of `default` and `flip` transitions isn't customizable.\n *\n * @platform ios\n */\n animationDuration?: number;\n /**\n * How should the screen be presented.\n *\n * Supported values:\n * - \"card\": the new screen will be pushed onto a stack, which means the default animation will be slide from the side on iOS, the animation on Android will vary depending on the OS version and theme.\n * - \"modal\": the new screen will be presented modally. this also allows for a nested stack to be rendered inside the screen.\n * - \"transparentModal\": the new screen will be presented modally, but in addition, the previous screen will stay so that the content below can still be seen if the screen has translucent background.\n * - \"containedModal\": will use \"UIModalPresentationCurrentContext\" modal style on iOS and will fallback to \"modal\" on Android.\n * - \"containedTransparentModal\": will use \"UIModalPresentationOverCurrentContext\" modal style on iOS and will fallback to \"transparentModal\" on Android.\n * - \"fullScreenModal\": will use \"UIModalPresentationFullScreen\" modal style on iOS and will fallback to \"modal\" on Android.\n * - \"formSheet\": will use \"UIModalPresentationFormSheet\" modal style on iOS and will fallback to \"modal\" on Android.\n *\n * Only supported on iOS and Android.\n */\n presentation?: Exclude<ScreenProps['stackPresentation'], 'push'> | 'card';\n /**\n * The display orientation to use for the screen.\n *\n * Supported values:\n * - \"default\" - resolves to \"all\" without \"portrait_down\" on iOS. On Android, this lets the system decide the best orientation.\n * - \"all\": all orientations are permitted.\n * - \"portrait\": portrait orientations are permitted.\n * - \"portrait_up\": right-side portrait orientation is permitted.\n * - \"portrait_down\": upside-down portrait orientation is permitted.\n * - \"landscape\": landscape orientations are permitted.\n * - \"landscape_left\": landscape-left orientation is permitted.\n * - \"landscape_right\": landscape-right orientation is permitted.\n *\n * Only supported on iOS and Android.\n */\n orientation?: ScreenProps['screenOrientation'];\n /**\n * Whether inactive screens should be suspended from re-rendering. Defaults to `false`.\n * Defaults to `true` when `enableFreeze()` is run at the top of the application.\n * Requires `react-native-screens` version >=3.16.0.\n *\n * Only supported on iOS and Android.\n */\n freezeOnBlur?: boolean;\n};\n\nexport type NativeStackNavigatorProps = DefaultNavigatorOptions<\n ParamListBase,\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n> &\n StackRouterOptions &\n NativeStackNavigationConfig;\n\nexport type NativeStackDescriptor = Descriptor<\n NativeStackNavigationOptions,\n NativeStackNavigationProp<ParamListBase>,\n RouteProp<ParamListBase>\n>;\n\nexport type NativeStackDescriptorMap = {\n [key: string]: NativeStackDescriptor;\n};\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["useDismissedRouteError.tsx"],"names":["React","useInvalidPreventRemoveError","state","nextDismissedKey","setNextDismissedKey","useState","dismissedRouteName","routes","find","route","key","name","useEffect","message","console","error"],"mappings":"AAIA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,eAAe,SAASC,4BAAT,CACbC,KADa,EAEb;AAAA;;AACA,QAAM,CAACC,gBAAD,EAAmBC,mBAAnB,IAA0CJ,KAAK,CAACK,QAAN,CAC9C,IAD8C,CAAhD;AAIA,QAAMC,kBAAkB,GAAGH,gBAAgB,yBACvCD,KAAK,CAACK,MAAN,CAAaC,IAAb,CAAmBC,KAAD,IAAWA,KAAK,CAACC,GAAN,KAAcP,gBAA3C,CADuC,uDACvC,mBAA8DQ,IADvB,GAEvC,IAFJ;AAIAX,EAAAA,KAAK,CAACY,SAAN,CAAgB,MAAM;AACpB,QAAIN,kBAAJ,EAAwB;AACtB,YAAMO,OAAO,GACV,eAAcP,kBAAmB,+DAAlC,GACC,6HADD,GAEC,gJAHH;AAKAQ,MAAAA,OAAO,CAACC,KAAR,CAAcF,OAAd;AACD;AACF,GATD,EASG,CAACP,kBAAD,CATH;AAWA,SAAO;AAAEF,IAAAA;AAAF,GAAP;AACD","sourcesContent":["import type {\n ParamListBase,\n StackNavigationState,\n} from '@react-navigation/native';\nimport * as React from 'react';\n\nexport default function useInvalidPreventRemoveError(\n state: StackNavigationState<ParamListBase>\n) {\n const [nextDismissedKey, setNextDismissedKey] = React.useState<string | null>(\n null\n );\n\n const dismissedRouteName = nextDismissedKey\n ? state.routes.find((route) => route.key === nextDismissedKey)?.name\n : null;\n\n React.useEffect(() => {\n if (dismissedRouteName) {\n const message =\n `The screen '${dismissedRouteName}' was removed natively but didn't get removed from JS state. ` +\n `This can happen if the action was prevented in a 'beforeRemove' listener, which is not fully supported in native-stack.\\n\\n` +\n `Consider using a 'usePreventRemove' hook with 'headerBackButtonMenuEnabled: false' to prevent users from natively going back multiple screens.`;\n\n console.error(message);\n }\n }, [dismissedRouteName]);\n\n return { setNextDismissedKey };\n}\n"]}
1
+ {"version":3,"names":["React","useInvalidPreventRemoveError","state","nextDismissedKey","setNextDismissedKey","useState","dismissedRouteName","routes","find","route","key","name","useEffect","message","console","error"],"sources":["useDismissedRouteError.tsx"],"sourcesContent":["import type {\n ParamListBase,\n StackNavigationState,\n} from '@react-navigation/native';\nimport * as React from 'react';\n\nexport default function useInvalidPreventRemoveError(\n state: StackNavigationState<ParamListBase>\n) {\n const [nextDismissedKey, setNextDismissedKey] = React.useState<string | null>(\n null\n );\n\n const dismissedRouteName = nextDismissedKey\n ? state.routes.find((route) => route.key === nextDismissedKey)?.name\n : null;\n\n React.useEffect(() => {\n if (dismissedRouteName) {\n const message =\n `The screen '${dismissedRouteName}' was removed natively but didn't get removed from JS state. ` +\n `This can happen if the action was prevented in a 'beforeRemove' listener, which is not fully supported in native-stack.\\n\\n` +\n `Consider using a 'usePreventRemove' hook with 'headerBackButtonMenuEnabled: false' to prevent users from natively going back multiple screens.`;\n\n console.error(message);\n }\n }, [dismissedRouteName]);\n\n return { setNextDismissedKey };\n}\n"],"mappings":"AAIA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,eAAe,SAASC,4BAAT,CACbC,KADa,EAEb;EAAA;;EACA,MAAM,CAACC,gBAAD,EAAmBC,mBAAnB,IAA0CJ,KAAK,CAACK,QAAN,CAC9C,IAD8C,CAAhD;EAIA,MAAMC,kBAAkB,GAAGH,gBAAgB,yBACvCD,KAAK,CAACK,MAAN,CAAaC,IAAb,CAAmBC,KAAD,IAAWA,KAAK,CAACC,GAAN,KAAcP,gBAA3C,CADuC,uDACvC,mBAA8DQ,IADvB,GAEvC,IAFJ;EAIAX,KAAK,CAACY,SAAN,CAAgB,MAAM;IACpB,IAAIN,kBAAJ,EAAwB;MACtB,MAAMO,OAAO,GACV,eAAcP,kBAAmB,+DAAlC,GACC,6HADD,GAEC,gJAHH;MAKAQ,OAAO,CAACC,KAAR,CAAcF,OAAd;IACD;EACF,CATD,EASG,CAACP,kBAAD,CATH;EAWA,OAAO;IAAEF;EAAF,CAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["useInvalidPreventRemoveError.tsx"],"names":["usePreventRemoveContext","React","useInvalidPreventRemoveError","descriptors","preventedRoutes","preventedRouteKey","Object","keys","preventedDescriptor","isHeaderBackButtonMenuEnabledOnPreventedScreen","options","headerBackButtonMenuEnabled","preventedRouteName","route","name","useEffect","message","console","error"],"mappings":"AAAA,SAASA,uBAAT,QAAwC,0BAAxC;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAIA,eAAe,SAASC,4BAAT,CACbC,WADa,EAEb;AAAA;;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAsBJ,uBAAuB,EAAnD;AACA,QAAMK,iBAAiB,GAAGC,MAAM,CAACC,IAAP,CAAYH,eAAZ,EAA6B,CAA7B,CAA1B;AACA,QAAMI,mBAAmB,GAAGL,WAAW,CAACE,iBAAD,CAAvC;AACA,QAAMI,8CAA8C,GAClDD,mBADkD,aAClDA,mBADkD,gDAClDA,mBAAmB,CAAEE,OAD6B,0DAClD,sBAA8BC,2BADhC;AAEA,QAAMC,kBAAkB,GAAGJ,mBAAH,aAAGA,mBAAH,iDAAGA,mBAAmB,CAAEK,KAAxB,2DAAG,uBAA4BC,IAAvD;AAEAb,EAAAA,KAAK,CAACc,SAAN,CAAgB,MAAM;AACpB,QACEV,iBAAiB,IAAI,IAArB,IACAI,8CAFF,EAGE;AACA,YAAMO,OAAO,GACV,cAAaJ,kBAAmB,2GAAjC,GACC,8DAA6DA,kBAAmB,mCAFnF;AAGAK,MAAAA,OAAO,CAACC,KAAR,CAAcF,OAAd;AACD;AACF,GAVD,EAUG,CACDX,iBADC,EAEDI,8CAFC,EAGDG,kBAHC,CAVH;AAeD","sourcesContent":["import { usePreventRemoveContext } from '@react-navigation/native';\nimport * as React from 'react';\n\nimport type { NativeStackDescriptorMap } from '../types';\n\nexport default function useInvalidPreventRemoveError(\n descriptors: NativeStackDescriptorMap\n) {\n const { preventedRoutes } = usePreventRemoveContext();\n const preventedRouteKey = Object.keys(preventedRoutes)[0];\n const preventedDescriptor = descriptors[preventedRouteKey];\n const isHeaderBackButtonMenuEnabledOnPreventedScreen =\n preventedDescriptor?.options?.headerBackButtonMenuEnabled;\n const preventedRouteName = preventedDescriptor?.route?.name;\n\n React.useEffect(() => {\n if (\n preventedRouteKey != null &&\n isHeaderBackButtonMenuEnabledOnPreventedScreen\n ) {\n const message =\n `The screen ${preventedRouteName} uses 'usePreventRemove' hook alongside 'headerBackButtonMenuEnabled: true', which is not supported. \\n\\n` +\n `Consider removing 'headerBackButtonMenuEnabled: true' from ${preventedRouteName} screen to get rid of this error.`;\n console.error(message);\n }\n }, [\n preventedRouteKey,\n isHeaderBackButtonMenuEnabledOnPreventedScreen,\n preventedRouteName,\n ]);\n}\n"]}
1
+ {"version":3,"names":["usePreventRemoveContext","React","useInvalidPreventRemoveError","descriptors","preventedRoutes","preventedRouteKey","Object","keys","preventedDescriptor","isHeaderBackButtonMenuEnabledOnPreventedScreen","options","headerBackButtonMenuEnabled","preventedRouteName","route","name","useEffect","message","console","error"],"sources":["useInvalidPreventRemoveError.tsx"],"sourcesContent":["import { usePreventRemoveContext } from '@react-navigation/native';\nimport * as React from 'react';\n\nimport type { NativeStackDescriptorMap } from '../types';\n\nexport default function useInvalidPreventRemoveError(\n descriptors: NativeStackDescriptorMap\n) {\n const { preventedRoutes } = usePreventRemoveContext();\n const preventedRouteKey = Object.keys(preventedRoutes)[0];\n const preventedDescriptor = descriptors[preventedRouteKey];\n const isHeaderBackButtonMenuEnabledOnPreventedScreen =\n preventedDescriptor?.options?.headerBackButtonMenuEnabled;\n const preventedRouteName = preventedDescriptor?.route?.name;\n\n React.useEffect(() => {\n if (\n preventedRouteKey != null &&\n isHeaderBackButtonMenuEnabledOnPreventedScreen\n ) {\n const message =\n `The screen ${preventedRouteName} uses 'usePreventRemove' hook alongside 'headerBackButtonMenuEnabled: true', which is not supported. \\n\\n` +\n `Consider removing 'headerBackButtonMenuEnabled: true' from ${preventedRouteName} screen to get rid of this error.`;\n console.error(message);\n }\n }, [\n preventedRouteKey,\n isHeaderBackButtonMenuEnabledOnPreventedScreen,\n preventedRouteName,\n ]);\n}\n"],"mappings":"AAAA,SAASA,uBAAT,QAAwC,0BAAxC;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAIA,eAAe,SAASC,4BAAT,CACbC,WADa,EAEb;EAAA;;EACA,MAAM;IAAEC;EAAF,IAAsBJ,uBAAuB,EAAnD;EACA,MAAMK,iBAAiB,GAAGC,MAAM,CAACC,IAAP,CAAYH,eAAZ,EAA6B,CAA7B,CAA1B;EACA,MAAMI,mBAAmB,GAAGL,WAAW,CAACE,iBAAD,CAAvC;EACA,MAAMI,8CAA8C,GAClDD,mBADkD,aAClDA,mBADkD,gDAClDA,mBAAmB,CAAEE,OAD6B,0DAClD,sBAA8BC,2BADhC;EAEA,MAAMC,kBAAkB,GAAGJ,mBAAH,aAAGA,mBAAH,iDAAGA,mBAAmB,CAAEK,KAAxB,2DAAG,uBAA4BC,IAAvD;EAEAb,KAAK,CAACc,SAAN,CAAgB,MAAM;IACpB,IACEV,iBAAiB,IAAI,IAArB,IACAI,8CAFF,EAGE;MACA,MAAMO,OAAO,GACV,cAAaJ,kBAAmB,2GAAjC,GACC,8DAA6DA,kBAAmB,mCAFnF;MAGAK,OAAO,CAACC,KAAR,CAAcF,OAAd;IACD;EACF,CAVD,EAUG,CACDX,iBADC,EAEDI,8CAFC,EAGDG,kBAHC,CAVH;AAeD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["DebugContainer.tsx"],"names":["React","View","Container","props","stackPresentation","_","rest"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,IAAT,QAAgC,cAAhC;AAQA,eAAe,SAASC,SAAT,CAAmBC,KAAnB,EAA0C;AACvD;AACA,QAAM;AAAEC,IAAAA,iBAAiB,EAAEC,CAArB;AAAwB,OAAGC;AAA3B,MAAoCH,KAA1C;AACA,sBAAO,oBAAC,IAAD,EAAUG,IAAV,CAAP;AACD","sourcesContent":["import * as React from 'react';\nimport { View, ViewProps } from 'react-native';\nimport type { StackPresentationTypes } from 'react-native-screens';\n\ntype ContainerProps = ViewProps & {\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n};\n\nexport default function Container(props: ContainerProps) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { stackPresentation: _, ...rest } = props;\n return <View {...rest} />;\n}\n"]}
1
+ {"version":3,"names":["React","View","Container","props","stackPresentation","_","rest"],"sources":["DebugContainer.tsx"],"sourcesContent":["import * as React from 'react';\nimport { View, ViewProps } from 'react-native';\nimport type { StackPresentationTypes } from 'react-native-screens';\n\ntype ContainerProps = ViewProps & {\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n};\n\nexport default function Container(props: ContainerProps) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { stackPresentation: _, ...rest } = props;\n return <View {...rest} />;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,IAAT,QAAgC,cAAhC;AAQA,eAAe,SAASC,SAAT,CAAmBC,KAAnB,EAA0C;EACvD;EACA,MAAM;IAAEC,iBAAiB,EAAEC,CAArB;IAAwB,GAAGC;EAA3B,IAAoCH,KAA1C;EACA,oBAAO,oBAAC,IAAD,EAAUG,IAAV,CAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["DebugContainer.native.tsx"],"names":["React","Platform","View","AppContainer","Container","process","env","NODE_ENV","DebugContainer","props","stackPresentation","rest","OS"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,QAAT,EAAmBC,IAAnB,QAA0C,cAA1C,C,CACA;;AACA,OAAOC,YAAP,MAAyB,iDAAzB;AAQA,IAAIC,SAAS,GAAGF,IAAhB;;AAEA,IAAIG,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,QAAMC,cAAc,GAAIC,KAAD,IAA2B;AAChD,UAAM;AAAEC,MAAAA,iBAAF;AAAqB,SAAGC;AAAxB,QAAiCF,KAAvC;;AAEA,QAAIR,QAAQ,CAACW,EAAT,KAAgB,KAAhB,IAAyBF,iBAAiB,KAAK,MAAnD,EAA2D;AACzD;AACA,0BACE,oBAAC,YAAD,qBACE,oBAAC,IAAD,EAAUC,IAAV,CADF,CADF;AAKD;;AAED,wBAAO,oBAAC,IAAD,EAAUA,IAAV,CAAP;AACD,GAbD;;AAeAP,EAAAA,SAAS,GAAGI,cAAZ;AACD;;AAED,eAAeJ,SAAf","sourcesContent":["import * as React from 'react';\nimport { Platform, View, ViewProps } from 'react-native';\n// @ts-ignore Getting private component\nimport AppContainer from 'react-native/Libraries/ReactNative/AppContainer';\nimport type { StackPresentationTypes } from 'react-native-screens';\n\ntype ContainerProps = ViewProps & {\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n};\n\nlet Container = View as unknown as React.ComponentType<ContainerProps>;\n\nif (process.env.NODE_ENV !== 'production') {\n const DebugContainer = (props: ContainerProps) => {\n const { stackPresentation, ...rest } = props;\n\n if (Platform.OS === 'ios' && stackPresentation !== 'push') {\n // This is necessary for LogBox\n return (\n <AppContainer>\n <View {...rest} />\n </AppContainer>\n );\n }\n\n return <View {...rest} />;\n };\n\n Container = DebugContainer;\n}\n\nexport default Container;\n"]}
1
+ {"version":3,"names":["React","Platform","View","AppContainer","Container","process","env","NODE_ENV","DebugContainer","props","stackPresentation","rest","OS"],"sources":["DebugContainer.native.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Platform, View, ViewProps } from 'react-native';\n// @ts-ignore Getting private component\nimport AppContainer from 'react-native/Libraries/ReactNative/AppContainer';\nimport type { StackPresentationTypes } from 'react-native-screens';\n\ntype ContainerProps = ViewProps & {\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n};\n\nlet Container = View as unknown as React.ComponentType<ContainerProps>;\n\nif (process.env.NODE_ENV !== 'production') {\n const DebugContainer = (props: ContainerProps) => {\n const { stackPresentation, ...rest } = props;\n\n if (Platform.OS === 'ios' && stackPresentation !== 'push') {\n // This is necessary for LogBox\n return (\n <AppContainer>\n <View {...rest} />\n </AppContainer>\n );\n }\n\n return <View {...rest} />;\n };\n\n Container = DebugContainer;\n}\n\nexport default Container;\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,QAAT,EAAmBC,IAAnB,QAA0C,cAA1C,C,CACA;;AACA,OAAOC,YAAP,MAAyB,iDAAzB;AAQA,IAAIC,SAAS,GAAGF,IAAhB;;AAEA,IAAIG,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;EACzC,MAAMC,cAAc,GAAIC,KAAD,IAA2B;IAChD,MAAM;MAAEC,iBAAF;MAAqB,GAAGC;IAAxB,IAAiCF,KAAvC;;IAEA,IAAIR,QAAQ,CAACW,EAAT,KAAgB,KAAhB,IAAyBF,iBAAiB,KAAK,MAAnD,EAA2D;MACzD;MACA,oBACE,oBAAC,YAAD,qBACE,oBAAC,IAAD,EAAUC,IAAV,CADF,CADF;IAKD;;IAED,oBAAO,oBAAC,IAAD,EAAUA,IAAV,CAAP;EACD,CAbD;;EAeAP,SAAS,GAAGI,cAAZ;AACD;;AAED,eAAeJ,SAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["FontProcessor.tsx"],"names":["processFonts","_","Error"],"mappings":"AAAA,OAAO,SAASA,YAAT,CACLC,CADK,EAEmB;AACxB,QAAM,IAAIC,KAAJ,CAAU,sBAAV,CAAN;AACD","sourcesContent":["export function processFonts(\n _: (string | undefined)[]\n): (string | undefined)[] {\n throw new Error('Not supported on Web');\n}\n"]}
1
+ {"version":3,"names":["processFonts","_","Error"],"sources":["FontProcessor.tsx"],"sourcesContent":["export function processFonts(\n _: (string | undefined)[]\n): (string | undefined)[] {\n throw new Error('Not supported on Web');\n}\n"],"mappings":"AAAA,OAAO,SAASA,YAAT,CACLC,CADK,EAEmB;EACxB,MAAM,IAAIC,KAAJ,CAAU,sBAAV,CAAN;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["FontProcessor.native.tsx"],"names":["ReactNativeStyleAttributes","processFonts","fontFamilies","fontFamilyProcessor","fontFamily","process","map"],"mappings":"AAAA;AACA,OAAOA,0BAAP,MAAuC,mEAAvC;AAEA,OAAO,SAASC,YAAT,CACLC,YADK,EAEmB;AAAA;;AACxB;AACA,QAAMC,mBAAmB,4BAAGH,0BAA0B,CAACI,UAA9B,0DAAG,sBAAuCC,OAAnE;;AACA,MAAI,OAAOF,mBAAP,KAA+B,UAAnC,EAA+C;AAC7C,WAAOD,YAAY,CAACI,GAAb,CAAiBH,mBAAjB,CAAP;AACD;;AACD,SAAOD,YAAP;AACD","sourcesContent":["// @ts-ignore: No declaration available\nimport ReactNativeStyleAttributes from 'react-native/Libraries/Components/View/ReactNativeStyleAttributes';\n\nexport function processFonts(\n fontFamilies: (string | undefined)[]\n): (string | undefined)[] {\n // @ts-ignore: React Native types are incorrect here and don't consider fontFamily a style value\n const fontFamilyProcessor = ReactNativeStyleAttributes.fontFamily?.process;\n if (typeof fontFamilyProcessor === 'function') {\n return fontFamilies.map(fontFamilyProcessor);\n }\n return fontFamilies;\n}\n"]}
1
+ {"version":3,"names":["ReactNativeStyleAttributes","processFonts","fontFamilies","fontFamilyProcessor","fontFamily","process","map"],"sources":["FontProcessor.native.tsx"],"sourcesContent":["// @ts-ignore: No declaration available\nimport ReactNativeStyleAttributes from 'react-native/Libraries/Components/View/ReactNativeStyleAttributes';\n\nexport function processFonts(\n fontFamilies: (string | undefined)[]\n): (string | undefined)[] {\n // @ts-ignore: React Native types are incorrect here and don't consider fontFamily a style value\n const fontFamilyProcessor = ReactNativeStyleAttributes.fontFamily?.process;\n if (typeof fontFamilyProcessor === 'function') {\n return fontFamilies.map(fontFamilyProcessor);\n }\n return fontFamilies;\n}\n"],"mappings":"AAAA;AACA,OAAOA,0BAAP,MAAuC,mEAAvC;AAEA,OAAO,SAASC,YAAT,CACLC,YADK,EAEmB;EAAA;;EACxB;EACA,MAAMC,mBAAmB,4BAAGH,0BAA0B,CAACI,UAA9B,0DAAG,sBAAuCC,OAAnE;;EACA,IAAI,OAAOF,mBAAP,KAA+B,UAAnC,EAA+C;IAC7C,OAAOD,YAAY,CAACI,GAAb,CAAiBH,mBAAjB,CAAP;EACD;;EACD,OAAOD,YAAP;AACD"}
@@ -116,7 +116,7 @@ export default function HeaderConfig(_ref) {
116
116
  disableBackButtonMenu: headerBackButtonMenuEnabled === false,
117
117
  hidden: headerShown === false,
118
118
  hideBackButton: headerBackVisible === false,
119
- hideShadow: headerShadowVisible === false || headerBackground != null || headerTransparent,
119
+ hideShadow: headerShadowVisible === false || headerBackground != null || headerTransparent && headerShadowVisible !== true,
120
120
  largeTitle: headerLargeTitle,
121
121
  largeTitleBackgroundColor: headerLargeStyleFlattened.backgroundColor,
122
122
  largeTitleColor: headerLargeTitleStyleFlattened.color,
@@ -1 +1 @@
1
- {"version":3,"sources":["HeaderConfig.tsx"],"names":["getHeaderTitle","HeaderTitle","useTheme","React","I18nManager","Platform","StyleSheet","View","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderBackButtonImage","ScreenStackHeaderCenterView","ScreenStackHeaderConfig","ScreenStackHeaderLeftView","ScreenStackHeaderRightView","ScreenStackHeaderSearchBarView","SearchBar","processFonts","HeaderConfig","headerHeight","headerBackImageSource","headerBackButtonMenuEnabled","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerBackVisible","headerShadowVisible","headerLargeStyle","headerLargeTitle","headerLargeTitleShadowVisible","headerLargeTitleStyle","headerBackground","headerLeft","headerRight","headerShown","headerStyle","headerBlurEffect","headerTintColor","headerTitle","headerTitleAlign","headerTitleStyle","headerTransparent","headerSearchBarOptions","headerTopInsetEnabled","route","title","canGoBack","colors","tintColor","OS","primary","text","headerBackTitleStyleFlattened","flatten","headerLargeTitleStyleFlattened","headerTitleStyleFlattened","headerStyleFlattened","headerLargeStyleFlattened","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","fontFamily","titleText","name","titleColor","color","titleFontSize","fontSize","titleFontWeight","fontWeight","headerTitleStyleSupported","headerLeftElement","label","headerRightElement","headerTitleElement","children","supportsHeaderSearchBar","hasHeaderSearchBar","Error","backButtonInCustomView","translucent","styles","background","height","backgroundColor","card","getConstants","isRTL","row","undefined","create","flexDirection","alignItems","position","top","left","right","zIndex","overflow"],"mappings":"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","sourcesContent":["import { getHeaderTitle, HeaderTitle } from '@react-navigation/elements';\nimport { Route, useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n I18nManager,\n Platform,\n StyleSheet,\n TextStyle,\n View,\n} from 'react-native';\nimport {\n isSearchBarAvailableForCurrentPlatform,\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderConfig,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderRightView,\n ScreenStackHeaderSearchBarView,\n SearchBar,\n} from 'react-native-screens';\n\nimport type { NativeStackNavigationOptions } from '../types';\nimport { processFonts } from './FontProcessor';\n\ntype Props = NativeStackNavigationOptions & {\n headerTopInsetEnabled: boolean;\n headerHeight: number;\n route: Route<string>;\n canGoBack: boolean;\n};\n\nexport default function HeaderConfig({\n headerHeight,\n headerBackImageSource,\n headerBackButtonMenuEnabled,\n headerBackTitle,\n headerBackTitleStyle,\n headerBackTitleVisible = true,\n headerBackVisible,\n headerShadowVisible,\n headerLargeStyle,\n headerLargeTitle,\n headerLargeTitleShadowVisible,\n headerLargeTitleStyle,\n headerBackground,\n headerLeft,\n headerRight,\n headerShown,\n headerStyle,\n headerBlurEffect,\n headerTintColor,\n headerTitle,\n headerTitleAlign,\n headerTitleStyle,\n headerTransparent,\n headerSearchBarOptions,\n headerTopInsetEnabled,\n route,\n title,\n canGoBack,\n}: Props): JSX.Element {\n const { colors } = useTheme();\n const tintColor =\n headerTintColor ?? (Platform.OS === 'ios' ? colors.primary : colors.text);\n\n const headerBackTitleStyleFlattened =\n StyleSheet.flatten(headerBackTitleStyle) || {};\n const headerLargeTitleStyleFlattened =\n StyleSheet.flatten(headerLargeTitleStyle) || {};\n const headerTitleStyleFlattened = StyleSheet.flatten(headerTitleStyle) || {};\n const headerStyleFlattened = StyleSheet.flatten(headerStyle) || {};\n const headerLargeStyleFlattened = StyleSheet.flatten(headerLargeStyle) || {};\n\n const [backTitleFontFamily, largeTitleFontFamily, titleFontFamily] =\n processFonts([\n headerBackTitleStyleFlattened.fontFamily,\n headerLargeTitleStyleFlattened.fontFamily,\n headerTitleStyleFlattened.fontFamily,\n ]);\n\n const titleText = getHeaderTitle({ title, headerTitle }, route.name);\n const titleColor =\n headerTitleStyleFlattened.color ?? headerTintColor ?? colors.text;\n const titleFontSize = headerTitleStyleFlattened.fontSize;\n const titleFontWeight = headerTitleStyleFlattened.fontWeight;\n\n const headerTitleStyleSupported: TextStyle = { color: titleColor };\n\n if (headerTitleStyleFlattened.fontFamily != null) {\n headerTitleStyleSupported.fontFamily = headerTitleStyleFlattened.fontFamily;\n }\n\n if (titleFontSize != null) {\n headerTitleStyleSupported.fontSize = titleFontSize;\n }\n\n if (titleFontWeight != null) {\n headerTitleStyleSupported.fontWeight = titleFontWeight;\n }\n\n const headerLeftElement = headerLeft?.({\n tintColor,\n canGoBack,\n label: headerBackTitle,\n });\n const headerRightElement = headerRight?.({\n tintColor,\n canGoBack,\n });\n const headerTitleElement =\n typeof headerTitle === 'function'\n ? headerTitle({\n tintColor,\n children: titleText,\n })\n : null;\n\n const supportsHeaderSearchBar =\n typeof isSearchBarAvailableForCurrentPlatform === 'boolean'\n ? isSearchBarAvailableForCurrentPlatform\n : // Fallback for older versions of react-native-screens\n Platform.OS === 'ios' && SearchBar != null;\n\n const hasHeaderSearchBar =\n supportsHeaderSearchBar && headerSearchBarOptions != null;\n\n if (headerSearchBarOptions != null && !supportsHeaderSearchBar) {\n throw new Error(\n `The current version of 'react-native-screens' doesn't support SearchBar in the header. Please update to the latest version to use this option.`\n );\n }\n\n /**\n * We need to set this in if:\n * - Back button should stay visible when `headerLeft` is specified\n * - If `headerTitle` for Android is specified, so we only need to remove the title and keep the back button\n */\n const backButtonInCustomView = headerBackVisible\n ? headerLeftElement != null\n : Platform.OS === 'android' && headerTitleElement != null;\n\n const translucent =\n headerBackground != null ||\n headerTransparent ||\n // When using a SearchBar or large title, the header needs to be translucent for it to work on iOS\n ((hasHeaderSearchBar || headerLargeTitle) &&\n Platform.OS === 'ios' &&\n headerTransparent !== false);\n\n return (\n <>\n {headerBackground != null ? (\n <View\n style={[\n styles.background,\n headerTransparent ? styles.translucent : null,\n { height: headerHeight },\n ]}\n >\n {headerBackground()}\n </View>\n ) : null}\n <ScreenStackHeaderConfig\n backButtonInCustomView={backButtonInCustomView}\n backgroundColor={\n headerStyleFlattened.backgroundColor ??\n (headerBackground != null || headerTransparent\n ? 'transparent'\n : colors.card)\n }\n backTitle={headerBackTitleVisible ? headerBackTitle : ' '}\n backTitleFontFamily={backTitleFontFamily}\n backTitleFontSize={headerBackTitleStyleFlattened.fontSize}\n blurEffect={headerBlurEffect}\n color={tintColor}\n direction={I18nManager.getConstants().isRTL ? 'rtl' : 'ltr'}\n disableBackButtonMenu={headerBackButtonMenuEnabled === false}\n hidden={headerShown === false}\n hideBackButton={headerBackVisible === false}\n hideShadow={\n headerShadowVisible === false ||\n headerBackground != null ||\n headerTransparent\n }\n largeTitle={headerLargeTitle}\n largeTitleBackgroundColor={headerLargeStyleFlattened.backgroundColor}\n largeTitleColor={headerLargeTitleStyleFlattened.color}\n largeTitleFontFamily={largeTitleFontFamily}\n largeTitleFontSize={headerLargeTitleStyleFlattened.fontSize}\n largeTitleFontWeight={headerLargeTitleStyleFlattened.fontWeight}\n largeTitleHideShadow={headerLargeTitleShadowVisible === false}\n title={titleText}\n titleColor={titleColor}\n titleFontFamily={titleFontFamily}\n titleFontSize={titleFontSize}\n titleFontWeight={titleFontWeight}\n topInsetEnabled={headerTopInsetEnabled}\n translucent={\n // This defaults to `true`, so we can't pass `undefined`\n translucent === true\n }\n >\n {Platform.OS === 'ios' ? (\n <>\n {headerLeftElement != null ? (\n <ScreenStackHeaderLeftView>\n {headerLeftElement}\n </ScreenStackHeaderLeftView>\n ) : null}\n {headerTitleElement != null ? (\n <ScreenStackHeaderCenterView>\n {headerTitleElement}\n </ScreenStackHeaderCenterView>\n ) : null}\n </>\n ) : (\n <>\n {headerLeftElement != null || typeof headerTitle === 'function' ? (\n <ScreenStackHeaderLeftView>\n <View style={styles.row}>\n {headerLeftElement}\n {headerTitleAlign !== 'center' ? (\n typeof headerTitle === 'function' ? (\n headerTitleElement\n ) : (\n <HeaderTitle\n tintColor={tintColor}\n style={headerTitleStyleSupported}\n >\n {titleText}\n </HeaderTitle>\n )\n ) : null}\n </View>\n </ScreenStackHeaderLeftView>\n ) : null}\n {headerTitleAlign === 'center' ? (\n <ScreenStackHeaderCenterView>\n {typeof headerTitle === 'function' ? (\n headerTitleElement\n ) : (\n <HeaderTitle\n tintColor={tintColor}\n style={headerTitleStyleSupported}\n >\n {titleText}\n </HeaderTitle>\n )}\n </ScreenStackHeaderCenterView>\n ) : null}\n </>\n )}\n {headerBackImageSource !== undefined ? (\n <ScreenStackHeaderBackButtonImage source={headerBackImageSource} />\n ) : null}\n {headerRightElement != null ? (\n <ScreenStackHeaderRightView>\n {headerRightElement}\n </ScreenStackHeaderRightView>\n ) : null}\n {hasHeaderSearchBar ? (\n <ScreenStackHeaderSearchBarView>\n <SearchBar {...headerSearchBarOptions} />\n </ScreenStackHeaderSearchBarView>\n ) : null}\n </ScreenStackHeaderConfig>\n </>\n );\n}\n\nconst styles = StyleSheet.create({\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n translucent: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n zIndex: 1,\n },\n background: {\n overflow: 'hidden',\n },\n});\n"]}
1
+ {"version":3,"names":["getHeaderTitle","HeaderTitle","useTheme","React","I18nManager","Platform","StyleSheet","View","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderBackButtonImage","ScreenStackHeaderCenterView","ScreenStackHeaderConfig","ScreenStackHeaderLeftView","ScreenStackHeaderRightView","ScreenStackHeaderSearchBarView","SearchBar","processFonts","HeaderConfig","headerHeight","headerBackImageSource","headerBackButtonMenuEnabled","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerBackVisible","headerShadowVisible","headerLargeStyle","headerLargeTitle","headerLargeTitleShadowVisible","headerLargeTitleStyle","headerBackground","headerLeft","headerRight","headerShown","headerStyle","headerBlurEffect","headerTintColor","headerTitle","headerTitleAlign","headerTitleStyle","headerTransparent","headerSearchBarOptions","headerTopInsetEnabled","route","title","canGoBack","colors","tintColor","OS","primary","text","headerBackTitleStyleFlattened","flatten","headerLargeTitleStyleFlattened","headerTitleStyleFlattened","headerStyleFlattened","headerLargeStyleFlattened","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","fontFamily","titleText","name","titleColor","color","titleFontSize","fontSize","titleFontWeight","fontWeight","headerTitleStyleSupported","headerLeftElement","label","headerRightElement","headerTitleElement","children","supportsHeaderSearchBar","hasHeaderSearchBar","Error","backButtonInCustomView","translucent","styles","background","height","backgroundColor","card","getConstants","isRTL","row","undefined","create","flexDirection","alignItems","position","top","left","right","zIndex","overflow"],"sources":["HeaderConfig.tsx"],"sourcesContent":["import { getHeaderTitle, HeaderTitle } from '@react-navigation/elements';\nimport { Route, useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n I18nManager,\n Platform,\n StyleSheet,\n TextStyle,\n View,\n} from 'react-native';\nimport {\n isSearchBarAvailableForCurrentPlatform,\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderConfig,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderRightView,\n ScreenStackHeaderSearchBarView,\n SearchBar,\n} from 'react-native-screens';\n\nimport type { NativeStackNavigationOptions } from '../types';\nimport { processFonts } from './FontProcessor';\n\ntype Props = NativeStackNavigationOptions & {\n headerTopInsetEnabled: boolean;\n headerHeight: number;\n route: Route<string>;\n canGoBack: boolean;\n};\n\nexport default function HeaderConfig({\n headerHeight,\n headerBackImageSource,\n headerBackButtonMenuEnabled,\n headerBackTitle,\n headerBackTitleStyle,\n headerBackTitleVisible = true,\n headerBackVisible,\n headerShadowVisible,\n headerLargeStyle,\n headerLargeTitle,\n headerLargeTitleShadowVisible,\n headerLargeTitleStyle,\n headerBackground,\n headerLeft,\n headerRight,\n headerShown,\n headerStyle,\n headerBlurEffect,\n headerTintColor,\n headerTitle,\n headerTitleAlign,\n headerTitleStyle,\n headerTransparent,\n headerSearchBarOptions,\n headerTopInsetEnabled,\n route,\n title,\n canGoBack,\n}: Props): JSX.Element {\n const { colors } = useTheme();\n const tintColor =\n headerTintColor ?? (Platform.OS === 'ios' ? colors.primary : colors.text);\n\n const headerBackTitleStyleFlattened =\n StyleSheet.flatten(headerBackTitleStyle) || {};\n const headerLargeTitleStyleFlattened =\n StyleSheet.flatten(headerLargeTitleStyle) || {};\n const headerTitleStyleFlattened = StyleSheet.flatten(headerTitleStyle) || {};\n const headerStyleFlattened = StyleSheet.flatten(headerStyle) || {};\n const headerLargeStyleFlattened = StyleSheet.flatten(headerLargeStyle) || {};\n\n const [backTitleFontFamily, largeTitleFontFamily, titleFontFamily] =\n processFonts([\n headerBackTitleStyleFlattened.fontFamily,\n headerLargeTitleStyleFlattened.fontFamily,\n headerTitleStyleFlattened.fontFamily,\n ]);\n\n const titleText = getHeaderTitle({ title, headerTitle }, route.name);\n const titleColor =\n headerTitleStyleFlattened.color ?? headerTintColor ?? colors.text;\n const titleFontSize = headerTitleStyleFlattened.fontSize;\n const titleFontWeight = headerTitleStyleFlattened.fontWeight;\n\n const headerTitleStyleSupported: TextStyle = { color: titleColor };\n\n if (headerTitleStyleFlattened.fontFamily != null) {\n headerTitleStyleSupported.fontFamily = headerTitleStyleFlattened.fontFamily;\n }\n\n if (titleFontSize != null) {\n headerTitleStyleSupported.fontSize = titleFontSize;\n }\n\n if (titleFontWeight != null) {\n headerTitleStyleSupported.fontWeight = titleFontWeight;\n }\n\n const headerLeftElement = headerLeft?.({\n tintColor,\n canGoBack,\n label: headerBackTitle,\n });\n const headerRightElement = headerRight?.({\n tintColor,\n canGoBack,\n });\n const headerTitleElement =\n typeof headerTitle === 'function'\n ? headerTitle({\n tintColor,\n children: titleText,\n })\n : null;\n\n const supportsHeaderSearchBar =\n typeof isSearchBarAvailableForCurrentPlatform === 'boolean'\n ? isSearchBarAvailableForCurrentPlatform\n : // Fallback for older versions of react-native-screens\n Platform.OS === 'ios' && SearchBar != null;\n\n const hasHeaderSearchBar =\n supportsHeaderSearchBar && headerSearchBarOptions != null;\n\n if (headerSearchBarOptions != null && !supportsHeaderSearchBar) {\n throw new Error(\n `The current version of 'react-native-screens' doesn't support SearchBar in the header. Please update to the latest version to use this option.`\n );\n }\n\n /**\n * We need to set this in if:\n * - Back button should stay visible when `headerLeft` is specified\n * - If `headerTitle` for Android is specified, so we only need to remove the title and keep the back button\n */\n const backButtonInCustomView = headerBackVisible\n ? headerLeftElement != null\n : Platform.OS === 'android' && headerTitleElement != null;\n\n const translucent =\n headerBackground != null ||\n headerTransparent ||\n // When using a SearchBar or large title, the header needs to be translucent for it to work on iOS\n ((hasHeaderSearchBar || headerLargeTitle) &&\n Platform.OS === 'ios' &&\n headerTransparent !== false);\n\n return (\n <>\n {headerBackground != null ? (\n <View\n style={[\n styles.background,\n headerTransparent ? styles.translucent : null,\n { height: headerHeight },\n ]}\n >\n {headerBackground()}\n </View>\n ) : null}\n <ScreenStackHeaderConfig\n backButtonInCustomView={backButtonInCustomView}\n backgroundColor={\n headerStyleFlattened.backgroundColor ??\n (headerBackground != null || headerTransparent\n ? 'transparent'\n : colors.card)\n }\n backTitle={headerBackTitleVisible ? headerBackTitle : ' '}\n backTitleFontFamily={backTitleFontFamily}\n backTitleFontSize={headerBackTitleStyleFlattened.fontSize}\n blurEffect={headerBlurEffect}\n color={tintColor}\n direction={I18nManager.getConstants().isRTL ? 'rtl' : 'ltr'}\n disableBackButtonMenu={headerBackButtonMenuEnabled === false}\n hidden={headerShown === false}\n hideBackButton={headerBackVisible === false}\n hideShadow={\n headerShadowVisible === false ||\n headerBackground != null ||\n (headerTransparent && headerShadowVisible !== true)\n }\n largeTitle={headerLargeTitle}\n largeTitleBackgroundColor={headerLargeStyleFlattened.backgroundColor}\n largeTitleColor={headerLargeTitleStyleFlattened.color}\n largeTitleFontFamily={largeTitleFontFamily}\n largeTitleFontSize={headerLargeTitleStyleFlattened.fontSize}\n largeTitleFontWeight={headerLargeTitleStyleFlattened.fontWeight}\n largeTitleHideShadow={headerLargeTitleShadowVisible === false}\n title={titleText}\n titleColor={titleColor}\n titleFontFamily={titleFontFamily}\n titleFontSize={titleFontSize}\n titleFontWeight={titleFontWeight}\n topInsetEnabled={headerTopInsetEnabled}\n translucent={\n // This defaults to `true`, so we can't pass `undefined`\n translucent === true\n }\n >\n {Platform.OS === 'ios' ? (\n <>\n {headerLeftElement != null ? (\n <ScreenStackHeaderLeftView>\n {headerLeftElement}\n </ScreenStackHeaderLeftView>\n ) : null}\n {headerTitleElement != null ? (\n <ScreenStackHeaderCenterView>\n {headerTitleElement}\n </ScreenStackHeaderCenterView>\n ) : null}\n </>\n ) : (\n <>\n {headerLeftElement != null || typeof headerTitle === 'function' ? (\n <ScreenStackHeaderLeftView>\n <View style={styles.row}>\n {headerLeftElement}\n {headerTitleAlign !== 'center' ? (\n typeof headerTitle === 'function' ? (\n headerTitleElement\n ) : (\n <HeaderTitle\n tintColor={tintColor}\n style={headerTitleStyleSupported}\n >\n {titleText}\n </HeaderTitle>\n )\n ) : null}\n </View>\n </ScreenStackHeaderLeftView>\n ) : null}\n {headerTitleAlign === 'center' ? (\n <ScreenStackHeaderCenterView>\n {typeof headerTitle === 'function' ? (\n headerTitleElement\n ) : (\n <HeaderTitle\n tintColor={tintColor}\n style={headerTitleStyleSupported}\n >\n {titleText}\n </HeaderTitle>\n )}\n </ScreenStackHeaderCenterView>\n ) : null}\n </>\n )}\n {headerBackImageSource !== undefined ? (\n <ScreenStackHeaderBackButtonImage source={headerBackImageSource} />\n ) : null}\n {headerRightElement != null ? (\n <ScreenStackHeaderRightView>\n {headerRightElement}\n </ScreenStackHeaderRightView>\n ) : null}\n {hasHeaderSearchBar ? (\n <ScreenStackHeaderSearchBarView>\n <SearchBar {...headerSearchBarOptions} />\n </ScreenStackHeaderSearchBarView>\n ) : null}\n </ScreenStackHeaderConfig>\n </>\n );\n}\n\nconst styles = StyleSheet.create({\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n translucent: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n zIndex: 1,\n },\n background: {\n overflow: 'hidden',\n },\n});\n"],"mappings":"AAAA,SAASA,cAAT,EAAyBC,WAAzB,QAA4C,4BAA5C;AACA,SAAgBC,QAAhB,QAAgC,0BAAhC;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,SACEC,WADF,EAEEC,QAFF,EAGEC,UAHF,EAKEC,IALF,QAMO,cANP;AAOA,SACEC,sCADF,EAEEC,gCAFF,EAGEC,2BAHF,EAIEC,uBAJF,EAKEC,yBALF,EAMEC,0BANF,EAOEC,8BAPF,EAQEC,SARF,QASO,sBATP;AAYA,SAASC,YAAT,QAA6B,iBAA7B;AASA,eAAe,SAASC,YAAT,OA6BQ;EAAA;;EAAA,IA7Bc;IACnCC,YADmC;IAEnCC,qBAFmC;IAGnCC,2BAHmC;IAInCC,eAJmC;IAKnCC,oBALmC;IAMnCC,sBAAsB,GAAG,IANU;IAOnCC,iBAPmC;IAQnCC,mBARmC;IASnCC,gBATmC;IAUnCC,gBAVmC;IAWnCC,6BAXmC;IAYnCC,qBAZmC;IAanCC,gBAbmC;IAcnCC,UAdmC;IAenCC,WAfmC;IAgBnCC,WAhBmC;IAiBnCC,WAjBmC;IAkBnCC,gBAlBmC;IAmBnCC,eAnBmC;IAoBnCC,WApBmC;IAqBnCC,gBArBmC;IAsBnCC,gBAtBmC;IAuBnCC,iBAvBmC;IAwBnCC,sBAxBmC;IAyBnCC,qBAzBmC;IA0BnCC,KA1BmC;IA2BnCC,KA3BmC;IA4BnCC;EA5BmC,CA6Bd;EACrB,MAAM;IAAEC;EAAF,IAAa5C,QAAQ,EAA3B;EACA,MAAM6C,SAAS,GACbX,eADa,aACbA,eADa,cACbA,eADa,GACO/B,QAAQ,CAAC2C,EAAT,KAAgB,KAAhB,GAAwBF,MAAM,CAACG,OAA/B,GAAyCH,MAAM,CAACI,IADtE;EAGA,MAAMC,6BAA6B,GACjC7C,UAAU,CAAC8C,OAAX,CAAmB9B,oBAAnB,KAA4C,EAD9C;EAEA,MAAM+B,8BAA8B,GAClC/C,UAAU,CAAC8C,OAAX,CAAmBvB,qBAAnB,KAA6C,EAD/C;EAEA,MAAMyB,yBAAyB,GAAGhD,UAAU,CAAC8C,OAAX,CAAmBb,gBAAnB,KAAwC,EAA1E;EACA,MAAMgB,oBAAoB,GAAGjD,UAAU,CAAC8C,OAAX,CAAmBlB,WAAnB,KAAmC,EAAhE;EACA,MAAMsB,yBAAyB,GAAGlD,UAAU,CAAC8C,OAAX,CAAmB1B,gBAAnB,KAAwC,EAA1E;EAEA,MAAM,CAAC+B,mBAAD,EAAsBC,oBAAtB,EAA4CC,eAA5C,IACJ3C,YAAY,CAAC,CACXmC,6BAA6B,CAACS,UADnB,EAEXP,8BAA8B,CAACO,UAFpB,EAGXN,yBAAyB,CAACM,UAHf,CAAD,CADd;EAOA,MAAMC,SAAS,GAAG7D,cAAc,CAAC;IAAE4C,KAAF;IAASP;EAAT,CAAD,EAAyBM,KAAK,CAACmB,IAA/B,CAAhC;EACA,MAAMC,UAAU,qCACdT,yBAAyB,CAACU,KADZ,yEACqB5B,eADrB,yCACwCU,MAAM,CAACI,IAD/D;EAEA,MAAMe,aAAa,GAAGX,yBAAyB,CAACY,QAAhD;EACA,MAAMC,eAAe,GAAGb,yBAAyB,CAACc,UAAlD;EAEA,MAAMC,yBAAoC,GAAG;IAAEL,KAAK,EAAED;EAAT,CAA7C;;EAEA,IAAIT,yBAAyB,CAACM,UAA1B,IAAwC,IAA5C,EAAkD;IAChDS,yBAAyB,CAACT,UAA1B,GAAuCN,yBAAyB,CAACM,UAAjE;EACD;;EAED,IAAIK,aAAa,IAAI,IAArB,EAA2B;IACzBI,yBAAyB,CAACH,QAA1B,GAAqCD,aAArC;EACD;;EAED,IAAIE,eAAe,IAAI,IAAvB,EAA6B;IAC3BE,yBAAyB,CAACD,UAA1B,GAAuCD,eAAvC;EACD;;EAED,MAAMG,iBAAiB,GAAGvC,UAAH,aAAGA,UAAH,uBAAGA,UAAU,CAAG;IACrCgB,SADqC;IAErCF,SAFqC;IAGrC0B,KAAK,EAAElD;EAH8B,CAAH,CAApC;EAKA,MAAMmD,kBAAkB,GAAGxC,WAAH,aAAGA,WAAH,uBAAGA,WAAW,CAAG;IACvCe,SADuC;IAEvCF;EAFuC,CAAH,CAAtC;EAIA,MAAM4B,kBAAkB,GACtB,OAAOpC,WAAP,KAAuB,UAAvB,GACIA,WAAW,CAAC;IACVU,SADU;IAEV2B,QAAQ,EAAEb;EAFA,CAAD,CADf,GAKI,IANN;EAQA,MAAMc,uBAAuB,GAC3B,OAAOnE,sCAAP,KAAkD,SAAlD,GACIA,sCADJ,GAEI;EACAH,QAAQ,CAAC2C,EAAT,KAAgB,KAAhB,IAAyBjC,SAAS,IAAI,IAJ5C;EAMA,MAAM6D,kBAAkB,GACtBD,uBAAuB,IAAIlC,sBAAsB,IAAI,IADvD;;EAGA,IAAIA,sBAAsB,IAAI,IAA1B,IAAkC,CAACkC,uBAAvC,EAAgE;IAC9D,MAAM,IAAIE,KAAJ,CACH,gJADG,CAAN;EAGD;EAED;AACF;AACA;AACA;AACA;;;EACE,MAAMC,sBAAsB,GAAGtD,iBAAiB,GAC5C8C,iBAAiB,IAAI,IADuB,GAE5CjE,QAAQ,CAAC2C,EAAT,KAAgB,SAAhB,IAA6ByB,kBAAkB,IAAI,IAFvD;EAIA,MAAMM,WAAW,GACfjD,gBAAgB,IAAI,IAApB,IACAU,iBADA,IAEA;EACC,CAACoC,kBAAkB,IAAIjD,gBAAvB,KACCtB,QAAQ,CAAC2C,EAAT,KAAgB,KADjB,IAECR,iBAAiB,KAAK,KAN1B;EAQA,oBACE,0CACGV,gBAAgB,IAAI,IAApB,gBACC,oBAAC,IAAD;IACE,KAAK,EAAE,CACLkD,MAAM,CAACC,UADF,EAELzC,iBAAiB,GAAGwC,MAAM,CAACD,WAAV,GAAwB,IAFpC,EAGL;MAAEG,MAAM,EAAEhE;IAAV,CAHK;EADT,GAOGY,gBAAgB,EAPnB,CADD,GAUG,IAXN,eAYE,oBAAC,uBAAD;IACE,sBAAsB,EAAEgD,sBAD1B;IAEE,eAAe,2BACbvB,oBAAoB,CAAC4B,eADR,yEAEZrD,gBAAgB,IAAI,IAApB,IAA4BU,iBAA5B,GACG,aADH,GAEGM,MAAM,CAACsC,IANf;IAQE,SAAS,EAAE7D,sBAAsB,GAAGF,eAAH,GAAqB,GARxD;IASE,mBAAmB,EAAEoC,mBATvB;IAUE,iBAAiB,EAAEN,6BAA6B,CAACe,QAVnD;IAWE,UAAU,EAAE/B,gBAXd;IAYE,KAAK,EAAEY,SAZT;IAaE,SAAS,EAAE3C,WAAW,CAACiF,YAAZ,GAA2BC,KAA3B,GAAmC,KAAnC,GAA2C,KAbxD;IAcE,qBAAqB,EAAElE,2BAA2B,KAAK,KAdzD;IAeE,MAAM,EAAEa,WAAW,KAAK,KAf1B;IAgBE,cAAc,EAAET,iBAAiB,KAAK,KAhBxC;IAiBE,UAAU,EACRC,mBAAmB,KAAK,KAAxB,IACAK,gBAAgB,IAAI,IADpB,IAECU,iBAAiB,IAAIf,mBAAmB,KAAK,IApBlD;IAsBE,UAAU,EAAEE,gBAtBd;IAuBE,yBAAyB,EAAE6B,yBAAyB,CAAC2B,eAvBvD;IAwBE,eAAe,EAAE9B,8BAA8B,CAACW,KAxBlD;IAyBE,oBAAoB,EAAEN,oBAzBxB;IA0BE,kBAAkB,EAAEL,8BAA8B,CAACa,QA1BrD;IA2BE,oBAAoB,EAAEb,8BAA8B,CAACe,UA3BvD;IA4BE,oBAAoB,EAAExC,6BAA6B,KAAK,KA5B1D;IA6BE,KAAK,EAAEiC,SA7BT;IA8BE,UAAU,EAAEE,UA9Bd;IA+BE,eAAe,EAAEJ,eA/BnB;IAgCE,aAAa,EAAEM,aAhCjB;IAiCE,eAAe,EAAEE,eAjCnB;IAkCE,eAAe,EAAEzB,qBAlCnB;IAmCE,WAAW,EACT;IACAqC,WAAW,KAAK;EArCpB,GAwCG1E,QAAQ,CAAC2C,EAAT,KAAgB,KAAhB,gBACC,0CACGsB,iBAAiB,IAAI,IAArB,gBACC,oBAAC,yBAAD,QACGA,iBADH,CADD,GAIG,IALN,EAMGG,kBAAkB,IAAI,IAAtB,gBACC,oBAAC,2BAAD,QACGA,kBADH,CADD,GAIG,IAVN,CADD,gBAcC,0CACGH,iBAAiB,IAAI,IAArB,IAA6B,OAAOjC,WAAP,KAAuB,UAApD,gBACC,oBAAC,yBAAD,qBACE,oBAAC,IAAD;IAAM,KAAK,EAAE2C,MAAM,CAACO;EAApB,GACGjB,iBADH,EAEGhC,gBAAgB,KAAK,QAArB,GACC,OAAOD,WAAP,KAAuB,UAAvB,GACEoC,kBADF,gBAGE,oBAAC,WAAD;IACE,SAAS,EAAE1B,SADb;IAEE,KAAK,EAAEsB;EAFT,GAIGR,SAJH,CAJH,GAWG,IAbN,CADF,CADD,GAkBG,IAnBN,EAoBGvB,gBAAgB,KAAK,QAArB,gBACC,oBAAC,2BAAD,QACG,OAAOD,WAAP,KAAuB,UAAvB,GACCoC,kBADD,gBAGC,oBAAC,WAAD;IACE,SAAS,EAAE1B,SADb;IAEE,KAAK,EAAEsB;EAFT,GAIGR,SAJH,CAJJ,CADD,GAaG,IAjCN,CAtDJ,EA0FG1C,qBAAqB,KAAKqE,SAA1B,gBACC,oBAAC,gCAAD;IAAkC,MAAM,EAAErE;EAA1C,EADD,GAEG,IA5FN,EA6FGqD,kBAAkB,IAAI,IAAtB,gBACC,oBAAC,0BAAD,QACGA,kBADH,CADD,GAIG,IAjGN,EAkGGI,kBAAkB,gBACjB,oBAAC,8BAAD,qBACE,oBAAC,SAAD,EAAenC,sBAAf,CADF,CADiB,GAIf,IAtGN,CAZF,CADF;AAuHD;AAED,MAAMuC,MAAM,GAAG1E,UAAU,CAACmF,MAAX,CAAkB;EAC/BF,GAAG,EAAE;IACHG,aAAa,EAAE,KADZ;IAEHC,UAAU,EAAE;EAFT,CAD0B;EAK/BZ,WAAW,EAAE;IACXa,QAAQ,EAAE,UADC;IAEXC,GAAG,EAAE,CAFM;IAGXC,IAAI,EAAE,CAHK;IAIXC,KAAK,EAAE,CAJI;IAKXC,MAAM,EAAE;EALG,CALkB;EAY/Bf,UAAU,EAAE;IACVgB,QAAQ,EAAE;EADA;AAZmB,CAAlB,CAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["NativeStackView.tsx"],"names":["getHeaderTitle","Header","HeaderBackButton","HeaderBackContext","SafeAreaProviderCompat","Screen","React","Image","StyleSheet","View","TRANSPARENT_PRESENTATIONS","NativeStackView","state","descriptors","parentHeaderBack","useContext","styles","container","routes","map","route","i","isFocused","index","previousKey","key","nextKey","previousDescriptor","undefined","nextDescriptor","options","navigation","render","headerBack","title","name","canGoBack","header","headerShown","headerTintColor","headerBackImageSource","headerLeft","headerRight","headerTitle","headerTitleAlign","headerTitleStyle","headerStyle","headerShadowVisible","headerTransparent","headerBackground","headerBackTitle","presentation","contentStyle","nextPresentation","back","tintColor","label","backImage","goBack","children","absoluteFill","display","includes","backgroundColor","contentContainer","create","flex","height","width","margin","resizeMode"],"mappings":"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","sourcesContent":["import {\n getHeaderTitle,\n Header,\n HeaderBackButton,\n HeaderBackContext,\n SafeAreaProviderCompat,\n Screen,\n} from '@react-navigation/elements';\nimport type {\n ParamListBase,\n StackNavigationState,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Image, StyleSheet, View } from 'react-native';\n\nimport type {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n} from '../types';\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n // This is used for the native implementation of the stack.\n // eslint-disable-next-line react/no-unused-prop-types\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nconst TRANSPARENT_PRESENTATIONS = [\n 'transparentModal',\n 'containedTransparentModal',\n];\n\nexport default function NativeStackView({ state, descriptors }: Props) {\n const parentHeaderBack = React.useContext(HeaderBackContext);\n\n return (\n <SafeAreaProviderCompat>\n <View style={styles.container}>\n {state.routes.map((route, i) => {\n const isFocused = state.index === i;\n const previousKey = state.routes[i - 1]?.key;\n const nextKey = state.routes[i + 1]?.key;\n const previousDescriptor = previousKey\n ? descriptors[previousKey]\n : undefined;\n const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;\n const { options, navigation, render } = descriptors[route.key];\n\n const headerBack = previousDescriptor\n ? {\n title: getHeaderTitle(\n previousDescriptor.options,\n previousDescriptor.route.name\n ),\n }\n : parentHeaderBack;\n\n const canGoBack = headerBack !== undefined;\n\n const {\n header,\n headerShown,\n headerTintColor,\n headerBackImageSource,\n headerLeft,\n headerRight,\n headerTitle,\n headerTitleAlign,\n headerTitleStyle,\n headerStyle,\n headerShadowVisible,\n headerTransparent,\n headerBackground,\n headerBackTitle,\n presentation,\n contentStyle,\n } = options;\n\n const nextPresentation = nextDescriptor?.options.presentation;\n\n return (\n <Screen\n key={route.key}\n focused={isFocused}\n route={route}\n navigation={navigation}\n headerShown={headerShown}\n headerTransparent={headerTransparent}\n header={\n header !== undefined ? (\n header({\n back: headerBack,\n options,\n route,\n navigation,\n })\n ) : (\n <Header\n title={getHeaderTitle(options, route.name)}\n headerTintColor={headerTintColor}\n headerLeft={\n typeof headerLeft === 'function'\n ? ({ tintColor }) =>\n headerLeft({\n tintColor,\n canGoBack,\n label: headerBackTitle,\n })\n : headerLeft === undefined && canGoBack\n ? ({ tintColor }) => (\n <HeaderBackButton\n tintColor={tintColor}\n backImage={\n headerBackImageSource !== undefined\n ? () => (\n <Image\n source={headerBackImageSource}\n style={[\n styles.backImage,\n { tintColor },\n ]}\n />\n )\n : undefined\n }\n onPress={navigation.goBack}\n canGoBack={canGoBack}\n />\n )\n : headerLeft\n }\n headerRight={\n typeof headerRight === 'function'\n ? ({ tintColor }) =>\n headerRight({ tintColor, canGoBack })\n : headerRight\n }\n headerTitle={\n typeof headerTitle === 'function'\n ? ({ children, tintColor }) =>\n headerTitle({ children, tintColor })\n : headerTitle\n }\n headerTitleAlign={headerTitleAlign}\n headerTitleStyle={headerTitleStyle}\n headerTransparent={headerTransparent}\n headerShadowVisible={headerShadowVisible}\n headerBackground={headerBackground}\n headerStyle={headerStyle}\n />\n )\n }\n style={[\n StyleSheet.absoluteFill,\n {\n display:\n isFocused ||\n (nextPresentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(nextPresentation))\n ? 'flex'\n : 'none',\n },\n presentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(presentation)\n ? { backgroundColor: 'transparent' }\n : null,\n ]}\n >\n <HeaderBackContext.Provider value={headerBack}>\n <View style={[styles.contentContainer, contentStyle]}>\n {render()}\n </View>\n </HeaderBackContext.Provider>\n </Screen>\n );\n })}\n </View>\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n contentContainer: {\n flex: 1,\n },\n backImage: {\n height: 24,\n width: 24,\n margin: 3,\n resizeMode: 'contain',\n },\n});\n"]}
1
+ {"version":3,"names":["getHeaderTitle","Header","HeaderBackButton","HeaderBackContext","SafeAreaProviderCompat","Screen","React","Image","StyleSheet","View","TRANSPARENT_PRESENTATIONS","NativeStackView","state","descriptors","parentHeaderBack","useContext","styles","container","routes","map","route","i","isFocused","index","previousKey","key","nextKey","previousDescriptor","undefined","nextDescriptor","options","navigation","render","headerBack","title","name","canGoBack","header","headerShown","headerTintColor","headerBackImageSource","headerLeft","headerRight","headerTitle","headerTitleAlign","headerTitleStyle","headerStyle","headerShadowVisible","headerTransparent","headerBackground","headerBackTitle","presentation","contentStyle","nextPresentation","back","tintColor","label","backImage","goBack","children","absoluteFill","display","includes","backgroundColor","contentContainer","create","flex","height","width","margin","resizeMode"],"sources":["NativeStackView.tsx"],"sourcesContent":["import {\n getHeaderTitle,\n Header,\n HeaderBackButton,\n HeaderBackContext,\n SafeAreaProviderCompat,\n Screen,\n} from '@react-navigation/elements';\nimport type {\n ParamListBase,\n StackNavigationState,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Image, StyleSheet, View } from 'react-native';\n\nimport type {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n} from '../types';\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n // This is used for the native implementation of the stack.\n // eslint-disable-next-line react/no-unused-prop-types\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nconst TRANSPARENT_PRESENTATIONS = [\n 'transparentModal',\n 'containedTransparentModal',\n];\n\nexport default function NativeStackView({ state, descriptors }: Props) {\n const parentHeaderBack = React.useContext(HeaderBackContext);\n\n return (\n <SafeAreaProviderCompat>\n <View style={styles.container}>\n {state.routes.map((route, i) => {\n const isFocused = state.index === i;\n const previousKey = state.routes[i - 1]?.key;\n const nextKey = state.routes[i + 1]?.key;\n const previousDescriptor = previousKey\n ? descriptors[previousKey]\n : undefined;\n const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;\n const { options, navigation, render } = descriptors[route.key];\n\n const headerBack = previousDescriptor\n ? {\n title: getHeaderTitle(\n previousDescriptor.options,\n previousDescriptor.route.name\n ),\n }\n : parentHeaderBack;\n\n const canGoBack = headerBack !== undefined;\n\n const {\n header,\n headerShown,\n headerTintColor,\n headerBackImageSource,\n headerLeft,\n headerRight,\n headerTitle,\n headerTitleAlign,\n headerTitleStyle,\n headerStyle,\n headerShadowVisible,\n headerTransparent,\n headerBackground,\n headerBackTitle,\n presentation,\n contentStyle,\n } = options;\n\n const nextPresentation = nextDescriptor?.options.presentation;\n\n return (\n <Screen\n key={route.key}\n focused={isFocused}\n route={route}\n navigation={navigation}\n headerShown={headerShown}\n headerTransparent={headerTransparent}\n header={\n header !== undefined ? (\n header({\n back: headerBack,\n options,\n route,\n navigation,\n })\n ) : (\n <Header\n title={getHeaderTitle(options, route.name)}\n headerTintColor={headerTintColor}\n headerLeft={\n typeof headerLeft === 'function'\n ? ({ tintColor }) =>\n headerLeft({\n tintColor,\n canGoBack,\n label: headerBackTitle,\n })\n : headerLeft === undefined && canGoBack\n ? ({ tintColor }) => (\n <HeaderBackButton\n tintColor={tintColor}\n backImage={\n headerBackImageSource !== undefined\n ? () => (\n <Image\n source={headerBackImageSource}\n style={[\n styles.backImage,\n { tintColor },\n ]}\n />\n )\n : undefined\n }\n onPress={navigation.goBack}\n canGoBack={canGoBack}\n />\n )\n : headerLeft\n }\n headerRight={\n typeof headerRight === 'function'\n ? ({ tintColor }) =>\n headerRight({ tintColor, canGoBack })\n : headerRight\n }\n headerTitle={\n typeof headerTitle === 'function'\n ? ({ children, tintColor }) =>\n headerTitle({ children, tintColor })\n : headerTitle\n }\n headerTitleAlign={headerTitleAlign}\n headerTitleStyle={headerTitleStyle}\n headerTransparent={headerTransparent}\n headerShadowVisible={headerShadowVisible}\n headerBackground={headerBackground}\n headerStyle={headerStyle}\n />\n )\n }\n style={[\n StyleSheet.absoluteFill,\n {\n display:\n isFocused ||\n (nextPresentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(nextPresentation))\n ? 'flex'\n : 'none',\n },\n presentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(presentation)\n ? { backgroundColor: 'transparent' }\n : null,\n ]}\n >\n <HeaderBackContext.Provider value={headerBack}>\n <View style={[styles.contentContainer, contentStyle]}>\n {render()}\n </View>\n </HeaderBackContext.Provider>\n </Screen>\n );\n })}\n </View>\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n contentContainer: {\n flex: 1,\n },\n backImage: {\n height: 24,\n width: 24,\n margin: 3,\n resizeMode: 'contain',\n },\n});\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- 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); }
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
2
2
 
3
3
  import { getDefaultHeaderHeight, getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext, SafeAreaProviderCompat } from '@react-navigation/elements';
4
4
  import { NavigationContext, NavigationRouteContext, StackActions, usePreventRemoveContext, useTheme } from '@react-navigation/native';
@@ -64,10 +64,11 @@ const SceneView = _ref2 => {
64
64
  var _preventedRoutes$rout;
65
65
 
66
66
  let {
67
+ index,
68
+ focused,
67
69
  descriptor,
68
70
  previousDescriptor,
69
71
  nextDescriptor,
70
- index,
71
72
  onWillDisappear,
72
73
  onAppear,
73
74
  onDisappear,
@@ -143,7 +144,7 @@ const SceneView = _ref2 => {
143
144
 
144
145
  const isModal = presentation === 'modal' || presentation === 'formSheet'; // Modals are fullscreen in landscape only on iPhone
145
146
 
146
- const isIPhone = Platform.OS === 'ios' && !(Platform.isPad || Platform.isTVOS);
147
+ const isIPhone = Platform.OS === 'ios' && !(Platform.isPad || Platform.isTV);
147
148
  const isLandscape = frame.width > frame.height;
148
149
  const isParentHeaderShown = React.useContext(HeaderShownContext);
149
150
  const parentHeaderHeight = React.useContext(HeaderHeightContext);
@@ -214,6 +215,8 @@ const SceneView = _ref2 => {
214
215
  headerTopInsetEnabled: headerTopInsetEnabled,
215
216
  canGoBack: headerBack !== undefined
216
217
  })), /*#__PURE__*/React.createElement(View, {
218
+ accessibilityElementsHidden: !focused,
219
+ importantForAccessibility: focused ? 'auto' : 'no-hide-descendants',
217
220
  style: styles.scene
218
221
  }, /*#__PURE__*/React.createElement(MaybeNestedStack, {
219
222
  options: options,
@@ -252,6 +255,7 @@ function NativeStackViewInner(_ref3) {
252
255
  var _state$routes, _state$routes2;
253
256
 
254
257
  const descriptor = descriptors[route.key];
258
+ const isFocused = state.index === index;
255
259
  const previousKey = (_state$routes = state.routes[index - 1]) === null || _state$routes === void 0 ? void 0 : _state$routes.key;
256
260
  const nextKey = (_state$routes2 = state.routes[index + 1]) === null || _state$routes2 === void 0 ? void 0 : _state$routes2.key;
257
261
  const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
@@ -259,6 +263,7 @@ function NativeStackViewInner(_ref3) {
259
263
  return /*#__PURE__*/React.createElement(SceneView, {
260
264
  key: route.key,
261
265
  index: index,
266
+ focused: isFocused,
262
267
  descriptor: descriptor,
263
268
  previousDescriptor: previousDescriptor,
264
269
  nextDescriptor: nextDescriptor,
@@ -1 +1 @@
1
- {"version":3,"sources":["NativeStackView.native.tsx"],"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Platform","StyleSheet","View","useSafeAreaFrame","useSafeAreaInsets","Screen","ScreenStack","warnOnce","useDismissedRouteError","useInvalidPreventRemoveError","DebugContainer","HeaderConfig","isAndroid","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","absoluteFill","SceneView","descriptor","previousDescriptor","nextDescriptor","index","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","frame","isModal","isIPhone","isPad","isTVOS","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","preventedRoutes","defaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","isRemovePrevented","key","preventRemove","headerBackTitle","scene","e","nativeEvent","layout","absolute","back","NativeStackViewInner","state","descriptors","setNextDismissedKey","routes","map","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right"],"mappings":"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","sourcesContent":["import {\n getDefaultHeaderHeight,\n getHeaderTitle,\n HeaderBackContext,\n HeaderHeightContext,\n HeaderShownContext,\n SafeAreaProviderCompat,\n} from '@react-navigation/elements';\nimport {\n NavigationContext,\n NavigationRouteContext,\n ParamListBase,\n Route,\n StackActions,\n StackNavigationState,\n usePreventRemoveContext,\n useTheme,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Platform, StyleSheet, View } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\nimport type { ScreenProps } from 'react-native-screens';\nimport {\n Screen,\n ScreenStack,\n StackPresentationTypes,\n} from 'react-native-screens';\nimport warnOnce from 'warn-once';\n\nimport type {\n NativeStackDescriptor,\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n NativeStackNavigationOptions,\n} from '../types';\nimport useDismissedRouteError from '../utils/useDismissedRouteError';\nimport useInvalidPreventRemoveError from '../utils/useInvalidPreventRemoveError';\nimport DebugContainer from './DebugContainer';\nimport HeaderConfig from './HeaderConfig';\n\nconst isAndroid = Platform.OS === 'android';\n\nconst MaybeNestedStack = ({\n options,\n route,\n presentation,\n headerHeight,\n headerTopInsetEnabled,\n children,\n}: {\n options: NativeStackNavigationOptions;\n route: Route<string>;\n presentation: Exclude<StackPresentationTypes, 'push'> | 'card';\n headerHeight: number;\n headerTopInsetEnabled: boolean;\n children: React.ReactNode;\n}) => {\n const { colors } = useTheme();\n const { header, headerShown = true, contentStyle } = options;\n\n const isHeaderInModal = isAndroid\n ? false\n : presentation !== 'card' && headerShown === true && header === undefined;\n\n const headerShownPreviousRef = React.useRef(headerShown);\n\n React.useEffect(() => {\n warnOnce(\n !isAndroid &&\n presentation !== 'card' &&\n headerShownPreviousRef.current !== headerShown,\n `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`\n );\n\n headerShownPreviousRef.current = headerShown;\n }, [headerShown, presentation, route.name]);\n\n const content = (\n <DebugContainer\n style={[\n styles.container,\n presentation !== 'transparentModal' &&\n presentation !== 'containedTransparentModal' && {\n backgroundColor: colors.background,\n },\n contentStyle,\n ]}\n stackPresentation={presentation === 'card' ? 'push' : presentation}\n >\n {children}\n </DebugContainer>\n );\n\n if (isHeaderInModal) {\n return (\n <ScreenStack style={styles.container}>\n <Screen enabled style={StyleSheet.absoluteFill}>\n <HeaderConfig\n {...options}\n route={route}\n headerHeight={headerHeight}\n headerTopInsetEnabled={headerTopInsetEnabled}\n canGoBack\n />\n {content}\n </Screen>\n </ScreenStack>\n );\n }\n\n return content;\n};\n\ntype SceneViewProps = {\n index: number;\n descriptor: NativeStackDescriptor;\n previousDescriptor?: NativeStackDescriptor;\n nextDescriptor?: NativeStackDescriptor;\n onWillDisappear: () => void;\n onAppear: () => void;\n onDisappear: () => void;\n onDismissed: ScreenProps['onDismissed'];\n onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked'];\n onNativeDismissCancelled: ScreenProps['onDismissed'];\n};\n\nconst SceneView = ({\n descriptor,\n previousDescriptor,\n nextDescriptor,\n index,\n onWillDisappear,\n onAppear,\n onDisappear,\n onDismissed,\n onHeaderBackButtonClicked,\n onNativeDismissCancelled,\n}: SceneViewProps) => {\n const { route, navigation, options, render } = descriptor;\n const {\n animationDuration,\n animationTypeForReplace = 'push',\n gestureEnabled,\n header,\n headerBackButtonMenuEnabled,\n headerShown,\n headerTransparent,\n autoHideHomeIndicator,\n navigationBarColor,\n navigationBarHidden,\n orientation,\n statusBarAnimation,\n statusBarHidden,\n statusBarStyle,\n statusBarTranslucent,\n statusBarColor,\n freezeOnBlur,\n } = options;\n\n let {\n animation,\n customAnimationOnGesture,\n fullScreenGestureEnabled,\n presentation = 'card',\n gestureDirection = presentation === 'card' ? 'horizontal' : 'vertical',\n } = options;\n\n if (gestureDirection === 'vertical' && Platform.OS === 'ios') {\n // for `vertical` direction to work, we need to set `fullScreenGestureEnabled` to `true`\n // so the screen can be dismissed from any point on screen.\n // `customAnimationOnGesture` needs to be set to `true` so the `animation` set by user can be used,\n // otherwise `simple_push` will be used.\n // Also, the default animation for this direction seems to be `slide_from_bottom`.\n if (fullScreenGestureEnabled === undefined) {\n fullScreenGestureEnabled = true;\n }\n if (customAnimationOnGesture === undefined) {\n customAnimationOnGesture = true;\n }\n if (animation === undefined) {\n animation = 'slide_from_bottom';\n }\n }\n\n // workaround for rn-screens where gestureDirection has to be set on both\n // current and previous screen - software-mansion/react-native-screens/pull/1509\n const nextGestureDirection = nextDescriptor?.options.gestureDirection;\n const gestureDirectionOverride =\n nextGestureDirection != null ? nextGestureDirection : gestureDirection;\n\n if (index === 0) {\n // first screen should always be treated as `card`, it resolves problems with no header animation\n // for navigator with first screen as `modal` and the next as `card`\n presentation = 'card';\n }\n\n const insets = useSafeAreaInsets();\n const frame = useSafeAreaFrame();\n\n // `modal` and `formSheet` presentations do not take whole screen, so should not take the inset.\n const isModal = presentation === 'modal' || presentation === 'formSheet';\n\n // Modals are fullscreen in landscape only on iPhone\n const isIPhone =\n Platform.OS === 'ios' && !(Platform.isPad || Platform.isTVOS);\n const isLandscape = frame.width > frame.height;\n\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n const parentHeaderBack = React.useContext(HeaderBackContext);\n\n const topInset =\n isParentHeaderShown ||\n (Platform.OS === 'ios' && isModal) ||\n (isIPhone && isLandscape)\n ? 0\n : insets.top;\n\n const { preventedRoutes } = usePreventRemoveContext();\n\n const defaultHeaderHeight = getDefaultHeaderHeight(frame, isModal, topInset);\n\n const [customHeaderHeight, setCustomHeaderHeight] =\n React.useState(defaultHeaderHeight);\n\n const headerTopInsetEnabled = topInset !== 0;\n const headerHeight = header ? customHeaderHeight : defaultHeaderHeight;\n const headerBack = previousDescriptor\n ? {\n title: getHeaderTitle(\n previousDescriptor.options,\n previousDescriptor.route.name\n ),\n }\n : parentHeaderBack;\n\n const isRemovePrevented = preventedRoutes[route.key]?.preventRemove;\n\n return (\n <Screen\n key={route.key}\n enabled\n style={StyleSheet.absoluteFill}\n customAnimationOnSwipe={customAnimationOnGesture}\n fullScreenSwipeEnabled={fullScreenGestureEnabled}\n gestureEnabled={\n isAndroid\n ? // This prop enables handling of system back gestures on Android\n // Since we handle them in JS side, we disable this\n false\n : gestureEnabled\n }\n homeIndicatorHidden={autoHideHomeIndicator}\n navigationBarColor={navigationBarColor}\n navigationBarHidden={navigationBarHidden}\n replaceAnimation={animationTypeForReplace}\n stackPresentation={presentation === 'card' ? 'push' : presentation}\n stackAnimation={animation}\n screenOrientation={orientation}\n statusBarAnimation={statusBarAnimation}\n statusBarHidden={statusBarHidden}\n statusBarStyle={statusBarStyle}\n statusBarColor={statusBarColor}\n statusBarTranslucent={statusBarTranslucent}\n swipeDirection={gestureDirectionOverride}\n transitionDuration={animationDuration}\n onWillDisappear={onWillDisappear}\n onAppear={onAppear}\n onDisappear={onDisappear}\n onDismissed={onDismissed}\n isNativeStack\n nativeBackButtonDismissalEnabled={false} // on Android\n onHeaderBackButtonClicked={onHeaderBackButtonClicked}\n // @ts-ignore props not exported from rn-screens\n preventNativeDismiss={isRemovePrevented} // on iOS\n onNativeDismissCancelled={onNativeDismissCancelled}\n // this prop is available since rn-screens 3.16\n freezeOnBlur={freezeOnBlur}\n >\n <NavigationContext.Provider value={navigation}>\n <NavigationRouteContext.Provider value={route}>\n <HeaderShownContext.Provider\n value={isParentHeaderShown || headerShown !== false}\n >\n <HeaderHeightContext.Provider\n value={\n headerShown !== false ? headerHeight : parentHeaderHeight ?? 0\n }\n >\n {/**\n * `HeaderConfig` needs to be the direct child of `Screen` without any intermediate `View`\n * We don't render it conditionally to make it possible to dynamically render a custom `header`\n * Otherwise dynamically rendering a custom `header` leaves the native header visible\n *\n * https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md#screenstackheaderconfig\n */}\n <HeaderConfig\n {...options}\n route={route}\n headerBackButtonMenuEnabled={\n isRemovePrevented !== undefined\n ? !isRemovePrevented\n : headerBackButtonMenuEnabled\n }\n headerShown={header !== undefined ? false : headerShown}\n headerHeight={headerHeight}\n headerBackTitle={\n options.headerBackTitle !== undefined\n ? options.headerBackTitle\n : undefined\n }\n headerTopInsetEnabled={headerTopInsetEnabled}\n canGoBack={headerBack !== undefined}\n />\n <View style={styles.scene}>\n <MaybeNestedStack\n options={options}\n route={route}\n presentation={presentation}\n headerHeight={headerHeight}\n headerTopInsetEnabled={headerTopInsetEnabled}\n >\n <HeaderBackContext.Provider value={headerBack}>\n {render()}\n </HeaderBackContext.Provider>\n </MaybeNestedStack>\n {header !== undefined && headerShown !== false ? (\n <View\n onLayout={(e) => {\n setCustomHeaderHeight(e.nativeEvent.layout.height);\n }}\n style={headerTransparent ? styles.absolute : null}\n >\n {header({\n back: headerBack,\n options,\n route,\n navigation,\n })}\n </View>\n ) : null}\n </View>\n </HeaderHeightContext.Provider>\n </HeaderShownContext.Provider>\n </NavigationRouteContext.Provider>\n </NavigationContext.Provider>\n </Screen>\n );\n};\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nfunction NativeStackViewInner({ state, navigation, descriptors }: Props) {\n const { setNextDismissedKey } = useDismissedRouteError(state);\n\n useInvalidPreventRemoveError(descriptors);\n\n return (\n <ScreenStack style={styles.container}>\n {state.routes.map((route, index) => {\n const descriptor = descriptors[route.key];\n const previousKey = state.routes[index - 1]?.key;\n const nextKey = state.routes[index + 1]?.key;\n const previousDescriptor = previousKey\n ? descriptors[previousKey]\n : undefined;\n const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;\n\n return (\n <SceneView\n key={route.key}\n index={index}\n descriptor={descriptor}\n previousDescriptor={previousDescriptor}\n nextDescriptor={nextDescriptor}\n onWillDisappear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: true },\n target: route.key,\n });\n }}\n onAppear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: false },\n target: route.key,\n });\n }}\n onDisappear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: true },\n target: route.key,\n });\n }}\n onDismissed={(event) => {\n navigation.dispatch({\n ...StackActions.pop(event.nativeEvent.dismissCount),\n source: route.key,\n target: state.key,\n });\n\n setNextDismissedKey(route.key);\n }}\n onHeaderBackButtonClicked={() => {\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n target: state.key,\n });\n }}\n onNativeDismissCancelled={(event) => {\n navigation.dispatch({\n ...StackActions.pop(event.nativeEvent.dismissCount),\n source: route.key,\n target: state.key,\n });\n }}\n />\n );\n })}\n </ScreenStack>\n );\n}\n\nexport default function NativeStackView(props: Props) {\n return (\n <SafeAreaProviderCompat>\n <NativeStackViewInner {...props} />\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n scene: {\n flex: 1,\n flexDirection: 'column-reverse',\n },\n absolute: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n"]}
1
+ {"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Platform","StyleSheet","View","useSafeAreaFrame","useSafeAreaInsets","Screen","ScreenStack","warnOnce","useDismissedRouteError","useInvalidPreventRemoveError","DebugContainer","HeaderConfig","isAndroid","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","frame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","preventedRoutes","defaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","isRemovePrevented","key","preventRemove","headerBackTitle","scene","e","nativeEvent","layout","absolute","back","NativeStackViewInner","state","descriptors","setNextDismissedKey","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right"],"sources":["NativeStackView.native.tsx"],"sourcesContent":["import {\n getDefaultHeaderHeight,\n getHeaderTitle,\n HeaderBackContext,\n HeaderHeightContext,\n HeaderShownContext,\n SafeAreaProviderCompat,\n} from '@react-navigation/elements';\nimport {\n NavigationContext,\n NavigationRouteContext,\n ParamListBase,\n Route,\n StackActions,\n StackNavigationState,\n usePreventRemoveContext,\n useTheme,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Platform, StyleSheet, View } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\nimport type { ScreenProps } from 'react-native-screens';\nimport {\n Screen,\n ScreenStack,\n StackPresentationTypes,\n} from 'react-native-screens';\nimport warnOnce from 'warn-once';\n\nimport type {\n NativeStackDescriptor,\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n NativeStackNavigationOptions,\n} from '../types';\nimport useDismissedRouteError from '../utils/useDismissedRouteError';\nimport useInvalidPreventRemoveError from '../utils/useInvalidPreventRemoveError';\nimport DebugContainer from './DebugContainer';\nimport HeaderConfig from './HeaderConfig';\n\nconst isAndroid = Platform.OS === 'android';\n\nconst MaybeNestedStack = ({\n options,\n route,\n presentation,\n headerHeight,\n headerTopInsetEnabled,\n children,\n}: {\n options: NativeStackNavigationOptions;\n route: Route<string>;\n presentation: Exclude<StackPresentationTypes, 'push'> | 'card';\n headerHeight: number;\n headerTopInsetEnabled: boolean;\n children: React.ReactNode;\n}) => {\n const { colors } = useTheme();\n const { header, headerShown = true, contentStyle } = options;\n\n const isHeaderInModal = isAndroid\n ? false\n : presentation !== 'card' && headerShown === true && header === undefined;\n\n const headerShownPreviousRef = React.useRef(headerShown);\n\n React.useEffect(() => {\n warnOnce(\n !isAndroid &&\n presentation !== 'card' &&\n headerShownPreviousRef.current !== headerShown,\n `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`\n );\n\n headerShownPreviousRef.current = headerShown;\n }, [headerShown, presentation, route.name]);\n\n const content = (\n <DebugContainer\n style={[\n styles.container,\n presentation !== 'transparentModal' &&\n presentation !== 'containedTransparentModal' && {\n backgroundColor: colors.background,\n },\n contentStyle,\n ]}\n stackPresentation={presentation === 'card' ? 'push' : presentation}\n >\n {children}\n </DebugContainer>\n );\n\n if (isHeaderInModal) {\n return (\n <ScreenStack style={styles.container}>\n <Screen enabled style={StyleSheet.absoluteFill}>\n <HeaderConfig\n {...options}\n route={route}\n headerHeight={headerHeight}\n headerTopInsetEnabled={headerTopInsetEnabled}\n canGoBack\n />\n {content}\n </Screen>\n </ScreenStack>\n );\n }\n\n return content;\n};\n\ntype SceneViewProps = {\n index: number;\n focused: boolean;\n descriptor: NativeStackDescriptor;\n previousDescriptor?: NativeStackDescriptor;\n nextDescriptor?: NativeStackDescriptor;\n onWillDisappear: () => void;\n onAppear: () => void;\n onDisappear: () => void;\n onDismissed: ScreenProps['onDismissed'];\n onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked'];\n onNativeDismissCancelled: ScreenProps['onDismissed'];\n};\n\nconst SceneView = ({\n index,\n focused,\n descriptor,\n previousDescriptor,\n nextDescriptor,\n onWillDisappear,\n onAppear,\n onDisappear,\n onDismissed,\n onHeaderBackButtonClicked,\n onNativeDismissCancelled,\n}: SceneViewProps) => {\n const { route, navigation, options, render } = descriptor;\n const {\n animationDuration,\n animationTypeForReplace = 'push',\n gestureEnabled,\n header,\n headerBackButtonMenuEnabled,\n headerShown,\n headerTransparent,\n autoHideHomeIndicator,\n navigationBarColor,\n navigationBarHidden,\n orientation,\n statusBarAnimation,\n statusBarHidden,\n statusBarStyle,\n statusBarTranslucent,\n statusBarColor,\n freezeOnBlur,\n } = options;\n\n let {\n animation,\n customAnimationOnGesture,\n fullScreenGestureEnabled,\n presentation = 'card',\n gestureDirection = presentation === 'card' ? 'horizontal' : 'vertical',\n } = options;\n\n if (gestureDirection === 'vertical' && Platform.OS === 'ios') {\n // for `vertical` direction to work, we need to set `fullScreenGestureEnabled` to `true`\n // so the screen can be dismissed from any point on screen.\n // `customAnimationOnGesture` needs to be set to `true` so the `animation` set by user can be used,\n // otherwise `simple_push` will be used.\n // Also, the default animation for this direction seems to be `slide_from_bottom`.\n if (fullScreenGestureEnabled === undefined) {\n fullScreenGestureEnabled = true;\n }\n if (customAnimationOnGesture === undefined) {\n customAnimationOnGesture = true;\n }\n if (animation === undefined) {\n animation = 'slide_from_bottom';\n }\n }\n\n // workaround for rn-screens where gestureDirection has to be set on both\n // current and previous screen - software-mansion/react-native-screens/pull/1509\n const nextGestureDirection = nextDescriptor?.options.gestureDirection;\n const gestureDirectionOverride =\n nextGestureDirection != null ? nextGestureDirection : gestureDirection;\n\n if (index === 0) {\n // first screen should always be treated as `card`, it resolves problems with no header animation\n // for navigator with first screen as `modal` and the next as `card`\n presentation = 'card';\n }\n\n const insets = useSafeAreaInsets();\n const frame = useSafeAreaFrame();\n\n // `modal` and `formSheet` presentations do not take whole screen, so should not take the inset.\n const isModal = presentation === 'modal' || presentation === 'formSheet';\n\n // Modals are fullscreen in landscape only on iPhone\n const isIPhone = Platform.OS === 'ios' && !(Platform.isPad || Platform.isTV);\n const isLandscape = frame.width > frame.height;\n\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n const parentHeaderBack = React.useContext(HeaderBackContext);\n\n const topInset =\n isParentHeaderShown ||\n (Platform.OS === 'ios' && isModal) ||\n (isIPhone && isLandscape)\n ? 0\n : insets.top;\n\n const { preventedRoutes } = usePreventRemoveContext();\n\n const defaultHeaderHeight = getDefaultHeaderHeight(frame, isModal, topInset);\n\n const [customHeaderHeight, setCustomHeaderHeight] =\n React.useState(defaultHeaderHeight);\n\n const headerTopInsetEnabled = topInset !== 0;\n const headerHeight = header ? customHeaderHeight : defaultHeaderHeight;\n const headerBack = previousDescriptor\n ? {\n title: getHeaderTitle(\n previousDescriptor.options,\n previousDescriptor.route.name\n ),\n }\n : parentHeaderBack;\n\n const isRemovePrevented = preventedRoutes[route.key]?.preventRemove;\n\n return (\n <Screen\n key={route.key}\n enabled\n style={StyleSheet.absoluteFill}\n customAnimationOnSwipe={customAnimationOnGesture}\n fullScreenSwipeEnabled={fullScreenGestureEnabled}\n gestureEnabled={\n isAndroid\n ? // This prop enables handling of system back gestures on Android\n // Since we handle them in JS side, we disable this\n false\n : gestureEnabled\n }\n homeIndicatorHidden={autoHideHomeIndicator}\n navigationBarColor={navigationBarColor}\n navigationBarHidden={navigationBarHidden}\n replaceAnimation={animationTypeForReplace}\n stackPresentation={presentation === 'card' ? 'push' : presentation}\n stackAnimation={animation}\n screenOrientation={orientation}\n statusBarAnimation={statusBarAnimation}\n statusBarHidden={statusBarHidden}\n statusBarStyle={statusBarStyle}\n statusBarColor={statusBarColor}\n statusBarTranslucent={statusBarTranslucent}\n swipeDirection={gestureDirectionOverride}\n transitionDuration={animationDuration}\n onWillDisappear={onWillDisappear}\n onAppear={onAppear}\n onDisappear={onDisappear}\n onDismissed={onDismissed}\n isNativeStack\n nativeBackButtonDismissalEnabled={false} // on Android\n onHeaderBackButtonClicked={onHeaderBackButtonClicked}\n // @ts-ignore props not exported from rn-screens\n preventNativeDismiss={isRemovePrevented} // on iOS\n onNativeDismissCancelled={onNativeDismissCancelled}\n // this prop is available since rn-screens 3.16\n freezeOnBlur={freezeOnBlur}\n >\n <NavigationContext.Provider value={navigation}>\n <NavigationRouteContext.Provider value={route}>\n <HeaderShownContext.Provider\n value={isParentHeaderShown || headerShown !== false}\n >\n <HeaderHeightContext.Provider\n value={\n headerShown !== false ? headerHeight : parentHeaderHeight ?? 0\n }\n >\n {/**\n * `HeaderConfig` needs to be the direct child of `Screen` without any intermediate `View`\n * We don't render it conditionally to make it possible to dynamically render a custom `header`\n * Otherwise dynamically rendering a custom `header` leaves the native header visible\n *\n * https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md#screenstackheaderconfig\n */}\n <HeaderConfig\n {...options}\n route={route}\n headerBackButtonMenuEnabled={\n isRemovePrevented !== undefined\n ? !isRemovePrevented\n : headerBackButtonMenuEnabled\n }\n headerShown={header !== undefined ? false : headerShown}\n headerHeight={headerHeight}\n headerBackTitle={\n options.headerBackTitle !== undefined\n ? options.headerBackTitle\n : undefined\n }\n headerTopInsetEnabled={headerTopInsetEnabled}\n canGoBack={headerBack !== undefined}\n />\n <View\n accessibilityElementsHidden={!focused}\n importantForAccessibility={\n focused ? 'auto' : 'no-hide-descendants'\n }\n style={styles.scene}\n >\n <MaybeNestedStack\n options={options}\n route={route}\n presentation={presentation}\n headerHeight={headerHeight}\n headerTopInsetEnabled={headerTopInsetEnabled}\n >\n <HeaderBackContext.Provider value={headerBack}>\n {render()}\n </HeaderBackContext.Provider>\n </MaybeNestedStack>\n {header !== undefined && headerShown !== false ? (\n <View\n onLayout={(e) => {\n setCustomHeaderHeight(e.nativeEvent.layout.height);\n }}\n style={headerTransparent ? styles.absolute : null}\n >\n {header({\n back: headerBack,\n options,\n route,\n navigation,\n })}\n </View>\n ) : null}\n </View>\n </HeaderHeightContext.Provider>\n </HeaderShownContext.Provider>\n </NavigationRouteContext.Provider>\n </NavigationContext.Provider>\n </Screen>\n );\n};\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nfunction NativeStackViewInner({ state, navigation, descriptors }: Props) {\n const { setNextDismissedKey } = useDismissedRouteError(state);\n\n useInvalidPreventRemoveError(descriptors);\n\n return (\n <ScreenStack style={styles.container}>\n {state.routes.map((route, index) => {\n const descriptor = descriptors[route.key];\n const isFocused = state.index === index;\n const previousKey = state.routes[index - 1]?.key;\n const nextKey = state.routes[index + 1]?.key;\n const previousDescriptor = previousKey\n ? descriptors[previousKey]\n : undefined;\n const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;\n\n return (\n <SceneView\n key={route.key}\n index={index}\n focused={isFocused}\n descriptor={descriptor}\n previousDescriptor={previousDescriptor}\n nextDescriptor={nextDescriptor}\n onWillDisappear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: true },\n target: route.key,\n });\n }}\n onAppear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: false },\n target: route.key,\n });\n }}\n onDisappear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: true },\n target: route.key,\n });\n }}\n onDismissed={(event) => {\n navigation.dispatch({\n ...StackActions.pop(event.nativeEvent.dismissCount),\n source: route.key,\n target: state.key,\n });\n\n setNextDismissedKey(route.key);\n }}\n onHeaderBackButtonClicked={() => {\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n target: state.key,\n });\n }}\n onNativeDismissCancelled={(event) => {\n navigation.dispatch({\n ...StackActions.pop(event.nativeEvent.dismissCount),\n source: route.key,\n target: state.key,\n });\n }}\n />\n );\n })}\n </ScreenStack>\n );\n}\n\nexport default function NativeStackView(props: Props) {\n return (\n <SafeAreaProviderCompat>\n <NativeStackViewInner {...props} />\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n scene: {\n flex: 1,\n flexDirection: 'column-reverse',\n },\n absolute: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n"],"mappings":";;AAAA,SACEA,sBADF,EAEEC,cAFF,EAGEC,iBAHF,EAIEC,mBAJF,EAKEC,kBALF,EAMEC,sBANF,QAOO,4BAPP;AAQA,SACEC,iBADF,EAEEC,sBAFF,EAKEC,YALF,EAOEC,uBAPF,EAQEC,QARF,QASO,0BATP;AAUA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,SAASC,QAAT,EAAmBC,UAAnB,EAA+BC,IAA/B,QAA2C,cAA3C;AACA,SACEC,gBADF,EAEEC,iBAFF,QAGO,gCAHP;AAKA,SACEC,MADF,EAEEC,WAFF,QAIO,sBAJP;AAKA,OAAOC,QAAP,MAAqB,WAArB;AAQA,OAAOC,sBAAP,MAAmC,iCAAnC;AACA,OAAOC,4BAAP,MAAyC,uCAAzC;AACA,OAAOC,cAAP,MAA2B,kBAA3B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AAEA,MAAMC,SAAS,GAAGZ,QAAQ,CAACa,EAAT,KAAgB,SAAlC;;AAEA,MAAMC,gBAAgB,GAAG,QAcnB;EAAA,IAdoB;IACxBC,OADwB;IAExBC,KAFwB;IAGxBC,YAHwB;IAIxBC,YAJwB;IAKxBC,qBALwB;IAMxBC;EANwB,CAcpB;EACJ,MAAM;IAAEC;EAAF,IAAavB,QAAQ,EAA3B;EACA,MAAM;IAAEwB,MAAF;IAAUC,WAAW,GAAG,IAAxB;IAA8BC;EAA9B,IAA+CT,OAArD;EAEA,MAAMU,eAAe,GAAGb,SAAS,GAC7B,KAD6B,GAE7BK,YAAY,KAAK,MAAjB,IAA2BM,WAAW,KAAK,IAA3C,IAAmDD,MAAM,KAAKI,SAFlE;EAIA,MAAMC,sBAAsB,GAAG5B,KAAK,CAAC6B,MAAN,CAAaL,WAAb,CAA/B;EAEAxB,KAAK,CAAC8B,SAAN,CAAgB,MAAM;IACpBtB,QAAQ,CACN,CAACK,SAAD,IACEK,YAAY,KAAK,MADnB,IAEEU,sBAAsB,CAACG,OAAvB,KAAmCP,WAH/B,EAIL,6IAA4IP,KAAK,CAACe,IAAK,IAJlJ,CAAR;IAOAJ,sBAAsB,CAACG,OAAvB,GAAiCP,WAAjC;EACD,CATD,EASG,CAACA,WAAD,EAAcN,YAAd,EAA4BD,KAAK,CAACe,IAAlC,CATH;EAWA,MAAMC,OAAO,gBACX,oBAAC,cAAD;IACE,KAAK,EAAE,CACLC,MAAM,CAACC,SADF,EAELjB,YAAY,KAAK,kBAAjB,IACEA,YAAY,KAAK,2BADnB,IACkD;MAC9CkB,eAAe,EAAEd,MAAM,CAACe;IADsB,CAH7C,EAMLZ,YANK,CADT;IASE,iBAAiB,EAAEP,YAAY,KAAK,MAAjB,GAA0B,MAA1B,GAAmCA;EATxD,GAWGG,QAXH,CADF;;EAgBA,IAAIK,eAAJ,EAAqB;IACnB,oBACE,oBAAC,WAAD;MAAa,KAAK,EAAEQ,MAAM,CAACC;IAA3B,gBACE,oBAAC,MAAD;MAAQ,OAAO,MAAf;MAAgB,KAAK,EAAEjC,UAAU,CAACoC;IAAlC,gBACE,oBAAC,YAAD,eACMtB,OADN;MAEE,KAAK,EAAEC,KAFT;MAGE,YAAY,EAAEE,YAHhB;MAIE,qBAAqB,EAAEC,qBAJzB;MAKE,SAAS;IALX,GADF,EAQGa,OARH,CADF,CADF;EAcD;;EAED,OAAOA,OAAP;AACD,CArED;;AAqFA,MAAMM,SAAS,GAAG,SAYI;EAAA;;EAAA,IAZH;IACjBC,KADiB;IAEjBC,OAFiB;IAGjBC,UAHiB;IAIjBC,kBAJiB;IAKjBC,cALiB;IAMjBC,eANiB;IAOjBC,QAPiB;IAQjBC,WARiB;IASjBC,WATiB;IAUjBC,yBAViB;IAWjBC;EAXiB,CAYG;EACpB,MAAM;IAAEjC,KAAF;IAASkC,UAAT;IAAqBnC,OAArB;IAA8BoC;EAA9B,IAAyCV,UAA/C;EACA,MAAM;IACJW,iBADI;IAEJC,uBAAuB,GAAG,MAFtB;IAGJC,cAHI;IAIJhC,MAJI;IAKJiC,2BALI;IAMJhC,WANI;IAOJiC,iBAPI;IAQJC,qBARI;IASJC,kBATI;IAUJC,mBAVI;IAWJC,WAXI;IAYJC,kBAZI;IAaJC,eAbI;IAcJC,cAdI;IAeJC,oBAfI;IAgBJC,cAhBI;IAiBJC;EAjBI,IAkBFnD,OAlBJ;EAoBA,IAAI;IACFoD,SADE;IAEFC,wBAFE;IAGFC,wBAHE;IAIFpD,YAAY,GAAG,MAJb;IAKFqD,gBAAgB,GAAGrD,YAAY,KAAK,MAAjB,GAA0B,YAA1B,GAAyC;EAL1D,IAMAF,OANJ;;EAQA,IAAIuD,gBAAgB,KAAK,UAArB,IAAmCtE,QAAQ,CAACa,EAAT,KAAgB,KAAvD,EAA8D;IAC5D;IACA;IACA;IACA;IACA;IACA,IAAIwD,wBAAwB,KAAK3C,SAAjC,EAA4C;MAC1C2C,wBAAwB,GAAG,IAA3B;IACD;;IACD,IAAID,wBAAwB,KAAK1C,SAAjC,EAA4C;MAC1C0C,wBAAwB,GAAG,IAA3B;IACD;;IACD,IAAID,SAAS,KAAKzC,SAAlB,EAA6B;MAC3ByC,SAAS,GAAG,mBAAZ;IACD;EACF,CA7CmB,CA+CpB;EACA;;;EACA,MAAMI,oBAAoB,GAAG5B,cAAH,aAAGA,cAAH,uBAAGA,cAAc,CAAE5B,OAAhB,CAAwBuD,gBAArD;EACA,MAAME,wBAAwB,GAC5BD,oBAAoB,IAAI,IAAxB,GAA+BA,oBAA/B,GAAsDD,gBADxD;;EAGA,IAAI/B,KAAK,KAAK,CAAd,EAAiB;IACf;IACA;IACAtB,YAAY,GAAG,MAAf;EACD;;EAED,MAAMwD,MAAM,GAAGrE,iBAAiB,EAAhC;EACA,MAAMsE,KAAK,GAAGvE,gBAAgB,EAA9B,CA5DoB,CA8DpB;;EACA,MAAMwE,OAAO,GAAG1D,YAAY,KAAK,OAAjB,IAA4BA,YAAY,KAAK,WAA7D,CA/DoB,CAiEpB;;EACA,MAAM2D,QAAQ,GAAG5E,QAAQ,CAACa,EAAT,KAAgB,KAAhB,IAAyB,EAAEb,QAAQ,CAAC6E,KAAT,IAAkB7E,QAAQ,CAAC8E,IAA7B,CAA1C;EACA,MAAMC,WAAW,GAAGL,KAAK,CAACM,KAAN,GAAcN,KAAK,CAACO,MAAxC;EAEA,MAAMC,mBAAmB,GAAGnF,KAAK,CAACoF,UAAN,CAAiB3F,kBAAjB,CAA5B;EACA,MAAM4F,kBAAkB,GAAGrF,KAAK,CAACoF,UAAN,CAAiB5F,mBAAjB,CAA3B;EACA,MAAM8F,gBAAgB,GAAGtF,KAAK,CAACoF,UAAN,CAAiB7F,iBAAjB,CAAzB;EAEA,MAAMgG,QAAQ,GACZJ,mBAAmB,IAClBlF,QAAQ,CAACa,EAAT,KAAgB,KAAhB,IAAyB8D,OAD1B,IAECC,QAAQ,IAAIG,WAFb,GAGI,CAHJ,GAIIN,MAAM,CAACc,GALb;EAOA,MAAM;IAAEC;EAAF,IAAsB3F,uBAAuB,EAAnD;EAEA,MAAM4F,mBAAmB,GAAGrG,sBAAsB,CAACsF,KAAD,EAAQC,OAAR,EAAiBW,QAAjB,CAAlD;EAEA,MAAM,CAACI,kBAAD,EAAqBC,qBAArB,IACJ5F,KAAK,CAAC6F,QAAN,CAAeH,mBAAf,CADF;EAGA,MAAMtE,qBAAqB,GAAGmE,QAAQ,KAAK,CAA3C;EACA,MAAMpE,YAAY,GAAGI,MAAM,GAAGoE,kBAAH,GAAwBD,mBAAnD;EACA,MAAMI,UAAU,GAAGnD,kBAAkB,GACjC;IACEoD,KAAK,EAAEzG,cAAc,CACnBqD,kBAAkB,CAAC3B,OADA,EAEnB2B,kBAAkB,CAAC1B,KAAnB,CAAyBe,IAFN;EADvB,CADiC,GAOjCsD,gBAPJ;EASA,MAAMU,iBAAiB,4BAAGP,eAAe,CAACxE,KAAK,CAACgF,GAAP,CAAlB,0DAAG,sBAA4BC,aAAtD;EAEA,oBACE,oBAAC,MAAD;IACE,GAAG,EAAEjF,KAAK,CAACgF,GADb;IAEE,OAAO,MAFT;IAGE,KAAK,EAAE/F,UAAU,CAACoC,YAHpB;IAIE,sBAAsB,EAAE+B,wBAJ1B;IAKE,sBAAsB,EAAEC,wBAL1B;IAME,cAAc,EACZzD,SAAS,GACL;IACA;IACA,KAHK,GAIL0C,cAXR;IAaE,mBAAmB,EAAEG,qBAbvB;IAcE,kBAAkB,EAAEC,kBAdtB;IAeE,mBAAmB,EAAEC,mBAfvB;IAgBE,gBAAgB,EAAEN,uBAhBpB;IAiBE,iBAAiB,EAAEpC,YAAY,KAAK,MAAjB,GAA0B,MAA1B,GAAmCA,YAjBxD;IAkBE,cAAc,EAAEkD,SAlBlB;IAmBE,iBAAiB,EAAEP,WAnBrB;IAoBE,kBAAkB,EAAEC,kBApBtB;IAqBE,eAAe,EAAEC,eArBnB;IAsBE,cAAc,EAAEC,cAtBlB;IAuBE,cAAc,EAAEE,cAvBlB;IAwBE,oBAAoB,EAAED,oBAxBxB;IAyBE,cAAc,EAAEQ,wBAzBlB;IA0BE,kBAAkB,EAAEpB,iBA1BtB;IA2BE,eAAe,EAAER,eA3BnB;IA4BE,QAAQ,EAAEC,QA5BZ;IA6BE,WAAW,EAAEC,WA7Bf;IA8BE,WAAW,EAAEC,WA9Bf;IA+BE,aAAa,MA/Bf;IAgCE,gCAAgC,EAAE,KAhCpC,CAgC2C;IAhC3C;IAiCE,yBAAyB,EAAEC,yBAjC7B,CAkCE;IAlCF;IAmCE,oBAAoB,EAAE+C,iBAnCxB,CAmC2C;IAnC3C;IAoCE,wBAAwB,EAAE9C,wBApC5B,CAqCE;IArCF;IAsCE,YAAY,EAAEiB;EAtChB,gBAwCE,oBAAC,iBAAD,CAAmB,QAAnB;IAA4B,KAAK,EAAEhB;EAAnC,gBACE,oBAAC,sBAAD,CAAwB,QAAxB;IAAiC,KAAK,EAAElC;EAAxC,gBACE,oBAAC,kBAAD,CAAoB,QAApB;IACE,KAAK,EAAEkE,mBAAmB,IAAI3D,WAAW,KAAK;EADhD,gBAGE,oBAAC,mBAAD,CAAqB,QAArB;IACE,KAAK,EACHA,WAAW,KAAK,KAAhB,GAAwBL,YAAxB,GAAuCkE,kBAAvC,aAAuCA,kBAAvC,cAAuCA,kBAAvC,GAA6D;EAFjE,gBAYE,oBAAC,YAAD,eACMrE,OADN;IAEE,KAAK,EAAEC,KAFT;IAGE,2BAA2B,EACzB+E,iBAAiB,KAAKrE,SAAtB,GACI,CAACqE,iBADL,GAEIxC,2BANR;IAQE,WAAW,EAAEjC,MAAM,KAAKI,SAAX,GAAuB,KAAvB,GAA+BH,WAR9C;IASE,YAAY,EAAEL,YAThB;IAUE,eAAe,EACbH,OAAO,CAACmF,eAAR,KAA4BxE,SAA5B,GACIX,OAAO,CAACmF,eADZ,GAEIxE,SAbR;IAeE,qBAAqB,EAAEP,qBAfzB;IAgBE,SAAS,EAAE0E,UAAU,KAAKnE;EAhB5B,GAZF,eA8BE,oBAAC,IAAD;IACE,2BAA2B,EAAE,CAACc,OADhC;IAEE,yBAAyB,EACvBA,OAAO,GAAG,MAAH,GAAY,qBAHvB;IAKE,KAAK,EAAEP,MAAM,CAACkE;EALhB,gBAOE,oBAAC,gBAAD;IACE,OAAO,EAAEpF,OADX;IAEE,KAAK,EAAEC,KAFT;IAGE,YAAY,EAAEC,YAHhB;IAIE,YAAY,EAAEC,YAJhB;IAKE,qBAAqB,EAAEC;EALzB,gBAOE,oBAAC,iBAAD,CAAmB,QAAnB;IAA4B,KAAK,EAAE0E;EAAnC,GACG1C,MAAM,EADT,CAPF,CAPF,EAkBG7B,MAAM,KAAKI,SAAX,IAAwBH,WAAW,KAAK,KAAxC,gBACC,oBAAC,IAAD;IACE,QAAQ,EAAG6E,CAAD,IAAO;MACfT,qBAAqB,CAACS,CAAC,CAACC,WAAF,CAAcC,MAAd,CAAqBrB,MAAtB,CAArB;IACD,CAHH;IAIE,KAAK,EAAEzB,iBAAiB,GAAGvB,MAAM,CAACsE,QAAV,GAAqB;EAJ/C,GAMGjF,MAAM,CAAC;IACNkF,IAAI,EAAEX,UADA;IAEN9E,OAFM;IAGNC,KAHM;IAINkC;EAJM,CAAD,CANT,CADD,GAcG,IAhCN,CA9BF,CAHF,CADF,CADF,CAxCF,CADF;AAoHD,CApOD;;AA4OA,SAASuD,oBAAT,QAAyE;EAAA,IAA3C;IAAEC,KAAF;IAASxD,UAAT;IAAqByD;EAArB,CAA2C;EACvE,MAAM;IAAEC;EAAF,IAA0BpG,sBAAsB,CAACkG,KAAD,CAAtD;EAEAjG,4BAA4B,CAACkG,WAAD,CAA5B;EAEA,oBACE,oBAAC,WAAD;IAAa,KAAK,EAAE1E,MAAM,CAACC;EAA3B,GACGwE,KAAK,CAACG,MAAN,CAAaC,GAAb,CAAiB,CAAC9F,KAAD,EAAQuB,KAAR,KAAkB;IAAA;;IAClC,MAAME,UAAU,GAAGkE,WAAW,CAAC3F,KAAK,CAACgF,GAAP,CAA9B;IACA,MAAMe,SAAS,GAAGL,KAAK,CAACnE,KAAN,KAAgBA,KAAlC;IACA,MAAMyE,WAAW,oBAAGN,KAAK,CAACG,MAAN,CAAatE,KAAK,GAAG,CAArB,CAAH,kDAAG,cAAyByD,GAA7C;IACA,MAAMiB,OAAO,qBAAGP,KAAK,CAACG,MAAN,CAAatE,KAAK,GAAG,CAArB,CAAH,mDAAG,eAAyByD,GAAzC;IACA,MAAMtD,kBAAkB,GAAGsE,WAAW,GAClCL,WAAW,CAACK,WAAD,CADuB,GAElCtF,SAFJ;IAGA,MAAMiB,cAAc,GAAGsE,OAAO,GAAGN,WAAW,CAACM,OAAD,CAAd,GAA0BvF,SAAxD;IAEA,oBACE,oBAAC,SAAD;MACE,GAAG,EAAEV,KAAK,CAACgF,GADb;MAEE,KAAK,EAAEzD,KAFT;MAGE,OAAO,EAAEwE,SAHX;MAIE,UAAU,EAAEtE,UAJd;MAKE,kBAAkB,EAAEC,kBALtB;MAME,cAAc,EAAEC,cANlB;MAOE,eAAe,EAAE,MAAM;QACrBO,UAAU,CAACgE,IAAX,CAAgB;UACdC,IAAI,EAAE,iBADQ;UAEdC,IAAI,EAAE;YAAEC,OAAO,EAAE;UAAX,CAFQ;UAGdC,MAAM,EAAEtG,KAAK,CAACgF;QAHA,CAAhB;MAKD,CAbH;MAcE,QAAQ,EAAE,MAAM;QACd9C,UAAU,CAACgE,IAAX,CAAgB;UACdC,IAAI,EAAE,eADQ;UAEdC,IAAI,EAAE;YAAEC,OAAO,EAAE;UAAX,CAFQ;UAGdC,MAAM,EAAEtG,KAAK,CAACgF;QAHA,CAAhB;MAKD,CApBH;MAqBE,WAAW,EAAE,MAAM;QACjB9C,UAAU,CAACgE,IAAX,CAAgB;UACdC,IAAI,EAAE,eADQ;UAEdC,IAAI,EAAE;YAAEC,OAAO,EAAE;UAAX,CAFQ;UAGdC,MAAM,EAAEtG,KAAK,CAACgF;QAHA,CAAhB;MAKD,CA3BH;MA4BE,WAAW,EAAGuB,KAAD,IAAW;QACtBrE,UAAU,CAACsE,QAAX,CAAoB,EAClB,GAAG5H,YAAY,CAAC6H,GAAb,CAAiBF,KAAK,CAAClB,WAAN,CAAkBqB,YAAnC,CADe;UAElBC,MAAM,EAAE3G,KAAK,CAACgF,GAFI;UAGlBsB,MAAM,EAAEZ,KAAK,CAACV;QAHI,CAApB;QAMAY,mBAAmB,CAAC5F,KAAK,CAACgF,GAAP,CAAnB;MACD,CApCH;MAqCE,yBAAyB,EAAE,MAAM;QAC/B9C,UAAU,CAACsE,QAAX,CAAoB,EAClB,GAAG5H,YAAY,CAAC6H,GAAb,EADe;UAElBE,MAAM,EAAE3G,KAAK,CAACgF,GAFI;UAGlBsB,MAAM,EAAEZ,KAAK,CAACV;QAHI,CAApB;MAKD,CA3CH;MA4CE,wBAAwB,EAAGuB,KAAD,IAAW;QACnCrE,UAAU,CAACsE,QAAX,CAAoB,EAClB,GAAG5H,YAAY,CAAC6H,GAAb,CAAiBF,KAAK,CAAClB,WAAN,CAAkBqB,YAAnC,CADe;UAElBC,MAAM,EAAE3G,KAAK,CAACgF,GAFI;UAGlBsB,MAAM,EAAEZ,KAAK,CAACV;QAHI,CAApB;MAKD;IAlDH,EADF;EAsDD,CAhEA,CADH,CADF;AAqED;;AAED,eAAe,SAAS4B,eAAT,CAAyBC,KAAzB,EAAuC;EACpD,oBACE,oBAAC,sBAAD,qBACE,oBAAC,oBAAD,EAA0BA,KAA1B,CADF,CADF;AAKD;AAED,MAAM5F,MAAM,GAAGhC,UAAU,CAAC6H,MAAX,CAAkB;EAC/B5F,SAAS,EAAE;IACT6F,IAAI,EAAE;EADG,CADoB;EAI/B5B,KAAK,EAAE;IACL4B,IAAI,EAAE,CADD;IAELC,aAAa,EAAE;EAFV,CAJwB;EAQ/BzB,QAAQ,EAAE;IACR0B,QAAQ,EAAE,UADF;IAER1C,GAAG,EAAE,CAFG;IAGR2C,IAAI,EAAE,CAHE;IAIRC,KAAK,EAAE;EAJC;AARqB,CAAlB,CAAf"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/native-stack",
3
3
  "description": "Native stack navigator using react-native-screens",
4
- "version": "6.9.1",
4
+ "version": "6.9.2",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -41,12 +41,12 @@
41
41
  "clean": "del lib"
42
42
  },
43
43
  "dependencies": {
44
- "@react-navigation/elements": "^1.3.6",
44
+ "@react-navigation/elements": "^1.3.7",
45
45
  "warn-once": "^0.1.0"
46
46
  },
47
47
  "devDependencies": {
48
- "@react-navigation/native": "^6.0.13",
49
- "@testing-library/react-native": "^7.2.0",
48
+ "@react-navigation/native": "^6.0.14",
49
+ "@testing-library/react-native": "^11.5.0",
50
50
  "@types/react": "~18.0.0",
51
51
  "@types/react-native": "~0.69.1",
52
52
  "del-cli": "^3.0.1",
@@ -77,5 +77,5 @@
77
77
  ]
78
78
  ]
79
79
  },
80
- "gitHead": "0d7d86a317460015ef1bf962b4ba5f8f97462b35"
80
+ "gitHead": "92f9f265d2627a3ef5b3890042d59405ff38401e"
81
81
  }
@@ -180,7 +180,7 @@ export default function HeaderConfig({
180
180
  hideShadow={
181
181
  headerShadowVisible === false ||
182
182
  headerBackground != null ||
183
- headerTransparent
183
+ (headerTransparent && headerShadowVisible !== true)
184
184
  }
185
185
  largeTitle={headerLargeTitle}
186
186
  largeTitleBackgroundColor={headerLargeStyleFlattened.backgroundColor}
@@ -116,6 +116,7 @@ const MaybeNestedStack = ({
116
116
 
117
117
  type SceneViewProps = {
118
118
  index: number;
119
+ focused: boolean;
119
120
  descriptor: NativeStackDescriptor;
120
121
  previousDescriptor?: NativeStackDescriptor;
121
122
  nextDescriptor?: NativeStackDescriptor;
@@ -128,10 +129,11 @@ type SceneViewProps = {
128
129
  };
129
130
 
130
131
  const SceneView = ({
132
+ index,
133
+ focused,
131
134
  descriptor,
132
135
  previousDescriptor,
133
136
  nextDescriptor,
134
- index,
135
137
  onWillDisappear,
136
138
  onAppear,
137
139
  onDisappear,
@@ -204,8 +206,7 @@ const SceneView = ({
204
206
  const isModal = presentation === 'modal' || presentation === 'formSheet';
205
207
 
206
208
  // Modals are fullscreen in landscape only on iPhone
207
- const isIPhone =
208
- Platform.OS === 'ios' && !(Platform.isPad || Platform.isTVOS);
209
+ const isIPhone = Platform.OS === 'ios' && !(Platform.isPad || Platform.isTV);
209
210
  const isLandscape = frame.width > frame.height;
210
211
 
211
212
  const isParentHeaderShown = React.useContext(HeaderShownContext);
@@ -315,7 +316,13 @@ const SceneView = ({
315
316
  headerTopInsetEnabled={headerTopInsetEnabled}
316
317
  canGoBack={headerBack !== undefined}
317
318
  />
318
- <View style={styles.scene}>
319
+ <View
320
+ accessibilityElementsHidden={!focused}
321
+ importantForAccessibility={
322
+ focused ? 'auto' : 'no-hide-descendants'
323
+ }
324
+ style={styles.scene}
325
+ >
319
326
  <MaybeNestedStack
320
327
  options={options}
321
328
  route={route}
@@ -366,6 +373,7 @@ function NativeStackViewInner({ state, navigation, descriptors }: Props) {
366
373
  <ScreenStack style={styles.container}>
367
374
  {state.routes.map((route, index) => {
368
375
  const descriptor = descriptors[route.key];
376
+ const isFocused = state.index === index;
369
377
  const previousKey = state.routes[index - 1]?.key;
370
378
  const nextKey = state.routes[index + 1]?.key;
371
379
  const previousDescriptor = previousKey
@@ -377,6 +385,7 @@ function NativeStackViewInner({ state, navigation, descriptors }: Props) {
377
385
  <SceneView
378
386
  key={route.key}
379
387
  index={index}
388
+ focused={isFocused}
380
389
  descriptor={descriptor}
381
390
  previousDescriptor={previousDescriptor}
382
391
  nextDescriptor={nextDescriptor}