react-router 7.18.4 → 7.18.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/development/{browser-eq4RgLsD.d.ts → browser-7x6a6gQP.d.ts} +1 -1
  3. package/dist/development/{browser-BR5QG7ZC.d.mts → browser-CiGxXXOl.d.mts} +1 -1
  4. package/dist/development/{chunk-GR4NQCSD.js → chunk-2ZBLYC7V.js} +30 -3
  5. package/dist/development/{chunk-OB3PAWPO.mjs → chunk-6KYCQHYJ.mjs} +30 -3
  6. package/dist/development/{chunk-LVPI3KDG.js → chunk-IFHLIXZW.js} +7 -7
  7. package/dist/{production/chunk-G2MPF4YY.mjs → development/chunk-JAHXRPFV.mjs} +13 -4
  8. package/dist/development/{chunk-HQO5H5CC.js → chunk-NDF5KBLP.js} +103 -103
  9. package/dist/{production/context-nqAapj74.d.mts → development/context-BlYKn1tE.d.mts} +2 -0
  10. package/dist/development/dom-export.d.mts +2 -2
  11. package/dist/development/dom-export.d.ts +2 -2
  12. package/dist/development/dom-export.js +34 -34
  13. package/dist/development/dom-export.mjs +3 -3
  14. package/dist/development/{index-react-server-client-BjY-eKuf.d.ts → index-react-server-client-BaaZU3sM.d.ts} +1 -1
  15. package/dist/development/{index-react-server-client-K63fpMH4.d.mts → index-react-server-client-KK-TR-t7.d.mts} +1 -1
  16. package/dist/development/index-react-server-client.d.mts +2 -2
  17. package/dist/development/index-react-server-client.d.ts +2 -2
  18. package/dist/development/index-react-server-client.js +4 -4
  19. package/dist/development/index-react-server-client.mjs +2 -2
  20. package/dist/development/index-react-server.d.mts +2 -0
  21. package/dist/development/index-react-server.d.ts +2 -0
  22. package/dist/development/index-react-server.js +38 -15
  23. package/dist/development/index-react-server.mjs +38 -15
  24. package/dist/development/index.d.mts +6 -6
  25. package/dist/development/index.d.ts +6 -6
  26. package/dist/development/index.js +101 -92
  27. package/dist/development/index.mjs +3 -3
  28. package/dist/{production/instrumentation-B7w3_Eo9.d.ts → development/instrumentation-CPkMwccd.d.ts} +2 -0
  29. package/dist/development/lib/types/internal.js +1 -1
  30. package/dist/development/lib/types/internal.mjs +1 -1
  31. package/dist/production/{browser-eq4RgLsD.d.ts → browser-7x6a6gQP.d.ts} +1 -1
  32. package/dist/production/{browser-BR5QG7ZC.d.mts → browser-CiGxXXOl.d.mts} +1 -1
  33. package/dist/production/{chunk-AOOKMWND.js → chunk-75HN637G.js} +103 -103
  34. package/dist/production/{chunk-Q34X6AWR.mjs → chunk-7RTFRKQW.mjs} +30 -3
  35. package/dist/production/{chunk-YNGRUB6F.js → chunk-HNBICOIU.js} +30 -3
  36. package/dist/{development/chunk-H4DAEOV7.mjs → production/chunk-IAM5GYT3.mjs} +13 -4
  37. package/dist/production/{chunk-QURBR4FZ.js → chunk-K3NA4NUH.js} +7 -7
  38. package/dist/{development/context-nqAapj74.d.mts → production/context-BlYKn1tE.d.mts} +2 -0
  39. package/dist/production/dom-export.d.mts +2 -2
  40. package/dist/production/dom-export.d.ts +2 -2
  41. package/dist/production/dom-export.js +34 -34
  42. package/dist/production/dom-export.mjs +3 -3
  43. package/dist/production/{index-react-server-client-BjY-eKuf.d.ts → index-react-server-client-BaaZU3sM.d.ts} +1 -1
  44. package/dist/production/{index-react-server-client-K63fpMH4.d.mts → index-react-server-client-KK-TR-t7.d.mts} +1 -1
  45. package/dist/production/index-react-server-client.d.mts +2 -2
  46. package/dist/production/index-react-server-client.d.ts +2 -2
  47. package/dist/production/index-react-server-client.js +4 -4
  48. package/dist/production/index-react-server-client.mjs +2 -2
  49. package/dist/production/index-react-server.d.mts +2 -0
  50. package/dist/production/index-react-server.d.ts +2 -0
  51. package/dist/production/index-react-server.js +38 -15
  52. package/dist/production/index-react-server.mjs +38 -15
  53. package/dist/production/index.d.mts +6 -6
  54. package/dist/production/index.d.ts +6 -6
  55. package/dist/production/index.js +101 -92
  56. package/dist/production/index.mjs +3 -3
  57. package/dist/{development/instrumentation-B7w3_Eo9.d.ts → production/instrumentation-CPkMwccd.d.ts} +2 -0
  58. package/dist/production/lib/types/internal.js +1 -1
  59. package/dist/production/lib/types/internal.mjs +1 -1
  60. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.18.4
2
+ * react-router v7.18.5
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -3538,6 +3538,10 @@ function createStaticHandler(routes, opts) {
3538
3538
  manifest
3539
3539
  );
3540
3540
  let routeBranches = flattenAndRankRoutes(dataRoutes);
3541
+ let matchCost = routeBranches.reduce(
3542
+ (total, branch) => total + branch.routesMeta.length,
3543
+ 0
3544
+ );
3541
3545
  async function query(request, {
3542
3546
  requestContext,
3543
3547
  filterMatchesToLoad,
@@ -4159,6 +4163,7 @@ function createStaticHandler(routes, opts) {
4159
4163
  }
4160
4164
  return {
4161
4165
  dataRoutes,
4166
+ _matchCost: matchCost,
4162
4167
  _internalRouteBranches: routeBranches,
4163
4168
  query,
4164
4169
  queryRoute
@@ -7823,6 +7828,7 @@ function hydrate(index) {
7823
7828
  set(-0);
7824
7829
  continue;
7825
7830
  }
7831
+ validateIndex(index2, values.length);
7826
7832
  if (hydrated[index2]) {
7827
7833
  set(hydrated[index2]);
7828
7834
  continue;
@@ -7911,6 +7917,7 @@ function hydrate(index) {
7911
7917
  set(obj);
7912
7918
  continue;
7913
7919
  case TYPE_PROMISE:
7920
+ validateIndex(b, values.length);
7914
7921
  if (hydrated[b]) {
7915
7922
  set(hydrated[index2] = hydrated[b]);
7916
7923
  } else {
@@ -7926,6 +7933,7 @@ function hydrate(index) {
7926
7933
  set(error);
7927
7934
  continue;
7928
7935
  case TYPE_PREVIOUS_RESOLVED:
7936
+ validateIndex(b, values.length);
7929
7937
  set(hydrated[index2] = hydrated[b]);
7930
7938
  continue;
7931
7939
  default:
@@ -7990,7 +7998,12 @@ function hydrate(index) {
7990
7998
  }
7991
7999
  ]);
7992
8000
  postRun.push(() => {
7993
- object[r[0]] = r[1];
8001
+ Object.defineProperty(object, r[0], {
8002
+ value: r[1],
8003
+ enumerable: true,
8004
+ configurable: true,
8005
+ writable: true
8006
+ });
7994
8007
  });
7995
8008
  }
7996
8009
  set(object);
@@ -8002,6 +8015,11 @@ function hydrate(index) {
8002
8015
  }
8003
8016
  return result;
8004
8017
  }
8018
+ function validateIndex(index, length) {
8019
+ if (!Number.isSafeInteger(index) || index < 0 || index >= length) {
8020
+ throw new SyntaxError();
8021
+ }
8022
+ }
8005
8023
 
8006
8024
  // vendor/turbo-stream-v2/turbo-stream.ts
8007
8025
  async function decode(readable, options) {
@@ -9481,6 +9499,13 @@ function getPathsWithAncestors(paths) {
9481
9499
  function isFogOfWarEnabled(routeDiscovery, ssr) {
9482
9500
  return routeDiscovery.mode === "lazy" && ssr === true;
9483
9501
  }
9502
+ var MANIFEST_MATCH_COST_LIMIT = 5e4;
9503
+ var MANIFEST_MATCH_COST_SEGMENT_THRESHOLD = 10;
9504
+ function shouldUseInitialRouteDiscovery(pathname, matchCost = 0) {
9505
+ let segmentCount = pathname.split("/").length - 1;
9506
+ let ancestorCount = Math.max(segmentCount - 1, 0);
9507
+ return ancestorCount * pathname.length + 1 > URL_LIMIT || segmentCount > MANIFEST_MATCH_COST_SEGMENT_THRESHOLD && segmentCount * matchCost > MANIFEST_MATCH_COST_LIMIT;
9508
+ }
9484
9509
  function getPartialManifest({ sri, ...manifest }, router) {
9485
9510
  let routeIds = new Set(router.state.matches.map((m) => m.route.id));
9486
9511
  let segments = router.state.location.pathname.split("/").filter(Boolean);
@@ -10408,7 +10433,7 @@ var isBrowser2 = typeof window !== "undefined" && typeof window.document !== "un
10408
10433
  try {
10409
10434
  if (isBrowser2) {
10410
10435
  window.__reactRouterVersion = // @ts-expect-error
10411
- "7.18.4";
10436
+ "7.18.5";
10412
10437
  }
10413
10438
  } catch (e) {
10414
10439
  }
@@ -11673,6 +11698,8 @@ export {
11673
11698
  shouldHydrateRouteLoader,
11674
11699
  URL_LIMIT,
11675
11700
  getPathsWithAncestors,
11701
+ isFogOfWarEnabled,
11702
+ shouldUseInitialRouteDiscovery,
11676
11703
  getPatchRoutesOnNavigationFunction,
11677
11704
  useFogOFWarDiscovery,
11678
11705
  getManifestPath,
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }/**
2
- * react-router v7.18.4
2
+ * react-router v7.18.5
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -3538,6 +3538,10 @@ function createStaticHandler(routes, opts) {
3538
3538
  manifest
3539
3539
  );
3540
3540
  let routeBranches = flattenAndRankRoutes(dataRoutes);
3541
+ let matchCost = routeBranches.reduce(
3542
+ (total, branch) => total + branch.routesMeta.length,
3543
+ 0
3544
+ );
3541
3545
  async function query(request, {
3542
3546
  requestContext,
3543
3547
  filterMatchesToLoad,
@@ -4159,6 +4163,7 @@ function createStaticHandler(routes, opts) {
4159
4163
  }
4160
4164
  return {
4161
4165
  dataRoutes,
4166
+ _matchCost: matchCost,
4162
4167
  _internalRouteBranches: routeBranches,
4163
4168
  query,
4164
4169
  queryRoute
@@ -6146,6 +6151,7 @@ function hydrate(index) {
6146
6151
  set(-0);
6147
6152
  continue;
6148
6153
  }
6154
+ validateIndex(index2, values.length);
6149
6155
  if (hydrated[index2]) {
6150
6156
  set(hydrated[index2]);
6151
6157
  continue;
@@ -6234,6 +6240,7 @@ function hydrate(index) {
6234
6240
  set(obj);
6235
6241
  continue;
6236
6242
  case TYPE_PROMISE:
6243
+ validateIndex(b, values.length);
6237
6244
  if (hydrated[b]) {
6238
6245
  set(hydrated[index2] = hydrated[b]);
6239
6246
  } else {
@@ -6249,6 +6256,7 @@ function hydrate(index) {
6249
6256
  set(error);
6250
6257
  continue;
6251
6258
  case TYPE_PREVIOUS_RESOLVED:
6259
+ validateIndex(b, values.length);
6252
6260
  set(hydrated[index2] = hydrated[b]);
6253
6261
  continue;
6254
6262
  default:
@@ -6313,7 +6321,12 @@ function hydrate(index) {
6313
6321
  }
6314
6322
  ]);
6315
6323
  postRun.push(() => {
6316
- object[r[0]] = r[1];
6324
+ Object.defineProperty(object, r[0], {
6325
+ value: r[1],
6326
+ enumerable: true,
6327
+ configurable: true,
6328
+ writable: true
6329
+ });
6317
6330
  });
6318
6331
  }
6319
6332
  set(object);
@@ -6325,6 +6338,11 @@ function hydrate(index) {
6325
6338
  }
6326
6339
  return result;
6327
6340
  }
6341
+ function validateIndex(index, length) {
6342
+ if (!Number.isSafeInteger(index) || index < 0 || index >= length) {
6343
+ throw new SyntaxError();
6344
+ }
6345
+ }
6328
6346
 
6329
6347
  // vendor/turbo-stream-v2/turbo-stream.ts
6330
6348
  async function decode(readable, options) {
@@ -8628,6 +8646,13 @@ function getPathsWithAncestors(paths) {
8628
8646
  function isFogOfWarEnabled(routeDiscovery, ssr) {
8629
8647
  return routeDiscovery.mode === "lazy" && ssr === true;
8630
8648
  }
8649
+ var MANIFEST_MATCH_COST_LIMIT = 5e4;
8650
+ var MANIFEST_MATCH_COST_SEGMENT_THRESHOLD = 10;
8651
+ function shouldUseInitialRouteDiscovery(pathname, matchCost = 0) {
8652
+ let segmentCount = pathname.split("/").length - 1;
8653
+ let ancestorCount = Math.max(segmentCount - 1, 0);
8654
+ return ancestorCount * pathname.length + 1 > URL_LIMIT || segmentCount > MANIFEST_MATCH_COST_SEGMENT_THRESHOLD && segmentCount * matchCost > MANIFEST_MATCH_COST_LIMIT;
8655
+ }
8631
8656
  function getPartialManifest({ sri, ...manifest }, router) {
8632
8657
  let routeIds = new Set(router.state.matches.map((m) => m.route.id));
8633
8658
  let segments = router.state.location.pathname.split("/").filter(Boolean);
@@ -10407,4 +10432,6 @@ function withErrorBoundaryProps(ErrorBoundary) {
10407
10432
 
10408
10433
 
10409
10434
 
10410
- exports.ABSOLUTE_URL_REGEX = ABSOLUTE_URL_REGEX; exports.PROTOCOL_RELATIVE_URL_REGEX = PROTOCOL_RELATIVE_URL_REGEX; exports.Action = Action; exports.createMemoryHistory = createMemoryHistory; exports.createBrowserHistory = createBrowserHistory; exports.createHashHistory = createHashHistory; exports.invariant = invariant; exports.warning = warning; exports.createPath = createPath; exports.parsePath = parsePath; exports.createContext = createContext; exports.RouterContextProvider = RouterContextProvider; exports.convertRoutesToDataRoutes = convertRoutesToDataRoutes; exports.matchRoutes = matchRoutes; exports.matchRoutesImpl = matchRoutesImpl; exports.generatePath = generatePath; exports.matchPath = matchPath; exports.stripBasename = stripBasename; exports.resolvePath = resolvePath; exports.resolveTo = resolveTo; exports.joinPaths = joinPaths; exports.data = data; exports.redirect = redirect; exports.redirectDocument = redirectDocument; exports.replace = replace; exports.SUPPORTED_ERROR_TYPES = SUPPORTED_ERROR_TYPES; exports.ErrorResponseImpl = ErrorResponseImpl; exports.isRouteErrorResponse = isRouteErrorResponse; exports.parseToInfo = parseToInfo; exports.escapeHtml = escapeHtml; exports.escapeAttribute = escapeAttribute; exports.encode = encode; exports.instrumentHandler = instrumentHandler; exports.validateNavigationTarget = validateNavigationTarget; exports.IDLE_NAVIGATION = IDLE_NAVIGATION; exports.IDLE_FETCHER = IDLE_FETCHER; exports.IDLE_BLOCKER = IDLE_BLOCKER; exports.createRouter = createRouter; exports.createStaticHandler = createStaticHandler; exports.getStaticContextFromError = getStaticContextFromError; exports.hasInvalidProtocol = hasInvalidProtocol; exports.isDataWithResponseInit = isDataWithResponseInit; exports.isResponse = isResponse; exports.isRedirectStatusCode = isRedirectStatusCode; exports.isRedirectResponse = isRedirectResponse; exports.isMutationMethod = isMutationMethod; exports.createRequestInit = createRequestInit; exports.SingleFetchRedirectSymbol = SingleFetchRedirectSymbol; exports.SINGLE_FETCH_REDIRECT_STATUS = SINGLE_FETCH_REDIRECT_STATUS; exports.NO_BODY_STATUS_CODES = NO_BODY_STATUS_CODES; exports.StreamTransfer = StreamTransfer; exports.getTurboStreamSingleFetchDataStrategy = getTurboStreamSingleFetchDataStrategy; exports.getSingleFetchDataStrategyImpl = getSingleFetchDataStrategyImpl; exports.stripIndexParam = stripIndexParam; exports.singleFetchUrl = singleFetchUrl; exports.decodeViaTurboStream = decodeViaTurboStream; exports.DataRouterContext = DataRouterContext; exports.DataRouterStateContext = DataRouterStateContext; exports.RSCRouterContext = RSCRouterContext; exports.ViewTransitionContext = ViewTransitionContext; exports.FetchersContext = FetchersContext; exports.AwaitContextProvider = AwaitContextProvider; exports.NavigationContext = NavigationContext; exports.LocationContext = LocationContext; exports.RouteContext = RouteContext; exports.ENABLE_DEV_WARNINGS = ENABLE_DEV_WARNINGS; exports.warnOnce = warnOnce; exports.decodeRedirectErrorDigest = decodeRedirectErrorDigest; exports.decodeRouteErrorResponseDigest = decodeRouteErrorResponseDigest; exports.useHref = useHref; exports.useInRouterContext = useInRouterContext; exports.useLocation = useLocation; exports.useNavigationType = useNavigationType; exports.useMatch = useMatch; exports.useNavigate = useNavigate; exports.useOutletContext = useOutletContext; exports.useOutlet = useOutlet; exports.useParams = useParams; exports.useResolvedPath = useResolvedPath; exports.useRoutes = useRoutes; exports.useRouteId = useRouteId; exports.useNavigation = useNavigation; exports.useRevalidator = useRevalidator; exports.useMatches = useMatches; exports.useLoaderData = useLoaderData; exports.useRouteLoaderData = useRouteLoaderData; exports.useActionData = useActionData; exports.useRouteError = useRouteError; exports.useAsyncValue = useAsyncValue; exports.useAsyncError = useAsyncError; exports.useBlocker = useBlocker; exports.useRoute = useRoute; exports.useRouterState = useRouterState; exports.RemixErrorBoundary = RemixErrorBoundary; exports.createServerRoutes = createServerRoutes; exports.createClientRoutesWithHMRRevalidationOptOut = createClientRoutesWithHMRRevalidationOptOut; exports.noActionDefinedError = noActionDefinedError; exports.createClientRoutes = createClientRoutes; exports.shouldHydrateRouteLoader = shouldHydrateRouteLoader; exports.URL_LIMIT = URL_LIMIT; exports.getPathsWithAncestors = getPathsWithAncestors; exports.getPatchRoutesOnNavigationFunction = getPatchRoutesOnNavigationFunction; exports.useFogOFWarDiscovery = useFogOFWarDiscovery; exports.getManifestPath = getManifestPath; exports.FrameworkContext = FrameworkContext; exports.usePrefetchBehavior = usePrefetchBehavior; exports.CRITICAL_CSS_DATA_ATTRIBUTE = CRITICAL_CSS_DATA_ATTRIBUTE; exports.Links = Links; exports.PrefetchPageLinks = PrefetchPageLinks; exports.Meta = Meta; exports.setIsHydrated = setIsHydrated; exports.Scripts = Scripts; exports.mergeRefs = mergeRefs; exports.mapRouteProperties = mapRouteProperties; exports.hydrationRouteProperties = hydrationRouteProperties; exports.createMemoryRouter = createMemoryRouter; exports.RouterProvider = RouterProvider; exports.DataRoutes = DataRoutes2; exports.MemoryRouter = MemoryRouter; exports.Navigate = Navigate; exports.Outlet = Outlet; exports.Route = Route; exports.Router = Router; exports.Routes = Routes; exports.Await = Await; exports.createRoutesFromChildren = createRoutesFromChildren; exports.createRoutesFromElements = createRoutesFromElements; exports.renderMatches = renderMatches; exports.WithComponentProps = WithComponentProps; exports.withComponentProps = withComponentProps; exports.WithHydrateFallbackProps = WithHydrateFallbackProps; exports.withHydrateFallbackProps = withHydrateFallbackProps; exports.WithErrorBoundaryProps = WithErrorBoundaryProps; exports.withErrorBoundaryProps = withErrorBoundaryProps;
10435
+
10436
+
10437
+ exports.ABSOLUTE_URL_REGEX = ABSOLUTE_URL_REGEX; exports.PROTOCOL_RELATIVE_URL_REGEX = PROTOCOL_RELATIVE_URL_REGEX; exports.Action = Action; exports.createMemoryHistory = createMemoryHistory; exports.createBrowserHistory = createBrowserHistory; exports.createHashHistory = createHashHistory; exports.invariant = invariant; exports.warning = warning; exports.createPath = createPath; exports.parsePath = parsePath; exports.createContext = createContext; exports.RouterContextProvider = RouterContextProvider; exports.convertRoutesToDataRoutes = convertRoutesToDataRoutes; exports.matchRoutes = matchRoutes; exports.matchRoutesImpl = matchRoutesImpl; exports.generatePath = generatePath; exports.matchPath = matchPath; exports.stripBasename = stripBasename; exports.resolvePath = resolvePath; exports.resolveTo = resolveTo; exports.joinPaths = joinPaths; exports.data = data; exports.redirect = redirect; exports.redirectDocument = redirectDocument; exports.replace = replace; exports.SUPPORTED_ERROR_TYPES = SUPPORTED_ERROR_TYPES; exports.ErrorResponseImpl = ErrorResponseImpl; exports.isRouteErrorResponse = isRouteErrorResponse; exports.parseToInfo = parseToInfo; exports.escapeHtml = escapeHtml; exports.escapeAttribute = escapeAttribute; exports.encode = encode; exports.instrumentHandler = instrumentHandler; exports.validateNavigationTarget = validateNavigationTarget; exports.IDLE_NAVIGATION = IDLE_NAVIGATION; exports.IDLE_FETCHER = IDLE_FETCHER; exports.IDLE_BLOCKER = IDLE_BLOCKER; exports.createRouter = createRouter; exports.createStaticHandler = createStaticHandler; exports.getStaticContextFromError = getStaticContextFromError; exports.hasInvalidProtocol = hasInvalidProtocol; exports.isDataWithResponseInit = isDataWithResponseInit; exports.isResponse = isResponse; exports.isRedirectStatusCode = isRedirectStatusCode; exports.isRedirectResponse = isRedirectResponse; exports.isMutationMethod = isMutationMethod; exports.createRequestInit = createRequestInit; exports.SingleFetchRedirectSymbol = SingleFetchRedirectSymbol; exports.SINGLE_FETCH_REDIRECT_STATUS = SINGLE_FETCH_REDIRECT_STATUS; exports.NO_BODY_STATUS_CODES = NO_BODY_STATUS_CODES; exports.StreamTransfer = StreamTransfer; exports.getTurboStreamSingleFetchDataStrategy = getTurboStreamSingleFetchDataStrategy; exports.getSingleFetchDataStrategyImpl = getSingleFetchDataStrategyImpl; exports.stripIndexParam = stripIndexParam; exports.singleFetchUrl = singleFetchUrl; exports.decodeViaTurboStream = decodeViaTurboStream; exports.DataRouterContext = DataRouterContext; exports.DataRouterStateContext = DataRouterStateContext; exports.RSCRouterContext = RSCRouterContext; exports.ViewTransitionContext = ViewTransitionContext; exports.FetchersContext = FetchersContext; exports.AwaitContextProvider = AwaitContextProvider; exports.NavigationContext = NavigationContext; exports.LocationContext = LocationContext; exports.RouteContext = RouteContext; exports.ENABLE_DEV_WARNINGS = ENABLE_DEV_WARNINGS; exports.warnOnce = warnOnce; exports.decodeRedirectErrorDigest = decodeRedirectErrorDigest; exports.decodeRouteErrorResponseDigest = decodeRouteErrorResponseDigest; exports.useHref = useHref; exports.useInRouterContext = useInRouterContext; exports.useLocation = useLocation; exports.useNavigationType = useNavigationType; exports.useMatch = useMatch; exports.useNavigate = useNavigate; exports.useOutletContext = useOutletContext; exports.useOutlet = useOutlet; exports.useParams = useParams; exports.useResolvedPath = useResolvedPath; exports.useRoutes = useRoutes; exports.useRouteId = useRouteId; exports.useNavigation = useNavigation; exports.useRevalidator = useRevalidator; exports.useMatches = useMatches; exports.useLoaderData = useLoaderData; exports.useRouteLoaderData = useRouteLoaderData; exports.useActionData = useActionData; exports.useRouteError = useRouteError; exports.useAsyncValue = useAsyncValue; exports.useAsyncError = useAsyncError; exports.useBlocker = useBlocker; exports.useRoute = useRoute; exports.useRouterState = useRouterState; exports.RemixErrorBoundary = RemixErrorBoundary; exports.createServerRoutes = createServerRoutes; exports.createClientRoutesWithHMRRevalidationOptOut = createClientRoutesWithHMRRevalidationOptOut; exports.noActionDefinedError = noActionDefinedError; exports.createClientRoutes = createClientRoutes; exports.shouldHydrateRouteLoader = shouldHydrateRouteLoader; exports.URL_LIMIT = URL_LIMIT; exports.getPathsWithAncestors = getPathsWithAncestors; exports.isFogOfWarEnabled = isFogOfWarEnabled; exports.shouldUseInitialRouteDiscovery = shouldUseInitialRouteDiscovery; exports.getPatchRoutesOnNavigationFunction = getPatchRoutesOnNavigationFunction; exports.useFogOFWarDiscovery = useFogOFWarDiscovery; exports.getManifestPath = getManifestPath; exports.FrameworkContext = FrameworkContext; exports.usePrefetchBehavior = usePrefetchBehavior; exports.CRITICAL_CSS_DATA_ATTRIBUTE = CRITICAL_CSS_DATA_ATTRIBUTE; exports.Links = Links; exports.PrefetchPageLinks = PrefetchPageLinks; exports.Meta = Meta; exports.setIsHydrated = setIsHydrated; exports.Scripts = Scripts; exports.mergeRefs = mergeRefs; exports.mapRouteProperties = mapRouteProperties; exports.hydrationRouteProperties = hydrationRouteProperties; exports.createMemoryRouter = createMemoryRouter; exports.RouterProvider = RouterProvider; exports.DataRoutes = DataRoutes2; exports.MemoryRouter = MemoryRouter; exports.Navigate = Navigate; exports.Outlet = Outlet; exports.Route = Route; exports.Router = Router; exports.Routes = Routes; exports.Await = Await; exports.createRoutesFromChildren = createRoutesFromChildren; exports.createRoutesFromElements = createRoutesFromElements; exports.renderMatches = renderMatches; exports.WithComponentProps = WithComponentProps; exports.withComponentProps = withComponentProps; exports.WithHydrateFallbackProps = WithHydrateFallbackProps; exports.withHydrateFallbackProps = withHydrateFallbackProps; exports.WithErrorBoundaryProps = WithErrorBoundaryProps; exports.withErrorBoundaryProps = withErrorBoundaryProps;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.18.4
2
+ * react-router v7.18.5
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -39,6 +39,7 @@ import {
39
39
  hasInvalidProtocol,
40
40
  instrumentHandler,
41
41
  isDataWithResponseInit,
42
+ isFogOfWarEnabled,
42
43
  isMutationMethod,
43
44
  isRedirectResponse,
44
45
  isRedirectStatusCode,
@@ -50,13 +51,14 @@ import {
50
51
  redirectDocument,
51
52
  replace,
52
53
  shouldHydrateRouteLoader,
54
+ shouldUseInitialRouteDiscovery,
53
55
  stripBasename,
54
56
  useRouteError,
55
57
  warnOnce,
56
58
  withComponentProps,
57
59
  withErrorBoundaryProps,
58
60
  withHydrateFallbackProps
59
- } from "./chunk-OB3PAWPO.mjs";
61
+ } from "./chunk-7RTFRKQW.mjs";
60
62
 
61
63
  // lib/dom/ssr/server.tsx
62
64
  import * as React from "react";
@@ -1475,10 +1477,17 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
1475
1477
  actionData: context.actionData,
1476
1478
  errors: context.errors
1477
1479
  };
1480
+ let routeDiscovery = build.routeDiscovery;
1481
+ if (isFogOfWarEnabled(routeDiscovery, build.ssr) && shouldUseInitialRouteDiscovery(
1482
+ context.location.pathname,
1483
+ staticHandler._matchCost
1484
+ )) {
1485
+ routeDiscovery = { ...routeDiscovery, mode: "initial" };
1486
+ }
1478
1487
  let baseServerHandoff = {
1479
1488
  basename: build.basename,
1480
1489
  future: build.future,
1481
- routeDiscovery: build.routeDiscovery,
1490
+ routeDiscovery,
1482
1491
  ssr: build.ssr,
1483
1492
  isSpaMode: isSpaMode2
1484
1493
  };
@@ -1501,7 +1510,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
1501
1510
  renderMeta: {},
1502
1511
  future: build.future,
1503
1512
  ssr: build.ssr,
1504
- routeDiscovery: build.routeDiscovery,
1513
+ routeDiscovery,
1505
1514
  isSpaMode: isSpaMode2,
1506
1515
  serializeError: (err) => serializeError(err, serverMode)
1507
1516
  };
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }/**
2
- * react-router v7.18.4
2
+ * react-router v7.18.5
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- var _chunkYNGRUB6Fjs = require('./chunk-YNGRUB6F.js');
17
+ var _chunkHNBICOIUjs = require('./chunk-HNBICOIU.js');
18
18
 
19
19
  // lib/dom/ssr/hydration.tsx
20
20
  function getHydrationData({
@@ -29,12 +29,12 @@ function getHydrationData({
29
29
  ...state,
30
30
  loaderData: { ...state.loaderData }
31
31
  };
32
- let initialMatches = _chunkYNGRUB6Fjs.matchRoutes.call(void 0, routes, location, basename);
32
+ let initialMatches = _chunkHNBICOIUjs.matchRoutes.call(void 0, routes, location, basename);
33
33
  if (initialMatches) {
34
34
  for (let match of initialMatches) {
35
35
  let routeId = match.route.id;
36
36
  let routeInfo = getRouteInfo(routeId);
37
- if (_chunkYNGRUB6Fjs.shouldHydrateRouteLoader.call(void 0,
37
+ if (_chunkHNBICOIUjs.shouldHydrateRouteLoader.call(void 0,
38
38
  routeId,
39
39
  routeInfo.clientLoader,
40
40
  routeInfo.hasLoader,
@@ -112,7 +112,7 @@ function RSCDefaultRootErrorBoundaryImpl({
112
112
  }
113
113
  }
114
114
  );
115
- if (_chunkYNGRUB6Fjs.isRouteErrorResponse.call(void 0, error)) {
115
+ if (_chunkHNBICOIUjs.isRouteErrorResponse.call(void 0, error)) {
116
116
  return /* @__PURE__ */ _react2.default.createElement(
117
117
  ErrorWrapper,
118
118
  {
@@ -120,7 +120,7 @@ function RSCDefaultRootErrorBoundaryImpl({
120
120
  title: "Unhandled Thrown Response!"
121
121
  },
122
122
  /* @__PURE__ */ _react2.default.createElement("h1", { style: { fontSize: "24px" } }, error.status, " ", error.statusText),
123
- _chunkYNGRUB6Fjs.ENABLE_DEV_WARNINGS ? heyDeveloper : null
123
+ _chunkHNBICOIUjs.ENABLE_DEV_WARNINGS ? heyDeveloper : null
124
124
  );
125
125
  }
126
126
  let errorInstance;
@@ -146,7 +146,7 @@ function RSCDefaultRootErrorBoundaryImpl({
146
146
  function RSCDefaultRootErrorBoundary({
147
147
  hasRootLayout
148
148
  }) {
149
- let error = _chunkYNGRUB6Fjs.useRouteError.call(void 0, );
149
+ let error = _chunkHNBICOIUjs.useRouteError.call(void 0, );
150
150
  if (hasRootLayout === void 0) {
151
151
  throw new Error("Missing 'hasRootLayout' prop");
152
152
  }
@@ -425,6 +425,8 @@ interface StaticHandler {
425
425
  * The set of data routes managed by this handler
426
426
  */
427
427
  dataRoutes: DataRouteObject[];
428
+ /** @private Estimated route metadata visits per regex match. */
429
+ readonly _matchCost?: number;
428
430
  /**
429
431
  * @private
430
432
  * PRIVATE - DO NOT USE
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { a as RouterProviderProps$1, R as RouterInit, C as ClientInstrumentation, b as ClientOnErrorFunction } from './context-nqAapj74.mjs';
3
- export { D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, R as unstable_RSCHydratedRouter, d as unstable_RSCManifestPayload, e as unstable_RSCPayload, f as unstable_RSCRenderPayload, c as unstable_createCallServer } from './browser-BR5QG7ZC.mjs';
2
+ import { a as RouterProviderProps$1, R as RouterInit, C as ClientInstrumentation, b as ClientOnErrorFunction } from './context-BlYKn1tE.mjs';
3
+ export { D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, R as unstable_RSCHydratedRouter, d as unstable_RSCManifestPayload, e as unstable_RSCPayload, f as unstable_RSCRenderPayload, c as unstable_createCallServer } from './browser-CiGxXXOl.mjs';
4
4
  import './data-DEjBmEfD.mjs';
5
5
 
6
6
  type RouterProviderProps = Omit<RouterProviderProps$1, "flushSync">;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { RouterProviderProps as RouterProviderProps$1, RouterInit, ClientOnErrorFunction } from 'react-router';
3
- import { C as ClientInstrumentation } from './instrumentation-B7w3_Eo9.js';
4
- export { D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, R as unstable_RSCHydratedRouter, d as unstable_RSCManifestPayload, e as unstable_RSCPayload, f as unstable_RSCRenderPayload, c as unstable_createCallServer } from './browser-eq4RgLsD.js';
3
+ import { C as ClientInstrumentation } from './instrumentation-CPkMwccd.js';
4
+ export { D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, R as unstable_RSCHydratedRouter, d as unstable_RSCManifestPayload, e as unstable_RSCPayload, f as unstable_RSCRenderPayload, c as unstable_createCallServer } from './browser-7x6a6gQP.js';
5
5
  import './data-CjO11-hU.js';
6
6
 
7
7
  type RouterProviderProps = Omit<RouterProviderProps$1, "flushSync">;
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }/**
2
- * react-router v7.18.4
2
+ * react-router v7.18.5
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -13,7 +13,7 @@
13
13
 
14
14
 
15
15
 
16
- var _chunkQURBR4FZjs = require('./chunk-QURBR4FZ.js');
16
+ var _chunkK3NA4NUHjs = require('./chunk-K3NA4NUH.js');
17
17
 
18
18
 
19
19
 
@@ -38,7 +38,7 @@ var _chunkQURBR4FZjs = require('./chunk-QURBR4FZ.js');
38
38
 
39
39
 
40
40
 
41
- var _chunkYNGRUB6Fjs = require('./chunk-YNGRUB6F.js');
41
+ var _chunkHNBICOIUjs = require('./chunk-HNBICOIU.js');
42
42
 
43
43
  // lib/dom-export/dom-router-provider.tsx
44
44
  var _react = require('react'); var React = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react);
@@ -214,7 +214,7 @@ function HydratedRouter(props) {
214
214
  }, []);
215
215
  React2.useEffect(() => {
216
216
  if (process.env.NODE_ENV === "development" && criticalCss === void 0) {
217
- document.querySelectorAll(`[${_chunkYNGRUB6Fjs.CRITICAL_CSS_DATA_ATTRIBUTE}]`).forEach((element) => element.remove());
217
+ document.querySelectorAll(`[${_chunkHNBICOIUjs.CRITICAL_CSS_DATA_ATTRIBUTE}]`).forEach((element) => element.remove());
218
218
  }
219
219
  }, [criticalCss]);
220
220
  let [location2, setLocation] = React2.useState(router.state.location);
@@ -308,14 +308,14 @@ function createCallServer({
308
308
  Promise.resolve(payloadPromise).then(async (payload) => {
309
309
  if (payload.type === "redirect") {
310
310
  let location2 = normalizeRedirectLocation(payload.location);
311
- _chunkYNGRUB6Fjs.validateNavigationTarget.call(void 0,
311
+ _chunkHNBICOIUjs.validateNavigationTarget.call(void 0,
312
312
  payload.location,
313
313
  location2,
314
314
  new URL(window.location.href),
315
315
  "allow-explicit"
316
316
  );
317
317
  if (payload.reload || isExternalLocation(location2)) {
318
- if (_chunkYNGRUB6Fjs.hasInvalidProtocol.call(void 0, location2)) {
318
+ if (_chunkHNBICOIUjs.hasInvalidProtocol.call(void 0, location2)) {
319
319
  throw new Error("Invalid redirect location");
320
320
  }
321
321
  window.location.href = location2;
@@ -335,14 +335,14 @@ function createCallServer({
335
335
  if (rerender && landedActionId < actionId && globalVar.__routerActionID <= actionId) {
336
336
  if (rerender.type === "redirect") {
337
337
  let location2 = normalizeRedirectLocation(rerender.location);
338
- _chunkYNGRUB6Fjs.validateNavigationTarget.call(void 0,
338
+ _chunkHNBICOIUjs.validateNavigationTarget.call(void 0,
339
339
  rerender.location,
340
340
  location2,
341
341
  new URL(window.location.href),
342
342
  "allow-explicit"
343
343
  );
344
344
  if (rerender.reload || isExternalLocation(location2)) {
345
- if (_chunkYNGRUB6Fjs.hasInvalidProtocol.call(void 0, location2)) {
345
+ if (_chunkHNBICOIUjs.hasInvalidProtocol.call(void 0, location2)) {
346
346
  throw new Error("Invalid redirect location");
347
347
  }
348
348
  window.location.href = location2;
@@ -407,7 +407,7 @@ function createRouterFromPayload({
407
407
  };
408
408
  if (payload.type !== "render") throw new Error("Invalid payload type");
409
409
  globalVar.__reactRouterRouteModules = _nullishCoalesce(globalVar.__reactRouterRouteModules, () => ( {}));
410
- _chunkQURBR4FZjs.populateRSCRouteModules.call(void 0, globalVar.__reactRouterRouteModules, payload.matches);
410
+ _chunkK3NA4NUHjs.populateRSCRouteModules.call(void 0, globalVar.__reactRouterRouteModules, payload.matches);
411
411
  let routes = payload.matches.reduceRight((previous, match) => {
412
412
  const route = createRouteFromServerManifest(
413
413
  match,
@@ -421,12 +421,12 @@ function createRouterFromPayload({
421
421
  return [route];
422
422
  }, []);
423
423
  let applyPatchesPromise;
424
- globalVar.__reactRouterDataRouter = _chunkYNGRUB6Fjs.createRouter.call(void 0, {
424
+ globalVar.__reactRouterDataRouter = _chunkHNBICOIUjs.createRouter.call(void 0, {
425
425
  routes,
426
426
  getContext,
427
427
  basename: payload.basename,
428
- history: _chunkYNGRUB6Fjs.createBrowserHistory.call(void 0, ),
429
- hydrationData: _chunkQURBR4FZjs.getHydrationData.call(void 0, {
428
+ history: _chunkHNBICOIUjs.createBrowserHistory.call(void 0, ),
429
+ hydrationData: _chunkK3NA4NUHjs.getHydrationData.call(void 0, {
430
430
  state: {
431
431
  loaderData: payload.loaderData,
432
432
  actionData: payload.actionData,
@@ -435,7 +435,7 @@ function createRouterFromPayload({
435
435
  routes,
436
436
  getRouteInfo: (routeId) => {
437
437
  let match = payload.matches.find((m) => m.id === routeId);
438
- _chunkYNGRUB6Fjs.invariant.call(void 0, match, "Route not found in payload");
438
+ _chunkHNBICOIUjs.invariant.call(void 0, match, "Route not found in payload");
439
439
  return {
440
440
  clientLoader: match.clientLoader,
441
441
  hasLoader: match.hasLoader,
@@ -550,9 +550,9 @@ function createRouterFromPayload({
550
550
  routeModules: globalVar.__reactRouterRouteModules
551
551
  };
552
552
  }
553
- var renderedRoutesContext = _chunkYNGRUB6Fjs.createContext.call(void 0, );
553
+ var renderedRoutesContext = _chunkHNBICOIUjs.createContext.call(void 0, );
554
554
  function getRSCSingleFetchDataStrategy(getRouter, ssr, basename, createFromReadableStream, fetchImplementation) {
555
- let dataStrategy = _chunkYNGRUB6Fjs.getSingleFetchDataStrategyImpl.call(void 0,
555
+ let dataStrategy = _chunkHNBICOIUjs.getSingleFetchDataStrategyImpl.call(void 0,
556
556
  getRouter,
557
557
  (match) => {
558
558
  let M = match;
@@ -609,20 +609,20 @@ function getRSCSingleFetchDataStrategy(getRouter, ssr, basename, createFromReada
609
609
  function getFetchAndDecodeViaRSC(createFromReadableStream, fetchImplementation) {
610
610
  return async (args, basename, trailingSlashAware, targetRoutes) => {
611
611
  let { request, context } = args;
612
- let url = _chunkYNGRUB6Fjs.singleFetchUrl.call(void 0, request.url, basename, trailingSlashAware, "rsc");
612
+ let url = _chunkHNBICOIUjs.singleFetchUrl.call(void 0, request.url, basename, trailingSlashAware, "rsc");
613
613
  if (request.method === "GET") {
614
- url = _chunkYNGRUB6Fjs.stripIndexParam.call(void 0, url);
614
+ url = _chunkHNBICOIUjs.stripIndexParam.call(void 0, url);
615
615
  if (targetRoutes) {
616
616
  url.searchParams.set("_routes", targetRoutes.join(","));
617
617
  }
618
618
  }
619
619
  let res = await fetchImplementation(
620
- new Request(url, await _chunkYNGRUB6Fjs.createRequestInit.call(void 0, request))
620
+ new Request(url, await _chunkHNBICOIUjs.createRequestInit.call(void 0, request))
621
621
  );
622
622
  if (res.status >= 400 && !res.headers.has("X-Remix-Response")) {
623
- throw new (0, _chunkYNGRUB6Fjs.ErrorResponseImpl)(res.status, res.statusText, await res.text());
623
+ throw new (0, _chunkHNBICOIUjs.ErrorResponseImpl)(res.status, res.statusText, await res.text());
624
624
  }
625
- _chunkYNGRUB6Fjs.invariant.call(void 0, res.body, "No response body to decode");
625
+ _chunkHNBICOIUjs.invariant.call(void 0, res.body, "No response body to decode");
626
626
  try {
627
627
  const payload = await createFromReadableStream(res.body, {
628
628
  temporaryReferences: void 0
@@ -646,7 +646,7 @@ function getFetchAndDecodeViaRSC(createFromReadableStream, fetchImplementation)
646
646
  }
647
647
  context.get(renderedRoutesContext).push(...payload.matches);
648
648
  let results = { routes: {} };
649
- const dataKey = _chunkYNGRUB6Fjs.isMutationMethod.call(void 0, request.method) ? "actionData" : "loaderData";
649
+ const dataKey = _chunkHNBICOIUjs.isMutationMethod.call(void 0, request.method) ? "actionData" : "loaderData";
650
650
  for (let [routeId, data] of Object.entries(payload[dataKey] || {})) {
651
651
  results.routes[routeId] = { data };
652
652
  }
@@ -679,7 +679,7 @@ function RSCHydratedRouter({
679
679
  [createFromReadableStream, payload, fetchImplementation, getContext]
680
680
  );
681
681
  React3.useEffect(() => {
682
- _chunkYNGRUB6Fjs.setIsHydrated.call(void 0, );
682
+ _chunkHNBICOIUjs.setIsHydrated.call(void 0, );
683
683
  }, []);
684
684
  React3.useLayoutEffect(() => {
685
685
  const globalVar = window;
@@ -787,8 +787,8 @@ function RSCHydratedRouter({
787
787
  },
788
788
  routeModules
789
789
  };
790
- return /* @__PURE__ */ React3.createElement(_chunkYNGRUB6Fjs.RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React3.createElement(_chunkQURBR4FZjs.RSCRouterGlobalErrorBoundary, { location: state.location }, /* @__PURE__ */ React3.createElement(_chunkYNGRUB6Fjs.FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React3.createElement(
791
- _chunkYNGRUB6Fjs.RouterProvider,
790
+ return /* @__PURE__ */ React3.createElement(_chunkHNBICOIUjs.RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React3.createElement(_chunkK3NA4NUHjs.RSCRouterGlobalErrorBoundary, { location: state.location }, /* @__PURE__ */ React3.createElement(_chunkHNBICOIUjs.FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React3.createElement(
791
+ _chunkHNBICOIUjs.RouterProvider,
792
792
  {
793
793
  router: transitionEnabledRouter,
794
794
  flushSync: ReactDOM2.flushSync
@@ -804,8 +804,8 @@ function createRouteFromServerManifest(match, payload) {
804
804
  // the server loader flow regardless of whether the client loader calls
805
805
  // `serverLoader` or not, otherwise we'll have nothing to render.
806
806
  match.hasComponent && !match.element;
807
- _chunkYNGRUB6Fjs.invariant.call(void 0, window.__reactRouterRouteModules);
808
- _chunkQURBR4FZjs.populateRSCRouteModules.call(void 0, window.__reactRouterRouteModules, match);
807
+ _chunkHNBICOIUjs.invariant.call(void 0, window.__reactRouterRouteModules);
808
+ _chunkK3NA4NUHjs.populateRSCRouteModules.call(void 0, window.__reactRouterRouteModules, match);
809
809
  let dataRoute = {
810
810
  id: match.id,
811
811
  element: match.element,
@@ -853,7 +853,7 @@ function createRouteFromServerManifest(match, payload) {
853
853
  return await callSingleFetch(singleFetch);
854
854
  }
855
855
  }) : match.hasAction ? (_, singleFetch) => callSingleFetch(singleFetch) : () => {
856
- throw _chunkYNGRUB6Fjs.noActionDefinedError.call(void 0, "action", match.id);
856
+ throw _chunkHNBICOIUjs.noActionDefinedError.call(void 0, "action", match.id);
857
857
  },
858
858
  path: match.path,
859
859
  shouldRevalidate: match.shouldRevalidate,
@@ -865,7 +865,7 @@ function createRouteFromServerManifest(match, payload) {
865
865
  hasClientAction: match.clientAction != null
866
866
  };
867
867
  if (typeof dataRoute.loader === "function") {
868
- dataRoute.loader.hydrate = _chunkYNGRUB6Fjs.shouldHydrateRouteLoader.call(void 0,
868
+ dataRoute.loader.hydrate = _chunkHNBICOIUjs.shouldHydrateRouteLoader.call(void 0,
869
869
  match.id,
870
870
  match.clientLoader,
871
871
  match.hasLoader,
@@ -875,7 +875,7 @@ function createRouteFromServerManifest(match, payload) {
875
875
  return dataRoute;
876
876
  }
877
877
  function callSingleFetch(singleFetch) {
878
- _chunkYNGRUB6Fjs.invariant.call(void 0, typeof singleFetch === "function", "Invalid singleFetch parameter");
878
+ _chunkHNBICOIUjs.invariant.call(void 0, typeof singleFetch === "function", "Invalid singleFetch parameter");
879
879
  return singleFetch();
880
880
  }
881
881
  function preventInvalidServerHandlerCall(type, routeId, hasHandler) {
@@ -883,7 +883,7 @@ function preventInvalidServerHandlerCall(type, routeId, hasHandler) {
883
883
  let fn = type === "action" ? "serverAction()" : "serverLoader()";
884
884
  let msg = `You are trying to call ${fn} on a route that does not have a server ${type} (routeId: "${routeId}")`;
885
885
  console.error(msg);
886
- throw new (0, _chunkYNGRUB6Fjs.ErrorResponseImpl)(400, "Bad Request", new Error(msg), true);
886
+ throw new (0, _chunkHNBICOIUjs.ErrorResponseImpl)(400, "Bad Request", new Error(msg), true);
887
887
  }
888
888
  }
889
889
  var nextPaths = /* @__PURE__ */ new Set();
@@ -906,12 +906,12 @@ function getManifestUrl(paths) {
906
906
  return url;
907
907
  }
908
908
  async function fetchAndApplyManifestPatches(paths, createFromReadableStream, fetchImplementation, signal) {
909
- paths = _chunkYNGRUB6Fjs.getPathsWithAncestors.call(void 0, paths);
909
+ paths = _chunkHNBICOIUjs.getPathsWithAncestors.call(void 0, paths);
910
910
  let url = getManifestUrl(paths);
911
911
  if (url == null) {
912
912
  return;
913
913
  }
914
- if (url.toString().length > _chunkYNGRUB6Fjs.URL_LIMIT) {
914
+ if (url.toString().length > _chunkHNBICOIUjs.URL_LIMIT) {
915
915
  nextPaths.clear();
916
916
  return;
917
917
  }
@@ -955,8 +955,8 @@ function isExternalLocation(location2) {
955
955
  return newLocation.origin !== window.location.origin;
956
956
  }
957
957
  function normalizeRedirectLocation(location2) {
958
- if (_chunkYNGRUB6Fjs.PROTOCOL_RELATIVE_URL_REGEX.test(location2)) {
959
- let path = _chunkYNGRUB6Fjs.resolvePath.call(void 0, location2);
958
+ if (_chunkHNBICOIUjs.PROTOCOL_RELATIVE_URL_REGEX.test(location2)) {
959
+ let path = _chunkHNBICOIUjs.resolvePath.call(void 0, location2);
960
960
  return path.pathname + path.search + path.hash;
961
961
  }
962
962
  return location2;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.18.4
2
+ * react-router v7.18.5
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -13,7 +13,7 @@ import {
13
13
  RSCRouterGlobalErrorBoundary,
14
14
  getHydrationData,
15
15
  populateRSCRouteModules
16
- } from "./chunk-G2MPF4YY.mjs";
16
+ } from "./chunk-IAM5GYT3.mjs";
17
17
  import {
18
18
  CRITICAL_CSS_DATA_ATTRIBUTE,
19
19
  ErrorResponseImpl,
@@ -47,7 +47,7 @@ import {
47
47
  stripIndexParam,
48
48
  useFogOFWarDiscovery,
49
49
  validateNavigationTarget
50
- } from "./chunk-Q34X6AWR.mjs";
50
+ } from "./chunk-7RTFRKQW.mjs";
51
51
 
52
52
  // lib/dom-export/dom-router-provider.tsx
53
53
  import * as React from "react";
@@ -1,4 +1,4 @@
1
- import { l as ServerInstrumentation, H as HydrationState, e as StaticHandlerContext, c as RelativeRoutingType, a as Router$1, g as RouterState, R as RouterInit, t as FutureConfig$1, C as ClientInstrumentation, d as GetScrollRestorationKeyFunction, F as Fetcher, B as BlockerFunction, u as CreateStaticHandlerOptions$1, S as StaticHandler } from './instrumentation-B7w3_Eo9.js';
1
+ import { l as ServerInstrumentation, H as HydrationState, e as StaticHandlerContext, c as RelativeRoutingType, a as Router$1, g as RouterState, R as RouterInit, t as FutureConfig$1, C as ClientInstrumentation, d as GetScrollRestorationKeyFunction, F as Fetcher, B as BlockerFunction, u as CreateStaticHandlerOptions$1, S as StaticHandler } from './instrumentation-CPkMwccd.js';
2
2
  import * as React from 'react';
3
3
  import { p as RouteManifest, aE as ServerRouteModule, t as MiddlewareEnabled, c as RouterContextProvider, u as AppLoadContext, s as LoaderFunctionArgs, a0 as ActionFunctionArgs, O as RouteModules, n as DataRouteObject, a as ClientLoaderFunction, o as RouteBranch, aF as TrackedPromise, f as History, T as To, L as Location, i as Action, ac as RouteMatch, Y as InitialEntry, _ as NonIndexRouteObject, a7 as LazyRouteFunction, Z as IndexRouteObject, P as Params, l as DataStrategyFunction, m as PatchRoutesOnNavigationFunction, e as RouteObject, U as UIMatch, q as HTMLFormMethod, F as FormEncType, av as PageLinkDescriptor, Q as SerializeFrom } from './data-CjO11-hU.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { o as ServerInstrumentation, H as HydrationState, h as StaticHandlerContext, f as RelativeRoutingType, g as GetScrollRestorationKeyFunction, R as RouterInit, ah as FutureConfig$1, C as ClientInstrumentation, N as NavigateOptions, F as Fetcher, c as Router, B as BlockerFunction, ai as CreateStaticHandlerOptions$1, S as StaticHandler } from './context-nqAapj74.mjs';
1
+ import { o as ServerInstrumentation, H as HydrationState, h as StaticHandlerContext, f as RelativeRoutingType, g as GetScrollRestorationKeyFunction, R as RouterInit, ah as FutureConfig$1, C as ClientInstrumentation, N as NavigateOptions, F as Fetcher, c as Router, B as BlockerFunction, ai as CreateStaticHandlerOptions$1, S as StaticHandler } from './context-BlYKn1tE.mjs';
2
2
  import * as React from 'react';
3
3
  import { J as RouteManifest, aF as ServerRouteModule, p as MiddlewareEnabled, c as RouterContextProvider, q as AppLoadContext, o as LoaderFunctionArgs, a3 as ActionFunctionArgs, Z as RouteModules, E as DataRouteObject, a as ClientLoaderFunction, I as RouteBranch, m as HTMLFormMethod, n as FormEncType, aw as PageLinkDescriptor, T as To, s as History, z as DataStrategyFunction, B as PatchRoutesOnNavigationFunction, r as RouteObject, _ as SerializeFrom, L as Location } from './data-DEjBmEfD.mjs';
4
4