react-router 7.17.0 → 7.18.0

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 (77) hide show
  1. package/CHANGELOG.md +13 -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-6CSD65Y2.mjs → chunk-4ZMWKKQ3.mjs} +115 -38
  5. package/dist/{production/chunk-5TQZEVD5.mjs → development/chunk-E4MTK73K.mjs} +45 -113
  6. package/dist/development/{chunk-KFNXW4AL.js → chunk-U7ORXROY.js} +113 -35
  7. package/dist/development/{chunk-PBLBZ3QU.js → chunk-WW7PN6QI.js} +7 -7
  8. package/dist/development/{chunk-PULC7NLK.js → chunk-YL5M26XI.js} +111 -108
  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/production/{chunk-CTIXC7EV.js → chunk-3Z6WS2WZ.js} +7 -7
  40. package/dist/production/{chunk-EN242BO4.js → chunk-BIP66BKV.js} +111 -108
  41. package/dist/{development/chunk-ASILSGTR.mjs → production/chunk-EGOTSXNH.mjs} +45 -113
  42. package/dist/production/{chunk-RTRY3JFT.js → chunk-IUPBOWYO.js} +113 -35
  43. package/dist/production/{chunk-OSYEOCBT.mjs → chunk-M7NGGUU6.mjs} +115 -38
  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/start/data/installation.md +4 -0
  76. package/docs/start/framework/deploying.md +4 -0
  77. package/package.json +1 -1
@@ -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.17.0
2
+ * react-router v7.18.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- var _chunkPBLBZ3QUjs = require('./chunk-PBLBZ3QU.js');
17
+ var _chunkWW7PN6QIjs = require('./chunk-WW7PN6QI.js');
18
18
 
19
19
 
20
20
 
@@ -40,7 +40,7 @@ var _chunkPBLBZ3QUjs = require('./chunk-PBLBZ3QU.js');
40
40
 
41
41
 
42
42
 
43
- var _chunkPULC7NLKjs = require('./chunk-PULC7NLK.js');
43
+ var _chunkYL5M26XIjs = require('./chunk-YL5M26XI.js');
44
44
 
45
45
 
46
46
 
@@ -153,7 +153,8 @@ var _chunkPULC7NLKjs = require('./chunk-PULC7NLK.js');
153
153
 
154
154
 
155
155
 
156
- var _chunkKFNXW4ALjs = require('./chunk-KFNXW4AL.js');
156
+
157
+ var _chunkU7ORXROYjs = require('./chunk-U7ORXROY.js');
157
158
 
158
159
  // lib/dom/ssr/server.tsx
159
160
  var _react = require('react'); var React = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react);
@@ -166,7 +167,7 @@ function ServerRouter({
166
167
  url = new URL(url);
167
168
  }
168
169
  let { manifest, routeModules, criticalCss, serverHandoffString } = context;
169
- let routes = _chunkKFNXW4ALjs.createServerRoutes.call(void 0,
170
+ let routes = _chunkU7ORXROYjs.createServerRoutes.call(void 0,
170
171
  manifest.routes,
171
172
  routeModules,
172
173
  context.future,
@@ -179,7 +180,7 @@ function ServerRouter({
179
180
  let routeId = match.route.id;
180
181
  let route = routeModules[routeId];
181
182
  let manifestRoute = context.manifest.routes[routeId];
182
- if (route && manifestRoute && _chunkKFNXW4ALjs.shouldHydrateRouteLoader.call(void 0,
183
+ if (route && manifestRoute && _chunkU7ORXROYjs.shouldHydrateRouteLoader.call(void 0,
183
184
  routeId,
184
185
  route.clientLoader,
185
186
  manifestRoute.hasLoader,
@@ -188,11 +189,11 @@ function ServerRouter({
188
189
  delete context.staticHandlerContext.loaderData[routeId];
189
190
  }
190
191
  }
191
- let router = _chunkPULC7NLKjs.createStaticRouter.call(void 0, routes, context.staticHandlerContext, {
192
+ let router = _chunkYL5M26XIjs.createStaticRouter.call(void 0, routes, context.staticHandlerContext, {
192
193
  branches: context.branches
193
194
  });
194
195
  return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
195
- _chunkKFNXW4ALjs.FrameworkContext.Provider,
196
+ _chunkU7ORXROYjs.FrameworkContext.Provider,
196
197
  {
197
198
  value: {
198
199
  manifest,
@@ -203,12 +204,13 @@ function ServerRouter({
203
204
  ssr: context.ssr,
204
205
  isSpaMode: context.isSpaMode,
205
206
  routeDiscovery: context.routeDiscovery,
207
+ nonce,
206
208
  serializeError: context.serializeError,
207
209
  renderMeta: context.renderMeta
208
210
  }
209
211
  },
210
- /* @__PURE__ */ React.createElement(_chunkKFNXW4ALjs.RemixErrorBoundary, { location: router.state.location }, /* @__PURE__ */ React.createElement(
211
- _chunkPULC7NLKjs.StaticRouterProvider,
212
+ /* @__PURE__ */ React.createElement(_chunkU7ORXROYjs.RemixErrorBoundary, { location: router.state.location }, /* @__PURE__ */ React.createElement(
213
+ _chunkYL5M26XIjs.StaticRouterProvider,
212
214
  {
213
215
  router,
214
216
  context: context.staticHandlerContext,
@@ -216,7 +218,7 @@ function ServerRouter({
216
218
  }
217
219
  ))
218
220
  ), context.serverHandoffStream ? /* @__PURE__ */ React.createElement(React.Suspense, null, /* @__PURE__ */ React.createElement(
219
- _chunkKFNXW4ALjs.StreamTransfer,
221
+ _chunkU7ORXROYjs.StreamTransfer,
220
222
  {
221
223
  context,
222
224
  identifier: 0,
@@ -259,18 +261,18 @@ function createRoutesStub(routes, _context) {
259
261
  let patched = processRoutes(
260
262
  // @ts-expect-error `StubRouteObject` is stricter about `loader`/`action`
261
263
  // types compared to `RouteObject`
262
- _chunkKFNXW4ALjs.convertRoutesToDataRoutes.call(void 0, routes, (r) => r),
263
- _context !== void 0 ? _context : _optionalChain([future, 'optionalAccess', _5 => _5.v8_middleware]) ? new (0, _chunkKFNXW4ALjs.RouterContextProvider)() : {},
264
+ _chunkU7ORXROYjs.convertRoutesToDataRoutes.call(void 0, routes, (r) => r),
265
+ _context !== void 0 ? _context : _optionalChain([future, 'optionalAccess', _5 => _5.v8_middleware]) ? new (0, _chunkU7ORXROYjs.RouterContextProvider)() : {},
264
266
  frameworkContextRef.current.manifest,
265
267
  frameworkContextRef.current.routeModules
266
268
  );
267
- routerRef.current = _chunkKFNXW4ALjs.createMemoryRouter.call(void 0, patched, {
269
+ routerRef.current = _chunkU7ORXROYjs.createMemoryRouter.call(void 0, patched, {
268
270
  initialEntries,
269
271
  initialIndex,
270
272
  hydrationData
271
273
  });
272
274
  }
273
- return /* @__PURE__ */ React2.createElement(_chunkKFNXW4ALjs.FrameworkContext.Provider, { value: frameworkContextRef.current }, /* @__PURE__ */ React2.createElement(_chunkKFNXW4ALjs.RouterProvider, { router: routerRef.current }));
275
+ return /* @__PURE__ */ React2.createElement(_chunkU7ORXROYjs.FrameworkContext.Provider, { value: frameworkContextRef.current }, /* @__PURE__ */ React2.createElement(_chunkU7ORXROYjs.RouterProvider, { router: routerRef.current }));
274
276
  };
275
277
  }
276
278
  function processRoutes(routes, context, manifest, routeModules, parentId) {
@@ -284,9 +286,9 @@ function processRoutes(routes, context, manifest, routeModules, parentId) {
284
286
  id: route.id,
285
287
  path: route.path,
286
288
  index: route.index,
287
- Component: route.Component ? _chunkKFNXW4ALjs.withComponentProps.call(void 0, route.Component) : void 0,
288
- HydrateFallback: route.HydrateFallback ? _chunkKFNXW4ALjs.withHydrateFallbackProps.call(void 0, route.HydrateFallback) : void 0,
289
- ErrorBoundary: route.ErrorBoundary ? _chunkKFNXW4ALjs.withErrorBoundaryProps.call(void 0, route.ErrorBoundary) : void 0,
289
+ Component: route.Component ? _chunkU7ORXROYjs.withComponentProps.call(void 0, route.Component) : void 0,
290
+ HydrateFallback: route.HydrateFallback ? _chunkU7ORXROYjs.withHydrateFallbackProps.call(void 0, route.HydrateFallback) : void 0,
291
+ ErrorBoundary: route.ErrorBoundary ? _chunkU7ORXROYjs.withErrorBoundaryProps.call(void 0, route.ErrorBoundary) : void 0,
290
292
  action: route.action ? (args) => route.action({ ...args, context }) : void 0,
291
293
  loader: route.loader ? (args) => route.loader({ ...args, context }) : void 0,
292
294
  middleware: route.middleware ? route.middleware.map(
@@ -321,7 +323,7 @@ function processRoutes(routes, context, manifest, routeModules, parentId) {
321
323
  };
322
324
  manifest.routes[newRoute.id] = entryRoute;
323
325
  routeModules[route.id] = {
324
- default: newRoute.Component || _chunkKFNXW4ALjs.Outlet,
326
+ default: newRoute.Component || _chunkU7ORXROYjs.Outlet,
325
327
  ErrorBoundary: newRoute.ErrorBoundary || void 0,
326
328
  handle: route.handle,
327
329
  links: route.links,
@@ -516,7 +518,7 @@ function myUnescape(value) {
516
518
  return result;
517
519
  }
518
520
  function warnOnceAboutExpiresCookie(name, expires) {
519
- _chunkKFNXW4ALjs.warnOnce.call(void 0,
521
+ _chunkU7ORXROYjs.warnOnce.call(void 0,
520
522
  !expires,
521
523
  `The "${name}" cookie has an "expires" property set. This will cause the expires value to not be updated when the session is committed. Instead, you should set the expires value when serializing the cookie. You can use \`commitSession(session, { expires })\` if using a session storage object, or \`cookie.serialize("value", { expires })\` if you're using the cookie directly.`
522
524
  );
@@ -565,33 +567,6 @@ function serializeError(error, serverMode) {
565
567
  stack: sanitized.stack
566
568
  };
567
569
  }
568
- function serializeErrors(errors, serverMode) {
569
- if (!errors) return null;
570
- let entries = Object.entries(errors);
571
- let serialized = {};
572
- for (let [key, val] of entries) {
573
- if (_chunkKFNXW4ALjs.isRouteErrorResponse.call(void 0, val)) {
574
- serialized[key] = { ...val, __type: "RouteErrorResponse" };
575
- } else if (val instanceof Error) {
576
- let sanitized = sanitizeError(val, serverMode);
577
- serialized[key] = {
578
- message: sanitized.message,
579
- stack: sanitized.stack,
580
- __type: "Error",
581
- // If this is a subclass (i.e., ReferenceError), send up the type so we
582
- // can re-create the same type during hydration. This will only apply
583
- // in dev mode since all production errors are sanitized to normal
584
- // Error instances
585
- ...sanitized.name !== "Error" ? {
586
- __subType: sanitized.name
587
- } : {}
588
- };
589
- } else {
590
- serialized[key] = val;
591
- }
592
- }
593
- return serialized;
594
- }
595
570
 
596
571
  // lib/server-runtime/invariant.ts
597
572
  function invariant2(value, message) {
@@ -605,7 +580,7 @@ function invariant2(value, message) {
605
580
 
606
581
  // lib/server-runtime/routeMatching.ts
607
582
  function matchServerRoutes(manifest, dataRoutes, branches, pathname, basename) {
608
- let matches = _chunkKFNXW4ALjs.matchRoutesImpl.call(void 0,
583
+ let matches = _chunkU7ORXROYjs.matchRoutesImpl.call(void 0,
609
584
  dataRoutes,
610
585
  pathname,
611
586
  _nullishCoalesce(basename, () => ( "/")),
@@ -636,7 +611,7 @@ async function callRouteHandler(handler, args, future) {
636
611
  context: args.context,
637
612
  pattern: args.pattern
638
613
  });
639
- if (_chunkKFNXW4ALjs.isDataWithResponseInit.call(void 0, result) && result.init && result.init.status && _chunkKFNXW4ALjs.isRedirectStatusCode.call(void 0, result.init.status)) {
614
+ if (_chunkU7ORXROYjs.isDataWithResponseInit.call(void 0, result) && result.init && result.init.status && _chunkU7ORXROYjs.isRedirectStatusCode.call(void 0, result.init.status)) {
640
615
  throw new Response(null, result.init);
641
616
  }
642
617
  return result;
@@ -739,17 +714,17 @@ function createStaticHandlerDataRoutes(manifest, future, parentId = "", routesBy
739
714
  controller.close();
740
715
  }
741
716
  });
742
- let decoded = await _chunkKFNXW4ALjs.decodeViaTurboStream.call(void 0, stream, global);
717
+ let decoded = await _chunkU7ORXROYjs.decodeViaTurboStream.call(void 0, stream, global);
743
718
  let data2 = decoded.value;
744
- if (data2 && _chunkKFNXW4ALjs.SingleFetchRedirectSymbol in data2) {
745
- let result = data2[_chunkKFNXW4ALjs.SingleFetchRedirectSymbol];
719
+ if (data2 && _chunkU7ORXROYjs.SingleFetchRedirectSymbol in data2) {
720
+ let result = data2[_chunkU7ORXROYjs.SingleFetchRedirectSymbol];
746
721
  let init = { status: result.status };
747
722
  if (result.reload) {
748
- throw _chunkKFNXW4ALjs.redirectDocument.call(void 0, result.redirect, init);
723
+ throw _chunkU7ORXROYjs.redirectDocument.call(void 0, result.redirect, init);
749
724
  } else if (result.replace) {
750
- throw _chunkKFNXW4ALjs.replace.call(void 0, result.redirect, init);
725
+ throw _chunkU7ORXROYjs.replace.call(void 0, result.redirect, init);
751
726
  } else {
752
- throw _chunkKFNXW4ALjs.redirect.call(void 0, result.redirect, init);
727
+ throw _chunkU7ORXROYjs.redirect.call(void 0, result.redirect, init);
753
728
  }
754
729
  } else {
755
730
  invariant2(
@@ -792,7 +767,7 @@ function createStaticHandlerDataRoutes(manifest, future, parentId = "", routesBy
792
767
 
793
768
  // lib/server-runtime/serverHandoff.ts
794
769
  function createServerHandoffString(serverHandoff) {
795
- return _chunkKFNXW4ALjs.escapeHtml.call(void 0, JSON.stringify(serverHandoff));
770
+ return _chunkU7ORXROYjs.escapeHtml.call(void 0, JSON.stringify(serverHandoff));
796
771
  }
797
772
 
798
773
  // lib/server-runtime/headers.ts
@@ -868,8 +843,8 @@ function prependCookies(parentHeaders, childHeaders) {
868
843
  }
869
844
 
870
845
  // lib/actions.ts
871
- function throwIfPotentialCSRFAttack(headers, allowedActionOrigins) {
872
- let originHeader = headers.get("origin");
846
+ function throwIfPotentialCSRFAttack(request, allowedActionOrigins) {
847
+ let originHeader = request.headers.get("origin");
873
848
  let originDomain = null;
874
849
  try {
875
850
  originDomain = typeof originHeader === "string" && originHeader !== "null" ? new URL(originHeader).host : originHeader;
@@ -878,18 +853,12 @@ function throwIfPotentialCSRFAttack(headers, allowedActionOrigins) {
878
853
  `\`origin\` header is not a valid URL. Aborting the action.`
879
854
  );
880
855
  }
881
- let host = parseHostHeader(headers);
882
- if (originDomain && (!host || originDomain !== host.value)) {
856
+ let host = new URL(request.url).host;
857
+ if (originDomain && originDomain !== host) {
883
858
  if (!isAllowedOrigin(originDomain, allowedActionOrigins)) {
884
- if (host) {
885
- throw new Error(
886
- `${host.type} header does not match \`origin\` header from a forwarded action request. Aborting the action.`
887
- );
888
- } else {
889
- throw new Error(
890
- "`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."
891
- );
892
- }
859
+ throw new Error(
860
+ "The `request.url` host does not match `origin` header from a forwarded action request. Aborting the action."
861
+ );
893
862
  }
894
863
  }
895
864
  }
@@ -937,37 +906,25 @@ function isAllowedOrigin(originDomain, allowedActionOrigins = []) {
937
906
  (allowedOrigin) => allowedOrigin && (allowedOrigin === originDomain || matchWildcardDomain(originDomain, allowedOrigin))
938
907
  );
939
908
  }
940
- function parseHostHeader(headers) {
941
- let forwardedHostHeader = headers.get("x-forwarded-host");
942
- let forwardedHostValue = _optionalChain([forwardedHostHeader, 'optionalAccess', _6 => _6.split, 'call', _7 => _7(","), 'access', _8 => _8[0], 'optionalAccess', _9 => _9.trim, 'call', _10 => _10()]);
943
- let hostHeader = headers.get("host");
944
- return forwardedHostValue ? {
945
- type: "x-forwarded-host",
946
- value: forwardedHostValue
947
- } : hostHeader ? {
948
- type: "host",
949
- value: hostHeader
950
- } : void 0;
951
- }
952
909
 
953
910
  // lib/server-runtime/urls.ts
954
911
  function getNormalizedPath(request, basename, future) {
955
912
  basename = basename || "/";
956
913
  let url = new URL(request.url);
957
914
  let pathname = url.pathname;
958
- if (_optionalChain([future, 'optionalAccess', _11 => _11.v8_trailingSlashAwareDataRequests])) {
915
+ if (_optionalChain([future, 'optionalAccess', _6 => _6.v8_trailingSlashAwareDataRequests])) {
959
916
  if (pathname.endsWith("/_.data")) {
960
917
  pathname = pathname.replace(/_\.data$/, "");
961
918
  } else {
962
919
  pathname = pathname.replace(/\.data$/, "");
963
920
  }
964
921
  } else {
965
- if (_chunkKFNXW4ALjs.stripBasename.call(void 0, pathname, basename) === "/_root.data") {
922
+ if (_chunkU7ORXROYjs.stripBasename.call(void 0, pathname, basename) === "/_root.data") {
966
923
  pathname = basename;
967
924
  } else if (pathname.endsWith(".data")) {
968
925
  pathname = pathname.replace(/\.data$/, "");
969
926
  }
970
- if (_chunkKFNXW4ALjs.stripBasename.call(void 0, pathname, basename) !== "/" && pathname.endsWith("/")) {
927
+ if (_chunkU7ORXROYjs.stripBasename.call(void 0, pathname, basename) !== "/" && pathname.endsWith("/")) {
971
928
  pathname = pathname.slice(0, -1);
972
929
  }
973
930
  }
@@ -987,14 +944,14 @@ function getNormalizedPath(request, basename, future) {
987
944
 
988
945
  // lib/server-runtime/single-fetch.ts
989
946
  var SERVER_NO_BODY_STATUS_CODES = /* @__PURE__ */ new Set([
990
- ..._chunkKFNXW4ALjs.NO_BODY_STATUS_CODES,
947
+ ..._chunkU7ORXROYjs.NO_BODY_STATUS_CODES,
991
948
  304
992
949
  ]);
993
950
  async function singleFetchAction(build, serverMode, staticHandler, request, handlerUrl, loadContext, handleError) {
994
951
  try {
995
952
  try {
996
953
  throwIfPotentialCSRFAttack(
997
- request.headers,
954
+ request,
998
955
  Array.isArray(build.allowedActionOrigins) ? build.allowedActionOrigins : []
999
956
  );
1000
957
  } catch (e) {
@@ -1026,7 +983,7 @@ async function singleFetchAction(build, serverMode, staticHandler, request, hand
1026
983
  return handleQueryError(error);
1027
984
  }
1028
985
  function handleQueryResult(result) {
1029
- return _chunkKFNXW4ALjs.isResponse.call(void 0, result) ? result : staticContextToResponse(result);
986
+ return _chunkU7ORXROYjs.isResponse.call(void 0, result) ? result : staticContextToResponse(result);
1030
987
  }
1031
988
  function handleQueryError(error, status = 500) {
1032
989
  handleError(error);
@@ -1038,12 +995,12 @@ async function singleFetchAction(build, serverMode, staticHandler, request, hand
1038
995
  }
1039
996
  function staticContextToResponse(context) {
1040
997
  let headers = getDocumentHeaders(context, build);
1041
- if (_chunkKFNXW4ALjs.isRedirectStatusCode.call(void 0, context.statusCode) && headers.has("Location")) {
998
+ if (_chunkU7ORXROYjs.isRedirectStatusCode.call(void 0, context.statusCode) && headers.has("Location")) {
1042
999
  return new Response(null, { status: context.statusCode, headers });
1043
1000
  }
1044
1001
  if (context.errors) {
1045
1002
  Object.values(context.errors).forEach((err) => {
1046
- if (!_chunkKFNXW4ALjs.isRouteErrorResponse.call(void 0, err) || err.error) {
1003
+ if (!_chunkU7ORXROYjs.isRouteErrorResponse.call(void 0, err) || err.error) {
1047
1004
  handleError(err);
1048
1005
  }
1049
1006
  });
@@ -1091,7 +1048,7 @@ async function singleFetchLoaders(build, serverMode, staticHandler, request, han
1091
1048
  return handleQueryError(error);
1092
1049
  }
1093
1050
  function handleQueryResult(result) {
1094
- return _chunkKFNXW4ALjs.isResponse.call(void 0, result) ? result : staticContextToResponse(result);
1051
+ return _chunkU7ORXROYjs.isResponse.call(void 0, result) ? result : staticContextToResponse(result);
1095
1052
  }
1096
1053
  function handleQueryError(error) {
1097
1054
  handleError(error);
@@ -1103,12 +1060,12 @@ async function singleFetchLoaders(build, serverMode, staticHandler, request, han
1103
1060
  }
1104
1061
  function staticContextToResponse(context) {
1105
1062
  let headers = getDocumentHeaders(context, build);
1106
- if (_chunkKFNXW4ALjs.isRedirectStatusCode.call(void 0, context.statusCode) && headers.has("Location")) {
1063
+ if (_chunkU7ORXROYjs.isRedirectStatusCode.call(void 0, context.statusCode) && headers.has("Location")) {
1107
1064
  return new Response(null, { status: context.statusCode, headers });
1108
1065
  }
1109
1066
  if (context.errors) {
1110
1067
  Object.values(context.errors).forEach((err) => {
1111
- if (!_chunkKFNXW4ALjs.isRouteErrorResponse.call(void 0, err) || err.error) {
1068
+ if (!_chunkU7ORXROYjs.isRouteErrorResponse.call(void 0, err) || err.error) {
1112
1069
  handleError(err);
1113
1070
  }
1114
1071
  });
@@ -1172,15 +1129,15 @@ function generateSingleFetchRedirectResponse(redirectResponse, request, build, s
1172
1129
  headers.delete("Location");
1173
1130
  headers.set("Content-Type", "text/x-script");
1174
1131
  return generateSingleFetchResponse(request, build, serverMode, {
1175
- result: request.method === "GET" ? { [_chunkKFNXW4ALjs.SingleFetchRedirectSymbol]: redirect2 } : redirect2,
1132
+ result: request.method === "GET" ? { [_chunkU7ORXROYjs.SingleFetchRedirectSymbol]: redirect2 } : redirect2,
1176
1133
  headers,
1177
- status: _chunkKFNXW4ALjs.SINGLE_FETCH_REDIRECT_STATUS
1134
+ status: _chunkU7ORXROYjs.SINGLE_FETCH_REDIRECT_STATUS
1178
1135
  });
1179
1136
  }
1180
1137
  function getSingleFetchRedirect(status, headers, basename) {
1181
1138
  let redirect2 = headers.get("Location");
1182
1139
  if (basename) {
1183
- redirect2 = _chunkKFNXW4ALjs.stripBasename.call(void 0, redirect2, basename) || redirect2;
1140
+ redirect2 = _chunkU7ORXROYjs.stripBasename.call(void 0, redirect2, basename) || redirect2;
1184
1141
  }
1185
1142
  return {
1186
1143
  redirect: redirect2,
@@ -1217,7 +1174,7 @@ function encodeViaTurboStream(data2, requestSignal, streamTimeout, serverMode) {
1217
1174
  clearTimeout(timeoutId);
1218
1175
  requestSignal.removeEventListener("abort", abortControllerOnRequestAbort);
1219
1176
  };
1220
- return _chunkKFNXW4ALjs.encode.call(void 0, data2, {
1177
+ return _chunkU7ORXROYjs.encode.call(void 0, data2, {
1221
1178
  signal: controller.signal,
1222
1179
  onComplete: cleanupCallbacks,
1223
1180
  plugins: [
@@ -1226,12 +1183,12 @@ function encodeViaTurboStream(data2, requestSignal, streamTimeout, serverMode) {
1226
1183
  let { name, message, stack } = serverMode === "production" /* Production */ ? sanitizeError(value, serverMode) : value;
1227
1184
  return ["SanitizedError", name, message, stack];
1228
1185
  }
1229
- if (value instanceof _chunkKFNXW4ALjs.ErrorResponseImpl) {
1186
+ if (value instanceof _chunkU7ORXROYjs.ErrorResponseImpl) {
1230
1187
  let { data: data3, status, statusText } = value;
1231
1188
  return ["ErrorResponse", data3, status, statusText];
1232
1189
  }
1233
- if (value && typeof value === "object" && _chunkKFNXW4ALjs.SingleFetchRedirectSymbol in value) {
1234
- return ["SingleFetchRedirect", value[_chunkKFNXW4ALjs.SingleFetchRedirectSymbol]];
1190
+ if (value && typeof value === "object" && _chunkU7ORXROYjs.SingleFetchRedirectSymbol in value) {
1191
+ return ["SingleFetchRedirect", value[_chunkU7ORXROYjs.SingleFetchRedirectSymbol]];
1235
1192
  }
1236
1193
  }
1237
1194
  ],
@@ -1253,7 +1210,7 @@ function encodeViaTurboStream(data2, requestSignal, streamTimeout, serverMode) {
1253
1210
  function derive(build, mode) {
1254
1211
  let dataRoutes = createStaticHandlerDataRoutes(build.routes, build.future);
1255
1212
  let serverMode = isServerMode(mode) ? mode : "production" /* Production */;
1256
- let staticHandler = _chunkKFNXW4ALjs.createStaticHandler.call(void 0, dataRoutes, {
1213
+ let staticHandler = _chunkU7ORXROYjs.createStaticHandler.call(void 0, dataRoutes, {
1257
1214
  basename: build.basename,
1258
1215
  instrumentations: build.entry.module.instrumentations,
1259
1216
  future: build.future
@@ -1262,7 +1219,7 @@ function derive(build, mode) {
1262
1219
  if (serverMode !== "test" /* Test */ && !request.signal.aborted) {
1263
1220
  console.error(
1264
1221
  // @ts-expect-error This is "private" from users but intended for internal use
1265
- _chunkKFNXW4ALjs.isRouteErrorResponse.call(void 0, error) && error.error ? error.error : error
1222
+ _chunkU7ORXROYjs.isRouteErrorResponse.call(void 0, error) && error.error ? error.error : error
1266
1223
  );
1267
1224
  }
1268
1225
  });
@@ -1271,7 +1228,7 @@ function derive(build, mode) {
1271
1228
  let loadContext;
1272
1229
  let handleError = (error) => {
1273
1230
  if (mode === "development" /* Development */) {
1274
- _optionalChain([getDevServerHooks, 'call', _12 => _12(), 'optionalAccess', _13 => _13.processRequestError, 'optionalCall', _14 => _14(error)]);
1231
+ _optionalChain([getDevServerHooks, 'call', _7 => _7(), 'optionalAccess', _8 => _8.processRequestError, 'optionalCall', _9 => _9(error)]);
1275
1232
  }
1276
1233
  errorHandler(error, {
1277
1234
  context: loadContext,
@@ -1280,14 +1237,14 @@ function derive(build, mode) {
1280
1237
  });
1281
1238
  };
1282
1239
  if (build.future.v8_middleware) {
1283
- if (initialContext && !(initialContext instanceof _chunkKFNXW4ALjs.RouterContextProvider)) {
1240
+ if (initialContext && !(initialContext instanceof _chunkU7ORXROYjs.RouterContextProvider)) {
1284
1241
  let error = new Error(
1285
1242
  "Invalid `context` value provided to `handleRequest`. When middleware is enabled you must return an instance of `RouterContextProvider` from your `getLoadContext` function."
1286
1243
  );
1287
1244
  handleError(error);
1288
1245
  return returnLastResortErrorResponse(error, serverMode);
1289
1246
  }
1290
- loadContext = initialContext || new (0, _chunkKFNXW4ALjs.RouterContextProvider)();
1247
+ loadContext = initialContext || new (0, _chunkU7ORXROYjs.RouterContextProvider)();
1291
1248
  } else {
1292
1249
  loadContext = initialContext || {};
1293
1250
  }
@@ -1301,10 +1258,10 @@ function derive(build, mode) {
1301
1258
  if (!build.ssr) {
1302
1259
  let decodedPath = decodeURI(normalizedPathname);
1303
1260
  if (build.basename && build.basename !== "/") {
1304
- let strippedPath = _chunkKFNXW4ALjs.stripBasename.call(void 0, decodedPath, build.basename);
1261
+ let strippedPath = _chunkU7ORXROYjs.stripBasename.call(void 0, decodedPath, build.basename);
1305
1262
  if (strippedPath == null) {
1306
1263
  errorHandler(
1307
- new (0, _chunkKFNXW4ALjs.ErrorResponseImpl)(
1264
+ new (0, _chunkU7ORXROYjs.ErrorResponseImpl)(
1308
1265
  404,
1309
1266
  "Not Found",
1310
1267
  `Refusing to prerender the \`${decodedPath}\` path because it does not start with the basename \`${build.basename}\``
@@ -1324,10 +1281,10 @@ function derive(build, mode) {
1324
1281
  }
1325
1282
  if (build.prerender.length === 0) {
1326
1283
  isSpaMode = true;
1327
- } else if (!build.prerender.includes(decodedPath) && !build.prerender.includes(decodedPath + "/")) {
1284
+ } else if (!build.prerender.includes(decodedPath.replace(/\/$/, "")) && !build.prerender.includes(decodedPath.replace(/[^/]$/, "/"))) {
1328
1285
  if (requestUrl.pathname.endsWith(".data")) {
1329
1286
  errorHandler(
1330
- new (0, _chunkKFNXW4ALjs.ErrorResponseImpl)(
1287
+ new (0, _chunkU7ORXROYjs.ErrorResponseImpl)(
1331
1288
  404,
1332
1289
  "Not Found",
1333
1290
  `Refusing to SSR the path \`${decodedPath}\` because \`ssr:false\` is set and the path is not included in the \`prerender\` config, so in production the path will be a 404.`
@@ -1347,7 +1304,7 @@ function derive(build, mode) {
1347
1304
  }
1348
1305
  }
1349
1306
  }
1350
- let manifestUrl = _chunkKFNXW4ALjs.getManifestPath.call(void 0,
1307
+ let manifestUrl = _chunkU7ORXROYjs.getManifestPath.call(void 0,
1351
1308
  build.routeDiscovery.manifestPath,
1352
1309
  build.basename
1353
1310
  );
@@ -1386,7 +1343,7 @@ function derive(build, mode) {
1386
1343
  loadContext,
1387
1344
  handleError
1388
1345
  );
1389
- if (_chunkKFNXW4ALjs.isRedirectResponse.call(void 0, response)) {
1346
+ if (_chunkU7ORXROYjs.isRedirectResponse.call(void 0, response)) {
1390
1347
  response = generateSingleFetchRedirectResponse(
1391
1348
  response,
1392
1349
  request,
@@ -1400,7 +1357,7 @@ function derive(build, mode) {
1400
1357
  params: matches ? matches[0].params : {},
1401
1358
  request
1402
1359
  });
1403
- if (_chunkKFNXW4ALjs.isRedirectResponse.call(void 0, response)) {
1360
+ if (_chunkU7ORXROYjs.isRedirectResponse.call(void 0, response)) {
1404
1361
  response = generateSingleFetchRedirectResponse(
1405
1362
  response,
1406
1363
  request,
@@ -1424,8 +1381,8 @@ function derive(build, mode) {
1424
1381
  let criticalCss = void 0;
1425
1382
  if (build.unstable_getCriticalCss) {
1426
1383
  criticalCss = await build.unstable_getCriticalCss({ pathname });
1427
- } else if (mode === "development" /* Development */ && _optionalChain([getDevServerHooks, 'call', _15 => _15(), 'optionalAccess', _16 => _16.getCriticalCss])) {
1428
- criticalCss = await _optionalChain([getDevServerHooks, 'call', _17 => _17(), 'optionalAccess', _18 => _18.getCriticalCss, 'optionalCall', _19 => _19(pathname)]);
1384
+ } else if (mode === "development" /* Development */ && _optionalChain([getDevServerHooks, 'call', _10 => _10(), 'optionalAccess', _11 => _11.getCriticalCss])) {
1385
+ criticalCss = await _optionalChain([getDevServerHooks, 'call', _12 => _12(), 'optionalAccess', _13 => _13.getCriticalCss, 'optionalCall', _14 => _14(pathname)]);
1429
1386
  }
1430
1387
  response = await handleDocumentRequest(
1431
1388
  serverMode,
@@ -1448,7 +1405,7 @@ function derive(build, mode) {
1448
1405
  return response;
1449
1406
  };
1450
1407
  if (build.entry.module.instrumentations) {
1451
- requestHandler = _chunkKFNXW4ALjs.instrumentHandler.call(void 0,
1408
+ requestHandler = _chunkU7ORXROYjs.instrumentHandler.call(void 0,
1452
1409
  requestHandler,
1453
1410
  build.entry.module.instrumentations.map((i) => i.handler).filter(Boolean)
1454
1411
  );
@@ -1485,6 +1442,12 @@ var createRequestHandler = (build, mode) => {
1485
1442
  };
1486
1443
  };
1487
1444
  async function handleManifestRequest(build, dataRoutes, branches, url) {
1445
+ if (url.toString().length > _chunkU7ORXROYjs.URL_LIMIT) {
1446
+ return new Response(null, {
1447
+ statusText: "Bad Request",
1448
+ status: 400
1449
+ });
1450
+ }
1488
1451
  if (build.assets.version !== url.searchParams.get("version")) {
1489
1452
  return new Response(null, {
1490
1453
  status: 204,
@@ -1493,28 +1456,14 @@ async function handleManifestRequest(build, dataRoutes, branches, url) {
1493
1456
  }
1494
1457
  });
1495
1458
  }
1496
- if (url.toString().length > _chunkKFNXW4ALjs.URL_LIMIT) {
1497
- return new Response(null, {
1498
- statusText: "Bad Request",
1499
- status: 400
1500
- });
1501
- }
1502
1459
  let patches = {};
1503
1460
  if (url.searchParams.has("paths")) {
1504
- let paths = /* @__PURE__ */ new Set();
1505
1461
  let pathParam = url.searchParams.get("paths") || "";
1506
- let requestedPaths = pathParam.split(",").filter(Boolean);
1507
- requestedPaths.forEach((path) => {
1462
+ let paths = new Set(pathParam.split(",").filter(Boolean));
1463
+ for (let path of paths) {
1508
1464
  if (!path.startsWith("/")) {
1509
1465
  path = `/${path}`;
1510
1466
  }
1511
- let segments = path.split("/").slice(1);
1512
- segments.forEach((_, i) => {
1513
- let partialPath = segments.slice(0, i + 1).join("/");
1514
- paths.add(`/${partialPath}`);
1515
- });
1516
- });
1517
- for (let path of paths) {
1518
1467
  let matches = matchServerRoutes(
1519
1468
  build.routes,
1520
1469
  dataRoutes,
@@ -1543,7 +1492,7 @@ async function handleManifestRequest(build, dataRoutes, branches, url) {
1543
1492
  async function handleSingleFetchRequest(serverMode, build, staticHandler, request, normalizedPath, loadContext, handleError) {
1544
1493
  let handlerUrl = new URL(request.url);
1545
1494
  handlerUrl.pathname = normalizedPath;
1546
- let response = _chunkKFNXW4ALjs.isMutationMethod.call(void 0, request.method) ? await singleFetchAction(
1495
+ let response = _chunkU7ORXROYjs.isMutationMethod.call(void 0, request.method) ? await singleFetchAction(
1547
1496
  build,
1548
1497
  serverMode,
1549
1498
  staticHandler,
@@ -1564,10 +1513,10 @@ async function handleSingleFetchRequest(serverMode, build, staticHandler, reques
1564
1513
  }
1565
1514
  async function handleDocumentRequest(serverMode, build, staticHandler, request, loadContext, handleError, isSpaMode, criticalCss) {
1566
1515
  try {
1567
- if (_chunkKFNXW4ALjs.isMutationMethod.call(void 0, request.method)) {
1516
+ if (_chunkU7ORXROYjs.isMutationMethod.call(void 0, request.method)) {
1568
1517
  try {
1569
1518
  throwIfPotentialCSRFAttack(
1570
- request.headers,
1519
+ request,
1571
1520
  Array.isArray(build.allowedActionOrigins) ? build.allowedActionOrigins : []
1572
1521
  );
1573
1522
  } catch (e) {
@@ -1580,7 +1529,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
1580
1529
  generateMiddlewareResponse: build.future.v8_middleware ? async (query) => {
1581
1530
  try {
1582
1531
  let innerResult = await query(request);
1583
- if (!_chunkKFNXW4ALjs.isResponse.call(void 0, innerResult)) {
1532
+ if (!_chunkU7ORXROYjs.isResponse.call(void 0, innerResult)) {
1584
1533
  innerResult = await renderHtml(innerResult, isSpaMode);
1585
1534
  }
1586
1535
  return innerResult;
@@ -1591,7 +1540,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
1591
1540
  } : void 0,
1592
1541
  normalizePath: (r) => getNormalizedPath(r, build.basename, build.future)
1593
1542
  });
1594
- if (!_chunkKFNXW4ALjs.isResponse.call(void 0, result)) {
1543
+ if (!_chunkU7ORXROYjs.isResponse.call(void 0, result)) {
1595
1544
  result = await renderHtml(result, isSpaMode);
1596
1545
  }
1597
1546
  return result;
@@ -1606,7 +1555,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
1606
1555
  }
1607
1556
  if (context.errors) {
1608
1557
  Object.values(context.errors).forEach((err) => {
1609
- if (!_chunkKFNXW4ALjs.isRouteErrorResponse.call(void 0, err) || err.error) {
1558
+ if (!_chunkU7ORXROYjs.isRouteErrorResponse.call(void 0, err) || err.error) {
1610
1559
  handleError(err);
1611
1560
  }
1612
1561
  });
@@ -1615,7 +1564,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
1615
1564
  let state = {
1616
1565
  loaderData: context.loaderData,
1617
1566
  actionData: context.actionData,
1618
- errors: serializeErrors(context.errors, serverMode)
1567
+ errors: context.errors
1619
1568
  };
1620
1569
  let baseServerHandoff = {
1621
1570
  basename: build.basename,
@@ -1659,10 +1608,10 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
1659
1608
  } catch (error) {
1660
1609
  handleError(error);
1661
1610
  let errorForSecondRender = error;
1662
- if (_chunkKFNXW4ALjs.isResponse.call(void 0, error)) {
1611
+ if (_chunkU7ORXROYjs.isResponse.call(void 0, error)) {
1663
1612
  try {
1664
1613
  let data2 = await unwrapResponse(error);
1665
- errorForSecondRender = new (0, _chunkKFNXW4ALjs.ErrorResponseImpl)(
1614
+ errorForSecondRender = new (0, _chunkU7ORXROYjs.ErrorResponseImpl)(
1666
1615
  error.status,
1667
1616
  error.statusText,
1668
1617
  data2
@@ -1670,7 +1619,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
1670
1619
  } catch (e) {
1671
1620
  }
1672
1621
  }
1673
- context = _chunkKFNXW4ALjs.getStaticContextFromError.call(void 0,
1622
+ context = _chunkU7ORXROYjs.getStaticContextFromError.call(void 0,
1674
1623
  staticHandler.dataRoutes,
1675
1624
  context,
1676
1625
  errorForSecondRender
@@ -1681,7 +1630,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
1681
1630
  let state2 = {
1682
1631
  loaderData: context.loaderData,
1683
1632
  actionData: context.actionData,
1684
- errors: serializeErrors(context.errors, serverMode)
1633
+ errors: context.errors
1685
1634
  };
1686
1635
  entryContext = {
1687
1636
  ...entryContext,
@@ -1730,7 +1679,7 @@ async function handleResourceRequest(serverMode, build, staticHandler, routeId,
1730
1679
  return handleQueryRouteError(error);
1731
1680
  }
1732
1681
  function handleQueryRouteResult(result) {
1733
- if (_chunkKFNXW4ALjs.isResponse.call(void 0, result)) {
1682
+ if (_chunkU7ORXROYjs.isResponse.call(void 0, result)) {
1734
1683
  return result;
1735
1684
  }
1736
1685
  if (typeof result === "string") {
@@ -1739,10 +1688,10 @@ async function handleResourceRequest(serverMode, build, staticHandler, routeId,
1739
1688
  return Response.json(result);
1740
1689
  }
1741
1690
  function handleQueryRouteError(error) {
1742
- if (_chunkKFNXW4ALjs.isResponse.call(void 0, error)) {
1691
+ if (_chunkU7ORXROYjs.isResponse.call(void 0, error)) {
1743
1692
  return error;
1744
1693
  }
1745
- if (_chunkKFNXW4ALjs.isRouteErrorResponse.call(void 0, error)) {
1694
+ if (_chunkU7ORXROYjs.isRouteErrorResponse.call(void 0, error)) {
1746
1695
  handleError(error);
1747
1696
  return errorResponseToJson(error, serverMode);
1748
1697
  }
@@ -1836,7 +1785,7 @@ function createSessionStorage({
1836
1785
  updateData,
1837
1786
  deleteData
1838
1787
  }) {
1839
- let cookie = isCookie(cookieArg) ? cookieArg : createCookie(_optionalChain([cookieArg, 'optionalAccess', _20 => _20.name]) || "__session", cookieArg);
1788
+ let cookie = isCookie(cookieArg) ? cookieArg : createCookie(_optionalChain([cookieArg, 'optionalAccess', _15 => _15.name]) || "__session", cookieArg);
1840
1789
  warnOnceAboutSigningSessionCookie(cookie);
1841
1790
  return {
1842
1791
  async getSession(cookieHeader, options) {
@@ -1846,7 +1795,7 @@ function createSessionStorage({
1846
1795
  },
1847
1796
  async commitSession(session, options) {
1848
1797
  let { id, data: data2 } = session;
1849
- let expires = _optionalChain([options, 'optionalAccess', _21 => _21.maxAge]) != null ? new Date(Date.now() + options.maxAge * 1e3) : _optionalChain([options, 'optionalAccess', _22 => _22.expires]) != null ? options.expires : cookie.expires;
1798
+ let expires = _optionalChain([options, 'optionalAccess', _16 => _16.maxAge]) != null ? new Date(Date.now() + options.maxAge * 1e3) : _optionalChain([options, 'optionalAccess', _17 => _17.expires]) != null ? options.expires : cookie.expires;
1850
1799
  if (id) {
1851
1800
  await updateData(id, data2, expires);
1852
1801
  } else {
@@ -1865,7 +1814,7 @@ function createSessionStorage({
1865
1814
  };
1866
1815
  }
1867
1816
  function warnOnceAboutSigningSessionCookie(cookie) {
1868
- _chunkKFNXW4ALjs.warnOnce.call(void 0,
1817
+ _chunkU7ORXROYjs.warnOnce.call(void 0,
1869
1818
  cookie.isSigned,
1870
1819
  `The "${cookie.name}" cookie is not signed, but session cookies should be signed to prevent tampering on the client before they are sent back to the server. See https://reactrouter.com/explanation/sessions-and-cookies#signing-cookies for more information.`
1871
1820
  );
@@ -1873,7 +1822,7 @@ function warnOnceAboutSigningSessionCookie(cookie) {
1873
1822
 
1874
1823
  // lib/server-runtime/sessions/cookieStorage.ts
1875
1824
  function createCookieSessionStorage({ cookie: cookieArg } = {}) {
1876
- let cookie = isCookie(cookieArg) ? cookieArg : createCookie(_optionalChain([cookieArg, 'optionalAccess', _23 => _23.name]) || "__session", cookieArg);
1825
+ let cookie = isCookie(cookieArg) ? cookieArg : createCookie(_optionalChain([cookieArg, 'optionalAccess', _18 => _18.name]) || "__session", cookieArg);
1877
1826
  warnOnceAboutSigningSessionCookie(cookie);
1878
1827
  return {
1879
1828
  async getSession(cookieHeader, options) {
@@ -1937,7 +1886,7 @@ function href(path, ...args) {
1937
1886
  // same regex as in .\router\utils.ts: compilePath().
1938
1887
  (_, param, questionMark) => {
1939
1888
  const isRequired = questionMark === void 0;
1940
- const value = _optionalChain([params, 'optionalAccess', _24 => _24[param]]);
1889
+ const value = _optionalChain([params, 'optionalAccess', _19 => _19[param]]);
1941
1890
  if (isRequired && value === void 0) {
1942
1891
  throw new Error(
1943
1892
  `Path '${path}' requires param '${param}' but it was not provided`
@@ -1947,7 +1896,7 @@ function href(path, ...args) {
1947
1896
  }
1948
1897
  );
1949
1898
  if (path.endsWith("*")) {
1950
- const value = _optionalChain([params, 'optionalAccess', _25 => _25["*"]]);
1899
+ const value = _optionalChain([params, 'optionalAccess', _20 => _20["*"]]);
1951
1900
  if (value !== void 0) {
1952
1901
  result += "/" + value;
1953
1902
  }
@@ -2146,14 +2095,17 @@ async function routeRSCServerRequest({
2146
2095
  const payload = await createFromReadableStream(
2147
2096
  detectRedirectResponse.body
2148
2097
  );
2149
- if (serverResponse.status === _chunkKFNXW4ALjs.SINGLE_FETCH_REDIRECT_STATUS && payload.type === "redirect") {
2098
+ if (serverResponse.status === _chunkU7ORXROYjs.SINGLE_FETCH_REDIRECT_STATUS && payload.type === "redirect") {
2099
+ if (_chunkU7ORXROYjs.hasInvalidProtocol.call(void 0, payload.location)) {
2100
+ throw new Error("Invalid redirect location");
2101
+ }
2150
2102
  const headers2 = new Headers(serverResponse.headers);
2151
2103
  headers2.delete("Content-Encoding");
2152
2104
  headers2.delete("Content-Length");
2153
2105
  headers2.delete("Content-Type");
2154
2106
  headers2.delete("X-Remix-Response");
2155
2107
  headers2.set("Location", payload.location);
2156
- return new Response(_optionalChain([serverResponseB, 'optionalAccess', _26 => _26.body]) || "", {
2108
+ return new Response(_optionalChain([serverResponseB, 'optionalAccess', _21 => _21.body]) || "", {
2157
2109
  headers: headers2,
2158
2110
  status: payload.status,
2159
2111
  statusText: serverResponse.statusText
@@ -2165,11 +2117,11 @@ async function routeRSCServerRequest({
2165
2117
  let html = await renderHTML(getPayload, {
2166
2118
  onError(error) {
2167
2119
  if (typeof error === "object" && error && "digest" in error && typeof error.digest === "string") {
2168
- renderRedirect = _chunkKFNXW4ALjs.decodeRedirectErrorDigest.call(void 0, error.digest);
2120
+ renderRedirect = _chunkU7ORXROYjs.decodeRedirectErrorDigest.call(void 0, error.digest);
2169
2121
  if (renderRedirect) {
2170
2122
  return error.digest;
2171
2123
  }
2172
- let routeErrorResponse = _chunkKFNXW4ALjs.decodeRouteErrorResponseDigest.call(void 0, error.digest);
2124
+ let routeErrorResponse = _chunkU7ORXROYjs.decodeRouteErrorResponseDigest.call(void 0, error.digest);
2173
2125
  if (routeErrorResponse) {
2174
2126
  renderError = routeErrorResponse;
2175
2127
  status = routeErrorResponse.status;
@@ -2190,6 +2142,9 @@ async function routeRSCServerRequest({
2190
2142
  }
2191
2143
  headers.set("Content-Type", "text/html; charset=utf-8");
2192
2144
  if (renderRedirect) {
2145
+ if (_chunkU7ORXROYjs.hasInvalidProtocol.call(void 0, renderRedirect.location)) {
2146
+ throw new Error("Invalid redirect location");
2147
+ }
2193
2148
  headers.set("Location", renderRedirect.location);
2194
2149
  return new Response(html, {
2195
2150
  status: renderRedirect.status,
@@ -2199,9 +2154,12 @@ async function routeRSCServerRequest({
2199
2154
  const redirectTransform = new TransformStream({
2200
2155
  flush(controller) {
2201
2156
  if (renderRedirect) {
2157
+ if (_chunkU7ORXROYjs.hasInvalidProtocol.call(void 0, renderRedirect.location)) {
2158
+ return;
2159
+ }
2202
2160
  controller.enqueue(
2203
2161
  new TextEncoder().encode(
2204
- `<meta http-equiv="refresh" content="0;url=${_chunkKFNXW4ALjs.escapeHtml.call(void 0, renderRedirect.location)}"/>`
2162
+ `<meta http-equiv="refresh" content="0;url=${_chunkU7ORXROYjs.escapeHtml.call(void 0, renderRedirect.location)}"/>`
2205
2163
  )
2206
2164
  );
2207
2165
  }
@@ -2214,7 +2172,7 @@ async function routeRSCServerRequest({
2214
2172
  headers
2215
2173
  });
2216
2174
  }
2217
- if (!_optionalChain([serverResponseB, 'optionalAccess', _27 => _27.body])) {
2175
+ if (!_optionalChain([serverResponseB, 'optionalAccess', _22 => _22.body])) {
2218
2176
  throw new Error("Failed to clone server response");
2219
2177
  }
2220
2178
  const body2 = html.pipeThrough(injectRSCPayload(serverResponseB.body)).pipeThrough(redirectTransform);
@@ -2228,6 +2186,9 @@ async function routeRSCServerRequest({
2228
2186
  return error;
2229
2187
  }
2230
2188
  if (renderRedirect) {
2189
+ if (_chunkU7ORXROYjs.hasInvalidProtocol.call(void 0, renderRedirect.location)) {
2190
+ throw new Error("Invalid redirect location");
2191
+ }
2231
2192
  return new Response(`Redirect: ${renderRedirect.location}`, {
2232
2193
  status: renderRedirect.status,
2233
2194
  headers: {
@@ -2237,7 +2198,7 @@ async function routeRSCServerRequest({
2237
2198
  }
2238
2199
  try {
2239
2200
  let normalizedError = _nullishCoalesce(renderError, () => ( error));
2240
- let [status, statusText] = _chunkKFNXW4ALjs.isRouteErrorResponse.call(void 0, normalizedError) ? [normalizedError.status, normalizedError.statusText] : [500, ""];
2201
+ let [status, statusText] = _chunkU7ORXROYjs.isRouteErrorResponse.call(void 0, normalizedError) ? [normalizedError.status, normalizedError.statusText] : [500, ""];
2241
2202
  let retryRedirect;
2242
2203
  let reactHeaders = new Headers();
2243
2204
  const html = await renderHTML(
@@ -2274,11 +2235,11 @@ async function routeRSCServerRequest({
2274
2235
  {
2275
2236
  onError(error2) {
2276
2237
  if (typeof error2 === "object" && error2 && "digest" in error2 && typeof error2.digest === "string") {
2277
- retryRedirect = _chunkKFNXW4ALjs.decodeRedirectErrorDigest.call(void 0, error2.digest);
2238
+ retryRedirect = _chunkU7ORXROYjs.decodeRedirectErrorDigest.call(void 0, error2.digest);
2278
2239
  if (retryRedirect) {
2279
2240
  return error2.digest;
2280
2241
  }
2281
- let routeErrorResponse = _chunkKFNXW4ALjs.decodeRouteErrorResponseDigest.call(void 0,
2242
+ let routeErrorResponse = _chunkU7ORXROYjs.decodeRouteErrorResponseDigest.call(void 0,
2282
2243
  error2.digest
2283
2244
  );
2284
2245
  if (routeErrorResponse) {
@@ -2301,6 +2262,9 @@ async function routeRSCServerRequest({
2301
2262
  }
2302
2263
  headers.set("Content-Type", "text/html; charset=utf-8");
2303
2264
  if (retryRedirect) {
2265
+ if (_chunkU7ORXROYjs.hasInvalidProtocol.call(void 0, retryRedirect.location)) {
2266
+ throw new Error("Invalid redirect location");
2267
+ }
2304
2268
  headers.set("Location", retryRedirect.location);
2305
2269
  return new Response(html, {
2306
2270
  status: retryRedirect.status,
@@ -2310,9 +2274,12 @@ async function routeRSCServerRequest({
2310
2274
  const retryRedirectTransform = new TransformStream({
2311
2275
  flush(controller) {
2312
2276
  if (retryRedirect) {
2277
+ if (_chunkU7ORXROYjs.hasInvalidProtocol.call(void 0, retryRedirect.location)) {
2278
+ return;
2279
+ }
2313
2280
  controller.enqueue(
2314
2281
  new TextEncoder().encode(
2315
- `<meta http-equiv="refresh" content="0;url=${_chunkKFNXW4ALjs.escapeHtml.call(void 0, retryRedirect.location)}"/>`
2282
+ `<meta http-equiv="refresh" content="0;url=${_chunkU7ORXROYjs.escapeHtml.call(void 0, retryRedirect.location)}"/>`
2316
2283
  )
2317
2284
  );
2318
2285
  }
@@ -2325,7 +2292,7 @@ async function routeRSCServerRequest({
2325
2292
  headers
2326
2293
  });
2327
2294
  }
2328
- if (!_optionalChain([serverResponseB, 'optionalAccess', _28 => _28.body])) {
2295
+ if (!_optionalChain([serverResponseB, 'optionalAccess', _23 => _23.body])) {
2329
2296
  throw new Error("Failed to clone server response");
2330
2297
  }
2331
2298
  const body2 = html.pipeThrough(injectRSCPayload(serverResponseB.body)).pipeThrough(retryRedirectTransform);
@@ -2343,6 +2310,9 @@ function RSCStaticRouter({ getPayload }) {
2343
2310
  const decoded = getPayload();
2344
2311
  const payload = useSafe(decoded);
2345
2312
  if (payload.type === "redirect") {
2313
+ if (_chunkU7ORXROYjs.hasInvalidProtocol.call(void 0, payload.location)) {
2314
+ throw new Error("Invalid redirect location");
2315
+ }
2346
2316
  throw new Response(null, {
2347
2317
  status: payload.status,
2348
2318
  headers: {
@@ -2353,7 +2323,7 @@ function RSCStaticRouter({ getPayload }) {
2353
2323
  if (payload.type !== "render") return null;
2354
2324
  let patchedLoaderData = { ...payload.loaderData };
2355
2325
  for (const match of payload.matches) {
2356
- if (_chunkKFNXW4ALjs.shouldHydrateRouteLoader.call(void 0,
2326
+ if (_chunkU7ORXROYjs.shouldHydrateRouteLoader.call(void 0,
2357
2327
  match.id,
2358
2328
  match.clientLoader,
2359
2329
  match.hasLoader,
@@ -2393,7 +2363,7 @@ function RSCStaticRouter({ getPayload }) {
2393
2363
  }
2394
2364
  }))
2395
2365
  };
2396
- const router = _chunkPULC7NLKjs.createStaticRouter.call(void 0,
2366
+ const router = _chunkYL5M26XIjs.createStaticRouter.call(void 0,
2397
2367
  payload.matches.reduceRight((previous, match) => {
2398
2368
  const route = {
2399
2369
  id: match.id,
@@ -2441,10 +2411,10 @@ function RSCStaticRouter({ getPayload }) {
2441
2411
  mode: "lazy",
2442
2412
  manifestPath: payload.routeDiscovery.manifestPath || defaultManifestPath
2443
2413
  },
2444
- routeModules: _chunkPBLBZ3QUjs.createRSCRouteModules.call(void 0, payload)
2414
+ routeModules: _chunkWW7PN6QIjs.createRSCRouteModules.call(void 0, payload)
2445
2415
  };
2446
- return /* @__PURE__ */ React3.createElement(_chunkKFNXW4ALjs.RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React3.createElement(_chunkPBLBZ3QUjs.RSCRouterGlobalErrorBoundary, { location: payload.location }, /* @__PURE__ */ React3.createElement(_chunkKFNXW4ALjs.FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React3.createElement(
2447
- _chunkPULC7NLKjs.StaticRouterProvider,
2416
+ return /* @__PURE__ */ React3.createElement(_chunkU7ORXROYjs.RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React3.createElement(_chunkWW7PN6QIjs.RSCRouterGlobalErrorBoundary, { location: payload.location }, /* @__PURE__ */ React3.createElement(_chunkU7ORXROYjs.FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React3.createElement(
2417
+ _chunkYL5M26XIjs.StaticRouterProvider,
2448
2418
  {
2449
2419
  context,
2450
2420
  router,
@@ -2460,44 +2430,6 @@ function isManifestRequest(url) {
2460
2430
  return url.pathname.endsWith(".manifest");
2461
2431
  }
2462
2432
 
2463
- // lib/dom/ssr/errors.ts
2464
- function deserializeErrors(errors) {
2465
- if (!errors) return null;
2466
- let entries = Object.entries(errors);
2467
- let serialized = {};
2468
- for (let [key, val] of entries) {
2469
- if (val && val.__type === "RouteErrorResponse") {
2470
- serialized[key] = new (0, _chunkKFNXW4ALjs.ErrorResponseImpl)(
2471
- val.status,
2472
- val.statusText,
2473
- val.data,
2474
- val.internal === true
2475
- );
2476
- } else if (val && val.__type === "Error") {
2477
- if (val.__subType) {
2478
- let ErrorConstructor = window[val.__subType];
2479
- if (typeof ErrorConstructor === "function") {
2480
- try {
2481
- let error = new ErrorConstructor(val.message);
2482
- error.stack = val.stack;
2483
- serialized[key] = error;
2484
- } catch (e) {
2485
- }
2486
- }
2487
- }
2488
- if (serialized[key] == null) {
2489
- let error = new Error(val.message);
2490
- error.stack = val.stack;
2491
- serialized[key] = error;
2492
- }
2493
- } else {
2494
- serialized[key] = val;
2495
- }
2496
- }
2497
- return serialized;
2498
- }
2499
-
2500
-
2501
2433
 
2502
2434
 
2503
2435
 
@@ -2627,4 +2559,4 @@ function deserializeErrors(errors) {
2627
2559
 
2628
2560
 
2629
2561
 
2630
- exports.Await = _chunkKFNXW4ALjs.Await; exports.BrowserRouter = _chunkPULC7NLKjs.BrowserRouter; exports.Form = _chunkPULC7NLKjs.Form; exports.HashRouter = _chunkPULC7NLKjs.HashRouter; exports.IDLE_BLOCKER = _chunkKFNXW4ALjs.IDLE_BLOCKER; exports.IDLE_FETCHER = _chunkKFNXW4ALjs.IDLE_FETCHER; exports.IDLE_NAVIGATION = _chunkKFNXW4ALjs.IDLE_NAVIGATION; exports.Link = _chunkPULC7NLKjs.Link; exports.Links = _chunkKFNXW4ALjs.Links; exports.MemoryRouter = _chunkKFNXW4ALjs.MemoryRouter; exports.Meta = _chunkKFNXW4ALjs.Meta; exports.NavLink = _chunkPULC7NLKjs.NavLink; exports.Navigate = _chunkKFNXW4ALjs.Navigate; exports.NavigationType = _chunkKFNXW4ALjs.Action; exports.Outlet = _chunkKFNXW4ALjs.Outlet; exports.PrefetchPageLinks = _chunkKFNXW4ALjs.PrefetchPageLinks; exports.Route = _chunkKFNXW4ALjs.Route; exports.Router = _chunkKFNXW4ALjs.Router; exports.RouterContextProvider = _chunkKFNXW4ALjs.RouterContextProvider; exports.RouterProvider = _chunkKFNXW4ALjs.RouterProvider; exports.Routes = _chunkKFNXW4ALjs.Routes; exports.Scripts = _chunkKFNXW4ALjs.Scripts; exports.ScrollRestoration = _chunkPULC7NLKjs.ScrollRestoration; exports.ServerRouter = ServerRouter; exports.StaticRouter = _chunkPULC7NLKjs.StaticRouter; exports.StaticRouterProvider = _chunkPULC7NLKjs.StaticRouterProvider; exports.UNSAFE_AwaitContextProvider = _chunkKFNXW4ALjs.AwaitContextProvider; exports.UNSAFE_DataRouterContext = _chunkKFNXW4ALjs.DataRouterContext; exports.UNSAFE_DataRouterStateContext = _chunkKFNXW4ALjs.DataRouterStateContext; exports.UNSAFE_ErrorResponseImpl = _chunkKFNXW4ALjs.ErrorResponseImpl; exports.UNSAFE_FetchersContext = _chunkKFNXW4ALjs.FetchersContext; exports.UNSAFE_FrameworkContext = _chunkKFNXW4ALjs.FrameworkContext; exports.UNSAFE_LocationContext = _chunkKFNXW4ALjs.LocationContext; exports.UNSAFE_NavigationContext = _chunkKFNXW4ALjs.NavigationContext; exports.UNSAFE_RSCDefaultRootErrorBoundary = _chunkPBLBZ3QUjs.RSCDefaultRootErrorBoundary; exports.UNSAFE_RemixErrorBoundary = _chunkKFNXW4ALjs.RemixErrorBoundary; exports.UNSAFE_RouteContext = _chunkKFNXW4ALjs.RouteContext; exports.UNSAFE_ServerMode = ServerMode; exports.UNSAFE_SingleFetchRedirectSymbol = _chunkKFNXW4ALjs.SingleFetchRedirectSymbol; exports.UNSAFE_ViewTransitionContext = _chunkKFNXW4ALjs.ViewTransitionContext; exports.UNSAFE_WithComponentProps = _chunkKFNXW4ALjs.WithComponentProps; exports.UNSAFE_WithErrorBoundaryProps = _chunkKFNXW4ALjs.WithErrorBoundaryProps; exports.UNSAFE_WithHydrateFallbackProps = _chunkKFNXW4ALjs.WithHydrateFallbackProps; exports.UNSAFE_createBrowserHistory = _chunkKFNXW4ALjs.createBrowserHistory; exports.UNSAFE_createClientRoutes = _chunkKFNXW4ALjs.createClientRoutes; exports.UNSAFE_createClientRoutesWithHMRRevalidationOptOut = _chunkKFNXW4ALjs.createClientRoutesWithHMRRevalidationOptOut; exports.UNSAFE_createHashHistory = _chunkKFNXW4ALjs.createHashHistory; exports.UNSAFE_createMemoryHistory = _chunkKFNXW4ALjs.createMemoryHistory; exports.UNSAFE_createRouter = _chunkKFNXW4ALjs.createRouter; exports.UNSAFE_decodeViaTurboStream = _chunkKFNXW4ALjs.decodeViaTurboStream; exports.UNSAFE_deserializeErrors = deserializeErrors; exports.UNSAFE_getHydrationData = _chunkPBLBZ3QUjs.getHydrationData; exports.UNSAFE_getPatchRoutesOnNavigationFunction = _chunkKFNXW4ALjs.getPatchRoutesOnNavigationFunction; exports.UNSAFE_getTurboStreamSingleFetchDataStrategy = _chunkKFNXW4ALjs.getTurboStreamSingleFetchDataStrategy; exports.UNSAFE_hydrationRouteProperties = _chunkKFNXW4ALjs.hydrationRouteProperties; exports.UNSAFE_invariant = _chunkKFNXW4ALjs.invariant; exports.UNSAFE_mapRouteProperties = _chunkKFNXW4ALjs.mapRouteProperties; exports.UNSAFE_shouldHydrateRouteLoader = _chunkKFNXW4ALjs.shouldHydrateRouteLoader; exports.UNSAFE_useFogOFWarDiscovery = _chunkKFNXW4ALjs.useFogOFWarDiscovery; exports.UNSAFE_useScrollRestoration = _chunkPULC7NLKjs.useScrollRestoration; exports.UNSAFE_withComponentProps = _chunkKFNXW4ALjs.withComponentProps; exports.UNSAFE_withErrorBoundaryProps = _chunkKFNXW4ALjs.withErrorBoundaryProps; exports.UNSAFE_withHydrateFallbackProps = _chunkKFNXW4ALjs.withHydrateFallbackProps; exports.createBrowserRouter = _chunkPULC7NLKjs.createBrowserRouter; exports.createContext = _chunkKFNXW4ALjs.createContext; exports.createCookie = createCookie; exports.createCookieSessionStorage = createCookieSessionStorage; exports.createHashRouter = _chunkPULC7NLKjs.createHashRouter; exports.createMemoryRouter = _chunkKFNXW4ALjs.createMemoryRouter; exports.createMemorySessionStorage = createMemorySessionStorage; exports.createPath = _chunkKFNXW4ALjs.createPath; exports.createRequestHandler = createRequestHandler; exports.createRoutesFromChildren = _chunkKFNXW4ALjs.createRoutesFromChildren; exports.createRoutesFromElements = _chunkKFNXW4ALjs.createRoutesFromElements; exports.createRoutesStub = createRoutesStub; exports.createSearchParams = _chunkPULC7NLKjs.createSearchParams; exports.createSession = createSession; exports.createSessionStorage = createSessionStorage; exports.createStaticHandler = _chunkPULC7NLKjs.createStaticHandler; exports.createStaticRouter = _chunkPULC7NLKjs.createStaticRouter; exports.data = _chunkKFNXW4ALjs.data; exports.generatePath = _chunkKFNXW4ALjs.generatePath; exports.href = href; exports.isCookie = isCookie; exports.isRouteErrorResponse = _chunkKFNXW4ALjs.isRouteErrorResponse; exports.isSession = isSession; exports.matchPath = _chunkKFNXW4ALjs.matchPath; exports.matchRoutes = _chunkKFNXW4ALjs.matchRoutes; exports.parsePath = _chunkKFNXW4ALjs.parsePath; exports.redirect = _chunkKFNXW4ALjs.redirect; exports.redirectDocument = _chunkKFNXW4ALjs.redirectDocument; exports.renderMatches = _chunkKFNXW4ALjs.renderMatches; exports.replace = _chunkKFNXW4ALjs.replace; exports.resolvePath = _chunkKFNXW4ALjs.resolvePath; exports.unstable_HistoryRouter = _chunkPULC7NLKjs.HistoryRouter; exports.unstable_RSCStaticRouter = RSCStaticRouter; exports.unstable_routeRSCServerRequest = routeRSCServerRequest; exports.unstable_setDevServerHooks = setDevServerHooks; exports.unstable_usePrompt = _chunkPULC7NLKjs.usePrompt; exports.unstable_useRoute = _chunkKFNXW4ALjs.useRoute; exports.unstable_useRouterState = _chunkKFNXW4ALjs.useRouterState; exports.useActionData = _chunkKFNXW4ALjs.useActionData; exports.useAsyncError = _chunkKFNXW4ALjs.useAsyncError; exports.useAsyncValue = _chunkKFNXW4ALjs.useAsyncValue; exports.useBeforeUnload = _chunkPULC7NLKjs.useBeforeUnload; exports.useBlocker = _chunkKFNXW4ALjs.useBlocker; exports.useFetcher = _chunkPULC7NLKjs.useFetcher; exports.useFetchers = _chunkPULC7NLKjs.useFetchers; exports.useFormAction = _chunkPULC7NLKjs.useFormAction; exports.useHref = _chunkKFNXW4ALjs.useHref; exports.useInRouterContext = _chunkKFNXW4ALjs.useInRouterContext; exports.useLinkClickHandler = _chunkPULC7NLKjs.useLinkClickHandler; exports.useLoaderData = _chunkKFNXW4ALjs.useLoaderData; exports.useLocation = _chunkKFNXW4ALjs.useLocation; exports.useMatch = _chunkKFNXW4ALjs.useMatch; exports.useMatches = _chunkKFNXW4ALjs.useMatches; exports.useNavigate = _chunkKFNXW4ALjs.useNavigate; exports.useNavigation = _chunkKFNXW4ALjs.useNavigation; exports.useNavigationType = _chunkKFNXW4ALjs.useNavigationType; exports.useOutlet = _chunkKFNXW4ALjs.useOutlet; exports.useOutletContext = _chunkKFNXW4ALjs.useOutletContext; exports.useParams = _chunkKFNXW4ALjs.useParams; exports.useResolvedPath = _chunkKFNXW4ALjs.useResolvedPath; exports.useRevalidator = _chunkKFNXW4ALjs.useRevalidator; exports.useRouteError = _chunkKFNXW4ALjs.useRouteError; exports.useRouteLoaderData = _chunkKFNXW4ALjs.useRouteLoaderData; exports.useRoutes = _chunkKFNXW4ALjs.useRoutes; exports.useSearchParams = _chunkPULC7NLKjs.useSearchParams; exports.useSubmit = _chunkPULC7NLKjs.useSubmit; exports.useViewTransitionState = _chunkPULC7NLKjs.useViewTransitionState;
2562
+ exports.Await = _chunkU7ORXROYjs.Await; exports.BrowserRouter = _chunkYL5M26XIjs.BrowserRouter; exports.Form = _chunkYL5M26XIjs.Form; exports.HashRouter = _chunkYL5M26XIjs.HashRouter; exports.IDLE_BLOCKER = _chunkU7ORXROYjs.IDLE_BLOCKER; exports.IDLE_FETCHER = _chunkU7ORXROYjs.IDLE_FETCHER; exports.IDLE_NAVIGATION = _chunkU7ORXROYjs.IDLE_NAVIGATION; exports.Link = _chunkYL5M26XIjs.Link; exports.Links = _chunkU7ORXROYjs.Links; exports.MemoryRouter = _chunkU7ORXROYjs.MemoryRouter; exports.Meta = _chunkU7ORXROYjs.Meta; exports.NavLink = _chunkYL5M26XIjs.NavLink; exports.Navigate = _chunkU7ORXROYjs.Navigate; exports.NavigationType = _chunkU7ORXROYjs.Action; exports.Outlet = _chunkU7ORXROYjs.Outlet; exports.PrefetchPageLinks = _chunkU7ORXROYjs.PrefetchPageLinks; exports.Route = _chunkU7ORXROYjs.Route; exports.Router = _chunkU7ORXROYjs.Router; exports.RouterContextProvider = _chunkU7ORXROYjs.RouterContextProvider; exports.RouterProvider = _chunkU7ORXROYjs.RouterProvider; exports.Routes = _chunkU7ORXROYjs.Routes; exports.Scripts = _chunkU7ORXROYjs.Scripts; exports.ScrollRestoration = _chunkYL5M26XIjs.ScrollRestoration; exports.ServerRouter = ServerRouter; exports.StaticRouter = _chunkYL5M26XIjs.StaticRouter; exports.StaticRouterProvider = _chunkYL5M26XIjs.StaticRouterProvider; exports.UNSAFE_AwaitContextProvider = _chunkU7ORXROYjs.AwaitContextProvider; exports.UNSAFE_DataRouterContext = _chunkU7ORXROYjs.DataRouterContext; exports.UNSAFE_DataRouterStateContext = _chunkU7ORXROYjs.DataRouterStateContext; exports.UNSAFE_ErrorResponseImpl = _chunkU7ORXROYjs.ErrorResponseImpl; exports.UNSAFE_FetchersContext = _chunkU7ORXROYjs.FetchersContext; exports.UNSAFE_FrameworkContext = _chunkU7ORXROYjs.FrameworkContext; exports.UNSAFE_LocationContext = _chunkU7ORXROYjs.LocationContext; exports.UNSAFE_NavigationContext = _chunkU7ORXROYjs.NavigationContext; exports.UNSAFE_RSCDefaultRootErrorBoundary = _chunkWW7PN6QIjs.RSCDefaultRootErrorBoundary; exports.UNSAFE_RemixErrorBoundary = _chunkU7ORXROYjs.RemixErrorBoundary; exports.UNSAFE_RouteContext = _chunkU7ORXROYjs.RouteContext; exports.UNSAFE_ServerMode = ServerMode; exports.UNSAFE_SingleFetchRedirectSymbol = _chunkU7ORXROYjs.SingleFetchRedirectSymbol; exports.UNSAFE_ViewTransitionContext = _chunkU7ORXROYjs.ViewTransitionContext; exports.UNSAFE_WithComponentProps = _chunkU7ORXROYjs.WithComponentProps; exports.UNSAFE_WithErrorBoundaryProps = _chunkU7ORXROYjs.WithErrorBoundaryProps; exports.UNSAFE_WithHydrateFallbackProps = _chunkU7ORXROYjs.WithHydrateFallbackProps; exports.UNSAFE_createBrowserHistory = _chunkU7ORXROYjs.createBrowserHistory; exports.UNSAFE_createClientRoutes = _chunkU7ORXROYjs.createClientRoutes; exports.UNSAFE_createClientRoutesWithHMRRevalidationOptOut = _chunkU7ORXROYjs.createClientRoutesWithHMRRevalidationOptOut; exports.UNSAFE_createHashHistory = _chunkU7ORXROYjs.createHashHistory; exports.UNSAFE_createMemoryHistory = _chunkU7ORXROYjs.createMemoryHistory; exports.UNSAFE_createRouter = _chunkU7ORXROYjs.createRouter; exports.UNSAFE_decodeViaTurboStream = _chunkU7ORXROYjs.decodeViaTurboStream; exports.UNSAFE_getHydrationData = _chunkWW7PN6QIjs.getHydrationData; exports.UNSAFE_getPatchRoutesOnNavigationFunction = _chunkU7ORXROYjs.getPatchRoutesOnNavigationFunction; exports.UNSAFE_getTurboStreamSingleFetchDataStrategy = _chunkU7ORXROYjs.getTurboStreamSingleFetchDataStrategy; exports.UNSAFE_hydrationRouteProperties = _chunkU7ORXROYjs.hydrationRouteProperties; exports.UNSAFE_invariant = _chunkU7ORXROYjs.invariant; exports.UNSAFE_mapRouteProperties = _chunkU7ORXROYjs.mapRouteProperties; exports.UNSAFE_shouldHydrateRouteLoader = _chunkU7ORXROYjs.shouldHydrateRouteLoader; exports.UNSAFE_useFogOFWarDiscovery = _chunkU7ORXROYjs.useFogOFWarDiscovery; exports.UNSAFE_useScrollRestoration = _chunkYL5M26XIjs.useScrollRestoration; exports.UNSAFE_withComponentProps = _chunkU7ORXROYjs.withComponentProps; exports.UNSAFE_withErrorBoundaryProps = _chunkU7ORXROYjs.withErrorBoundaryProps; exports.UNSAFE_withHydrateFallbackProps = _chunkU7ORXROYjs.withHydrateFallbackProps; exports.createBrowserRouter = _chunkYL5M26XIjs.createBrowserRouter; exports.createContext = _chunkU7ORXROYjs.createContext; exports.createCookie = createCookie; exports.createCookieSessionStorage = createCookieSessionStorage; exports.createHashRouter = _chunkYL5M26XIjs.createHashRouter; exports.createMemoryRouter = _chunkU7ORXROYjs.createMemoryRouter; exports.createMemorySessionStorage = createMemorySessionStorage; exports.createPath = _chunkU7ORXROYjs.createPath; exports.createRequestHandler = createRequestHandler; exports.createRoutesFromChildren = _chunkU7ORXROYjs.createRoutesFromChildren; exports.createRoutesFromElements = _chunkU7ORXROYjs.createRoutesFromElements; exports.createRoutesStub = createRoutesStub; exports.createSearchParams = _chunkYL5M26XIjs.createSearchParams; exports.createSession = createSession; exports.createSessionStorage = createSessionStorage; exports.createStaticHandler = _chunkYL5M26XIjs.createStaticHandler; exports.createStaticRouter = _chunkYL5M26XIjs.createStaticRouter; exports.data = _chunkU7ORXROYjs.data; exports.generatePath = _chunkU7ORXROYjs.generatePath; exports.href = href; exports.isCookie = isCookie; exports.isRouteErrorResponse = _chunkU7ORXROYjs.isRouteErrorResponse; exports.isSession = isSession; exports.matchPath = _chunkU7ORXROYjs.matchPath; exports.matchRoutes = _chunkU7ORXROYjs.matchRoutes; exports.parsePath = _chunkU7ORXROYjs.parsePath; exports.redirect = _chunkU7ORXROYjs.redirect; exports.redirectDocument = _chunkU7ORXROYjs.redirectDocument; exports.renderMatches = _chunkU7ORXROYjs.renderMatches; exports.replace = _chunkU7ORXROYjs.replace; exports.resolvePath = _chunkU7ORXROYjs.resolvePath; exports.unstable_HistoryRouter = _chunkYL5M26XIjs.HistoryRouter; exports.unstable_RSCStaticRouter = RSCStaticRouter; exports.unstable_routeRSCServerRequest = routeRSCServerRequest; exports.unstable_setDevServerHooks = setDevServerHooks; exports.unstable_usePrompt = _chunkYL5M26XIjs.usePrompt; exports.unstable_useRoute = _chunkU7ORXROYjs.useRoute; exports.unstable_useRouterState = _chunkU7ORXROYjs.useRouterState; exports.useActionData = _chunkU7ORXROYjs.useActionData; exports.useAsyncError = _chunkU7ORXROYjs.useAsyncError; exports.useAsyncValue = _chunkU7ORXROYjs.useAsyncValue; exports.useBeforeUnload = _chunkYL5M26XIjs.useBeforeUnload; exports.useBlocker = _chunkU7ORXROYjs.useBlocker; exports.useFetcher = _chunkYL5M26XIjs.useFetcher; exports.useFetchers = _chunkYL5M26XIjs.useFetchers; exports.useFormAction = _chunkYL5M26XIjs.useFormAction; exports.useHref = _chunkU7ORXROYjs.useHref; exports.useInRouterContext = _chunkU7ORXROYjs.useInRouterContext; exports.useLinkClickHandler = _chunkYL5M26XIjs.useLinkClickHandler; exports.useLoaderData = _chunkU7ORXROYjs.useLoaderData; exports.useLocation = _chunkU7ORXROYjs.useLocation; exports.useMatch = _chunkU7ORXROYjs.useMatch; exports.useMatches = _chunkU7ORXROYjs.useMatches; exports.useNavigate = _chunkU7ORXROYjs.useNavigate; exports.useNavigation = _chunkU7ORXROYjs.useNavigation; exports.useNavigationType = _chunkU7ORXROYjs.useNavigationType; exports.useOutlet = _chunkU7ORXROYjs.useOutlet; exports.useOutletContext = _chunkU7ORXROYjs.useOutletContext; exports.useParams = _chunkU7ORXROYjs.useParams; exports.useResolvedPath = _chunkU7ORXROYjs.useResolvedPath; exports.useRevalidator = _chunkU7ORXROYjs.useRevalidator; exports.useRouteError = _chunkU7ORXROYjs.useRouteError; exports.useRouteLoaderData = _chunkU7ORXROYjs.useRouteLoaderData; exports.useRoutes = _chunkU7ORXROYjs.useRoutes; exports.useSearchParams = _chunkYL5M26XIjs.useSearchParams; exports.useSubmit = _chunkYL5M26XIjs.useSubmit; exports.useViewTransitionState = _chunkYL5M26XIjs.useViewTransitionState;