react-router 7.16.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 (157) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/dist/development/{browser-D3uq9sI1.d.ts → browser-B2PdsXXH.d.ts} +2 -2
  3. package/dist/development/{browser-nIQ4Nsyi.d.mts → browser-DBmQ1yAR.d.mts} +2 -2
  4. package/dist/development/{chunk-QUQL4437.mjs → chunk-4ZMWKKQ3.mjs} +115 -38
  5. package/dist/development/{chunk-S54KXAEJ.mjs → chunk-E4MTK73K.mjs} +45 -113
  6. package/dist/development/{chunk-SRID2YZ2.js → chunk-U7ORXROY.js} +113 -35
  7. package/dist/development/{chunk-XEJDWL2B.js → chunk-WW7PN6QI.js} +7 -7
  8. package/dist/{production/chunk-SKEDDLRM.js → development/chunk-YL5M26XI.js} +111 -108
  9. package/dist/development/{context-m8rizgnE.d.mts → context-CeD5LmaF.d.mts} +13 -5
  10. package/dist/{production/data-D4xhSy90.d.ts → development/data-CjO11-hU.d.ts} +9 -1
  11. package/dist/{production/data-U8FS-wNn.d.mts → development/data-DEjBmEfD.d.mts} +9 -1
  12. package/dist/development/dom-export.d.mts +4 -4
  13. package/dist/development/dom-export.d.ts +4 -4
  14. package/dist/development/dom-export.js +46 -44
  15. package/dist/development/dom-export.mjs +23 -21
  16. package/dist/{production/index-react-server-client-BLiUx67a.d.ts → development/index-react-server-client-3ykjivgQ.d.ts} +30 -8
  17. package/dist/development/{index-react-server-client-CdKROblb.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-nIQ4Nsyi.d.mts → browser-DBmQ1yAR.d.mts} +2 -2
  39. package/dist/production/{chunk-EAQNHM3N.js → chunk-3Z6WS2WZ.js} +7 -7
  40. package/dist/{development/chunk-IBI7OMNB.js → production/chunk-BIP66BKV.js} +111 -108
  41. package/dist/production/{chunk-NALGHHKE.mjs → chunk-EGOTSXNH.mjs} +45 -113
  42. package/dist/production/{chunk-Y7DNFQZP.js → chunk-IUPBOWYO.js} +113 -35
  43. package/dist/production/{chunk-Q65P7S7Y.mjs → chunk-M7NGGUU6.mjs} +115 -38
  44. package/dist/production/{context-m8rizgnE.d.mts → context-CeD5LmaF.d.mts} +13 -5
  45. package/dist/{development/data-D4xhSy90.d.ts → production/data-CjO11-hU.d.ts} +9 -1
  46. package/dist/{development/data-U8FS-wNn.d.mts → production/data-DEjBmEfD.d.mts} +9 -1
  47. package/dist/production/dom-export.d.mts +4 -4
  48. package/dist/production/dom-export.d.ts +4 -4
  49. package/dist/production/dom-export.js +46 -44
  50. package/dist/production/dom-export.mjs +23 -21
  51. package/dist/{development/index-react-server-client-BLiUx67a.d.ts → production/index-react-server-client-3ykjivgQ.d.ts} +30 -8
  52. package/dist/production/{index-react-server-client-CdKROblb.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/backend-for-frontend.md +50 -0
  73. package/docs/explanation/code-splitting.md +61 -0
  74. package/docs/explanation/concurrency.md +135 -0
  75. package/docs/explanation/form-vs-fetcher.md +292 -0
  76. package/docs/explanation/hot-module-replacement.md +137 -0
  77. package/docs/explanation/hydration.md +14 -0
  78. package/docs/explanation/index-query-param.md +86 -0
  79. package/docs/explanation/index.md +4 -0
  80. package/docs/explanation/lazy-route-discovery.md +78 -0
  81. package/docs/explanation/location.md +6 -0
  82. package/docs/explanation/progressive-enhancement.md +150 -0
  83. package/docs/explanation/race-conditions.md +88 -0
  84. package/docs/explanation/react-transitions.md +160 -0
  85. package/docs/explanation/route-matching.md +7 -0
  86. package/docs/explanation/server-client-execution.md +4 -0
  87. package/docs/explanation/sessions-and-cookies.md +465 -0
  88. package/docs/explanation/special-files.md +16 -0
  89. package/docs/explanation/state-management.md +524 -0
  90. package/docs/explanation/styling.md +87 -0
  91. package/docs/explanation/type-safety.md +82 -0
  92. package/docs/how-to/accessibility.md +44 -0
  93. package/docs/how-to/client-data.md +199 -0
  94. package/docs/how-to/data-strategy.md +317 -0
  95. package/docs/how-to/error-boundary.md +231 -0
  96. package/docs/how-to/error-reporting.md +142 -0
  97. package/docs/how-to/fetchers.md +307 -0
  98. package/docs/how-to/file-route-conventions.md +410 -0
  99. package/docs/how-to/file-uploads.md +217 -0
  100. package/docs/how-to/form-validation.md +120 -0
  101. package/docs/how-to/headers.md +165 -0
  102. package/docs/how-to/index.md +4 -0
  103. package/docs/how-to/instrumentation.md +556 -0
  104. package/docs/how-to/meta.md +40 -0
  105. package/docs/how-to/middleware.md +763 -0
  106. package/docs/how-to/navigation-blocking.md +233 -0
  107. package/docs/how-to/optimize-revalidation.md +12 -0
  108. package/docs/how-to/pre-rendering.md +225 -0
  109. package/docs/how-to/presets.md +103 -0
  110. package/docs/how-to/react-server-components.md +899 -0
  111. package/docs/how-to/resource-routes.md +126 -0
  112. package/docs/how-to/route-module-type-safety.md +100 -0
  113. package/docs/how-to/search-params.md +4 -0
  114. package/docs/how-to/security.md +32 -0
  115. package/docs/how-to/server-bundles.md +66 -0
  116. package/docs/how-to/spa.md +120 -0
  117. package/docs/how-to/status.md +63 -0
  118. package/docs/how-to/suspense.md +132 -0
  119. package/docs/how-to/using-handle.md +117 -0
  120. package/docs/how-to/view-transitions.md +237 -0
  121. package/docs/how-to/webhook.md +50 -0
  122. package/docs/index.md +39 -0
  123. package/docs/start/data/actions.md +138 -0
  124. package/docs/start/data/custom.md +198 -0
  125. package/docs/start/data/data-loading.md +44 -0
  126. package/docs/start/data/index.md +4 -0
  127. package/docs/start/data/installation.md +56 -0
  128. package/docs/start/data/navigating.md +12 -0
  129. package/docs/start/data/pending-ui.md +12 -0
  130. package/docs/start/data/route-object.md +268 -0
  131. package/docs/start/data/routing.md +281 -0
  132. package/docs/start/data/testing.md +8 -0
  133. package/docs/start/declarative/index.md +4 -0
  134. package/docs/start/declarative/installation.md +43 -0
  135. package/docs/start/declarative/navigating.md +133 -0
  136. package/docs/start/declarative/routing.md +237 -0
  137. package/docs/start/declarative/url-values.md +65 -0
  138. package/docs/start/framework/actions.md +174 -0
  139. package/docs/start/framework/data-loading.md +201 -0
  140. package/docs/start/framework/deploying.md +100 -0
  141. package/docs/start/framework/index.md +4 -0
  142. package/docs/start/framework/installation.md +41 -0
  143. package/docs/start/framework/navigating.md +182 -0
  144. package/docs/start/framework/pending-ui.md +142 -0
  145. package/docs/start/framework/rendering.md +59 -0
  146. package/docs/start/framework/route-module.md +527 -0
  147. package/docs/start/framework/routing.md +362 -0
  148. package/docs/start/framework/testing.md +133 -0
  149. package/docs/start/index.md +4 -0
  150. package/docs/start/modes.md +201 -0
  151. package/docs/upgrading/component-routes.md +363 -0
  152. package/docs/upgrading/future.md +280 -0
  153. package/docs/upgrading/index.md +4 -0
  154. package/docs/upgrading/remix.md +403 -0
  155. package/docs/upgrading/router-provider.md +442 -0
  156. package/docs/upgrading/v6.md +382 -0
  157. package/package.json +2 -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.16.0
2
+ * react-router v7.18.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -13,7 +13,7 @@
13
13
 
14
14
 
15
15
 
16
- var _chunkEAQNHM3Njs = require('./chunk-EAQNHM3N.js');
16
+ var _chunk3Z6WS2WZjs = require('./chunk-3Z6WS2WZ.js');
17
17
 
18
18
 
19
19
 
@@ -34,7 +34,10 @@ var _chunkEAQNHM3Njs = require('./chunk-EAQNHM3N.js');
34
34
 
35
35
 
36
36
 
37
- var _chunkY7DNFQZPjs = require('./chunk-Y7DNFQZP.js');
37
+
38
+
39
+
40
+ var _chunkIUPBOWYOjs = require('./chunk-IUPBOWYO.js');
38
41
 
39
42
  // lib/dom-export/dom-router-provider.tsx
40
43
  var _react = require('react'); var React = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react);
@@ -62,7 +65,6 @@ function RouterProvider2(props) {
62
65
 
63
66
 
64
67
 
65
-
66
68
  var ssrInfo = null;
67
69
  var router = null;
68
70
  function initSsrInfo() {
@@ -147,9 +149,6 @@ function createHydratedRouter({
147
149
  basename: _optionalChain([window, 'access', _17 => _17.__reactRouterContext, 'optionalAccess', _18 => _18.basename]),
148
150
  isSpaMode: ssrInfo.context.isSpaMode
149
151
  });
150
- if (hydrationData && hydrationData.errors) {
151
- hydrationData.errors = _reactrouter.UNSAFE_deserializeErrors.call(void 0, hydrationData.errors);
152
- }
153
152
  }
154
153
  if (window.history.state && window.history.state.masked) {
155
154
  window.history.replaceState(
@@ -214,7 +213,7 @@ function HydratedRouter(props) {
214
213
  }, []);
215
214
  React2.useEffect(() => {
216
215
  if (process.env.NODE_ENV === "development" && criticalCss === void 0) {
217
- document.querySelectorAll(`[${_chunkY7DNFQZPjs.CRITICAL_CSS_DATA_ATTRIBUTE}]`).forEach((element) => element.remove());
216
+ document.querySelectorAll(`[${_chunkIUPBOWYOjs.CRITICAL_CSS_DATA_ATTRIBUTE}]`).forEach((element) => element.remove());
218
217
  }
219
218
  }, [criticalCss]);
220
219
  let [location2, setLocation] = React2.useState(router.state.location);
@@ -307,15 +306,16 @@ function createCallServer({
307
306
  // @ts-expect-error - Needs React 19 types
308
307
  Promise.resolve(payloadPromise).then(async (payload) => {
309
308
  if (payload.type === "redirect") {
310
- if (payload.reload || isExternalLocation(payload.location)) {
311
- if (hasInvalidProtocol(payload.location)) {
309
+ let location2 = normalizeRedirectLocation(payload.location);
310
+ if (payload.reload || isExternalLocation(location2)) {
311
+ if (_chunkIUPBOWYOjs.hasInvalidProtocol.call(void 0, location2)) {
312
312
  throw new Error("Invalid redirect location");
313
313
  }
314
- window.location.href = payload.location;
314
+ window.location.href = location2;
315
315
  return;
316
316
  }
317
317
  React3.startTransition(() => {
318
- globalVar.__reactRouterDataRouter.navigate(payload.location, {
318
+ globalVar.__reactRouterDataRouter.navigate(location2, {
319
319
  replace: payload.replace
320
320
  });
321
321
  });
@@ -327,15 +327,16 @@ function createCallServer({
327
327
  const rerender = await payload.rerender;
328
328
  if (rerender && landedActionId < actionId && globalVar.__routerActionID <= actionId) {
329
329
  if (rerender.type === "redirect") {
330
- if (rerender.reload || isExternalLocation(rerender.location)) {
331
- if (hasInvalidProtocol(rerender.location)) {
330
+ let location2 = normalizeRedirectLocation(rerender.location);
331
+ if (rerender.reload || isExternalLocation(location2)) {
332
+ if (_chunkIUPBOWYOjs.hasInvalidProtocol.call(void 0, location2)) {
332
333
  throw new Error("Invalid redirect location");
333
334
  }
334
- window.location.href = rerender.location;
335
+ window.location.href = location2;
335
336
  return;
336
337
  }
337
338
  React3.startTransition(() => {
338
- globalVar.__reactRouterDataRouter.navigate(rerender.location, {
339
+ globalVar.__reactRouterDataRouter.navigate(location2, {
339
340
  replace: rerender.replace
340
341
  });
341
342
  });
@@ -393,7 +394,7 @@ function createRouterFromPayload({
393
394
  };
394
395
  if (payload.type !== "render") throw new Error("Invalid payload type");
395
396
  globalVar.__reactRouterRouteModules = _nullishCoalesce(globalVar.__reactRouterRouteModules, () => ( {}));
396
- _chunkEAQNHM3Njs.populateRSCRouteModules.call(void 0, globalVar.__reactRouterRouteModules, payload.matches);
397
+ _chunk3Z6WS2WZjs.populateRSCRouteModules.call(void 0, globalVar.__reactRouterRouteModules, payload.matches);
397
398
  let routes = payload.matches.reduceRight((previous, match) => {
398
399
  const route = createRouteFromServerManifest(
399
400
  match,
@@ -407,12 +408,12 @@ function createRouterFromPayload({
407
408
  return [route];
408
409
  }, []);
409
410
  let applyPatchesPromise;
410
- globalVar.__reactRouterDataRouter = _chunkY7DNFQZPjs.createRouter.call(void 0, {
411
+ globalVar.__reactRouterDataRouter = _chunkIUPBOWYOjs.createRouter.call(void 0, {
411
412
  routes,
412
413
  getContext,
413
414
  basename: payload.basename,
414
- history: _chunkY7DNFQZPjs.createBrowserHistory.call(void 0, ),
415
- hydrationData: _chunkEAQNHM3Njs.getHydrationData.call(void 0, {
415
+ history: _chunkIUPBOWYOjs.createBrowserHistory.call(void 0, ),
416
+ hydrationData: _chunk3Z6WS2WZjs.getHydrationData.call(void 0, {
416
417
  state: {
417
418
  loaderData: payload.loaderData,
418
419
  actionData: payload.actionData,
@@ -421,7 +422,7 @@ function createRouterFromPayload({
421
422
  routes,
422
423
  getRouteInfo: (routeId) => {
423
424
  let match = payload.matches.find((m) => m.id === routeId);
424
- _chunkY7DNFQZPjs.invariant.call(void 0, match, "Route not found in payload");
425
+ _chunkIUPBOWYOjs.invariant.call(void 0, match, "Route not found in payload");
425
426
  return {
426
427
  clientLoader: match.clientLoader,
427
428
  hasLoader: match.hasLoader,
@@ -536,9 +537,9 @@ function createRouterFromPayload({
536
537
  routeModules: globalVar.__reactRouterRouteModules
537
538
  };
538
539
  }
539
- var renderedRoutesContext = _chunkY7DNFQZPjs.createContext.call(void 0, );
540
+ var renderedRoutesContext = _chunkIUPBOWYOjs.createContext.call(void 0, );
540
541
  function getRSCSingleFetchDataStrategy(getRouter, ssr, basename, createFromReadableStream, fetchImplementation) {
541
- let dataStrategy = _chunkY7DNFQZPjs.getSingleFetchDataStrategyImpl.call(void 0,
542
+ let dataStrategy = _chunkIUPBOWYOjs.getSingleFetchDataStrategyImpl.call(void 0,
542
543
  getRouter,
543
544
  (match) => {
544
545
  let M = match;
@@ -595,20 +596,20 @@ function getRSCSingleFetchDataStrategy(getRouter, ssr, basename, createFromReada
595
596
  function getFetchAndDecodeViaRSC(createFromReadableStream, fetchImplementation) {
596
597
  return async (args, basename, trailingSlashAware, targetRoutes) => {
597
598
  let { request, context } = args;
598
- let url = _chunkY7DNFQZPjs.singleFetchUrl.call(void 0, request.url, basename, trailingSlashAware, "rsc");
599
+ let url = _chunkIUPBOWYOjs.singleFetchUrl.call(void 0, request.url, basename, trailingSlashAware, "rsc");
599
600
  if (request.method === "GET") {
600
- url = _chunkY7DNFQZPjs.stripIndexParam.call(void 0, url);
601
+ url = _chunkIUPBOWYOjs.stripIndexParam.call(void 0, url);
601
602
  if (targetRoutes) {
602
603
  url.searchParams.set("_routes", targetRoutes.join(","));
603
604
  }
604
605
  }
605
606
  let res = await fetchImplementation(
606
- new Request(url, await _chunkY7DNFQZPjs.createRequestInit.call(void 0, request))
607
+ new Request(url, await _chunkIUPBOWYOjs.createRequestInit.call(void 0, request))
607
608
  );
608
609
  if (res.status >= 400 && !res.headers.has("X-Remix-Response")) {
609
- throw new (0, _chunkY7DNFQZPjs.ErrorResponseImpl)(res.status, res.statusText, await res.text());
610
+ throw new (0, _chunkIUPBOWYOjs.ErrorResponseImpl)(res.status, res.statusText, await res.text());
610
611
  }
611
- _chunkY7DNFQZPjs.invariant.call(void 0, res.body, "No response body to decode");
612
+ _chunkIUPBOWYOjs.invariant.call(void 0, res.body, "No response body to decode");
612
613
  try {
613
614
  const payload = await createFromReadableStream(res.body, {
614
615
  temporaryReferences: void 0
@@ -632,7 +633,7 @@ function getFetchAndDecodeViaRSC(createFromReadableStream, fetchImplementation)
632
633
  }
633
634
  context.get(renderedRoutesContext).push(...payload.matches);
634
635
  let results = { routes: {} };
635
- const dataKey = _chunkY7DNFQZPjs.isMutationMethod.call(void 0, request.method) ? "actionData" : "loaderData";
636
+ const dataKey = _chunkIUPBOWYOjs.isMutationMethod.call(void 0, request.method) ? "actionData" : "loaderData";
636
637
  for (let [routeId, data] of Object.entries(payload[dataKey] || {})) {
637
638
  results.routes[routeId] = { data };
638
639
  }
@@ -665,7 +666,7 @@ function RSCHydratedRouter({
665
666
  [createFromReadableStream, payload, fetchImplementation, getContext]
666
667
  );
667
668
  React3.useEffect(() => {
668
- _chunkY7DNFQZPjs.setIsHydrated.call(void 0, );
669
+ _chunkIUPBOWYOjs.setIsHydrated.call(void 0, );
669
670
  }, []);
670
671
  React3.useLayoutEffect(() => {
671
672
  const globalVar = window;
@@ -773,8 +774,8 @@ function RSCHydratedRouter({
773
774
  },
774
775
  routeModules
775
776
  };
776
- return /* @__PURE__ */ React3.createElement(_chunkY7DNFQZPjs.RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React3.createElement(_chunkEAQNHM3Njs.RSCRouterGlobalErrorBoundary, { location: state.location }, /* @__PURE__ */ React3.createElement(_chunkY7DNFQZPjs.FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React3.createElement(
777
- _chunkY7DNFQZPjs.RouterProvider,
777
+ return /* @__PURE__ */ React3.createElement(_chunkIUPBOWYOjs.RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React3.createElement(_chunk3Z6WS2WZjs.RSCRouterGlobalErrorBoundary, { location: state.location }, /* @__PURE__ */ React3.createElement(_chunkIUPBOWYOjs.FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React3.createElement(
778
+ _chunkIUPBOWYOjs.RouterProvider,
778
779
  {
779
780
  router: transitionEnabledRouter,
780
781
  flushSync: ReactDOM2.flushSync
@@ -790,8 +791,8 @@ function createRouteFromServerManifest(match, payload) {
790
791
  // the server loader flow regardless of whether the client loader calls
791
792
  // `serverLoader` or not, otherwise we'll have nothing to render.
792
793
  match.hasComponent && !match.element;
793
- _chunkY7DNFQZPjs.invariant.call(void 0, window.__reactRouterRouteModules);
794
- _chunkEAQNHM3Njs.populateRSCRouteModules.call(void 0, window.__reactRouterRouteModules, match);
794
+ _chunkIUPBOWYOjs.invariant.call(void 0, window.__reactRouterRouteModules);
795
+ _chunk3Z6WS2WZjs.populateRSCRouteModules.call(void 0, window.__reactRouterRouteModules, match);
795
796
  let dataRoute = {
796
797
  id: match.id,
797
798
  element: match.element,
@@ -839,7 +840,7 @@ function createRouteFromServerManifest(match, payload) {
839
840
  return await callSingleFetch(singleFetch);
840
841
  }
841
842
  }) : match.hasAction ? (_, singleFetch) => callSingleFetch(singleFetch) : () => {
842
- throw _chunkY7DNFQZPjs.noActionDefinedError.call(void 0, "action", match.id);
843
+ throw _chunkIUPBOWYOjs.noActionDefinedError.call(void 0, "action", match.id);
843
844
  },
844
845
  path: match.path,
845
846
  shouldRevalidate: match.shouldRevalidate,
@@ -851,7 +852,7 @@ function createRouteFromServerManifest(match, payload) {
851
852
  hasClientAction: match.clientAction != null
852
853
  };
853
854
  if (typeof dataRoute.loader === "function") {
854
- dataRoute.loader.hydrate = _chunkY7DNFQZPjs.shouldHydrateRouteLoader.call(void 0,
855
+ dataRoute.loader.hydrate = _chunkIUPBOWYOjs.shouldHydrateRouteLoader.call(void 0,
855
856
  match.id,
856
857
  match.clientLoader,
857
858
  match.hasLoader,
@@ -861,7 +862,7 @@ function createRouteFromServerManifest(match, payload) {
861
862
  return dataRoute;
862
863
  }
863
864
  function callSingleFetch(singleFetch) {
864
- _chunkY7DNFQZPjs.invariant.call(void 0, typeof singleFetch === "function", "Invalid singleFetch parameter");
865
+ _chunkIUPBOWYOjs.invariant.call(void 0, typeof singleFetch === "function", "Invalid singleFetch parameter");
865
866
  return singleFetch();
866
867
  }
867
868
  function preventInvalidServerHandlerCall(type, routeId, hasHandler) {
@@ -869,7 +870,7 @@ function preventInvalidServerHandlerCall(type, routeId, hasHandler) {
869
870
  let fn = type === "action" ? "serverAction()" : "serverLoader()";
870
871
  let msg = `You are trying to call ${fn} on a route that does not have a server ${type} (routeId: "${routeId}")`;
871
872
  console.error(msg);
872
- throw new (0, _chunkY7DNFQZPjs.ErrorResponseImpl)(400, "Bad Request", new Error(msg), true);
873
+ throw new (0, _chunkIUPBOWYOjs.ErrorResponseImpl)(400, "Bad Request", new Error(msg), true);
873
874
  }
874
875
  }
875
876
  var nextPaths = /* @__PURE__ */ new Set();
@@ -892,11 +893,12 @@ function getManifestUrl(paths) {
892
893
  return url;
893
894
  }
894
895
  async function fetchAndApplyManifestPatches(paths, createFromReadableStream, fetchImplementation, signal) {
896
+ paths = _chunkIUPBOWYOjs.getPathsWithAncestors.call(void 0, paths);
895
897
  let url = getManifestUrl(paths);
896
898
  if (url == null) {
897
899
  return;
898
900
  }
899
- if (url.toString().length > _chunkY7DNFQZPjs.URL_LIMIT) {
901
+ if (url.toString().length > _chunkIUPBOWYOjs.URL_LIMIT) {
900
902
  nextPaths.clear();
901
903
  return;
902
904
  }
@@ -939,12 +941,12 @@ function isExternalLocation(location2) {
939
941
  const newLocation = new URL(location2, window.location.href);
940
942
  return newLocation.origin !== window.location.origin;
941
943
  }
942
- function hasInvalidProtocol(location2) {
943
- try {
944
- return _chunkY7DNFQZPjs.invalidProtocols.includes(new URL(location2).protocol);
945
- } catch (e2) {
946
- return false;
944
+ function normalizeRedirectLocation(location2) {
945
+ if (_chunkIUPBOWYOjs.PROTOCOL_RELATIVE_URL_REGEX.test(location2)) {
946
+ let path = _chunkIUPBOWYOjs.resolvePath.call(void 0, location2);
947
+ return path.pathname + path.search + path.hash;
947
948
  }
949
+ return location2;
948
950
  }
949
951
  function cloneRoutes(routes) {
950
952
  if (!routes) return void 0;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.16.0
2
+ * react-router v7.18.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -11,14 +11,14 @@
11
11
  "use client";
12
12
  import {
13
13
  RSCRouterGlobalErrorBoundary,
14
- deserializeErrors,
15
14
  getHydrationData,
16
15
  populateRSCRouteModules
17
- } from "./chunk-NALGHHKE.mjs";
16
+ } from "./chunk-EGOTSXNH.mjs";
18
17
  import {
19
18
  CRITICAL_CSS_DATA_ATTRIBUTE,
20
19
  ErrorResponseImpl,
21
20
  FrameworkContext,
21
+ PROTOCOL_RELATIVE_URL_REGEX,
22
22
  RSCRouterContext,
23
23
  RemixErrorBoundary,
24
24
  RouterProvider,
@@ -31,20 +31,22 @@ import {
31
31
  createRouter,
32
32
  decodeViaTurboStream,
33
33
  getPatchRoutesOnNavigationFunction,
34
+ getPathsWithAncestors,
34
35
  getSingleFetchDataStrategyImpl,
35
36
  getTurboStreamSingleFetchDataStrategy,
37
+ hasInvalidProtocol,
36
38
  hydrationRouteProperties,
37
- invalidProtocols,
38
39
  invariant,
39
40
  isMutationMethod,
40
41
  mapRouteProperties,
41
42
  noActionDefinedError,
43
+ resolvePath,
42
44
  setIsHydrated,
43
45
  shouldHydrateRouteLoader,
44
46
  singleFetchUrl,
45
47
  stripIndexParam,
46
48
  useFogOFWarDiscovery
47
- } from "./chunk-Q65P7S7Y.mjs";
49
+ } from "./chunk-M7NGGUU6.mjs";
48
50
 
49
51
  // lib/dom-export/dom-router-provider.tsx
50
52
  import * as React from "react";
@@ -139,9 +141,6 @@ function createHydratedRouter({
139
141
  basename: window.__reactRouterContext?.basename,
140
142
  isSpaMode: ssrInfo.context.isSpaMode
141
143
  });
142
- if (hydrationData && hydrationData.errors) {
143
- hydrationData.errors = deserializeErrors(hydrationData.errors);
144
- }
145
144
  }
146
145
  if (window.history.state && window.history.state.masked) {
147
146
  window.history.replaceState(
@@ -299,15 +298,16 @@ function createCallServer({
299
298
  // @ts-expect-error - Needs React 19 types
300
299
  Promise.resolve(payloadPromise).then(async (payload) => {
301
300
  if (payload.type === "redirect") {
302
- if (payload.reload || isExternalLocation(payload.location)) {
303
- if (hasInvalidProtocol(payload.location)) {
301
+ let location2 = normalizeRedirectLocation(payload.location);
302
+ if (payload.reload || isExternalLocation(location2)) {
303
+ if (hasInvalidProtocol(location2)) {
304
304
  throw new Error("Invalid redirect location");
305
305
  }
306
- window.location.href = payload.location;
306
+ window.location.href = location2;
307
307
  return;
308
308
  }
309
309
  React3.startTransition(() => {
310
- globalVar.__reactRouterDataRouter.navigate(payload.location, {
310
+ globalVar.__reactRouterDataRouter.navigate(location2, {
311
311
  replace: payload.replace
312
312
  });
313
313
  });
@@ -319,15 +319,16 @@ function createCallServer({
319
319
  const rerender = await payload.rerender;
320
320
  if (rerender && landedActionId < actionId && globalVar.__routerActionID <= actionId) {
321
321
  if (rerender.type === "redirect") {
322
- if (rerender.reload || isExternalLocation(rerender.location)) {
323
- if (hasInvalidProtocol(rerender.location)) {
322
+ let location2 = normalizeRedirectLocation(rerender.location);
323
+ if (rerender.reload || isExternalLocation(location2)) {
324
+ if (hasInvalidProtocol(location2)) {
324
325
  throw new Error("Invalid redirect location");
325
326
  }
326
- window.location.href = rerender.location;
327
+ window.location.href = location2;
327
328
  return;
328
329
  }
329
330
  React3.startTransition(() => {
330
- globalVar.__reactRouterDataRouter.navigate(rerender.location, {
331
+ globalVar.__reactRouterDataRouter.navigate(location2, {
331
332
  replace: rerender.replace
332
333
  });
333
334
  });
@@ -884,6 +885,7 @@ function getManifestUrl(paths) {
884
885
  return url;
885
886
  }
886
887
  async function fetchAndApplyManifestPatches(paths, createFromReadableStream, fetchImplementation, signal) {
888
+ paths = getPathsWithAncestors(paths);
887
889
  let url = getManifestUrl(paths);
888
890
  if (url == null) {
889
891
  return;
@@ -931,12 +933,12 @@ function isExternalLocation(location2) {
931
933
  const newLocation = new URL(location2, window.location.href);
932
934
  return newLocation.origin !== window.location.origin;
933
935
  }
934
- function hasInvalidProtocol(location2) {
935
- try {
936
- return invalidProtocols.includes(new URL(location2).protocol);
937
- } catch {
938
- return false;
936
+ function normalizeRedirectLocation(location2) {
937
+ if (PROTOCOL_RELATIVE_URL_REGEX.test(location2)) {
938
+ let path = resolvePath(location2);
939
+ return path.pathname + path.search + path.hash;
939
940
  }
941
+ return location2;
940
942
  }
941
943
  function cloneRoutes(routes) {
942
944
  if (!routes) return void 0;
@@ -1,6 +1,6 @@
1
- import { l as ServerInstrumentation, H as HydrationState, f as StaticHandlerContext, c as RelativeRoutingType, a as Router$1, d as RouterState, R as RouterInit, t as FutureConfig$1, C as ClientInstrumentation, e as GetScrollRestorationKeyFunction, F as Fetcher, B as BlockerFunction, u as CreateStaticHandlerOptions$1, S as StaticHandler } from './instrumentation-1q4YhLGP.js';
1
+ import { l as ServerInstrumentation, H as HydrationState, e as StaticHandlerContext, c as RelativeRoutingType, a as Router$1, g as RouterState, R as RouterInit, t as FutureConfig$1, C as ClientInstrumentation, d as GetScrollRestorationKeyFunction, F as Fetcher, B as BlockerFunction, u as CreateStaticHandlerOptions$1, S as StaticHandler } from './instrumentation-Dkmpzd13.js';
2
2
  import * as React from 'react';
3
- import { p as RouteManifest, aE as ServerRouteModule, t as MiddlewareEnabled, c as RouterContextProvider, u as AppLoadContext, s as LoaderFunctionArgs, a0 as ActionFunctionArgs, O as RouteModules, n as DataRouteObject, a as ClientLoaderFunction, o as RouteBranch, aF as TrackedPromise, f as History, T as To, L as Location, i as Action, ac as RouteMatch, Y as InitialEntry, _ as NonIndexRouteObject, a7 as LazyRouteFunction, Z as IndexRouteObject, P as Params, l as DataStrategyFunction, m as PatchRoutesOnNavigationFunction, e as RouteObject, U as UIMatch, q as HTMLFormMethod, F as FormEncType, av as PageLinkDescriptor, Q as SerializeFrom } from './data-D4xhSy90.js';
3
+ import { p as RouteManifest, aE as ServerRouteModule, t as MiddlewareEnabled, c as RouterContextProvider, u as AppLoadContext, s as LoaderFunctionArgs, a0 as ActionFunctionArgs, O as RouteModules, n as DataRouteObject, a as ClientLoaderFunction, o as RouteBranch, aF as TrackedPromise, f as History, T as To, L as Location, i as Action, ac as RouteMatch, Y as InitialEntry, _ as NonIndexRouteObject, a7 as LazyRouteFunction, Z as IndexRouteObject, P as Params, l as DataStrategyFunction, m as PatchRoutesOnNavigationFunction, e as RouteObject, U as UIMatch, q as HTMLFormMethod, F as FormEncType, av as PageLinkDescriptor, Q as SerializeFrom } from './data-CjO11-hU.js';
4
4
 
5
5
  type ServerRouteManifest = RouteManifest<Omit<ServerRoute, "children">>;
6
6
  interface ServerRoute extends Route$1 {
@@ -106,6 +106,7 @@ interface FrameworkContextObject {
106
106
  ssr: boolean;
107
107
  isSpaMode: boolean;
108
108
  routeDiscovery: ServerBuild["routeDiscovery"];
109
+ nonce?: string;
109
110
  serializeError?(error: Error): SerializedError;
110
111
  renderMeta?: {
111
112
  didRenderScripts?: boolean;
@@ -346,6 +347,10 @@ interface MemoryRouterOpts {
346
347
  * in-memory [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History)
347
348
  * stack. Useful for non-browser environments without a DOM API.
348
349
  *
350
+ * Data Routers should not be held in React state. You should create your router
351
+ * once outside of the React tree and pass it to {@link RouterProvider | `<RouterProvider>`}.
352
+ * You can use `patchRoutesOnNavigation` to add additional routes programmatically.
353
+ *
349
354
  * @public
350
355
  * @category Data Routers
351
356
  * @mode data
@@ -380,7 +385,9 @@ interface ClientOnErrorFunction {
380
385
  */
381
386
  interface RouterProviderProps {
382
387
  /**
383
- * The {@link DataRouter} instance to use for navigation and data fetching.
388
+ * The {@link DataRouter} instance to use for navigation and data fetching. The
389
+ * router prop should be a single router instance created outside of the React
390
+ * tree. Avoid creating new routers during React renders/re-renders.
384
391
  */
385
392
  router: Router$1;
386
393
  /**
@@ -404,7 +411,7 @@ interface RouterProviderProps {
404
411
  * and is only present for render errors.
405
412
  *
406
413
  * ```tsx
407
- * <RouterProvider onError=(error, info) => {
414
+ * <RouterProvider onError={(error, info) => {
408
415
  * let { location, params, pattern, errorInfo } = info;
409
416
  * console.error(error, location, errorInfo);
410
417
  * reportToErrorService(error, location, errorInfo);
@@ -434,7 +441,9 @@ interface RouterProviderProps {
434
441
  }
435
442
  /**
436
443
  * Render the UI for the given {@link DataRouter}. This component should
437
- * typically be at the top of an app's element tree.
444
+ * typically be at the top of an app's element tree. The router prop should
445
+ * be a single router instance created outside of the React tree. Avoid
446
+ * creating new routers during React renders/re-renders.
438
447
  *
439
448
  * ```tsx
440
449
  * import { createBrowserRouter } from "react-router";
@@ -1347,7 +1356,8 @@ interface LinksProps {
1347
1356
  /**
1348
1357
  * A [`nonce`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/nonce)
1349
1358
  * attribute to render on the [`<link>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link)
1350
- * element
1359
+ * element. If not provided in Framework Mode, it will default to any
1360
+ * {@link ServerRouter | `<ServerRouter nonce>`} prop.
1351
1361
  */
1352
1362
  nonce?: string | undefined;
1353
1363
  /**
@@ -1464,7 +1474,8 @@ type ScriptsProps = Omit<React.HTMLProps<HTMLScriptElement>, "async" | "children
1464
1474
  /**
1465
1475
  * A [`nonce`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/nonce)
1466
1476
  * attribute to render on the [`<script>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script)
1467
- * element
1477
+ * element. If not provided in Framework Mode, it will default to any
1478
+ * {@link ServerRouter | `<ServerRouter nonce>`} prop.
1468
1479
  */
1469
1480
  nonce?: string | undefined;
1470
1481
  };
@@ -1996,6 +2007,10 @@ interface DOMRouterOpts {
1996
2007
  * path via [`history.pushState`](https://developer.mozilla.org/en-US/docs/Web/API/History/pushState)
1997
2008
  * and [`history.replaceState`](https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState).
1998
2009
  *
2010
+ * Data Routers should not be held in React state. You should create your router
2011
+ * once outside of the React tree and pass it to {@link RouterProvider | `<RouterProvider>`}.
2012
+ * You can use `patchRoutesOnNavigation` to add additional routes programmatically.
2013
+ *
1999
2014
  * @public
2000
2015
  * @category Data Routers
2001
2016
  * @mode data
@@ -2016,6 +2031,10 @@ declare function createBrowserRouter(routes: RouteObject[], opts?: DOMRouterOpts
2016
2031
  * Create a new {@link DataRouter| data router} that manages the application
2017
2032
  * path via the URL [`hash`](https://developer.mozilla.org/en-US/docs/Web/API/URL/hash).
2018
2033
  *
2034
+ * Data Routers should not be held in React state. You should create your router
2035
+ * once outside of the React tree and pass it to {@link RouterProvider | `<RouterProvider>`}.
2036
+ * You can use `patchRoutesOnNavigation` to add additional routes programmatically.
2037
+ *
2019
2038
  * @public
2020
2039
  * @category Data Routers
2021
2040
  * @mode data
@@ -2836,7 +2855,10 @@ type ScrollRestorationProps = ScriptsProps & {
2836
2855
  * }
2837
2856
  * ```
2838
2857
  *
2839
- * This component renders an inline `<script>` to prevent scroll flashing. The `nonce` prop will be passed down to the script tag to allow CSP nonce usage.
2858
+ * This component renders an inline `<script>` to prevent scroll flashing. The
2859
+ * `nonce` prop will be passed down to the script tag to allow CSP nonce usage.
2860
+ * If not provided in Framework Mode, it will default to any
2861
+ * {@link ServerRouter | `<ServerRouter nonce>`} prop.
2840
2862
  *
2841
2863
  * ```tsx
2842
2864
  * <ScrollRestoration nonce={cspNonce} />
@@ -1,6 +1,6 @@
1
- import { o as ServerInstrumentation, H as HydrationState, i as StaticHandlerContext, f as RelativeRoutingType, h as GetScrollRestorationKeyFunction, R as RouterInit, ah as FutureConfig$1, C as ClientInstrumentation, N as NavigateOptions, F as Fetcher, c as Router, B as BlockerFunction, ai as CreateStaticHandlerOptions$1, S as StaticHandler } from './context-m8rizgnE.mjs';
1
+ import { o as ServerInstrumentation, H as HydrationState, h as StaticHandlerContext, f as RelativeRoutingType, g as GetScrollRestorationKeyFunction, R as RouterInit, ah as FutureConfig$1, C as ClientInstrumentation, N as NavigateOptions, F as Fetcher, c as Router, B as BlockerFunction, ai as CreateStaticHandlerOptions$1, S as StaticHandler } from './context-CeD5LmaF.mjs';
2
2
  import * as React from 'react';
3
- import { J as RouteManifest, aF as ServerRouteModule, p as MiddlewareEnabled, c as RouterContextProvider, q as AppLoadContext, o as LoaderFunctionArgs, a3 as ActionFunctionArgs, Z as RouteModules, E as DataRouteObject, a as ClientLoaderFunction, I as RouteBranch, m as HTMLFormMethod, n as FormEncType, aw as PageLinkDescriptor, T as To, s as History, z as DataStrategyFunction, B as PatchRoutesOnNavigationFunction, r as RouteObject, _ as SerializeFrom, L as Location } from './data-U8FS-wNn.mjs';
3
+ import { J as RouteManifest, aF as ServerRouteModule, p as MiddlewareEnabled, c as RouterContextProvider, q as AppLoadContext, o as LoaderFunctionArgs, a3 as ActionFunctionArgs, Z as RouteModules, E as DataRouteObject, a as ClientLoaderFunction, I as RouteBranch, m as HTMLFormMethod, n as FormEncType, aw as PageLinkDescriptor, T as To, s as History, z as DataStrategyFunction, B as PatchRoutesOnNavigationFunction, r as RouteObject, _ as SerializeFrom, L as Location } from './data-DEjBmEfD.mjs';
4
4
 
5
5
  type ServerRouteManifest = RouteManifest<Omit<ServerRoute, "children">>;
6
6
  interface ServerRoute extends Route {
@@ -106,6 +106,7 @@ interface FrameworkContextObject {
106
106
  ssr: boolean;
107
107
  isSpaMode: boolean;
108
108
  routeDiscovery: ServerBuild["routeDiscovery"];
109
+ nonce?: string;
109
110
  serializeError?(error: Error): SerializedError;
110
111
  renderMeta?: {
111
112
  didRenderScripts?: boolean;
@@ -292,7 +293,8 @@ interface LinksProps {
292
293
  /**
293
294
  * A [`nonce`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/nonce)
294
295
  * attribute to render on the [`<link>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link)
295
- * element
296
+ * element. If not provided in Framework Mode, it will default to any
297
+ * {@link ServerRouter | `<ServerRouter nonce>`} prop.
296
298
  */
297
299
  nonce?: string | undefined;
298
300
  /**
@@ -409,7 +411,8 @@ type ScriptsProps = Omit<React.HTMLProps<HTMLScriptElement>, "async" | "children
409
411
  /**
410
412
  * A [`nonce`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/nonce)
411
413
  * attribute to render on the [`<script>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script)
412
- * element
414
+ * element. If not provided in Framework Mode, it will default to any
415
+ * {@link ServerRouter | `<ServerRouter nonce>`} prop.
413
416
  */
414
417
  nonce?: string | undefined;
415
418
  };
@@ -941,6 +944,10 @@ interface DOMRouterOpts {
941
944
  * path via [`history.pushState`](https://developer.mozilla.org/en-US/docs/Web/API/History/pushState)
942
945
  * and [`history.replaceState`](https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState).
943
946
  *
947
+ * Data Routers should not be held in React state. You should create your router
948
+ * once outside of the React tree and pass it to {@link RouterProvider | `<RouterProvider>`}.
949
+ * You can use `patchRoutesOnNavigation` to add additional routes programmatically.
950
+ *
944
951
  * @public
945
952
  * @category Data Routers
946
953
  * @mode data
@@ -961,6 +968,10 @@ declare function createBrowserRouter(routes: RouteObject[], opts?: DOMRouterOpts
961
968
  * Create a new {@link DataRouter| data router} that manages the application
962
969
  * path via the URL [`hash`](https://developer.mozilla.org/en-US/docs/Web/API/URL/hash).
963
970
  *
971
+ * Data Routers should not be held in React state. You should create your router
972
+ * once outside of the React tree and pass it to {@link RouterProvider | `<RouterProvider>`}.
973
+ * You can use `patchRoutesOnNavigation` to add additional routes programmatically.
974
+ *
964
975
  * @public
965
976
  * @category Data Routers
966
977
  * @mode data
@@ -1781,7 +1792,10 @@ type ScrollRestorationProps = ScriptsProps & {
1781
1792
  * }
1782
1793
  * ```
1783
1794
  *
1784
- * This component renders an inline `<script>` to prevent scroll flashing. The `nonce` prop will be passed down to the script tag to allow CSP nonce usage.
1795
+ * This component renders an inline `<script>` to prevent scroll flashing. The
1796
+ * `nonce` prop will be passed down to the script tag to allow CSP nonce usage.
1797
+ * If not provided in Framework Mode, it will default to any
1798
+ * {@link ServerRouter | `<ServerRouter nonce>`} prop.
1785
1799
  *
1786
1800
  * ```tsx
1787
1801
  * <ScrollRestoration nonce={cspNonce} />
@@ -1,4 +1,4 @@
1
- export { Q as MemoryRouter, T as Navigate, U as Outlet, V as Route, W as Router, X as RouterProvider, Y as Routes, A as UNSAFE_AwaitContextProvider, ab as UNSAFE_WithComponentProps, af as UNSAFE_WithErrorBoundaryProps, ad as UNSAFE_WithHydrateFallbackProps } from './context-m8rizgnE.mjs';
2
- export { l as BrowserRouter, q as Form, m as HashRouter, n as Link, X as Links, W as Meta, p as NavLink, r as ScrollRestoration, T as StaticRouter, V as StaticRouterProvider, o as unstable_HistoryRouter } from './index-react-server-client-CdKROblb.mjs';
3
- import './data-U8FS-wNn.mjs';
1
+ export { Q as MemoryRouter, T as Navigate, U as Outlet, V as Route, W as Router, X as RouterProvider, Y as Routes, A as UNSAFE_AwaitContextProvider, ab as UNSAFE_WithComponentProps, af as UNSAFE_WithErrorBoundaryProps, ad as UNSAFE_WithHydrateFallbackProps } from './context-CeD5LmaF.mjs';
2
+ export { l as BrowserRouter, q as Form, m as HashRouter, n as Link, X as Links, W as Meta, p as NavLink, r as ScrollRestoration, T as StaticRouter, V as StaticRouterProvider, o as unstable_HistoryRouter } from './index-react-server-client-CACgcj2J.mjs';
3
+ import './data-DEjBmEfD.mjs';
4
4
  import 'react';
@@ -1,4 +1,4 @@
1
- export { W as BrowserRouter, $ as Form, X as HashRouter, Y as Link, an as Links, j as MemoryRouter, am as Meta, _ as NavLink, k as Navigate, l as Outlet, m as Route, n as Router, o as RouterProvider, p as Routes, a0 as ScrollRestoration, ak as StaticRouter, al as StaticRouterProvider, b as UNSAFE_AwaitContextProvider, aH as UNSAFE_WithComponentProps, aL as UNSAFE_WithErrorBoundaryProps, aJ as UNSAFE_WithHydrateFallbackProps, Z as unstable_HistoryRouter } from './index-react-server-client-BLiUx67a.js';
2
- import './instrumentation-1q4YhLGP.js';
3
- import './data-D4xhSy90.js';
1
+ export { W as BrowserRouter, $ as Form, X as HashRouter, Y as Link, an as Links, j as MemoryRouter, am as Meta, _ as NavLink, k as Navigate, l as Outlet, m as Route, n as Router, o as RouterProvider, p as Routes, a0 as ScrollRestoration, ak as StaticRouter, al as StaticRouterProvider, b as UNSAFE_AwaitContextProvider, aH as UNSAFE_WithComponentProps, aL as UNSAFE_WithErrorBoundaryProps, aJ as UNSAFE_WithHydrateFallbackProps, Z as unstable_HistoryRouter } from './index-react-server-client-3ykjivgQ.js';
2
+ import './instrumentation-Dkmpzd13.js';
3
+ import './data-CjO11-hU.js';
4
4
  import 'react';
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});/**
2
- * react-router v7.16.0
2
+ * react-router v7.18.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -19,7 +19,7 @@
19
19
 
20
20
 
21
21
 
22
- var _chunkSKEDDLRMjs = require('./chunk-SKEDDLRM.js');
22
+ var _chunkBIP66BKVjs = require('./chunk-BIP66BKV.js');
23
23
 
24
24
 
25
25
 
@@ -34,7 +34,7 @@ var _chunkSKEDDLRMjs = require('./chunk-SKEDDLRM.js');
34
34
 
35
35
 
36
36
 
37
- var _chunkY7DNFQZPjs = require('./chunk-Y7DNFQZP.js');
37
+ var _chunkIUPBOWYOjs = require('./chunk-IUPBOWYO.js');
38
38
 
39
39
 
40
40
 
@@ -58,4 +58,4 @@ var _chunkY7DNFQZPjs = require('./chunk-Y7DNFQZP.js');
58
58
 
59
59
 
60
60
 
61
- exports.BrowserRouter = _chunkSKEDDLRMjs.BrowserRouter; exports.Form = _chunkSKEDDLRMjs.Form; exports.HashRouter = _chunkSKEDDLRMjs.HashRouter; exports.Link = _chunkSKEDDLRMjs.Link; exports.Links = _chunkY7DNFQZPjs.Links; exports.MemoryRouter = _chunkY7DNFQZPjs.MemoryRouter; exports.Meta = _chunkY7DNFQZPjs.Meta; exports.NavLink = _chunkSKEDDLRMjs.NavLink; exports.Navigate = _chunkY7DNFQZPjs.Navigate; exports.Outlet = _chunkY7DNFQZPjs.Outlet; exports.Route = _chunkY7DNFQZPjs.Route; exports.Router = _chunkY7DNFQZPjs.Router; exports.RouterProvider = _chunkY7DNFQZPjs.RouterProvider; exports.Routes = _chunkY7DNFQZPjs.Routes; exports.ScrollRestoration = _chunkSKEDDLRMjs.ScrollRestoration; exports.StaticRouter = _chunkSKEDDLRMjs.StaticRouter; exports.StaticRouterProvider = _chunkSKEDDLRMjs.StaticRouterProvider; exports.UNSAFE_AwaitContextProvider = _chunkY7DNFQZPjs.AwaitContextProvider; exports.UNSAFE_WithComponentProps = _chunkY7DNFQZPjs.WithComponentProps; exports.UNSAFE_WithErrorBoundaryProps = _chunkY7DNFQZPjs.WithErrorBoundaryProps; exports.UNSAFE_WithHydrateFallbackProps = _chunkY7DNFQZPjs.WithHydrateFallbackProps; exports.unstable_HistoryRouter = _chunkSKEDDLRMjs.HistoryRouter;
61
+ exports.BrowserRouter = _chunkBIP66BKVjs.BrowserRouter; exports.Form = _chunkBIP66BKVjs.Form; exports.HashRouter = _chunkBIP66BKVjs.HashRouter; exports.Link = _chunkBIP66BKVjs.Link; exports.Links = _chunkIUPBOWYOjs.Links; exports.MemoryRouter = _chunkIUPBOWYOjs.MemoryRouter; exports.Meta = _chunkIUPBOWYOjs.Meta; exports.NavLink = _chunkBIP66BKVjs.NavLink; exports.Navigate = _chunkIUPBOWYOjs.Navigate; exports.Outlet = _chunkIUPBOWYOjs.Outlet; exports.Route = _chunkIUPBOWYOjs.Route; exports.Router = _chunkIUPBOWYOjs.Router; exports.RouterProvider = _chunkIUPBOWYOjs.RouterProvider; exports.Routes = _chunkIUPBOWYOjs.Routes; exports.ScrollRestoration = _chunkBIP66BKVjs.ScrollRestoration; exports.StaticRouter = _chunkBIP66BKVjs.StaticRouter; exports.StaticRouterProvider = _chunkBIP66BKVjs.StaticRouterProvider; exports.UNSAFE_AwaitContextProvider = _chunkIUPBOWYOjs.AwaitContextProvider; exports.UNSAFE_WithComponentProps = _chunkIUPBOWYOjs.WithComponentProps; exports.UNSAFE_WithErrorBoundaryProps = _chunkIUPBOWYOjs.WithErrorBoundaryProps; exports.UNSAFE_WithHydrateFallbackProps = _chunkIUPBOWYOjs.WithHydrateFallbackProps; exports.unstable_HistoryRouter = _chunkBIP66BKVjs.HistoryRouter;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.16.0
2
+ * react-router v7.18.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -32,7 +32,7 @@ import {
32
32
  WithComponentProps,
33
33
  WithErrorBoundaryProps,
34
34
  WithHydrateFallbackProps
35
- } from "./chunk-Q65P7S7Y.mjs";
35
+ } from "./chunk-M7NGGUU6.mjs";
36
36
  export {
37
37
  BrowserRouter,
38
38
  Form,