react-router 7.15.0 → 7.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +50 -10
  2. package/dist/development/{browser-CRsXgNrY.d.mts → browser-3AnU12UI.d.mts} +1 -1
  3. package/dist/development/{browser-wDl1FZEL.d.ts → browser-BOdXz9dK.d.ts} +1 -1
  4. package/dist/development/{chunk-5KNZJZUH.mjs → chunk-4N6VE7H7.mjs} +230 -113
  5. package/dist/{production/chunk-7YXKJMLN.js → development/chunk-4YRVXM2U.js} +7 -7
  6. package/dist/development/{chunk-Z5YQYACE.js → chunk-66UKHEGQ.js} +106 -103
  7. package/dist/development/{chunk-AM3XM4LS.js → chunk-D6LUOGOQ.js} +251 -137
  8. package/dist/development/{chunk-RMD3H4O3.mjs → chunk-RJYABSBD.mjs} +22 -21
  9. package/dist/{production/context-BQs41HrG.d.mts → development/context-ByvtofY2.d.mts} +7 -1
  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 +48 -50
  13. package/dist/development/dom-export.mjs +23 -25
  14. package/dist/{production/index-react-server-client-CSv-KZBk.d.ts → development/index-react-server-client-BS5F89FR.d.ts} +10 -2
  15. package/dist/{production/index-react-server-client-Ck_yZ1qL.d.mts → development/index-react-server-client-DY04-103.d.mts} +10 -2
  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 +6 -0
  21. package/dist/development/index-react-server.d.ts +6 -0
  22. package/dist/development/index-react-server.js +4 -4
  23. package/dist/development/index-react-server.mjs +4 -4
  24. package/dist/development/index.d.mts +91 -9
  25. package/dist/development/index.d.ts +91 -9
  26. package/dist/development/index.js +103 -100
  27. package/dist/development/index.mjs +5 -3
  28. package/dist/{production/instrumentation-DlJ2QV7d.d.ts → development/instrumentation-cRWWLfsU.d.ts} +7 -1
  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-CRsXgNrY.d.mts → browser-3AnU12UI.d.mts} +1 -1
  32. package/dist/production/{browser-wDl1FZEL.d.ts → browser-BOdXz9dK.d.ts} +1 -1
  33. package/dist/production/{chunk-23ZOHYE5.mjs → chunk-6S4627ZB.mjs} +22 -21
  34. package/dist/production/{chunk-LCJTIOKZ.js → chunk-HUBUW7R3.js} +251 -137
  35. package/dist/production/{chunk-GM3PW4GX.mjs → chunk-JAKZPQZC.mjs} +230 -113
  36. package/dist/production/{chunk-YBQJ3ABE.js → chunk-PNZCCTKT.js} +106 -103
  37. package/dist/{development/chunk-2D5H3HU3.js → production/chunk-Y6IFXO7V.js} +7 -7
  38. package/dist/{development/context-BQs41HrG.d.mts → production/context-ByvtofY2.d.mts} +7 -1
  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 +48 -50
  42. package/dist/production/dom-export.mjs +23 -25
  43. package/dist/{development/index-react-server-client-CSv-KZBk.d.ts → production/index-react-server-client-BS5F89FR.d.ts} +10 -2
  44. package/dist/{development/index-react-server-client-Ck_yZ1qL.d.mts → production/index-react-server-client-DY04-103.d.mts} +10 -2
  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 +6 -0
  50. package/dist/production/index-react-server.d.ts +6 -0
  51. package/dist/production/index-react-server.js +4 -4
  52. package/dist/production/index-react-server.mjs +4 -4
  53. package/dist/production/index.d.mts +91 -9
  54. package/dist/production/index.d.ts +91 -9
  55. package/dist/production/index.js +103 -100
  56. package/dist/production/index.mjs +5 -3
  57. package/dist/{development/instrumentation-DlJ2QV7d.d.ts → production/instrumentation-cRWWLfsU.d.ts} +7 -1
  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
@@ -563,6 +563,8 @@ type NavigationStates = {
563
563
  Idle: {
564
564
  state: "idle";
565
565
  location: undefined;
566
+ matches: undefined;
567
+ historyAction: undefined;
566
568
  formMethod: undefined;
567
569
  formAction: undefined;
568
570
  formEncType: undefined;
@@ -573,6 +575,8 @@ type NavigationStates = {
573
575
  Loading: {
574
576
  state: "loading";
575
577
  location: Location;
578
+ matches: DataRouteMatch[];
579
+ historyAction: Action;
576
580
  formMethod: Submission["formMethod"] | undefined;
577
581
  formAction: Submission["formAction"] | undefined;
578
582
  formEncType: Submission["formEncType"] | undefined;
@@ -583,6 +587,8 @@ type NavigationStates = {
583
587
  Submitting: {
584
588
  state: "submitting";
585
589
  location: Location;
590
+ matches: DataRouteMatch[];
591
+ historyAction: Action;
586
592
  formMethod: Submission["formMethod"];
587
593
  formAction: Submission["formAction"];
588
594
  formEncType: Submission["formEncType"];
@@ -1762,4 +1768,4 @@ interface RouteContextObject {
1762
1768
  }
1763
1769
  declare const RouteContext: React.Context<RouteContextObject>;
1764
1770
 
1765
- export { createRoutesFromElements as $, AwaitContextProvider as A, type BlockerFunction as B, type ClientInstrumentation as C, type RouteProps as D, type RouterProps as E, type Fetcher as F, type GetScrollPositionFunction as G, type HydrationState as H, type InstrumentRequestHandlerFunction as I, type RoutesProps as J, Await as K, type LayoutRouteProps as L, type MemoryRouterOpts as M, type NavigateOptions as N, type OutletProps as O, type PathRouteProps as P, MemoryRouter as Q, type RouterInit as R, type StaticHandler as S, Navigate as T, Outlet as U, Route as V, Router as W, RouterProvider as X, Routes as Y, createMemoryRouter as Z, createRoutesFromChildren as _, type RouterProviderProps as a, renderMatches as a0, createRouter as a1, DataRouterContext as a2, DataRouterStateContext as a3, FetchersContext as a4, LocationContext as a5, NavigationContext as a6, RouteContext as a7, ViewTransitionContext as a8, hydrationRouteProperties as a9, mapRouteProperties as aa, WithComponentProps as ab, withComponentProps as ac, WithHydrateFallbackProps as ad, withHydrateFallbackProps as ae, WithErrorBoundaryProps as af, withErrorBoundaryProps as ag, type FutureConfig as ah, type CreateStaticHandlerOptions as ai, type ClientOnErrorFunction as b, type Router$1 as c, type Blocker as d, type RelativeRoutingType as e, type Navigation as f, type RouterState as g, type GetScrollRestorationKeyFunction as h, type StaticHandlerContext as i, type NavigationStates as j, type RouterSubscriber as k, type RouterNavigateOptions as l, type RouterFetchOptions as m, type RevalidationState as n, type ServerInstrumentation as o, type InstrumentRouterFunction as p, type InstrumentRouteFunction as q, type InstrumentationHandlerResult as r, IDLE_NAVIGATION as s, IDLE_FETCHER as t, IDLE_BLOCKER as u, type Navigator as v, type AwaitProps as w, type IndexRouteProps as x, type MemoryRouterProps as y, type NavigateProps as z };
1771
+ export { createRoutesFromElements as $, AwaitContextProvider as A, type BlockerFunction as B, type ClientInstrumentation as C, type RouteProps as D, type RouterProps as E, type Fetcher as F, type GetScrollPositionFunction as G, type HydrationState as H, type InstrumentRequestHandlerFunction as I, type RoutesProps as J, Await as K, type LayoutRouteProps as L, type MemoryRouterOpts as M, type NavigateOptions as N, type OutletProps as O, type PathRouteProps as P, MemoryRouter as Q, type RouterInit as R, type StaticHandler as S, Navigate as T, Outlet as U, Route as V, Router as W, RouterProvider as X, Routes as Y, createMemoryRouter as Z, createRoutesFromChildren as _, type RouterProviderProps as a, renderMatches as a0, createRouter as a1, DataRouterContext as a2, DataRouterStateContext as a3, FetchersContext as a4, LocationContext as a5, NavigationContext as a6, RouteContext as a7, ViewTransitionContext as a8, hydrationRouteProperties as a9, mapRouteProperties as aa, WithComponentProps as ab, withComponentProps as ac, WithHydrateFallbackProps as ad, withHydrateFallbackProps as ae, WithErrorBoundaryProps as af, withErrorBoundaryProps as ag, type FutureConfig as ah, type CreateStaticHandlerOptions as ai, type ClientOnErrorFunction as b, type Router$1 as c, type NavigationStates as d, type Blocker as e, type RelativeRoutingType as f, type Navigation as g, type RouterState as h, type GetScrollRestorationKeyFunction as i, type StaticHandlerContext as j, type RouterSubscriber as k, type RouterNavigateOptions as l, type RouterFetchOptions as m, type RevalidationState as n, type ServerInstrumentation as o, type InstrumentRouterFunction as p, type InstrumentRouteFunction as q, type InstrumentationHandlerResult as r, IDLE_NAVIGATION as s, IDLE_FETCHER as t, IDLE_BLOCKER as u, type Navigator as v, type AwaitProps as w, type IndexRouteProps as x, type MemoryRouterProps as y, type NavigateProps as z };
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { a as RouterProviderProps$1, R as RouterInit, C as ClientInstrumentation, b as ClientOnErrorFunction } from './context-BQs41HrG.mjs';
3
- export { D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, R as unstable_RSCHydratedRouter, d as unstable_RSCManifestPayload, e as unstable_RSCPayload, f as unstable_RSCRenderPayload, c as unstable_createCallServer } from './browser-CRsXgNrY.mjs';
2
+ import { a as RouterProviderProps$1, R as RouterInit, C as ClientInstrumentation, b as ClientOnErrorFunction } from './context-ByvtofY2.mjs';
3
+ export { D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, R as unstable_RSCHydratedRouter, d as unstable_RSCManifestPayload, e as unstable_RSCPayload, f as unstable_RSCRenderPayload, c as unstable_createCallServer } from './browser-3AnU12UI.mjs';
4
4
  import './data-BVUf681J.mjs';
5
5
 
6
6
  type RouterProviderProps = Omit<RouterProviderProps$1, "flushSync">;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { RouterProviderProps as RouterProviderProps$1, RouterInit, ClientOnErrorFunction } from 'react-router';
3
- import { C as ClientInstrumentation } from './instrumentation-DlJ2QV7d.js';
4
- export { D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, R as unstable_RSCHydratedRouter, d as unstable_RSCManifestPayload, e as unstable_RSCPayload, f as unstable_RSCRenderPayload, c as unstable_createCallServer } from './browser-wDl1FZEL.js';
3
+ import { C as ClientInstrumentation } from './instrumentation-cRWWLfsU.js';
4
+ export { D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, R as unstable_RSCHydratedRouter, d as unstable_RSCManifestPayload, e as unstable_RSCPayload, f as unstable_RSCRenderPayload, c as unstable_createCallServer } from './browser-BOdXz9dK.js';
5
5
  import './data-BqZ2x964.js';
6
6
 
7
7
  type RouterProviderProps = Omit<RouterProviderProps$1, "flushSync">;
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }/**
2
- * react-router v7.15.0
2
+ * react-router v7.15.1
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -13,7 +13,7 @@
13
13
 
14
14
 
15
15
 
16
- var _chunk7YXKJMLNjs = require('./chunk-7YXKJMLN.js');
16
+ var _chunkY6IFXO7Vjs = require('./chunk-Y6IFXO7V.js');
17
17
 
18
18
 
19
19
 
@@ -34,7 +34,7 @@ var _chunk7YXKJMLNjs = require('./chunk-7YXKJMLN.js');
34
34
 
35
35
 
36
36
 
37
- var _chunkLCJTIOKZjs = require('./chunk-LCJTIOKZ.js');
37
+ var _chunkHUBUW7R3js = require('./chunk-HUBUW7R3.js');
38
38
 
39
39
  // lib/dom-export/dom-router-provider.tsx
40
40
  var _react = require('react'); var React = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react);
@@ -214,7 +214,7 @@ function HydratedRouter(props) {
214
214
  }, []);
215
215
  React2.useEffect(() => {
216
216
  if (process.env.NODE_ENV === "development" && criticalCss === void 0) {
217
- document.querySelectorAll(`[${_chunkLCJTIOKZjs.CRITICAL_CSS_DATA_ATTRIBUTE}]`).forEach((element) => element.remove());
217
+ document.querySelectorAll(`[${_chunkHUBUW7R3js.CRITICAL_CSS_DATA_ATTRIBUTE}]`).forEach((element) => element.remove());
218
218
  }
219
219
  }, [criticalCss]);
220
220
  let [location2, setLocation] = React2.useState(router.state.location);
@@ -393,7 +393,7 @@ function createRouterFromPayload({
393
393
  };
394
394
  if (payload.type !== "render") throw new Error("Invalid payload type");
395
395
  globalVar.__reactRouterRouteModules = _nullishCoalesce(globalVar.__reactRouterRouteModules, () => ( {}));
396
- _chunk7YXKJMLNjs.populateRSCRouteModules.call(void 0, globalVar.__reactRouterRouteModules, payload.matches);
396
+ _chunkY6IFXO7Vjs.populateRSCRouteModules.call(void 0, globalVar.__reactRouterRouteModules, payload.matches);
397
397
  let routes = payload.matches.reduceRight((previous, match) => {
398
398
  const route = createRouteFromServerManifest(
399
399
  match,
@@ -407,12 +407,12 @@ function createRouterFromPayload({
407
407
  return [route];
408
408
  }, []);
409
409
  let applyPatchesPromise;
410
- globalVar.__reactRouterDataRouter = _chunkLCJTIOKZjs.createRouter.call(void 0, {
410
+ globalVar.__reactRouterDataRouter = _chunkHUBUW7R3js.createRouter.call(void 0, {
411
411
  routes,
412
412
  getContext,
413
413
  basename: payload.basename,
414
- history: _chunkLCJTIOKZjs.createBrowserHistory.call(void 0, ),
415
- hydrationData: _chunk7YXKJMLNjs.getHydrationData.call(void 0, {
414
+ history: _chunkHUBUW7R3js.createBrowserHistory.call(void 0, ),
415
+ hydrationData: _chunkY6IFXO7Vjs.getHydrationData.call(void 0, {
416
416
  state: {
417
417
  loaderData: payload.loaderData,
418
418
  actionData: payload.actionData,
@@ -421,7 +421,7 @@ function createRouterFromPayload({
421
421
  routes,
422
422
  getRouteInfo: (routeId) => {
423
423
  let match = payload.matches.find((m) => m.id === routeId);
424
- _chunkLCJTIOKZjs.invariant.call(void 0, match, "Route not found in payload");
424
+ _chunkHUBUW7R3js.invariant.call(void 0, match, "Route not found in payload");
425
425
  return {
426
426
  clientLoader: match.clientLoader,
427
427
  hasLoader: match.hasLoader,
@@ -536,9 +536,9 @@ function createRouterFromPayload({
536
536
  routeModules: globalVar.__reactRouterRouteModules
537
537
  };
538
538
  }
539
- var renderedRoutesContext = _chunkLCJTIOKZjs.createContext.call(void 0, );
539
+ var renderedRoutesContext = _chunkHUBUW7R3js.createContext.call(void 0, );
540
540
  function getRSCSingleFetchDataStrategy(getRouter, ssr, basename, createFromReadableStream, fetchImplementation) {
541
- let dataStrategy = _chunkLCJTIOKZjs.getSingleFetchDataStrategyImpl.call(void 0,
541
+ let dataStrategy = _chunkHUBUW7R3js.getSingleFetchDataStrategyImpl.call(void 0,
542
542
  getRouter,
543
543
  (match) => {
544
544
  let M = match;
@@ -595,20 +595,20 @@ function getRSCSingleFetchDataStrategy(getRouter, ssr, basename, createFromReada
595
595
  function getFetchAndDecodeViaRSC(createFromReadableStream, fetchImplementation) {
596
596
  return async (args, basename, trailingSlashAware, targetRoutes) => {
597
597
  let { request, context } = args;
598
- let url = _chunkLCJTIOKZjs.singleFetchUrl.call(void 0, request.url, basename, trailingSlashAware, "rsc");
598
+ let url = _chunkHUBUW7R3js.singleFetchUrl.call(void 0, request.url, basename, trailingSlashAware, "rsc");
599
599
  if (request.method === "GET") {
600
- url = _chunkLCJTIOKZjs.stripIndexParam.call(void 0, url);
600
+ url = _chunkHUBUW7R3js.stripIndexParam.call(void 0, url);
601
601
  if (targetRoutes) {
602
602
  url.searchParams.set("_routes", targetRoutes.join(","));
603
603
  }
604
604
  }
605
605
  let res = await fetchImplementation(
606
- new Request(url, await _chunkLCJTIOKZjs.createRequestInit.call(void 0, request))
606
+ new Request(url, await _chunkHUBUW7R3js.createRequestInit.call(void 0, request))
607
607
  );
608
608
  if (res.status >= 400 && !res.headers.has("X-Remix-Response")) {
609
- throw new (0, _chunkLCJTIOKZjs.ErrorResponseImpl)(res.status, res.statusText, await res.text());
609
+ throw new (0, _chunkHUBUW7R3js.ErrorResponseImpl)(res.status, res.statusText, await res.text());
610
610
  }
611
- _chunkLCJTIOKZjs.invariant.call(void 0, res.body, "No response body to decode");
611
+ _chunkHUBUW7R3js.invariant.call(void 0, res.body, "No response body to decode");
612
612
  try {
613
613
  const payload = await createFromReadableStream(res.body, {
614
614
  temporaryReferences: void 0
@@ -632,7 +632,7 @@ function getFetchAndDecodeViaRSC(createFromReadableStream, fetchImplementation)
632
632
  }
633
633
  context.get(renderedRoutesContext).push(...payload.matches);
634
634
  let results = { routes: {} };
635
- const dataKey = _chunkLCJTIOKZjs.isMutationMethod.call(void 0, request.method) ? "actionData" : "loaderData";
635
+ const dataKey = _chunkHUBUW7R3js.isMutationMethod.call(void 0, request.method) ? "actionData" : "loaderData";
636
636
  for (let [routeId, data] of Object.entries(payload[dataKey] || {})) {
637
637
  results.routes[routeId] = { data };
638
638
  }
@@ -665,7 +665,7 @@ function RSCHydratedRouter({
665
665
  [createFromReadableStream, payload, fetchImplementation, getContext]
666
666
  );
667
667
  React3.useEffect(() => {
668
- _chunkLCJTIOKZjs.setIsHydrated.call(void 0, );
668
+ _chunkHUBUW7R3js.setIsHydrated.call(void 0, );
669
669
  }, []);
670
670
  React3.useLayoutEffect(() => {
671
671
  const globalVar = window;
@@ -773,8 +773,8 @@ function RSCHydratedRouter({
773
773
  },
774
774
  routeModules
775
775
  };
776
- return /* @__PURE__ */ React3.createElement(_chunkLCJTIOKZjs.RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React3.createElement(_chunk7YXKJMLNjs.RSCRouterGlobalErrorBoundary, { location: state.location }, /* @__PURE__ */ React3.createElement(_chunkLCJTIOKZjs.FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React3.createElement(
777
- _chunkLCJTIOKZjs.RouterProvider,
776
+ return /* @__PURE__ */ React3.createElement(_chunkHUBUW7R3js.RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React3.createElement(_chunkY6IFXO7Vjs.RSCRouterGlobalErrorBoundary, { location: state.location }, /* @__PURE__ */ React3.createElement(_chunkHUBUW7R3js.FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React3.createElement(
777
+ _chunkHUBUW7R3js.RouterProvider,
778
778
  {
779
779
  router: transitionEnabledRouter,
780
780
  flushSync: ReactDOM2.flushSync
@@ -790,8 +790,8 @@ function createRouteFromServerManifest(match, payload) {
790
790
  // the server loader flow regardless of whether the client loader calls
791
791
  // `serverLoader` or not, otherwise we'll have nothing to render.
792
792
  match.hasComponent && !match.element;
793
- _chunkLCJTIOKZjs.invariant.call(void 0, window.__reactRouterRouteModules);
794
- _chunk7YXKJMLNjs.populateRSCRouteModules.call(void 0, window.__reactRouterRouteModules, match);
793
+ _chunkHUBUW7R3js.invariant.call(void 0, window.__reactRouterRouteModules);
794
+ _chunkY6IFXO7Vjs.populateRSCRouteModules.call(void 0, window.__reactRouterRouteModules, match);
795
795
  let dataRoute = {
796
796
  id: match.id,
797
797
  element: match.element,
@@ -801,30 +801,28 @@ function createRouteFromServerManifest(match, payload) {
801
801
  hydrateFallbackElement: match.hydrateFallbackElement,
802
802
  index: match.index,
803
803
  loader: match.clientLoader ? async (args, singleFetch) => {
804
- try {
805
- let result = await match.clientLoader({
806
- ...args,
807
- serverLoader: () => {
808
- preventInvalidServerHandlerCall(
809
- "loader",
810
- match.id,
811
- match.hasLoader
812
- );
813
- if (isHydrationRequest) {
814
- if (hasInitialData) {
815
- return initialData;
816
- }
817
- if (hasInitialError) {
818
- throw initialError;
819
- }
804
+ let _isHydrationRequest = isHydrationRequest;
805
+ isHydrationRequest = false;
806
+ let result = await match.clientLoader({
807
+ ...args,
808
+ serverLoader: () => {
809
+ preventInvalidServerHandlerCall(
810
+ "loader",
811
+ match.id,
812
+ match.hasLoader
813
+ );
814
+ if (_isHydrationRequest) {
815
+ if (hasInitialData) {
816
+ return initialData;
817
+ }
818
+ if (hasInitialError) {
819
+ throw initialError;
820
820
  }
821
- return callSingleFetch(singleFetch);
822
821
  }
823
- });
824
- return result;
825
- } finally {
826
- isHydrationRequest = false;
827
- }
822
+ return callSingleFetch(singleFetch);
823
+ }
824
+ });
825
+ return result;
828
826
  } : (
829
827
  // We always make the call in this RSC world since even if we don't
830
828
  // have a `loader` we may need to get the `element` implementation
@@ -841,7 +839,7 @@ function createRouteFromServerManifest(match, payload) {
841
839
  return await callSingleFetch(singleFetch);
842
840
  }
843
841
  }) : match.hasAction ? (_, singleFetch) => callSingleFetch(singleFetch) : () => {
844
- throw _chunkLCJTIOKZjs.noActionDefinedError.call(void 0, "action", match.id);
842
+ throw _chunkHUBUW7R3js.noActionDefinedError.call(void 0, "action", match.id);
845
843
  },
846
844
  path: match.path,
847
845
  shouldRevalidate: match.shouldRevalidate,
@@ -853,7 +851,7 @@ function createRouteFromServerManifest(match, payload) {
853
851
  hasClientAction: match.clientAction != null
854
852
  };
855
853
  if (typeof dataRoute.loader === "function") {
856
- dataRoute.loader.hydrate = _chunkLCJTIOKZjs.shouldHydrateRouteLoader.call(void 0,
854
+ dataRoute.loader.hydrate = _chunkHUBUW7R3js.shouldHydrateRouteLoader.call(void 0,
857
855
  match.id,
858
856
  match.clientLoader,
859
857
  match.hasLoader,
@@ -863,7 +861,7 @@ function createRouteFromServerManifest(match, payload) {
863
861
  return dataRoute;
864
862
  }
865
863
  function callSingleFetch(singleFetch) {
866
- _chunkLCJTIOKZjs.invariant.call(void 0, typeof singleFetch === "function", "Invalid singleFetch parameter");
864
+ _chunkHUBUW7R3js.invariant.call(void 0, typeof singleFetch === "function", "Invalid singleFetch parameter");
867
865
  return singleFetch();
868
866
  }
869
867
  function preventInvalidServerHandlerCall(type, routeId, hasHandler) {
@@ -871,7 +869,7 @@ function preventInvalidServerHandlerCall(type, routeId, hasHandler) {
871
869
  let fn = type === "action" ? "serverAction()" : "serverLoader()";
872
870
  let msg = `You are trying to call ${fn} on a route that does not have a server ${type} (routeId: "${routeId}")`;
873
871
  console.error(msg);
874
- throw new (0, _chunkLCJTIOKZjs.ErrorResponseImpl)(400, "Bad Request", new Error(msg), true);
872
+ throw new (0, _chunkHUBUW7R3js.ErrorResponseImpl)(400, "Bad Request", new Error(msg), true);
875
873
  }
876
874
  }
877
875
  var nextPaths = /* @__PURE__ */ new Set();
@@ -898,7 +896,7 @@ async function fetchAndApplyManifestPatches(paths, createFromReadableStream, fet
898
896
  if (url == null) {
899
897
  return;
900
898
  }
901
- if (url.toString().length > _chunkLCJTIOKZjs.URL_LIMIT) {
899
+ if (url.toString().length > _chunkHUBUW7R3js.URL_LIMIT) {
902
900
  nextPaths.clear();
903
901
  return;
904
902
  }
@@ -943,7 +941,7 @@ function isExternalLocation(location2) {
943
941
  }
944
942
  function hasInvalidProtocol(location2) {
945
943
  try {
946
- return _chunkLCJTIOKZjs.invalidProtocols.includes(new URL(location2).protocol);
944
+ return _chunkHUBUW7R3js.invalidProtocols.includes(new URL(location2).protocol);
947
945
  } catch (e2) {
948
946
  return false;
949
947
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.15.0
2
+ * react-router v7.15.1
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -14,7 +14,7 @@ import {
14
14
  deserializeErrors,
15
15
  getHydrationData,
16
16
  populateRSCRouteModules
17
- } from "./chunk-23ZOHYE5.mjs";
17
+ } from "./chunk-6S4627ZB.mjs";
18
18
  import {
19
19
  CRITICAL_CSS_DATA_ATTRIBUTE,
20
20
  ErrorResponseImpl,
@@ -44,7 +44,7 @@ import {
44
44
  singleFetchUrl,
45
45
  stripIndexParam,
46
46
  useFogOFWarDiscovery
47
- } from "./chunk-GM3PW4GX.mjs";
47
+ } from "./chunk-JAKZPQZC.mjs";
48
48
 
49
49
  // lib/dom-export/dom-router-provider.tsx
50
50
  import * as React from "react";
@@ -793,30 +793,28 @@ function createRouteFromServerManifest(match, payload) {
793
793
  hydrateFallbackElement: match.hydrateFallbackElement,
794
794
  index: match.index,
795
795
  loader: match.clientLoader ? async (args, singleFetch) => {
796
- try {
797
- let result = await match.clientLoader({
798
- ...args,
799
- serverLoader: () => {
800
- preventInvalidServerHandlerCall(
801
- "loader",
802
- match.id,
803
- match.hasLoader
804
- );
805
- if (isHydrationRequest) {
806
- if (hasInitialData) {
807
- return initialData;
808
- }
809
- if (hasInitialError) {
810
- throw initialError;
811
- }
796
+ let _isHydrationRequest = isHydrationRequest;
797
+ isHydrationRequest = false;
798
+ let result = await match.clientLoader({
799
+ ...args,
800
+ serverLoader: () => {
801
+ preventInvalidServerHandlerCall(
802
+ "loader",
803
+ match.id,
804
+ match.hasLoader
805
+ );
806
+ if (_isHydrationRequest) {
807
+ if (hasInitialData) {
808
+ return initialData;
809
+ }
810
+ if (hasInitialError) {
811
+ throw initialError;
812
812
  }
813
- return callSingleFetch(singleFetch);
814
813
  }
815
- });
816
- return result;
817
- } finally {
818
- isHydrationRequest = false;
819
- }
814
+ return callSingleFetch(singleFetch);
815
+ }
816
+ });
817
+ return result;
820
818
  } : (
821
819
  // We always make the call in this RSC world since even if we don't
822
820
  // have a `loader` we may need to get the `element` implementation
@@ -1,4 +1,4 @@
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-DlJ2QV7d.js';
1
+ import { l as ServerInstrumentation, H as HydrationState, g as StaticHandlerContext, c as RelativeRoutingType, a as Router$1, e as RouterState, R as RouterInit, t as FutureConfig$1, C as ClientInstrumentation, f as GetScrollRestorationKeyFunction, F as Fetcher, B as BlockerFunction, u as CreateStaticHandlerOptions$1, S as StaticHandler } from './instrumentation-cRWWLfsU.js';
2
2
  import * as React from 'react';
3
3
  import { p as RouteManifest, aE as ServerRouteModule, t as MiddlewareEnabled, c as RouterContextProvider, u as AppLoadContext, s as LoaderFunctionArgs, a0 as ActionFunctionArgs, O as RouteModules, n as DataRouteObject, a as ClientLoaderFunction, o as RouteBranch, aF as TrackedPromise, f as History, T as To, L as Location, i as Action, ac as RouteMatch, Y as InitialEntry, _ as NonIndexRouteObject, a7 as LazyRouteFunction, Z as IndexRouteObject, P as Params, l as DataStrategyFunction, m as PatchRoutesOnNavigationFunction, e as RouteObject, U as UIMatch, q as HTMLFormMethod, F as FormEncType, av as PageLinkDescriptor, Q as SerializeFrom } from './data-BqZ2x964.js';
4
4
 
@@ -3146,7 +3146,7 @@ declare function useSubmit(): SubmitFunction;
3146
3146
  * This is used internally by {@link Form} to resolve the `action` to the closest
3147
3147
  * route, but can be used generically as well.
3148
3148
  *
3149
- * @example
3149
+ * ```ts
3150
3150
  * import { useFormAction } from "react-router";
3151
3151
  *
3152
3152
  * function SomeComponent() {
@@ -3156,6 +3156,14 @@ declare function useSubmit(): SubmitFunction;
3156
3156
  * // closest route URL + "destroy"
3157
3157
  * let destroyAction = useFormAction("destroy");
3158
3158
  * }
3159
+ * ```
3160
+ *
3161
+ * <docs-info>This hook adds a `basename` if your app specifies one, so that it
3162
+ * can be used with raw `<form>` elements in a progressively enhanced way. If
3163
+ * you are using this to provide an `action` to `<Form>` or `fetcher.submit`, you
3164
+ * will need to remove the `basename` since both of those will prepend it
3165
+ * internally.</docs-info>
3166
+ *
3159
3167
  *
3160
3168
  * @public
3161
3169
  * @category Hooks
@@ -1,4 +1,4 @@
1
- import { o as ServerInstrumentation, H as HydrationState, i as StaticHandlerContext, e 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-BQs41HrG.mjs';
1
+ import { o as ServerInstrumentation, H as HydrationState, j as StaticHandlerContext, f as RelativeRoutingType, i 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-ByvtofY2.mjs';
2
2
  import * as React from 'react';
3
3
  import { J as RouteManifest, aF as ServerRouteModule, p as MiddlewareEnabled, c as RouterContextProvider, q as AppLoadContext, o as LoaderFunctionArgs, a3 as ActionFunctionArgs, Z as RouteModules, E as DataRouteObject, a as ClientLoaderFunction, I as RouteBranch, m as HTMLFormMethod, n as FormEncType, aw as PageLinkDescriptor, T as To, s as History, z as DataStrategyFunction, B as PatchRoutesOnNavigationFunction, r as RouteObject, _ as SerializeFrom, L as Location } from './data-BVUf681J.mjs';
4
4
 
@@ -2091,7 +2091,7 @@ declare function useSubmit(): SubmitFunction;
2091
2091
  * This is used internally by {@link Form} to resolve the `action` to the closest
2092
2092
  * route, but can be used generically as well.
2093
2093
  *
2094
- * @example
2094
+ * ```ts
2095
2095
  * import { useFormAction } from "react-router";
2096
2096
  *
2097
2097
  * function SomeComponent() {
@@ -2101,6 +2101,14 @@ declare function useSubmit(): SubmitFunction;
2101
2101
  * // closest route URL + "destroy"
2102
2102
  * let destroyAction = useFormAction("destroy");
2103
2103
  * }
2104
+ * ```
2105
+ *
2106
+ * <docs-info>This hook adds a `basename` if your app specifies one, so that it
2107
+ * can be used with raw `<form>` elements in a progressively enhanced way. If
2108
+ * you are using this to provide an `action` to `<Form>` or `fetcher.submit`, you
2109
+ * will need to remove the `basename` since both of those will prepend it
2110
+ * internally.</docs-info>
2111
+ *
2104
2112
  *
2105
2113
  * @public
2106
2114
  * @category Hooks
@@ -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-BQs41HrG.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-Ck_yZ1qL.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-ByvtofY2.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-DY04-103.mjs';
3
3
  import './data-BVUf681J.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-CSv-KZBk.js';
2
- import './instrumentation-DlJ2QV7d.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-BS5F89FR.js';
2
+ import './instrumentation-cRWWLfsU.js';
3
3
  import './data-BqZ2x964.js';
4
4
  import 'react';
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});/**
2
- * react-router v7.15.0
2
+ * react-router v7.15.1
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -19,7 +19,7 @@
19
19
 
20
20
 
21
21
 
22
- var _chunkYBQJ3ABEjs = require('./chunk-YBQJ3ABE.js');
22
+ var _chunkPNZCCTKTjs = require('./chunk-PNZCCTKT.js');
23
23
 
24
24
 
25
25
 
@@ -34,7 +34,7 @@ var _chunkYBQJ3ABEjs = require('./chunk-YBQJ3ABE.js');
34
34
 
35
35
 
36
36
 
37
- var _chunkLCJTIOKZjs = require('./chunk-LCJTIOKZ.js');
37
+ var _chunkHUBUW7R3js = require('./chunk-HUBUW7R3.js');
38
38
 
39
39
 
40
40
 
@@ -58,4 +58,4 @@ var _chunkLCJTIOKZjs = require('./chunk-LCJTIOKZ.js');
58
58
 
59
59
 
60
60
 
61
- exports.BrowserRouter = _chunkYBQJ3ABEjs.BrowserRouter; exports.Form = _chunkYBQJ3ABEjs.Form; exports.HashRouter = _chunkYBQJ3ABEjs.HashRouter; exports.Link = _chunkYBQJ3ABEjs.Link; exports.Links = _chunkLCJTIOKZjs.Links; exports.MemoryRouter = _chunkLCJTIOKZjs.MemoryRouter; exports.Meta = _chunkLCJTIOKZjs.Meta; exports.NavLink = _chunkYBQJ3ABEjs.NavLink; exports.Navigate = _chunkLCJTIOKZjs.Navigate; exports.Outlet = _chunkLCJTIOKZjs.Outlet; exports.Route = _chunkLCJTIOKZjs.Route; exports.Router = _chunkLCJTIOKZjs.Router; exports.RouterProvider = _chunkLCJTIOKZjs.RouterProvider; exports.Routes = _chunkLCJTIOKZjs.Routes; exports.ScrollRestoration = _chunkYBQJ3ABEjs.ScrollRestoration; exports.StaticRouter = _chunkYBQJ3ABEjs.StaticRouter; exports.StaticRouterProvider = _chunkYBQJ3ABEjs.StaticRouterProvider; exports.UNSAFE_AwaitContextProvider = _chunkLCJTIOKZjs.AwaitContextProvider; exports.UNSAFE_WithComponentProps = _chunkLCJTIOKZjs.WithComponentProps; exports.UNSAFE_WithErrorBoundaryProps = _chunkLCJTIOKZjs.WithErrorBoundaryProps; exports.UNSAFE_WithHydrateFallbackProps = _chunkLCJTIOKZjs.WithHydrateFallbackProps; exports.unstable_HistoryRouter = _chunkYBQJ3ABEjs.HistoryRouter;
61
+ exports.BrowserRouter = _chunkPNZCCTKTjs.BrowserRouter; exports.Form = _chunkPNZCCTKTjs.Form; exports.HashRouter = _chunkPNZCCTKTjs.HashRouter; exports.Link = _chunkPNZCCTKTjs.Link; exports.Links = _chunkHUBUW7R3js.Links; exports.MemoryRouter = _chunkHUBUW7R3js.MemoryRouter; exports.Meta = _chunkHUBUW7R3js.Meta; exports.NavLink = _chunkPNZCCTKTjs.NavLink; exports.Navigate = _chunkHUBUW7R3js.Navigate; exports.Outlet = _chunkHUBUW7R3js.Outlet; exports.Route = _chunkHUBUW7R3js.Route; exports.Router = _chunkHUBUW7R3js.Router; exports.RouterProvider = _chunkHUBUW7R3js.RouterProvider; exports.Routes = _chunkHUBUW7R3js.Routes; exports.ScrollRestoration = _chunkPNZCCTKTjs.ScrollRestoration; exports.StaticRouter = _chunkPNZCCTKTjs.StaticRouter; exports.StaticRouterProvider = _chunkPNZCCTKTjs.StaticRouterProvider; exports.UNSAFE_AwaitContextProvider = _chunkHUBUW7R3js.AwaitContextProvider; exports.UNSAFE_WithComponentProps = _chunkHUBUW7R3js.WithComponentProps; exports.UNSAFE_WithErrorBoundaryProps = _chunkHUBUW7R3js.WithErrorBoundaryProps; exports.UNSAFE_WithHydrateFallbackProps = _chunkHUBUW7R3js.WithHydrateFallbackProps; exports.unstable_HistoryRouter = _chunkPNZCCTKTjs.HistoryRouter;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v7.15.0
2
+ * react-router v7.15.1
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-GM3PW4GX.mjs";
35
+ } from "./chunk-JAKZPQZC.mjs";
36
36
  export {
37
37
  BrowserRouter,
38
38
  Form,
@@ -1593,6 +1593,8 @@ type NavigationStates = {
1593
1593
  Idle: {
1594
1594
  state: "idle";
1595
1595
  location: undefined;
1596
+ matches: undefined;
1597
+ historyAction: undefined;
1596
1598
  formMethod: undefined;
1597
1599
  formAction: undefined;
1598
1600
  formEncType: undefined;
@@ -1603,6 +1605,8 @@ type NavigationStates = {
1603
1605
  Loading: {
1604
1606
  state: "loading";
1605
1607
  location: Location;
1608
+ matches: DataRouteMatch[];
1609
+ historyAction: Action;
1606
1610
  formMethod: Submission["formMethod"] | undefined;
1607
1611
  formAction: Submission["formAction"] | undefined;
1608
1612
  formEncType: Submission["formEncType"] | undefined;
@@ -1613,6 +1617,8 @@ type NavigationStates = {
1613
1617
  Submitting: {
1614
1618
  state: "submitting";
1615
1619
  location: Location;
1620
+ matches: DataRouteMatch[];
1621
+ historyAction: Action;
1616
1622
  formMethod: Submission["formMethod"];
1617
1623
  formAction: Submission["formAction"];
1618
1624
  formEncType: Submission["formEncType"];
@@ -1593,6 +1593,8 @@ type NavigationStates = {
1593
1593
  Idle: {
1594
1594
  state: "idle";
1595
1595
  location: undefined;
1596
+ matches: undefined;
1597
+ historyAction: undefined;
1596
1598
  formMethod: undefined;
1597
1599
  formAction: undefined;
1598
1600
  formEncType: undefined;
@@ -1603,6 +1605,8 @@ type NavigationStates = {
1603
1605
  Loading: {
1604
1606
  state: "loading";
1605
1607
  location: Location;
1608
+ matches: DataRouteMatch[];
1609
+ historyAction: Action;
1606
1610
  formMethod: Submission["formMethod"] | undefined;
1607
1611
  formAction: Submission["formAction"] | undefined;
1608
1612
  formEncType: Submission["formEncType"] | undefined;
@@ -1613,6 +1617,8 @@ type NavigationStates = {
1613
1617
  Submitting: {
1614
1618
  state: "submitting";
1615
1619
  location: Location;
1620
+ matches: DataRouteMatch[];
1621
+ historyAction: Action;
1616
1622
  formMethod: Submission["formMethod"];
1617
1623
  formAction: Submission["formAction"];
1618
1624
  formEncType: Submission["formEncType"];
@@ -27,7 +27,7 @@ function _interopNamespace(e) {
27
27
  var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
28
28
 
29
29
  /**
30
- * react-router v7.15.0
30
+ * react-router v7.15.1
31
31
  *
32
32
  * Copyright (c) Remix Software Inc.
33
33
  *
@@ -2985,7 +2985,7 @@ async function generateRenderResponse(request, routes, basename, isDataRequest,
2985
2985
  let formState;
2986
2986
  let skipRevalidation = false;
2987
2987
  let potentialCSRFAttackError;
2988
- if (request.method === "POST") {
2988
+ if (isMutationMethod(request.method)) {
2989
2989
  try {
2990
2990
  throwIfPotentialCSRFAttack(request.headers, allowedActionOrigins);
2991
2991
  ctx.runningAction = true;
@@ -3493,7 +3493,7 @@ var unsign = async (cookie, secret) => {
3493
3493
  let signature = byteStringToUint8Array(atob(hash));
3494
3494
  let valid = await crypto.subtle.verify("HMAC", key, signature, data2);
3495
3495
  return valid ? value : false;
3496
- } catch (error) {
3496
+ } catch (e) {
3497
3497
  return false;
3498
3498
  }
3499
3499
  };
@@ -3594,7 +3594,7 @@ function encodeData(value) {
3594
3594
  function decodeData(value) {
3595
3595
  try {
3596
3596
  return JSON.parse(decodeURIComponent(myEscape(atob(value))));
3597
- } catch (error) {
3597
+ } catch (e) {
3598
3598
  return {};
3599
3599
  }
3600
3600
  }
@@ -6,7 +6,7 @@ export { BrowserRouter, Form, HashRouter, Link, Links, MemoryRouter, Meta, NavLi
6
6
  import { serialize, parse } from 'cookie';
7
7
 
8
8
  /**
9
- * react-router v7.15.0
9
+ * react-router v7.15.1
10
10
  *
11
11
  * Copyright (c) Remix Software Inc.
12
12
  *
@@ -2964,7 +2964,7 @@ async function generateRenderResponse(request, routes, basename, isDataRequest,
2964
2964
  let formState;
2965
2965
  let skipRevalidation = false;
2966
2966
  let potentialCSRFAttackError;
2967
- if (request.method === "POST") {
2967
+ if (isMutationMethod(request.method)) {
2968
2968
  try {
2969
2969
  throwIfPotentialCSRFAttack(request.headers, allowedActionOrigins);
2970
2970
  ctx.runningAction = true;
@@ -3472,7 +3472,7 @@ var unsign = async (cookie, secret) => {
3472
3472
  let signature = byteStringToUint8Array(atob(hash));
3473
3473
  let valid = await crypto.subtle.verify("HMAC", key, signature, data2);
3474
3474
  return valid ? value : false;
3475
- } catch (error) {
3475
+ } catch (e) {
3476
3476
  return false;
3477
3477
  }
3478
3478
  };
@@ -3573,7 +3573,7 @@ function encodeData(value) {
3573
3573
  function decodeData(value) {
3574
3574
  try {
3575
3575
  return JSON.parse(decodeURIComponent(myEscape(atob(value))));
3576
- } catch (error) {
3576
+ } catch (e) {
3577
3577
  return {};
3578
3578
  }
3579
3579
  }