react-router 0.0.0-experimental-91dc3da6e → 0.0.0-experimental-4303fcb98

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v0.0.0-experimental-91dc3da6e
2
+ * react-router v0.0.0-experimental-4303fcb98
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -8804,7 +8804,7 @@ function mergeRefs(...refs) {
8804
8804
  var isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
8805
8805
  try {
8806
8806
  if (isBrowser) {
8807
- window.__reactRouterVersion = "0.0.0-experimental-91dc3da6e";
8807
+ window.__reactRouterVersion = "0.0.0-experimental-4303fcb98";
8808
8808
  }
8809
8809
  } catch (e) {
8810
8810
  }
@@ -11479,7 +11479,7 @@ function href(path, ...args) {
11479
11479
  }
11480
11480
 
11481
11481
  // lib/rsc/browser.tsx
11482
- import * as React14 from "react";
11482
+ import * as React15 from "react";
11483
11483
  import * as ReactDOM from "react-dom";
11484
11484
 
11485
11485
  // lib/dom/ssr/hydration.tsx
@@ -11508,6 +11508,116 @@ function getHydrationData(state, routes, getRouteInfo, location2, basename, isSp
11508
11508
  return hydrationData;
11509
11509
  }
11510
11510
 
11511
+ // lib/rsc/errorBoundaries.tsx
11512
+ import React14 from "react";
11513
+ var RSCRouterGlobalErrorBoundary = class extends React14.Component {
11514
+ constructor(props) {
11515
+ super(props);
11516
+ this.state = { error: null, location: props.location };
11517
+ }
11518
+ static getDerivedStateFromError(error) {
11519
+ return { error };
11520
+ }
11521
+ static getDerivedStateFromProps(props, state) {
11522
+ if (state.location !== props.location) {
11523
+ return { error: null, location: props.location };
11524
+ }
11525
+ return { error: state.error, location: state.location };
11526
+ }
11527
+ render() {
11528
+ if (this.state.error) {
11529
+ return /* @__PURE__ */ React14.createElement(
11530
+ RSCDefaultRootErrorBoundaryImpl,
11531
+ {
11532
+ error: this.state.error,
11533
+ renderAppShell: true
11534
+ }
11535
+ );
11536
+ } else {
11537
+ return this.props.children;
11538
+ }
11539
+ }
11540
+ };
11541
+ function ErrorWrapper({
11542
+ renderAppShell,
11543
+ title,
11544
+ children
11545
+ }) {
11546
+ if (!renderAppShell) {
11547
+ return children;
11548
+ }
11549
+ return /* @__PURE__ */ React14.createElement("html", { lang: "en" }, /* @__PURE__ */ React14.createElement("head", null, /* @__PURE__ */ React14.createElement("meta", { charSet: "utf-8" }), /* @__PURE__ */ React14.createElement(
11550
+ "meta",
11551
+ {
11552
+ name: "viewport",
11553
+ content: "width=device-width,initial-scale=1,viewport-fit=cover"
11554
+ }
11555
+ ), /* @__PURE__ */ React14.createElement("title", null, title)), /* @__PURE__ */ React14.createElement("body", null, /* @__PURE__ */ React14.createElement("main", { style: { fontFamily: "system-ui, sans-serif", padding: "2rem" } }, children)));
11556
+ }
11557
+ function RSCDefaultRootErrorBoundaryImpl({
11558
+ error,
11559
+ renderAppShell
11560
+ }) {
11561
+ console.error(error);
11562
+ let heyDeveloper = /* @__PURE__ */ React14.createElement(
11563
+ "script",
11564
+ {
11565
+ dangerouslySetInnerHTML: {
11566
+ __html: `
11567
+ console.log(
11568
+ "\u{1F4BF} Hey developer \u{1F44B}. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information."
11569
+ );
11570
+ `
11571
+ }
11572
+ }
11573
+ );
11574
+ if (isRouteErrorResponse(error)) {
11575
+ return /* @__PURE__ */ React14.createElement(
11576
+ ErrorWrapper,
11577
+ {
11578
+ renderAppShell,
11579
+ title: "Unhandled Thrown Response!"
11580
+ },
11581
+ /* @__PURE__ */ React14.createElement("h1", { style: { fontSize: "24px" } }, error.status, " ", error.statusText),
11582
+ ENABLE_DEV_WARNINGS ? heyDeveloper : null
11583
+ );
11584
+ }
11585
+ let errorInstance;
11586
+ if (error instanceof Error) {
11587
+ errorInstance = error;
11588
+ } else {
11589
+ let errorString = error == null ? "Unknown Error" : typeof error === "object" && "toString" in error ? error.toString() : JSON.stringify(error);
11590
+ errorInstance = new Error(errorString);
11591
+ }
11592
+ return /* @__PURE__ */ React14.createElement(ErrorWrapper, { renderAppShell, title: "Application Error!" }, /* @__PURE__ */ React14.createElement("h1", { style: { fontSize: "24px" } }, "Application Error"), /* @__PURE__ */ React14.createElement(
11593
+ "pre",
11594
+ {
11595
+ style: {
11596
+ padding: "2rem",
11597
+ background: "hsla(10, 50%, 50%, 0.1)",
11598
+ color: "red",
11599
+ overflow: "auto"
11600
+ }
11601
+ },
11602
+ errorInstance.stack
11603
+ ), heyDeveloper);
11604
+ }
11605
+ function RSCDefaultRootErrorBoundary({
11606
+ hasRootLayout
11607
+ }) {
11608
+ let error = useRouteError();
11609
+ if (hasRootLayout === void 0) {
11610
+ throw new Error("Missing 'hasRootLayout' prop");
11611
+ }
11612
+ return /* @__PURE__ */ React14.createElement(
11613
+ RSCDefaultRootErrorBoundaryImpl,
11614
+ {
11615
+ renderAppShell: !hasRootLayout,
11616
+ error
11617
+ }
11618
+ );
11619
+ }
11620
+
11511
11621
  // lib/rsc/browser.tsx
11512
11622
  function createCallServer({
11513
11623
  decode: decode2,
@@ -11577,7 +11687,7 @@ function createCallServer({
11577
11687
  lastMatch = match;
11578
11688
  }
11579
11689
  window.__router._internalSetStateDoNotUseOrYouWillBreakYourApp({});
11580
- React14.startTransition(() => {
11690
+ React15.startTransition(() => {
11581
11691
  window.__router._internalSetStateDoNotUseOrYouWillBreakYourApp({
11582
11692
  loaderData: Object.assign(
11583
11693
  {},
@@ -11789,18 +11899,27 @@ function RSCHydratedRouter({
11789
11899
  routeDiscovery = "eager"
11790
11900
  }) {
11791
11901
  if (payload.type !== "render") throw new Error("Invalid payload type");
11792
- let router = React14.useMemo(
11902
+ let router = React15.useMemo(
11793
11903
  () => createRouterFromPayload({ decode: decode2, payload }),
11794
11904
  // eslint-disable-next-line react-hooks/exhaustive-deps
11795
11905
  []
11796
11906
  );
11797
- React14.useLayoutEffect(() => {
11907
+ React15.useLayoutEffect(() => {
11798
11908
  if (!window.__routerInitialized) {
11799
11909
  window.__routerInitialized = true;
11800
11910
  window.__router.initialize();
11801
11911
  }
11802
11912
  }, []);
11803
- React14.useEffect(() => {
11913
+ let [location2, setLocation] = React15.useState(router.state.location);
11914
+ React15.useLayoutEffect(
11915
+ () => router.subscribe((newState) => {
11916
+ if (newState.location !== location2) {
11917
+ setLocation(newState.location);
11918
+ }
11919
+ }),
11920
+ [router, location2]
11921
+ );
11922
+ React15.useEffect(() => {
11804
11923
  if (routeDiscovery === "lazy" || // @ts-expect-error - TS doesn't know about this yet
11805
11924
  window.navigator?.connection?.saveData === true) {
11806
11925
  return;
@@ -11865,7 +11984,7 @@ function RSCHydratedRouter({
11865
11984
  routeDiscovery: { mode: "lazy", manifestPath: "/__manifest" },
11866
11985
  routeModules: {}
11867
11986
  };
11868
- return /* @__PURE__ */ React14.createElement(RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React14.createElement(FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React14.createElement(RouterProvider, { router, flushSync: ReactDOM.flushSync })));
11987
+ return /* @__PURE__ */ React15.createElement(RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React15.createElement(RSCRouterGlobalErrorBoundary, { location: location2 }, /* @__PURE__ */ React15.createElement(FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React15.createElement(RouterProvider, { router, flushSync: ReactDOM.flushSync }))));
11869
11988
  }
11870
11989
  function createRouteFromServerManifest(match, payload) {
11871
11990
  let hasInitialData = payload && match.id in payload.loaderData;
@@ -11924,7 +12043,9 @@ function createRouteFromServerManifest(match, payload) {
11924
12043
  );
11925
12044
  return await callSingleFetch(singleFetch);
11926
12045
  }
11927
- }) : match.hasAction ? (_, singleFetch) => callSingleFetch(singleFetch) : void 0,
12046
+ }) : match.hasAction ? (_, singleFetch) => callSingleFetch(singleFetch) : () => {
12047
+ throw noActionDefinedError("action", match.id);
12048
+ },
11928
12049
  path: match.path,
11929
12050
  shouldRevalidate: match.shouldRevalidate,
11930
12051
  // We always have a "loader" in this RSC world since even if we don't
@@ -12000,7 +12121,7 @@ function debounce2(callback, wait) {
12000
12121
  }
12001
12122
 
12002
12123
  // lib/rsc/server.ssr.tsx
12003
- import * as React15 from "react";
12124
+ import * as React16 from "react";
12004
12125
 
12005
12126
  // lib/rsc/html-stream/server.ts
12006
12127
  var encoder2 = new TextEncoder();
@@ -12147,7 +12268,7 @@ async function routeRSCServerRequest({
12147
12268
  function RSCStaticRouter({
12148
12269
  getPayload
12149
12270
  }) {
12150
- const payload = React15.use(getPayload());
12271
+ const payload = React16.use(getPayload());
12151
12272
  if (payload.type === "redirect") {
12152
12273
  throw new Response(null, {
12153
12274
  status: payload.status,
@@ -12226,7 +12347,7 @@ function RSCStaticRouter({
12226
12347
  routeDiscovery: { mode: "lazy", manifestPath: "/__manifest" },
12227
12348
  routeModules: {}
12228
12349
  };
12229
- return /* @__PURE__ */ React15.createElement(RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React15.createElement(FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React15.createElement(
12350
+ return /* @__PURE__ */ React16.createElement(RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React16.createElement(RSCRouterGlobalErrorBoundary, { location: payload.location }, /* @__PURE__ */ React16.createElement(FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React16.createElement(
12230
12351
  StaticRouterProvider,
12231
12352
  {
12232
12353
  context,
@@ -12234,7 +12355,7 @@ function RSCStaticRouter({
12234
12355
  hydrate: false,
12235
12356
  nonce: payload.nonce
12236
12357
  }
12237
- )));
12358
+ ))));
12238
12359
  }
12239
12360
  function isReactServerRequest(url) {
12240
12361
  return url.pathname.endsWith(".rsc");
@@ -12434,6 +12555,7 @@ export {
12434
12555
  createMemorySessionStorage,
12435
12556
  href,
12436
12557
  getHydrationData,
12558
+ RSCDefaultRootErrorBoundary,
12437
12559
  createCallServer,
12438
12560
  RSCHydratedRouter,
12439
12561
  routeRSCServerRequest,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v0.0.0-experimental-91dc3da6e
2
+ * react-router v0.0.0-experimental-4303fcb98
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v0.0.0-experimental-91dc3da6e
2
+ * react-router v0.0.0-experimental-4303fcb98
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -26,7 +26,7 @@ import {
26
26
  invariant,
27
27
  mapRouteProperties,
28
28
  useFogOFWarDiscovery
29
- } from "./chunk-HHE2KJXP.mjs";
29
+ } from "./chunk-3HEPIEBR.mjs";
30
30
 
31
31
  // lib/dom-export/dom-router-provider.tsx
32
32
  import * as React from "react";
@@ -3,7 +3,7 @@ export { y as ActionFunctionArgs, B as Blocker, s as BlockerFunction, au as Clie
3
3
  import { A as AssetsManifest, E as EntryContext, F as FutureConfig$1, a as RouteComponentType, H as HydrateFallbackType, b as ErrorBoundaryType, S as ServerBuild, c as ServerPayload } from './browser-DQVA_cmy.mjs';
4
4
  export { i as Await, d as AwaitProps, ag as BrowserRouter, a0 as BrowserRouterProps, a1 as DOMRouterOpts, a7 as FetcherFormProps, ac as FetcherSubmitFunction, aw as FetcherSubmitOptions, ad as FetcherWithComponents, al as Form, a8 as FormProps, aH as HandleDataRequestFunction, aI as HandleDocumentRequestFunction, aJ as HandleErrorFunction, ah as HashRouter, a2 as HashRouterProps, a3 as HistoryRouterProps, I as IndexRouteProps, L as LayoutRouteProps, ai as Link, a4 as LinkProps, aD as Links, j as MemoryRouter, M as MemoryRouterOpts, e as MemoryRouterProps, aC as Meta, ak as NavLink, a5 as NavLinkProps, a6 as NavLinkRenderProps, k as Navigate, u as NavigateFunction, N as NavigateProps, l as Outlet, O as OutletProps, ax as ParamKeyValuePair, P as PathRouteProps, aF as PrefetchPageLinks, m as Route, f as RouteProps, n as Router, g as RouterProps, o as RouterProvider, R as RouterProviderProps, p as Routes, h as RoutesProps, aE as Scripts, aG as ScriptsProps, am as ScrollRestoration, a9 as ScrollRestorationProps, aK as ServerEntryModule, aa as SetURLSearchParams, ab as SubmitFunction, ay as SubmitOptions, aA as SubmitTarget, aV as UNSAFE_FrameworkContext, aW as UNSAFE_createClientRoutes, aX as UNSAFE_createClientRoutesWithHMRRevalidationOptOut, aQ as UNSAFE_hydrationRouteProperties, aR as UNSAFE_mapRouteProperties, aY as UNSAFE_shouldHydrateRouteLoader, aZ as UNSAFE_useScrollRestoration, aS as UNSAFE_withComponentProps, aU as UNSAFE_withErrorBoundaryProps, aT as UNSAFE_withHydrateFallbackProps, az as URLSearchParamsInit, ae as createBrowserRouter, af as createHashRouter, q as createMemoryRouter, r as createRoutesFromChildren, s as createRoutesFromElements, aB as createSearchParams, t as renderMatches, aL as unstable_DecodeServerResponseFunction, aM as unstable_EncodeActionFunction, aj as unstable_HistoryRouter, aO as unstable_RSCHydratedRouter, aN as unstable_createCallServer, aP as unstable_getServerStream, au as unstable_usePrompt, w as useActionData, x as useAsyncError, y as useAsyncValue, at as useBeforeUnload, v as useBlocker, ar as useFetcher, as as useFetchers, aq as useFormAction, z as useHref, B as useInRouterContext, an as useLinkClickHandler, C as useLoaderData, D as useLocation, G as useMatch, J as useMatches, K as useNavigate, Q as useNavigation, T as useNavigationType, U as useOutlet, V as useOutletContext, W as useParams, X as useResolvedPath, Y as useRevalidator, Z as useRouteError, _ as useRouteLoaderData, $ as useRoutes, ao as useSearchParams, ap as useSubmit, av as useViewTransitionState } from './browser-DQVA_cmy.mjs';
5
5
  import * as React from 'react';
6
- import { ReactElement } from 'react';
6
+ import React__default, { ReactElement } from 'react';
7
7
  import { ParseOptions, SerializeOptions } from 'cookie';
8
8
  export { ParseOptions as CookieParseOptions, SerializeOptions as CookieSerializeOptions } from 'cookie';
9
9
  import { P as Pages } from './register-DeIo2iHO.mjs';
@@ -394,6 +394,10 @@ declare function RSCStaticRouter({ getPayload, }: {
394
394
  getPayload: () => Promise<ServerPayload>;
395
395
  }): React.JSX.Element | null;
396
396
 
397
+ declare function RSCDefaultRootErrorBoundary({ hasRootLayout, }: {
398
+ hasRootLayout: boolean;
399
+ }): React__default.JSX.Element;
400
+
397
401
  declare function deserializeErrors(errors: RouterState["errors"]): RouterState["errors"];
398
402
 
399
403
  type RemixErrorBoundaryProps = React.PropsWithChildren<{
@@ -430,4 +434,4 @@ declare function getHydrationData(state: {
430
434
  hasHydrateFallback: boolean;
431
435
  }, location: Path, basename: string | undefined, isSpaMode: boolean): HydrationState;
432
436
 
433
- export { ActionFunction, AppLoadContext, ClientLoaderFunction, type Cookie, type CookieOptions, type CookieSignatureOptions, type CreateRequestHandlerFunction, DataRouteObject, Router as DataRouter, DataStrategyFunction, EntryContext, type FlashSessionData, HydrationState, IndexRouteObject, InitialEntry, type IsCookieFunction, type IsSessionFunction, LinksFunction, LoaderFunction, Location, MetaFunction, NonIndexRouteObject, PatchRoutesOnNavigationFunction, Path, type RequestHandler, RouteObject, RouterState, type RoutesTestStubProps, ServerBuild, ServerRouter, type ServerRouterProps, type Session, type SessionData, type SessionIdStorageStrategy, type SessionStorage, StaticHandler, StaticHandlerContext, StaticRouter, type StaticRouterProps, StaticRouterProvider, type StaticRouterProviderProps, AssetsManifest as UNSAFE_AssetsManifest, MiddlewareEnabled as UNSAFE_MiddlewareEnabled, RemixErrorBoundary as UNSAFE_RemixErrorBoundary, RouteModules as UNSAFE_RouteModules, ServerMode as UNSAFE_ServerMode, SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol, decodeViaTurboStream as UNSAFE_decodeViaTurboStream, deserializeErrors as UNSAFE_deserializeErrors, getHydrationData as UNSAFE_getHydrationData, getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction, getTurboStreamSingleFetchDataStrategy as UNSAFE_getTurboStreamSingleFetchDataStrategy, useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery, createCookie, createCookieSessionStorage, createMemorySessionStorage, createRequestHandler, createRoutesStub, createSession, createSessionStorage, createStaticHandler, createStaticRouter, href, isCookie, isSession, unstable_InitialContext, RSCStaticRouter as unstable_RSCStaticRouter, routeRSCServerRequest as unstable_routeRSCServerRequest, setDevServerHooks as unstable_setDevServerHooks };
437
+ export { ActionFunction, AppLoadContext, ClientLoaderFunction, type Cookie, type CookieOptions, type CookieSignatureOptions, type CreateRequestHandlerFunction, DataRouteObject, Router as DataRouter, DataStrategyFunction, EntryContext, type FlashSessionData, HydrationState, IndexRouteObject, InitialEntry, type IsCookieFunction, type IsSessionFunction, LinksFunction, LoaderFunction, Location, MetaFunction, NonIndexRouteObject, PatchRoutesOnNavigationFunction, Path, type RequestHandler, RouteObject, RouterState, type RoutesTestStubProps, ServerBuild, ServerRouter, type ServerRouterProps, type Session, type SessionData, type SessionIdStorageStrategy, type SessionStorage, StaticHandler, StaticHandlerContext, StaticRouter, type StaticRouterProps, StaticRouterProvider, type StaticRouterProviderProps, AssetsManifest as UNSAFE_AssetsManifest, MiddlewareEnabled as UNSAFE_MiddlewareEnabled, RSCDefaultRootErrorBoundary as UNSAFE_RSCDefaultRootErrorBoundary, RemixErrorBoundary as UNSAFE_RemixErrorBoundary, RouteModules as UNSAFE_RouteModules, ServerMode as UNSAFE_ServerMode, SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol, decodeViaTurboStream as UNSAFE_decodeViaTurboStream, deserializeErrors as UNSAFE_deserializeErrors, getHydrationData as UNSAFE_getHydrationData, getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction, getTurboStreamSingleFetchDataStrategy as UNSAFE_getTurboStreamSingleFetchDataStrategy, useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery, createCookie, createCookieSessionStorage, createMemorySessionStorage, createRequestHandler, createRoutesStub, createSession, createSessionStorage, createStaticHandler, createStaticRouter, href, isCookie, isSession, unstable_InitialContext, RSCStaticRouter as unstable_RSCStaticRouter, routeRSCServerRequest as unstable_routeRSCServerRequest, setDevServerHooks as unstable_setDevServerHooks };
@@ -1,7 +1,7 @@
1
1
  import { R as RouteManifest, S as ServerRouteModule, M as MiddlewareEnabled, u as unstable_RouterContextProvider, A as AppLoadContext, L as LoaderFunctionArgs, a as ActionFunctionArgs, b as RouteModules, c as StaticHandlerContext, H as HydrationState, D as DataRouteObject, C as ClientLoaderFunction, d as Router$1, e as DataStrategyFunction, T as To, N as NavigateOptions, B as BlockerFunction, f as Blocker, g as SerializeFrom, h as RelativeRoutingType, i as Location, P as ParamParseKey, j as Path, k as PathPattern, l as PathMatch, U as UIMatch, m as Navigation, n as Action, o as Params, p as RouteObject, I as IndexRouteObject, q as LazyRouteFunction, r as NonIndexRouteObject, s as RouterInit, F as FutureConfig$1, t as InitialEntry, v as PatchRoutesOnNavigationFunction, w as Navigator, x as RouteMatch, y as HTMLFormMethod, z as FormEncType, E as PageLinkDescriptor, G as History, J as GetScrollRestorationKeyFunction, K as Fetcher, O as CreateStaticHandlerOptions$1, Q as StaticHandler, V as LoaderFunction, W as ActionFunction, X as MetaFunction, Y as LinksFunction, Z as unstable_InitialContext, _ as Pages, $ as Equal, a0 as ClientActionFunction, a1 as ShouldRevalidateFunction, a2 as RouterState } from './register-BEmY26MO.js';
2
2
  export { aB as ClientActionFunctionArgs, aC as ClientLoaderFunctionArgs, az as DataRouteMatch, a9 as DataStrategyFunctionArgs, aa as DataStrategyMatch, ab as DataStrategyResult, ad as ErrorResponse, ae as FormMethod, aJ as Future, a3 as GetScrollPositionFunction, aD as HeadersArgs, aE as HeadersFunction, aH as HtmlLinkDescriptor, ap as IDLE_BLOCKER, ao as IDLE_FETCHER, an as IDLE_NAVIGATION, aI as LinkDescriptor, aF as MetaArgs, aG as MetaDescriptor, a4 as NavigationStates, aA as PatchRoutesOnNavigationFunctionArgs, ag as PathParam, ah as RedirectFunction, aL as Register, a8 as RevalidationState, a7 as RouterFetchOptions, a6 as RouterNavigateOptions, a5 as RouterSubscriber, aj as ShouldRevalidateFunctionArgs, aQ as UNSAFE_DataRouterContext, aR as UNSAFE_DataRouterStateContext, ac as UNSAFE_DataWithResponseInit, aP as UNSAFE_ErrorResponseImpl, aS as UNSAFE_FetchersContext, aT as UNSAFE_LocationContext, aU as UNSAFE_NavigationContext, aV as UNSAFE_RouteContext, aW as UNSAFE_ViewTransitionContext, aM as UNSAFE_createBrowserHistory, aO as UNSAFE_createRouter, aN as UNSAFE_invariant, al as createPath, aq as data, ar as generatePath, as as isRouteErrorResponse, at as matchPath, au as matchRoutes, am as parsePath, av as redirect, aw as redirectDocument, ax as replace, ay as resolvePath, af as unstable_MiddlewareFunction, ai as unstable_RouterContext, aK as unstable_SerializesTo, ak as unstable_createContext } from './register-BEmY26MO.js';
3
3
  import * as React from 'react';
4
- import { ReactElement } from 'react';
4
+ import React__default, { ReactElement } from 'react';
5
5
  import { ParseOptions, SerializeOptions } from 'cookie';
6
6
  export { ParseOptions as CookieParseOptions, SerializeOptions as CookieSerializeOptions } from 'cookie';
7
7
 
@@ -2602,6 +2602,10 @@ declare global {
2602
2602
  }
2603
2603
  declare function getServerStream(): ReadableStream<any>;
2604
2604
 
2605
+ declare function RSCDefaultRootErrorBoundary({ hasRootLayout, }: {
2606
+ hasRootLayout: boolean;
2607
+ }): React__default.JSX.Element;
2608
+
2605
2609
  declare function deserializeErrors(errors: RouterState["errors"]): RouterState["errors"];
2606
2610
 
2607
2611
  type RemixErrorBoundaryProps = React.PropsWithChildren<{
@@ -2638,4 +2642,4 @@ declare function getHydrationData(state: {
2638
2642
  hasHydrateFallback: boolean;
2639
2643
  }, location: Path, basename: string | undefined, isSpaMode: boolean): HydrationState;
2640
2644
 
2641
- export { ActionFunction, ActionFunctionArgs, AppLoadContext, Await, type AwaitProps, Blocker, BlockerFunction, BrowserRouter, type BrowserRouterProps, ClientActionFunction, ClientLoaderFunction, type Cookie, type CookieOptions, type CookieSignatureOptions, type CreateRequestHandlerFunction, type DOMRouterOpts, DataRouteObject, Router$1 as DataRouter, DataStrategyFunction, type EntryContext, Fetcher, type FetcherFormProps, type FetcherSubmitFunction, type FetcherSubmitOptions, type FetcherWithComponents, type FlashSessionData, Form, FormEncType, type FormProps, GetScrollRestorationKeyFunction, HTMLFormMethod, type HandleDataRequestFunction, type HandleDocumentRequestFunction, type HandleErrorFunction, HashRouter, type HashRouterProps, type HistoryRouterProps, HydrationState, IndexRouteObject, type IndexRouteProps, InitialEntry, type IsCookieFunction, type IsSessionFunction, type LayoutRouteProps, LazyRouteFunction, Link, type LinkProps, Links, LinksFunction, LoaderFunction, LoaderFunctionArgs, Location, MemoryRouter, type MemoryRouterOpts, type MemoryRouterProps, Meta, MetaFunction, NavLink, type NavLinkProps, type NavLinkRenderProps, Navigate, type NavigateFunction, NavigateOptions, type NavigateProps, Navigation, Action as NavigationType, Navigator, NonIndexRouteObject, Outlet, type OutletProps, PageLinkDescriptor, type ParamKeyValuePair, ParamParseKey, Params, PatchRoutesOnNavigationFunction, Path, PathMatch, PathPattern, type PathRouteProps, PrefetchPageLinks, RelativeRoutingType, type RequestHandler, Route, RouteMatch, RouteObject, type RouteProps, Router, RouterInit, type RouterProps, RouterProvider, type RouterProviderProps, RouterState, Routes, type RoutesProps, type RoutesTestStubProps, Scripts, type ScriptsProps, ScrollRestoration, type ScrollRestorationProps, type ServerBuild, type ServerEntryModule, ServerRouter, type ServerRouterProps, type Session, type SessionData, type SessionIdStorageStrategy, type SessionStorage, type SetURLSearchParams, ShouldRevalidateFunction, StaticHandler, StaticHandlerContext, StaticRouter, type StaticRouterProps, StaticRouterProvider, type StaticRouterProviderProps, type SubmitFunction, type SubmitOptions, type SubmitTarget, To, UIMatch, type AssetsManifest as UNSAFE_AssetsManifest, FrameworkContext as UNSAFE_FrameworkContext, MiddlewareEnabled as UNSAFE_MiddlewareEnabled, RemixErrorBoundary as UNSAFE_RemixErrorBoundary, RouteModules as UNSAFE_RouteModules, ServerMode as UNSAFE_ServerMode, SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol, createClientRoutes as UNSAFE_createClientRoutes, createClientRoutesWithHMRRevalidationOptOut as UNSAFE_createClientRoutesWithHMRRevalidationOptOut, decodeViaTurboStream as UNSAFE_decodeViaTurboStream, deserializeErrors as UNSAFE_deserializeErrors, getHydrationData as UNSAFE_getHydrationData, getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction, getTurboStreamSingleFetchDataStrategy as UNSAFE_getTurboStreamSingleFetchDataStrategy, hydrationRouteProperties as UNSAFE_hydrationRouteProperties, mapRouteProperties as UNSAFE_mapRouteProperties, shouldHydrateRouteLoader as UNSAFE_shouldHydrateRouteLoader, useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery, useScrollRestoration as UNSAFE_useScrollRestoration, withComponentProps as UNSAFE_withComponentProps, withErrorBoundaryProps as UNSAFE_withErrorBoundaryProps, withHydrateFallbackProps as UNSAFE_withHydrateFallbackProps, type URLSearchParamsInit, createBrowserRouter, createCookie, createCookieSessionStorage, createHashRouter, createMemoryRouter, createMemorySessionStorage, createRequestHandler, createRoutesFromChildren, createRoutesFromElements, createRoutesStub, createSearchParams, createSession, createSessionStorage, createStaticHandler, createStaticRouter, href, isCookie, isSession, renderMatches, type DecodeServerResponseFunction as unstable_DecodeServerResponseFunction, type EncodeActionFunction as unstable_EncodeActionFunction, HistoryRouter as unstable_HistoryRouter, unstable_InitialContext, RSCHydratedRouter as unstable_RSCHydratedRouter, RSCStaticRouter as unstable_RSCStaticRouter, unstable_RouterContextProvider, createCallServer as unstable_createCallServer, getServerStream as unstable_getServerStream, routeRSCServerRequest as unstable_routeRSCServerRequest, setDevServerHooks as unstable_setDevServerHooks, usePrompt as unstable_usePrompt, useActionData, useAsyncError, useAsyncValue, useBeforeUnload, useBlocker, useFetcher, useFetchers, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes, useSearchParams, useSubmit, useViewTransitionState };
2645
+ export { ActionFunction, ActionFunctionArgs, AppLoadContext, Await, type AwaitProps, Blocker, BlockerFunction, BrowserRouter, type BrowserRouterProps, ClientActionFunction, ClientLoaderFunction, type Cookie, type CookieOptions, type CookieSignatureOptions, type CreateRequestHandlerFunction, type DOMRouterOpts, DataRouteObject, Router$1 as DataRouter, DataStrategyFunction, type EntryContext, Fetcher, type FetcherFormProps, type FetcherSubmitFunction, type FetcherSubmitOptions, type FetcherWithComponents, type FlashSessionData, Form, FormEncType, type FormProps, GetScrollRestorationKeyFunction, HTMLFormMethod, type HandleDataRequestFunction, type HandleDocumentRequestFunction, type HandleErrorFunction, HashRouter, type HashRouterProps, type HistoryRouterProps, HydrationState, IndexRouteObject, type IndexRouteProps, InitialEntry, type IsCookieFunction, type IsSessionFunction, type LayoutRouteProps, LazyRouteFunction, Link, type LinkProps, Links, LinksFunction, LoaderFunction, LoaderFunctionArgs, Location, MemoryRouter, type MemoryRouterOpts, type MemoryRouterProps, Meta, MetaFunction, NavLink, type NavLinkProps, type NavLinkRenderProps, Navigate, type NavigateFunction, NavigateOptions, type NavigateProps, Navigation, Action as NavigationType, Navigator, NonIndexRouteObject, Outlet, type OutletProps, PageLinkDescriptor, type ParamKeyValuePair, ParamParseKey, Params, PatchRoutesOnNavigationFunction, Path, PathMatch, PathPattern, type PathRouteProps, PrefetchPageLinks, RelativeRoutingType, type RequestHandler, Route, RouteMatch, RouteObject, type RouteProps, Router, RouterInit, type RouterProps, RouterProvider, type RouterProviderProps, RouterState, Routes, type RoutesProps, type RoutesTestStubProps, Scripts, type ScriptsProps, ScrollRestoration, type ScrollRestorationProps, type ServerBuild, type ServerEntryModule, ServerRouter, type ServerRouterProps, type Session, type SessionData, type SessionIdStorageStrategy, type SessionStorage, type SetURLSearchParams, ShouldRevalidateFunction, StaticHandler, StaticHandlerContext, StaticRouter, type StaticRouterProps, StaticRouterProvider, type StaticRouterProviderProps, type SubmitFunction, type SubmitOptions, type SubmitTarget, To, UIMatch, type AssetsManifest as UNSAFE_AssetsManifest, FrameworkContext as UNSAFE_FrameworkContext, MiddlewareEnabled as UNSAFE_MiddlewareEnabled, RSCDefaultRootErrorBoundary as UNSAFE_RSCDefaultRootErrorBoundary, RemixErrorBoundary as UNSAFE_RemixErrorBoundary, RouteModules as UNSAFE_RouteModules, ServerMode as UNSAFE_ServerMode, SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol, createClientRoutes as UNSAFE_createClientRoutes, createClientRoutesWithHMRRevalidationOptOut as UNSAFE_createClientRoutesWithHMRRevalidationOptOut, decodeViaTurboStream as UNSAFE_decodeViaTurboStream, deserializeErrors as UNSAFE_deserializeErrors, getHydrationData as UNSAFE_getHydrationData, getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction, getTurboStreamSingleFetchDataStrategy as UNSAFE_getTurboStreamSingleFetchDataStrategy, hydrationRouteProperties as UNSAFE_hydrationRouteProperties, mapRouteProperties as UNSAFE_mapRouteProperties, shouldHydrateRouteLoader as UNSAFE_shouldHydrateRouteLoader, useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery, useScrollRestoration as UNSAFE_useScrollRestoration, withComponentProps as UNSAFE_withComponentProps, withErrorBoundaryProps as UNSAFE_withErrorBoundaryProps, withHydrateFallbackProps as UNSAFE_withHydrateFallbackProps, type URLSearchParamsInit, createBrowserRouter, createCookie, createCookieSessionStorage, createHashRouter, createMemoryRouter, createMemorySessionStorage, createRequestHandler, createRoutesFromChildren, createRoutesFromElements, createRoutesStub, createSearchParams, createSession, createSessionStorage, createStaticHandler, createStaticRouter, href, isCookie, isSession, renderMatches, type DecodeServerResponseFunction as unstable_DecodeServerResponseFunction, type EncodeActionFunction as unstable_EncodeActionFunction, HistoryRouter as unstable_HistoryRouter, unstable_InitialContext, RSCHydratedRouter as unstable_RSCHydratedRouter, RSCStaticRouter as unstable_RSCStaticRouter, unstable_RouterContextProvider, createCallServer as unstable_createCallServer, getServerStream as unstable_getServerStream, routeRSCServerRequest as unstable_routeRSCServerRequest, setDevServerHooks as unstable_setDevServerHooks, usePrompt as unstable_usePrompt, useActionData, useAsyncError, useAsyncValue, useBeforeUnload, useBlocker, useFetcher, useFetchers, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes, useSearchParams, useSubmit, useViewTransitionState };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v0.0.0-experimental-91dc3da6e
2
+ * react-router v0.0.0-experimental-4303fcb98
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -79,6 +79,7 @@ __export(index_exports, {
79
79
  UNSAFE_FrameworkContext: () => FrameworkContext,
80
80
  UNSAFE_LocationContext: () => LocationContext,
81
81
  UNSAFE_NavigationContext: () => NavigationContext,
82
+ UNSAFE_RSCDefaultRootErrorBoundary: () => RSCDefaultRootErrorBoundary,
82
83
  UNSAFE_RemixErrorBoundary: () => RemixErrorBoundary,
83
84
  UNSAFE_RouteContext: () => RouteContext,
84
85
  UNSAFE_ServerMode: () => ServerMode,
@@ -8963,7 +8964,7 @@ function mergeRefs(...refs) {
8963
8964
  var isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
8964
8965
  try {
8965
8966
  if (isBrowser) {
8966
- window.__reactRouterVersion = "0.0.0-experimental-91dc3da6e";
8967
+ window.__reactRouterVersion = "0.0.0-experimental-4303fcb98";
8967
8968
  }
8968
8969
  } catch (e) {
8969
8970
  }
@@ -11638,7 +11639,7 @@ function href(path, ...args) {
11638
11639
  }
11639
11640
 
11640
11641
  // lib/rsc/browser.tsx
11641
- var React14 = __toESM(require("react"));
11642
+ var React15 = __toESM(require("react"));
11642
11643
  var ReactDOM = __toESM(require("react-dom"));
11643
11644
 
11644
11645
  // lib/dom/ssr/hydration.tsx
@@ -11667,6 +11668,116 @@ function getHydrationData(state, routes, getRouteInfo, location2, basename, isSp
11667
11668
  return hydrationData;
11668
11669
  }
11669
11670
 
11671
+ // lib/rsc/errorBoundaries.tsx
11672
+ var import_react = __toESM(require("react"));
11673
+ var RSCRouterGlobalErrorBoundary = class extends import_react.default.Component {
11674
+ constructor(props) {
11675
+ super(props);
11676
+ this.state = { error: null, location: props.location };
11677
+ }
11678
+ static getDerivedStateFromError(error) {
11679
+ return { error };
11680
+ }
11681
+ static getDerivedStateFromProps(props, state) {
11682
+ if (state.location !== props.location) {
11683
+ return { error: null, location: props.location };
11684
+ }
11685
+ return { error: state.error, location: state.location };
11686
+ }
11687
+ render() {
11688
+ if (this.state.error) {
11689
+ return /* @__PURE__ */ import_react.default.createElement(
11690
+ RSCDefaultRootErrorBoundaryImpl,
11691
+ {
11692
+ error: this.state.error,
11693
+ renderAppShell: true
11694
+ }
11695
+ );
11696
+ } else {
11697
+ return this.props.children;
11698
+ }
11699
+ }
11700
+ };
11701
+ function ErrorWrapper({
11702
+ renderAppShell,
11703
+ title,
11704
+ children
11705
+ }) {
11706
+ if (!renderAppShell) {
11707
+ return children;
11708
+ }
11709
+ return /* @__PURE__ */ import_react.default.createElement("html", { lang: "en" }, /* @__PURE__ */ import_react.default.createElement("head", null, /* @__PURE__ */ import_react.default.createElement("meta", { charSet: "utf-8" }), /* @__PURE__ */ import_react.default.createElement(
11710
+ "meta",
11711
+ {
11712
+ name: "viewport",
11713
+ content: "width=device-width,initial-scale=1,viewport-fit=cover"
11714
+ }
11715
+ ), /* @__PURE__ */ import_react.default.createElement("title", null, title)), /* @__PURE__ */ import_react.default.createElement("body", null, /* @__PURE__ */ import_react.default.createElement("main", { style: { fontFamily: "system-ui, sans-serif", padding: "2rem" } }, children)));
11716
+ }
11717
+ function RSCDefaultRootErrorBoundaryImpl({
11718
+ error,
11719
+ renderAppShell
11720
+ }) {
11721
+ console.error(error);
11722
+ let heyDeveloper = /* @__PURE__ */ import_react.default.createElement(
11723
+ "script",
11724
+ {
11725
+ dangerouslySetInnerHTML: {
11726
+ __html: `
11727
+ console.log(
11728
+ "\u{1F4BF} Hey developer \u{1F44B}. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information."
11729
+ );
11730
+ `
11731
+ }
11732
+ }
11733
+ );
11734
+ if (isRouteErrorResponse(error)) {
11735
+ return /* @__PURE__ */ import_react.default.createElement(
11736
+ ErrorWrapper,
11737
+ {
11738
+ renderAppShell,
11739
+ title: "Unhandled Thrown Response!"
11740
+ },
11741
+ /* @__PURE__ */ import_react.default.createElement("h1", { style: { fontSize: "24px" } }, error.status, " ", error.statusText),
11742
+ ENABLE_DEV_WARNINGS ? heyDeveloper : null
11743
+ );
11744
+ }
11745
+ let errorInstance;
11746
+ if (error instanceof Error) {
11747
+ errorInstance = error;
11748
+ } else {
11749
+ let errorString = error == null ? "Unknown Error" : typeof error === "object" && "toString" in error ? error.toString() : JSON.stringify(error);
11750
+ errorInstance = new Error(errorString);
11751
+ }
11752
+ return /* @__PURE__ */ import_react.default.createElement(ErrorWrapper, { renderAppShell, title: "Application Error!" }, /* @__PURE__ */ import_react.default.createElement("h1", { style: { fontSize: "24px" } }, "Application Error"), /* @__PURE__ */ import_react.default.createElement(
11753
+ "pre",
11754
+ {
11755
+ style: {
11756
+ padding: "2rem",
11757
+ background: "hsla(10, 50%, 50%, 0.1)",
11758
+ color: "red",
11759
+ overflow: "auto"
11760
+ }
11761
+ },
11762
+ errorInstance.stack
11763
+ ), heyDeveloper);
11764
+ }
11765
+ function RSCDefaultRootErrorBoundary({
11766
+ hasRootLayout
11767
+ }) {
11768
+ let error = useRouteError();
11769
+ if (hasRootLayout === void 0) {
11770
+ throw new Error("Missing 'hasRootLayout' prop");
11771
+ }
11772
+ return /* @__PURE__ */ import_react.default.createElement(
11773
+ RSCDefaultRootErrorBoundaryImpl,
11774
+ {
11775
+ renderAppShell: !hasRootLayout,
11776
+ error
11777
+ }
11778
+ );
11779
+ }
11780
+
11670
11781
  // lib/rsc/browser.tsx
11671
11782
  function createCallServer({
11672
11783
  decode: decode2,
@@ -11736,7 +11847,7 @@ function createCallServer({
11736
11847
  lastMatch = match;
11737
11848
  }
11738
11849
  window.__router._internalSetStateDoNotUseOrYouWillBreakYourApp({});
11739
- React14.startTransition(() => {
11850
+ React15.startTransition(() => {
11740
11851
  window.__router._internalSetStateDoNotUseOrYouWillBreakYourApp({
11741
11852
  loaderData: Object.assign(
11742
11853
  {},
@@ -11948,18 +12059,27 @@ function RSCHydratedRouter({
11948
12059
  routeDiscovery = "eager"
11949
12060
  }) {
11950
12061
  if (payload.type !== "render") throw new Error("Invalid payload type");
11951
- let router = React14.useMemo(
12062
+ let router = React15.useMemo(
11952
12063
  () => createRouterFromPayload({ decode: decode2, payload }),
11953
12064
  // eslint-disable-next-line react-hooks/exhaustive-deps
11954
12065
  []
11955
12066
  );
11956
- React14.useLayoutEffect(() => {
12067
+ React15.useLayoutEffect(() => {
11957
12068
  if (!window.__routerInitialized) {
11958
12069
  window.__routerInitialized = true;
11959
12070
  window.__router.initialize();
11960
12071
  }
11961
12072
  }, []);
11962
- React14.useEffect(() => {
12073
+ let [location2, setLocation] = React15.useState(router.state.location);
12074
+ React15.useLayoutEffect(
12075
+ () => router.subscribe((newState) => {
12076
+ if (newState.location !== location2) {
12077
+ setLocation(newState.location);
12078
+ }
12079
+ }),
12080
+ [router, location2]
12081
+ );
12082
+ React15.useEffect(() => {
11963
12083
  if (routeDiscovery === "lazy" || // @ts-expect-error - TS doesn't know about this yet
11964
12084
  window.navigator?.connection?.saveData === true) {
11965
12085
  return;
@@ -12024,7 +12144,7 @@ function RSCHydratedRouter({
12024
12144
  routeDiscovery: { mode: "lazy", manifestPath: "/__manifest" },
12025
12145
  routeModules: {}
12026
12146
  };
12027
- return /* @__PURE__ */ React14.createElement(RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React14.createElement(FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React14.createElement(RouterProvider, { router, flushSync: ReactDOM.flushSync })));
12147
+ return /* @__PURE__ */ React15.createElement(RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React15.createElement(RSCRouterGlobalErrorBoundary, { location: location2 }, /* @__PURE__ */ React15.createElement(FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React15.createElement(RouterProvider, { router, flushSync: ReactDOM.flushSync }))));
12028
12148
  }
12029
12149
  function createRouteFromServerManifest(match, payload) {
12030
12150
  let hasInitialData = payload && match.id in payload.loaderData;
@@ -12083,7 +12203,9 @@ function createRouteFromServerManifest(match, payload) {
12083
12203
  );
12084
12204
  return await callSingleFetch(singleFetch);
12085
12205
  }
12086
- }) : match.hasAction ? (_, singleFetch) => callSingleFetch(singleFetch) : void 0,
12206
+ }) : match.hasAction ? (_, singleFetch) => callSingleFetch(singleFetch) : () => {
12207
+ throw noActionDefinedError("action", match.id);
12208
+ },
12087
12209
  path: match.path,
12088
12210
  shouldRevalidate: match.shouldRevalidate,
12089
12211
  // We always have a "loader" in this RSC world since even if we don't
@@ -12159,7 +12281,7 @@ function debounce2(callback, wait) {
12159
12281
  }
12160
12282
 
12161
12283
  // lib/rsc/server.ssr.tsx
12162
- var React15 = __toESM(require("react"));
12284
+ var React16 = __toESM(require("react"));
12163
12285
 
12164
12286
  // lib/rsc/html-stream/server.ts
12165
12287
  var encoder2 = new TextEncoder();
@@ -12306,7 +12428,7 @@ async function routeRSCServerRequest({
12306
12428
  function RSCStaticRouter({
12307
12429
  getPayload
12308
12430
  }) {
12309
- const payload = React15.use(getPayload());
12431
+ const payload = React16.use(getPayload());
12310
12432
  if (payload.type === "redirect") {
12311
12433
  throw new Response(null, {
12312
12434
  status: payload.status,
@@ -12385,7 +12507,7 @@ function RSCStaticRouter({
12385
12507
  routeDiscovery: { mode: "lazy", manifestPath: "/__manifest" },
12386
12508
  routeModules: {}
12387
12509
  };
12388
- return /* @__PURE__ */ React15.createElement(RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React15.createElement(FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React15.createElement(
12510
+ return /* @__PURE__ */ React16.createElement(RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React16.createElement(RSCRouterGlobalErrorBoundary, { location: payload.location }, /* @__PURE__ */ React16.createElement(FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React16.createElement(
12389
12511
  StaticRouterProvider,
12390
12512
  {
12391
12513
  context,
@@ -12393,7 +12515,7 @@ function RSCStaticRouter({
12393
12515
  hydrate: false,
12394
12516
  nonce: payload.nonce
12395
12517
  }
12396
- )));
12518
+ ))));
12397
12519
  }
12398
12520
  function isReactServerRequest(url) {
12399
12521
  return url.pathname.endsWith(".rsc");
@@ -12507,6 +12629,7 @@ function deserializeErrors2(errors) {
12507
12629
  UNSAFE_FrameworkContext,
12508
12630
  UNSAFE_LocationContext,
12509
12631
  UNSAFE_NavigationContext,
12632
+ UNSAFE_RSCDefaultRootErrorBoundary,
12510
12633
  UNSAFE_RemixErrorBoundary,
12511
12634
  UNSAFE_RouteContext,
12512
12635
  UNSAFE_ServerMode,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v0.0.0-experimental-91dc3da6e
2
+ * react-router v0.0.0-experimental-4303fcb98
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -34,6 +34,7 @@ import {
34
34
  NavigationContext,
35
35
  Outlet,
36
36
  PrefetchPageLinks,
37
+ RSCDefaultRootErrorBoundary,
37
38
  RSCHydratedRouter,
38
39
  RSCStaticRouter,
39
40
  RemixErrorBoundary,
@@ -134,7 +135,7 @@ import {
134
135
  withComponentProps,
135
136
  withErrorBoundaryProps,
136
137
  withHydrateFallbackProps
137
- } from "./chunk-HHE2KJXP.mjs";
138
+ } from "./chunk-3HEPIEBR.mjs";
138
139
  export {
139
140
  Await,
140
141
  BrowserRouter,
@@ -168,6 +169,7 @@ export {
168
169
  FrameworkContext as UNSAFE_FrameworkContext,
169
170
  LocationContext as UNSAFE_LocationContext,
170
171
  NavigationContext as UNSAFE_NavigationContext,
172
+ RSCDefaultRootErrorBoundary as UNSAFE_RSCDefaultRootErrorBoundary,
171
173
  RemixErrorBoundary as UNSAFE_RemixErrorBoundary,
172
174
  RouteContext as UNSAFE_RouteContext,
173
175
  ServerMode as UNSAFE_ServerMode,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v0.0.0-experimental-91dc3da6e
2
+ * react-router v0.0.0-experimental-4303fcb98
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v0.0.0-experimental-91dc3da6e
2
+ * react-router v0.0.0-experimental-4303fcb98
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -25,7 +25,7 @@ function _interopNamespace(e) {
25
25
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
26
26
 
27
27
  /**
28
- * react-router v0.0.0-experimental-91dc3da6e
28
+ * react-router v0.0.0-experimental-4303fcb98
29
29
  *
30
30
  * Copyright (c) Remix Software Inc.
31
31
  *