expo-router 58.0.17 → 58.0.19

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 (190) hide show
  1. package/android/build.gradle +2 -2
  2. package/build/ExpoRoot.js +18 -21
  3. package/build/ExpoRoot.js.map +1 -1
  4. package/build/Route.d.ts +2 -10
  5. package/build/Route.js +0 -50
  6. package/build/Route.js.map +1 -1
  7. package/build/exports.d.ts +2 -2
  8. package/build/exports.js +12 -4
  9. package/build/exports.js.map +1 -1
  10. package/build/fork/NavigationContainer.js +38 -25
  11. package/build/fork/NavigationContainer.js.map +1 -1
  12. package/build/fork/useLinking.d.ts +11 -2
  13. package/build/fork/useLinking.js +4 -13
  14. package/build/fork/useLinking.js.map +1 -1
  15. package/build/fork/useLinking.native.d.ts +11 -2
  16. package/build/fork/useLinking.native.js +6 -18
  17. package/build/fork/useLinking.native.js.map +1 -1
  18. package/build/getReactNavigationConfig.js +7 -13
  19. package/build/getReactNavigationConfig.js.map +1 -1
  20. package/build/getRoutesCore.d.ts +1 -1
  21. package/build/getRoutesCore.js +9 -67
  22. package/build/getRoutesCore.js.map +1 -1
  23. package/build/global-state/RoutingQueueDrainer.d.ts +2 -2
  24. package/build/global-state/RoutingQueueDrainer.js +3 -2
  25. package/build/global-state/RoutingQueueDrainer.js.map +1 -1
  26. package/build/global-state/browserHistory.js +1 -1
  27. package/build/global-state/browserHistory.js.map +1 -1
  28. package/build/global-state/createSeededNavigationState.d.ts +1 -1
  29. package/build/global-state/createSeededNavigationState.js +73 -34
  30. package/build/global-state/createSeededNavigationState.js.map +1 -1
  31. package/build/global-state/getPathForState.js +1 -1
  32. package/build/global-state/getPathForState.js.map +1 -1
  33. package/build/global-state/getRouteInfoFromState.d.ts +5 -3
  34. package/build/global-state/getRouteInfoFromState.js +32 -1
  35. package/build/global-state/getRouteInfoFromState.js.map +1 -1
  36. package/build/global-state/internalNavigationEvents.d.ts +22 -0
  37. package/build/global-state/internalNavigationEvents.js +29 -0
  38. package/build/global-state/internalNavigationEvents.js.map +1 -0
  39. package/build/global-state/resolveNavigationDestination.d.ts +1 -1
  40. package/build/global-state/resolveNavigationDestination.js +4 -4
  41. package/build/global-state/resolveNavigationDestination.js.map +1 -1
  42. package/build/global-state/routingQueue.d.ts +5 -0
  43. package/build/global-state/routingQueue.js +15 -0
  44. package/build/global-state/routingQueue.js.map +1 -1
  45. package/build/global-state/routingQueueContext.d.ts +3 -3
  46. package/build/global-state/routingQueueContext.js +3 -1
  47. package/build/global-state/routingQueueContext.js.map +1 -1
  48. package/build/global-state/useNavigationTreeReducer.d.ts +4 -2
  49. package/build/global-state/useNavigationTreeReducer.js +122 -16
  50. package/build/global-state/useNavigationTreeReducer.js.map +1 -1
  51. package/build/global-state/useNavigationTreeReportEvents.js +9 -4
  52. package/build/global-state/useNavigationTreeReportEvents.js.map +1 -1
  53. package/build/global.js +0 -1
  54. package/build/global.js.map +1 -1
  55. package/build/hooks/useSearchParams.js +3 -0
  56. package/build/hooks/useSearchParams.js.map +1 -1
  57. package/build/internal/static.d.ts +1 -0
  58. package/build/internal/static.js +5 -0
  59. package/build/internal/static.js.map +1 -1
  60. package/build/layoutAnchor.d.ts +20 -0
  61. package/build/layoutAnchor.js +172 -0
  62. package/build/layoutAnchor.js.map +1 -0
  63. package/build/layouts/GuardContext.js +2 -2
  64. package/build/layouts/GuardContext.js.map +1 -1
  65. package/build/layouts/createNativeStackProps.d.ts +1 -1
  66. package/build/layouts/stack-utils/toolbar/StackToolbarMenu/native.android.js +2 -1
  67. package/build/layouts/stack-utils/toolbar/StackToolbarMenu/native.android.js.map +1 -1
  68. package/build/link/preview/HrefPreview.js +2 -2
  69. package/build/link/preview/HrefPreview.js.map +1 -1
  70. package/build/link/preview/LinkPreviewContext.js +2 -2
  71. package/build/link/preview/LinkPreviewContext.js.map +1 -1
  72. package/build/link/preview/usePreviewActivationPath.js +2 -2
  73. package/build/link/preview/usePreviewActivationPath.js.map +1 -1
  74. package/build/link/zoom/usePreventZoomTransitionDismissal.ios.js +2 -1
  75. package/build/link/zoom/usePreventZoomTransitionDismissal.ios.js.map +1 -1
  76. package/build/native-tabs/NativeBottomTabsNavigator.d.ts +1 -1
  77. package/build/native-tabs/NativeTabsView.android.js +3 -3
  78. package/build/native-tabs/NativeTabsView.android.js.map +1 -1
  79. package/build/native-tabs/NativeTabsView.ios.js +3 -3
  80. package/build/native-tabs/NativeTabsView.ios.js.map +1 -1
  81. package/build/native-tabs/NativeTabsView.shared.d.ts +3 -1
  82. package/build/native-tabs/NativeTabsView.shared.js +12 -0
  83. package/build/native-tabs/NativeTabsView.shared.js.map +1 -1
  84. package/build/native-tabs/utils/optionsIconConverter.android.d.ts +4 -2
  85. package/build/native-tabs/utils/optionsIconConverter.android.js +10 -4
  86. package/build/native-tabs/utils/optionsIconConverter.android.js.map +1 -1
  87. package/build/native-tabs/utils/optionsIconConverter.d.ts +2 -2
  88. package/build/native-tabs/utils/optionsIconConverter.ios.d.ts +4 -2
  89. package/build/native-tabs/utils/optionsIconConverter.ios.js +20 -8
  90. package/build/native-tabs/utils/optionsIconConverter.ios.js.map +1 -1
  91. package/build/native-tabs/utils/optionsIconConverter.js.map +1 -1
  92. package/build/native-tabs/utils/optionsIconConverter.shared.d.ts +8 -0
  93. package/build/native-tabs/utils/optionsIconConverter.shared.js.map +1 -1
  94. package/build/performance/enable.d.ts +8 -0
  95. package/build/performance/enable.js +31 -0
  96. package/build/performance/enable.js.map +1 -0
  97. package/build/performance/index.d.ts +64 -0
  98. package/build/performance/index.js +138 -0
  99. package/build/performance/index.js.map +1 -0
  100. package/build/performance/index.web.d.ts +10 -0
  101. package/build/performance/index.web.js +51 -0
  102. package/build/performance/index.web.js.map +1 -0
  103. package/build/performance/types.d.ts +91 -0
  104. package/build/react-navigation/core/BaseNavigationContainer.js +8 -4
  105. package/build/react-navigation/core/BaseNavigationContainer.js.map +1 -1
  106. package/build/react-navigation/core/RootNavigationStateContext.d.ts +1 -1
  107. package/build/react-navigation/core/isRenderingComponent.d.ts +2 -0
  108. package/build/{fork/useThenable.js → react-navigation/core/isRenderingComponent.js} +18 -47
  109. package/build/react-navigation/core/isRenderingComponent.js.map +1 -0
  110. package/build/react-navigation/core/types.d.ts +9 -12
  111. package/build/react-navigation/core/useCurrentRender.d.ts +2 -3
  112. package/build/react-navigation/core/useCurrentRender.js +4 -2
  113. package/build/react-navigation/core/useCurrentRender.js.map +1 -1
  114. package/build/react-navigation/core/useDescriptors.d.ts +2 -2
  115. package/build/react-navigation/core/useNavigationBuilder.d.ts +8 -8
  116. package/build/react-navigation/core/useNavigationBuilder.js +13 -12
  117. package/build/react-navigation/core/useNavigationBuilder.js.map +1 -1
  118. package/build/react-navigation/core/useNavigationCache.js +7 -0
  119. package/build/react-navigation/core/useNavigationCache.js.map +1 -1
  120. package/build/react-navigation/core/useNavigationHelpers.d.ts +4 -4
  121. package/build/react-navigation/core/useNavigationState.d.ts +1 -1
  122. package/build/react-navigation/native/useLinkBuilder.d.ts +8 -8
  123. package/build/react-navigation/native-stack/types.d.ts +1 -2
  124. package/build/react-navigation/native-stack/views/useHeaderConfigProps.js +12 -3
  125. package/build/react-navigation/native-stack/views/useHeaderConfigProps.js.map +1 -1
  126. package/build/react-navigation/routers/TabRouter.js +11 -2
  127. package/build/react-navigation/routers/TabRouter.js.map +1 -1
  128. package/build/routeNode.d.ts +9 -0
  129. package/build/routeNode.js +60 -0
  130. package/build/routeNode.js.map +1 -0
  131. package/build/standard-navigation/index.js +2 -1
  132. package/build/standard-navigation/index.js.map +1 -1
  133. package/build/standard-navigation/useVisibleTabsWithRedirect.js +2 -1
  134. package/build/standard-navigation/useVisibleTabsWithRedirect.js.map +1 -1
  135. package/build/static/getRouteInfoForLocation.d.ts +6 -0
  136. package/build/static/getRouteInfoForLocation.js +53 -0
  137. package/build/static/getRouteInfoForLocation.js.map +1 -0
  138. package/build/testing-library/index.d.ts +2 -1
  139. package/build/testing-library/index.js.map +1 -1
  140. package/build/typed-routes/types.d.ts +2 -2
  141. package/build/ui/Tabs.js +2 -1
  142. package/build/ui/Tabs.js.map +1 -1
  143. package/build/ui/common.js +4 -3
  144. package/build/ui/common.js.map +1 -1
  145. package/build/useFocusEffect.js +2 -2
  146. package/build/useScreens.js +26 -20
  147. package/build/useScreens.js.map +1 -1
  148. package/build/views/Navigator.js +2 -1
  149. package/build/views/Navigator.js.map +1 -1
  150. package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.17/expo.modules.router-58.0.17.module → 58.0.19/expo.modules.router-58.0.19.module} +7 -7
  151. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.module.md5 +1 -0
  152. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.module.sha1 +1 -0
  153. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.module.sha256 +1 -0
  154. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.module.sha512 +1 -0
  155. package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.17/expo.modules.router-58.0.17.pom → 58.0.19/expo.modules.router-58.0.19.pom} +1 -1
  156. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.pom.md5 +1 -0
  157. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.pom.sha1 +1 -0
  158. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.pom.sha256 +1 -0
  159. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.19/expo.modules.router-58.0.19.pom.sha512 +1 -0
  160. package/package.json +8 -8
  161. package/build/fork/useThenable.d.ts +0 -1
  162. package/build/fork/useThenable.js.map +0 -1
  163. package/build/navigationEvents/index.d.ts +0 -15
  164. package/build/navigationEvents/index.js +0 -68
  165. package/build/navigationEvents/index.js.map +0 -1
  166. package/build/navigationEvents/types.d.ts +0 -39
  167. package/build/navigationEvents/utils.d.ts +0 -8
  168. package/build/navigationEvents/utils.js +0 -44
  169. package/build/navigationEvents/utils.js.map +0 -1
  170. package/build/ts-declarations/expo-global.d.ts +0 -29
  171. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.17/expo.modules.router-58.0.17.module.md5 +0 -1
  172. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.17/expo.modules.router-58.0.17.module.sha1 +0 -1
  173. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.17/expo.modules.router-58.0.17.module.sha256 +0 -1
  174. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.17/expo.modules.router-58.0.17.module.sha512 +0 -1
  175. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.17/expo.modules.router-58.0.17.pom.md5 +0 -1
  176. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.17/expo.modules.router-58.0.17.pom.sha1 +0 -1
  177. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.17/expo.modules.router-58.0.17.pom.sha256 +0 -1
  178. package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.17/expo.modules.router-58.0.17.pom.sha512 +0 -1
  179. /package/build/{navigationEvents → performance}/types.js +0 -0
  180. /package/build/{navigationEvents → performance}/types.js.map +0 -0
  181. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.17/expo.modules.router-58.0.17-sources.jar → 58.0.19/expo.modules.router-58.0.19-sources.jar} +0 -0
  182. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.17/expo.modules.router-58.0.17-sources.jar.md5 → 58.0.19/expo.modules.router-58.0.19-sources.jar.md5} +0 -0
  183. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.17/expo.modules.router-58.0.17-sources.jar.sha1 → 58.0.19/expo.modules.router-58.0.19-sources.jar.sha1} +0 -0
  184. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.17/expo.modules.router-58.0.17-sources.jar.sha256 → 58.0.19/expo.modules.router-58.0.19-sources.jar.sha256} +0 -0
  185. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.17/expo.modules.router-58.0.17-sources.jar.sha512 → 58.0.19/expo.modules.router-58.0.19-sources.jar.sha512} +0 -0
  186. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.17/expo.modules.router-58.0.17.aar → 58.0.19/expo.modules.router-58.0.19.aar} +0 -0
  187. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.17/expo.modules.router-58.0.17.aar.md5 → 58.0.19/expo.modules.router-58.0.19.aar.md5} +0 -0
  188. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.17/expo.modules.router-58.0.17.aar.sha1 → 58.0.19/expo.modules.router-58.0.19.aar.sha1} +0 -0
  189. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.17/expo.modules.router-58.0.17.aar.sha256 → 58.0.19/expo.modules.router-58.0.19.aar.sha256} +0 -0
  190. /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.17/expo.modules.router-58.0.17.aar.sha512 → 58.0.19/expo.modules.router-58.0.19.aar.sha512} +0 -0
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'expo.modules.router'
7
- version = '58.0.17'
7
+ version = '58.0.19'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.router"
11
11
  defaultConfig {
12
12
  versionCode 1
13
- versionName "58.0.17"
13
+ versionName "58.0.19"
14
14
  }
15
15
  lintOptions {
16
16
  abortOnError false
package/build/ExpoRoot.js CHANGED
@@ -113,27 +113,24 @@ const INITIAL_METRICS = _reactnative().Platform.OS === 'web' || isTestEnv ? {
113
113
  } : undefined;
114
114
  function ExpoRoot({ wrapper: ParentWrapper = _react().Fragment, ...props }) {
115
115
  (0, _screensFeatureFlags.initScreensFeatureFlags)();
116
- /*
117
- * Due to static rendering we need to wrap these top level views in second wrapper
118
- * View's like <SafeAreaProvider /> generate a <div> so if the parent wrapper
119
- * is a HTML document, we need to ensure its inside the <body>
120
- */ const wrapper = (0, _react().useMemo)(()=>({ children })=>{
121
- return /*#__PURE__*/ (0, _jsxruntime().jsx)(ParentWrapper, {
122
- children: /*#__PURE__*/ (0, _jsxruntime().jsx)(_LinkPreviewContext.LinkPreviewContextProvider, {
123
- children: /*#__PURE__*/ (0, _jsxruntime().jsx)(_reactnativesafeareacontext().SafeAreaProvider, {
124
- // SSR support
125
- initialMetrics: INITIAL_METRICS,
126
- children: children
127
- })
128
- })
129
- });
130
- }, [
131
- ParentWrapper
132
- ]);
133
- return /*#__PURE__*/ (0, _jsxruntime().jsx)(_routingQueueContext.RoutingQueueProvider, {
134
- children: /*#__PURE__*/ (0, _jsxruntime().jsx)(ContextNavigator, {
135
- ...props,
136
- wrapper: wrapper
116
+ // On the server, the parent wrapper renders the HTML document and `<div id="root">`. It stays
117
+ // outside the navigation container, so the container's Suspense boundary is inside `#root`
118
+ // like in the browser.
119
+ return /*#__PURE__*/ (0, _jsxruntime().jsx)(ParentWrapper, {
120
+ children: /*#__PURE__*/ (0, _jsxruntime().jsx)(_routingQueueContext.RoutingQueueProvider, {
121
+ children: /*#__PURE__*/ (0, _jsxruntime().jsx)(ContextNavigator, {
122
+ ...props,
123
+ wrapper: AppWrapper
124
+ })
125
+ })
126
+ });
127
+ }
128
+ function AppWrapper({ children }) {
129
+ return /*#__PURE__*/ (0, _jsxruntime().jsx)(_LinkPreviewContext.LinkPreviewContextProvider, {
130
+ children: /*#__PURE__*/ (0, _jsxruntime().jsx)(_reactnativesafeareacontext().SafeAreaProvider, {
131
+ // SSR support
132
+ initialMetrics: INITIAL_METRICS,
133
+ children: children
137
134
  })
138
135
  });
139
136
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["ExpoRoot.tsx"],"sourcesContent":[null],"names":["ExpoRoot","isTestEnv","process","env","NODE_ENV","INITIAL_METRICS","Platform","OS","frame","x","y","width","height","insets","top","left","right","bottom","undefined","wrapper","ParentWrapper","Fragment","props","initScreensFeatureFlags","useMemo","children","LinkPreviewContextProvider","SafeAreaProvider","initialMetrics","RoutingQueueProvider","ContextNavigator","initialUrl","window","URL","location","href","context","initialLocation","WrapperComponent","linking","serverUrl","url","parseUrlUsingCustomBase","pathname","search","hash","routerConfig","rootComponent","useRouterConfig","linkingConfig","routeNode","useDomComponentNavigation","SplashScreen","hideAsync","Tutorial","require","RouterConfigContext","Provider","value","RemovalPreventionProvider","UpstreamNavigationContainer","ref","navigationRef","Content","Screen","name","INTERNAL_SLOT_NAME","component","shouldAppendNotFound","push","NOT_FOUND_ROUTE_NAME","RootUnmatched","shouldAppendSitemap","SITEMAP_ROUTE_NAME","Sitemap","state","descriptors","NavigationContent","useNavigationBuilder","StackRouter","id","useEffect","maybeHideSplashScreen","routes","index","key","render"],"mappings":"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"}
1
+ {"version":3,"sources":["ExpoRoot.tsx"],"sourcesContent":[null],"names":["ExpoRoot","isTestEnv","process","env","NODE_ENV","INITIAL_METRICS","Platform","OS","frame","x","y","width","height","insets","top","left","right","bottom","undefined","wrapper","ParentWrapper","Fragment","props","initScreensFeatureFlags","RoutingQueueProvider","ContextNavigator","AppWrapper","children","LinkPreviewContextProvider","SafeAreaProvider","initialMetrics","initialUrl","window","URL","location","href","context","initialLocation","WrapperComponent","linking","serverUrl","useMemo","url","parseUrlUsingCustomBase","pathname","search","hash","routerConfig","rootComponent","useRouterConfig","linkingConfig","routeNode","useDomComponentNavigation","SplashScreen","hideAsync","Tutorial","require","RouterConfigContext","Provider","value","RemovalPreventionProvider","UpstreamNavigationContainer","ref","navigationRef","Content","Screen","name","INTERNAL_SLOT_NAME","component","shouldAppendNotFound","push","NOT_FOUND_ROUTE_NAME","RootUnmatched","shouldAppendSitemap","SITEMAP_ROUTE_NAME","Sitemap","state","descriptors","NavigationContent","useNavigationBuilder","StackRouter","id","useEffect","maybeHideSplashScreen","routes","index","key","render"],"mappings":"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"}
package/build/Route.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import type { GenerateMetadataFunction, LoaderFunction } from 'expo-server';
2
2
  import { type ComponentType, type PropsWithChildren } from 'react';
3
- import type { PartialRoute, Route as NavigationRoute } from './react-navigation/routers';
4
3
  import { sortRoutesWithInitial, sortRoutes } from './sortRoutes';
5
4
  import type { SuspenseFallbackProps } from './views/SuspenseFallback';
6
5
  import type { ErrorBoundaryProps } from './views/Try';
@@ -34,8 +33,8 @@ export type RouteNode = {
34
33
  type: 'route' | 'api' | 'layout' | 'redirect' | 'rewrite';
35
34
  /** Load a route into memory. Returns the exports from a route. */
36
35
  loadRoute: () => LoadedRoute;
37
- /** Loaded initial route name. */
38
- initialRouteName?: string;
36
+ /** Last group in the layout path. Selects group-specific `unstable_settings` and the default anchor. */
37
+ groupName?: string;
39
38
  /** Nested routes */
40
39
  children: RouteNode[];
41
40
  /** Is the route a dynamic path */
@@ -68,13 +67,6 @@ export declare const ScreenErrorBoundaryContext: import("react").Context<Compone
68
67
  export declare const LocalRouteParamsContext: import("react").Context<object | undefined>;
69
68
  /** Return the RouteNode at the current contextual boundary. */
70
69
  export declare function useRouteNode(): RouteNode | null;
71
- export declare function findRouteNodeByName(node: RouteNode | null | undefined, name: string | undefined): RouteNode | undefined;
72
- export declare function findRouteNodeAndParamsForState(node: RouteNode | null | undefined, state: PartialRoute<NavigationRoute<string>>['state']): {
73
- routeNode: RouteNode | undefined;
74
- params: Record<string, unknown>;
75
- };
76
- export declare function getValidInitialRoute(node: RouteNode | null, initialRouteName?: string | undefined, groupName?: string): RouteNode | undefined;
77
- export declare const getValidInitialRouteName: (node: RouteNode | null, initialRouteName?: string | undefined) => string | undefined;
78
70
  export declare function useContextKey(): string;
79
71
  export type RouteProps = PropsWithChildren<{
80
72
  node: RouteNode;
package/build/Route.js CHANGED
@@ -8,10 +8,6 @@ Object.defineProperty(exports, "__esModule", {
8
8
  Route: null,
9
9
  ScreenErrorBoundaryContext: null,
10
10
  SuspenseFallbackContext: null,
11
- findRouteNodeAndParamsForState: null,
12
- findRouteNodeByName: null,
13
- getValidInitialRoute: null,
14
- getValidInitialRouteName: null,
15
11
  sortRoutes: null,
16
12
  sortRoutesWithInitial: null,
17
13
  useContextKey: null,
@@ -36,18 +32,6 @@ _export(exports, {
36
32
  get SuspenseFallbackContext () {
37
33
  return SuspenseFallbackContext;
38
34
  },
39
- get findRouteNodeAndParamsForState () {
40
- return findRouteNodeAndParamsForState;
41
- },
42
- get findRouteNodeByName () {
43
- return findRouteNodeByName;
44
- },
45
- get getValidInitialRoute () {
46
- return getValidInitialRoute;
47
- },
48
- get getValidInitialRouteName () {
49
- return getValidInitialRouteName;
50
- },
51
35
  get sortRoutes () {
52
36
  return _sortRoutes.sortRoutes;
53
37
  },
@@ -87,40 +71,6 @@ if (process.env.NODE_ENV !== 'production') {
87
71
  function useRouteNode() {
88
72
  return (0, _react().use)(CurrentRouteContext);
89
73
  }
90
- function findRouteNodeByName(node, name) {
91
- return node?.children.find((child)=>child.route === name);
92
- }
93
- function findRouteNodeAndParamsForState(node, state) {
94
- const params = {};
95
- if (!state) {
96
- return {
97
- routeNode: undefined,
98
- params
99
- };
100
- }
101
- let routeNode = node ?? undefined;
102
- while(state){
103
- const route = state.routes[state.index ?? state.routes.length - 1];
104
- Object.assign(params, route?.params);
105
- routeNode = findRouteNodeByName(routeNode, route?.name);
106
- state = route?.state;
107
- }
108
- return {
109
- routeNode,
110
- params
111
- };
112
- }
113
- function getValidInitialRoute(node, initialRouteName = node?.initialRouteName, groupName) {
114
- if (!node || !initialRouteName) {
115
- return undefined;
116
- }
117
- const route = findRouteNodeByName(node, initialRouteName) || findRouteNodeByName(node, `${initialRouteName}/index`);
118
- if (!route) {
119
- throw new Error(`The initial route name "${initialRouteName}"${groupName ? ` for group "${groupName}"` : ''} was not found in the layout at "${node.contextKey}". ` + `Available routes are: ${node.children.map(({ route })=>`"${route}"`).join(', ')}. ` + 'Set `unstable_settings.anchor` to the name of a route in this layout.');
120
- }
121
- return route;
122
- }
123
- const getValidInitialRouteName = (node, initialRouteName = node?.initialRouteName)=>getValidInitialRoute(node, initialRouteName)?.route;
124
74
  function useContextKey() {
125
75
  const node = useRouteNode();
126
76
  if (node == null) {
@@ -1 +1 @@
1
- {"version":3,"sources":["Route.tsx"],"sourcesContent":[null],"names":["LocalRouteParamsContext","Route","ScreenErrorBoundaryContext","SuspenseFallbackContext","findRouteNodeAndParamsForState","findRouteNodeByName","getValidInitialRoute","getValidInitialRouteName","sortRoutes","sortRoutesWithInitial","useContextKey","useRouteNode","CurrentRouteContext","createContext","undefined","process","env","NODE_ENV","displayName","use","node","name","children","find","child","route","state","params","routeNode","routes","index","length","Object","assign","initialRouteName","groupName","Error","contextKey","map","join","getContextKey","Provider","value"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;QA6EaA;eAAAA;;QA+EGC;eAAAA;;QAlFHC;eAAAA;;QAJAC;eAAAA;;QAyBGC;eAAAA;;QAPAC;eAAAA;;QA4BAC;eAAAA;;QAqBHC;eAAAA;;QA2BmBC;eAAAA,sBAAU;;QAAjCC;eAAAA,iCAAqB;;QAtBdC;eAAAA;;QA1DAC;eAAAA;;;;;;;;;;;yBAjF+D;;;;;;0BAEjD;4BAEoB;AA6DlD,MAAMC,oCAAsBC,IAAAA,sBAAa,EAAmB;AAErD,MAAMV,wCAA0BU,IAAAA,sBAAa,EAElDC;AAEK,MAAMZ,2CAA6BW,IAAAA,sBAAa,EAErDC;AACK,MAAMd,wCAA0Ba,IAAAA,sBAAa,EAAqB,CAAC;AAE1E,IAAIE,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;IACzCL,oBAAoBM,WAAW,GAAG;AACpC;AAGO,SAASP;IACd,OAAOQ,IAAAA,YAAG,EAACP;AACb;AAEO,SAASP,oBACde,IAAkC,EAClCC,IAAwB;IAExB,OAAOD,MAAME,SAASC,KAAK,CAACC,QAAUA,MAAMC,KAAK,KAAKJ;AACxD;AAEO,SAASjB,+BACdgB,IAAkC,EAClCM,KAAqD;IAErD,MAAMC,SAAkC,CAAC;IACzC,IAAI,CAACD,OAAO;QACV,OAAO;YAAEE,WAAWd;YAAWa;QAAO;IACxC;IACA,IAAIC,YAAYR,QAAQN;IAExB,MAAOY,MAAO;QACZ,MAAMD,QACJC,MAAMG,MAAM,CAACH,MAAMI,KAAK,IAAIJ,MAAMG,MAAM,CAACE,MAAM,GAAG,EAAE;QACtDC,OAAOC,MAAM,CAACN,QAAQF,OAAOE;QAC7BC,YAAYvB,oBAAoBuB,WAAWH,OAAOJ;QAClDK,QAAQD,OAAOC;IACjB;IAEA,OAAO;QAAEE;QAAWD;IAAO;AAC7B;AAEO,SAASrB,qBACdc,IAAsB,EACtBc,mBAAmBd,MAAMc,gBAAgB,EACzCC,SAAkB;IAElB,IAAI,CAACf,QAAQ,CAACc,kBAAkB;QAC9B,OAAOpB;IACT;IACA,MAAMW,QACJpB,oBAAoBe,MAAMc,qBAC1B7B,oBAAoBe,MAAM,GAAGc,iBAAiB,MAAM,CAAC;IACvD,IAAI,CAACT,OAAO;QACV,MAAM,IAAIW,MACR,CAAC,wBAAwB,EAAEF,iBAAiB,CAAC,EAAEC,YAAY,CAAC,YAAY,EAAEA,UAAU,CAAC,CAAC,GAAG,GAAG,iCAAiC,EAAEf,KAAKiB,UAAU,CAAC,GAAG,CAAC,GACjJ,CAAC,sBAAsB,EAAEjB,KAAKE,QAAQ,CAACgB,GAAG,CAAC,CAAC,EAAEb,KAAK,EAAE,GAAK,CAAC,CAAC,EAAEA,MAAM,CAAC,CAAC,EAAEc,IAAI,CAAC,MAAM,EAAE,CAAC,GACtF;IAEN;IACA,OAAOd;AACT;AAEO,MAAMlB,2BAA2B,CACtCa,MACAc,mBAAmBd,MAAMc,gBAAgB,GACtC5B,qBAAqBc,MAAMc,mBAAmBT;AAE5C,SAASf;IACd,MAAMU,OAAOT;IACb,IAAIS,QAAQ,MAAM;QAChB,MAAM,IAAIgB,MAAM;IAClB;IACA,OAAOI,IAAAA,uBAAa,EAACpB,KAAKiB,UAAU;AACtC;AAQO,SAASpC,MAAM,EAAEqB,QAAQ,EAAEF,IAAI,EAAEO,MAAM,EAAc;IAC1D,qBACE,uBAAC3B,wBAAwByC,QAAQ;QAACC,OAAOf;kBACvC,cAAA,uBAACf,oBAAoB6B,QAAQ;YAACC,OAAOtB;sBAAOE;;;AAGlD"}
1
+ {"version":3,"sources":["Route.tsx"],"sourcesContent":[null],"names":["LocalRouteParamsContext","Route","ScreenErrorBoundaryContext","SuspenseFallbackContext","sortRoutes","sortRoutesWithInitial","useContextKey","useRouteNode","CurrentRouteContext","createContext","undefined","process","env","NODE_ENV","displayName","use","node","Error","getContextKey","contextKey","children","params","Provider","value"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;QA4EaA;eAAAA;;QAyBGC;eAAAA;;QA5BHC;eAAAA;;QAJAC;eAAAA;;QAwCmBC;eAAAA,sBAAU;;QAAjCC;eAAAA,iCAAqB;;QAtBdC;eAAAA;;QAJAC;eAAAA;;;;;;;;;;;yBAhF+D;;;;;;0BAEjD;4BACoB;AA6DlD,MAAMC,oCAAsBC,IAAAA,sBAAa,EAAmB;AAErD,MAAMN,wCAA0BM,IAAAA,sBAAa,EAElDC;AAEK,MAAMR,2CAA6BO,IAAAA,sBAAa,EAErDC;AACK,MAAMV,wCAA0BS,IAAAA,sBAAa,EAAqB,CAAC;AAE1E,IAAIE,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;IACzCL,oBAAoBM,WAAW,GAAG;AACpC;AAGO,SAASP;IACd,OAAOQ,IAAAA,YAAG,EAACP;AACb;AAEO,SAASF;IACd,MAAMU,OAAOT;IACb,IAAIS,QAAQ,MAAM;QAChB,MAAM,IAAIC,MAAM;IAClB;IACA,OAAOC,IAAAA,uBAAa,EAACF,KAAKG,UAAU;AACtC;AAQO,SAASlB,MAAM,EAAEmB,QAAQ,EAAEJ,IAAI,EAAEK,MAAM,EAAc;IAC1D,qBACE,uBAACrB,wBAAwBsB,QAAQ;QAACC,OAAOF;kBACvC,cAAA,uBAACb,oBAAoBc,QAAQ;YAACC,OAAOP;sBAAOI;;;AAGlD"}
@@ -45,8 +45,8 @@ export { attachRouteState, extendRouter, extendRouterActions, StackRouter, TabRo
45
45
  export { NativeStackView } from './react-navigation/native-stack';
46
46
  export type { NativeStackDescriptorMap, NativeStackViewState, } from './react-navigation/native-stack';
47
47
  export type { CommonNavigationAction, DefaultRouterOptions, NavigationAction, NavigationState, Router, RouterActionContext, RouterActionReducer, RouterActionResult, RouterBrowserHistoryAction, RouterConfigOptions, RouterExtension, RouterExtensionContext, RouterExtensionOptions, RouterFactory, StackActionType, StackNavigationState, StackRouterOptions, TabActionType, TabNavigationState, TabRouterOptions, } from './react-navigation/routers';
48
- export { unstable_navigationEvents } from './navigationEvents';
49
- export type { PagePreloadedEvent, PageFocusedEvent, PageBlurredEvent, PageRemoved, ActionDispatchedEvent, RoutePreloadedEvent, AnalyticsEvent, } from './navigationEvents';
48
+ export { unstable_enablePerformanceIntegration, unstable_performance, unstable_PerformanceObserver, } from './performance';
49
+ export type { RouterPageMarkDetail, RouterActionMarkDetail, RouterPagePreloadedMark, RouterPageFocusedMark, RouterPageBlurredMark, RouterPageRemovedMark, RouterActionEnqueuedMark, RouterActionDispatchedMark, RouterPerformanceMark, RouterPerformanceMarkByName, BaseRouterPerformanceMark, } from './performance';
50
50
  /**
51
51
  * @deprecated Use `import { Tabs } from 'expo-router/js-tabs'` instead.
52
52
  */
package/build/exports.js CHANGED
@@ -36,9 +36,11 @@ Object.defineProperty(exports, "__esModule", {
36
36
  extendRouterActions: null,
37
37
  integrateWithRouter: null,
38
38
  router: null,
39
+ unstable_PerformanceObserver: null,
39
40
  unstable_createStandardRouterNavigator: null,
41
+ unstable_enablePerformanceIntegration: null,
40
42
  unstable_integrateWithRouter: null,
41
- unstable_navigationEvents: null,
43
+ unstable_performance: null,
42
44
  unstable_useIsNavigating: null,
43
45
  useCurrentRouteInfo: null,
44
46
  useFocusEffect: null,
@@ -165,14 +167,20 @@ _export(exports, {
165
167
  get router () {
166
168
  return _imperativeapi.router;
167
169
  },
170
+ get unstable_PerformanceObserver () {
171
+ return _performance.unstable_PerformanceObserver;
172
+ },
168
173
  get unstable_createStandardRouterNavigator () {
169
174
  return _standardnavigation.unstable_createStandardRouterNavigator;
170
175
  },
176
+ get unstable_enablePerformanceIntegration () {
177
+ return _performance.unstable_enablePerformanceIntegration;
178
+ },
171
179
  get unstable_integrateWithRouter () {
172
180
  return _standardnavigation.unstable_integrateWithRouter;
173
181
  },
174
- get unstable_navigationEvents () {
175
- return _navigationEvents.unstable_navigationEvents;
182
+ get unstable_performance () {
183
+ return _performance.unstable_performance;
176
184
  },
177
185
  get unstable_useIsNavigating () {
178
186
  return _useIsNavigating.useIsNavigating;
@@ -273,7 +281,7 @@ const _createBaseTabProps = require("./layouts/createBaseTabProps");
273
281
  const _createNativeStackProps = require("./layouts/createNativeStackProps");
274
282
  const _routers = require("./react-navigation/routers");
275
283
  const _nativestack = require("./react-navigation/native-stack");
276
- const _navigationEvents = require("./navigationEvents");
284
+ const _performance = require("./performance");
277
285
  const _Tabs = require("./layouts/Tabs");
278
286
  const _experimentalstack = require("./layouts/experimental-stack");
279
287
  function _getRequireWildcardCache(nodeInterop) {
@@ -1 +1 @@
1
- {"version":3,"sources":["exports.ts"],"sourcesContent":[null],"names":["Badge","DarkTheme","DefaultTheme","ErrorBoundary","ExperimentalStack","ExpoRoot","Icon","IsWithinNativeNavigator","Label","LocaleProvider","NativeStackView","NavigationAwareActivity","Navigator","Sitemap","Slot","SplashScreen","StackRouter","SuspenseFallback","TabRouter","Tabs","ThemeProvider","Unmatched","VectorIcon","attachRouteState","createBaseStackProps","createBaseTabProps","createNativeStackProps","createStandardRouterNavigator","extendRouter","extendRouterActions","integrateWithRouter","router","unstable_createStandardRouterNavigator","unstable_integrateWithRouter","unstable_navigationEvents","unstable_useIsNavigating","useIsNavigating","useCurrentRouteInfo","useFocusEffect","useGlobalSearchParams","useIsFocused","useLoaderData","useLocalSearchParams","useNavigation","useNavigationContainerRef","usePathname","usePreventRemove","useRootNavigation","useRootNavigationState","useRoute","useRoutePath","useRouter","useScrollToTop","useSegments","useSitemap","useTheme","useUnstableGlobalHref","withLayoutContext"],"mappings":"AAAA,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkEhBA;eAAAA,iBAAK;;QApBEC;eAAAA,oBAAS;;QACTC;eAAAA,0BAAY;;QAlBZC;eAAAA,4BAAa;;QAyHbC;eAAAA,oCAAiB;;QA9HjBC;eAAAA,kBAAQ;;QA4CfC;eAAAA,gBAAI;;QASJC;eAAAA,2CAAuB;;QAPvBC;eAAAA,iBAAK;;QApBEC;eAAAA,8BAAc;;QAwDdC;eAAAA,4BAAe;;QA3EfC;eAAAA,gDAAuB;;QAVvBC;eAAAA,oBAAS;;QAKTC;eAAAA,gBAAO;;QALIC;eAAAA,eAAI;;QAiBZC;;;QAiEVC;eAAAA,oBAAW;;QAzEJC;eAAAA,kCAAgB;;QA0EvBC;eAAAA,kBAAS;;QA4CFC;eAAAA,UAAI;;QApGJC;eAAAA,4BAAa;;QAvBbC;eAAAA,oBAAS;;QA+ChBC;eAAAA,sBAAU;;QA4BVC;eAAAA,yBAAgB;;QATTC;eAAAA,0CAAoB;;QACpBC;eAAAA,sCAAkB;;QAClBC;eAAAA,8CAAsB;;QAf7BC;eAAAA,iDAA6B;;QAuB7BC;eAAAA,qBAAY;;QACZC;eAAAA,4BAAmB;;QAvBnBC;eAAAA,uCAAmB;;QA9DZC;eAAAA,qBAAM;;QA+DbC;eAAAA,0DAAsC;;QACtCC;eAAAA,gDAA4B;;QAqDrBC;eAAAA,2CAAyB;;QApHNC;eAAnBC,gCAAe;;QAJtBC;eAAAA,0BAAmB;;QA4BZC;eAAAA,8BAAc;;QAlCrBC;eAAAA,4BAAqB;;QAmCdC;eAAAA,0BAAY;;QA9BnBC;eAAAA,oBAAa;;QAJbC;eAAAA,2BAAoB;;QAgCbC;eAAAA,4BAAa;;QAlCpBC;eAAAA,gCAAyB;;QADzBC;eAAAA,kBAAW;;QAmDXC;eAAAA,kCAAgB;;QA9ChBC;eAAAA,wBAAiB;;QACjBC;eAAAA,6BAAsB;;QA0CfC;eAAAA,kBAAQ;;QAFRC;eAAAA,0BAAY;;QAhDnBC;eAAAA,gBAAS;;QAiDFC;eAAAA,8BAAc;;QA3CrBC;eAAAA,kBAAW;;QAiBJC;eAAAA,sBAAU;;QAsBVC;eAAAA,kBAAQ;;QA5CfC;eAAAA,4BAAqB;;QAedC;eAAAA,oCAAiB;;;2BAnBM;uBAczB;+BAEsE;iCACjB;mCAE1B;0BAIT;2BACC;yBACF;4BACqB;+BAEf;kCAC+B;yCACrB;gEAOV;+BAGA;gCACsB;8BACvB;2BAGH;8BACG;+BACC;0BACL;gCACgC;8BAE5B;gCACE;0BACN;kCAIlB;4BAgBA;oCAQA;sCAS8B;oCACF;wCACI;yBAYhC;6BACyB;kCA4BU;sBAcrB;mCAEa"}
1
+ {"version":3,"sources":["exports.ts"],"sourcesContent":[null],"names":["Badge","DarkTheme","DefaultTheme","ErrorBoundary","ExperimentalStack","ExpoRoot","Icon","IsWithinNativeNavigator","Label","LocaleProvider","NativeStackView","NavigationAwareActivity","Navigator","Sitemap","Slot","SplashScreen","StackRouter","SuspenseFallback","TabRouter","Tabs","ThemeProvider","Unmatched","VectorIcon","attachRouteState","createBaseStackProps","createBaseTabProps","createNativeStackProps","createStandardRouterNavigator","extendRouter","extendRouterActions","integrateWithRouter","router","unstable_PerformanceObserver","unstable_createStandardRouterNavigator","unstable_enablePerformanceIntegration","unstable_integrateWithRouter","unstable_performance","unstable_useIsNavigating","useIsNavigating","useCurrentRouteInfo","useFocusEffect","useGlobalSearchParams","useIsFocused","useLoaderData","useLocalSearchParams","useNavigation","useNavigationContainerRef","usePathname","usePreventRemove","useRootNavigation","useRootNavigationState","useRoute","useRoutePath","useRouter","useScrollToTop","useSegments","useSitemap","useTheme","useUnstableGlobalHref","withLayoutContext"],"mappings":"AAAA,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkEhBA;eAAAA,iBAAK;;QApBEC;eAAAA,oBAAS;;QACTC;eAAAA,0BAAY;;QAlBZC;eAAAA,4BAAa;;QAiIbC;eAAAA,oCAAiB;;QAtIjBC;eAAAA,kBAAQ;;QA4CfC;eAAAA,gBAAI;;QASJC;eAAAA,2CAAuB;;QAPvBC;eAAAA,iBAAK;;QApBEC;eAAAA,8BAAc;;QAwDdC;eAAAA,4BAAe;;QA3EfC;eAAAA,gDAAuB;;QAVvBC;eAAAA,oBAAS;;QAKTC;eAAAA,gBAAO;;QALIC;eAAAA,eAAI;;QAiBZC;;;QAiEVC;eAAAA,oBAAW;;QAzEJC;eAAAA,kCAAgB;;QA0EvBC;eAAAA,kBAAS;;QAoDFC;eAAAA,UAAI;;QA5GJC;eAAAA,4BAAa;;QAvBbC;eAAAA,oBAAS;;QA+ChBC;eAAAA,sBAAU;;QA4BVC;eAAAA,yBAAgB;;QATTC;eAAAA,0CAAoB;;QACpBC;eAAAA,sCAAkB;;QAClBC;eAAAA,8CAAsB;;QAf7BC;eAAAA,iDAA6B;;QAuB7BC;eAAAA,qBAAY;;QACZC;eAAAA,4BAAmB;;QAvBnBC;eAAAA,uCAAmB;;QA9DZC;eAAAA,qBAAM;;QAwHbC;eAAAA,yCAA4B;;QAzD5BC;eAAAA,0DAAsC;;QAuDtCC;eAAAA,kDAAqC;;QAtDrCC;eAAAA,gDAA4B;;QAuD5BC;eAAAA,iCAAoB;;QAtHMC;eAAnBC,gCAAe;;QAJtBC;eAAAA,0BAAmB;;QA4BZC;eAAAA,8BAAc;;QAlCrBC;eAAAA,4BAAqB;;QAmCdC;eAAAA,0BAAY;;QA9BnBC;eAAAA,oBAAa;;QAJbC;eAAAA,2BAAoB;;QAgCbC;eAAAA,4BAAa;;QAlCpBC;eAAAA,gCAAyB;;QADzBC;eAAAA,kBAAW;;QAmDXC;eAAAA,kCAAgB;;QA9ChBC;eAAAA,wBAAiB;;QACjBC;eAAAA,6BAAsB;;QA0CfC;eAAAA,kBAAQ;;QAFRC;eAAAA,0BAAY;;QAhDnBC;eAAAA,gBAAS;;QAiDFC;eAAAA,8BAAc;;QA3CrBC;eAAAA,kBAAW;;QAiBJC;eAAAA,sBAAU;;QAsBVC;eAAAA,kBAAQ;;QA5CfC;eAAAA,4BAAqB;;QAedC;eAAAA,oCAAiB;;;2BAnBM;uBAczB;+BAEsE;iCACjB;mCAE1B;0BAIT;2BACC;yBACF;4BACqB;+BAEf;kCAC+B;yCACrB;gEAOV;+BAGA;gCACsB;8BACvB;2BAGH;8BACG;+BACC;0BACL;gCACgC;8BAE5B;gCACE;0BACN;kCAIlB;4BAgBA;oCAQA;sCAS8B;oCACF;wCACI;yBAYhC;6BACyB;6BAgCzB;sBAkBc;mCAEa"}
@@ -36,7 +36,6 @@ const _getPathFromState = require("./getPathFromState");
36
36
  const _getStateFromPath = require("./getStateFromPath");
37
37
  const _useBackButton = require("./useBackButton");
38
38
  const _useLinking = require("./useLinking");
39
- const _useThenable = require("./useThenable");
40
39
  const _validatePathConfig = require("./validatePathConfig");
41
40
  function _interop_require_default(obj) {
42
41
  return obj && obj.__esModule ? obj : {
@@ -70,11 +69,39 @@ globalThis.REACT_NAVIGATION_DEVTOOLS = new WeakMap();
70
69
  }), [
71
70
  linking
72
71
  ]);
72
+ // Kept outside the Suspense boundary so a retry after loading reads the same promise.
73
+ const [initialState] = _react().default.useState(getInitialState);
74
+ return /*#__PURE__*/ (0, _jsxruntime().jsx)(_react().default.Suspense, {
75
+ fallback: /*#__PURE__*/ (0, _jsxruntime().jsx)(_native.ThemeProvider, {
76
+ value: theme,
77
+ children: fallback
78
+ }),
79
+ children: /*#__PURE__*/ (0, _jsxruntime().jsx)(_native.LocaleDirContext.Provider, {
80
+ value: direction,
81
+ children: /*#__PURE__*/ (0, _jsxruntime().jsx)(_native.LinkingContext.Provider, {
82
+ value: linkingContext,
83
+ children: /*#__PURE__*/ (0, _jsxruntime().jsx)(InitialStateNavigationContainer, {
84
+ ...rest,
85
+ initialState: initialState,
86
+ linking: linking,
87
+ theme: theme,
88
+ routeNode: routerConfig?.routeNode ?? undefined,
89
+ containerRef: refContainer,
90
+ ref: ref
91
+ })
92
+ })
93
+ })
94
+ });
95
+ }
96
+ function InitialStateNavigationContainer({ initialState: initialStateOrPromise, linking, routeNode, containerRef, ref, ...rest }) {
97
+ const initialState = isThenable(initialStateOrPromise) ? _react().default.use(initialStateOrPromise) : initialStateOrPromise;
98
+ // Set here, not in the parent, so the ref is set once the container mounts after waiting.
99
+ _react().default.useImperativeHandle(ref, ()=>containerRef.current);
73
100
  // Add additional linking related info to the ref
74
101
  // This will be used by the devtools
75
102
  _react().default.useEffect(()=>{
76
- if (refContainer.current) {
77
- REACT_NAVIGATION_DEVTOOLS.set(refContainer.current, {
103
+ if (containerRef.current) {
104
+ REACT_NAVIGATION_DEVTOOLS.set(containerRef.current, {
78
105
  get linking () {
79
106
  return {
80
107
  ...linking,
@@ -86,33 +113,19 @@ globalThis.REACT_NAVIGATION_DEVTOOLS = new WeakMap();
86
113
  });
87
114
  }
88
115
  });
89
- const [isResolved, initialState] = (0, _useThenable.useThenable)(getInitialState);
90
- _react().default.useImperativeHandle(ref, ()=>refContainer.current);
91
- if (!isResolved) {
92
- // This is temporary until we have Suspense for data-fetching
93
- // Then the fallback will be handled by a parent `Suspense` component
94
- return /*#__PURE__*/ (0, _jsxruntime().jsx)(_native.ThemeProvider, {
95
- value: theme,
96
- children: fallback
97
- });
98
- }
99
116
  if (initialState === undefined) {
100
117
  throw new Error('Linking did not produce an initial navigation state. Expo Router always seeds a complete initial state before rendering the navigation container, so this is most likely a bug in expo-router. Please report it at https://github.com/expo/expo/issues.');
101
118
  }
102
- return /*#__PURE__*/ (0, _jsxruntime().jsx)(_native.LocaleDirContext.Provider, {
103
- value: direction,
104
- children: /*#__PURE__*/ (0, _jsxruntime().jsx)(_native.LinkingContext.Provider, {
105
- value: linkingContext,
106
- children: /*#__PURE__*/ (0, _jsxruntime().jsx)(_BaseNavigationContainer.BaseNavigationContainer, {
107
- ...rest,
108
- theme: theme,
109
- initialState: initialState,
110
- UNSTABLE_routeNode: routerConfig?.routeNode ?? undefined,
111
- ref: refContainer
112
- })
113
- })
119
+ return /*#__PURE__*/ (0, _jsxruntime().jsx)(_BaseNavigationContainer.BaseNavigationContainer, {
120
+ ...rest,
121
+ initialState: initialState,
122
+ UNSTABLE_routeNode: routeNode,
123
+ ref: containerRef
114
124
  });
115
125
  }
126
+ function isThenable(value) {
127
+ return typeof value === 'object' && value !== null && 'then' in value && typeof value.then === 'function';
128
+ }
116
129
  const NavigationContainer = NavigationContainerInner;
117
130
 
118
131
  //# sourceMappingURL=NavigationContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["fork/NavigationContainer.tsx"],"sourcesContent":[null],"names":["NavigationContainer","globalThis","REACT_NAVIGATION_DEVTOOLS","WeakMap","NavigationContainerInner","direction","I18nManager","getConstants","isRTL","theme","DefaultTheme","linking","fallback","ref","rest","routerConfig","React","use","RouterConfigContext","config","validatePathConfig","refContainer","useRef","useBackButton","getInitialState","useLinking","prefixes","linkingContext","useMemo","options","useEffect","current","set","getStateFromPath","getPathFromState","isResolved","initialState","useThenable","useImperativeHandle","ThemeProvider","value","undefined","Error","LocaleDirContext","Provider","LinkingContext","BaseNavigationContainer","UNSTABLE_routeNode","routeNode"],"mappings":";;;;+BA8HaA;;;eAAAA;;;;;;;;;;;gEA9HK;;;;;;;yBACU;;;;;;qCAEQ;yCACI;wBAajC;kCAC0B;kCACA;+BACH;4BACH;6BACC;oCACO;;;;;;AAUnCC,WAAWC,yBAAyB,GAAG,IAAIC;AAQ3C;;;;;;;;;;CAUC,GACD,SAASC,yBAAyB,EAChCC,YAAYC,0BAAW,CAACC,YAAY,GAAGC,KAAK,GAAG,QAAQ,KAAK,EAC5DC,QAAQC,oBAAY,EACpBC,OAAO,EACPC,WAAW,IAAI,EACfC,GAAG,EACH,GAAGC,MAGJ;IACC,MAAMC,eAAeC,gBAAK,CAACC,GAAG,CAACC,wCAAmB;IAElD,IAAIP,SAASQ,QAAQ;QACnBC,IAAAA,sCAAkB,EAACT,QAAQQ,MAAM;IACnC;IAEA,MAAME,eAAeL,gBAAK,CAACM,MAAM,CAA+C;IAEhFC,IAAAA,4BAAa,EAACF;IAEd,MAAM,EAAEG,eAAe,EAAE,GAAGC,IAAAA,sBAAU,EAACJ,cAAc;QACnDK,UAAU,EAAE;QACZ,GAAGf,OAAO;IACZ;IAEA,MAAMgB,iBAAiBX,gBAAK,CAACY,OAAO,CAAC,IAAO,CAAA;YAAEC,SAASlB;QAAQ,CAAA,GAAI;QAACA;KAAQ;IAC5E,iDAAiD;IACjD,oCAAoC;IACpCK,gBAAK,CAACc,SAAS,CAAC;QACd,IAAIT,aAAaU,OAAO,EAAE;YACxB7B,0BAA0B8B,GAAG,CAACX,aAAaU,OAAO,EAAE;gBAClD,IAAIpB,WAAU;oBACZ,OAAO;wBACL,GAAGA,OAAO;wBACVe,UAAUf,SAASe,YAAY,EAAE;wBACjCO,kBAAkBtB,SAASsB,oBAAoBA,kCAAgB;wBAC/DC,kBAAkBvB,SAASuB,oBAAoBA,kCAAgB;oBACjE;gBACF;YACF;QACF;IACF;IAEA,MAAM,CAACC,YAAYC,aAAa,GAAGC,IAAAA,wBAAW,EAACb;IAC/CR,gBAAK,CAACsB,mBAAmB,CAACzB,KAAK,IAAMQ,aAAaU,OAAO;IAEzD,IAAI,CAACI,YAAY;QACf,6DAA6D;QAC7D,qEAAqE;QACrE,qBAAO,uBAACI,qBAAa;YAACC,OAAO/B;sBAAQG;;IACvC;IAEA,IAAIwB,iBAAiBK,WAAW;QAC9B,MAAM,IAAIC,MACR;IAEJ;IAEA,qBACE,uBAACC,wBAAgB,CAACC,QAAQ;QAACJ,OAAOnC;kBAChC,cAAA,uBAACwC,sBAAc,CAACD,QAAQ;YAACJ,OAAOb;sBAC9B,cAAA,uBAACmB,gDAAuB;gBACrB,GAAGhC,IAAI;gBACRL,OAAOA;gBACP2B,cAAcA;gBACdW,oBAAoBhC,cAAciC,aAAaP;gBAC/C5B,KAAKQ;;;;AAKf;AAGO,MAAMrB,sBAAsBI"}
1
+ {"version":3,"sources":["fork/NavigationContainer.tsx"],"sourcesContent":[null],"names":["NavigationContainer","globalThis","REACT_NAVIGATION_DEVTOOLS","WeakMap","NavigationContainerInner","direction","I18nManager","getConstants","isRTL","theme","DefaultTheme","linking","fallback","ref","rest","routerConfig","React","use","RouterConfigContext","config","validatePathConfig","refContainer","useRef","useBackButton","getInitialState","useLinking","prefixes","linkingContext","useMemo","options","initialState","useState","Suspense","ThemeProvider","value","LocaleDirContext","Provider","LinkingContext","InitialStateNavigationContainer","routeNode","undefined","containerRef","initialStateOrPromise","isThenable","useImperativeHandle","current","useEffect","set","getStateFromPath","getPathFromState","Error","BaseNavigationContainer","UNSTABLE_routeNode","then"],"mappings":";;;;+BAkKaA;;;eAAAA;;;;;;;;;;;gEAlKK;;;;;;;yBACU;;;;;;qCAGQ;yCACI;wBAcjC;kCAC0B;kCACA;+BACH;4BACH;oCACQ;;;;;;AAUnCC,WAAWC,yBAAyB,GAAG,IAAIC;AAQ3C;;;;;;;;;;CAUC,GACD,SAASC,yBAAyB,EAChCC,YAAYC,0BAAW,CAACC,YAAY,GAAGC,KAAK,GAAG,QAAQ,KAAK,EAC5DC,QAAQC,oBAAY,EACpBC,OAAO,EACPC,WAAW,IAAI,EACfC,GAAG,EACH,GAAGC,MAGJ;IACC,MAAMC,eAAeC,gBAAK,CAACC,GAAG,CAACC,wCAAmB;IAElD,IAAIP,SAASQ,QAAQ;QACnBC,IAAAA,sCAAkB,EAACT,QAAQQ,MAAM;IACnC;IAEA,MAAME,eAAeL,gBAAK,CAACM,MAAM,CAA+C;IAEhFC,IAAAA,4BAAa,EAACF;IAEd,MAAM,EAAEG,eAAe,EAAE,GAAGC,IAAAA,sBAAU,EAACJ,cAAc;QACnDK,UAAU,EAAE;QACZ,GAAGf,OAAO;IACZ;IAEA,MAAMgB,iBAAiBX,gBAAK,CAACY,OAAO,CAAC,IAAO,CAAA;YAAEC,SAASlB;QAAQ,CAAA,GAAI;QAACA;KAAQ;IAC5E,sFAAsF;IACtF,MAAM,CAACmB,aAAa,GAAGd,gBAAK,CAACe,QAAQ,CAACP;IAEtC,qBACE,uBAACR,gBAAK,CAACgB,QAAQ;QAACpB,wBAAU,uBAACqB,qBAAa;YAACC,OAAOzB;sBAAQG;;kBACtD,cAAA,uBAACuB,wBAAgB,CAACC,QAAQ;YAACF,OAAO7B;sBAChC,cAAA,uBAACgC,sBAAc,CAACD,QAAQ;gBAACF,OAAOP;0BAC9B,cAAA,uBAACW;oBACE,GAAGxB,IAAI;oBACRgB,cAAcA;oBACdnB,SAASA;oBACTF,OAAOA;oBACP8B,WAAWxB,cAAcwB,aAAaC;oBACtCC,cAAcpB;oBACdR,KAAKA;;;;;AAMjB;AAEA,SAASyB,gCAAgC,EACvCR,cAAcY,qBAAqB,EACnC/B,OAAO,EACP4B,SAAS,EACTE,YAAY,EACZ5B,GAAG,EACH,GAAGC,MAOJ;IACC,MAAMgB,eAAea,WAAWD,yBAC5B1B,gBAAK,CAACC,GAAG,CAACyB,yBACVA;IACJ,0FAA0F;IAC1F1B,gBAAK,CAAC4B,mBAAmB,CAAC/B,KAAK,IAAM4B,aAAaI,OAAO;IACzD,iDAAiD;IACjD,oCAAoC;IACpC7B,gBAAK,CAAC8B,SAAS,CAAC;QACd,IAAIL,aAAaI,OAAO,EAAE;YACxB3C,0BAA0B6C,GAAG,CAACN,aAAaI,OAAO,EAAE;gBAClD,IAAIlC,WAAU;oBACZ,OAAO;wBACL,GAAGA,OAAO;wBACVe,UAAUf,SAASe,YAAY,EAAE;wBACjCsB,kBAAkBrC,SAASqC,oBAAoBA,kCAAgB;wBAC/DC,kBAAkBtC,SAASsC,oBAAoBA,kCAAgB;oBACjE;gBACF;YACF;QACF;IACF;IACA,IAAInB,iBAAiBU,WAAW;QAC9B,MAAM,IAAIU,MACR;IAEJ;IAEA,qBACE,uBAACC,gDAAuB;QACrB,GAAGrC,IAAI;QACRgB,cAAcA;QACdsB,oBAAoBb;QACpB1B,KAAK4B;;AAGX;AAEA,SAASE,WAAcT,KAAyB;IAC9C,OACE,OAAOA,UAAU,YACjBA,UAAU,QACV,UAAUA,SACV,OAAOA,MAAMmB,IAAI,KAAK;AAE1B;AAGO,MAAMrD,sBAAsBI"}
@@ -2,7 +2,7 @@ import { type RefObject } from 'react';
2
2
  import { type LinkingOptions, type NavigationContainerRef, type ParamListBase } from '../react-navigation/native';
3
3
  type Options = LinkingOptions<ParamListBase>;
4
4
  export declare function useLinking(_ref: RefObject<NavigationContainerRef<ParamListBase> | null>, { prefixes, config, getInitialURL, getStateFromPath, }: Options): {
5
- getInitialState: () => PromiseLike<Readonly<{
5
+ getInitialState: () => Readonly<{
6
6
  key: string;
7
7
  routeKeySeq: number;
8
8
  index: number;
@@ -11,7 +11,16 @@ export declare function useLinking(_ref: RefObject<NavigationContainerRef<ParamL
11
11
  routes: import("../react-navigation").NavigationRoute<ParamListBase, string>[];
12
12
  type?: string;
13
13
  stale: false;
14
- }> | undefined>;
14
+ }> | Promise<Readonly<{
15
+ key: string;
16
+ routeKeySeq: number;
17
+ index: number;
18
+ routeNames: string[];
19
+ history?: unknown[];
20
+ routes: import("../react-navigation").NavigationRoute<ParamListBase, string>[];
21
+ type?: string;
22
+ stale: false;
23
+ }> | undefined> | undefined;
15
24
  };
16
25
  export declare function getInitialURLWithTimeout(): string | null | Promise<string | null>;
17
26
  export {};
@@ -29,6 +29,7 @@ function _react() {
29
29
  }
30
30
  const _createSeededNavigationState = require("../global-state/createSeededNavigationState");
31
31
  const _routerConfigContext = require("../global-state/routerConfigContext");
32
+ const _layoutAnchor = require("../layoutAnchor");
32
33
  const _native = require("../react-navigation/native");
33
34
  const _stateKeys = require("../react-navigation/routers/stateKeys");
34
35
  const _extractPathFromURL = require("./extractPathFromURL");
@@ -55,7 +56,7 @@ function useLinking(_ref, { prefixes, config, getInitialURL = getInitialURLWithT
55
56
  }
56
57
  };
57
58
  }, []);
58
- // `useThenable` only consumes this function from the first render, keeping initialization options consistent.
59
+ // `NavigationContainer` only consumes this function from the first render, keeping initialization options consistent.
59
60
  const getInitialState = ()=>{
60
61
  const getStateFromURL = (url)=>{
61
62
  let path = url ? (0, _extractPathFromURL.extractExpoPathFromURL)(prefixes, url) : undefined;
@@ -64,23 +65,13 @@ function useLinking(_ref, { prefixes, config, getInitialURL = getInitialURLWithT
64
65
  }
65
66
  const parsedState = path ? getStateFromPath(path, config) : undefined;
66
67
  const routeNode = routerConfig?.routeNode;
67
- const state = routeNode ? (0, _createSeededNavigationState.createSeededRootState)(parsedState, routeNode) : (0, _createSeededNavigationState.completeParsedState)(parsedState, _stateKeys.ROOT_CHAIN);
68
- return state;
68
+ return routeNode ? (0, _layoutAnchor.withLoadedLayouts)(()=>(0, _createSeededNavigationState.createSeededRootState)(parsedState, routeNode)) : (0, _createSeededNavigationState.completeParsedState)(parsedState, _stateKeys.ROOT_CHAIN);
69
69
  };
70
70
  const url = getInitialURL();
71
71
  if (typeof url !== 'string' && url != null) {
72
72
  return url.then(getStateFromURL);
73
73
  }
74
- const state = getStateFromURL(url);
75
- const thenable = {
76
- then (onfulfilled) {
77
- return Promise.resolve(onfulfilled ? onfulfilled(state) : state);
78
- },
79
- catch () {
80
- return thenable;
81
- }
82
- };
83
- return thenable;
74
+ return getStateFromURL(url);
84
75
  };
85
76
  return {
86
77
  getInitialState
@@ -1 +1 @@
1
- {"version":3,"sources":["fork/useLinking.ts"],"sourcesContent":[null],"names":["getInitialURLWithTimeout","useLinking","linkingHandlers","_ref","prefixes","config","getInitialURL","getStateFromPath","getStateFromPathDefault","routerConfig","use","RouterConfigContext","useEffect","process","env","NODE_ENV","undefined","length","console","error","join","trim","handler","Symbol","push","index","indexOf","splice","getInitialState","getStateFromURL","url","path","extractExpoPathFromURL","startsWith","parsedState","routeNode","state","createSeededRootState","completeParsedState","ROOT_CHAIN","then","thenable","onfulfilled","Promise","resolve","catch","window","location","href"],"mappings":";;;;;;;;;;;;;;;QAuGgBA;eAAAA;;QAlFAC;eAAAA;;;;yBArB+B;;;;;;6CAKxC;qCAC6B;wBAO7B;2BACoB;oCACY;AAEvC,MAAMC,kBAA4B,EAAE;AAI7B,SAASD,WACdE,IAA6D,EAC7D,EACEC,QAAQ,EACRC,MAAM,EACNC,gBAAgBN,wBAAwB,EACxCO,mBAAmBC,wBAAuB,EAClC;IAEV,MAAMC,eAAeC,IAAAA,YAAG,EAACC,wCAAmB;IAE5CC,IAAAA,kBAAS,EAAC;QACR,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;YACzC,OAAOC;QACT;QAEA,IAAId,gBAAgBe,MAAM,EAAE;YAC1BC,QAAQC,KAAK,CACX;gBACE;gBACA;gBACA;aACD,CACEC,IAAI,CAAC,MACLC,IAAI;QAEX;QAEA,MAAMC,UAAUC;QAEhBrB,gBAAgBsB,IAAI,CAACF;QAErB,OAAO;YACL,MAAMG,QAAQvB,gBAAgBwB,OAAO,CAACJ;YAEtC,IAAIG,QAAQ,CAAC,GAAG;gBACdvB,gBAAgByB,MAAM,CAACF,OAAO;YAChC;QACF;IACF,GAAG,EAAE;IAEL,8GAA8G;IAC9G,MAAMG,kBAAkB;QACtB,MAAMC,kBAAkB,CAACC;YACvB,IAAIC,OAAOD,MAAME,IAAAA,0CAAsB,EAAC5B,UAAU0B,OAAOd;YACzD,IAAIe,SAASf,aAAa,CAACe,KAAKE,UAAU,CAAC,MAAM;gBAC/CF,OAAO,CAAC,CAAC,EAAEA,MAAM;YACnB;YAEA,MAAMG,cAAcH,OAAOxB,iBAAiBwB,MAAM1B,UAAUW;YAC5D,MAAMmB,YAAY1B,cAAc0B;YAChC,MAAMC,QAAQD,YACVE,IAAAA,kDAAqB,EAACH,aAAaC,aACnCG,IAAAA,gDAAmB,EAACJ,aAAaK,qBAAU;YAE/C,OAAOH;QACT;QACA,MAAMN,MAAMxB;QAEZ,IAAI,OAAOwB,QAAQ,YAAYA,OAAO,MAAM;YAC1C,OAAOA,IAAIU,IAAI,CAACX;QAClB;QAEA,MAAMO,QAAQP,gBAAgBC;QAE9B,MAAMW,WAAW;YACfD,MAAKE,WAA0D;gBAC7D,OAAOC,QAAQC,OAAO,CAACF,cAAcA,YAAYN,SAASA;YAC5D;YACAS;gBACE,OAAOJ;YACT;QACF;QAEA,OAAOA;IACT;IAEA,OAAO;QACLb;IACF;AACF;AAEO,SAAS5B;IACd,OAAO,OAAO8C,WAAW,cAAc,KAAKA,OAAOC,QAAQ,CAACC,IAAI;AAClE"}
1
+ {"version":3,"sources":["fork/useLinking.ts"],"sourcesContent":[null],"names":["getInitialURLWithTimeout","useLinking","linkingHandlers","_ref","prefixes","config","getInitialURL","getStateFromPath","getStateFromPathDefault","routerConfig","use","RouterConfigContext","useEffect","process","env","NODE_ENV","undefined","length","console","error","join","trim","handler","Symbol","push","index","indexOf","splice","getInitialState","getStateFromURL","url","path","extractExpoPathFromURL","startsWith","parsedState","routeNode","withLoadedLayouts","createSeededRootState","completeParsedState","ROOT_CHAIN","then","window","location","href"],"mappings":";;;;;;;;;;;;;;;QA0FgBA;eAAAA;;QArEAC;eAAAA;;;;yBArB+B;;;;;;6CAKxC;qCAC6B;8BACF;wBAM3B;2BACoB;oCACY;AAEvC,MAAMC,kBAA4B,EAAE;AAI7B,SAASD,WACdE,IAA6D,EAC7D,EACEC,QAAQ,EACRC,MAAM,EACNC,gBAAgBN,wBAAwB,EACxCO,mBAAmBC,wBAAuB,EAClC;IAEV,MAAMC,eAAeC,IAAAA,YAAG,EAACC,wCAAmB;IAE5CC,IAAAA,kBAAS,EAAC;QACR,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;YACzC,OAAOC;QACT;QAEA,IAAId,gBAAgBe,MAAM,EAAE;YAC1BC,QAAQC,KAAK,CACX;gBACE;gBACA;gBACA;aACD,CACEC,IAAI,CAAC,MACLC,IAAI;QAEX;QAEA,MAAMC,UAAUC;QAEhBrB,gBAAgBsB,IAAI,CAACF;QAErB,OAAO;YACL,MAAMG,QAAQvB,gBAAgBwB,OAAO,CAACJ;YAEtC,IAAIG,QAAQ,CAAC,GAAG;gBACdvB,gBAAgByB,MAAM,CAACF,OAAO;YAChC;QACF;IACF,GAAG,EAAE;IAEL,sHAAsH;IACtH,MAAMG,kBAAkB;QACtB,MAAMC,kBAAkB,CAACC;YACvB,IAAIC,OAAOD,MAAME,IAAAA,0CAAsB,EAAC5B,UAAU0B,OAAOd;YACzD,IAAIe,SAASf,aAAa,CAACe,KAAKE,UAAU,CAAC,MAAM;gBAC/CF,OAAO,CAAC,CAAC,EAAEA,MAAM;YACnB;YAEA,MAAMG,cAAcH,OAAOxB,iBAAiBwB,MAAM1B,UAAUW;YAC5D,MAAMmB,YAAY1B,cAAc0B;YAChC,OAAOA,YACHC,IAAAA,+BAAiB,EAAC,IAAMC,IAAAA,kDAAqB,EAACH,aAAaC,cAC3DG,IAAAA,gDAAmB,EAACJ,aAAaK,qBAAU;QACjD;QACA,MAAMT,MAAMxB;QAEZ,IAAI,OAAOwB,QAAQ,YAAYA,OAAO,MAAM;YAC1C,OAAOA,IAAIU,IAAI,CAACX;QAClB;QAEA,OAAOA,gBAAgBC;IACzB;IAEA,OAAO;QACLF;IACF;AACF;AAEO,SAAS5B;IACd,OAAO,OAAOyC,WAAW,cAAc,KAAKA,OAAOC,QAAQ,CAACC,IAAI;AAClE"}
@@ -2,7 +2,7 @@ import { type RefObject } from 'react';
2
2
  import { type LinkingOptions, type NavigationContainerRef, type ParamListBase } from '../react-navigation/native';
3
3
  type Options = LinkingOptions<ParamListBase>;
4
4
  export declare function useLinking(ref: RefObject<NavigationContainerRef<ParamListBase>>, { prefixes, filter, config, getInitialURL, subscribe, getStateFromPath, }: Options): {
5
- getInitialState: () => PromiseLike<Readonly<{
5
+ getInitialState: () => Readonly<{
6
6
  key: string;
7
7
  routeKeySeq: number;
8
8
  index: number;
@@ -11,6 +11,15 @@ export declare function useLinking(ref: RefObject<NavigationContainerRef<ParamLi
11
11
  routes: import("../react-navigation").NavigationRoute<ParamListBase, string>[];
12
12
  type?: string;
13
13
  stale: false;
14
- }> | undefined>;
14
+ }> | Promise<Readonly<{
15
+ key: string;
16
+ routeKeySeq: number;
17
+ index: number;
18
+ routeNames: string[];
19
+ history?: unknown[];
20
+ routes: import("../react-navigation").NavigationRoute<ParamListBase, string>[];
21
+ type?: string;
22
+ stale: false;
23
+ }> | undefined> | undefined;
15
24
  };
16
25
  export {};
@@ -26,6 +26,7 @@ const _createSeededNavigationState = require("../global-state/createSeededNaviga
26
26
  const _getRouteInfoFromState = require("../global-state/getRouteInfoFromState");
27
27
  const _routerConfigContext = require("../global-state/routerConfigContext");
28
28
  const _routingQueueContext = require("../global-state/routingQueueContext");
29
+ const _layoutAnchor = require("../layoutAnchor");
29
30
  const _native = require("../react-navigation/native");
30
31
  const _stateKeys = require("../react-navigation/routers/stateKeys");
31
32
  const _extractPathFromURL = require("./extractPathFromURL");
@@ -78,9 +79,8 @@ function useLinking(ref, { prefixes, filter, config, getInitialURL = ()=>(0, _ge
78
79
  }
79
80
  const path = (0, _extractPathFromURL.extractExpoPathFromURL)(prefixes, url);
80
81
  if (path !== undefined) {
81
- // TODO(@ubax): check if this is performant
82
82
  // TODO(@ubax): check if ref.current?.getRootState() can be replaced with the context read
83
- const segments = (0, _getRouteInfoFromState.getRouteInfoFromState)(ref.current?.getRootState()).segments;
83
+ const segments = (0, _getRouteInfoFromState.getRouteSegmentsFromState)(ref.current?.getRootState());
84
84
  return getStateFromPath(path, config, segments);
85
85
  }
86
86
  return undefined;
@@ -88,27 +88,15 @@ function useLinking(ref, { prefixes, filter, config, getInitialURL = ()=>(0, _ge
88
88
  const getInitialState = (0, _react().useCallback)(()=>{
89
89
  const url = getInitialURL();
90
90
  const createInitialState = (url)=>{
91
- let parsedState;
92
- if (url && (!filter || filter(url))) {
93
- const path = getInitialPath(prefixes, url);
94
- parsedState = getStateFromPath(path, config);
95
- }
91
+ const shouldParseURL = url && (!filter || filter(url));
92
+ const parsedState = shouldParseURL ? getStateFromPath(getInitialPath(prefixes, url), config) : undefined;
96
93
  const routeNode = routerConfig?.routeNode;
97
- return routeNode ? (0, _createSeededNavigationState.createSeededRootState)(parsedState, routeNode) : (0, _createSeededNavigationState.completeParsedState)(parsedState, _stateKeys.ROOT_CHAIN);
94
+ return routeNode ? (0, _layoutAnchor.withLoadedLayouts)(()=>(0, _createSeededNavigationState.createSeededRootState)(parsedState, routeNode)) : (0, _createSeededNavigationState.completeParsedState)(parsedState, _stateKeys.ROOT_CHAIN);
98
95
  };
99
96
  if (url != null && typeof url !== 'string') {
100
97
  return url.then(createInitialState);
101
98
  }
102
- const state = createInitialState(url);
103
- const thenable = {
104
- then (onfulfilled) {
105
- return Promise.resolve(onfulfilled ? onfulfilled(state) : state);
106
- },
107
- catch () {
108
- return thenable;
109
- }
110
- };
111
- return thenable;
99
+ return createInitialState(url);
112
100
  }, [
113
101
  config,
114
102
  filter,
@@ -1 +1 @@
1
- {"version":3,"sources":["fork/useLinking.native.ts"],"sourcesContent":[null],"names":["useLinking","linkingHandlers","getInitialPath","prefixes","url","path","extractExpoPathFromURL","startsWith","ref","filter","config","getInitialURL","getInitialURLWithTimeout","subscribe","listener","callback","subscription","Linking","addEventListener","removeEventListener","bind","remove","getStateFromPath","getStateFromPathDefault","routerConfig","use","RouterConfigContext","enqueue","useEnqueueRoutingIntent","useEffect","process","env","NODE_ENV","undefined","length","console","error","join","trim","handler","Symbol","push","index","indexOf","splice","getStateFromURL","useEffectEvent","segments","getRouteInfoFromState","current","getRootState","getInitialState","useCallback","createInitialState","parsedState","routeNode","createSeededRootState","completeParsedState","ROOT_CHAIN","then","state","thenable","onfulfilled","Promise","resolve","catch","navigation","rootState","routes","some","r","routeNames","includes","name","type","payload","href","originalHref","options","event"],"mappings":"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"}
1
+ {"version":3,"sources":["fork/useLinking.native.ts"],"sourcesContent":[null],"names":["useLinking","linkingHandlers","getInitialPath","prefixes","url","path","extractExpoPathFromURL","startsWith","ref","filter","config","getInitialURL","getInitialURLWithTimeout","subscribe","listener","callback","subscription","Linking","addEventListener","removeEventListener","bind","remove","getStateFromPath","getStateFromPathDefault","routerConfig","use","RouterConfigContext","enqueue","useEnqueueRoutingIntent","useEffect","process","env","NODE_ENV","undefined","length","console","error","join","trim","handler","Symbol","push","index","indexOf","splice","getStateFromURL","useEffectEvent","segments","getRouteSegmentsFromState","current","getRootState","getInitialState","useCallback","createInitialState","shouldParseURL","parsedState","routeNode","withLoadedLayouts","createSeededRootState","completeParsedState","ROOT_CHAIN","then","navigation","state","rootState","routes","some","r","routeNames","includes","name","type","payload","href","originalHref","options","event"],"mappings":"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"}