react-router 7.17.0 → 7.18.1

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 (80) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/dist/development/{browser-D3uq9sI1.d.ts → browser-B2PdsXXH.d.ts} +2 -2
  3. package/dist/development/{browser-CGcs-0pD.d.mts → browser-DBmQ1yAR.d.mts} +2 -2
  4. package/dist/development/{chunk-PBLBZ3QU.js → chunk-EVX4J2F5.js} +7 -7
  5. package/dist/development/{chunk-PULC7NLK.js → chunk-G5KIBF6U.js} +111 -108
  6. package/dist/{production/chunk-5TQZEVD5.mjs → development/chunk-IJF3QNGC.mjs} +45 -113
  7. package/dist/development/{chunk-6CSD65Y2.mjs → chunk-KS7C4IRE.mjs} +115 -38
  8. package/dist/development/{chunk-KFNXW4AL.js → chunk-SA4DP3SF.js} +113 -35
  9. package/dist/{production/context-CmHpk1Ws.d.mts → development/context-CeD5LmaF.d.mts} +12 -4
  10. package/dist/{production/data-D4xhSy90.d.ts → development/data-CjO11-hU.d.ts} +9 -1
  11. package/dist/development/{data-U8FS-wNn.d.mts → data-DEjBmEfD.d.mts} +9 -1
  12. package/dist/development/dom-export.d.mts +3 -3
  13. package/dist/development/dom-export.d.ts +3 -3
  14. package/dist/development/dom-export.js +46 -44
  15. package/dist/development/dom-export.mjs +23 -21
  16. package/dist/development/{index-react-server-client-CwU9bE5R.d.ts → index-react-server-client-3ykjivgQ.d.ts} +29 -7
  17. package/dist/development/{index-react-server-client-DPrDrCew.d.mts → index-react-server-client-CACgcj2J.d.mts} +19 -5
  18. package/dist/development/index-react-server-client.d.mts +3 -3
  19. package/dist/development/index-react-server-client.d.ts +3 -3
  20. package/dist/development/index-react-server-client.js +4 -4
  21. package/dist/development/index-react-server-client.mjs +2 -2
  22. package/dist/development/index-react-server.d.mts +9 -1
  23. package/dist/development/index-react-server.d.ts +9 -1
  24. package/dist/development/index-react-server.js +144 -121
  25. package/dist/development/index-react-server.mjs +143 -120
  26. package/dist/development/index.d.mts +15 -14
  27. package/dist/development/index.d.ts +15 -14
  28. package/dist/development/index.js +137 -205
  29. package/dist/development/index.mjs +3 -5
  30. package/dist/{production/instrumentation-1q4YhLGP.d.ts → development/instrumentation-Dkmpzd13.d.ts} +2 -2
  31. package/dist/development/lib/types/internal.d.mts +2 -2
  32. package/dist/development/lib/types/internal.d.ts +2 -2
  33. package/dist/development/lib/types/internal.js +1 -1
  34. package/dist/development/lib/types/internal.mjs +1 -1
  35. package/dist/development/{register-CqK96Zfk.d.mts → register-CmkRspdl.d.mts} +1 -1
  36. package/dist/development/{register-CNAx3TXj.d.ts → register-roq_0qYo.d.ts} +1 -1
  37. package/dist/production/{browser-D3uq9sI1.d.ts → browser-B2PdsXXH.d.ts} +2 -2
  38. package/dist/production/{browser-CGcs-0pD.d.mts → browser-DBmQ1yAR.d.mts} +2 -2
  39. package/dist/{development/chunk-ASILSGTR.mjs → production/chunk-3MA7PLKB.mjs} +45 -113
  40. package/dist/production/{chunk-OSYEOCBT.mjs → chunk-3WDNQUW5.mjs} +115 -38
  41. package/dist/production/{chunk-CTIXC7EV.js → chunk-GOIER6ML.js} +7 -7
  42. package/dist/production/{chunk-RTRY3JFT.js → chunk-IEF7VMTA.js} +113 -35
  43. package/dist/production/{chunk-EN242BO4.js → chunk-WICLSFKL.js} +111 -108
  44. package/dist/{development/context-CmHpk1Ws.d.mts → production/context-CeD5LmaF.d.mts} +12 -4
  45. package/dist/{development/data-D4xhSy90.d.ts → production/data-CjO11-hU.d.ts} +9 -1
  46. package/dist/production/{data-U8FS-wNn.d.mts → data-DEjBmEfD.d.mts} +9 -1
  47. package/dist/production/dom-export.d.mts +3 -3
  48. package/dist/production/dom-export.d.ts +3 -3
  49. package/dist/production/dom-export.js +46 -44
  50. package/dist/production/dom-export.mjs +23 -21
  51. package/dist/production/{index-react-server-client-CwU9bE5R.d.ts → index-react-server-client-3ykjivgQ.d.ts} +29 -7
  52. package/dist/production/{index-react-server-client-DPrDrCew.d.mts → index-react-server-client-CACgcj2J.d.mts} +19 -5
  53. package/dist/production/index-react-server-client.d.mts +3 -3
  54. package/dist/production/index-react-server-client.d.ts +3 -3
  55. package/dist/production/index-react-server-client.js +4 -4
  56. package/dist/production/index-react-server-client.mjs +2 -2
  57. package/dist/production/index-react-server.d.mts +9 -1
  58. package/dist/production/index-react-server.d.ts +9 -1
  59. package/dist/production/index-react-server.js +144 -121
  60. package/dist/production/index-react-server.mjs +143 -120
  61. package/dist/production/index.d.mts +15 -14
  62. package/dist/production/index.d.ts +15 -14
  63. package/dist/production/index.js +137 -205
  64. package/dist/production/index.mjs +3 -5
  65. package/dist/{development/instrumentation-1q4YhLGP.d.ts → production/instrumentation-Dkmpzd13.d.ts} +2 -2
  66. package/dist/production/lib/types/internal.d.mts +2 -2
  67. package/dist/production/lib/types/internal.d.ts +2 -2
  68. package/dist/production/lib/types/internal.js +1 -1
  69. package/dist/production/lib/types/internal.mjs +1 -1
  70. package/dist/production/{register-CqK96Zfk.d.mts → register-CmkRspdl.d.mts} +1 -1
  71. package/dist/production/{register-CNAx3TXj.d.ts → register-roq_0qYo.d.ts} +1 -1
  72. package/docs/explanation/type-safety.md +1 -1
  73. package/docs/how-to/headers.md +2 -1
  74. package/docs/how-to/security.md +8 -6
  75. package/docs/how-to/status.md +1 -1
  76. package/docs/start/data/installation.md +4 -0
  77. package/docs/start/framework/deploying.md +4 -0
  78. package/docs/upgrading/future.md +222 -12
  79. package/docs/upgrading/remix.md +2 -2
  80. package/package.json +1 -1
@@ -1,12 +1,12 @@
1
1
  import { AsyncLocalStorage } from 'node:async_hooks';
2
- import * as React2 from 'react';
2
+ import * as React3 from 'react';
3
3
  import { splitCookiesString } from 'set-cookie-parser';
4
4
  import { UNSAFE_AwaitContextProvider, UNSAFE_WithComponentProps, Outlet as Outlet$1, UNSAFE_WithErrorBoundaryProps, UNSAFE_WithHydrateFallbackProps } from 'react-router/internal/react-server-client';
5
5
  export { BrowserRouter, Form, HashRouter, Link, Links, MemoryRouter, Meta, NavLink, Navigate, Outlet, Route, Router, RouterProvider, Routes, ScrollRestoration, StaticRouter, StaticRouterProvider, unstable_HistoryRouter } from 'react-router/internal/react-server-client';
6
6
  import { serialize, parse } from 'cookie';
7
7
 
8
8
  /**
9
- * react-router v7.17.0
9
+ * react-router v7.18.1
10
10
  *
11
11
  * Copyright (c) Remix Software Inc.
12
12
  *
@@ -22,6 +22,9 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
22
22
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
23
23
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
24
24
 
25
+ // lib/router/url.ts
26
+ var ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i;
27
+
25
28
  // lib/router/history.ts
26
29
  function invariant(value, message) {
27
30
  if (value === false || value === null || typeof value === "undefined") {
@@ -481,7 +484,18 @@ function flattenRoutes(routes, branches = [], parentsMeta = [], parentPath = "",
481
484
  branches.push({
482
485
  path,
483
486
  score: computeScore(path, route.index),
484
- routesMeta
487
+ routesMeta: routesMeta.map((meta2, i) => {
488
+ let [matcher, params] = compilePath(
489
+ meta2.relativePath,
490
+ meta2.caseSensitive,
491
+ i === routesMeta.length - 1
492
+ );
493
+ return {
494
+ ...meta2,
495
+ matcher,
496
+ compiledParams: params
497
+ };
498
+ })
485
499
  });
486
500
  };
487
501
  routes.forEach((route, index) => {
@@ -570,9 +584,19 @@ function matchRouteBranch(branch, pathname, allowPartial = false) {
570
584
  let meta = routesMeta[i];
571
585
  let end = i === routesMeta.length - 1;
572
586
  let remainingPathname = matchedPathname === "/" ? pathname : pathname.slice(matchedPathname.length) || "/";
573
- let match = matchPath(
574
- { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },
575
- remainingPathname
587
+ let pattern = {
588
+ path: meta.relativePath,
589
+ caseSensitive: meta.caseSensitive,
590
+ end
591
+ };
592
+ let match = (
593
+ // Use precomputed matcher if it exists
594
+ meta.matcher && meta.compiledParams ? matchPathImpl(
595
+ pattern,
596
+ remainingPathname,
597
+ meta.matcher,
598
+ meta.compiledParams
599
+ ) : matchPath(pattern, remainingPathname)
576
600
  );
577
601
  let route = meta.route;
578
602
  if (!match && end && allowPartial && !routesMeta[routesMeta.length - 1].route.index) {
@@ -613,6 +637,9 @@ function matchPath(pattern, pathname) {
613
637
  pattern.caseSensitive,
614
638
  pattern.end
615
639
  );
640
+ return matchPathImpl(pattern, pathname, matcher, compiledParams);
641
+ }
642
+ function matchPathImpl(pattern, pathname, matcher, compiledParams) {
616
643
  let match = pathname.match(matcher);
617
644
  if (!match) return null;
618
645
  let matchedPathname = match[0];
@@ -701,7 +728,6 @@ function prependBasename({
701
728
  }) {
702
729
  return pathname === "/" ? basename : joinPaths([basename, pathname]);
703
730
  }
704
- var ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;
705
731
  var isAbsoluteUrl = (url) => ABSOLUTE_URL_REGEX.test(url);
706
732
  function resolvePath(to, fromPathname = "/") {
707
733
  let {
@@ -798,7 +824,7 @@ function resolveTo(toArg, routePathnames, locationPathname, isPathRelative = fal
798
824
  }
799
825
  return path;
800
826
  }
801
- var removeDoubleSlashes = (path) => path.replace(/\/\/+/g, "/");
827
+ var removeDoubleSlashes = (path) => path.replace(/[\\/]{2,}/g, "/");
802
828
  var joinPaths = (paths) => removeDoubleSlashes(paths.join("/"));
803
829
  var removeTrailingSlash = (path) => path.replace(/\/+$/, "");
804
830
  var normalizePathname = (pathname) => removeTrailingSlash(pathname).replace(/^\/*/, "/");
@@ -2448,9 +2474,71 @@ function prependCookies(parentHeaders, childHeaders) {
2448
2474
  }
2449
2475
  var SINGLE_FETCH_REDIRECT_STATUS = 202;
2450
2476
 
2477
+ // lib/server-runtime/warnings.ts
2478
+ var alreadyWarned = {};
2479
+ function warnOnce(condition, message) {
2480
+ if (!condition && !alreadyWarned[message]) {
2481
+ alreadyWarned[message] = true;
2482
+ console.warn(message);
2483
+ }
2484
+ }
2485
+
2486
+ // lib/errors.ts
2487
+ var ERROR_DIGEST_BASE = "REACT_ROUTER_ERROR";
2488
+ var ERROR_DIGEST_REDIRECT = "REDIRECT";
2489
+ var ERROR_DIGEST_ROUTE_ERROR_RESPONSE = "ROUTE_ERROR_RESPONSE";
2490
+ function createRedirectErrorDigest(response) {
2491
+ return `${ERROR_DIGEST_BASE}:${ERROR_DIGEST_REDIRECT}:${JSON.stringify({
2492
+ status: response.status,
2493
+ statusText: response.statusText,
2494
+ location: response.headers.get("Location"),
2495
+ reloadDocument: response.headers.get("X-Remix-Reload-Document") === "true",
2496
+ replace: response.headers.get("X-Remix-Replace") === "true"
2497
+ })}`;
2498
+ }
2499
+ function createRouteErrorResponseDigest(response) {
2500
+ let status = 500;
2501
+ let statusText = "";
2502
+ let data2;
2503
+ if (isDataWithResponseInit(response)) {
2504
+ status = response.init?.status ?? status;
2505
+ statusText = response.init?.statusText ?? statusText;
2506
+ data2 = response.data;
2507
+ } else {
2508
+ status = response.status;
2509
+ statusText = response.statusText;
2510
+ data2 = void 0;
2511
+ }
2512
+ return `${ERROR_DIGEST_BASE}:${ERROR_DIGEST_ROUTE_ERROR_RESPONSE}:${JSON.stringify(
2513
+ {
2514
+ status,
2515
+ statusText,
2516
+ data: data2
2517
+ }
2518
+ )}`;
2519
+ }
2520
+
2521
+ // lib/dom/ssr/fog-of-war.ts
2522
+ var URL_LIMIT = 7680;
2523
+ function getPathsWithAncestors(paths) {
2524
+ let result = /* @__PURE__ */ new Set();
2525
+ paths.forEach((path) => {
2526
+ if (!path.startsWith("/")) {
2527
+ path = `/${path}`;
2528
+ }
2529
+ for (let i = 1; i < path.length; i++) {
2530
+ if (path[i] === "/") {
2531
+ result.add(path.slice(0, i));
2532
+ }
2533
+ }
2534
+ result.add(path);
2535
+ });
2536
+ return Array.from(result);
2537
+ }
2538
+
2451
2539
  // lib/actions.ts
2452
- function throwIfPotentialCSRFAttack(headers, allowedActionOrigins) {
2453
- let originHeader = headers.get("origin");
2540
+ function throwIfPotentialCSRFAttack(request, allowedActionOrigins) {
2541
+ let originHeader = request.headers.get("origin");
2454
2542
  let originDomain = null;
2455
2543
  try {
2456
2544
  originDomain = typeof originHeader === "string" && originHeader !== "null" ? new URL(originHeader).host : originHeader;
@@ -2459,18 +2547,12 @@ function throwIfPotentialCSRFAttack(headers, allowedActionOrigins) {
2459
2547
  `\`origin\` header is not a valid URL. Aborting the action.`
2460
2548
  );
2461
2549
  }
2462
- let host = parseHostHeader(headers);
2463
- if (originDomain && (!host || originDomain !== host.value)) {
2550
+ let host = new URL(request.url).host;
2551
+ if (originDomain && originDomain !== host) {
2464
2552
  if (!isAllowedOrigin(originDomain, allowedActionOrigins)) {
2465
- if (host) {
2466
- throw new Error(
2467
- `${host.type} header does not match \`origin\` header from a forwarded action request. Aborting the action.`
2468
- );
2469
- } else {
2470
- throw new Error(
2471
- "`x-forwarded-host` or `host` headers are not provided. One of these is needed to compare the `origin` header from a forwarded action request. Aborting the action."
2472
- );
2473
- }
2553
+ throw new Error(
2554
+ "The `request.url` host does not match `origin` header from a forwarded action request. Aborting the action."
2555
+ );
2474
2556
  }
2475
2557
  }
2476
2558
  }
@@ -2518,53 +2600,6 @@ function isAllowedOrigin(originDomain, allowedActionOrigins = []) {
2518
2600
  (allowedOrigin) => allowedOrigin && (allowedOrigin === originDomain || matchWildcardDomain(originDomain, allowedOrigin))
2519
2601
  );
2520
2602
  }
2521
- function parseHostHeader(headers) {
2522
- let forwardedHostHeader = headers.get("x-forwarded-host");
2523
- let forwardedHostValue = forwardedHostHeader?.split(",")[0]?.trim();
2524
- let hostHeader = headers.get("host");
2525
- return forwardedHostValue ? {
2526
- type: "x-forwarded-host",
2527
- value: forwardedHostValue
2528
- } : hostHeader ? {
2529
- type: "host",
2530
- value: hostHeader
2531
- } : void 0;
2532
- }
2533
-
2534
- // lib/errors.ts
2535
- var ERROR_DIGEST_BASE = "REACT_ROUTER_ERROR";
2536
- var ERROR_DIGEST_REDIRECT = "REDIRECT";
2537
- var ERROR_DIGEST_ROUTE_ERROR_RESPONSE = "ROUTE_ERROR_RESPONSE";
2538
- function createRedirectErrorDigest(response) {
2539
- return `${ERROR_DIGEST_BASE}:${ERROR_DIGEST_REDIRECT}:${JSON.stringify({
2540
- status: response.status,
2541
- statusText: response.statusText,
2542
- location: response.headers.get("Location"),
2543
- reloadDocument: response.headers.get("X-Remix-Reload-Document") === "true",
2544
- replace: response.headers.get("X-Remix-Replace") === "true"
2545
- })}`;
2546
- }
2547
- function createRouteErrorResponseDigest(response) {
2548
- let status = 500;
2549
- let statusText = "";
2550
- let data2;
2551
- if (isDataWithResponseInit(response)) {
2552
- status = response.init?.status ?? status;
2553
- statusText = response.init?.statusText ?? statusText;
2554
- data2 = response.data;
2555
- } else {
2556
- status = response.status;
2557
- statusText = response.statusText;
2558
- data2 = void 0;
2559
- }
2560
- return `${ERROR_DIGEST_BASE}:${ERROR_DIGEST_ROUTE_ERROR_RESPONSE}:${JSON.stringify(
2561
- {
2562
- status,
2563
- statusText,
2564
- data: data2
2565
- }
2566
- )}`;
2567
- }
2568
2603
 
2569
2604
  // lib/server-runtime/urls.ts
2570
2605
  function getNormalizedPath(request, basename, future) {
@@ -2636,7 +2671,7 @@ var replace2 = (...args) => {
2636
2671
  };
2637
2672
  var cachedResolvePromise = (
2638
2673
  // @ts-expect-error - on 18 types, requires 19.
2639
- React2.cache(async (resolve) => {
2674
+ React3.cache(async (resolve) => {
2640
2675
  return Promise.allSettled([resolve]).then((r) => r[0]);
2641
2676
  })
2642
2677
  );
@@ -2651,13 +2686,13 @@ var Await = async ({
2651
2686
  throw resolved.reason;
2652
2687
  }
2653
2688
  if (resolved.status === "rejected") {
2654
- return React2.createElement(UNSAFE_AwaitContextProvider, {
2655
- children: React2.createElement(React2.Fragment, null, errorElement),
2689
+ return React3.createElement(UNSAFE_AwaitContextProvider, {
2690
+ children: React3.createElement(React3.Fragment, null, errorElement),
2656
2691
  value: { _tracked: true, _error: resolved.reason }
2657
2692
  });
2658
2693
  }
2659
2694
  const toRender = typeof children === "function" ? children(resolved.value) : children;
2660
- return React2.createElement(UNSAFE_AwaitContextProvider, {
2695
+ return React3.createElement(UNSAFE_AwaitContextProvider, {
2661
2696
  children: toRender,
2662
2697
  value: { _tracked: true, _data: resolved.value }
2663
2698
  });
@@ -2746,6 +2781,13 @@ async function matchRSCServerRequest({
2746
2781
  return response;
2747
2782
  }
2748
2783
  async function generateManifestResponse(routes, basename, request, generateResponse, temporaryReferences, routeDiscovery) {
2784
+ let url = new URL(request.url);
2785
+ if (url.toString().length > URL_LIMIT) {
2786
+ return new Response(null, {
2787
+ statusText: "Bad Request",
2788
+ status: 400
2789
+ });
2790
+ }
2749
2791
  if (routeDiscovery?.mode === "initial") {
2750
2792
  let payload2 = {
2751
2793
  type: "manifest",
@@ -2763,7 +2805,6 @@ async function generateManifestResponse(routes, basename, request, generateRespo
2763
2805
  { temporaryReferences, onError: defaultOnError }
2764
2806
  );
2765
2807
  }
2766
- let url = new URL(request.url);
2767
2808
  let pathParam = url.searchParams.get("paths");
2768
2809
  let pathnames = pathParam ? pathParam.split(",").filter(Boolean) : [url.pathname.replace(/\.manifest$/, "")];
2769
2810
  let routeIds = /* @__PURE__ */ new Set();
@@ -2966,7 +3007,7 @@ async function generateRenderResponse(request, routes, basename, isDataRequest,
2966
3007
  let potentialCSRFAttackError;
2967
3008
  if (isMutationMethod(request.method)) {
2968
3009
  try {
2969
- throwIfPotentialCSRFAttack(request.headers, allowedActionOrigins);
3010
+ throwIfPotentialCSRFAttack(request, allowedActionOrigins);
2970
3011
  ctx.runningAction = true;
2971
3012
  let result2 = await processServerAction(
2972
3013
  request,
@@ -3194,7 +3235,7 @@ async function getRenderPayload(baseRenderPayload, routes, basename, routeIdsToL
3194
3235
  (patch) => !staticContext.matches.some((m) => m.route.id === patch.id)
3195
3236
  )
3196
3237
  ) : getAdditionalRoutePatches(
3197
- [staticContext.location.pathname],
3238
+ getPathsWithAncestors([staticContext.location.pathname]),
3198
3239
  routes,
3199
3240
  basename,
3200
3241
  staticContext.matches.map((m) => m.route.id)
@@ -3214,7 +3255,7 @@ async function getRSCRouteMatch({
3214
3255
  }) {
3215
3256
  const route = match.route;
3216
3257
  await explodeLazyRoute(route);
3217
- const Layout = route.Layout || React2.Fragment;
3258
+ const Layout = route.Layout || React3.Fragment;
3218
3259
  const Component = route.Component;
3219
3260
  const ErrorBoundary = route.ErrorBoundary;
3220
3261
  const HydrateFallback = route.HydrateFallback;
@@ -3224,12 +3265,12 @@ async function getRSCRouteMatch({
3224
3265
  let element = void 0;
3225
3266
  let shouldLoadRoute = !routeIdsToLoad || routeIdsToLoad.includes(route.id);
3226
3267
  if (Component && shouldLoadRoute) {
3227
- element = !isBelowErrorBoundary ? React2.createElement(
3268
+ element = !isBelowErrorBoundary ? React3.createElement(
3228
3269
  Layout,
3229
3270
  null,
3230
- isClientReference(Component) ? React2.createElement(WithComponentProps, {
3231
- children: React2.createElement(Component)
3232
- }) : React2.createElement(Component, {
3271
+ isClientReference(Component) ? React3.createElement(WithComponentProps, {
3272
+ children: React3.createElement(Component)
3273
+ }) : React3.createElement(Component, {
3233
3274
  loaderData,
3234
3275
  actionData,
3235
3276
  params,
@@ -3237,30 +3278,30 @@ async function getRSCRouteMatch({
3237
3278
  (match2) => convertRouteMatchToUiMatch(match2, staticContext.loaderData)
3238
3279
  )
3239
3280
  })
3240
- ) : React2.createElement(Outlet);
3281
+ ) : React3.createElement(Outlet);
3241
3282
  }
3242
3283
  let error = void 0;
3243
3284
  if (ErrorBoundary && staticContext.errors) {
3244
3285
  error = staticContext.errors[route.id];
3245
3286
  }
3246
- const errorElement = ErrorBoundary ? React2.createElement(
3287
+ const errorElement = ErrorBoundary ? React3.createElement(
3247
3288
  Layout,
3248
3289
  null,
3249
- isClientReference(ErrorBoundary) ? React2.createElement(WithErrorBoundaryProps, {
3250
- children: React2.createElement(ErrorBoundary)
3251
- }) : React2.createElement(ErrorBoundary, {
3290
+ isClientReference(ErrorBoundary) ? React3.createElement(WithErrorBoundaryProps, {
3291
+ children: React3.createElement(ErrorBoundary)
3292
+ }) : React3.createElement(ErrorBoundary, {
3252
3293
  loaderData,
3253
3294
  actionData,
3254
3295
  params,
3255
3296
  error
3256
3297
  })
3257
3298
  ) : void 0;
3258
- const hydrateFallbackElement = HydrateFallback ? React2.createElement(
3299
+ const hydrateFallbackElement = HydrateFallback ? React3.createElement(
3259
3300
  Layout,
3260
3301
  null,
3261
- isClientReference(HydrateFallback) ? React2.createElement(WithHydrateFallbackProps, {
3262
- children: React2.createElement(HydrateFallback)
3263
- }) : React2.createElement(HydrateFallback, {
3302
+ isClientReference(HydrateFallback) ? React3.createElement(WithHydrateFallbackProps, {
3303
+ children: React3.createElement(HydrateFallback)
3304
+ }) : React3.createElement(HydrateFallback, {
3264
3305
  loaderData,
3265
3306
  actionData,
3266
3307
  params
@@ -3297,11 +3338,11 @@ async function getRSCRouteMatch({
3297
3338
  }
3298
3339
  async function getManifestRoute(route) {
3299
3340
  await explodeLazyRoute(route);
3300
- const Layout = route.Layout || React2.Fragment;
3301
- const errorElement = route.ErrorBoundary ? React2.createElement(
3341
+ const Layout = route.Layout || React3.Fragment;
3342
+ const errorElement = route.ErrorBoundary ? React3.createElement(
3302
3343
  Layout,
3303
3344
  null,
3304
- React2.createElement(route.ErrorBoundary)
3345
+ React3.createElement(route.ErrorBoundary)
3305
3346
  ) : void 0;
3306
3347
  return {
3307
3348
  clientAction: route.clientAction,
@@ -3359,27 +3400,18 @@ async function getAdditionalRoutePatches(pathnames, routes, basename, matchedRou
3359
3400
  let patchRouteMatches = /* @__PURE__ */ new Map();
3360
3401
  let matchedPaths = /* @__PURE__ */ new Set();
3361
3402
  for (const pathname of pathnames) {
3362
- let segments = pathname.split("/").filter(Boolean);
3363
- let paths = ["/"];
3364
- segments.pop();
3365
- while (segments.length > 0) {
3366
- paths.push(`/${segments.join("/")}`);
3367
- segments.pop();
3368
- }
3369
- paths.forEach((path) => {
3370
- if (matchedPaths.has(path)) {
3403
+ if (matchedPaths.has(pathname)) {
3404
+ continue;
3405
+ }
3406
+ matchedPaths.add(pathname);
3407
+ let matches = matchRoutes(routes, pathname, basename) || [];
3408
+ matches.forEach((m, i) => {
3409
+ if (patchRouteMatches.get(m.route.id)) {
3371
3410
  return;
3372
3411
  }
3373
- matchedPaths.add(path);
3374
- let matches = matchRoutes(routes, path, basename) || [];
3375
- matches.forEach((m, i) => {
3376
- if (patchRouteMatches.get(m.route.id)) {
3377
- return;
3378
- }
3379
- patchRouteMatches.set(m.route.id, {
3380
- ...m.route,
3381
- parentId: matches[i - 1]?.route.id
3382
- });
3412
+ patchRouteMatches.set(m.route.id, {
3413
+ ...m.route,
3414
+ parentId: matches[i - 1]?.route.id
3383
3415
  });
3384
3416
  });
3385
3417
  }
@@ -3491,15 +3523,6 @@ function byteStringToUint8Array(byteString) {
3491
3523
  return array;
3492
3524
  }
3493
3525
 
3494
- // lib/server-runtime/warnings.ts
3495
- var alreadyWarned = {};
3496
- function warnOnce(condition, message) {
3497
- if (!condition && !alreadyWarned[message]) {
3498
- alreadyWarned[message] = true;
3499
- console.warn(message);
3500
- }
3501
- }
3502
-
3503
3526
  // lib/server-runtime/cookies.ts
3504
3527
  var createCookie = (name, cookieOptions = {}) => {
3505
3528
  let { secrets = [], ...options } = {
@@ -1,17 +1,17 @@
1
- import { Z as RouteModules, z as DataStrategyFunction, p as MiddlewareEnabled, c as RouterContextProvider, q as AppLoadContext, T as To, L as Location, P as Params, U as UIMatch, v as Action, _ as SerializeFrom, $ as PathPattern, a0 as PathMatch, a1 as ParamParseKey, K as Path, r as RouteObject, G as GetLoaderData, l as GetActionData, O as InitialEntry, W as IndexRouteObject, d as LoaderFunction, A as ActionFunction, M as MetaFunction, b as LinksFunction, Q as NonIndexRouteObject, a2 as Equal, B as PatchRoutesOnNavigationFunction, E as DataRouteObject, a as ClientLoaderFunction } from './data-U8FS-wNn.mjs';
2
- export { a3 as ActionFunctionArgs, a4 as BaseRouteObject, C as ClientActionFunction, as as ClientActionFunctionArgs, at as ClientLoaderFunctionArgs, w as DataRouteMatch, a5 as DataStrategyFunctionArgs, a6 as DataStrategyMatch, D as DataStrategyResult, a8 as ErrorResponse, n as FormEncType, a9 as FormMethod, ay as Future, m as HTMLFormMethod, au as HeadersArgs, H as HeadersFunction, ax as HtmlLinkDescriptor, V as LazyRouteFunction, e as LinkDescriptor, o as LoaderFunctionArgs, av as MetaArgs, g as MetaDescriptor, aa as MiddlewareFunction, aw as PageLinkDescriptor, ab as PatchRoutesOnNavigationFunctionArgs, ac as PathParam, ad as RedirectFunction, X as RouteMatch, ae as RouterContext, S as ShouldRevalidateFunction, af as ShouldRevalidateFunctionArgs, a7 as UNSAFE_DataWithResponseInit, aE as UNSAFE_ErrorResponseImpl, aB as UNSAFE_createBrowserHistory, aC as UNSAFE_createHashHistory, aA as UNSAFE_createMemoryHistory, aD as UNSAFE_invariant, ag as createContext, ah as createPath, aj as data, ak as generatePath, al as isRouteErrorResponse, am as matchPath, an as matchRoutes, ai as parsePath, ao as redirect, ap as redirectDocument, aq as replace, ar as resolvePath, az as unstable_SerializesTo } from './data-U8FS-wNn.mjs';
3
- import { c as Router, N as NavigateOptions, d as NavigationStates, B as BlockerFunction, e as Blocker, f as RelativeRoutingType, H as HydrationState, g as RouterState } from './context-CmHpk1Ws.mjs';
4
- export { K as Await, w as AwaitProps, C as ClientInstrumentation, b as ClientOnErrorFunction, F as Fetcher, G as GetScrollPositionFunction, h as GetScrollRestorationKeyFunction, u as IDLE_BLOCKER, t as IDLE_FETCHER, s as IDLE_NAVIGATION, x as IndexRouteProps, I as InstrumentRequestHandlerFunction, q as InstrumentRouteFunction, p as InstrumentRouterFunction, r as InstrumentationHandlerResult, L as LayoutRouteProps, Q as MemoryRouter, M as MemoryRouterOpts, y as MemoryRouterProps, T as Navigate, z as NavigateProps, j as Navigation, v as Navigator, U as Outlet, O as OutletProps, P as PathRouteProps, n as RevalidationState, V as Route, D as RouteProps, W as Router, m as RouterFetchOptions, R as RouterInit, l as RouterNavigateOptions, E as RouterProps, X as RouterProvider, a as RouterProviderProps, k as RouterSubscriber, Y as Routes, J as RoutesProps, o as ServerInstrumentation, S as StaticHandler, i as StaticHandlerContext, A as UNSAFE_AwaitContextProvider, a2 as UNSAFE_DataRouterContext, a3 as UNSAFE_DataRouterStateContext, a4 as UNSAFE_FetchersContext, a5 as UNSAFE_LocationContext, a6 as UNSAFE_NavigationContext, a7 as UNSAFE_RouteContext, a8 as UNSAFE_ViewTransitionContext, ab as UNSAFE_WithComponentProps, af as UNSAFE_WithErrorBoundaryProps, ad as UNSAFE_WithHydrateFallbackProps, a1 as UNSAFE_createRouter, a9 as UNSAFE_hydrationRouteProperties, aa as UNSAFE_mapRouteProperties, ac as UNSAFE_withComponentProps, ag as UNSAFE_withErrorBoundaryProps, ae as UNSAFE_withHydrateFallbackProps, Z as createMemoryRouter, _ as createRoutesFromChildren, $ as createRoutesFromElements, a0 as renderMatches } from './context-CmHpk1Ws.mjs';
1
+ import { Z as RouteModules, z as DataStrategyFunction, p as MiddlewareEnabled, c as RouterContextProvider, q as AppLoadContext, T as To, L as Location, P as Params, U as UIMatch, v as Action, _ as SerializeFrom, $ as PathPattern, a0 as PathMatch, a1 as ParamParseKey, K as Path, r as RouteObject, G as GetLoaderData, l as GetActionData, O as InitialEntry, W as IndexRouteObject, d as LoaderFunction, A as ActionFunction, M as MetaFunction, b as LinksFunction, Q as NonIndexRouteObject, a2 as Equal, B as PatchRoutesOnNavigationFunction, E as DataRouteObject, a as ClientLoaderFunction } from './data-DEjBmEfD.mjs';
2
+ export { a3 as ActionFunctionArgs, a4 as BaseRouteObject, C as ClientActionFunction, as as ClientActionFunctionArgs, at as ClientLoaderFunctionArgs, w as DataRouteMatch, a5 as DataStrategyFunctionArgs, a6 as DataStrategyMatch, D as DataStrategyResult, a8 as ErrorResponse, n as FormEncType, a9 as FormMethod, ay as Future, m as HTMLFormMethod, au as HeadersArgs, H as HeadersFunction, ax as HtmlLinkDescriptor, V as LazyRouteFunction, e as LinkDescriptor, o as LoaderFunctionArgs, av as MetaArgs, g as MetaDescriptor, aa as MiddlewareFunction, aw as PageLinkDescriptor, ab as PatchRoutesOnNavigationFunctionArgs, ac as PathParam, ad as RedirectFunction, X as RouteMatch, ae as RouterContext, S as ShouldRevalidateFunction, af as ShouldRevalidateFunctionArgs, a7 as UNSAFE_DataWithResponseInit, aE as UNSAFE_ErrorResponseImpl, aB as UNSAFE_createBrowserHistory, aC as UNSAFE_createHashHistory, aA as UNSAFE_createMemoryHistory, aD as UNSAFE_invariant, ag as createContext, ah as createPath, aj as data, ak as generatePath, al as isRouteErrorResponse, am as matchPath, an as matchRoutes, ai as parsePath, ao as redirect, ap as redirectDocument, aq as replace, ar as resolvePath, az as unstable_SerializesTo } from './data-DEjBmEfD.mjs';
3
+ import { c as Router, N as NavigateOptions, d as NavigationStates, B as BlockerFunction, e as Blocker, f as RelativeRoutingType, H as HydrationState } from './context-CeD5LmaF.mjs';
4
+ export { K as Await, w as AwaitProps, C as ClientInstrumentation, b as ClientOnErrorFunction, F as Fetcher, G as GetScrollPositionFunction, g as GetScrollRestorationKeyFunction, u as IDLE_BLOCKER, t as IDLE_FETCHER, s as IDLE_NAVIGATION, x as IndexRouteProps, I as InstrumentRequestHandlerFunction, q as InstrumentRouteFunction, p as InstrumentRouterFunction, r as InstrumentationHandlerResult, L as LayoutRouteProps, Q as MemoryRouter, M as MemoryRouterOpts, y as MemoryRouterProps, T as Navigate, z as NavigateProps, i as Navigation, v as Navigator, U as Outlet, O as OutletProps, P as PathRouteProps, n as RevalidationState, V as Route, D as RouteProps, W as Router, m as RouterFetchOptions, R as RouterInit, l as RouterNavigateOptions, E as RouterProps, X as RouterProvider, a as RouterProviderProps, j as RouterState, k as RouterSubscriber, Y as Routes, J as RoutesProps, o as ServerInstrumentation, S as StaticHandler, h as StaticHandlerContext, A as UNSAFE_AwaitContextProvider, a2 as UNSAFE_DataRouterContext, a3 as UNSAFE_DataRouterStateContext, a4 as UNSAFE_FetchersContext, a5 as UNSAFE_LocationContext, a6 as UNSAFE_NavigationContext, a7 as UNSAFE_RouteContext, a8 as UNSAFE_ViewTransitionContext, ab as UNSAFE_WithComponentProps, af as UNSAFE_WithErrorBoundaryProps, ad as UNSAFE_WithHydrateFallbackProps, a1 as UNSAFE_createRouter, a9 as UNSAFE_hydrationRouteProperties, aa as UNSAFE_mapRouteProperties, ac as UNSAFE_withComponentProps, ag as UNSAFE_withErrorBoundaryProps, ae as UNSAFE_withHydrateFallbackProps, Z as createMemoryRouter, _ as createRoutesFromChildren, $ as createRoutesFromElements, a0 as renderMatches } from './context-CeD5LmaF.mjs';
5
5
  import * as React from 'react';
6
6
  import React__default, { ReactElement } from 'react';
7
- import { a as RouteModules$1, P as Pages } from './register-CqK96Zfk.mjs';
8
- export { b as Register } from './register-CqK96Zfk.mjs';
9
- import { A as AssetsManifest, S as ServerBuild, E as EntryContext, F as FutureConfig } from './index-react-server-client-DPrDrCew.mjs';
10
- export { l as BrowserRouter, B as BrowserRouterProps, D as DOMRouterOpts, a1 as DiscoverBehavior, c as FetcherFormProps, h as FetcherSubmitFunction, G as FetcherSubmitOptions, i as FetcherWithComponents, q as Form, d as FormProps, a2 as HandleDataRequestFunction, a3 as HandleDocumentRequestFunction, a4 as HandleErrorFunction, m as HashRouter, H as HashRouterProps, a as HistoryRouterProps, n as Link, L as LinkProps, X as Links, _ as LinksProps, W as Meta, p as NavLink, N as NavLinkProps, b as NavLinkRenderProps, P as ParamKeyValuePair, a0 as PrefetchBehavior, Z as PrefetchPageLinks, Y as Scripts, $ as ScriptsProps, r as ScrollRestoration, e as ScrollRestorationProps, a5 as ServerEntryModule, f as SetURLSearchParams, T as StaticRouter, M as StaticRouterProps, V as StaticRouterProvider, O as StaticRouterProviderProps, g as SubmitFunction, I as SubmitOptions, J as SubmitTarget, a6 as UNSAFE_FrameworkContext, a7 as UNSAFE_createClientRoutes, a8 as UNSAFE_createClientRoutesWithHMRRevalidationOptOut, a9 as UNSAFE_shouldHydrateRouteLoader, aa as UNSAFE_useScrollRestoration, U as URLSearchParamsInit, j as createBrowserRouter, k as createHashRouter, K as createSearchParams, Q as createStaticHandler, R as createStaticRouter, o as unstable_HistoryRouter, z as unstable_usePrompt, y as useBeforeUnload, w as useFetcher, x as useFetchers, v as useFormAction, u as useLinkClickHandler, s as useSearchParams, t as useSubmit, C as useViewTransitionState } from './index-react-server-client-DPrDrCew.mjs';
7
+ import { a as RouteModules$1, P as Pages } from './register-CmkRspdl.mjs';
8
+ export { b as Register } from './register-CmkRspdl.mjs';
9
+ import { A as AssetsManifest, S as ServerBuild, E as EntryContext, F as FutureConfig } from './index-react-server-client-CACgcj2J.mjs';
10
+ export { l as BrowserRouter, B as BrowserRouterProps, D as DOMRouterOpts, a1 as DiscoverBehavior, c as FetcherFormProps, h as FetcherSubmitFunction, G as FetcherSubmitOptions, i as FetcherWithComponents, q as Form, d as FormProps, a2 as HandleDataRequestFunction, a3 as HandleDocumentRequestFunction, a4 as HandleErrorFunction, m as HashRouter, H as HashRouterProps, a as HistoryRouterProps, n as Link, L as LinkProps, X as Links, _ as LinksProps, W as Meta, p as NavLink, N as NavLinkProps, b as NavLinkRenderProps, P as ParamKeyValuePair, a0 as PrefetchBehavior, Z as PrefetchPageLinks, Y as Scripts, $ as ScriptsProps, r as ScrollRestoration, e as ScrollRestorationProps, a5 as ServerEntryModule, f as SetURLSearchParams, T as StaticRouter, M as StaticRouterProps, V as StaticRouterProvider, O as StaticRouterProviderProps, g as SubmitFunction, I as SubmitOptions, J as SubmitTarget, a6 as UNSAFE_FrameworkContext, a7 as UNSAFE_createClientRoutes, a8 as UNSAFE_createClientRoutesWithHMRRevalidationOptOut, a9 as UNSAFE_shouldHydrateRouteLoader, aa as UNSAFE_useScrollRestoration, U as URLSearchParamsInit, j as createBrowserRouter, k as createHashRouter, K as createSearchParams, Q as createStaticHandler, R as createStaticRouter, o as unstable_HistoryRouter, z as unstable_usePrompt, y as useBeforeUnload, w as useFetcher, x as useFetchers, v as useFormAction, u as useLinkClickHandler, s as useSearchParams, t as useSubmit, C as useViewTransitionState } from './index-react-server-client-CACgcj2J.mjs';
11
11
  import { ParseOptions, SerializeOptions } from 'cookie';
12
12
  export { ParseOptions as CookieParseOptions, SerializeOptions as CookieSerializeOptions } from 'cookie';
13
- import { e as RSCPayload, g as getRequest, m as matchRSCServerRequest } from './browser-CGcs-0pD.mjs';
14
- export { B as unstable_BrowserCreateFromReadableStreamFunction, D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, E as unstable_EncodeReplyFunction, L as unstable_LoadServerActionFunction, h as unstable_RSCHydratedRouterProps, d as unstable_RSCManifestPayload, i as unstable_RSCMatch, f as unstable_RSCRenderPayload, n as unstable_RSCRouteConfig, l as unstable_RSCRouteConfigEntry, j as unstable_RSCRouteManifest, k as unstable_RSCRouteMatch } from './browser-CGcs-0pD.mjs';
13
+ import { e as RSCPayload, g as getRequest, m as matchRSCServerRequest } from './browser-DBmQ1yAR.mjs';
14
+ export { B as unstable_BrowserCreateFromReadableStreamFunction, D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, E as unstable_EncodeReplyFunction, L as unstable_LoadServerActionFunction, h as unstable_RSCHydratedRouterProps, d as unstable_RSCManifestPayload, i as unstable_RSCMatch, f as unstable_RSCRenderPayload, n as unstable_RSCRouteConfig, l as unstable_RSCRouteConfigEntry, j as unstable_RSCRouteManifest, k as unstable_RSCRouteMatch } from './browser-DBmQ1yAR.mjs';
15
15
 
16
16
  declare const SingleFetchRedirectSymbol: unique symbol;
17
17
  declare function getTurboStreamSingleFetchDataStrategy(getRouter: () => Router, manifest: AssetsManifest, routeModules: RouteModules, ssr: boolean, basename: string | undefined, trailingSlashAware: boolean): DataStrategyFunction;
@@ -982,7 +982,10 @@ interface ServerRouterProps {
982
982
  url: string | URL;
983
983
  /**
984
984
  * An optional `nonce` for [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP)
985
- * compliance, used to allow inline scripts to run safely.
985
+ * compliance. This is applied to inline scripts rendered by React Router and
986
+ * used as the default for nonce-aware components such as {@link Links | `<Links>`},
987
+ * {@link Scripts | `<Scripts>`}, and {@link ScrollRestoration | `<ScrollRestoration>`}
988
+ * when they do not provide their own `nonce`.
986
989
  */
987
990
  nonce?: string;
988
991
  }
@@ -1424,8 +1427,6 @@ declare function RSCDefaultRootErrorBoundary({ hasRootLayout, }: {
1424
1427
  hasRootLayout: boolean;
1425
1428
  }): React__default.JSX.Element;
1426
1429
 
1427
- declare function deserializeErrors(errors: RouterState["errors"]): RouterState["errors"];
1428
-
1429
1430
  type RemixErrorBoundaryProps = React.PropsWithChildren<{
1430
1431
  location: Location;
1431
1432
  isOutsideRemixApp?: boolean;
@@ -1475,4 +1476,4 @@ declare function getHydrationData({ state, routes, getRouteInfo, location, basen
1475
1476
  declare const unstable_getRequest: typeof getRequest;
1476
1477
  declare const unstable_matchRSCServerRequest: typeof matchRSCServerRequest;
1477
1478
 
1478
- export { ActionFunction, AppLoadContext, Blocker, BlockerFunction, ClientLoaderFunction, type Cookie, type CookieOptions, type CookieSignatureOptions, type CreateRequestHandlerFunction, DataRouteObject, Router as DataRouter, DataStrategyFunction, EntryContext, type FlashSessionData, HydrationState, IndexRouteObject, InitialEntry, type IsCookieFunction, type IsSessionFunction, LinksFunction, LoaderFunction, Location, MetaFunction, type NavigateFunction, NavigateOptions, NavigationStates, Action as NavigationType, NonIndexRouteObject, ParamParseKey, Params, PatchRoutesOnNavigationFunction, Path, PathMatch, PathPattern, RelativeRoutingType, type RequestHandler, RouteObject, RouterContextProvider, RouterState, type RoutesTestStubProps, ServerBuild, ServerRouter, type ServerRouterProps, type Session, type SessionData, type SessionIdStorageStrategy, type SessionStorage, To, UIMatch, AssetsManifest as UNSAFE_AssetsManifest, MiddlewareEnabled as UNSAFE_MiddlewareEnabled, RSCDefaultRootErrorBoundary as UNSAFE_RSCDefaultRootErrorBoundary, RemixErrorBoundary as UNSAFE_RemixErrorBoundary, RouteModules as UNSAFE_RouteModules, ServerMode as UNSAFE_ServerMode, SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol, decodeViaTurboStream as UNSAFE_decodeViaTurboStream, deserializeErrors as UNSAFE_deserializeErrors, getHydrationData as UNSAFE_getHydrationData, getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction, getTurboStreamSingleFetchDataStrategy as UNSAFE_getTurboStreamSingleFetchDataStrategy, useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery, createCookie, createCookieSessionStorage, createMemorySessionStorage, createRequestHandler, createRoutesStub, createSession, createSessionStorage, href, isCookie, isSession, RSCPayload as unstable_RSCPayload, RSCStaticRouter as unstable_RSCStaticRouter, type RSCStaticRouterProps as unstable_RSCStaticRouterProps, type unstable_RouterState, type unstable_RouterStateActiveVariant, type unstable_RouterStatePendingVariant, type SSRCreateFromReadableStreamFunction as unstable_SSRCreateFromReadableStreamFunction, unstable_getRequest, unstable_matchRSCServerRequest, routeRSCServerRequest as unstable_routeRSCServerRequest, setDevServerHooks as unstable_setDevServerHooks, useRoute as unstable_useRoute, useRouterState as unstable_useRouterState, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes };
1479
+ export { ActionFunction, AppLoadContext, Blocker, BlockerFunction, ClientLoaderFunction, type Cookie, type CookieOptions, type CookieSignatureOptions, type CreateRequestHandlerFunction, DataRouteObject, Router as DataRouter, DataStrategyFunction, EntryContext, type FlashSessionData, HydrationState, IndexRouteObject, InitialEntry, type IsCookieFunction, type IsSessionFunction, LinksFunction, LoaderFunction, Location, MetaFunction, type NavigateFunction, NavigateOptions, NavigationStates, Action as NavigationType, NonIndexRouteObject, ParamParseKey, Params, PatchRoutesOnNavigationFunction, Path, PathMatch, PathPattern, RelativeRoutingType, type RequestHandler, RouteObject, RouterContextProvider, type RoutesTestStubProps, ServerBuild, ServerRouter, type ServerRouterProps, type Session, type SessionData, type SessionIdStorageStrategy, type SessionStorage, To, UIMatch, AssetsManifest as UNSAFE_AssetsManifest, MiddlewareEnabled as UNSAFE_MiddlewareEnabled, RSCDefaultRootErrorBoundary as UNSAFE_RSCDefaultRootErrorBoundary, RemixErrorBoundary as UNSAFE_RemixErrorBoundary, RouteModules as UNSAFE_RouteModules, ServerMode as UNSAFE_ServerMode, SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol, decodeViaTurboStream as UNSAFE_decodeViaTurboStream, getHydrationData as UNSAFE_getHydrationData, getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction, getTurboStreamSingleFetchDataStrategy as UNSAFE_getTurboStreamSingleFetchDataStrategy, useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery, createCookie, createCookieSessionStorage, createMemorySessionStorage, createRequestHandler, createRoutesStub, createSession, createSessionStorage, href, isCookie, isSession, RSCPayload as unstable_RSCPayload, RSCStaticRouter as unstable_RSCStaticRouter, type RSCStaticRouterProps as unstable_RSCStaticRouterProps, type unstable_RouterState, type unstable_RouterStateActiveVariant, type unstable_RouterStatePendingVariant, type SSRCreateFromReadableStreamFunction as unstable_SSRCreateFromReadableStreamFunction, unstable_getRequest, unstable_matchRSCServerRequest, routeRSCServerRequest as unstable_routeRSCServerRequest, setDevServerHooks as unstable_setDevServerHooks, useRoute as unstable_useRoute, useRouterState as unstable_useRouterState, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes };
@@ -1,17 +1,17 @@
1
- import { O as RouteModules, l as DataStrategyFunction, t as MiddlewareEnabled, c as RouterContextProvider, u as AppLoadContext, T as To, L as Location, P as Params, U as UIMatch, i as Action, Q as SerializeFrom, V as PathPattern, W as PathMatch, X as ParamParseKey, r as Path, e as RouteObject, G as GetLoaderData, K as GetActionData, Y as InitialEntry, Z as IndexRouteObject, d as LoaderFunction, A as ActionFunction, M as MetaFunction, b as LinksFunction, _ as NonIndexRouteObject, $ as Equal, m as PatchRoutesOnNavigationFunction, n as DataRouteObject, a as ClientLoaderFunction } from './data-D4xhSy90.js';
2
- export { a0 as ActionFunctionArgs, a1 as BaseRouteObject, C as ClientActionFunction, ar as ClientActionFunctionArgs, as as ClientLoaderFunctionArgs, D as DataRouteMatch, a2 as DataStrategyFunctionArgs, a3 as DataStrategyMatch, I as DataStrategyResult, a5 as ErrorResponse, F as FormEncType, a6 as FormMethod, ax as Future, q as HTMLFormMethod, at as HeadersArgs, H as HeadersFunction, aw as HtmlLinkDescriptor, a7 as LazyRouteFunction, v as LinkDescriptor, s as LoaderFunctionArgs, au as MetaArgs, y as MetaDescriptor, a8 as MiddlewareFunction, av as PageLinkDescriptor, a9 as PatchRoutesOnNavigationFunctionArgs, aa as PathParam, ab as RedirectFunction, ac as RouteMatch, ad as RouterContext, S as ShouldRevalidateFunction, ae as ShouldRevalidateFunctionArgs, a4 as UNSAFE_DataWithResponseInit, aD as UNSAFE_ErrorResponseImpl, aA as UNSAFE_createBrowserHistory, aB as UNSAFE_createHashHistory, az as UNSAFE_createMemoryHistory, aC as UNSAFE_invariant, af as createContext, ag as createPath, ai as data, aj as generatePath, ak as isRouteErrorResponse, al as matchPath, am as matchRoutes, ah as parsePath, an as redirect, ao as redirectDocument, ap as replace, aq as resolvePath, ay as unstable_SerializesTo } from './data-D4xhSy90.js';
3
- import { a as Router, N as NavigationStates, B as BlockerFunction, b as Blocker, c as RelativeRoutingType, H as HydrationState, d as RouterState } from './instrumentation-1q4YhLGP.js';
4
- export { C as ClientInstrumentation, F as Fetcher, G as GetScrollPositionFunction, e as GetScrollRestorationKeyFunction, r as IDLE_BLOCKER, q as IDLE_FETCHER, p as IDLE_NAVIGATION, I as InstrumentRequestHandlerFunction, n as InstrumentRouteFunction, m as InstrumentRouterFunction, o as InstrumentationHandlerResult, g as Navigation, k as RevalidationState, j as RouterFetchOptions, R as RouterInit, i as RouterNavigateOptions, h as RouterSubscriber, l as ServerInstrumentation, S as StaticHandler, f as StaticHandlerContext, s as UNSAFE_createRouter } from './instrumentation-1q4YhLGP.js';
5
- import { A as AssetsManifest, S as ServerBuild, N as NavigateOptions, E as EntryContext, F as FutureConfig } from './index-react-server-client-CwU9bE5R.js';
6
- export { i as Await, c as AwaitProps, W as BrowserRouter, B as BrowserRouterProps, C as ClientOnErrorFunction, D as DOMRouterOpts, at as DiscoverBehavior, y as FetcherFormProps, Q as FetcherSubmitFunction, aa as FetcherSubmitOptions, T as FetcherWithComponents, $ as Form, z as FormProps, au as HandleDataRequestFunction, av as HandleDocumentRequestFunction, aw as HandleErrorFunction, X as HashRouter, H as HashRouterProps, u as HistoryRouterProps, I as IndexRouteProps, L as LayoutRouteProps, Y as Link, v as LinkProps, an as Links, aq as LinksProps, j as MemoryRouter, M as MemoryRouterOpts, d as MemoryRouterProps, am as Meta, _ as NavLink, w as NavLinkProps, x as NavLinkRenderProps, k as Navigate, e as NavigateProps, a as Navigator, l as Outlet, O as OutletProps, ab as ParamKeyValuePair, P as PathRouteProps, as as PrefetchBehavior, ap as PrefetchPageLinks, m as Route, R as RouteProps, n as Router, f as RouterProps, o as RouterProvider, g as RouterProviderProps, p as Routes, h as RoutesProps, ao as Scripts, ar as ScriptsProps, a0 as ScrollRestoration, G as ScrollRestorationProps, ax as ServerEntryModule, J as SetURLSearchParams, ak as StaticRouter, ag as StaticRouterProps, al as StaticRouterProvider, ah as StaticRouterProviderProps, K as SubmitFunction, ac as SubmitOptions, ae as SubmitTarget, b as UNSAFE_AwaitContextProvider, ay as UNSAFE_DataRouterContext, az as UNSAFE_DataRouterStateContext, aA as UNSAFE_FetchersContext, aN as UNSAFE_FrameworkContext, aB as UNSAFE_LocationContext, aC as UNSAFE_NavigationContext, aD as UNSAFE_RouteContext, aE as UNSAFE_ViewTransitionContext, aH as UNSAFE_WithComponentProps, aL as UNSAFE_WithErrorBoundaryProps, aJ as UNSAFE_WithHydrateFallbackProps, aO as UNSAFE_createClientRoutes, aP as UNSAFE_createClientRoutesWithHMRRevalidationOptOut, aF as UNSAFE_hydrationRouteProperties, aG as UNSAFE_mapRouteProperties, aQ as UNSAFE_shouldHydrateRouteLoader, aR as UNSAFE_useScrollRestoration, aI as UNSAFE_withComponentProps, aM as UNSAFE_withErrorBoundaryProps, aK as UNSAFE_withHydrateFallbackProps, ad as URLSearchParamsInit, U as createBrowserRouter, V as createHashRouter, q as createMemoryRouter, r as createRoutesFromChildren, s as createRoutesFromElements, af as createSearchParams, ai as createStaticHandler, aj as createStaticRouter, t as renderMatches, Z as unstable_HistoryRouter, a8 as unstable_usePrompt, a7 as useBeforeUnload, a5 as useFetcher, a6 as useFetchers, a4 as useFormAction, a1 as useLinkClickHandler, a2 as useSearchParams, a3 as useSubmit, a9 as useViewTransitionState } from './index-react-server-client-CwU9bE5R.js';
1
+ import { O as RouteModules, l as DataStrategyFunction, t as MiddlewareEnabled, c as RouterContextProvider, u as AppLoadContext, T as To, L as Location, P as Params, U as UIMatch, i as Action, Q as SerializeFrom, V as PathPattern, W as PathMatch, X as ParamParseKey, r as Path, e as RouteObject, G as GetLoaderData, K as GetActionData, Y as InitialEntry, Z as IndexRouteObject, d as LoaderFunction, A as ActionFunction, M as MetaFunction, b as LinksFunction, _ as NonIndexRouteObject, $ as Equal, m as PatchRoutesOnNavigationFunction, n as DataRouteObject, a as ClientLoaderFunction } from './data-CjO11-hU.js';
2
+ export { a0 as ActionFunctionArgs, a1 as BaseRouteObject, C as ClientActionFunction, ar as ClientActionFunctionArgs, as as ClientLoaderFunctionArgs, D as DataRouteMatch, a2 as DataStrategyFunctionArgs, a3 as DataStrategyMatch, I as DataStrategyResult, a5 as ErrorResponse, F as FormEncType, a6 as FormMethod, ax as Future, q as HTMLFormMethod, at as HeadersArgs, H as HeadersFunction, aw as HtmlLinkDescriptor, a7 as LazyRouteFunction, v as LinkDescriptor, s as LoaderFunctionArgs, au as MetaArgs, y as MetaDescriptor, a8 as MiddlewareFunction, av as PageLinkDescriptor, a9 as PatchRoutesOnNavigationFunctionArgs, aa as PathParam, ab as RedirectFunction, ac as RouteMatch, ad as RouterContext, S as ShouldRevalidateFunction, ae as ShouldRevalidateFunctionArgs, a4 as UNSAFE_DataWithResponseInit, aD as UNSAFE_ErrorResponseImpl, aA as UNSAFE_createBrowserHistory, aB as UNSAFE_createHashHistory, az as UNSAFE_createMemoryHistory, aC as UNSAFE_invariant, af as createContext, ag as createPath, ai as data, aj as generatePath, ak as isRouteErrorResponse, al as matchPath, am as matchRoutes, ah as parsePath, an as redirect, ao as redirectDocument, ap as replace, aq as resolvePath, ay as unstable_SerializesTo } from './data-CjO11-hU.js';
3
+ import { a as Router, N as NavigationStates, B as BlockerFunction, b as Blocker, c as RelativeRoutingType, H as HydrationState } from './instrumentation-Dkmpzd13.js';
4
+ export { C as ClientInstrumentation, F as Fetcher, G as GetScrollPositionFunction, d as GetScrollRestorationKeyFunction, r as IDLE_BLOCKER, q as IDLE_FETCHER, p as IDLE_NAVIGATION, I as InstrumentRequestHandlerFunction, n as InstrumentRouteFunction, m as InstrumentRouterFunction, o as InstrumentationHandlerResult, f as Navigation, k as RevalidationState, j as RouterFetchOptions, R as RouterInit, i as RouterNavigateOptions, g as RouterState, h as RouterSubscriber, l as ServerInstrumentation, S as StaticHandler, e as StaticHandlerContext, s as UNSAFE_createRouter } from './instrumentation-Dkmpzd13.js';
5
+ import { A as AssetsManifest, S as ServerBuild, N as NavigateOptions, E as EntryContext, F as FutureConfig } from './index-react-server-client-3ykjivgQ.js';
6
+ export { i as Await, c as AwaitProps, W as BrowserRouter, B as BrowserRouterProps, C as ClientOnErrorFunction, D as DOMRouterOpts, at as DiscoverBehavior, y as FetcherFormProps, Q as FetcherSubmitFunction, aa as FetcherSubmitOptions, T as FetcherWithComponents, $ as Form, z as FormProps, au as HandleDataRequestFunction, av as HandleDocumentRequestFunction, aw as HandleErrorFunction, X as HashRouter, H as HashRouterProps, u as HistoryRouterProps, I as IndexRouteProps, L as LayoutRouteProps, Y as Link, v as LinkProps, an as Links, aq as LinksProps, j as MemoryRouter, M as MemoryRouterOpts, d as MemoryRouterProps, am as Meta, _ as NavLink, w as NavLinkProps, x as NavLinkRenderProps, k as Navigate, e as NavigateProps, a as Navigator, l as Outlet, O as OutletProps, ab as ParamKeyValuePair, P as PathRouteProps, as as PrefetchBehavior, ap as PrefetchPageLinks, m as Route, R as RouteProps, n as Router, f as RouterProps, o as RouterProvider, g as RouterProviderProps, p as Routes, h as RoutesProps, ao as Scripts, ar as ScriptsProps, a0 as ScrollRestoration, G as ScrollRestorationProps, ax as ServerEntryModule, J as SetURLSearchParams, ak as StaticRouter, ag as StaticRouterProps, al as StaticRouterProvider, ah as StaticRouterProviderProps, K as SubmitFunction, ac as SubmitOptions, ae as SubmitTarget, b as UNSAFE_AwaitContextProvider, ay as UNSAFE_DataRouterContext, az as UNSAFE_DataRouterStateContext, aA as UNSAFE_FetchersContext, aN as UNSAFE_FrameworkContext, aB as UNSAFE_LocationContext, aC as UNSAFE_NavigationContext, aD as UNSAFE_RouteContext, aE as UNSAFE_ViewTransitionContext, aH as UNSAFE_WithComponentProps, aL as UNSAFE_WithErrorBoundaryProps, aJ as UNSAFE_WithHydrateFallbackProps, aO as UNSAFE_createClientRoutes, aP as UNSAFE_createClientRoutesWithHMRRevalidationOptOut, aF as UNSAFE_hydrationRouteProperties, aG as UNSAFE_mapRouteProperties, aQ as UNSAFE_shouldHydrateRouteLoader, aR as UNSAFE_useScrollRestoration, aI as UNSAFE_withComponentProps, aM as UNSAFE_withErrorBoundaryProps, aK as UNSAFE_withHydrateFallbackProps, ad as URLSearchParamsInit, U as createBrowserRouter, V as createHashRouter, q as createMemoryRouter, r as createRoutesFromChildren, s as createRoutesFromElements, af as createSearchParams, ai as createStaticHandler, aj as createStaticRouter, t as renderMatches, Z as unstable_HistoryRouter, a8 as unstable_usePrompt, a7 as useBeforeUnload, a5 as useFetcher, a6 as useFetchers, a4 as useFormAction, a1 as useLinkClickHandler, a2 as useSearchParams, a3 as useSubmit, a9 as useViewTransitionState } from './index-react-server-client-3ykjivgQ.js';
7
7
  import * as React from 'react';
8
8
  import React__default, { ReactElement } from 'react';
9
- import { a as RouteModules$1, P as Pages } from './register-CNAx3TXj.js';
10
- export { b as Register } from './register-CNAx3TXj.js';
9
+ import { a as RouteModules$1, P as Pages } from './register-roq_0qYo.js';
10
+ export { b as Register } from './register-roq_0qYo.js';
11
11
  import { ParseOptions, SerializeOptions } from 'cookie';
12
12
  export { ParseOptions as CookieParseOptions, SerializeOptions as CookieSerializeOptions } from 'cookie';
13
- import { e as RSCPayload, g as getRequest, m as matchRSCServerRequest } from './browser-D3uq9sI1.js';
14
- export { B as unstable_BrowserCreateFromReadableStreamFunction, D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, E as unstable_EncodeReplyFunction, L as unstable_LoadServerActionFunction, h as unstable_RSCHydratedRouterProps, d as unstable_RSCManifestPayload, i as unstable_RSCMatch, f as unstable_RSCRenderPayload, n as unstable_RSCRouteConfig, l as unstable_RSCRouteConfigEntry, j as unstable_RSCRouteManifest, k as unstable_RSCRouteMatch } from './browser-D3uq9sI1.js';
13
+ import { e as RSCPayload, g as getRequest, m as matchRSCServerRequest } from './browser-B2PdsXXH.js';
14
+ export { B as unstable_BrowserCreateFromReadableStreamFunction, D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, E as unstable_EncodeReplyFunction, L as unstable_LoadServerActionFunction, h as unstable_RSCHydratedRouterProps, d as unstable_RSCManifestPayload, i as unstable_RSCMatch, f as unstable_RSCRenderPayload, n as unstable_RSCRouteConfig, l as unstable_RSCRouteConfigEntry, j as unstable_RSCRouteManifest, k as unstable_RSCRouteMatch } from './browser-B2PdsXXH.js';
15
15
 
16
16
  declare const SingleFetchRedirectSymbol: unique symbol;
17
17
  declare function getTurboStreamSingleFetchDataStrategy(getRouter: () => Router, manifest: AssetsManifest, routeModules: RouteModules, ssr: boolean, basename: string | undefined, trailingSlashAware: boolean): DataStrategyFunction;
@@ -982,7 +982,10 @@ interface ServerRouterProps {
982
982
  url: string | URL;
983
983
  /**
984
984
  * An optional `nonce` for [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP)
985
- * compliance, used to allow inline scripts to run safely.
985
+ * compliance. This is applied to inline scripts rendered by React Router and
986
+ * used as the default for nonce-aware components such as {@link Links | `<Links>`},
987
+ * {@link Scripts | `<Scripts>`}, and {@link ScrollRestoration | `<ScrollRestoration>`}
988
+ * when they do not provide their own `nonce`.
986
989
  */
987
990
  nonce?: string;
988
991
  }
@@ -1424,8 +1427,6 @@ declare function RSCDefaultRootErrorBoundary({ hasRootLayout, }: {
1424
1427
  hasRootLayout: boolean;
1425
1428
  }): React__default.JSX.Element;
1426
1429
 
1427
- declare function deserializeErrors(errors: RouterState["errors"]): RouterState["errors"];
1428
-
1429
1430
  type RemixErrorBoundaryProps = React.PropsWithChildren<{
1430
1431
  location: Location;
1431
1432
  isOutsideRemixApp?: boolean;
@@ -1475,4 +1476,4 @@ declare function getHydrationData({ state, routes, getRouteInfo, location, basen
1475
1476
  declare const unstable_getRequest: typeof getRequest;
1476
1477
  declare const unstable_matchRSCServerRequest: typeof matchRSCServerRequest;
1477
1478
 
1478
- export { ActionFunction, AppLoadContext, Blocker, BlockerFunction, ClientLoaderFunction, type Cookie, type CookieOptions, type CookieSignatureOptions, type CreateRequestHandlerFunction, DataRouteObject, Router as DataRouter, DataStrategyFunction, EntryContext, type FlashSessionData, HydrationState, IndexRouteObject, InitialEntry, type IsCookieFunction, type IsSessionFunction, LinksFunction, LoaderFunction, Location, MetaFunction, type NavigateFunction, NavigateOptions, NavigationStates, Action as NavigationType, NonIndexRouteObject, ParamParseKey, Params, PatchRoutesOnNavigationFunction, Path, PathMatch, PathPattern, RelativeRoutingType, type RequestHandler, RouteObject, RouterContextProvider, RouterState, type RoutesTestStubProps, ServerBuild, ServerRouter, type ServerRouterProps, type Session, type SessionData, type SessionIdStorageStrategy, type SessionStorage, To, UIMatch, AssetsManifest as UNSAFE_AssetsManifest, MiddlewareEnabled as UNSAFE_MiddlewareEnabled, RSCDefaultRootErrorBoundary as UNSAFE_RSCDefaultRootErrorBoundary, RemixErrorBoundary as UNSAFE_RemixErrorBoundary, RouteModules as UNSAFE_RouteModules, ServerMode as UNSAFE_ServerMode, SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol, decodeViaTurboStream as UNSAFE_decodeViaTurboStream, deserializeErrors as UNSAFE_deserializeErrors, getHydrationData as UNSAFE_getHydrationData, getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction, getTurboStreamSingleFetchDataStrategy as UNSAFE_getTurboStreamSingleFetchDataStrategy, useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery, createCookie, createCookieSessionStorage, createMemorySessionStorage, createRequestHandler, createRoutesStub, createSession, createSessionStorage, href, isCookie, isSession, RSCPayload as unstable_RSCPayload, RSCStaticRouter as unstable_RSCStaticRouter, type RSCStaticRouterProps as unstable_RSCStaticRouterProps, type unstable_RouterState, type unstable_RouterStateActiveVariant, type unstable_RouterStatePendingVariant, type SSRCreateFromReadableStreamFunction as unstable_SSRCreateFromReadableStreamFunction, unstable_getRequest, unstable_matchRSCServerRequest, routeRSCServerRequest as unstable_routeRSCServerRequest, setDevServerHooks as unstable_setDevServerHooks, useRoute as unstable_useRoute, useRouterState as unstable_useRouterState, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes };
1479
+ export { ActionFunction, AppLoadContext, Blocker, BlockerFunction, ClientLoaderFunction, type Cookie, type CookieOptions, type CookieSignatureOptions, type CreateRequestHandlerFunction, DataRouteObject, Router as DataRouter, DataStrategyFunction, EntryContext, type FlashSessionData, HydrationState, IndexRouteObject, InitialEntry, type IsCookieFunction, type IsSessionFunction, LinksFunction, LoaderFunction, Location, MetaFunction, type NavigateFunction, NavigateOptions, NavigationStates, Action as NavigationType, NonIndexRouteObject, ParamParseKey, Params, PatchRoutesOnNavigationFunction, Path, PathMatch, PathPattern, RelativeRoutingType, type RequestHandler, RouteObject, RouterContextProvider, type RoutesTestStubProps, ServerBuild, ServerRouter, type ServerRouterProps, type Session, type SessionData, type SessionIdStorageStrategy, type SessionStorage, To, UIMatch, AssetsManifest as UNSAFE_AssetsManifest, MiddlewareEnabled as UNSAFE_MiddlewareEnabled, RSCDefaultRootErrorBoundary as UNSAFE_RSCDefaultRootErrorBoundary, RemixErrorBoundary as UNSAFE_RemixErrorBoundary, RouteModules as UNSAFE_RouteModules, ServerMode as UNSAFE_ServerMode, SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol, decodeViaTurboStream as UNSAFE_decodeViaTurboStream, getHydrationData as UNSAFE_getHydrationData, getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction, getTurboStreamSingleFetchDataStrategy as UNSAFE_getTurboStreamSingleFetchDataStrategy, useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery, createCookie, createCookieSessionStorage, createMemorySessionStorage, createRequestHandler, createRoutesStub, createSession, createSessionStorage, href, isCookie, isSession, RSCPayload as unstable_RSCPayload, RSCStaticRouter as unstable_RSCStaticRouter, type RSCStaticRouterProps as unstable_RSCStaticRouterProps, type unstable_RouterState, type unstable_RouterStateActiveVariant, type unstable_RouterStatePendingVariant, type SSRCreateFromReadableStreamFunction as unstable_SSRCreateFromReadableStreamFunction, unstable_getRequest, unstable_matchRSCServerRequest, routeRSCServerRequest as unstable_routeRSCServerRequest, setDevServerHooks as unstable_setDevServerHooks, useRoute as unstable_useRoute, useRouterState as unstable_useRouterState, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes };