one 1.21.6 → 1.21.8

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 (209) hide show
  1. package/dist/cjs/cli/dev.native.js.map +1 -1
  2. package/dist/cjs/cli.cjs +0 -3
  3. package/dist/cjs/cli.native.js +0 -3
  4. package/dist/cjs/cli.native.js.map +1 -1
  5. package/dist/cjs/image/getImageData.cjs +1 -1
  6. package/dist/cjs/image/getImageData.native.js +1 -1
  7. package/dist/cjs/image/getImageData.native.js.map +1 -1
  8. package/dist/cjs/index.native.js.map +1 -1
  9. package/dist/cjs/layouts/Stack.cjs +5 -5
  10. package/dist/cjs/layouts/Stack.native.js +5 -5
  11. package/dist/cjs/layouts/Stack.native.js.map +1 -1
  12. package/dist/cjs/layouts/stack-utils/StackScreen.cjs +3 -0
  13. package/dist/cjs/layouts/stack-utils/StackScreen.native.js +3 -0
  14. package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
  15. package/dist/cjs/layouts/stack-utils/StackToolbar.cjs +419 -0
  16. package/dist/cjs/layouts/stack-utils/StackToolbar.native.js +453 -0
  17. package/dist/cjs/layouts/stack-utils/StackToolbar.native.js.map +1 -0
  18. package/dist/cjs/layouts/stack-utils/StackToolbar.types.cjs +18 -0
  19. package/dist/cjs/layouts/stack-utils/StackToolbar.types.native.js +21 -0
  20. package/dist/cjs/layouts/stack-utils/StackToolbar.types.native.js.map +1 -0
  21. package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.runtime.test.cjs +63 -0
  22. package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.runtime.test.native.js +73 -0
  23. package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.runtime.test.native.js.map +1 -0
  24. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.cjs +205 -0
  25. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js +220 -0
  26. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
  27. package/dist/cjs/layouts/stack-utils/index.cjs +2 -0
  28. package/dist/cjs/layouts/stack-utils/index.native.js +2 -0
  29. package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
  30. package/dist/cjs/layouts/withLayoutContext.cjs +39 -8
  31. package/dist/cjs/layouts/withLayoutContext.native.js +43 -8
  32. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  33. package/dist/cjs/layouts/withLayoutContext.test.cjs +96 -0
  34. package/dist/cjs/layouts/withLayoutContext.test.native.js +100 -0
  35. package/dist/cjs/layouts/withLayoutContext.test.native.js.map +1 -0
  36. package/dist/cjs/router/Route.cjs +3 -0
  37. package/dist/cjs/router/Route.native.js +3 -0
  38. package/dist/cjs/router/Route.native.js.map +1 -1
  39. package/dist/cjs/router/protectedRoutes.test.cjs +22 -0
  40. package/dist/cjs/router/protectedRoutes.test.native.js +25 -0
  41. package/dist/cjs/router/protectedRoutes.test.native.js.map +1 -0
  42. package/dist/cjs/router/router.cjs +26 -8
  43. package/dist/cjs/router/router.native.js +26 -8
  44. package/dist/cjs/router/router.native.js.map +1 -1
  45. package/dist/cjs/router/useScreens.cjs +38 -11
  46. package/dist/cjs/router/useScreens.native.js +39 -11
  47. package/dist/cjs/router/useScreens.native.js.map +1 -1
  48. package/dist/cjs/router/useScreens.test.cjs +134 -0
  49. package/dist/cjs/router/useScreens.test.native.js +163 -0
  50. package/dist/cjs/router/useScreens.test.native.js.map +1 -0
  51. package/dist/cjs/views/Navigator.cjs +14 -6
  52. package/dist/cjs/views/Navigator.native.js +14 -6
  53. package/dist/cjs/views/Navigator.native.js.map +1 -1
  54. package/dist/cjs/views/Protected.native.js.map +1 -1
  55. package/dist/cjs/views/SuspenseFallback.cjs +18 -0
  56. package/dist/cjs/views/SuspenseFallback.native.js +21 -0
  57. package/dist/cjs/views/SuspenseFallback.native.js.map +1 -0
  58. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +47 -7
  59. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +47 -7
  60. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  61. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.cjs +15 -6
  62. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js +15 -6
  63. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -1
  64. package/dist/esm/cli/dev.mjs.map +1 -1
  65. package/dist/esm/cli/dev.native.js.map +1 -1
  66. package/dist/esm/cli.mjs +0 -3
  67. package/dist/esm/cli.mjs.map +1 -1
  68. package/dist/esm/cli.native.js +0 -3
  69. package/dist/esm/cli.native.js.map +1 -1
  70. package/dist/esm/image/getImageData.mjs +1 -1
  71. package/dist/esm/image/getImageData.mjs.map +1 -1
  72. package/dist/esm/image/getImageData.native.js +1 -1
  73. package/dist/esm/image/getImageData.native.js.map +1 -1
  74. package/dist/esm/index.js.map +1 -1
  75. package/dist/esm/index.mjs.map +1 -1
  76. package/dist/esm/index.native.js.map +1 -1
  77. package/dist/esm/layouts/Stack.mjs +6 -6
  78. package/dist/esm/layouts/Stack.mjs.map +1 -1
  79. package/dist/esm/layouts/Stack.native.js +6 -6
  80. package/dist/esm/layouts/Stack.native.js.map +1 -1
  81. package/dist/esm/layouts/stack-utils/StackScreen.mjs +3 -0
  82. package/dist/esm/layouts/stack-utils/StackScreen.mjs.map +1 -1
  83. package/dist/esm/layouts/stack-utils/StackScreen.native.js +3 -0
  84. package/dist/esm/layouts/stack-utils/StackScreen.native.js.map +1 -1
  85. package/dist/esm/layouts/stack-utils/StackToolbar.mjs +384 -0
  86. package/dist/esm/layouts/stack-utils/StackToolbar.mjs.map +1 -0
  87. package/dist/esm/layouts/stack-utils/StackToolbar.native.js +416 -0
  88. package/dist/esm/layouts/stack-utils/StackToolbar.native.js.map +1 -0
  89. package/dist/esm/layouts/stack-utils/StackToolbar.types.mjs +2 -0
  90. package/dist/esm/layouts/stack-utils/StackToolbar.types.mjs.map +1 -0
  91. package/dist/esm/layouts/stack-utils/StackToolbar.types.native.js +2 -0
  92. package/dist/esm/layouts/stack-utils/StackToolbar.types.native.js.map +1 -0
  93. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.runtime.test.mjs +40 -0
  94. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.runtime.test.mjs.map +1 -0
  95. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.runtime.test.native.js +47 -0
  96. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.runtime.test.native.js.map +1 -0
  97. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs +205 -0
  98. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs.map +1 -1
  99. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js +220 -0
  100. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
  101. package/dist/esm/layouts/stack-utils/index.mjs +2 -1
  102. package/dist/esm/layouts/stack-utils/index.mjs.map +1 -1
  103. package/dist/esm/layouts/stack-utils/index.native.js +2 -1
  104. package/dist/esm/layouts/stack-utils/index.native.js.map +1 -1
  105. package/dist/esm/layouts/withLayoutContext.mjs +41 -11
  106. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  107. package/dist/esm/layouts/withLayoutContext.native.js +45 -11
  108. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  109. package/dist/esm/layouts/withLayoutContext.test.mjs +73 -0
  110. package/dist/esm/layouts/withLayoutContext.test.mjs.map +1 -0
  111. package/dist/esm/layouts/withLayoutContext.test.native.js +74 -0
  112. package/dist/esm/layouts/withLayoutContext.test.native.js.map +1 -0
  113. package/dist/esm/router/Route.mjs +3 -1
  114. package/dist/esm/router/Route.mjs.map +1 -1
  115. package/dist/esm/router/Route.native.js +3 -1
  116. package/dist/esm/router/Route.native.js.map +1 -1
  117. package/dist/esm/router/protectedRoutes.test.mjs +23 -0
  118. package/dist/esm/router/protectedRoutes.test.mjs.map +1 -0
  119. package/dist/esm/router/protectedRoutes.test.native.js +23 -0
  120. package/dist/esm/router/protectedRoutes.test.native.js.map +1 -0
  121. package/dist/esm/router/router.mjs +26 -9
  122. package/dist/esm/router/router.mjs.map +1 -1
  123. package/dist/esm/router/router.native.js +26 -9
  124. package/dist/esm/router/router.native.js.map +1 -1
  125. package/dist/esm/router/useScreens.mjs +39 -11
  126. package/dist/esm/router/useScreens.mjs.map +1 -1
  127. package/dist/esm/router/useScreens.native.js +40 -11
  128. package/dist/esm/router/useScreens.native.js.map +1 -1
  129. package/dist/esm/router/useScreens.test.mjs +105 -0
  130. package/dist/esm/router/useScreens.test.mjs.map +1 -0
  131. package/dist/esm/router/useScreens.test.native.js +130 -0
  132. package/dist/esm/router/useScreens.test.native.js.map +1 -0
  133. package/dist/esm/views/Navigator.mjs +15 -7
  134. package/dist/esm/views/Navigator.mjs.map +1 -1
  135. package/dist/esm/views/Navigator.native.js +15 -7
  136. package/dist/esm/views/Navigator.native.js.map +1 -1
  137. package/dist/esm/views/Protected.mjs.map +1 -1
  138. package/dist/esm/views/Protected.native.js.map +1 -1
  139. package/dist/esm/views/SuspenseFallback.mjs +2 -0
  140. package/dist/esm/views/SuspenseFallback.mjs.map +1 -0
  141. package/dist/esm/views/SuspenseFallback.native.js +2 -0
  142. package/dist/esm/views/SuspenseFallback.native.js.map +1 -0
  143. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +47 -7
  144. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  145. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +47 -7
  146. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  147. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs +15 -6
  148. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs.map +1 -1
  149. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js +15 -6
  150. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -1
  151. package/package.json +12 -11
  152. package/src/cli/dev.ts +0 -1
  153. package/src/cli.ts +0 -3
  154. package/src/image/getImageData.ts +2 -2
  155. package/src/index.ts +12 -0
  156. package/src/layouts/Stack.tsx +6 -4
  157. package/src/layouts/stack-utils/README.md +1 -0
  158. package/src/layouts/stack-utils/StackScreen.tsx +7 -0
  159. package/src/layouts/stack-utils/StackToolbar.tsx +550 -0
  160. package/src/layouts/stack-utils/StackToolbar.types.ts +98 -0
  161. package/src/layouts/stack-utils/__tests__/StackToolbar.runtime.test.tsx +46 -0
  162. package/src/layouts/stack-utils/__tests__/composition.test.tsx +176 -0
  163. package/src/layouts/stack-utils/index.tsx +16 -0
  164. package/src/layouts/withLayoutContext.test.tsx +74 -0
  165. package/src/layouts/withLayoutContext.tsx +71 -12
  166. package/src/router/Route.tsx +8 -0
  167. package/src/router/protectedRoutes.test.ts +35 -0
  168. package/src/router/router.ts +48 -20
  169. package/src/router/useScreens.test.tsx +139 -0
  170. package/src/router/useScreens.tsx +59 -13
  171. package/src/views/Navigator.tsx +25 -5
  172. package/src/views/Protected.tsx +3 -0
  173. package/src/views/SuspenseFallback.ts +7 -0
  174. package/src/vite/plugins/fileSystemRouterPlugin.test.ts +15 -6
  175. package/src/vite/plugins/fileSystemRouterPlugin.tsx +52 -7
  176. package/types/cli/dev.d.ts +0 -1
  177. package/types/cli/dev.d.ts.map +1 -1
  178. package/types/image/getImageData.d.ts +1 -1
  179. package/types/image/getImageData.d.ts.map +1 -1
  180. package/types/index.d.ts +2 -1
  181. package/types/index.d.ts.map +1 -1
  182. package/types/layouts/Stack.d.ts +11 -0
  183. package/types/layouts/Stack.d.ts.map +1 -1
  184. package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -1
  185. package/types/layouts/stack-utils/StackToolbar.d.ts +26 -0
  186. package/types/layouts/stack-utils/StackToolbar.d.ts.map +1 -0
  187. package/types/layouts/stack-utils/StackToolbar.types.d.ts +82 -0
  188. package/types/layouts/stack-utils/StackToolbar.types.d.ts.map +1 -0
  189. package/types/layouts/stack-utils/index.d.ts +3 -1
  190. package/types/layouts/stack-utils/index.d.ts.map +1 -1
  191. package/types/layouts/withLayoutContext.d.ts +7 -0
  192. package/types/layouts/withLayoutContext.d.ts.map +1 -1
  193. package/types/layouts/withLayoutContext.test.d.ts +2 -0
  194. package/types/layouts/withLayoutContext.test.d.ts.map +1 -0
  195. package/types/router/Route.d.ts +4 -0
  196. package/types/router/Route.d.ts.map +1 -1
  197. package/types/router/protectedRoutes.test.d.ts +2 -0
  198. package/types/router/protectedRoutes.test.d.ts.map +1 -0
  199. package/types/router/router.d.ts +4 -6
  200. package/types/router/router.d.ts.map +1 -1
  201. package/types/router/useScreens.d.ts.map +1 -1
  202. package/types/router/useScreens.test.d.ts +2 -0
  203. package/types/router/useScreens.test.d.ts.map +1 -0
  204. package/types/views/Navigator.d.ts.map +1 -1
  205. package/types/views/Protected.d.ts +3 -0
  206. package/types/views/Protected.d.ts.map +1 -1
  207. package/types/views/SuspenseFallback.d.ts +8 -0
  208. package/types/views/SuspenseFallback.d.ts.map +1 -0
  209. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
@@ -30,24 +30,39 @@ import { clearNotFoundState, findNearestNotFoundRoute, setNotFoundState } from "
30
30
  let routeNode = null;
31
31
  let rootComponent;
32
32
  const protectedRouteRegistry = /* @__PURE__ */new Map();
33
- function registerProtectedRoutes(contextKey, protectedScreens) {
34
- if (protectedScreens.size === 0) protectedRouteRegistry.delete(contextKey);else protectedRouteRegistry.set(contextKey, protectedScreens);
33
+ function registerProtectedRoutes(contextKey, guardedRedirects) {
34
+ if (guardedRedirects.size === 0) protectedRouteRegistry.delete(contextKey);else protectedRouteRegistry.set(contextKey, guardedRedirects);
35
35
  }
36
36
  function unregisterProtectedRoutes(contextKey) {
37
37
  protectedRouteRegistry.delete(contextKey);
38
38
  }
39
- function isRouteProtected(href) {
40
- const normalizedHref = href.replace(/^\/+|\/+$/g, "");
41
- for (const [contextKey, protectedScreens] of protectedRouteRegistry) {
39
+ function getProtectedRedirect(href) {
40
+ const normalizedHref = extractPathnameFromHref(href).replace(/^\/+|\/+$/g, "");
41
+ for (const [contextKey, guardedRedirects] of protectedRouteRegistry) {
42
42
  const normalizedContextKey = contextKey.replace(/^\/+|\/+$/g, "");
43
- if (normalizedHref.startsWith(normalizedContextKey)) {
43
+ if (!normalizedContextKey || normalizedHref === normalizedContextKey || normalizedHref.startsWith(`${normalizedContextKey}/`)) {
44
44
  const routeName = normalizedHref.slice(normalizedContextKey.length).replace(/^\//, "").split("/")[0] || "index";
45
45
  const normalizedRouteName = routeName.replace(/\/index$/, "");
46
- if (protectedScreens.has(routeName) || protectedScreens.has(normalizedRouteName)) return true;
46
+ if (guardedRedirects.has(routeName)) return guardedRedirects.get(routeName);
47
+ if (guardedRedirects.has(normalizedRouteName)) return guardedRedirects.get(normalizedRouteName);
47
48
  }
48
49
  }
49
50
  return false;
50
51
  }
52
+ function resolveProtectedHref(href) {
53
+ let target = href;
54
+ const visited = /* @__PURE__ */new Set();
55
+ while (!visited.has(target)) {
56
+ visited.add(target);
57
+ const redirectTo = getProtectedRedirect(target);
58
+ if (redirectTo === false) return target;
59
+ if (redirectTo === void 0) return;
60
+ target = resolveHref(redirectTo);
61
+ }
62
+ }
63
+ function isRouteProtected(href) {
64
+ return getProtectedRedirect(href) !== false;
65
+ }
51
66
  let hasAttemptedToHideSplash = false;
52
67
  let initialState;
53
68
  let rootState;
@@ -571,7 +586,9 @@ async function linkTo(href, event, options) {
571
586
  return;
572
587
  }
573
588
  if (checkBlocker(href, event === "REPLACE" ? "replace" : "push")) return;
574
- if (isRouteProtected(href)) return;
589
+ const protectedHref = resolveProtectedHref(href);
590
+ if (!protectedHref) return;
591
+ if (protectedHref !== href) return linkTo(protectedHref, "REPLACE", options);
575
592
  const currentLayoutNode = routeNode;
576
593
  const currentPath = routeInfo?.pathname || "/";
577
594
  const interceptResult = findInterceptRoute(href, currentLayoutNode, currentPath);
@@ -796,5 +813,5 @@ function deepEqual(a, b) {
796
813
  }
797
814
  return false;
798
815
  }
799
- export { canDismiss, canGoBack, cleanup, consumePendingNavigationAction, dismiss, dismissAll, getPreloadHistory, getSafeWindowPathname2 as getSafeWindowPathname, getSortedRoutes, getValidationState, goBack, handleNavigationContainerStateChange, hasAttemptedToHideSplash, initClientMatches, initialPathname, initialState, initialize, isRouteProtected, lastIntendedPathname, linkTo, navigate, navigationRef, preloadRoute, preloadedLoaderData, preloadingLoader, push, registerProtectedRoutes, replace, rootComponent, rootState, rootStateSnapshot, routeInfo, routeInfoSnapshot, routeNode, setLoadingState, setParams, setValidationState, snapshot, subscribeToLoadingState, subscribeToRootState, subscribeToStore, subscribeToValidationState, unregisterProtectedRoutes, updateState, useOneRouter, useStoreRootState, useStoreRouteInfo, useValidationState };
816
+ export { canDismiss, canGoBack, cleanup, consumePendingNavigationAction, dismiss, dismissAll, getPreloadHistory, getSafeWindowPathname2 as getSafeWindowPathname, getSortedRoutes, getValidationState, goBack, handleNavigationContainerStateChange, hasAttemptedToHideSplash, initClientMatches, initialPathname, initialState, initialize, isRouteProtected, lastIntendedPathname, linkTo, navigate, navigationRef, preloadRoute, preloadedLoaderData, preloadingLoader, push, registerProtectedRoutes, replace, resolveProtectedHref, rootComponent, rootState, rootStateSnapshot, routeInfo, routeInfoSnapshot, routeNode, setLoadingState, setParams, setValidationState, snapshot, subscribeToLoadingState, subscribeToRootState, subscribeToStore, subscribeToValidationState, unregisterProtectedRoutes, updateState, useOneRouter, useStoreRootState, useStoreRouteInfo, useValidationState };
800
817
  //# sourceMappingURL=router.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["StackActions","Fragment","startTransition","useDeferredValue","useSyncExternalStore","Platform","devtoolsRegistry","resolveHref","openExternalURL","resolve","checkBlocker","assertIsReady","getLoaderPath","getPreloadCSSPath","getPreloadPath","dynamicImport","isVersionStale","shouldLinkExternally","ParamValidationError","RouteValidationError","validateParams","extractParamsFromState","extractPathnameFromHref","extractSearchFromHref","findRouteNodeFromState","getRouteInfo","getRouteArtifactPaths","getRoutes","setLastAction","getResolvedLinking","resetLinking","setupLinking","getSafeWindowPathname","getSafeWindowPathname2","normalizeRoutePathname","stripTrailingSlash","sortRoutes","getQualifiedRouteComponent","preloadRouteModules","getNavigateAction","setClientMatches","findInterceptRoute","setNavigationType","storeInterceptState","updateURLWithoutNavigation","setSlotState","clearNotFoundState","findNearestNotFoundRoute","setNotFoundState","routeNode","rootComponent","protectedRouteRegistry","Map","registerProtectedRoutes","contextKey","protectedScreens","size","delete","set","unregisterProtectedRoutes","isRouteProtected","href","normalizedHref","replace","normalizedContextKey","startsWith","routeName","slice","length","split","normalizedRouteName","has","hasAttemptedToHideSplash","initialState","rootState","initialPathname","lastIntendedPathname","nextState","routeInfo","splashScreenAnimationFrame","pendingNavigationPathname","pendingNavigationAction","navigationRef","rootStateSubscribers","Set","loadingStateSubscribers","storeSubscribers","currentMatches","validationState","status","validationStateSubscribers","subscribeToValidationState","subscriber","add","setValidationState","state","error","window","dispatchEvent","CustomEvent","detail","message","name","stack","lastValidatedHref","timestamp","Date","now","getValidationState","useValidationState","cachedRouteNode","cachedRootComponent","cachedContext","initialize","context","ref","initialLocation","linking","cleanUpState","ignoreEntryPoints","platform","OS","process","env","NODE_ENV","Error","ONE_DEBUG_ROUTER","formatRouteTree","node","indent","isLast","prefix","childIndent","dynamicBadge","dynamic","map","d","join","typeBadge","type","slotsBadge","slots","Array","from","keys","line","route","visibleChildren","children","filter","child","internal","i","childIsLast","console","info","slotName","slotConfig","defaultRoute","interceptRoutes","r","intercept","setupLinkingAndRouteInfo","subscribeToNavigationChanges","clear","pathname","unstable_globalHref","isIndex","params","segments","handleNavigationContainerStateChange","navState","key","hashes","hash","requestAnimationFrame","shouldKeepPendingNavigationState","nextOptions","linkOptions","shouldUpdateSubscribers","updateState","updateSnapshot","navigate","url","options","linkTo","push","dismiss","count","dispatch","pop","setParams","current","dismissAll","popToTop","goBack","canGoBack","isReady","canDismiss","routes","index","getSortedRoutes","sort","nextStateParam","nextRouteInfo","deepEqual","to","Object","__oneDevtools","getLoaderTimingHistory","getPreloadHistory","consumePendingNavigationAction","action","subscribeToRootState","notifyRootStateSubscribers","subscribeToStore","subscribeToLoadingState","setLoadingState","listener","currentSnapshot","getSnapshot","snapshot","rootStateSnapshot","routeInfoSnapshot","getBrowserPathname","currentState","shouldPreserveInitialRouteInfo","nextPathname","browserPathname","useOneRouter","syncStoreRootState","getRootState","useStoreRootState","useStoreRouteInfo","cleanup","cancelAnimationFrame","preloadingLoader","PRELOAD_MAP_MAX","setBoundedPreloadRecord","record","value","doPreloadDev","startTime","performance","normalizedPath","normalizeLoaderPath","globalThis","loaderJSUrl","moduleLoadStart","modulePromise","module","catch","moduleLoadTime","loader","executionStart","result","executionTime","totalTime","__oneRedirect","recordLoaderTiming","path","source","err","String","warn","doPreload","artifactPaths","preloadPath","preload","loaderPath","cssPreloadPath","recordPreloadStart","_preload","cssPreloadModule","Promise","all","recordPreloadError","hasCss","injectCSS","setBoundedCssInject","recordPreloadComplete","errorMessage","preloadedLoaderData","cssInjectFunctions","preloadHistory","MAX_PRELOAD_HISTORY","existing","find","p","unshift","hasLoader","dispatchPreloadEvent","entry","endTime","preloadRoute","then","data","inject","race","setTimeout","URL","buildClientMatches","matchingNode","loaderData","routeId","layoutMatches","m","includes","pageMatch","initClientMatches","matches","event","location","currentLayoutNode","currentPath","interceptResult","interceptRoute","layoutContextKey","params2","scopedSlotKey","activeRouteKey","activeRouteNode","isIntercepted","base","segment","isArray","Boolean","getStateFromPath","config","normalizedPreloadPath","preloadResult","redirectTarget","__oneError","notFoundRoute","notFoundPath","__oneNotFoundPath","notFoundRouteNode","originalPath","matchingRouteNode","loadRoute","loadedRoute","search","validateRoute","validationResult","valid","details","newMatches","currentRootState","indexOf","freshRootState","currentRouteBeforeDispatch","getCurrentRoute","targetPathname","optimisticState","resetRoot","targetName","payload","isGroupTarget","endsWith","hasFreshRootState","isRootTarget","target","currentFocusedRoute","currentFocusedName","targetRoute","targetRootName","existingTargetRoute","existingRoutes","nextRootState","warningTm","interval","setInterval","clearTimeout","a","b","keysA","keysB"],"sources":["router.mjs"],"sourcesContent":["import { StackActions } from \"@react-navigation/native\";\nimport { Fragment, startTransition, useDeferredValue, useSyncExternalStore } from \"react\";\nimport { Platform } from \"react-native-web\";\nimport { devtoolsRegistry } from \"../devtools/registry\";\nimport { resolveHref } from \"../link/href\";\nimport { openExternalURL } from \"../link/openExternalURL\";\nimport { resolve } from \"../link/path\";\nimport { checkBlocker } from \"../useBlocker\";\nimport { assertIsReady } from \"../utils/assertIsReady\";\nimport { getLoaderPath, getPreloadCSSPath, getPreloadPath } from \"../utils/cleanUrl\";\nimport { dynamicImport } from \"../utils/dynamicImport\";\nimport { isVersionStale } from \"../skewProtection\";\nimport { shouldLinkExternally } from \"../utils/url\";\nimport { ParamValidationError, RouteValidationError, validateParams } from \"../validateParams\";\nimport { extractParamsFromState, extractPathnameFromHref, extractSearchFromHref, findRouteNodeFromState } from \"./findRouteNode\";\nimport { getRouteInfo } from \"./getRouteInfo\";\nimport { getRouteArtifactPaths } from \"./getRouteArtifactPath\";\nimport { getRoutes } from \"./getRoutes\";\nimport { setLastAction } from \"./lastAction\";\nimport { getResolvedLinking, resetLinking, setupLinking } from \"./linkingConfig\";\nimport { getSafeWindowPathname, getSafeWindowPathname as getSafeWindowPathname2, normalizeRoutePathname, stripTrailingSlash } from \"./path\";\nimport { sortRoutes } from \"./sortRoutes\";\nimport { getQualifiedRouteComponent } from \"./useScreens\";\nimport { preloadRouteModules } from \"./useViteRoutes\";\nimport { getNavigateAction } from \"./utils/getNavigateAction\";\nimport { setClientMatches } from \"../useMatches\";\nimport { findInterceptRoute, setNavigationType, storeInterceptState, updateURLWithoutNavigation } from \"./interceptRoutes\";\nimport { setSlotState } from \"../views/Navigator\";\nimport { clearNotFoundState, findNearestNotFoundRoute, setNotFoundState } from \"../notFoundState\";\n\nlet routeNode = null;\nlet rootComponent;\nconst protectedRouteRegistry = /* @__PURE__ */ new Map();\nfunction registerProtectedRoutes(contextKey, protectedScreens) {\n\tif (protectedScreens.size === 0) protectedRouteRegistry.delete(contextKey);\n\telse protectedRouteRegistry.set(contextKey, protectedScreens);\n}\nfunction unregisterProtectedRoutes(contextKey) {\n\tprotectedRouteRegistry.delete(contextKey);\n}\nfunction isRouteProtected(href) {\n\tconst normalizedHref = href.replace(/^\\/+|\\/+$/g, \"\");\n\tfor (const [contextKey, protectedScreens] of protectedRouteRegistry) {\n\t\tconst normalizedContextKey = contextKey.replace(/^\\/+|\\/+$/g, \"\");\n\t\tif (normalizedHref.startsWith(normalizedContextKey)) {\n\t\t\tconst routeName = normalizedHref.slice(normalizedContextKey.length).replace(/^\\//, \"\").split(\"/\")[0] || \"index\";\n\t\t\tconst normalizedRouteName = routeName.replace(/\\/index$/, \"\");\n\t\t\tif (protectedScreens.has(routeName) || protectedScreens.has(normalizedRouteName)) return true;\n\t\t}\n\t}\n\treturn false;\n}\nlet hasAttemptedToHideSplash = false;\nlet initialState;\nlet rootState;\nlet initialPathname;\nlet lastIntendedPathname;\nlet nextState;\nlet routeInfo;\nlet splashScreenAnimationFrame;\nlet pendingNavigationPathname;\nlet pendingNavigationAction;\nlet navigationRef = null;\nconst rootStateSubscribers = /* @__PURE__ */ new Set();\nconst loadingStateSubscribers = /* @__PURE__ */ new Set();\nconst storeSubscribers = /* @__PURE__ */ new Set();\nlet currentMatches = [];\nlet validationState = { status: \"idle\" };\nconst validationStateSubscribers = /* @__PURE__ */ new Set();\nfunction subscribeToValidationState(subscriber) {\n\tvalidationStateSubscribers.add(subscriber);\n\treturn () => validationStateSubscribers.delete(subscriber);\n}\nfunction setValidationState(state) {\n\tvalidationState = state;\n\tfor (const subscriber of validationStateSubscribers) subscriber(state);\n\tif (state.status === \"error\" && state.error) window.dispatchEvent(new CustomEvent(\"one-validation-error\", { detail: {\n\t\terror: {\n\t\t\tmessage: state.error.message,\n\t\t\tname: state.error.name,\n\t\t\tstack: state.error.stack\n\t\t},\n\t\thref: state.lastValidatedHref,\n\t\ttimestamp: Date.now()\n\t} }));\n}\nfunction getValidationState() {\n\treturn validationState;\n}\nfunction useValidationState() {\n\treturn useSyncExternalStore(subscribeToValidationState, getValidationState, getValidationState);\n}\nlet cachedRouteNode = null;\nlet cachedRootComponent = null;\nlet cachedContext = null;\nfunction initialize(context, ref, initialLocation, linking) {\n\tcleanUpState();\n\tif (context !== cachedContext || !cachedRouteNode) {\n\t\tcachedRouteNode = getRoutes(context, {\n\t\t\tignoreEntryPoints: true,\n\t\t\tplatform: Platform.OS\n\t\t});\n\t\tcachedRootComponent = cachedRouteNode ? getQualifiedRouteComponent(cachedRouteNode) : Fragment;\n\t\tcachedContext = context;\n\t}\n\trouteNode = cachedRouteNode;\n\trootComponent = cachedRootComponent || Fragment;\n\tif (!routeNode && process.env.NODE_ENV === \"production\") throw new Error(\"No routes found\");\n\tif (process.env.ONE_DEBUG_ROUTER && routeNode) {\n\t\tconst formatRouteTree = (node, indent = \"\", isLast = true) => {\n\t\t\tconst prefix = indent + (isLast ? \"└─ \" : \"├─ \");\n\t\t\tconst childIndent = indent + (isLast ? \" \" : \"│ \");\n\t\t\tconst dynamicBadge = node.dynamic ? ` [${node.dynamic.map((d) => d.name).join(\", \")}]` : \"\";\n\t\t\tconst typeBadge = node.type !== \"layout\" ? ` (${node.type})` : \"\";\n\t\t\tconst slotsBadge = node.slots?.size ? ` {@${Array.from(node.slots.keys()).join(\", @\")}}` : \"\";\n\t\t\tlet line = `${prefix}${node.route || \"/\"}${dynamicBadge}${typeBadge}${slotsBadge}`;\n\t\t\tconst visibleChildren = node.children.filter((child) => !child.internal);\n\t\t\tfor (let i = 0; i < visibleChildren.length; i++) {\n\t\t\t\tconst child = visibleChildren[i];\n\t\t\t\tconst childIsLast = i === visibleChildren.length - 1;\n\t\t\t\tline += \"\\n\" + formatRouteTree(child, childIndent, childIsLast);\n\t\t\t}\n\t\t\treturn line;\n\t\t};\n\t\tconsole.info(`[one] \\u{1F4CD} Route structure:\n${formatRouteTree(routeNode)}`);\n\t\tif (routeNode.slots?.size) {\n\t\t\tconsole.info(`[one] \\u{1F4E6} Slots on root layout:`);\n\t\t\tfor (const [slotName, slotConfig] of routeNode.slots) console.info(` @${slotName}:`, {\n\t\t\t\tdefaultRoute: slotConfig.defaultRoute?.route,\n\t\t\t\tinterceptRoutes: slotConfig.interceptRoutes.map((r) => ({\n\t\t\t\t\troute: r.route,\n\t\t\t\t\tintercept: r.intercept\n\t\t\t\t}))\n\t\t\t});\n\t\t}\n\t}\n\tnavigationRef = ref;\n\tsetupLinkingAndRouteInfo(initialLocation, linking);\n\tsubscribeToNavigationChanges();\n}\nfunction cleanUpState() {\n\tinitialState = void 0;\n\tinitialPathname = void 0;\n\tlastIntendedPathname = void 0;\n\trootState = void 0;\n\tnextState = void 0;\n\trouteInfo = void 0;\n\tpendingNavigationPathname = void 0;\n\tpendingNavigationAction = void 0;\n\tresetLinking();\n\trootStateSubscribers.clear();\n\tstoreSubscribers.clear();\n}\nfunction setupLinkingAndRouteInfo(initialLocation, linking) {\n\tinitialState = setupLinking(routeNode, initialLocation, linking);\n\tinitialPathname = initialLocation?.pathname ?? getSafeWindowPathname();\n\tif (initialState) {\n\t\trootState = initialState;\n\t\trouteInfo = getRouteInfo(initialState);\n\t} else routeInfo = {\n\t\tunstable_globalHref: \"\",\n\t\tpathname: \"\",\n\t\tisIndex: false,\n\t\tparams: {},\n\t\tsegments: []\n\t};\n}\nfunction handleNavigationContainerStateChange(navState) {\n\tif (!navState) return;\n\tlet state = { ...navState };\n\tif (state.key) {\n\t\tif (hashes[state.key]) {\n\t\t\tstate.hash = hashes[state.key];\n\t\t\tdelete hashes[state.key];\n\t\t}\n\t}\n\tif (!hasAttemptedToHideSplash) {\n\t\thasAttemptedToHideSplash = true;\n\t\tsplashScreenAnimationFrame = requestAnimationFrame(() => {});\n\t}\n\tif (shouldKeepPendingNavigationState(state)) return;\n\tif (nextOptions) {\n\t\tstate = {\n\t\t\t...state,\n\t\t\tlinkOptions: nextOptions\n\t\t};\n\t\tnextOptions = null;\n\t}\n\tlet shouldUpdateSubscribers = nextState === state;\n\tnextState = void 0;\n\tif (state && state !== rootState) {\n\t\tupdateState(state, void 0);\n\t\tshouldUpdateSubscribers = true;\n\t}\n\tif (shouldUpdateSubscribers) startTransition(() => {\n\t\tfor (const subscriber of rootStateSubscribers) subscriber(state);\n\t});\n}\nfunction subscribeToNavigationChanges() {\n\tstartTransition(() => {\n\t\tupdateSnapshot();\n\t\tfor (const subscriber of storeSubscribers) subscriber();\n\t});\n}\nfunction navigate(url, options) {\n\treturn linkTo(resolveHref(url), \"NAVIGATE\", options);\n}\nfunction push(url, options) {\n\treturn linkTo(resolveHref(url), \"PUSH\", options);\n}\nfunction dismiss(count) {\n\tif (process.env.ONE_DEBUG_ROUTER) console.info(`[one] \\u{1F519} dismiss${count ? ` (${count})` : \"\"}`);\n\tnavigationRef?.dispatch(StackActions.pop(count));\n}\nfunction replace(url, options) {\n\treturn linkTo(resolveHref(url), \"REPLACE\", options);\n}\nfunction setParams(params = {}) {\n\tassertIsReady(navigationRef);\n\treturn navigationRef?.current?.setParams(params);\n}\nfunction dismissAll() {\n\tif (process.env.ONE_DEBUG_ROUTER) console.info(`[one] \\u{1F519} dismissAll`);\n\tnavigationRef?.dispatch(StackActions.popToTop());\n}\nfunction goBack() {\n\tif (process.env.ONE_DEBUG_ROUTER) console.info(`[one] \\u{1F519} goBack`);\n\tassertIsReady(navigationRef);\n\tnavigationRef?.current?.goBack();\n}\nfunction canGoBack() {\n\tif (!navigationRef.isReady()) return false;\n\treturn navigationRef?.current?.canGoBack() ?? false;\n}\nfunction canDismiss() {\n\tlet state = rootState;\n\twhile (state) {\n\t\tif (state.type === \"stack\" && state.routes.length > 1) return true;\n\t\tif (state.index === void 0) return false;\n\t\tstate = state.routes?.[state.index]?.state;\n\t}\n\treturn false;\n}\nfunction getSortedRoutes() {\n\tif (!routeNode) throw new Error(\"No routes\");\n\treturn routeNode.children.filter((route) => !route.internal).sort(sortRoutes);\n}\nfunction updateState(state, nextStateParam = state) {\n\trootState = state;\n\tnextState = nextStateParam;\n\tconst nextRouteInfo = getRouteInfo(state);\n\tif (pendingNavigationPathname === nextRouteInfo.pathname) pendingNavigationPathname = void 0;\n\tif (!deepEqual(routeInfo, nextRouteInfo)) {\n\t\tif (process.env.ONE_DEBUG_ROUTER) {\n\t\t\tconst from = routeInfo?.pathname || \"(initial)\";\n\t\t\tconst to = nextRouteInfo.pathname;\n\t\t\tconst params = Object.keys(nextRouteInfo.params || {}).length ? nextRouteInfo.params : void 0;\n\t\t\tconsole.info(`[one] \\u{1F9ED} ${from} \\u2192 ${to}`, params ? { params } : \"\");\n\t\t}\n\t\trouteInfo = nextRouteInfo;\n\t}\n\tif (process.env.NODE_ENV === \"development\" && typeof window !== \"undefined\") {\n\t\twindow.__oneDevtools = {\n\t\t\trouteInfo: nextRouteInfo,\n\t\t\trootState: state,\n\t\t\trouteNode,\n\t\t\tgetRoutes: () => routeNode?.children || [],\n\t\t\tgetLoaderTimingHistory: () => devtoolsRegistry.getLoaderTimingHistory?.() ?? [],\n\t\t\tgetPreloadHistory\n\t\t};\n\t\twindow.dispatchEvent(new CustomEvent(\"one-route-change\", { detail: nextRouteInfo }));\n\t}\n}\nfunction consumePendingNavigationAction() {\n\tconst action = pendingNavigationAction;\n\tpendingNavigationAction = void 0;\n\treturn action;\n}\nfunction subscribeToRootState(subscriber) {\n\trootStateSubscribers.add(subscriber);\n\treturn () => {\n\t\trootStateSubscribers.delete(subscriber);\n\t};\n}\nfunction notifyRootStateSubscribers(state) {\n\tfor (const subscriber of rootStateSubscribers) subscriber(state);\n}\nfunction subscribeToStore(subscriber) {\n\tstoreSubscribers.add(subscriber);\n\treturn () => {\n\t\tstoreSubscribers.delete(subscriber);\n\t};\n}\nfunction subscribeToLoadingState(subscriber) {\n\tloadingStateSubscribers.add(subscriber);\n\treturn () => {\n\t\tloadingStateSubscribers.delete(subscriber);\n\t};\n}\nfunction setLoadingState(state) {\n\tstartTransition(() => {\n\t\tfor (const listener of loadingStateSubscribers) listener(state);\n\t});\n}\nlet currentSnapshot = null;\nfunction updateSnapshot() {\n\tcurrentSnapshot = getSnapshot();\n}\nfunction snapshot() {\n\treturn currentSnapshot;\n}\nfunction getSnapshot() {\n\treturn {\n\t\tlinkTo,\n\t\trouteNode,\n\t\trootComponent,\n\t\tlinking: getResolvedLinking(),\n\t\thasAttemptedToHideSplash,\n\t\tinitialState,\n\t\trootState,\n\t\tnextState,\n\t\trouteInfo,\n\t\tsplashScreenAnimationFrame,\n\t\tnavigationRef,\n\t\trootStateSubscribers,\n\t\tstoreSubscribers\n\t};\n}\nfunction rootStateSnapshot() {\n\treturn rootState;\n}\nfunction routeInfoSnapshot() {\n\treturn routeInfo;\n}\nfunction getBrowserPathname() {\n\tconst pathname = getSafeWindowPathname();\n\treturn pathname === void 0 ? void 0 : normalizeRoutePathname(pathname);\n}\nfunction shouldKeepPendingNavigationState(currentState) {\n\tif (!pendingNavigationPathname) return false;\n\treturn getRouteInfo(currentState).pathname !== pendingNavigationPathname;\n}\nfunction shouldPreserveInitialRouteInfo(currentState) {\n\tif (!initialState || !routeInfo?.pathname) return false;\n\tconst nextPathname = getRouteInfo(currentState).pathname;\n\tif (nextPathname === routeInfo.pathname) return false;\n\tif (nextPathname && nextPathname === pendingNavigationPathname) return false;\n\tconst browserPathname = getBrowserPathname();\n\tif (nextPathname && browserPathname && nextPathname === browserPathname) return false;\n\treturn true;\n}\nfunction useOneRouter() {\n\treturn useDeferredValue(useSyncExternalStore(subscribeToStore, snapshot, snapshot));\n}\nfunction syncStoreRootState() {\n\tif (!navigationRef) throw new Error(`No navigationRef, possible duplicate One dep`);\n\tif (navigationRef.isReady()) {\n\t\tconst currentState = navigationRef.getRootState();\n\t\tif (rootState !== currentState) {\n\t\t\tif (shouldKeepPendingNavigationState(currentState)) return;\n\t\t\tif (shouldPreserveInitialRouteInfo(currentState)) return;\n\t\t\tupdateState(currentState);\n\t\t}\n\t}\n}\nfunction useStoreRootState() {\n\tsyncStoreRootState();\n\treturn useDeferredValue(useSyncExternalStore(subscribeToRootState, rootStateSnapshot, rootStateSnapshot));\n}\nfunction useStoreRouteInfo() {\n\tsyncStoreRootState();\n\treturn useSyncExternalStore(subscribeToRootState, routeInfoSnapshot, routeInfoSnapshot);\n}\nfunction cleanup() {\n\tif (splashScreenAnimationFrame) cancelAnimationFrame(splashScreenAnimationFrame);\n}\nconst preloadingLoader = {};\nconst PRELOAD_MAP_MAX = 200;\nfunction setBoundedPreloadRecord(record, key, value) {\n\tif (!(key in record)) {\n\t\tconst keys = Object.keys(record);\n\t\tif (keys.length >= PRELOAD_MAP_MAX) delete record[keys[0]];\n\t}\n\trecord[key] = value;\n}\nasync function doPreloadDev(href) {\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tconst startTime = performance.now();\n\t\tconst normalizedPath = normalizeLoaderPath(href);\n\t\tif (globalThis[\"__vxrnHeadless\"]) return null;\n\t\ttry {\n\t\t\tconst loaderJSUrl = getLoaderPath(href, true);\n\t\t\tconst moduleLoadStart = performance.now();\n\t\t\tconst modulePromise = dynamicImport(loaderJSUrl);\n\t\t\tif (!modulePromise) return null;\n\t\t\tconst module = await modulePromise.catch(() => null);\n\t\t\tconst moduleLoadTime = performance.now() - moduleLoadStart;\n\t\t\tif (!module?.loader) return null;\n\t\t\tconst executionStart = performance.now();\n\t\t\tconst result = await module.loader();\n\t\t\tconst executionTime = performance.now() - executionStart;\n\t\t\tconst totalTime = performance.now() - startTime;\n\t\t\tif (result?.__oneRedirect) return result;\n\t\t\tdevtoolsRegistry.recordLoaderTiming?.({\n\t\t\t\tpath: normalizedPath,\n\t\t\t\tstartTime,\n\t\t\t\tmoduleLoadTime,\n\t\t\t\texecutionTime,\n\t\t\t\ttotalTime,\n\t\t\t\tsource: \"preload\"\n\t\t\t});\n\t\t\treturn result ?? null;\n\t\t} catch (err) {\n\t\t\tconst totalTime = performance.now() - startTime;\n\t\t\tdevtoolsRegistry.recordLoaderTiming?.({\n\t\t\t\tpath: normalizedPath,\n\t\t\t\tstartTime,\n\t\t\t\ttotalTime,\n\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t\tsource: \"preload\"\n\t\t\t});\n\t\t\tif (process.env.ONE_DEBUG_ROUTER) console.warn(`[one] dev preload failed for ${href}:`, err);\n\t\t\treturn null;\n\t\t}\n\t}\n}\nasync function doPreload(href) {\n\tif (globalThis[\"__vxrnHeadless\"]) return null;\n\tconst artifactPaths = getRouteArtifactPaths(href, getResolvedLinking(), routeNode);\n\tconst preloadPath = getPreloadPath(artifactPaths.preload);\n\tconst loaderPath = getLoaderPath(artifactPaths.loader);\n\tconst cssPreloadPath = getPreloadCSSPath(artifactPaths.preload);\n\trecordPreloadStart(href);\n\ttry {\n\t\tconst [_preload, cssPreloadModule, loader] = await Promise.all([\n\t\t\tdynamicImport(preloadPath)?.catch((err) => {\n\t\t\t\trecordPreloadError(href, err instanceof Error ? err.message : String(err));\n\t\t\t\treturn null;\n\t\t\t}),\n\t\t\tdynamicImport(cssPreloadPath)?.catch(() => null) ?? Promise.resolve(null),\n\t\t\tdynamicImport(loaderPath)?.catch(() => null) ?? Promise.resolve(null),\n\t\t\tpreloadRouteModules(href)\n\t\t]);\n\t\tconst hasCss = !!cssPreloadModule?.injectCSS;\n\t\tif (hasCss) setBoundedCssInject(href, cssPreloadModule.injectCSS);\n\t\tif (!!!loader?.loader) {\n\t\t\trecordPreloadComplete(href, false, hasCss);\n\t\t\treturn null;\n\t\t}\n\t\tconst result = await loader.loader();\n\t\tif (result?.__oneRedirect) return result;\n\t\trecordPreloadComplete(href, true, hasCss);\n\t\treturn result ?? null;\n\t} catch (err) {\n\t\tconst errorMessage = err instanceof Error ? err.message : String(err);\n\t\tconsole.error(`[one] preload error for ${href}:`, err);\n\t\trecordPreloadError(href, errorMessage);\n\t\treturn null;\n\t}\n}\nconst preloadedLoaderData = {};\nconst cssInjectFunctions = {};\nfunction setBoundedCssInject(key, value) {\n\tif (!(key in cssInjectFunctions)) {\n\t\tconst keys = Object.keys(cssInjectFunctions);\n\t\tif (keys.length >= PRELOAD_MAP_MAX) delete cssInjectFunctions[keys[0]];\n\t}\n\tcssInjectFunctions[key] = value;\n}\nconst preloadHistory = [];\nconst MAX_PRELOAD_HISTORY = 30;\nfunction recordPreloadStart(href) {\n\tif (process.env.NODE_ENV !== \"development\") return;\n\tconst existing = preloadHistory.find((p) => p.href === href);\n\tif (existing) {\n\t\texisting.status = \"loading\";\n\t\texisting.startTime = performance.now();\n\t\treturn;\n\t}\n\tpreloadHistory.unshift({\n\t\thref,\n\t\tstatus: \"loading\",\n\t\tstartTime: performance.now(),\n\t\thasLoader: false,\n\t\thasCss: false\n\t});\n\tif (preloadHistory.length > MAX_PRELOAD_HISTORY) preloadHistory.pop();\n\tdispatchPreloadEvent();\n}\nfunction recordPreloadComplete(href, hasLoader, hasCss) {\n\tif (process.env.NODE_ENV !== \"development\") return;\n\tconst entry = preloadHistory.find((p) => p.href === href);\n\tif (entry) {\n\t\tentry.status = \"loaded\";\n\t\tentry.endTime = performance.now();\n\t\tentry.hasLoader = hasLoader;\n\t\tentry.hasCss = hasCss;\n\t}\n\tdispatchPreloadEvent();\n}\nfunction recordPreloadError(href, error) {\n\tif (process.env.NODE_ENV !== \"development\") return;\n\tconst entry = preloadHistory.find((p) => p.href === href);\n\tif (entry) {\n\t\tentry.status = \"error\";\n\t\tentry.endTime = performance.now();\n\t\tentry.error = error;\n\t}\n\tdispatchPreloadEvent();\n}\nfunction dispatchPreloadEvent() {\n\twindow.dispatchEvent(new CustomEvent(\"one-preload-update\"));\n}\nfunction getPreloadHistory() {\n\treturn preloadHistory;\n}\nfunction preloadRoute(href, injectCSS = false) {\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tconst normalizedHref = normalizeLoaderPath(href);\n\t\tif (!preloadingLoader[normalizedHref]) setBoundedPreloadRecord(preloadingLoader, normalizedHref, doPreloadDev(href).then((data) => {\n\t\t\tsetBoundedPreloadRecord(preloadedLoaderData, normalizedHref, data);\n\t\t\treturn data;\n\t\t}));\n\t\treturn preloadingLoader[normalizedHref];\n\t}\n\tif (!preloadingLoader[href]) setBoundedPreloadRecord(preloadingLoader, href, doPreload(href).then((data) => {\n\t\tsetBoundedPreloadRecord(preloadedLoaderData, href, data);\n\t\treturn data;\n\t}));\n\tif (injectCSS) return preloadingLoader[href]?.then(async (data) => {\n\t\tconst inject = cssInjectFunctions[href];\n\t\tif (inject) await Promise.race([inject(), new Promise((r) => setTimeout(r, 800))]);\n\t\treturn data;\n\t});\n\treturn preloadingLoader[href];\n}\nfunction normalizeLoaderPath(href) {\n\treturn new URL(href, \"http://example.com\").pathname.replace(/\\/index$/, \"\").replace(/\\/$/, \"\") || \"/\";\n}\nfunction buildClientMatches(href, matchingNode, params, loaderData) {\n\tconst pathname = extractPathnameFromHref(href);\n\tconst routeId = matchingNode?.contextKey || pathname;\n\tconst layoutMatches = currentMatches.filter((m) => m.routeId.includes(\"_layout\"));\n\tconst pageMatch = {\n\t\trouteId,\n\t\tpathname,\n\t\tparams,\n\t\tloaderData\n\t};\n\treturn [...layoutMatches, pageMatch];\n}\nfunction initClientMatches(matches) {\n\tcurrentMatches = matches;\n\tsetClientMatches(matches);\n}\nasync function linkTo(href, event, options) {\n\tif (process.env.ONE_DEBUG_ROUTER) console.info(`[one] \\u{1F517} ${event || \"NAVIGATE\"} ${href}`);\n\tsetNavigationType(\"soft\");\n\tclearNotFoundState();\n\tif (href[0] === \"#\") return;\n\tif (shouldLinkExternally(href)) {\n\t\topenExternalURL(href);\n\t\treturn;\n\t}\n\tif (isVersionStale()) {\n\t\twindow.location.href = href;\n\t\treturn;\n\t}\n\tif (checkBlocker(href, event === \"REPLACE\" ? \"replace\" : \"push\")) return;\n\tif (isRouteProtected(href)) return;\n\tconst currentLayoutNode = routeNode;\n\tconst currentPath = routeInfo?.pathname || \"/\";\n\tconst interceptResult = findInterceptRoute(href, currentLayoutNode, currentPath);\n\tif (interceptResult) {\n\t\tconst { interceptRoute, slotName, layoutContextKey, params: params2 } = interceptResult;\n\t\tconst scopedSlotKey = `${layoutContextKey}:${slotName}`;\n\t\tstoreInterceptState(scopedSlotKey, interceptRoute, params2);\n\t\tupdateURLWithoutNavigation(href);\n\t\tsetSlotState(scopedSlotKey, {\n\t\t\tactiveRouteKey: interceptRoute.contextKey,\n\t\t\tactiveRouteNode: interceptRoute,\n\t\t\tparams: params2,\n\t\t\tisIntercepted: true\n\t\t});\n\t\treturn;\n\t}\n\tassertIsReady(navigationRef);\n\tconst current = navigationRef.current;\n\tif (current == null) throw new Error(\"Couldn't find a navigation object. Is your component inside NavigationContainer?\");\n\tconst linking = getResolvedLinking();\n\tif (!linking) throw new Error(\"Attempted to link to route when no routes are present\");\n\tsetLastAction();\n\tif (href === \"..\" || href === \"../\") {\n\t\tcurrent.goBack();\n\t\treturn;\n\t}\n\tif (href.startsWith(\".\")) {\n\t\tlet base = routeInfo?.segments?.map((segment) => {\n\t\t\tif (!segment.startsWith(\"[\")) return segment;\n\t\t\tif (segment.startsWith(\"[...\")) {\n\t\t\t\tsegment = segment.slice(4, -1);\n\t\t\t\tconst params2 = routeInfo?.params?.[segment];\n\t\t\t\tif (Array.isArray(params2)) return params2.join(\"/\");\n\t\t\t\treturn params2?.split(\",\")?.join(\"/\") ?? \"\";\n\t\t\t}\n\t\t\tsegment = segment.slice(1, -1);\n\t\t\treturn routeInfo?.params?.[segment];\n\t\t}).filter(Boolean).join(\"/\") ?? \"/\";\n\t\tif (!routeInfo?.isIndex) base += \"/..\";\n\t\thref = resolve(base, href);\n\t}\n\tconst state = linking.getStateFromPath(href, linking.config);\n\tif (!state || state.routes.length === 0) {\n\t\tconsole.error(\"Could not generate a valid navigation state for the given path: \" + href);\n\t\tconsole.error(`linking.config`, linking.config);\n\t\tconsole.error(`routes`, getSortedRoutes());\n\t\treturn;\n\t}\n\tsetLoadingState(\"loading\");\n\tconst normalizedPreloadPath = normalizeLoaderPath(href);\n\tif (!(normalizedPreloadPath in preloadedLoaderData) && !(href in preloadedLoaderData)) await preloadRoute(href, true);\n\telse if (process.env.NODE_ENV !== \"development\") {\n\t\tconst inject = cssInjectFunctions[href];\n\t\tif (inject) inject().catch(() => {});\n\t}\n\tconst preloadResult = preloadedLoaderData[normalizedPreloadPath];\n\tif (preloadResult?.__oneRedirect) {\n\t\tconst redirectTarget = preloadResult.__oneRedirect;\n\t\tdelete preloadedLoaderData[normalizedPreloadPath];\n\t\tdelete preloadingLoader[normalizedPreloadPath];\n\t\tdelete preloadedLoaderData[href];\n\t\tdelete preloadingLoader[href];\n\t\tsetLoadingState(\"loaded\");\n\t\tlinkTo(redirectTarget, \"REPLACE\");\n\t\treturn;\n\t}\n\tif (preloadResult?.__oneError === 404) {\n\t\tdelete preloadedLoaderData[normalizedPreloadPath];\n\t\tdelete preloadingLoader[normalizedPreloadPath];\n\t\tdelete preloadedLoaderData[href];\n\t\tdelete preloadingLoader[href];\n\t\tsetLoadingState(\"loaded\");\n\t\tconst notFoundRoute = findNearestNotFoundRoute(href, routeNode);\n\t\tsetNotFoundState({\n\t\t\tnotFoundPath: preloadResult.__oneNotFoundPath || \"/+not-found\",\n\t\t\tnotFoundRouteNode: notFoundRoute || void 0,\n\t\t\toriginalPath: href\n\t\t});\n\t\treturn;\n\t}\n\tconst matchingRouteNode = findRouteNodeFromState(state, routeNode);\n\tif (matchingRouteNode?.loadRoute) {\n\t\tsetValidationState({\n\t\t\tstatus: \"validating\",\n\t\t\tlastValidatedHref: href\n\t\t});\n\t\ttry {\n\t\t\tconst loadedRoute = matchingRouteNode.loadRoute();\n\t\t\tconst params2 = extractParamsFromState(state);\n\t\t\tconst search = extractSearchFromHref(href);\n\t\t\tconst pathname = extractPathnameFromHref(href);\n\t\t\tif (loadedRoute.validateParams) validateParams(loadedRoute.validateParams, params2);\n\t\t\tif (loadedRoute.validateRoute) {\n\t\t\t\tconst validationResult = await loadedRoute.validateRoute({\n\t\t\t\t\tparams: params2,\n\t\t\t\t\tsearch,\n\t\t\t\t\tpathname,\n\t\t\t\t\thref\n\t\t\t\t});\n\t\t\t\tif (validationResult && !validationResult.valid) {\n\t\t\t\t\tconst error = new RouteValidationError(validationResult.error || \"Route validation failed\", validationResult.details);\n\t\t\t\t\tsetValidationState({\n\t\t\t\t\t\tstatus: \"error\",\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tlastValidatedHref: href\n\t\t\t\t\t});\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetValidationState({\n\t\t\t\tstatus: \"valid\",\n\t\t\t\tlastValidatedHref: href\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tif (error && typeof error.then === \"function\") {\n\t\t\t\tawait error.catch(() => {});\n\t\t\t\tsetValidationState({\n\t\t\t\t\tstatus: \"valid\",\n\t\t\t\t\tlastValidatedHref: href\n\t\t\t\t});\n\t\t\t} else if (error instanceof ParamValidationError || error instanceof RouteValidationError) {\n\t\t\t\tsetValidationState({\n\t\t\t\t\tstatus: \"error\",\n\t\t\t\t\terror,\n\t\t\t\t\tlastValidatedHref: href\n\t\t\t\t});\n\t\t\t\tthrow error;\n\t\t\t} else throw error;\n\t\t}\n\t}\n\tconst loaderData = preloadedLoaderData[normalizeLoaderPath(href)];\n\tconst params = extractParamsFromState(state);\n\tconst newMatches = buildClientMatches(href, matchingRouteNode, params, loaderData);\n\tcurrentMatches = newMatches;\n\tsetClientMatches(newMatches);\n\tconst currentRootState = navigationRef.getRootState();\n\tconst hash = href.indexOf(\"#\");\n\tif (currentRootState.key && hash > 0) hashes[currentRootState.key] = href.slice(hash);\n\tnextOptions = options ?? null;\n\tpendingNavigationPathname = stripTrailingSlash(extractPathnameFromHref(href));\n\tpendingNavigationAction = event === \"PUSH\" || event === \"REPLACE\" || event === \"NAVIGATE\" ? event : void 0;\n\tlastIntendedPathname = pendingNavigationPathname;\n\tconst freshRootState = navigationRef.getRootState();\n\tconst currentRouteBeforeDispatch = navigationRef.getCurrentRoute();\n\tif (event === \"REPLACE\") {\n\t\tconst targetPathname = pendingNavigationPathname;\n\t\tconst optimisticState = nextOptions ? {\n\t\t\t...state,\n\t\t\tlinkOptions: nextOptions\n\t\t} : state;\n\t\tupdateState(optimisticState);\n\t\tpendingNavigationPathname = targetPathname;\n\t\tnotifyRootStateSubscribers(optimisticState);\n\t\tnavigationRef.resetRoot(state);\n\t} else {\n\t\tconst action = getNavigateAction(state, freshRootState, event);\n\t\tconst targetName = action.payload?.name;\n\t\tconst isGroupTarget = typeof targetName === \"string\" && targetName.startsWith(\"(\") && targetName.endsWith(\")\");\n\t\tconst hasFreshRootState = freshRootState.type === \"stack\";\n\t\tconst isRootTarget = action.target === freshRootState.key;\n\t\tconst currentFocusedRoute = freshRootState.routes[freshRootState.index];\n\t\tconst currentFocusedName = currentFocusedRoute?.name;\n\t\tif (isRootTarget && isGroupTarget && hasFreshRootState) {\n\t\t\tconst targetRoute = state.routes[state.routes.length - 1];\n\t\t\tconst targetRootName = targetRoute.name;\n\t\t\tif (currentFocusedName === targetRootName) {\n\t\t\t\tconst routes = [...freshRootState.routes];\n\t\t\t\troutes[freshRootState.index] = {\n\t\t\t\t\t...targetRoute,\n\t\t\t\t\tkey: currentFocusedRoute?.key ?? targetRoute.key\n\t\t\t\t};\n\t\t\t\tnavigationRef.resetRoot({\n\t\t\t\t\t...freshRootState,\n\t\t\t\t\troutes\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst existingTargetRoute = freshRootState.routes.find((route) => route.name === targetRootName);\n\t\t\t\tconst existingRoutes = freshRootState.routes.filter((route) => route.name !== targetRootName);\n\t\t\t\tconst nextRootState = {\n\t\t\t\t\t...freshRootState,\n\t\t\t\t\troutes: [...existingRoutes, {\n\t\t\t\t\t\t...targetRoute,\n\t\t\t\t\t\tkey: existingTargetRoute?.key ?? `${targetRootName}-${freshRootState.key}`\n\t\t\t\t\t}],\n\t\t\t\t\tindex: existingRoutes.length\n\t\t\t\t};\n\t\t\t\tnavigationRef.resetRoot(nextRootState);\n\t\t\t}\n\t\t} else navigationRef.dispatch(action);\n\t}\n\tlet warningTm;\n\tconst interval = setInterval(() => {\n\t\tif (currentRouteBeforeDispatch !== navigationRef.getCurrentRoute()) setTimeout(() => {\n\t\t\tsetLoadingState(\"loaded\");\n\t\t});\n\t\tclearTimeout(warningTm);\n\t\tclearTimeout(interval);\n\t}, 16);\n\tif (process.env.NODE_ENV === \"development\") warningTm = setTimeout(() => {\n\t\tconsole.warn(`Routing took more than 8 seconds`);\n\t}, 1e3);\n}\nconst hashes = {};\nlet nextOptions = null;\nfunction deepEqual(a, b) {\n\tif (a === b) return true;\n\tif (Array.isArray(a) && Array.isArray(b)) {\n\t\tif (a.length !== b.length) return false;\n\t\tfor (let i = 0; i < a.length; i++) if (!deepEqual(a[i], b[i])) return false;\n\t\treturn true;\n\t}\n\tif (typeof a === \"object\" && typeof b === \"object\") {\n\t\tconst keysA = Object.keys(a);\n\t\tconst keysB = Object.keys(b);\n\t\tif (keysA.length !== keysB.length) return false;\n\t\tfor (const key of keysA) if (!deepEqual(a[key], b[key])) return false;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport { canDismiss, canGoBack, cleanup, consumePendingNavigationAction, dismiss, dismissAll, getPreloadHistory, getSafeWindowPathname2 as getSafeWindowPathname, getSortedRoutes, getValidationState, goBack, handleNavigationContainerStateChange, hasAttemptedToHideSplash, initClientMatches, initialPathname, initialState, initialize, isRouteProtected, lastIntendedPathname, linkTo, navigate, navigationRef, preloadRoute, preloadedLoaderData, preloadingLoader, push, registerProtectedRoutes, replace, rootComponent, rootState, rootStateSnapshot, routeInfo, routeInfoSnapshot, routeNode, setLoadingState, setParams, setValidationState, snapshot, subscribeToLoadingState, subscribeToRootState, subscribeToStore, subscribeToValidationState, unregisterProtectedRoutes, updateState, useOneRouter, useStoreRootState, useStoreRouteInfo, useValidationState };"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["StackActions","Fragment","startTransition","useDeferredValue","useSyncExternalStore","Platform","devtoolsRegistry","resolveHref","openExternalURL","resolve","checkBlocker","assertIsReady","getLoaderPath","getPreloadCSSPath","getPreloadPath","dynamicImport","isVersionStale","shouldLinkExternally","ParamValidationError","RouteValidationError","validateParams","extractParamsFromState","extractPathnameFromHref","extractSearchFromHref","findRouteNodeFromState","getRouteInfo","getRouteArtifactPaths","getRoutes","setLastAction","getResolvedLinking","resetLinking","setupLinking","getSafeWindowPathname","getSafeWindowPathname2","normalizeRoutePathname","stripTrailingSlash","sortRoutes","getQualifiedRouteComponent","preloadRouteModules","getNavigateAction","setClientMatches","findInterceptRoute","setNavigationType","storeInterceptState","updateURLWithoutNavigation","setSlotState","clearNotFoundState","findNearestNotFoundRoute","setNotFoundState","routeNode","rootComponent","protectedRouteRegistry","Map","registerProtectedRoutes","contextKey","guardedRedirects","size","delete","set","unregisterProtectedRoutes","getProtectedRedirect","href","normalizedHref","replace","normalizedContextKey","startsWith","routeName","slice","length","split","normalizedRouteName","has","get","resolveProtectedHref","target","visited","Set","add","redirectTo","isRouteProtected","hasAttemptedToHideSplash","initialState","rootState","initialPathname","lastIntendedPathname","nextState","routeInfo","splashScreenAnimationFrame","pendingNavigationPathname","pendingNavigationAction","navigationRef","rootStateSubscribers","loadingStateSubscribers","storeSubscribers","currentMatches","validationState","status","validationStateSubscribers","subscribeToValidationState","subscriber","setValidationState","state","error","window","dispatchEvent","CustomEvent","detail","message","name","stack","lastValidatedHref","timestamp","Date","now","getValidationState","useValidationState","cachedRouteNode","cachedRootComponent","cachedContext","initialize","context","ref","initialLocation","linking","cleanUpState","ignoreEntryPoints","platform","OS","process","env","NODE_ENV","Error","ONE_DEBUG_ROUTER","formatRouteTree","node","indent","isLast","prefix","childIndent","dynamicBadge","dynamic","map","d","join","typeBadge","type","slotsBadge","slots","Array","from","keys","line","route","visibleChildren","children","filter","child","internal","i","childIsLast","console","info","slotName","slotConfig","defaultRoute","interceptRoutes","r","intercept","setupLinkingAndRouteInfo","subscribeToNavigationChanges","clear","pathname","unstable_globalHref","isIndex","params","segments","handleNavigationContainerStateChange","navState","key","hashes","hash","requestAnimationFrame","shouldKeepPendingNavigationState","nextOptions","linkOptions","shouldUpdateSubscribers","updateState","updateSnapshot","navigate","url","options","linkTo","push","dismiss","count","dispatch","pop","setParams","current","dismissAll","popToTop","goBack","canGoBack","isReady","canDismiss","routes","index","getSortedRoutes","sort","nextStateParam","nextRouteInfo","deepEqual","to","Object","__oneDevtools","getLoaderTimingHistory","getPreloadHistory","consumePendingNavigationAction","action","subscribeToRootState","notifyRootStateSubscribers","subscribeToStore","subscribeToLoadingState","setLoadingState","listener","currentSnapshot","getSnapshot","snapshot","rootStateSnapshot","routeInfoSnapshot","getBrowserPathname","currentState","shouldPreserveInitialRouteInfo","nextPathname","browserPathname","useOneRouter","syncStoreRootState","getRootState","useStoreRootState","useStoreRouteInfo","cleanup","cancelAnimationFrame","preloadingLoader","PRELOAD_MAP_MAX","setBoundedPreloadRecord","record","value","doPreloadDev","startTime","performance","normalizedPath","normalizeLoaderPath","globalThis","loaderJSUrl","moduleLoadStart","modulePromise","module","catch","moduleLoadTime","loader","executionStart","result","executionTime","totalTime","__oneRedirect","recordLoaderTiming","path","source","err","String","warn","doPreload","artifactPaths","preloadPath","preload","loaderPath","cssPreloadPath","recordPreloadStart","_preload","cssPreloadModule","Promise","all","recordPreloadError","hasCss","injectCSS","setBoundedCssInject","recordPreloadComplete","errorMessage","preloadedLoaderData","cssInjectFunctions","preloadHistory","MAX_PRELOAD_HISTORY","existing","find","p","unshift","hasLoader","dispatchPreloadEvent","entry","endTime","preloadRoute","then","data","inject","race","setTimeout","URL","buildClientMatches","matchingNode","loaderData","routeId","layoutMatches","m","includes","pageMatch","initClientMatches","matches","event","location","protectedHref","currentLayoutNode","currentPath","interceptResult","interceptRoute","layoutContextKey","params2","scopedSlotKey","activeRouteKey","activeRouteNode","isIntercepted","base","segment","isArray","Boolean","getStateFromPath","config","normalizedPreloadPath","preloadResult","redirectTarget","__oneError","notFoundRoute","notFoundPath","__oneNotFoundPath","notFoundRouteNode","originalPath","matchingRouteNode","loadRoute","loadedRoute","search","validateRoute","validationResult","valid","details","newMatches","currentRootState","indexOf","freshRootState","currentRouteBeforeDispatch","getCurrentRoute","targetPathname","optimisticState","resetRoot","targetName","payload","isGroupTarget","endsWith","hasFreshRootState","isRootTarget","currentFocusedRoute","currentFocusedName","targetRoute","targetRootName","existingTargetRoute","existingRoutes","nextRootState","warningTm","interval","setInterval","clearTimeout","a","b","keysA","keysB"],"sources":["router.mjs"],"sourcesContent":["import { StackActions } from \"@react-navigation/native\";\nimport { Fragment, startTransition, useDeferredValue, useSyncExternalStore } from \"react\";\nimport { Platform } from \"react-native-web\";\nimport { devtoolsRegistry } from \"../devtools/registry\";\nimport { resolveHref } from \"../link/href\";\nimport { openExternalURL } from \"../link/openExternalURL\";\nimport { resolve } from \"../link/path\";\nimport { checkBlocker } from \"../useBlocker\";\nimport { assertIsReady } from \"../utils/assertIsReady\";\nimport { getLoaderPath, getPreloadCSSPath, getPreloadPath } from \"../utils/cleanUrl\";\nimport { dynamicImport } from \"../utils/dynamicImport\";\nimport { isVersionStale } from \"../skewProtection\";\nimport { shouldLinkExternally } from \"../utils/url\";\nimport { ParamValidationError, RouteValidationError, validateParams } from \"../validateParams\";\nimport { extractParamsFromState, extractPathnameFromHref, extractSearchFromHref, findRouteNodeFromState } from \"./findRouteNode\";\nimport { getRouteInfo } from \"./getRouteInfo\";\nimport { getRouteArtifactPaths } from \"./getRouteArtifactPath\";\nimport { getRoutes } from \"./getRoutes\";\nimport { setLastAction } from \"./lastAction\";\nimport { getResolvedLinking, resetLinking, setupLinking } from \"./linkingConfig\";\nimport { getSafeWindowPathname, getSafeWindowPathname as getSafeWindowPathname2, normalizeRoutePathname, stripTrailingSlash } from \"./path\";\nimport { sortRoutes } from \"./sortRoutes\";\nimport { getQualifiedRouteComponent } from \"./useScreens\";\nimport { preloadRouteModules } from \"./useViteRoutes\";\nimport { getNavigateAction } from \"./utils/getNavigateAction\";\nimport { setClientMatches } from \"../useMatches\";\nimport { findInterceptRoute, setNavigationType, storeInterceptState, updateURLWithoutNavigation } from \"./interceptRoutes\";\nimport { setSlotState } from \"../views/Navigator\";\nimport { clearNotFoundState, findNearestNotFoundRoute, setNotFoundState } from \"../notFoundState\";\n\nlet routeNode = null;\nlet rootComponent;\nconst protectedRouteRegistry = /* @__PURE__ */ new Map();\nfunction registerProtectedRoutes(contextKey, guardedRedirects) {\n\tif (guardedRedirects.size === 0) protectedRouteRegistry.delete(contextKey);\n\telse protectedRouteRegistry.set(contextKey, guardedRedirects);\n}\nfunction unregisterProtectedRoutes(contextKey) {\n\tprotectedRouteRegistry.delete(contextKey);\n}\nfunction getProtectedRedirect(href) {\n\tconst normalizedHref = extractPathnameFromHref(href).replace(/^\\/+|\\/+$/g, \"\");\n\tfor (const [contextKey, guardedRedirects] of protectedRouteRegistry) {\n\t\tconst normalizedContextKey = contextKey.replace(/^\\/+|\\/+$/g, \"\");\n\t\tif (!normalizedContextKey || normalizedHref === normalizedContextKey || normalizedHref.startsWith(`${normalizedContextKey}/`)) {\n\t\t\tconst routeName = normalizedHref.slice(normalizedContextKey.length).replace(/^\\//, \"\").split(\"/\")[0] || \"index\";\n\t\t\tconst normalizedRouteName = routeName.replace(/\\/index$/, \"\");\n\t\t\tif (guardedRedirects.has(routeName)) return guardedRedirects.get(routeName);\n\t\t\tif (guardedRedirects.has(normalizedRouteName)) return guardedRedirects.get(normalizedRouteName);\n\t\t}\n\t}\n\treturn false;\n}\nfunction resolveProtectedHref(href) {\n\tlet target = href;\n\tconst visited = /* @__PURE__ */ new Set();\n\twhile (!visited.has(target)) {\n\t\tvisited.add(target);\n\t\tconst redirectTo = getProtectedRedirect(target);\n\t\tif (redirectTo === false) return target;\n\t\tif (redirectTo === void 0) return;\n\t\ttarget = resolveHref(redirectTo);\n\t}\n}\nfunction isRouteProtected(href) {\n\treturn getProtectedRedirect(href) !== false;\n}\nlet hasAttemptedToHideSplash = false;\nlet initialState;\nlet rootState;\nlet initialPathname;\nlet lastIntendedPathname;\nlet nextState;\nlet routeInfo;\nlet splashScreenAnimationFrame;\nlet pendingNavigationPathname;\nlet pendingNavigationAction;\nlet navigationRef = null;\nconst rootStateSubscribers = /* @__PURE__ */ new Set();\nconst loadingStateSubscribers = /* @__PURE__ */ new Set();\nconst storeSubscribers = /* @__PURE__ */ new Set();\nlet currentMatches = [];\nlet validationState = { status: \"idle\" };\nconst validationStateSubscribers = /* @__PURE__ */ new Set();\nfunction subscribeToValidationState(subscriber) {\n\tvalidationStateSubscribers.add(subscriber);\n\treturn () => validationStateSubscribers.delete(subscriber);\n}\nfunction setValidationState(state) {\n\tvalidationState = state;\n\tfor (const subscriber of validationStateSubscribers) subscriber(state);\n\tif (state.status === \"error\" && state.error) window.dispatchEvent(new CustomEvent(\"one-validation-error\", { detail: {\n\t\terror: {\n\t\t\tmessage: state.error.message,\n\t\t\tname: state.error.name,\n\t\t\tstack: state.error.stack\n\t\t},\n\t\thref: state.lastValidatedHref,\n\t\ttimestamp: Date.now()\n\t} }));\n}\nfunction getValidationState() {\n\treturn validationState;\n}\nfunction useValidationState() {\n\treturn useSyncExternalStore(subscribeToValidationState, getValidationState, getValidationState);\n}\nlet cachedRouteNode = null;\nlet cachedRootComponent = null;\nlet cachedContext = null;\nfunction initialize(context, ref, initialLocation, linking) {\n\tcleanUpState();\n\tif (context !== cachedContext || !cachedRouteNode) {\n\t\tcachedRouteNode = getRoutes(context, {\n\t\t\tignoreEntryPoints: true,\n\t\t\tplatform: Platform.OS\n\t\t});\n\t\tcachedRootComponent = cachedRouteNode ? getQualifiedRouteComponent(cachedRouteNode) : Fragment;\n\t\tcachedContext = context;\n\t}\n\trouteNode = cachedRouteNode;\n\trootComponent = cachedRootComponent || Fragment;\n\tif (!routeNode && process.env.NODE_ENV === \"production\") throw new Error(\"No routes found\");\n\tif (process.env.ONE_DEBUG_ROUTER && routeNode) {\n\t\tconst formatRouteTree = (node, indent = \"\", isLast = true) => {\n\t\t\tconst prefix = indent + (isLast ? \"└─ \" : \"├─ \");\n\t\t\tconst childIndent = indent + (isLast ? \" \" : \"│ \");\n\t\t\tconst dynamicBadge = node.dynamic ? ` [${node.dynamic.map((d) => d.name).join(\", \")}]` : \"\";\n\t\t\tconst typeBadge = node.type !== \"layout\" ? ` (${node.type})` : \"\";\n\t\t\tconst slotsBadge = node.slots?.size ? ` {@${Array.from(node.slots.keys()).join(\", @\")}}` : \"\";\n\t\t\tlet line = `${prefix}${node.route || \"/\"}${dynamicBadge}${typeBadge}${slotsBadge}`;\n\t\t\tconst visibleChildren = node.children.filter((child) => !child.internal);\n\t\t\tfor (let i = 0; i < visibleChildren.length; i++) {\n\t\t\t\tconst child = visibleChildren[i];\n\t\t\t\tconst childIsLast = i === visibleChildren.length - 1;\n\t\t\t\tline += \"\\n\" + formatRouteTree(child, childIndent, childIsLast);\n\t\t\t}\n\t\t\treturn line;\n\t\t};\n\t\tconsole.info(`[one] \\u{1F4CD} Route structure:\n${formatRouteTree(routeNode)}`);\n\t\tif (routeNode.slots?.size) {\n\t\t\tconsole.info(`[one] \\u{1F4E6} Slots on root layout:`);\n\t\t\tfor (const [slotName, slotConfig] of routeNode.slots) console.info(` @${slotName}:`, {\n\t\t\t\tdefaultRoute: slotConfig.defaultRoute?.route,\n\t\t\t\tinterceptRoutes: slotConfig.interceptRoutes.map((r) => ({\n\t\t\t\t\troute: r.route,\n\t\t\t\t\tintercept: r.intercept\n\t\t\t\t}))\n\t\t\t});\n\t\t}\n\t}\n\tnavigationRef = ref;\n\tsetupLinkingAndRouteInfo(initialLocation, linking);\n\tsubscribeToNavigationChanges();\n}\nfunction cleanUpState() {\n\tinitialState = void 0;\n\tinitialPathname = void 0;\n\tlastIntendedPathname = void 0;\n\trootState = void 0;\n\tnextState = void 0;\n\trouteInfo = void 0;\n\tpendingNavigationPathname = void 0;\n\tpendingNavigationAction = void 0;\n\tresetLinking();\n\trootStateSubscribers.clear();\n\tstoreSubscribers.clear();\n}\nfunction setupLinkingAndRouteInfo(initialLocation, linking) {\n\tinitialState = setupLinking(routeNode, initialLocation, linking);\n\tinitialPathname = initialLocation?.pathname ?? getSafeWindowPathname();\n\tif (initialState) {\n\t\trootState = initialState;\n\t\trouteInfo = getRouteInfo(initialState);\n\t} else routeInfo = {\n\t\tunstable_globalHref: \"\",\n\t\tpathname: \"\",\n\t\tisIndex: false,\n\t\tparams: {},\n\t\tsegments: []\n\t};\n}\nfunction handleNavigationContainerStateChange(navState) {\n\tif (!navState) return;\n\tlet state = { ...navState };\n\tif (state.key) {\n\t\tif (hashes[state.key]) {\n\t\t\tstate.hash = hashes[state.key];\n\t\t\tdelete hashes[state.key];\n\t\t}\n\t}\n\tif (!hasAttemptedToHideSplash) {\n\t\thasAttemptedToHideSplash = true;\n\t\tsplashScreenAnimationFrame = requestAnimationFrame(() => {});\n\t}\n\tif (shouldKeepPendingNavigationState(state)) return;\n\tif (nextOptions) {\n\t\tstate = {\n\t\t\t...state,\n\t\t\tlinkOptions: nextOptions\n\t\t};\n\t\tnextOptions = null;\n\t}\n\tlet shouldUpdateSubscribers = nextState === state;\n\tnextState = void 0;\n\tif (state && state !== rootState) {\n\t\tupdateState(state, void 0);\n\t\tshouldUpdateSubscribers = true;\n\t}\n\tif (shouldUpdateSubscribers) startTransition(() => {\n\t\tfor (const subscriber of rootStateSubscribers) subscriber(state);\n\t});\n}\nfunction subscribeToNavigationChanges() {\n\tstartTransition(() => {\n\t\tupdateSnapshot();\n\t\tfor (const subscriber of storeSubscribers) subscriber();\n\t});\n}\nfunction navigate(url, options) {\n\treturn linkTo(resolveHref(url), \"NAVIGATE\", options);\n}\nfunction push(url, options) {\n\treturn linkTo(resolveHref(url), \"PUSH\", options);\n}\nfunction dismiss(count) {\n\tif (process.env.ONE_DEBUG_ROUTER) console.info(`[one] \\u{1F519} dismiss${count ? ` (${count})` : \"\"}`);\n\tnavigationRef?.dispatch(StackActions.pop(count));\n}\nfunction replace(url, options) {\n\treturn linkTo(resolveHref(url), \"REPLACE\", options);\n}\nfunction setParams(params = {}) {\n\tassertIsReady(navigationRef);\n\treturn navigationRef?.current?.setParams(params);\n}\nfunction dismissAll() {\n\tif (process.env.ONE_DEBUG_ROUTER) console.info(`[one] \\u{1F519} dismissAll`);\n\tnavigationRef?.dispatch(StackActions.popToTop());\n}\nfunction goBack() {\n\tif (process.env.ONE_DEBUG_ROUTER) console.info(`[one] \\u{1F519} goBack`);\n\tassertIsReady(navigationRef);\n\tnavigationRef?.current?.goBack();\n}\nfunction canGoBack() {\n\tif (!navigationRef.isReady()) return false;\n\treturn navigationRef?.current?.canGoBack() ?? false;\n}\nfunction canDismiss() {\n\tlet state = rootState;\n\twhile (state) {\n\t\tif (state.type === \"stack\" && state.routes.length > 1) return true;\n\t\tif (state.index === void 0) return false;\n\t\tstate = state.routes?.[state.index]?.state;\n\t}\n\treturn false;\n}\nfunction getSortedRoutes() {\n\tif (!routeNode) throw new Error(\"No routes\");\n\treturn routeNode.children.filter((route) => !route.internal).sort(sortRoutes);\n}\nfunction updateState(state, nextStateParam = state) {\n\trootState = state;\n\tnextState = nextStateParam;\n\tconst nextRouteInfo = getRouteInfo(state);\n\tif (pendingNavigationPathname === nextRouteInfo.pathname) pendingNavigationPathname = void 0;\n\tif (!deepEqual(routeInfo, nextRouteInfo)) {\n\t\tif (process.env.ONE_DEBUG_ROUTER) {\n\t\t\tconst from = routeInfo?.pathname || \"(initial)\";\n\t\t\tconst to = nextRouteInfo.pathname;\n\t\t\tconst params = Object.keys(nextRouteInfo.params || {}).length ? nextRouteInfo.params : void 0;\n\t\t\tconsole.info(`[one] \\u{1F9ED} ${from} \\u2192 ${to}`, params ? { params } : \"\");\n\t\t}\n\t\trouteInfo = nextRouteInfo;\n\t}\n\tif (process.env.NODE_ENV === \"development\" && typeof window !== \"undefined\") {\n\t\twindow.__oneDevtools = {\n\t\t\trouteInfo: nextRouteInfo,\n\t\t\trootState: state,\n\t\t\trouteNode,\n\t\t\tgetRoutes: () => routeNode?.children || [],\n\t\t\tgetLoaderTimingHistory: () => devtoolsRegistry.getLoaderTimingHistory?.() ?? [],\n\t\t\tgetPreloadHistory\n\t\t};\n\t\twindow.dispatchEvent(new CustomEvent(\"one-route-change\", { detail: nextRouteInfo }));\n\t}\n}\nfunction consumePendingNavigationAction() {\n\tconst action = pendingNavigationAction;\n\tpendingNavigationAction = void 0;\n\treturn action;\n}\nfunction subscribeToRootState(subscriber) {\n\trootStateSubscribers.add(subscriber);\n\treturn () => {\n\t\trootStateSubscribers.delete(subscriber);\n\t};\n}\nfunction notifyRootStateSubscribers(state) {\n\tfor (const subscriber of rootStateSubscribers) subscriber(state);\n}\nfunction subscribeToStore(subscriber) {\n\tstoreSubscribers.add(subscriber);\n\treturn () => {\n\t\tstoreSubscribers.delete(subscriber);\n\t};\n}\nfunction subscribeToLoadingState(subscriber) {\n\tloadingStateSubscribers.add(subscriber);\n\treturn () => {\n\t\tloadingStateSubscribers.delete(subscriber);\n\t};\n}\nfunction setLoadingState(state) {\n\tstartTransition(() => {\n\t\tfor (const listener of loadingStateSubscribers) listener(state);\n\t});\n}\nlet currentSnapshot = null;\nfunction updateSnapshot() {\n\tcurrentSnapshot = getSnapshot();\n}\nfunction snapshot() {\n\treturn currentSnapshot;\n}\nfunction getSnapshot() {\n\treturn {\n\t\tlinkTo,\n\t\trouteNode,\n\t\trootComponent,\n\t\tlinking: getResolvedLinking(),\n\t\thasAttemptedToHideSplash,\n\t\tinitialState,\n\t\trootState,\n\t\tnextState,\n\t\trouteInfo,\n\t\tsplashScreenAnimationFrame,\n\t\tnavigationRef,\n\t\trootStateSubscribers,\n\t\tstoreSubscribers\n\t};\n}\nfunction rootStateSnapshot() {\n\treturn rootState;\n}\nfunction routeInfoSnapshot() {\n\treturn routeInfo;\n}\nfunction getBrowserPathname() {\n\tconst pathname = getSafeWindowPathname();\n\treturn pathname === void 0 ? void 0 : normalizeRoutePathname(pathname);\n}\nfunction shouldKeepPendingNavigationState(currentState) {\n\tif (!pendingNavigationPathname) return false;\n\treturn getRouteInfo(currentState).pathname !== pendingNavigationPathname;\n}\nfunction shouldPreserveInitialRouteInfo(currentState) {\n\tif (!initialState || !routeInfo?.pathname) return false;\n\tconst nextPathname = getRouteInfo(currentState).pathname;\n\tif (nextPathname === routeInfo.pathname) return false;\n\tif (nextPathname && nextPathname === pendingNavigationPathname) return false;\n\tconst browserPathname = getBrowserPathname();\n\tif (nextPathname && browserPathname && nextPathname === browserPathname) return false;\n\treturn true;\n}\nfunction useOneRouter() {\n\treturn useDeferredValue(useSyncExternalStore(subscribeToStore, snapshot, snapshot));\n}\nfunction syncStoreRootState() {\n\tif (!navigationRef) throw new Error(`No navigationRef, possible duplicate One dep`);\n\tif (navigationRef.isReady()) {\n\t\tconst currentState = navigationRef.getRootState();\n\t\tif (rootState !== currentState) {\n\t\t\tif (shouldKeepPendingNavigationState(currentState)) return;\n\t\t\tif (shouldPreserveInitialRouteInfo(currentState)) return;\n\t\t\tupdateState(currentState);\n\t\t}\n\t}\n}\nfunction useStoreRootState() {\n\tsyncStoreRootState();\n\treturn useDeferredValue(useSyncExternalStore(subscribeToRootState, rootStateSnapshot, rootStateSnapshot));\n}\nfunction useStoreRouteInfo() {\n\tsyncStoreRootState();\n\treturn useSyncExternalStore(subscribeToRootState, routeInfoSnapshot, routeInfoSnapshot);\n}\nfunction cleanup() {\n\tif (splashScreenAnimationFrame) cancelAnimationFrame(splashScreenAnimationFrame);\n}\nconst preloadingLoader = {};\nconst PRELOAD_MAP_MAX = 200;\nfunction setBoundedPreloadRecord(record, key, value) {\n\tif (!(key in record)) {\n\t\tconst keys = Object.keys(record);\n\t\tif (keys.length >= PRELOAD_MAP_MAX) delete record[keys[0]];\n\t}\n\trecord[key] = value;\n}\nasync function doPreloadDev(href) {\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tconst startTime = performance.now();\n\t\tconst normalizedPath = normalizeLoaderPath(href);\n\t\tif (globalThis[\"__vxrnHeadless\"]) return null;\n\t\ttry {\n\t\t\tconst loaderJSUrl = getLoaderPath(href, true);\n\t\t\tconst moduleLoadStart = performance.now();\n\t\t\tconst modulePromise = dynamicImport(loaderJSUrl);\n\t\t\tif (!modulePromise) return null;\n\t\t\tconst module = await modulePromise.catch(() => null);\n\t\t\tconst moduleLoadTime = performance.now() - moduleLoadStart;\n\t\t\tif (!module?.loader) return null;\n\t\t\tconst executionStart = performance.now();\n\t\t\tconst result = await module.loader();\n\t\t\tconst executionTime = performance.now() - executionStart;\n\t\t\tconst totalTime = performance.now() - startTime;\n\t\t\tif (result?.__oneRedirect) return result;\n\t\t\tdevtoolsRegistry.recordLoaderTiming?.({\n\t\t\t\tpath: normalizedPath,\n\t\t\t\tstartTime,\n\t\t\t\tmoduleLoadTime,\n\t\t\t\texecutionTime,\n\t\t\t\ttotalTime,\n\t\t\t\tsource: \"preload\"\n\t\t\t});\n\t\t\treturn result ?? null;\n\t\t} catch (err) {\n\t\t\tconst totalTime = performance.now() - startTime;\n\t\t\tdevtoolsRegistry.recordLoaderTiming?.({\n\t\t\t\tpath: normalizedPath,\n\t\t\t\tstartTime,\n\t\t\t\ttotalTime,\n\t\t\t\terror: err instanceof Error ? err.message : String(err),\n\t\t\t\tsource: \"preload\"\n\t\t\t});\n\t\t\tif (process.env.ONE_DEBUG_ROUTER) console.warn(`[one] dev preload failed for ${href}:`, err);\n\t\t\treturn null;\n\t\t}\n\t}\n}\nasync function doPreload(href) {\n\tif (globalThis[\"__vxrnHeadless\"]) return null;\n\tconst artifactPaths = getRouteArtifactPaths(href, getResolvedLinking(), routeNode);\n\tconst preloadPath = getPreloadPath(artifactPaths.preload);\n\tconst loaderPath = getLoaderPath(artifactPaths.loader);\n\tconst cssPreloadPath = getPreloadCSSPath(artifactPaths.preload);\n\trecordPreloadStart(href);\n\ttry {\n\t\tconst [_preload, cssPreloadModule, loader] = await Promise.all([\n\t\t\tdynamicImport(preloadPath)?.catch((err) => {\n\t\t\t\trecordPreloadError(href, err instanceof Error ? err.message : String(err));\n\t\t\t\treturn null;\n\t\t\t}),\n\t\t\tdynamicImport(cssPreloadPath)?.catch(() => null) ?? Promise.resolve(null),\n\t\t\tdynamicImport(loaderPath)?.catch(() => null) ?? Promise.resolve(null),\n\t\t\tpreloadRouteModules(href)\n\t\t]);\n\t\tconst hasCss = !!cssPreloadModule?.injectCSS;\n\t\tif (hasCss) setBoundedCssInject(href, cssPreloadModule.injectCSS);\n\t\tif (!!!loader?.loader) {\n\t\t\trecordPreloadComplete(href, false, hasCss);\n\t\t\treturn null;\n\t\t}\n\t\tconst result = await loader.loader();\n\t\tif (result?.__oneRedirect) return result;\n\t\trecordPreloadComplete(href, true, hasCss);\n\t\treturn result ?? null;\n\t} catch (err) {\n\t\tconst errorMessage = err instanceof Error ? err.message : String(err);\n\t\tconsole.error(`[one] preload error for ${href}:`, err);\n\t\trecordPreloadError(href, errorMessage);\n\t\treturn null;\n\t}\n}\nconst preloadedLoaderData = {};\nconst cssInjectFunctions = {};\nfunction setBoundedCssInject(key, value) {\n\tif (!(key in cssInjectFunctions)) {\n\t\tconst keys = Object.keys(cssInjectFunctions);\n\t\tif (keys.length >= PRELOAD_MAP_MAX) delete cssInjectFunctions[keys[0]];\n\t}\n\tcssInjectFunctions[key] = value;\n}\nconst preloadHistory = [];\nconst MAX_PRELOAD_HISTORY = 30;\nfunction recordPreloadStart(href) {\n\tif (process.env.NODE_ENV !== \"development\") return;\n\tconst existing = preloadHistory.find((p) => p.href === href);\n\tif (existing) {\n\t\texisting.status = \"loading\";\n\t\texisting.startTime = performance.now();\n\t\treturn;\n\t}\n\tpreloadHistory.unshift({\n\t\thref,\n\t\tstatus: \"loading\",\n\t\tstartTime: performance.now(),\n\t\thasLoader: false,\n\t\thasCss: false\n\t});\n\tif (preloadHistory.length > MAX_PRELOAD_HISTORY) preloadHistory.pop();\n\tdispatchPreloadEvent();\n}\nfunction recordPreloadComplete(href, hasLoader, hasCss) {\n\tif (process.env.NODE_ENV !== \"development\") return;\n\tconst entry = preloadHistory.find((p) => p.href === href);\n\tif (entry) {\n\t\tentry.status = \"loaded\";\n\t\tentry.endTime = performance.now();\n\t\tentry.hasLoader = hasLoader;\n\t\tentry.hasCss = hasCss;\n\t}\n\tdispatchPreloadEvent();\n}\nfunction recordPreloadError(href, error) {\n\tif (process.env.NODE_ENV !== \"development\") return;\n\tconst entry = preloadHistory.find((p) => p.href === href);\n\tif (entry) {\n\t\tentry.status = \"error\";\n\t\tentry.endTime = performance.now();\n\t\tentry.error = error;\n\t}\n\tdispatchPreloadEvent();\n}\nfunction dispatchPreloadEvent() {\n\twindow.dispatchEvent(new CustomEvent(\"one-preload-update\"));\n}\nfunction getPreloadHistory() {\n\treturn preloadHistory;\n}\nfunction preloadRoute(href, injectCSS = false) {\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tconst normalizedHref = normalizeLoaderPath(href);\n\t\tif (!preloadingLoader[normalizedHref]) setBoundedPreloadRecord(preloadingLoader, normalizedHref, doPreloadDev(href).then((data) => {\n\t\t\tsetBoundedPreloadRecord(preloadedLoaderData, normalizedHref, data);\n\t\t\treturn data;\n\t\t}));\n\t\treturn preloadingLoader[normalizedHref];\n\t}\n\tif (!preloadingLoader[href]) setBoundedPreloadRecord(preloadingLoader, href, doPreload(href).then((data) => {\n\t\tsetBoundedPreloadRecord(preloadedLoaderData, href, data);\n\t\treturn data;\n\t}));\n\tif (injectCSS) return preloadingLoader[href]?.then(async (data) => {\n\t\tconst inject = cssInjectFunctions[href];\n\t\tif (inject) await Promise.race([inject(), new Promise((r) => setTimeout(r, 800))]);\n\t\treturn data;\n\t});\n\treturn preloadingLoader[href];\n}\nfunction normalizeLoaderPath(href) {\n\treturn new URL(href, \"http://example.com\").pathname.replace(/\\/index$/, \"\").replace(/\\/$/, \"\") || \"/\";\n}\nfunction buildClientMatches(href, matchingNode, params, loaderData) {\n\tconst pathname = extractPathnameFromHref(href);\n\tconst routeId = matchingNode?.contextKey || pathname;\n\tconst layoutMatches = currentMatches.filter((m) => m.routeId.includes(\"_layout\"));\n\tconst pageMatch = {\n\t\trouteId,\n\t\tpathname,\n\t\tparams,\n\t\tloaderData\n\t};\n\treturn [...layoutMatches, pageMatch];\n}\nfunction initClientMatches(matches) {\n\tcurrentMatches = matches;\n\tsetClientMatches(matches);\n}\nasync function linkTo(href, event, options) {\n\tif (process.env.ONE_DEBUG_ROUTER) console.info(`[one] \\u{1F517} ${event || \"NAVIGATE\"} ${href}`);\n\tsetNavigationType(\"soft\");\n\tclearNotFoundState();\n\tif (href[0] === \"#\") return;\n\tif (shouldLinkExternally(href)) {\n\t\topenExternalURL(href);\n\t\treturn;\n\t}\n\tif (isVersionStale()) {\n\t\twindow.location.href = href;\n\t\treturn;\n\t}\n\tif (checkBlocker(href, event === \"REPLACE\" ? \"replace\" : \"push\")) return;\n\tconst protectedHref = resolveProtectedHref(href);\n\tif (!protectedHref) return;\n\tif (protectedHref !== href) return linkTo(protectedHref, \"REPLACE\", options);\n\tconst currentLayoutNode = routeNode;\n\tconst currentPath = routeInfo?.pathname || \"/\";\n\tconst interceptResult = findInterceptRoute(href, currentLayoutNode, currentPath);\n\tif (interceptResult) {\n\t\tconst { interceptRoute, slotName, layoutContextKey, params: params2 } = interceptResult;\n\t\tconst scopedSlotKey = `${layoutContextKey}:${slotName}`;\n\t\tstoreInterceptState(scopedSlotKey, interceptRoute, params2);\n\t\tupdateURLWithoutNavigation(href);\n\t\tsetSlotState(scopedSlotKey, {\n\t\t\tactiveRouteKey: interceptRoute.contextKey,\n\t\t\tactiveRouteNode: interceptRoute,\n\t\t\tparams: params2,\n\t\t\tisIntercepted: true\n\t\t});\n\t\treturn;\n\t}\n\tassertIsReady(navigationRef);\n\tconst current = navigationRef.current;\n\tif (current == null) throw new Error(\"Couldn't find a navigation object. Is your component inside NavigationContainer?\");\n\tconst linking = getResolvedLinking();\n\tif (!linking) throw new Error(\"Attempted to link to route when no routes are present\");\n\tsetLastAction();\n\tif (href === \"..\" || href === \"../\") {\n\t\tcurrent.goBack();\n\t\treturn;\n\t}\n\tif (href.startsWith(\".\")) {\n\t\tlet base = routeInfo?.segments?.map((segment) => {\n\t\t\tif (!segment.startsWith(\"[\")) return segment;\n\t\t\tif (segment.startsWith(\"[...\")) {\n\t\t\t\tsegment = segment.slice(4, -1);\n\t\t\t\tconst params2 = routeInfo?.params?.[segment];\n\t\t\t\tif (Array.isArray(params2)) return params2.join(\"/\");\n\t\t\t\treturn params2?.split(\",\")?.join(\"/\") ?? \"\";\n\t\t\t}\n\t\t\tsegment = segment.slice(1, -1);\n\t\t\treturn routeInfo?.params?.[segment];\n\t\t}).filter(Boolean).join(\"/\") ?? \"/\";\n\t\tif (!routeInfo?.isIndex) base += \"/..\";\n\t\thref = resolve(base, href);\n\t}\n\tconst state = linking.getStateFromPath(href, linking.config);\n\tif (!state || state.routes.length === 0) {\n\t\tconsole.error(\"Could not generate a valid navigation state for the given path: \" + href);\n\t\tconsole.error(`linking.config`, linking.config);\n\t\tconsole.error(`routes`, getSortedRoutes());\n\t\treturn;\n\t}\n\tsetLoadingState(\"loading\");\n\tconst normalizedPreloadPath = normalizeLoaderPath(href);\n\tif (!(normalizedPreloadPath in preloadedLoaderData) && !(href in preloadedLoaderData)) await preloadRoute(href, true);\n\telse if (process.env.NODE_ENV !== \"development\") {\n\t\tconst inject = cssInjectFunctions[href];\n\t\tif (inject) inject().catch(() => {});\n\t}\n\tconst preloadResult = preloadedLoaderData[normalizedPreloadPath];\n\tif (preloadResult?.__oneRedirect) {\n\t\tconst redirectTarget = preloadResult.__oneRedirect;\n\t\tdelete preloadedLoaderData[normalizedPreloadPath];\n\t\tdelete preloadingLoader[normalizedPreloadPath];\n\t\tdelete preloadedLoaderData[href];\n\t\tdelete preloadingLoader[href];\n\t\tsetLoadingState(\"loaded\");\n\t\tlinkTo(redirectTarget, \"REPLACE\");\n\t\treturn;\n\t}\n\tif (preloadResult?.__oneError === 404) {\n\t\tdelete preloadedLoaderData[normalizedPreloadPath];\n\t\tdelete preloadingLoader[normalizedPreloadPath];\n\t\tdelete preloadedLoaderData[href];\n\t\tdelete preloadingLoader[href];\n\t\tsetLoadingState(\"loaded\");\n\t\tconst notFoundRoute = findNearestNotFoundRoute(href, routeNode);\n\t\tsetNotFoundState({\n\t\t\tnotFoundPath: preloadResult.__oneNotFoundPath || \"/+not-found\",\n\t\t\tnotFoundRouteNode: notFoundRoute || void 0,\n\t\t\toriginalPath: href\n\t\t});\n\t\treturn;\n\t}\n\tconst matchingRouteNode = findRouteNodeFromState(state, routeNode);\n\tif (matchingRouteNode?.loadRoute) {\n\t\tsetValidationState({\n\t\t\tstatus: \"validating\",\n\t\t\tlastValidatedHref: href\n\t\t});\n\t\ttry {\n\t\t\tconst loadedRoute = matchingRouteNode.loadRoute();\n\t\t\tconst params2 = extractParamsFromState(state);\n\t\t\tconst search = extractSearchFromHref(href);\n\t\t\tconst pathname = extractPathnameFromHref(href);\n\t\t\tif (loadedRoute.validateParams) validateParams(loadedRoute.validateParams, params2);\n\t\t\tif (loadedRoute.validateRoute) {\n\t\t\t\tconst validationResult = await loadedRoute.validateRoute({\n\t\t\t\t\tparams: params2,\n\t\t\t\t\tsearch,\n\t\t\t\t\tpathname,\n\t\t\t\t\thref\n\t\t\t\t});\n\t\t\t\tif (validationResult && !validationResult.valid) {\n\t\t\t\t\tconst error = new RouteValidationError(validationResult.error || \"Route validation failed\", validationResult.details);\n\t\t\t\t\tsetValidationState({\n\t\t\t\t\t\tstatus: \"error\",\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tlastValidatedHref: href\n\t\t\t\t\t});\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetValidationState({\n\t\t\t\tstatus: \"valid\",\n\t\t\t\tlastValidatedHref: href\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tif (error && typeof error.then === \"function\") {\n\t\t\t\tawait error.catch(() => {});\n\t\t\t\tsetValidationState({\n\t\t\t\t\tstatus: \"valid\",\n\t\t\t\t\tlastValidatedHref: href\n\t\t\t\t});\n\t\t\t} else if (error instanceof ParamValidationError || error instanceof RouteValidationError) {\n\t\t\t\tsetValidationState({\n\t\t\t\t\tstatus: \"error\",\n\t\t\t\t\terror,\n\t\t\t\t\tlastValidatedHref: href\n\t\t\t\t});\n\t\t\t\tthrow error;\n\t\t\t} else throw error;\n\t\t}\n\t}\n\tconst loaderData = preloadedLoaderData[normalizeLoaderPath(href)];\n\tconst params = extractParamsFromState(state);\n\tconst newMatches = buildClientMatches(href, matchingRouteNode, params, loaderData);\n\tcurrentMatches = newMatches;\n\tsetClientMatches(newMatches);\n\tconst currentRootState = navigationRef.getRootState();\n\tconst hash = href.indexOf(\"#\");\n\tif (currentRootState.key && hash > 0) hashes[currentRootState.key] = href.slice(hash);\n\tnextOptions = options ?? null;\n\tpendingNavigationPathname = stripTrailingSlash(extractPathnameFromHref(href));\n\tpendingNavigationAction = event === \"PUSH\" || event === \"REPLACE\" || event === \"NAVIGATE\" ? event : void 0;\n\tlastIntendedPathname = pendingNavigationPathname;\n\tconst freshRootState = navigationRef.getRootState();\n\tconst currentRouteBeforeDispatch = navigationRef.getCurrentRoute();\n\tif (event === \"REPLACE\") {\n\t\tconst targetPathname = pendingNavigationPathname;\n\t\tconst optimisticState = nextOptions ? {\n\t\t\t...state,\n\t\t\tlinkOptions: nextOptions\n\t\t} : state;\n\t\tupdateState(optimisticState);\n\t\tpendingNavigationPathname = targetPathname;\n\t\tnotifyRootStateSubscribers(optimisticState);\n\t\tnavigationRef.resetRoot(state);\n\t} else {\n\t\tconst action = getNavigateAction(state, freshRootState, event);\n\t\tconst targetName = action.payload?.name;\n\t\tconst isGroupTarget = typeof targetName === \"string\" && targetName.startsWith(\"(\") && targetName.endsWith(\")\");\n\t\tconst hasFreshRootState = freshRootState.type === \"stack\";\n\t\tconst isRootTarget = action.target === freshRootState.key;\n\t\tconst currentFocusedRoute = freshRootState.routes[freshRootState.index];\n\t\tconst currentFocusedName = currentFocusedRoute?.name;\n\t\tif (isRootTarget && isGroupTarget && hasFreshRootState) {\n\t\t\tconst targetRoute = state.routes[state.routes.length - 1];\n\t\t\tconst targetRootName = targetRoute.name;\n\t\t\tif (currentFocusedName === targetRootName) {\n\t\t\t\tconst routes = [...freshRootState.routes];\n\t\t\t\troutes[freshRootState.index] = {\n\t\t\t\t\t...targetRoute,\n\t\t\t\t\tkey: currentFocusedRoute?.key ?? targetRoute.key\n\t\t\t\t};\n\t\t\t\tnavigationRef.resetRoot({\n\t\t\t\t\t...freshRootState,\n\t\t\t\t\troutes\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst existingTargetRoute = freshRootState.routes.find((route) => route.name === targetRootName);\n\t\t\t\tconst existingRoutes = freshRootState.routes.filter((route) => route.name !== targetRootName);\n\t\t\t\tconst nextRootState = {\n\t\t\t\t\t...freshRootState,\n\t\t\t\t\troutes: [...existingRoutes, {\n\t\t\t\t\t\t...targetRoute,\n\t\t\t\t\t\tkey: existingTargetRoute?.key ?? `${targetRootName}-${freshRootState.key}`\n\t\t\t\t\t}],\n\t\t\t\t\tindex: existingRoutes.length\n\t\t\t\t};\n\t\t\t\tnavigationRef.resetRoot(nextRootState);\n\t\t\t}\n\t\t} else navigationRef.dispatch(action);\n\t}\n\tlet warningTm;\n\tconst interval = setInterval(() => {\n\t\tif (currentRouteBeforeDispatch !== navigationRef.getCurrentRoute()) setTimeout(() => {\n\t\t\tsetLoadingState(\"loaded\");\n\t\t});\n\t\tclearTimeout(warningTm);\n\t\tclearTimeout(interval);\n\t}, 16);\n\tif (process.env.NODE_ENV === \"development\") warningTm = setTimeout(() => {\n\t\tconsole.warn(`Routing took more than 8 seconds`);\n\t}, 1e3);\n}\nconst hashes = {};\nlet nextOptions = null;\nfunction deepEqual(a, b) {\n\tif (a === b) return true;\n\tif (Array.isArray(a) && Array.isArray(b)) {\n\t\tif (a.length !== b.length) return false;\n\t\tfor (let i = 0; i < a.length; i++) if (!deepEqual(a[i], b[i])) return false;\n\t\treturn true;\n\t}\n\tif (typeof a === \"object\" && typeof b === \"object\") {\n\t\tconst keysA = Object.keys(a);\n\t\tconst keysB = Object.keys(b);\n\t\tif (keysA.length !== keysB.length) return false;\n\t\tfor (const key of keysA) if (!deepEqual(a[key], b[key])) return false;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport { canDismiss, canGoBack, cleanup, consumePendingNavigationAction, dismiss, dismissAll, getPreloadHistory, getSafeWindowPathname2 as getSafeWindowPathname, getSortedRoutes, getValidationState, goBack, handleNavigationContainerStateChange, hasAttemptedToHideSplash, initClientMatches, initialPathname, initialState, initialize, isRouteProtected, lastIntendedPathname, linkTo, navigate, navigationRef, preloadRoute, preloadedLoaderData, preloadingLoader, push, registerProtectedRoutes, replace, resolveProtectedHref, rootComponent, rootState, rootStateSnapshot, routeInfo, routeInfoSnapshot, routeNode, setLoadingState, setParams, setValidationState, snapshot, subscribeToLoadingState, subscribeToRootState, subscribeToStore, subscribeToValidationState, unregisterProtectedRoutes, updateState, useOneRouter, useStoreRootState, useStoreRouteInfo, useValidationState };"],"mappings":"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","ignoreList":[]}
@@ -34,25 +34,26 @@ function _type_of(obj) {
34
34
  var routeNode = null;
35
35
  var rootComponent;
36
36
  var protectedRouteRegistry = /* @__PURE__ */new Map();
37
- function registerProtectedRoutes(contextKey, protectedScreens) {
38
- if (protectedScreens.size === 0) protectedRouteRegistry.delete(contextKey);else protectedRouteRegistry.set(contextKey, protectedScreens);
37
+ function registerProtectedRoutes(contextKey, guardedRedirects) {
38
+ if (guardedRedirects.size === 0) protectedRouteRegistry.delete(contextKey);else protectedRouteRegistry.set(contextKey, guardedRedirects);
39
39
  }
40
40
  function unregisterProtectedRoutes(contextKey) {
41
41
  protectedRouteRegistry.delete(contextKey);
42
42
  }
43
- function isRouteProtected(href) {
44
- var normalizedHref = href.replace(/^\/+|\/+$/g, "");
43
+ function getProtectedRedirect(href) {
44
+ var normalizedHref = extractPathnameFromHref(href).replace(/^\/+|\/+$/g, "");
45
45
  var _iteratorNormalCompletion = true,
46
46
  _didIteratorError = false,
47
47
  _iteratorError = void 0;
48
48
  try {
49
49
  for (var _iterator = protectedRouteRegistry[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
50
- var [contextKey, protectedScreens] = _step.value;
50
+ var [contextKey, guardedRedirects] = _step.value;
51
51
  var normalizedContextKey = contextKey.replace(/^\/+|\/+$/g, "");
52
- if (normalizedHref.startsWith(normalizedContextKey)) {
52
+ if (!normalizedContextKey || normalizedHref === normalizedContextKey || normalizedHref.startsWith(`${normalizedContextKey}/`)) {
53
53
  var routeName = normalizedHref.slice(normalizedContextKey.length).replace(/^\//, "").split("/")[0] || "index";
54
54
  var normalizedRouteName = routeName.replace(/\/index$/, "");
55
- if (protectedScreens.has(routeName) || protectedScreens.has(normalizedRouteName)) return true;
55
+ if (guardedRedirects.has(routeName)) return guardedRedirects.get(routeName);
56
+ if (guardedRedirects.has(normalizedRouteName)) return guardedRedirects.get(normalizedRouteName);
56
57
  }
57
58
  }
58
59
  } catch (err) {
@@ -67,6 +68,20 @@ function isRouteProtected(href) {
67
68
  }
68
69
  return false;
69
70
  }
71
+ function resolveProtectedHref(href) {
72
+ var target = href;
73
+ var visited = /* @__PURE__ */new Set();
74
+ while (!visited.has(target)) {
75
+ visited.add(target);
76
+ var redirectTo = getProtectedRedirect(target);
77
+ if (redirectTo === false) return target;
78
+ if (redirectTo === void 0) return;
79
+ target = resolveHref(redirectTo);
80
+ }
81
+ }
82
+ function isRouteProtected(href) {
83
+ return getProtectedRedirect(href) !== false;
84
+ }
70
85
  var hasAttemptedToHideSplash = false;
71
86
  var initialState;
72
87
  var rootState;
@@ -576,7 +591,9 @@ async function linkTo(href, event, options) {
576
591
  return;
577
592
  }
578
593
  if (checkBlocker(href, event === "REPLACE" ? "replace" : "push")) return;
579
- if (isRouteProtected(href)) return;
594
+ var protectedHref = resolveProtectedHref(href);
595
+ if (!protectedHref) return;
596
+ if (protectedHref !== href) return linkTo(protectedHref, "REPLACE", options);
580
597
  var currentLayoutNode = routeNode;
581
598
  var currentPath = (routeInfo === null || routeInfo === void 0 ? void 0 : routeInfo.pathname) || "/";
582
599
  var interceptResult = findInterceptRoute(href, currentLayoutNode, currentPath);
@@ -830,5 +847,5 @@ function deepEqual(a, b) {
830
847
  }
831
848
  return false;
832
849
  }
833
- export { canDismiss, canGoBack, cleanup, consumePendingNavigationAction, dismiss, dismissAll, getPreloadHistory, getSafeWindowPathname2 as getSafeWindowPathname, getSortedRoutes, getValidationState, goBack, handleNavigationContainerStateChange, hasAttemptedToHideSplash, initClientMatches, initialPathname, initialState, initialize, isRouteProtected, lastIntendedPathname, linkTo, navigate, navigationRef, preloadRoute, preloadedLoaderData, preloadingLoader, push, registerProtectedRoutes, replace, rootComponent, rootState, rootStateSnapshot, routeInfo, routeInfoSnapshot, routeNode, setLoadingState, setParams, setValidationState, snapshot, subscribeToLoadingState, subscribeToRootState, subscribeToStore, subscribeToValidationState, unregisterProtectedRoutes, updateState, useOneRouter, useStoreRootState, useStoreRouteInfo, useValidationState };
850
+ export { canDismiss, canGoBack, cleanup, consumePendingNavigationAction, dismiss, dismissAll, getPreloadHistory, getSafeWindowPathname2 as getSafeWindowPathname, getSortedRoutes, getValidationState, goBack, handleNavigationContainerStateChange, hasAttemptedToHideSplash, initClientMatches, initialPathname, initialState, initialize, isRouteProtected, lastIntendedPathname, linkTo, navigate, navigationRef, preloadRoute, preloadedLoaderData, preloadingLoader, push, registerProtectedRoutes, replace, resolveProtectedHref, rootComponent, rootState, rootStateSnapshot, routeInfo, routeInfoSnapshot, routeNode, setLoadingState, setParams, setValidationState, snapshot, subscribeToLoadingState, subscribeToRootState, subscribeToStore, subscribeToValidationState, unregisterProtectedRoutes, updateState, useOneRouter, useStoreRootState, useStoreRouteInfo, useValidationState };
834
851
  //# sourceMappingURL=router.native.js.map