expo-router 56.2.13 → 56.2.14

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 (60) hide show
  1. package/android/build.gradle +2 -2
  2. package/build/exports.d.ts +1 -1
  3. package/build/exports.d.ts.map +1 -1
  4. package/build/exports.js.map +1 -1
  5. package/build/fork/useLinking.native.js +1 -1
  6. package/build/fork/useLinking.native.js.map +1 -1
  7. package/build/global-state/store.d.ts +3 -4
  8. package/build/global-state/store.d.ts.map +1 -1
  9. package/build/global-state/store.js.map +1 -1
  10. package/build/global-state/useStore.d.ts.map +1 -1
  11. package/build/global-state/useStore.js +0 -4
  12. package/build/global-state/useStore.js.map +1 -1
  13. package/build/react-navigation/native-stack/index.d.ts +1 -1
  14. package/build/react-navigation/native-stack/index.d.ts.map +1 -1
  15. package/build/react-navigation/native-stack/index.js.map +1 -1
  16. package/build/react-navigation/native-stack/types.d.ts +17 -0
  17. package/build/react-navigation/native-stack/types.d.ts.map +1 -1
  18. package/build/react-navigation/native-stack/types.js.map +1 -1
  19. package/build/react-navigation/native-stack/views/NativeStackView.native.d.ts.map +1 -1
  20. package/build/react-navigation/native-stack/views/NativeStackView.native.js +3 -2
  21. package/build/react-navigation/native-stack/views/NativeStackView.native.js.map +1 -1
  22. package/build/react-navigation/native-stack/views/useHeaderConfigProps.d.ts +1 -1
  23. package/build/react-navigation/native-stack/views/useHeaderConfigProps.d.ts.map +1 -1
  24. package/build/react-navigation/native-stack/views/useHeaderConfigProps.js +3 -1
  25. package/build/react-navigation/native-stack/views/useHeaderConfigProps.js.map +1 -1
  26. package/expo-module.config.json +1 -1
  27. package/local-maven-repo/expo/modules/router/expo.modules.router/{56.2.13/expo.modules.router-56.2.13.module → 56.2.14/expo.modules.router-56.2.14.module} +7 -7
  28. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.14/expo.modules.router-56.2.14.module.md5 +1 -0
  29. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.14/expo.modules.router-56.2.14.module.sha1 +1 -0
  30. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.14/expo.modules.router-56.2.14.module.sha256 +1 -0
  31. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.14/expo.modules.router-56.2.14.module.sha512 +1 -0
  32. package/local-maven-repo/expo/modules/router/expo.modules.router/{56.2.13/expo.modules.router-56.2.13.pom → 56.2.14/expo.modules.router-56.2.14.pom} +1 -1
  33. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.14/expo.modules.router-56.2.14.pom.md5 +1 -0
  34. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.14/expo.modules.router-56.2.14.pom.sha1 +1 -0
  35. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.14/expo.modules.router-56.2.14.pom.sha256 +1 -0
  36. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.14/expo.modules.router-56.2.14.pom.sha512 +1 -0
  37. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml +4 -4
  38. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.md5 +1 -1
  39. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha1 +1 -1
  40. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha256 +1 -1
  41. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha512 +1 -1
  42. package/package.json +4 -4
  43. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.13/expo.modules.router-56.2.13.module.md5 +0 -1
  44. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.13/expo.modules.router-56.2.13.module.sha1 +0 -1
  45. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.13/expo.modules.router-56.2.13.module.sha256 +0 -1
  46. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.13/expo.modules.router-56.2.13.module.sha512 +0 -1
  47. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.13/expo.modules.router-56.2.13.pom.md5 +0 -1
  48. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.13/expo.modules.router-56.2.13.pom.sha1 +0 -1
  49. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.13/expo.modules.router-56.2.13.pom.sha256 +0 -1
  50. package/local-maven-repo/expo/modules/router/expo.modules.router/56.2.13/expo.modules.router-56.2.13.pom.sha512 +0 -1
  51. /package/local-maven-repo/expo/modules/router/expo.modules.router/{56.2.13/expo.modules.router-56.2.13-sources.jar → 56.2.14/expo.modules.router-56.2.14-sources.jar} +0 -0
  52. /package/local-maven-repo/expo/modules/router/expo.modules.router/{56.2.13/expo.modules.router-56.2.13-sources.jar.md5 → 56.2.14/expo.modules.router-56.2.14-sources.jar.md5} +0 -0
  53. /package/local-maven-repo/expo/modules/router/expo.modules.router/{56.2.13/expo.modules.router-56.2.13-sources.jar.sha1 → 56.2.14/expo.modules.router-56.2.14-sources.jar.sha1} +0 -0
  54. /package/local-maven-repo/expo/modules/router/expo.modules.router/{56.2.13/expo.modules.router-56.2.13-sources.jar.sha256 → 56.2.14/expo.modules.router-56.2.14-sources.jar.sha256} +0 -0
  55. /package/local-maven-repo/expo/modules/router/expo.modules.router/{56.2.13/expo.modules.router-56.2.13-sources.jar.sha512 → 56.2.14/expo.modules.router-56.2.14-sources.jar.sha512} +0 -0
  56. /package/local-maven-repo/expo/modules/router/expo.modules.router/{56.2.13/expo.modules.router-56.2.13.aar → 56.2.14/expo.modules.router-56.2.14.aar} +0 -0
  57. /package/local-maven-repo/expo/modules/router/expo.modules.router/{56.2.13/expo.modules.router-56.2.13.aar.md5 → 56.2.14/expo.modules.router-56.2.14.aar.md5} +0 -0
  58. /package/local-maven-repo/expo/modules/router/expo.modules.router/{56.2.13/expo.modules.router-56.2.13.aar.sha1 → 56.2.14/expo.modules.router-56.2.14.aar.sha1} +0 -0
  59. /package/local-maven-repo/expo/modules/router/expo.modules.router/{56.2.13/expo.modules.router-56.2.13.aar.sha256 → 56.2.14/expo.modules.router-56.2.14.aar.sha256} +0 -0
  60. /package/local-maven-repo/expo/modules/router/expo.modules.router/{56.2.13/expo.modules.router-56.2.13.aar.sha512 → 56.2.14/expo.modules.router-56.2.14.aar.sha512} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useHeaderConfigProps.js","sourceRoot":"","sources":["../../../../src/react-navigation/native-stack/views/useHeaderConfigProps.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\nimport { Platform, StyleSheet, type TextStyle, View } from 'react-native';\nimport {\n type HeaderBarButtonItemMenuAction,\n type HeaderBarButtonItemSubmenu,\n type HeaderBarButtonItemWithAction,\n type HeaderBarButtonItemWithMenu,\n isSearchBarAvailableForCurrentPlatform,\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderCenterView,\n type ScreenStackHeaderConfigProps,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderRightView,\n ScreenStackHeaderSearchBarView,\n SearchBar,\n} from 'react-native-screens';\n\nimport { processFonts } from './FontProcessor';\nimport { Color } from '../../../utils/color';\nimport { getHeaderTitle, HeaderTitle } from '../../elements';\nimport { type Route, type Theme, useLocale, useTheme } from '../../native';\nimport type {\n NativeStackHeaderItem,\n NativeStackHeaderItemButton,\n NativeStackHeaderItemMenuAction,\n NativeStackHeaderItemMenuSubmenu,\n NativeStackNavigationOptions,\n} from '../types';\n\ntype Props = NativeStackNavigationOptions & {\n headerTopInsetEnabled: boolean;\n headerHeight: number;\n headerBack: { title?: string | undefined; href: undefined } | undefined;\n route: Route<string>;\n};\n\nconst processBarButtonItems = (\n items: NativeStackHeaderItem[] | undefined,\n colors: Theme['colors'],\n fonts: Theme['fonts']\n) => {\n return items\n ?.map((item, index) => {\n if (item.type === 'custom') {\n // Handled with `ScreenStackHeaderLeftView` or `ScreenStackHeaderRightView`\n return null;\n }\n\n if (item.type === 'spacing') {\n if (item.spacing == null) {\n throw new Error(\n `Spacing item must have a 'spacing' property defined: ${JSON.stringify(item)}`\n );\n }\n\n return item;\n }\n\n if (item.type === 'button' || item.type === 'menu') {\n if (item.type === 'menu' && item.menu == null) {\n throw new Error(`Menu item must have a 'menu' property defined: ${JSON.stringify(item)}`);\n }\n\n const { badge, label, labelStyle, icon, ...rest } = item;\n\n const processedItemCommon = {\n ...rest,\n index,\n title: label,\n titleStyle: {\n ...fonts.regular,\n ...labelStyle,\n },\n icon: transformIcon(icon),\n };\n\n let processedItem: HeaderBarButtonItemWithAction | HeaderBarButtonItemWithMenu;\n\n if (processedItemCommon.type === 'menu' && item.type === 'menu') {\n const { multiselectable, layout } = item.menu;\n\n processedItem = {\n ...processedItemCommon,\n menu: {\n ...processedItemCommon.menu,\n singleSelection: !multiselectable,\n displayAsPalette: layout === 'palette',\n items: item.menu.items.map(getMenuItem),\n },\n };\n } else if (processedItemCommon.type === 'button' && item.type === 'button') {\n processedItem = processedItemCommon;\n } else {\n throw new Error(\n `Invalid item type: ${JSON.stringify(item)}. Valid types are 'button' and 'menu'.`\n );\n }\n\n if (badge) {\n const badgeBackgroundColor = badge.style?.backgroundColor ?? colors.notification;\n const badgeTextColor = Color(badgeBackgroundColor)?.isLight() ? 'black' : 'white';\n\n processedItem = {\n ...processedItem,\n badge: {\n ...badge,\n value: String(badge.value),\n style: {\n backgroundColor: badgeBackgroundColor,\n color: badgeTextColor,\n ...fonts.regular,\n ...badge.style,\n },\n },\n };\n }\n\n return processedItem;\n }\n\n throw new Error(\n `Invalid item type: ${JSON.stringify(item)}. Valid types are 'button', 'menu', 'custom' and 'spacing'.`\n );\n })\n .filter((item) => item != null);\n};\n\nconst transformIcon = (\n icon: NativeStackHeaderItemButton['icon']\n): HeaderBarButtonItemWithAction['icon'] | HeaderBarButtonItemWithMenu['icon'] => {\n if (icon?.type === 'image') {\n return icon.tinted === false\n ? { type: 'imageSource', imageSource: icon.source }\n : { type: 'templateSource', templateSource: icon.source };\n }\n\n return icon;\n};\n\nconst getMenuItem = (\n item: NativeStackHeaderItemMenuAction | NativeStackHeaderItemMenuSubmenu\n): HeaderBarButtonItemMenuAction | HeaderBarButtonItemSubmenu => {\n if (item.type === 'submenu') {\n const { label, icon, inline, layout, items, multiselectable, ...rest } = item;\n\n return {\n ...rest,\n icon: transformIcon(icon),\n title: label,\n displayAsPalette: layout === 'palette',\n displayInline: inline,\n singleSelection: !multiselectable,\n items: items.map(getMenuItem),\n };\n }\n\n const { label, icon, description, ...rest } = item;\n\n return {\n ...rest,\n icon: transformIcon(icon),\n title: label,\n subtitle: description,\n };\n};\n\nexport function useHeaderConfigProps({\n headerBackIcon,\n headerBackImageSource,\n headerBackButtonDisplayMode,\n headerBackButtonMenuEnabled,\n headerBackTitle,\n headerBackTitleStyle,\n headerBackVisible,\n headerShadowVisible,\n headerLargeStyle,\n headerLargeTitle: headerLargeTitleDeprecated,\n headerLargeTitleEnabled = headerLargeTitleDeprecated,\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 headerBack,\n route,\n title,\n unstable_headerLeftItems: headerLeftItems,\n unstable_headerRightItems: headerRightItems,\n}: Props): ScreenStackHeaderConfigProps {\n const { direction } = useLocale();\n const { colors, fonts, dark } = useTheme();\n const tintColor = headerTintColor ?? (Platform.OS === 'ios' ? colors.primary : colors.text);\n\n const headerBackTitleStyleFlattened =\n StyleSheet.flatten([fonts.regular, headerBackTitleStyle]) || {};\n const headerLargeTitleStyleFlattened =\n StyleSheet.flatten([\n Platform.select({ ios: fonts.heavy, default: fonts.medium }),\n headerLargeTitleStyle,\n ]) || {};\n const headerTitleStyleFlattened =\n StyleSheet.flatten([\n Platform.select({ ios: fonts.bold, default: fonts.medium }),\n headerTitleStyle,\n ]) || {};\n const headerStyleFlattened = StyleSheet.flatten(headerStyle) || {};\n const headerLargeStyleFlattened = StyleSheet.flatten(headerLargeStyle) || {};\n\n const [backTitleFontFamily, largeTitleFontFamily, titleFontFamily] = processFonts([\n headerBackTitleStyleFlattened.fontFamily,\n headerLargeTitleStyleFlattened.fontFamily,\n headerTitleStyleFlattened.fontFamily,\n ]);\n\n const backTitleFontSize =\n 'fontSize' in headerBackTitleStyleFlattened\n ? headerBackTitleStyleFlattened.fontSize\n : undefined;\n\n const titleText = getHeaderTitle({ title, headerTitle }, route.name);\n const titleColor =\n 'color' in headerTitleStyleFlattened\n ? headerTitleStyleFlattened.color\n : (headerTintColor ?? colors.text);\n const titleFontSize =\n 'fontSize' in headerTitleStyleFlattened ? headerTitleStyleFlattened.fontSize : undefined;\n const titleFontWeight = headerTitleStyleFlattened.fontWeight;\n\n const largeTitleBackgroundColor = headerLargeStyleFlattened.backgroundColor;\n const largeTitleColor =\n 'color' in headerLargeTitleStyleFlattened ? headerLargeTitleStyleFlattened.color : undefined;\n const largeTitleFontSize =\n 'fontSize' in headerLargeTitleStyleFlattened\n ? headerLargeTitleStyleFlattened.fontSize\n : undefined;\n const largeTitleFontWeight = headerLargeTitleStyleFlattened.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 headerBackgroundColor =\n headerStyleFlattened.backgroundColor ??\n (headerBackground != null ||\n headerTransparent ||\n // The title becomes invisible if background color is set with large title on iOS 26\n (Platform.OS === 'ios' && headerLargeTitleEnabled)\n ? 'transparent'\n : colors.card);\n\n const canGoBack = headerBack != null;\n\n const headerLeftElement = headerLeft?.({\n tintColor,\n canGoBack,\n backgroundColor: headerBackgroundColor,\n label: headerBackTitle ?? headerBack?.title,\n // `href` is only applicable to web\n href: undefined,\n });\n\n const headerRightElement = headerRight?.({\n tintColor,\n canGoBack,\n backgroundColor: headerBackgroundColor,\n });\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 = supportsHeaderSearchBar && headerSearchBarOptions != null;\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 =\n headerBackVisible ||\n (Platform.OS === 'android' && headerTitleElement != null && headerLeftElement == 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 || headerLargeTitleEnabled) &&\n Platform.OS === 'ios' &&\n headerTransparent !== false);\n\n const isBackButtonDisplayModeAvailable =\n // On iOS 14+\n Platform.OS === 'ios' &&\n parseInt(Platform.Version, 10) >= 14 &&\n // Doesn't have custom styling, by default System, see: https://github.com/software-mansion/react-native-screens/pull/2105#discussion_r1565222738\n (backTitleFontFamily == null || backTitleFontFamily === 'System') &&\n backTitleFontSize == null &&\n // Back button menu is not disabled\n headerBackButtonMenuEnabled !== false;\n\n const isCenterViewRenderedAndroid = headerTitleAlign === 'center';\n\n const leftItems = headerLeftItems?.({\n tintColor,\n canGoBack,\n });\n\n let rightItems = headerRightItems?.({\n tintColor,\n canGoBack,\n });\n\n if (rightItems) {\n // iOS renders right items in reverse order\n // So we need to reverse them here to match the order\n rightItems = [...rightItems].reverse();\n }\n\n const children = (\n <>\n {Platform.OS === 'ios' ? (\n <>\n {leftItems ? (\n leftItems.map((item, index) => {\n if (item.type === 'custom') {\n return (\n <ScreenStackHeaderLeftView\n key={index}\n hidesSharedBackground={item.hidesSharedBackground}>\n {item.element}\n </ScreenStackHeaderLeftView>\n );\n }\n\n return null;\n })\n ) : headerLeftElement != null ? (\n <ScreenStackHeaderLeftView>{headerLeftElement}</ScreenStackHeaderLeftView>\n ) : null}\n {headerTitleElement != null ? (\n <ScreenStackHeaderCenterView>{headerTitleElement}</ScreenStackHeaderCenterView>\n ) : null}\n </>\n ) : (\n <>\n {headerLeftElement != null || typeof headerTitle === 'function' ? (\n // The style passed to header left, together with title element being wrapped\n // in flex view is reqruied for proper header layout, in particular,\n // for the text truncation to work.\n <ScreenStackHeaderLeftView style={!isCenterViewRenderedAndroid ? { flex: 1 } : null}>\n {headerLeftElement}\n {headerTitleAlign !== 'center' ? (\n typeof headerTitle === 'function' ? (\n <View style={{ flex: 1 }}>{headerTitleElement}</View>\n ) : (\n <View style={{ flex: 1 }}>\n <HeaderTitle tintColor={tintColor} style={headerTitleStyleSupported}>\n {titleText}\n </HeaderTitle>\n </View>\n )\n ) : null}\n </ScreenStackHeaderLeftView>\n ) : null}\n {isCenterViewRenderedAndroid ? (\n <ScreenStackHeaderCenterView>\n {typeof headerTitle === 'function' ? (\n headerTitleElement\n ) : (\n <HeaderTitle tintColor={tintColor} style={headerTitleStyleSupported}>\n {titleText}\n </HeaderTitle>\n )}\n </ScreenStackHeaderCenterView>\n ) : null}\n </>\n )}\n {headerBackIcon !== undefined || headerBackImageSource !== undefined ? (\n <ScreenStackHeaderBackButtonImage\n source={headerBackIcon?.source ?? headerBackImageSource}\n />\n ) : null}\n {Platform.OS === 'ios' && rightItems ? (\n rightItems.map((item, index) => {\n if (item.type === 'custom') {\n return (\n <ScreenStackHeaderRightView\n key={index}\n hidesSharedBackground={item.hidesSharedBackground}>\n {item.element}\n </ScreenStackHeaderRightView>\n );\n }\n\n return null;\n })\n ) : headerRightElement != null ? (\n <ScreenStackHeaderRightView>{headerRightElement}</ScreenStackHeaderRightView>\n ) : null}\n {hasHeaderSearchBar ? (\n <ScreenStackHeaderSearchBarView>\n <SearchBar {...headerSearchBarOptions} />\n </ScreenStackHeaderSearchBarView>\n ) : null}\n </>\n );\n\n return {\n backButtonInCustomView,\n backgroundColor: headerBackgroundColor,\n backTitle: headerBackTitle,\n backTitleVisible: isBackButtonDisplayModeAvailable\n ? undefined\n : headerBackButtonDisplayMode !== 'minimal',\n backButtonDisplayMode: isBackButtonDisplayModeAvailable\n ? headerBackButtonDisplayMode\n : undefined,\n backTitleFontFamily,\n backTitleFontSize,\n blurEffect: headerBlurEffect,\n color: tintColor,\n direction,\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 largeTitle: headerLargeTitleEnabled,\n largeTitleBackgroundColor,\n largeTitleColor,\n largeTitleFontFamily,\n largeTitleFontSize,\n largeTitleFontWeight,\n largeTitleHideShadow: headerLargeTitleShadowVisible === false,\n title: titleText,\n titleColor,\n titleFontFamily,\n titleFontSize,\n titleFontWeight: String(titleFontWeight),\n topInsetEnabled: headerTopInsetEnabled,\n translucent: translucent === true,\n children,\n headerLeftBarButtonItems: processBarButtonItems(leftItems, colors, fonts),\n headerRightBarButtonItems: processBarButtonItems(rightItems, colors, fonts),\n experimental_userInterfaceStyle: dark ? 'dark' : 'light',\n } as const;\n}\n"]}
1
+ {"version":3,"file":"useHeaderConfigProps.js","sourceRoot":"","sources":["../../../../src/react-navigation/native-stack/views/useHeaderConfigProps.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\nimport { Platform, StyleSheet, type TextStyle, View } from 'react-native';\nimport {\n type HeaderBarButtonItemMenuAction,\n type HeaderBarButtonItemSubmenu,\n type HeaderBarButtonItemWithAction,\n type HeaderBarButtonItemWithMenu,\n isSearchBarAvailableForCurrentPlatform,\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderCenterView,\n type ScreenStackHeaderConfigProps,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderRightView,\n ScreenStackHeaderSearchBarView,\n SearchBar,\n} from 'react-native-screens';\n\nimport { processFonts } from './FontProcessor';\nimport { Color } from '../../../utils/color';\nimport { getHeaderTitle, HeaderTitle } from '../../elements';\nimport { type Route, type Theme, useLocale, useTheme } from '../../native';\nimport type {\n NativeStackHeaderItem,\n NativeStackHeaderItemButton,\n NativeStackHeaderItemMenuAction,\n NativeStackHeaderItemMenuSubmenu,\n NativeStackNavigationOptions,\n} from '../types';\n\ntype Props = NativeStackNavigationOptions & {\n headerTopInsetEnabled: boolean;\n headerHeight: number;\n headerBack: { title?: string | undefined; href: undefined } | undefined;\n route: Route<string>;\n};\n\nconst processBarButtonItems = (\n items: NativeStackHeaderItem[] | undefined,\n colors: Theme['colors'],\n fonts: Theme['fonts']\n) => {\n return items\n ?.map((item, index) => {\n if (item.type === 'custom') {\n // Handled with `ScreenStackHeaderLeftView` or `ScreenStackHeaderRightView`\n return null;\n }\n\n if (item.type === 'spacing') {\n if (item.spacing == null) {\n throw new Error(\n `Spacing item must have a 'spacing' property defined: ${JSON.stringify(item)}`\n );\n }\n\n return item;\n }\n\n if (item.type === 'button' || item.type === 'menu') {\n if (item.type === 'menu' && item.menu == null) {\n throw new Error(`Menu item must have a 'menu' property defined: ${JSON.stringify(item)}`);\n }\n\n const { badge, label, labelStyle, icon, ...rest } = item;\n\n const processedItemCommon = {\n ...rest,\n index,\n title: label,\n titleStyle: {\n ...fonts.regular,\n ...labelStyle,\n },\n icon: transformIcon(icon),\n };\n\n let processedItem: HeaderBarButtonItemWithAction | HeaderBarButtonItemWithMenu;\n\n if (processedItemCommon.type === 'menu' && item.type === 'menu') {\n const { multiselectable, layout } = item.menu;\n\n processedItem = {\n ...processedItemCommon,\n menu: {\n ...processedItemCommon.menu,\n singleSelection: !multiselectable,\n displayAsPalette: layout === 'palette',\n items: item.menu.items.map(getMenuItem),\n },\n };\n } else if (processedItemCommon.type === 'button' && item.type === 'button') {\n processedItem = processedItemCommon;\n } else {\n throw new Error(\n `Invalid item type: ${JSON.stringify(item)}. Valid types are 'button' and 'menu'.`\n );\n }\n\n if (badge) {\n const badgeBackgroundColor = badge.style?.backgroundColor ?? colors.notification;\n const badgeTextColor = Color(badgeBackgroundColor)?.isLight() ? 'black' : 'white';\n\n processedItem = {\n ...processedItem,\n badge: {\n ...badge,\n value: String(badge.value),\n style: {\n backgroundColor: badgeBackgroundColor,\n color: badgeTextColor,\n ...fonts.regular,\n ...badge.style,\n },\n },\n };\n }\n\n return processedItem;\n }\n\n throw new Error(\n `Invalid item type: ${JSON.stringify(item)}. Valid types are 'button', 'menu', 'custom' and 'spacing'.`\n );\n })\n .filter((item) => item != null);\n};\n\nconst transformIcon = (\n icon: NativeStackHeaderItemButton['icon']\n): HeaderBarButtonItemWithAction['icon'] | HeaderBarButtonItemWithMenu['icon'] => {\n if (icon?.type === 'image') {\n return icon.tinted === false\n ? { type: 'imageSource', imageSource: icon.source }\n : { type: 'templateSource', templateSource: icon.source };\n }\n\n return icon;\n};\n\nconst getMenuItem = (\n item: NativeStackHeaderItemMenuAction | NativeStackHeaderItemMenuSubmenu\n): HeaderBarButtonItemMenuAction | HeaderBarButtonItemSubmenu => {\n if (item.type === 'submenu') {\n const { label, icon, inline, layout, items, multiselectable, ...rest } = item;\n\n return {\n ...rest,\n icon: transformIcon(icon),\n title: label,\n displayAsPalette: layout === 'palette',\n displayInline: inline,\n singleSelection: !multiselectable,\n items: items.map(getMenuItem),\n };\n }\n\n const { label, icon, description, ...rest } = item;\n\n return {\n ...rest,\n icon: transformIcon(icon),\n title: label,\n subtitle: description,\n };\n};\n\nexport function useHeaderConfigProps({\n headerBackIcon,\n headerBackImageSource,\n headerBackButtonDisplayMode,\n headerBackButtonMenuEnabled,\n headerBackTitle,\n headerBackTitleStyle,\n headerBackVisible,\n headerShadowVisible,\n headerLargeStyle,\n headerLargeTitle: headerLargeTitleDeprecated,\n headerLargeTitleEnabled = headerLargeTitleDeprecated,\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 headerBack,\n route,\n title,\n unstable_headerLeftItems: headerLeftItems,\n unstable_headerRightItems: headerRightItems,\n unstable_nativeProps,\n}: Props): ScreenStackHeaderConfigProps {\n const { direction } = useLocale();\n const { colors, fonts, dark } = useTheme();\n const tintColor = headerTintColor ?? (Platform.OS === 'ios' ? colors.primary : colors.text);\n const headerNativeProps = unstable_nativeProps?.headerConfig;\n\n const headerBackTitleStyleFlattened =\n StyleSheet.flatten([fonts.regular, headerBackTitleStyle]) || {};\n const headerLargeTitleStyleFlattened =\n StyleSheet.flatten([\n Platform.select({ ios: fonts.heavy, default: fonts.medium }),\n headerLargeTitleStyle,\n ]) || {};\n const headerTitleStyleFlattened =\n StyleSheet.flatten([\n Platform.select({ ios: fonts.bold, default: fonts.medium }),\n headerTitleStyle,\n ]) || {};\n const headerStyleFlattened = StyleSheet.flatten(headerStyle) || {};\n const headerLargeStyleFlattened = StyleSheet.flatten(headerLargeStyle) || {};\n\n const [backTitleFontFamily, largeTitleFontFamily, titleFontFamily] = processFonts([\n headerBackTitleStyleFlattened.fontFamily,\n headerLargeTitleStyleFlattened.fontFamily,\n headerTitleStyleFlattened.fontFamily,\n ]);\n\n const backTitleFontSize =\n 'fontSize' in headerBackTitleStyleFlattened\n ? headerBackTitleStyleFlattened.fontSize\n : undefined;\n\n const titleText = getHeaderTitle({ title, headerTitle }, route.name);\n const titleColor =\n 'color' in headerTitleStyleFlattened\n ? headerTitleStyleFlattened.color\n : (headerTintColor ?? colors.text);\n const titleFontSize =\n 'fontSize' in headerTitleStyleFlattened ? headerTitleStyleFlattened.fontSize : undefined;\n const titleFontWeight = headerTitleStyleFlattened.fontWeight;\n\n const largeTitleBackgroundColor = headerLargeStyleFlattened.backgroundColor;\n const largeTitleColor =\n 'color' in headerLargeTitleStyleFlattened ? headerLargeTitleStyleFlattened.color : undefined;\n const largeTitleFontSize =\n 'fontSize' in headerLargeTitleStyleFlattened\n ? headerLargeTitleStyleFlattened.fontSize\n : undefined;\n const largeTitleFontWeight = headerLargeTitleStyleFlattened.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 headerBackgroundColor =\n headerStyleFlattened.backgroundColor ??\n (headerBackground != null ||\n headerTransparent ||\n // The title becomes invisible if background color is set with large title on iOS 26\n (Platform.OS === 'ios' && headerLargeTitleEnabled)\n ? 'transparent'\n : colors.card);\n\n const canGoBack = headerBack != null;\n\n const headerLeftElement = headerLeft?.({\n tintColor,\n canGoBack,\n backgroundColor: headerBackgroundColor,\n label: headerBackTitle ?? headerBack?.title,\n // `href` is only applicable to web\n href: undefined,\n });\n\n const headerRightElement = headerRight?.({\n tintColor,\n canGoBack,\n backgroundColor: headerBackgroundColor,\n });\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 = supportsHeaderSearchBar && headerSearchBarOptions != null;\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 =\n headerBackVisible ||\n (Platform.OS === 'android' && headerTitleElement != null && headerLeftElement == 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 || headerLargeTitleEnabled) &&\n Platform.OS === 'ios' &&\n headerTransparent !== false);\n\n const isBackButtonDisplayModeAvailable =\n // On iOS 14+\n Platform.OS === 'ios' &&\n parseInt(Platform.Version, 10) >= 14 &&\n // Doesn't have custom styling, by default System, see: https://github.com/software-mansion/react-native-screens/pull/2105#discussion_r1565222738\n (backTitleFontFamily == null || backTitleFontFamily === 'System') &&\n backTitleFontSize == null &&\n // Back button menu is not disabled\n headerBackButtonMenuEnabled !== false;\n\n const isCenterViewRenderedAndroid = headerTitleAlign === 'center';\n\n const leftItems = headerLeftItems?.({\n tintColor,\n canGoBack,\n });\n\n let rightItems = headerRightItems?.({\n tintColor,\n canGoBack,\n });\n\n if (rightItems) {\n // iOS renders right items in reverse order\n // So we need to reverse them here to match the order\n rightItems = [...rightItems].reverse();\n }\n\n const children = (\n <>\n {Platform.OS === 'ios' ? (\n <>\n {leftItems ? (\n leftItems.map((item, index) => {\n if (item.type === 'custom') {\n return (\n <ScreenStackHeaderLeftView\n key={index}\n hidesSharedBackground={item.hidesSharedBackground}>\n {item.element}\n </ScreenStackHeaderLeftView>\n );\n }\n\n return null;\n })\n ) : headerLeftElement != null ? (\n <ScreenStackHeaderLeftView>{headerLeftElement}</ScreenStackHeaderLeftView>\n ) : null}\n {headerTitleElement != null ? (\n <ScreenStackHeaderCenterView>{headerTitleElement}</ScreenStackHeaderCenterView>\n ) : null}\n </>\n ) : (\n <>\n {headerLeftElement != null || typeof headerTitle === 'function' ? (\n // The style passed to header left, together with title element being wrapped\n // in flex view is reqruied for proper header layout, in particular,\n // for the text truncation to work.\n <ScreenStackHeaderLeftView style={!isCenterViewRenderedAndroid ? { flex: 1 } : null}>\n {headerLeftElement}\n {headerTitleAlign !== 'center' ? (\n typeof headerTitle === 'function' ? (\n <View style={{ flex: 1 }}>{headerTitleElement}</View>\n ) : (\n <View style={{ flex: 1 }}>\n <HeaderTitle tintColor={tintColor} style={headerTitleStyleSupported}>\n {titleText}\n </HeaderTitle>\n </View>\n )\n ) : null}\n </ScreenStackHeaderLeftView>\n ) : null}\n {isCenterViewRenderedAndroid ? (\n <ScreenStackHeaderCenterView>\n {typeof headerTitle === 'function' ? (\n headerTitleElement\n ) : (\n <HeaderTitle tintColor={tintColor} style={headerTitleStyleSupported}>\n {titleText}\n </HeaderTitle>\n )}\n </ScreenStackHeaderCenterView>\n ) : null}\n </>\n )}\n {headerBackIcon !== undefined || headerBackImageSource !== undefined ? (\n <ScreenStackHeaderBackButtonImage\n source={headerBackIcon?.source ?? headerBackImageSource}\n />\n ) : null}\n {Platform.OS === 'ios' && rightItems ? (\n rightItems.map((item, index) => {\n if (item.type === 'custom') {\n return (\n <ScreenStackHeaderRightView\n key={index}\n hidesSharedBackground={item.hidesSharedBackground}>\n {item.element}\n </ScreenStackHeaderRightView>\n );\n }\n\n return null;\n })\n ) : headerRightElement != null ? (\n <ScreenStackHeaderRightView>{headerRightElement}</ScreenStackHeaderRightView>\n ) : null}\n {hasHeaderSearchBar ? (\n <ScreenStackHeaderSearchBarView>\n <SearchBar {...headerSearchBarOptions} />\n </ScreenStackHeaderSearchBarView>\n ) : null}\n </>\n );\n\n return {\n backButtonInCustomView,\n backgroundColor: headerBackgroundColor,\n backTitle: headerBackTitle,\n backTitleVisible: isBackButtonDisplayModeAvailable\n ? undefined\n : headerBackButtonDisplayMode !== 'minimal',\n backButtonDisplayMode: isBackButtonDisplayModeAvailable\n ? headerBackButtonDisplayMode\n : undefined,\n backTitleFontFamily,\n backTitleFontSize,\n blurEffect: headerBlurEffect,\n color: tintColor,\n direction,\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 largeTitle: headerLargeTitleEnabled,\n largeTitleBackgroundColor,\n largeTitleColor,\n largeTitleFontFamily,\n largeTitleFontSize,\n largeTitleFontWeight,\n largeTitleHideShadow: headerLargeTitleShadowVisible === false,\n title: titleText,\n titleColor,\n titleFontFamily,\n titleFontSize,\n titleFontWeight: String(titleFontWeight),\n topInsetEnabled: headerTopInsetEnabled,\n translucent: translucent === true,\n children,\n headerLeftBarButtonItems: processBarButtonItems(leftItems, colors, fonts),\n headerRightBarButtonItems: processBarButtonItems(rightItems, colors, fonts),\n experimental_userInterfaceStyle: dark ? 'dark' : 'light',\n ...headerNativeProps,\n } as const;\n}\n"]}
@@ -9,7 +9,7 @@
9
9
  "publication": {
10
10
  "groupId": "expo.modules.router",
11
11
  "artifactId": "expo.modules.router",
12
- "version": "56.2.13",
12
+ "version": "56.2.14",
13
13
  "repository": "local-maven-repo"
14
14
  }
15
15
  }
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.router",
5
5
  "module": "expo.modules.router",
6
- "version": "56.2.13",
6
+ "version": "56.2.14",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,8 +24,8 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.router-56.2.13.aar",
28
- "url": "expo.modules.router-56.2.13.aar",
27
+ "name": "expo.modules.router-56.2.14.aar",
28
+ "url": "expo.modules.router-56.2.14.aar",
29
29
  "size": 15835,
30
30
  "sha512": "72b5be73401c4b0a8807373f01bd79e202212f07713d071019c24eb27227a4c8568d6148d0a48338f6955f9dbe713f56e7877d8e3fe0acec28dbb68533953d90",
31
31
  "sha256": "7c41d508ab24d199ead0eb06525957cdd227a73925863865bf2956d48cb707ef",
@@ -74,8 +74,8 @@
74
74
  ],
75
75
  "files": [
76
76
  {
77
- "name": "expo.modules.router-56.2.13.aar",
78
- "url": "expo.modules.router-56.2.13.aar",
77
+ "name": "expo.modules.router-56.2.14.aar",
78
+ "url": "expo.modules.router-56.2.14.aar",
79
79
  "size": 15835,
80
80
  "sha512": "72b5be73401c4b0a8807373f01bd79e202212f07713d071019c24eb27227a4c8568d6148d0a48338f6955f9dbe713f56e7877d8e3fe0acec28dbb68533953d90",
81
81
  "sha256": "7c41d508ab24d199ead0eb06525957cdd227a73925863865bf2956d48cb707ef",
@@ -94,8 +94,8 @@
94
94
  },
95
95
  "files": [
96
96
  {
97
- "name": "expo.modules.router-56.2.13-sources.jar",
98
- "url": "expo.modules.router-56.2.13-sources.jar",
97
+ "name": "expo.modules.router-56.2.14-sources.jar",
98
+ "url": "expo.modules.router-56.2.14-sources.jar",
99
99
  "size": 2326,
100
100
  "sha512": "a1a1537b57bc0d66efbf2bdfd5f514684400b9598e549eaf53c528d1bf32ff42b7826e74fb6e115f8ec0490b9e06ffbb3c3efe9f2f703652c13291ef82b0fa03",
101
101
  "sha256": "2add0f802e663eb9b5f90e086dca0e0e337a1442e15fb372a05945e01ee0d289",
@@ -0,0 +1 @@
1
+ 079b0e36178a6635856d48c78d4061bd72949757cc84bf247cc5221fa32ada3a
@@ -0,0 +1 @@
1
+ 89e2b4d982cecd68adfd9a7882f7070d92f98585137fb086d0dfc75906f223d919cc55ff475b2193e2977c00ffadbcf23cdb45c1ea903c6887ffd8d54cbf2b95
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>expo.modules.router</groupId>
11
11
  <artifactId>expo.modules.router</artifactId>
12
- <version>56.2.13</version>
12
+ <version>56.2.14</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.router</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ 62a4e3e494c6d3ac0e18e7e216eaeefed34557eb9513f4e543f4990a7735bd8c
@@ -0,0 +1 @@
1
+ 1dccfd605dbf950c19bc645c4dac1ffde9e1c6d715739a8a5d4bf6c7a0a2d180fda9cf29229097e67c3f6add56e6ff26126958446866b246940a04bc0938d01a
@@ -3,11 +3,11 @@
3
3
  <groupId>expo.modules.router</groupId>
4
4
  <artifactId>expo.modules.router</artifactId>
5
5
  <versioning>
6
- <latest>56.2.13</latest>
7
- <release>56.2.13</release>
6
+ <latest>56.2.14</latest>
7
+ <release>56.2.14</release>
8
8
  <versions>
9
- <version>56.2.13</version>
9
+ <version>56.2.14</version>
10
10
  </versions>
11
- <lastUpdated>20260703084624</lastUpdated>
11
+ <lastUpdated>20260707091636</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- aba6890edb2e18853cef83091d6c6dc6
1
+ 28e1668017d9e47f5951c2b0027d9a29
@@ -1 +1 @@
1
- de7b4d7983ebac2d0ffc579f5d41c6c0b1d02692
1
+ fc3b69c23674a4d68909aab0306be4150d24d08a
@@ -1 +1 @@
1
- 4815597525a37d40e815aa2ccf735ca4f8a8fbe20513a49be41548fd204e15a9
1
+ d6ab9075473d19207f2412797f7b20e30c9b0ac8adb8977f5f1a862f6feab7d3
@@ -1 +1 @@
1
- fc873bde994303283f43d480e4fcafc04a85021aff129ac129d724adf52cad4b26756455018d9c500c7ad3cb36a3f929facd7edc718d972fd25b86ebf81cd9d1
1
+ 9cebfaea08f81651db5c0ef51f7378a0d7c25f369385dc895b9f4f19cefa89fe1ed10fc22f11e90528f3690c806b2704d8d8a209d91d9b28b72596e4ff53f32b
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-router",
3
- "version": "56.2.13",
3
+ "version": "56.2.14",
4
4
  "description": "Expo Router is a file-based router for React Native and web applications.",
5
5
  "author": "650 Industries, Inc.",
6
6
  "license": "MIT",
@@ -136,13 +136,13 @@
136
136
  "react-native-web": "~0.21.0",
137
137
  "react-server-dom-webpack": "~19.0.6",
138
138
  "tsd": "^0.33.0",
139
- "expo": "56.0.14"
139
+ "expo": "56.0.15"
140
140
  },
141
141
  "dependencies": {
142
142
  "@expo/log-box": "^56.0.14",
143
143
  "@expo/metro-runtime": "^56.0.16",
144
144
  "@expo/schema-utils": "^56.0.2",
145
- "@expo/ui": "^56.0.20",
145
+ "@expo/ui": "^56.0.21",
146
146
  "@radix-ui/react-slot": "^1.2.0",
147
147
  "@radix-ui/react-tabs": "^1.1.12",
148
148
  "@react-native-masked-view/masked-view": "^0.3.2",
@@ -169,7 +169,7 @@
169
169
  "standard-navigation": "^0.0.5",
170
170
  "vaul": "^1.1.2"
171
171
  },
172
- "gitHead": "b2e161a54f90a778ab7e5560c0c8f021bbfcaae2",
172
+ "gitHead": "f7fcf668bc1a31cccd73275e6c316a0d1253f4c9",
173
173
  "scripts": {
174
174
  "build": "node ./scripts/build.js",
175
175
  "clean": "expo-module clean",
@@ -1 +0,0 @@
1
- c5a4f66745311b02d022c7e332059c2bac604e9b8fe5f517d3290a2918d93b89
@@ -1 +0,0 @@
1
- a85aad55fb60be09c9d5865cc0ceea58d26abb2e00022556c934a89c4f90e0d75a781f918785a2c256f2cda53ed9986d2c98ae82da26e91b2b739bbc63fde2d4
@@ -1 +0,0 @@
1
- 63ad545f90cafcaccfec2dffdbddd4c46a9ba7e48494677a377eb52db93b7b61
@@ -1 +0,0 @@
1
- 89e97094198b9dd2ea42f17d3957382bab3c5fe639a0ef9b465cd8f148de91595945921384ed3dff0a04f302fbcb3cf4f7862fafc048c859c34d65d0b3f0cc98