react-router 7.18.2 → 7.18.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/development/{browser-DBmQ1yAR.d.mts → browser-BR5QG7ZC.d.mts} +1 -1
  3. package/dist/development/{browser-B2PdsXXH.d.ts → browser-eq4RgLsD.d.ts} +1 -1
  4. package/dist/development/{chunk-HHGH3NKS.js → chunk-GR4NQCSD.js} +122 -19
  5. package/dist/development/{chunk-ZA36QIGN.mjs → chunk-H4DAEOV7.mjs} +16 -8
  6. package/dist/development/{chunk-7XGYIT3M.js → chunk-HQO5H5CC.js} +103 -103
  7. package/dist/{production/chunk-VJZ67BZE.js → development/chunk-LVPI3KDG.js} +7 -7
  8. package/dist/development/{chunk-62JRHF6Z.mjs → chunk-OB3PAWPO.mjs} +117 -14
  9. package/dist/{production/context-CeD5LmaF.d.mts → development/context-nqAapj74.d.mts} +9 -0
  10. package/dist/development/dom-export.d.mts +2 -2
  11. package/dist/development/dom-export.d.ts +2 -2
  12. package/dist/development/dom-export.js +45 -32
  13. package/dist/development/dom-export.mjs +17 -4
  14. package/dist/{production/index-react-server-client-3ykjivgQ.d.ts → development/index-react-server-client-BjY-eKuf.d.ts} +2 -1
  15. package/dist/{production/index-react-server-client-CACgcj2J.d.mts → development/index-react-server-client-K63fpMH4.d.mts} +1 -1
  16. package/dist/development/index-react-server-client.d.mts +2 -2
  17. package/dist/development/index-react-server-client.d.ts +2 -2
  18. package/dist/development/index-react-server-client.js +4 -4
  19. package/dist/development/index-react-server-client.mjs +2 -2
  20. package/dist/development/index-react-server.d.mts +8 -0
  21. package/dist/development/index-react-server.d.ts +8 -0
  22. package/dist/development/index-react-server.js +25 -9
  23. package/dist/development/index-react-server.mjs +25 -9
  24. package/dist/development/index.d.mts +6 -6
  25. package/dist/development/index.d.ts +6 -6
  26. package/dist/development/index.js +102 -94
  27. package/dist/development/index.mjs +3 -3
  28. package/dist/{production/instrumentation-Dkmpzd13.d.ts → development/instrumentation-B7w3_Eo9.d.ts} +8 -0
  29. package/dist/development/lib/types/internal.js +1 -1
  30. package/dist/development/lib/types/internal.mjs +1 -1
  31. package/dist/production/{browser-DBmQ1yAR.d.mts → browser-BR5QG7ZC.d.mts} +1 -1
  32. package/dist/production/{browser-B2PdsXXH.d.ts → browser-eq4RgLsD.d.ts} +1 -1
  33. package/dist/production/{chunk-FDTIF24W.js → chunk-AOOKMWND.js} +103 -103
  34. package/dist/production/{chunk-SJTG3J2Q.mjs → chunk-G2MPF4YY.mjs} +16 -8
  35. package/dist/production/{chunk-YBLPXYCV.mjs → chunk-Q34X6AWR.mjs} +117 -14
  36. package/dist/{development/chunk-3UVS743K.js → production/chunk-QURBR4FZ.js} +7 -7
  37. package/dist/production/{chunk-TP6EHSSF.js → chunk-YNGRUB6F.js} +122 -19
  38. package/dist/{development/context-CeD5LmaF.d.mts → production/context-nqAapj74.d.mts} +9 -0
  39. package/dist/production/dom-export.d.mts +2 -2
  40. package/dist/production/dom-export.d.ts +2 -2
  41. package/dist/production/dom-export.js +45 -32
  42. package/dist/production/dom-export.mjs +17 -4
  43. package/dist/{development/index-react-server-client-3ykjivgQ.d.ts → production/index-react-server-client-BjY-eKuf.d.ts} +2 -1
  44. package/dist/{development/index-react-server-client-CACgcj2J.d.mts → production/index-react-server-client-K63fpMH4.d.mts} +1 -1
  45. package/dist/production/index-react-server-client.d.mts +2 -2
  46. package/dist/production/index-react-server-client.d.ts +2 -2
  47. package/dist/production/index-react-server-client.js +4 -4
  48. package/dist/production/index-react-server-client.mjs +2 -2
  49. package/dist/production/index-react-server.d.mts +8 -0
  50. package/dist/production/index-react-server.d.ts +8 -0
  51. package/dist/production/index-react-server.js +25 -9
  52. package/dist/production/index-react-server.mjs +25 -9
  53. package/dist/production/index.d.mts +6 -6
  54. package/dist/production/index.d.ts +6 -6
  55. package/dist/production/index.js +102 -94
  56. package/dist/production/index.mjs +3 -3
  57. package/dist/{development/instrumentation-Dkmpzd13.d.ts → production/instrumentation-B7w3_Eo9.d.ts} +8 -0
  58. package/dist/production/lib/types/internal.js +1 -1
  59. package/dist/production/lib/types/internal.mjs +1 -1
  60. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.18.2
2
+ * react-router v7.18.4
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -32,6 +32,7 @@ import {
32
32
  decodeRouteErrorResponseDigest,
33
33
  decodeViaTurboStream,
34
34
  encode,
35
+ escapeAttribute,
35
36
  escapeHtml,
36
37
  getManifestPath,
37
38
  getStaticContextFromError,
@@ -55,7 +56,7 @@ import {
55
56
  withComponentProps,
56
57
  withErrorBoundaryProps,
57
58
  withHydrateFallbackProps
58
- } from "./chunk-YBLPXYCV.mjs";
59
+ } from "./chunk-Q34X6AWR.mjs";
59
60
 
60
61
  // lib/dom/ssr/server.tsx
61
62
  import * as React from "react";
@@ -747,18 +748,25 @@ function prependCookies(parentHeaders, childHeaders) {
747
748
  function throwIfPotentialCSRFAttack(request, allowedActionOrigins) {
748
749
  let originHeader = request.headers.get("origin");
749
750
  let originDomain = null;
751
+ let originUrl = null;
750
752
  try {
751
- originDomain = typeof originHeader === "string" && originHeader !== "null" ? new URL(originHeader).host : originHeader;
753
+ if (typeof originHeader === "string" && originHeader !== "null") {
754
+ originUrl = new URL(originHeader);
755
+ originDomain = originUrl.host;
756
+ } else {
757
+ originDomain = originHeader;
758
+ }
752
759
  } catch {
753
760
  throw new Error(
754
761
  `\`origin\` header is not a valid URL. Aborting the action.`
755
762
  );
756
763
  }
757
- let host = new URL(request.url).host;
758
- if (originDomain && originDomain !== host) {
764
+ let requestUrl = new URL(request.url);
765
+ let originMatchesRequest = originUrl ? originUrl.origin === requestUrl.origin : originDomain === requestUrl.host;
766
+ if (originDomain && !originMatchesRequest) {
759
767
  if (!isAllowedOrigin(originDomain, allowedActionOrigins)) {
760
768
  throw new Error(
761
- "The `request.url` host does not match `origin` header from a forwarded action request. Aborting the action."
769
+ "The `request.url` origin does not match `origin` header from a forwarded action request. Aborting the action."
762
770
  );
763
771
  }
764
772
  }
@@ -2190,7 +2198,7 @@ async function routeRSCServerRequest({
2190
2198
  }
2191
2199
  controller.enqueue(
2192
2200
  new TextEncoder().encode(
2193
- `<meta http-equiv="refresh" content="0;url=${escapeHtml(renderRedirect.location)}"/>`
2201
+ `<meta http-equiv="refresh" content="0;url=${escapeAttribute(renderRedirect.location)}"/>`
2194
2202
  )
2195
2203
  );
2196
2204
  }
@@ -2310,7 +2318,7 @@ async function routeRSCServerRequest({
2310
2318
  }
2311
2319
  controller.enqueue(
2312
2320
  new TextEncoder().encode(
2313
- `<meta http-equiv="refresh" content="0;url=${escapeHtml(retryRedirect.location)}"/>`
2321
+ `<meta http-equiv="refresh" content="0;url=${escapeAttribute(retryRedirect.location)}"/>`
2314
2322
  )
2315
2323
  );
2316
2324
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.18.2
2
+ * react-router v7.18.4
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -784,13 +784,16 @@ function matchPathImpl(pattern, pathname, matcher, compiledParams) {
784
784
  let match = pathname.match(matcher);
785
785
  if (!match) return null;
786
786
  let matchedPathname = match[0];
787
- let pathnameBase = matchedPathname.replace(/(.)\/+$/, "$1");
787
+ let pathnameBase = removeTrailingSlash(matchedPathname, 1);
788
788
  let captureGroups = match.slice(1);
789
789
  let params = compiledParams.reduce(
790
790
  (memo2, { paramName, isOptional }, index) => {
791
791
  if (paramName === "*") {
792
792
  let splatValue = captureGroups[index] || "";
793
- pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\/+$/, "$1");
793
+ pathnameBase = removeTrailingSlash(
794
+ matchedPathname.slice(0, matchedPathname.length - splatValue.length),
795
+ 1
796
+ );
794
797
  }
795
798
  const value = captureGroups[index];
796
799
  if (isOptional && !value) {
@@ -880,7 +883,7 @@ function resolvePath(to, fromPathname = "/") {
880
883
  let pathname;
881
884
  if (toPathname) {
882
885
  toPathname = removeDoubleSlashes(toPathname);
883
- if (toPathname.startsWith("/")) {
886
+ if (toPathname.startsWith("/") || toPathname.startsWith("\\")) {
884
887
  pathname = resolvePathname(toPathname.substring(1), "/");
885
888
  } else {
886
889
  pathname = resolvePathname(toPathname, fromPathname);
@@ -968,7 +971,13 @@ function resolveTo(toArg, routePathnames, locationPathname, isPathRelative = fal
968
971
  }
969
972
  var removeDoubleSlashes = (path) => path.replace(/[\\/]{2,}/g, "/");
970
973
  var joinPaths = (paths) => removeDoubleSlashes(paths.join("/"));
971
- var removeTrailingSlash = (path) => path.replace(/\/+$/, "");
974
+ function removeTrailingSlash(path, minLength = 0) {
975
+ let end = path.length;
976
+ while (end > minLength && path.charCodeAt(end - 1) === 47) {
977
+ end--;
978
+ }
979
+ return end === path.length ? path : path.slice(0, end);
980
+ }
972
981
  var normalizePathname = (pathname) => removeTrailingSlash(pathname).replace(/^\/*/, "/");
973
982
  var normalizeSearch = (search) => !search || search === "?" ? "" : search.startsWith("?") ? search : "?" + search;
974
983
  var normalizeHash = (hash) => !hash || hash === "#" ? "" : hash.startsWith("#") ? hash : "#" + hash;
@@ -1341,6 +1350,51 @@ function isPlainObject(thing) {
1341
1350
  return proto === Object.prototype || proto === null || Object.getOwnPropertyNames(proto).sort().join("\0") === objectProtoNames;
1342
1351
  }
1343
1352
 
1353
+ // lib/router/navigation.ts
1354
+ var DEFAULT_NAVIGATION_URL = new URL("http://localhost");
1355
+ function getNavigatorCurrentUrl(navigator) {
1356
+ if (navigator.createURL) {
1357
+ return navigator.createURL("/");
1358
+ }
1359
+ try {
1360
+ return new URL(navigator.createHref("/"), DEFAULT_NAVIGATION_URL);
1361
+ } catch {
1362
+ return DEFAULT_NAVIGATION_URL;
1363
+ }
1364
+ }
1365
+ function isSameOrigin(a, b) {
1366
+ return a.origin === b.origin && (a.origin !== "null" || a.protocol === b.protocol && a.host === b.host);
1367
+ }
1368
+ function isExplicitUrl(destination, target) {
1369
+ if (destination.startsWith("//")) {
1370
+ return true;
1371
+ }
1372
+ let protocol = target.protocol.toLowerCase();
1373
+ if (!destination.toLowerCase().startsWith(protocol)) {
1374
+ return false;
1375
+ }
1376
+ return target.host === "" || destination.slice(protocol.length).startsWith("//");
1377
+ }
1378
+ function validateNavigationTarget(original, resolved, currentUrl, externalPolicy) {
1379
+ let originalUrl = null;
1380
+ try {
1381
+ originalUrl = original == null ? null : new URL(original, currentUrl);
1382
+ } catch {
1383
+ }
1384
+ let resolvedUrl = new URL(resolved, currentUrl);
1385
+ let originalIsExternal = originalUrl != null && !isSameOrigin(originalUrl, currentUrl);
1386
+ let resolvedIsExternal = !isSameOrigin(resolvedUrl, currentUrl);
1387
+ if (externalPolicy === "reject") {
1388
+ if (originalIsExternal || resolvedIsExternal) {
1389
+ throw new Error("External navigation is not allowed");
1390
+ }
1391
+ } else if (resolvedIsExternal) {
1392
+ if (originalUrl == null || !isExplicitUrl(original, originalUrl) || !isSameOrigin(originalUrl, resolvedUrl)) {
1393
+ throw new Error("External navigation is not allowed");
1394
+ }
1395
+ }
1396
+ }
1397
+
1344
1398
  // lib/router/router.ts
1345
1399
  var validMutationMethodsArr = [
1346
1400
  "POST",
@@ -1764,7 +1818,7 @@ function createRouter(init) {
1764
1818
  init.history.replace(location, location.state);
1765
1819
  }
1766
1820
  let viewTransitionOpts;
1767
- if (pendingAction === "POP" /* Pop */) {
1821
+ if (pendingAction === "POP" /* Pop */ && !isUninterruptedRevalidation && location !== state.location) {
1768
1822
  let priorPaths = appliedViewTransitions.get(state.location.pathname);
1769
1823
  if (priorPaths && priorPaths.has(location.pathname)) {
1770
1824
  viewTransitionOpts = {
@@ -1852,11 +1906,21 @@ function createRouter(init) {
1852
1906
  ...opts.mask
1853
1907
  };
1854
1908
  maskPath = {
1855
- pathname: "",
1856
- search: "",
1857
- hash: "",
1858
- ...partialPath
1909
+ pathname: partialPath.pathname ?? "",
1910
+ search: partialPath.search ?? "",
1911
+ hash: partialPath.hash ?? ""
1859
1912
  };
1913
+ if (PROTOCOL_RELATIVE_URL_REGEX.test(maskPath.pathname)) {
1914
+ throw new Error("External navigation is not allowed");
1915
+ } else if (maskPath.pathname.startsWith("\\")) {
1916
+ maskPath.pathname = maskPath.pathname.replace(/^\\+/, "/");
1917
+ }
1918
+ validateNavigationTarget(
1919
+ typeof opts.mask === "string" ? opts.mask : createPath(opts.mask),
1920
+ createPath(maskPath),
1921
+ init.history.createURL("/"),
1922
+ "reject"
1923
+ );
1860
1924
  }
1861
1925
  let currentLocation = state.location;
1862
1926
  let nextLocation = createLocation(
@@ -1870,6 +1934,12 @@ function createRouter(init) {
1870
1934
  ...nextLocation,
1871
1935
  ...init.history.encodeLocation(nextLocation)
1872
1936
  };
1937
+ validateNavigationTarget(
1938
+ to == null ? init.history.createHref(state.location) : typeof to === "string" ? to : createPath(to),
1939
+ init.history.createHref(nextLocation.mask || nextLocation),
1940
+ init.history.createURL("/"),
1941
+ "reject"
1942
+ );
1873
1943
  let userReplace = opts && opts.replace != null ? opts.replace : void 0;
1874
1944
  let historyAction = "PUSH" /* Push */;
1875
1945
  if (userReplace === true) {
@@ -2880,12 +2950,20 @@ function createRouter(init) {
2880
2950
  }
2881
2951
  let location = redirect2.response.headers.get("Location");
2882
2952
  invariant(location, "Expected a Location header on the redirect Response");
2953
+ let originalLocation = location;
2954
+ let currentUrl = new URL(request.url);
2883
2955
  location = normalizeRedirectLocation(
2884
2956
  location,
2885
- new URL(request.url),
2957
+ currentUrl,
2886
2958
  basename,
2887
2959
  init.history
2888
2960
  );
2961
+ validateNavigationTarget(
2962
+ originalLocation,
2963
+ location,
2964
+ currentUrl,
2965
+ "allow-explicit"
2966
+ );
2889
2967
  let redirectLocation = createLocation(state.location, location, {
2890
2968
  _isRedirect: true
2891
2969
  });
@@ -3404,6 +3482,7 @@ function createRouter(init) {
3404
3482
  // Passthrough to history-aware createHref used by useHref so we get proper
3405
3483
  // hash-aware URLs in DOM paths
3406
3484
  createHref: (to) => init.history.createHref(to),
3485
+ createURL: (to) => init.history.createURL(to),
3407
3486
  encodeLocation: (to) => init.history.encodeLocation(to),
3408
3487
  getFetcher,
3409
3488
  resetFetcher,
@@ -5945,6 +6024,12 @@ function useNavigateUnstable() {
5945
6024
  if (dataRouterContext == null && basename !== "/") {
5946
6025
  path.pathname = path.pathname === "/" ? basename : joinPaths([basename, path.pathname]);
5947
6026
  }
6027
+ validateNavigationTarget(
6028
+ typeof to === "string" ? to : createPath(to),
6029
+ navigator.createHref(path),
6030
+ getNavigatorCurrentUrl(navigator),
6031
+ "reject"
6032
+ );
5948
6033
  (!!options.replace ? navigator.replace : navigator.push)(
5949
6034
  path,
5950
6035
  options.state,
@@ -6186,7 +6271,7 @@ function RSCErrorHandler({
6186
6271
  children,
6187
6272
  error
6188
6273
  }) {
6189
- let { basename } = React2.useContext(NavigationContext);
6274
+ let { basename, navigator } = React2.useContext(NavigationContext);
6190
6275
  if (typeof error === "object" && error && "digest" in error && typeof error.digest === "string") {
6191
6276
  let redirect2 = decodeRedirectErrorDigest(error.digest);
6192
6277
  if (redirect2) {
@@ -6194,6 +6279,12 @@ function RSCErrorHandler({
6194
6279
  if (existingRedirect) throw existingRedirect;
6195
6280
  let parsed = parseToInfo(redirect2.location, basename);
6196
6281
  let target = parsed.absoluteURL || parsed.to;
6282
+ validateNavigationTarget(
6283
+ redirect2.location,
6284
+ target,
6285
+ getNavigatorCurrentUrl(navigator),
6286
+ "allow-explicit"
6287
+ );
6197
6288
  if (hasInvalidProtocol(target)) {
6198
6289
  throw new Error("Invalid redirect location");
6199
6290
  }
@@ -6871,6 +6962,7 @@ function RouterProvider({
6871
6962
  let navigator = React3.useMemo(() => {
6872
6963
  return {
6873
6964
  createHref: router.createHref,
6965
+ createURL: router.createURL,
6874
6966
  encodeLocation: router.encodeLocation,
6875
6967
  go: (n) => router.navigate(n),
6876
6968
  push: (to, state2, opts) => router.navigate(to, {
@@ -7003,7 +7095,7 @@ function Navigate({
7003
7095
  // the router loaded. We can help them understand how to avoid that.
7004
7096
  `<Navigate> may be used only in the context of a <Router> component.`
7005
7097
  );
7006
- let { static: isStatic } = React3.useContext(NavigationContext);
7098
+ let { static: isStatic, navigator } = React3.useContext(NavigationContext);
7007
7099
  warning(
7008
7100
  !isStatic,
7009
7101
  `<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.`
@@ -7017,6 +7109,12 @@ function Navigate({
7017
7109
  locationPathname,
7018
7110
  relative === "path"
7019
7111
  );
7112
+ validateNavigationTarget(
7113
+ typeof to === "string" ? to : createPath(to),
7114
+ navigator.createHref(path),
7115
+ getNavigatorCurrentUrl(navigator),
7116
+ "reject"
7117
+ );
7020
7118
  let jsonPath = JSON.stringify(path);
7021
7119
  React3.useEffect(() => {
7022
7120
  navigate(JSON.parse(jsonPath), { replace: replace2, state, relative });
@@ -8172,6 +8270,9 @@ var ESCAPE_REGEX = /[&><\u2028\u2029]/g;
8172
8270
  function escapeHtml(html) {
8173
8271
  return html.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]);
8174
8272
  }
8273
+ function escapeAttribute(value) {
8274
+ return value.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
8275
+ }
8175
8276
 
8176
8277
  // lib/dom/ssr/invariant.ts
8177
8278
  function invariant2(value, message) {
@@ -10307,7 +10408,7 @@ var isBrowser2 = typeof window !== "undefined" && typeof window.document !== "un
10307
10408
  try {
10308
10409
  if (isBrowser2) {
10309
10410
  window.__reactRouterVersion = // @ts-expect-error
10310
- "7.18.2";
10411
+ "7.18.4";
10311
10412
  }
10312
10413
  } catch (e) {
10313
10414
  }
@@ -11481,6 +11582,7 @@ export {
11481
11582
  ErrorResponseImpl,
11482
11583
  isRouteErrorResponse,
11483
11584
  instrumentHandler,
11585
+ validateNavigationTarget,
11484
11586
  IDLE_NAVIGATION,
11485
11587
  IDLE_FETCHER,
11486
11588
  IDLE_BLOCKER,
@@ -11551,6 +11653,7 @@ export {
11551
11653
  withErrorBoundaryProps,
11552
11654
  createSearchParams,
11553
11655
  escapeHtml,
11656
+ escapeAttribute,
11554
11657
  encode,
11555
11658
  createRequestInit,
11556
11659
  SingleFetchRedirectSymbol,
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }/**
2
- * react-router v7.18.2
2
+ * react-router v7.18.4
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- var _chunkHHGH3NKSjs = require('./chunk-HHGH3NKS.js');
17
+ var _chunkYNGRUB6Fjs = require('./chunk-YNGRUB6F.js');
18
18
 
19
19
  // lib/dom/ssr/hydration.tsx
20
20
  function getHydrationData({
@@ -29,12 +29,12 @@ function getHydrationData({
29
29
  ...state,
30
30
  loaderData: { ...state.loaderData }
31
31
  };
32
- let initialMatches = _chunkHHGH3NKSjs.matchRoutes.call(void 0, routes, location, basename);
32
+ let initialMatches = _chunkYNGRUB6Fjs.matchRoutes.call(void 0, routes, location, basename);
33
33
  if (initialMatches) {
34
34
  for (let match of initialMatches) {
35
35
  let routeId = match.route.id;
36
36
  let routeInfo = getRouteInfo(routeId);
37
- if (_chunkHHGH3NKSjs.shouldHydrateRouteLoader.call(void 0,
37
+ if (_chunkYNGRUB6Fjs.shouldHydrateRouteLoader.call(void 0,
38
38
  routeId,
39
39
  routeInfo.clientLoader,
40
40
  routeInfo.hasLoader,
@@ -112,7 +112,7 @@ function RSCDefaultRootErrorBoundaryImpl({
112
112
  }
113
113
  }
114
114
  );
115
- if (_chunkHHGH3NKSjs.isRouteErrorResponse.call(void 0, error)) {
115
+ if (_chunkYNGRUB6Fjs.isRouteErrorResponse.call(void 0, error)) {
116
116
  return /* @__PURE__ */ _react2.default.createElement(
117
117
  ErrorWrapper,
118
118
  {
@@ -120,7 +120,7 @@ function RSCDefaultRootErrorBoundaryImpl({
120
120
  title: "Unhandled Thrown Response!"
121
121
  },
122
122
  /* @__PURE__ */ _react2.default.createElement("h1", { style: { fontSize: "24px" } }, error.status, " ", error.statusText),
123
- _chunkHHGH3NKSjs.ENABLE_DEV_WARNINGS ? heyDeveloper : null
123
+ _chunkYNGRUB6Fjs.ENABLE_DEV_WARNINGS ? heyDeveloper : null
124
124
  );
125
125
  }
126
126
  let errorInstance;
@@ -146,7 +146,7 @@ function RSCDefaultRootErrorBoundaryImpl({
146
146
  function RSCDefaultRootErrorBoundary({
147
147
  hasRootLayout
148
148
  }) {
149
- let error = _chunkHHGH3NKSjs.useRouteError.call(void 0, );
149
+ let error = _chunkYNGRUB6Fjs.useRouteError.call(void 0, );
150
150
  if (hasRootLayout === void 0) {
151
151
  throw new Error("Missing 'hasRootLayout' prop");
152
152
  }