@burdenoff/microfe-devportal 2026.728.1 → 2026.801.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.
- package/dist/__tests__/utils/renderWithProviders.d.ts +1 -1
- package/dist/__tests__/utils/renderWithProviders.d.ts.map +1 -1
- package/dist/devportal/AdminDevportalRoutes.js +14 -14
- package/dist/devportal/AdminDevportalRoutes.js.map +1 -1
- package/dist/devportal/DevportalRoutes.js +115 -115
- package/dist/devportal/DevportalRoutes.js.map +1 -1
- package/dist/devportal/components/SectionNav.js +0 -1
- package/dist/devportal/components/SectionNav.js.map +1 -1
- package/dist/devportal/components/TelemetryErrorBoundary.js +7 -7
- package/dist/devportal/components/TelemetryErrorBoundary.js.map +1 -1
- package/dist/devportal/pages/AnalyticsDashboardPage.js +41 -41
- package/dist/devportal/pages/AnalyticsDashboardPage.js.map +1 -1
- package/dist/devportal/pages/AppLogsPage.js +27 -27
- package/dist/devportal/pages/AppLogsPage.js.map +1 -1
- package/dist/devportal/pages/ApplicationDetailPage.d.ts.map +1 -1
- package/dist/devportal/pages/ApplicationDetailPage.js +934 -928
- package/dist/devportal/pages/ApplicationDetailPage.js.map +1 -1
- package/dist/devportal/pages/ApplicationVersionsPage.js +39 -39
- package/dist/devportal/pages/ApplicationVersionsPage.js.map +1 -1
- package/dist/devportal/pages/CreateWebhookPage.js +55 -55
- package/dist/devportal/pages/CreateWebhookPage.js.map +1 -1
- package/dist/devportal/pages/EditApplicationPage.js +36 -36
- package/dist/devportal/pages/EditApplicationPage.js.map +1 -1
- package/dist/devportal/pages/EditPhysicalItemPage.js +40 -40
- package/dist/devportal/pages/EditPhysicalItemPage.js.map +1 -1
- package/dist/devportal/pages/InvitationDecisionPage.js +25 -25
- package/dist/devportal/pages/InvitationDecisionPage.js.map +1 -1
- package/dist/devportal/pages/ListingPreviewPage.js +36 -36
- package/dist/devportal/pages/ListingPreviewPage.js.map +1 -1
- package/dist/devportal/pages/OAuthCallbackPage.js +10 -10
- package/dist/devportal/pages/OAuthCallbackPage.js.map +1 -1
- package/dist/devportal/pages/OAuthClientDetailPage.js +27 -27
- package/dist/devportal/pages/OAuthClientDetailPage.js.map +1 -1
- package/dist/devportal/pages/OrganizationDetailPage.js +329 -329
- package/dist/devportal/pages/OrganizationDetailPage.js.map +1 -1
- package/dist/devportal/pages/OrganizationMembersPage.js +181 -181
- package/dist/devportal/pages/OrganizationMembersPage.js.map +1 -1
- package/dist/devportal/pages/PublishPage.js +43 -43
- package/dist/devportal/pages/PublishPage.js.map +1 -1
- package/dist/devportal/pages/RevenueDashboardPage.js +65 -65
- package/dist/devportal/pages/RevenueDashboardPage.js.map +1 -1
- package/dist/devportal/pages/StoreSubmissionPage.js +126 -126
- package/dist/devportal/pages/StoreSubmissionPage.js.map +1 -1
- package/dist/devportal/pages/WebhookDetailPage.js +28 -28
- package/dist/devportal/pages/WebhookDetailPage.js.map +1 -1
- package/dist/devportal/pages/WebhooksPage.js +47 -47
- package/dist/devportal/pages/WebhooksPage.js.map +1 -1
- package/dist/devportal/providers/DevportalProvider.js +12 -12
- package/dist/devportal/providers/DevportalProvider.js.map +1 -1
- package/dist/node_modules/react-router/dist/production/lib/components.js +124 -0
- package/dist/node_modules/react-router/dist/production/lib/components.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/context.js +32 -0
- package/dist/node_modules/react-router/dist/production/lib/context.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/dom.js +83 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/dom.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/lib.js +358 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/lib.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/ssr/components.js +188 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/ssr/components.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/ssr/invariant.js +8 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/ssr/invariant.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/ssr/links.js +75 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/ssr/links.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/ssr/markup.js +15 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/ssr/markup.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/ssr/routeModules.js +18 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/ssr/routeModules.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/ssr/single-fetch.js +10 -0
- package/dist/node_modules/react-router/dist/production/lib/dom/ssr/single-fetch.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/errors.js +19 -0
- package/dist/node_modules/react-router/dist/production/lib/errors.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/hooks.js +296 -0
- package/dist/node_modules/react-router/dist/production/lib/hooks.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/router/history.js +166 -0
- package/dist/node_modules/react-router/dist/production/lib/router/history.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/router/router.js +33 -0
- package/dist/node_modules/react-router/dist/production/lib/router/router.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/router/url.js +9 -0
- package/dist/node_modules/react-router/dist/production/lib/router/url.js.map +1 -0
- package/dist/node_modules/react-router/dist/production/lib/router/utils.js +236 -0
- package/dist/node_modules/react-router/dist/production/lib/router/utils.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { invariant as e, parsePath as t, warning as n } from "./router/history.js";
|
|
2
|
+
import { getResolveToMatches as r, resolveTo as i, stripBasename as a } from "./router/utils.js";
|
|
3
|
+
import { LocationContext as o, NavigationContext as s, RouteContext as c } from "./context.js";
|
|
4
|
+
import { useInRouterContext as l, useLocation as u, useNavigate as d, useOutlet as f, useRoutes as p, useRoutesImpl as m } from "./hooks.js";
|
|
5
|
+
import * as h from "react";
|
|
6
|
+
h.memo(g);
|
|
7
|
+
function g({ routes: e, manifest: t, future: n, state: r, isStatic: i, onError: a }) {
|
|
8
|
+
return m(e, void 0, {
|
|
9
|
+
manifest: t,
|
|
10
|
+
state: r,
|
|
11
|
+
isStatic: i,
|
|
12
|
+
onError: a,
|
|
13
|
+
future: n
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function _({ to: t, replace: a, state: o, relative: f }) {
|
|
17
|
+
e(l(), "<Navigate> may be used only in the context of a <Router> component.");
|
|
18
|
+
let { static: p } = h.useContext(s);
|
|
19
|
+
n(!p, "<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.");
|
|
20
|
+
let { matches: m } = h.useContext(c), { pathname: g } = u(), _ = d(), v = i(t, r(m), g, f === "path"), y = JSON.stringify(v);
|
|
21
|
+
return h.useEffect(() => {
|
|
22
|
+
_(JSON.parse(y), {
|
|
23
|
+
replace: a,
|
|
24
|
+
state: o,
|
|
25
|
+
relative: f
|
|
26
|
+
});
|
|
27
|
+
}, [
|
|
28
|
+
_,
|
|
29
|
+
y,
|
|
30
|
+
f,
|
|
31
|
+
a,
|
|
32
|
+
o
|
|
33
|
+
]), null;
|
|
34
|
+
}
|
|
35
|
+
function v(e) {
|
|
36
|
+
return f(e.context);
|
|
37
|
+
}
|
|
38
|
+
function y(t) {
|
|
39
|
+
e(!1, "A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.");
|
|
40
|
+
}
|
|
41
|
+
function b({ basename: r = "/", children: i = null, location: c, navigationType: u = "POP", navigator: d, static: f = !1, useTransitions: p }) {
|
|
42
|
+
e(!l(), "You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");
|
|
43
|
+
let m = r.replace(/^\/*/, "/"), g = h.useMemo(() => ({
|
|
44
|
+
basename: m,
|
|
45
|
+
navigator: d,
|
|
46
|
+
static: f,
|
|
47
|
+
useTransitions: p,
|
|
48
|
+
future: {}
|
|
49
|
+
}), [
|
|
50
|
+
m,
|
|
51
|
+
d,
|
|
52
|
+
f,
|
|
53
|
+
p
|
|
54
|
+
]);
|
|
55
|
+
typeof c == "string" && (c = t(c));
|
|
56
|
+
let { pathname: _ = "/", search: v = "", hash: y = "", state: b = null, key: x = "default", mask: S } = c, C = h.useMemo(() => {
|
|
57
|
+
let e = a(_, m);
|
|
58
|
+
return e == null ? null : {
|
|
59
|
+
location: {
|
|
60
|
+
pathname: e,
|
|
61
|
+
search: v,
|
|
62
|
+
hash: y,
|
|
63
|
+
state: b,
|
|
64
|
+
key: x,
|
|
65
|
+
mask: S
|
|
66
|
+
},
|
|
67
|
+
navigationType: u
|
|
68
|
+
};
|
|
69
|
+
}, [
|
|
70
|
+
m,
|
|
71
|
+
_,
|
|
72
|
+
v,
|
|
73
|
+
y,
|
|
74
|
+
b,
|
|
75
|
+
x,
|
|
76
|
+
u,
|
|
77
|
+
S
|
|
78
|
+
]);
|
|
79
|
+
return n(C != null, `<Router basename="${m}"> is not able to match the URL "${_}${v}${y}" because it does not start with the basename, so the <Router> won't render anything.`), C == null ? null : /* @__PURE__ */ h.createElement(s.Provider, { value: g }, /* @__PURE__ */ h.createElement(o.Provider, {
|
|
80
|
+
children: i,
|
|
81
|
+
value: C
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
function x({ children: e, location: t }) {
|
|
85
|
+
return p(S(e), t);
|
|
86
|
+
}
|
|
87
|
+
h.Component;
|
|
88
|
+
function S(t, n = []) {
|
|
89
|
+
let r = [];
|
|
90
|
+
return h.Children.forEach(t, (t, i) => {
|
|
91
|
+
if (!h.isValidElement(t)) return;
|
|
92
|
+
let a = [...n, i];
|
|
93
|
+
if (t.type === h.Fragment) {
|
|
94
|
+
r.push.apply(r, S(t.props.children, a));
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
e(t.type === y, `[${typeof t.type == "string" ? t.type : t.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`);
|
|
98
|
+
let o = t.props;
|
|
99
|
+
e(!o.index || !o.children, "An index route cannot have child routes.");
|
|
100
|
+
let s = {
|
|
101
|
+
id: o.id || a.join("-"),
|
|
102
|
+
caseSensitive: o.caseSensitive,
|
|
103
|
+
element: o.element,
|
|
104
|
+
Component: o.Component,
|
|
105
|
+
index: o.index,
|
|
106
|
+
path: o.path,
|
|
107
|
+
middleware: o.middleware,
|
|
108
|
+
loader: o.loader,
|
|
109
|
+
action: o.action,
|
|
110
|
+
hydrateFallbackElement: o.hydrateFallbackElement,
|
|
111
|
+
HydrateFallback: o.HydrateFallback,
|
|
112
|
+
errorElement: o.errorElement,
|
|
113
|
+
ErrorBoundary: o.ErrorBoundary,
|
|
114
|
+
shouldRevalidate: o.shouldRevalidate,
|
|
115
|
+
handle: o.handle,
|
|
116
|
+
lazy: o.lazy
|
|
117
|
+
};
|
|
118
|
+
o.children && (s.children = S(o.children, a)), r.push(s);
|
|
119
|
+
}), r;
|
|
120
|
+
}
|
|
121
|
+
//#endregion
|
|
122
|
+
export { _ as Navigate, v as Outlet, y as Route, b as Router, x as Routes };
|
|
123
|
+
|
|
124
|
+
//# sourceMappingURL=components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","names":[],"sources":["../../../../../../node_modules/react-router/dist/production/lib/components.js"],"sourcesContent":["/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { createMemoryHistory, invariant, parsePath, warning } from \"./router/history.js\";\nimport { defaultMapRouteProperties, getResolveToMatches, getRoutePattern, resolveTo, stripBasename } from \"./router/utils.js\";\nimport { createRouter } from \"./router/router.js\";\nimport { AwaitContext, DataRouterContext, DataRouterStateContext, FetchersContext, LocationContext, NavigationContext, RouteContext, ViewTransitionContext, useIsRSCRouterContext } from \"./context.js\";\nimport { _renderMatches, useActionData, useAsyncValue, useInRouterContext, useLoaderData, useLocation, useMatches, useNavigate, useOutlet, useParams, useRouteError, useRoutes, useRoutesImpl } from \"./hooks.js\";\nimport { warnOnce } from \"./server-runtime/warnings.js\";\nimport * as React$1 from \"react\";\nimport { useOptimistic } from \"react\";\n//#region lib/components.tsx\nconst hydrationRouteProperties = [\"HydrateFallback\", \"hydrateFallbackElement\"];\n/**\n* Create a new {@link DataRouter} that manages the application path using an\n* in-memory [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History)\n* stack. Useful for non-browser environments without a DOM API.\n*\n* Data Routers should not be held in React state. You should create your router\n* once outside of the React tree and pass it to {@link RouterProvider | `<RouterProvider>`}.\n* You can use `patchRoutesOnNavigation` to add additional routes programmatically.\n*\n* @public\n* @category Data Routers\n* @mode data\n* @param routes Application routes\n* @param opts Options\n* @param {MemoryRouterOpts.basename} opts.basename n/a\n* @param {MemoryRouterOpts.dataStrategy} opts.dataStrategy n/a\n* @param {MemoryRouterOpts.future} opts.future n/a\n* @param {MemoryRouterOpts.getContext} opts.getContext n/a\n* @param {MemoryRouterOpts.hydrationData} opts.hydrationData n/a\n* @param {MemoryRouterOpts.initialEntries} opts.initialEntries n/a\n* @param {MemoryRouterOpts.initialIndex} opts.initialIndex n/a\n* @param {MemoryRouterOpts.instrumentations} opts.instrumentations n/a\n* @param {MemoryRouterOpts.patchRoutesOnNavigation} opts.patchRoutesOnNavigation n/a\n* @returns An initialized {@link DataRouter} to pass to {@link RouterProvider | `<RouterProvider>`}\n*/\nfunction createMemoryRouter(routes, opts) {\n\treturn createRouter({\n\t\tbasename: opts?.basename,\n\t\tgetContext: opts?.getContext,\n\t\tfuture: opts?.future,\n\t\thistory: createMemoryHistory({\n\t\t\tinitialEntries: opts?.initialEntries,\n\t\t\tinitialIndex: opts?.initialIndex\n\t\t}),\n\t\thydrationData: opts?.hydrationData,\n\t\troutes,\n\t\tmapRouteProperties: defaultMapRouteProperties,\n\t\thydrationRouteProperties,\n\t\tdataStrategy: opts?.dataStrategy,\n\t\tpatchRoutesOnNavigation: opts?.patchRoutesOnNavigation,\n\t\tinstrumentations: opts?.instrumentations\n\t}).initialize();\n}\nvar Deferred = class {\n\tstatus = \"pending\";\n\tpromise;\n\tresolve;\n\treject;\n\tconstructor() {\n\t\tthis.promise = new Promise((resolve, reject) => {\n\t\t\tthis.resolve = (value) => {\n\t\t\t\tif (this.status === \"pending\") {\n\t\t\t\t\tthis.status = \"resolved\";\n\t\t\t\t\tresolve(value);\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.reject = (reason) => {\n\t\t\t\tif (this.status === \"pending\") {\n\t\t\t\t\tthis.status = \"rejected\";\n\t\t\t\t\treject(reason);\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}\n};\n/**\n* Render the UI for the given {@link DataRouter}. This component should\n* typically be at the top of an app's element tree. The router prop should\n* be a single router instance created outside of the React tree. Avoid\n* creating new routers during React renders/re-renders.\n*\n* ```tsx\n* import { createBrowserRouter } from \"react-router\";\n* import { RouterProvider } from \"react-router/dom\";\n* import { createRoot } from \"react-dom/client\";\n*\n* const router = createBrowserRouter(routes);\n* createRoot(document.getElementById(\"root\")).render(\n* <RouterProvider router={router} />\n* );\n* ```\n*\n* <docs-info>Please note that this component is exported both from\n* `react-router` and `react-router/dom` with the only difference being that the\n* latter automatically wires up `react-dom`'s [`flushSync`](https://react.dev/reference/react-dom/flushSync)\n* implementation. You _almost always_ want to use the version from\n* `react-router/dom` unless you're running in a non-DOM environment.</docs-info>\n*\n*\n* @public\n* @category Data Routers\n* @mode data\n* @param props Props\n* @param {RouterProviderProps.flushSync} props.flushSync n/a\n* @param {RouterProviderProps.onError} props.onError n/a\n* @param {RouterProviderProps.router} props.router n/a\n* @param {RouterProviderProps.useTransitions} props.useTransitions n/a\n* @returns React element for the rendered router\n*/\nfunction RouterProvider({ router, flushSync: reactDomFlushSyncImpl, onError, useTransitions }) {\n\tuseTransitions = useIsRSCRouterContext() || useTransitions;\n\tlet [_state, setStateImpl] = React$1.useState(router.state);\n\tlet [state, setOptimisticState] = useOptimistic(_state);\n\tlet [pendingState, setPendingState] = React$1.useState();\n\tlet [vtContext, setVtContext] = React$1.useState({ isTransitioning: false });\n\tlet [renderDfd, setRenderDfd] = React$1.useState();\n\tlet [transition, setTransition] = React$1.useState();\n\tlet [interruption, setInterruption] = React$1.useState();\n\tlet fetcherData = React$1.useRef(/* @__PURE__ */ new Map());\n\tlet setState = React$1.useCallback((newState, { deletedFetchers, newErrors, flushSync, viewTransitionOpts }) => {\n\t\tif (newErrors && onError) Object.values(newErrors).forEach((error) => onError(error, {\n\t\t\tlocation: newState.location,\n\t\t\tparams: newState.matches[0]?.params ?? {},\n\t\t\tpattern: getRoutePattern(newState.matches)\n\t\t}));\n\t\tnewState.fetchers.forEach((fetcher, key) => {\n\t\t\tif (fetcher.data !== void 0) fetcherData.current.set(key, fetcher.data);\n\t\t});\n\t\tdeletedFetchers.forEach((key) => fetcherData.current.delete(key));\n\t\twarnOnce(flushSync === false || reactDomFlushSyncImpl != null, \"You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from \\\"react-router/dom\\\"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.\");\n\t\tlet isViewTransitionAvailable = router.window != null && router.window.document != null && typeof router.window.document.startViewTransition === \"function\";\n\t\twarnOnce(viewTransitionOpts == null || isViewTransitionAvailable, \"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available.\");\n\t\tif (!viewTransitionOpts || !isViewTransitionAvailable) {\n\t\t\tif (reactDomFlushSyncImpl && flushSync) reactDomFlushSyncImpl(() => setStateImpl(newState));\n\t\t\telse if (useTransitions === false) setStateImpl(newState);\n\t\t\telse React$1.startTransition(() => {\n\t\t\t\tif (useTransitions === true) setOptimisticState((s) => getOptimisticRouterState(s, newState));\n\t\t\t\tsetStateImpl(newState);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (reactDomFlushSyncImpl && flushSync) {\n\t\t\treactDomFlushSyncImpl(() => {\n\t\t\t\tif (transition) {\n\t\t\t\t\trenderDfd?.resolve();\n\t\t\t\t\ttransition.skipTransition();\n\t\t\t\t}\n\t\t\t\tsetVtContext({\n\t\t\t\t\tisTransitioning: true,\n\t\t\t\t\tflushSync: true,\n\t\t\t\t\tcurrentLocation: viewTransitionOpts.currentLocation,\n\t\t\t\t\tnextLocation: viewTransitionOpts.nextLocation\n\t\t\t\t});\n\t\t\t});\n\t\t\tlet t = router.window.document.startViewTransition(() => {\n\t\t\t\treactDomFlushSyncImpl(() => setStateImpl(newState));\n\t\t\t});\n\t\t\tt.finished.finally(() => {\n\t\t\t\treactDomFlushSyncImpl(() => {\n\t\t\t\t\tsetRenderDfd(void 0);\n\t\t\t\t\tsetTransition(void 0);\n\t\t\t\t\tsetPendingState(void 0);\n\t\t\t\t\tsetVtContext({ isTransitioning: false });\n\t\t\t\t});\n\t\t\t});\n\t\t\treactDomFlushSyncImpl(() => setTransition(t));\n\t\t\treturn;\n\t\t}\n\t\tif (transition) {\n\t\t\trenderDfd?.resolve();\n\t\t\ttransition.skipTransition();\n\t\t\tsetInterruption({\n\t\t\t\tstate: newState,\n\t\t\t\tcurrentLocation: viewTransitionOpts.currentLocation,\n\t\t\t\tnextLocation: viewTransitionOpts.nextLocation\n\t\t\t});\n\t\t} else {\n\t\t\tsetPendingState(newState);\n\t\t\tsetVtContext({\n\t\t\t\tisTransitioning: true,\n\t\t\t\tflushSync: false,\n\t\t\t\tcurrentLocation: viewTransitionOpts.currentLocation,\n\t\t\t\tnextLocation: viewTransitionOpts.nextLocation\n\t\t\t});\n\t\t}\n\t}, [\n\t\trouter.window,\n\t\treactDomFlushSyncImpl,\n\t\ttransition,\n\t\trenderDfd,\n\t\tuseTransitions,\n\t\tsetOptimisticState,\n\t\tonError\n\t]);\n\tReact$1.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n\tReact$1.useEffect(() => {\n\t\tif (vtContext.isTransitioning && !vtContext.flushSync) setRenderDfd(new Deferred());\n\t}, [vtContext]);\n\tReact$1.useEffect(() => {\n\t\tif (renderDfd && pendingState && router.window) {\n\t\t\tlet newState = pendingState;\n\t\t\tlet renderPromise = renderDfd.promise;\n\t\t\tlet transition = router.window.document.startViewTransition(async () => {\n\t\t\t\tif (useTransitions === false) setStateImpl(newState);\n\t\t\t\telse React$1.startTransition(() => {\n\t\t\t\t\tif (useTransitions === true) setOptimisticState((s) => getOptimisticRouterState(s, newState));\n\t\t\t\t\tsetStateImpl(newState);\n\t\t\t\t});\n\t\t\t\tawait renderPromise;\n\t\t\t});\n\t\t\ttransition.finished.finally(() => {\n\t\t\t\tsetRenderDfd(void 0);\n\t\t\t\tsetTransition(void 0);\n\t\t\t\tsetPendingState(void 0);\n\t\t\t\tsetVtContext({ isTransitioning: false });\n\t\t\t});\n\t\t\tsetTransition(transition);\n\t\t}\n\t}, [\n\t\tpendingState,\n\t\trenderDfd,\n\t\trouter.window,\n\t\tuseTransitions,\n\t\tsetOptimisticState\n\t]);\n\tReact$1.useEffect(() => {\n\t\tif (renderDfd && pendingState && state.location.key === pendingState.location.key) renderDfd.resolve();\n\t}, [\n\t\trenderDfd,\n\t\ttransition,\n\t\tstate.location,\n\t\tpendingState\n\t]);\n\tReact$1.useEffect(() => {\n\t\tif (!vtContext.isTransitioning && interruption) {\n\t\t\tsetPendingState(interruption.state);\n\t\t\tsetVtContext({\n\t\t\t\tisTransitioning: true,\n\t\t\t\tflushSync: false,\n\t\t\t\tcurrentLocation: interruption.currentLocation,\n\t\t\t\tnextLocation: interruption.nextLocation\n\t\t\t});\n\t\t\tsetInterruption(void 0);\n\t\t}\n\t}, [vtContext.isTransitioning, interruption]);\n\tlet navigator = React$1.useMemo(() => {\n\t\treturn {\n\t\t\tcreateHref: router.createHref,\n\t\t\tencodeLocation: router.encodeLocation,\n\t\t\tgo: (n) => router.navigate(n),\n\t\t\tpush: (to, state, opts) => router.navigate(to, {\n\t\t\t\tstate,\n\t\t\t\tpreventScrollReset: opts?.preventScrollReset\n\t\t\t}),\n\t\t\treplace: (to, state, opts) => router.navigate(to, {\n\t\t\t\treplace: true,\n\t\t\t\tstate,\n\t\t\t\tpreventScrollReset: opts?.preventScrollReset\n\t\t\t})\n\t\t};\n\t}, [router]);\n\tlet basename = router.basename || \"/\";\n\tlet dataRouterContext = React$1.useMemo(() => ({\n\t\trouter,\n\t\tnavigator,\n\t\tstatic: false,\n\t\tbasename,\n\t\tonError\n\t}), [\n\t\trouter,\n\t\tnavigator,\n\t\tbasename,\n\t\tonError\n\t]);\n\treturn /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(DataRouterContext.Provider, { value: dataRouterContext }, /* @__PURE__ */ React$1.createElement(DataRouterStateContext.Provider, { value: state }, /* @__PURE__ */ React$1.createElement(FetchersContext.Provider, { value: fetcherData.current }, /* @__PURE__ */ React$1.createElement(ViewTransitionContext.Provider, { value: vtContext }, /* @__PURE__ */ React$1.createElement(Router, {\n\t\tbasename,\n\t\tlocation: state.location,\n\t\tnavigationType: state.historyAction,\n\t\tnavigator,\n\t\tuseTransitions\n\t}, /* @__PURE__ */ React$1.createElement(MemoizedDataRoutes, {\n\t\troutes: router.routes,\n\t\tmanifest: router.manifest,\n\t\tfuture: router.future,\n\t\tstate,\n\t\tisStatic: false,\n\t\tonError\n\t})))))), null);\n}\nfunction getOptimisticRouterState(currentState, newState) {\n\treturn {\n\t\t...currentState,\n\t\tnavigation: newState.navigation.state !== \"idle\" ? newState.navigation : currentState.navigation,\n\t\trevalidation: newState.revalidation !== \"idle\" ? newState.revalidation : currentState.revalidation,\n\t\tactionData: newState.navigation.state !== \"submitting\" ? newState.actionData : currentState.actionData,\n\t\tfetchers: newState.fetchers\n\t};\n}\nconst MemoizedDataRoutes = React$1.memo(DataRoutes);\nfunction DataRoutes({ routes, manifest, future, state, isStatic, onError }) {\n\treturn useRoutesImpl(routes, void 0, {\n\t\tmanifest,\n\t\tstate,\n\t\tisStatic,\n\t\tonError,\n\t\tfuture\n\t});\n}\n/**\n* A declarative {@link Router | `<Router>`} that stores all entries in memory.\n*\n* @public\n* @category Declarative Routers\n* @mode declarative\n* @param props Props\n* @param {MemoryRouterProps.basename} props.basename n/a\n* @param {MemoryRouterProps.children} props.children n/a\n* @param {MemoryRouterProps.initialEntries} props.initialEntries n/a\n* @param {MemoryRouterProps.initialIndex} props.initialIndex n/a\n* @param {MemoryRouterProps.useTransitions} props.useTransitions n/a\n* @returns A declarative in-memory {@link Router | `<Router>`} for client-side\n* routing.\n*/\nfunction MemoryRouter({ basename, children, initialEntries, initialIndex, useTransitions }) {\n\tlet historyRef = React$1.useRef(null);\n\tif (historyRef.current == null) historyRef.current = createMemoryHistory({\n\t\tinitialEntries,\n\t\tinitialIndex,\n\t\tv5Compat: true\n\t});\n\tlet history = historyRef.current;\n\tlet [state, setStateImpl] = React$1.useState({\n\t\taction: history.action,\n\t\tlocation: history.location\n\t});\n\tlet setState = React$1.useCallback((newState) => {\n\t\tif (useTransitions === false) setStateImpl(newState);\n\t\telse React$1.startTransition(() => setStateImpl(newState));\n\t}, [useTransitions]);\n\tReact$1.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\treturn /* @__PURE__ */ React$1.createElement(Router, {\n\t\tbasename,\n\t\tchildren,\n\t\tlocation: state.location,\n\t\tnavigationType: state.action,\n\t\tnavigator: history,\n\t\tuseTransitions\n\t});\n}\n/**\n* A component-based version of {@link useNavigate} to use in a\n* [`React.Component` class](https://react.dev/reference/react/Component) where\n* hooks cannot be used.\n*\n* It's recommended to avoid using this component in favor of {@link useNavigate}.\n*\n* @example\n* <Navigate to=\"/tasks\" />\n*\n* @public\n* @category Components\n* @param props Props\n* @param {NavigateProps.relative} props.relative n/a\n* @param {NavigateProps.replace} props.replace n/a\n* @param {NavigateProps.state} props.state n/a\n* @param {NavigateProps.to} props.to n/a\n* @returns {void}\n*\n*/\nfunction Navigate({ to, replace, state, relative }) {\n\tinvariant(useInRouterContext(), `<Navigate> may be used only in the context of a <Router> component.`);\n\tlet { static: isStatic } = React$1.useContext(NavigationContext);\n\twarning(!isStatic, \"<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.\");\n\tlet { matches } = React$1.useContext(RouteContext);\n\tlet { pathname: locationPathname } = useLocation();\n\tlet navigate = useNavigate();\n\tlet path = resolveTo(to, getResolveToMatches(matches), locationPathname, relative === \"path\");\n\tlet jsonPath = JSON.stringify(path);\n\tReact$1.useEffect(() => {\n\t\tnavigate(JSON.parse(jsonPath), {\n\t\t\treplace,\n\t\t\tstate,\n\t\t\trelative\n\t\t});\n\t}, [\n\t\tnavigate,\n\t\tjsonPath,\n\t\trelative,\n\t\treplace,\n\t\tstate\n\t]);\n\treturn null;\n}\n/**\n* Renders the matching child route of a parent route or nothing if no child\n* route matches.\n*\n* @example\n* import { Outlet } from \"react-router\";\n*\n* export default function SomeParent() {\n* return (\n* <div>\n* <h1>Parent Content</h1>\n* <Outlet />\n* </div>\n* );\n* }\n*\n* @public\n* @category Components\n* @param props Props\n* @param {OutletProps.context} props.context n/a\n* @returns React element for the rendered outlet or `null` if no child route matches.\n*/\nfunction Outlet(props) {\n\treturn useOutlet(props.context);\n}\n/**\n* Configures an element to render when a pattern matches the current location.\n* It must be rendered within a {@link Routes} element. Note that these routes\n* do not participate in data loading, actions, code splitting, or any other\n* route module features.\n*\n* @example\n* // Usually used in a declarative router\n* function App() {\n* return (\n* <BrowserRouter>\n* <Routes>\n* <Route index element={<StepOne />} />\n* <Route path=\"step-2\" element={<StepTwo />} />\n* <Route path=\"step-3\" element={<StepThree />} />\n* </Routes>\n* </BrowserRouter>\n* );\n* }\n*\n* // But can be used with a data router as well if you prefer the JSX notation\n* const routes = createRoutesFromElements(\n* <>\n* <Route index loader={step1Loader} Component={StepOne} />\n* <Route path=\"step-2\" loader={step2Loader} Component={StepTwo} />\n* <Route path=\"step-3\" loader={step3Loader} Component={StepThree} />\n* </>\n* );\n*\n* const router = createBrowserRouter(routes);\n*\n* function App() {\n* return <RouterProvider router={router} />;\n* }\n*\n* @public\n* @category Components\n* @param props Props\n* @param {PathRouteProps.action} props.action n/a\n* @param {PathRouteProps.caseSensitive} props.caseSensitive n/a\n* @param {PathRouteProps.Component} props.Component n/a\n* @param {PathRouteProps.children} props.children n/a\n* @param {PathRouteProps.element} props.element n/a\n* @param {PathRouteProps.ErrorBoundary} props.ErrorBoundary n/a\n* @param {PathRouteProps.errorElement} props.errorElement n/a\n* @param {PathRouteProps.handle} props.handle n/a\n* @param {PathRouteProps.HydrateFallback} props.HydrateFallback n/a\n* @param {PathRouteProps.hydrateFallbackElement} props.hydrateFallbackElement n/a\n* @param {PathRouteProps.id} props.id n/a\n* @param {PathRouteProps.index} props.index n/a\n* @param {PathRouteProps.lazy} props.lazy n/a\n* @param {PathRouteProps.loader} props.loader n/a\n* @param {PathRouteProps.path} props.path n/a\n* @param {PathRouteProps.shouldRevalidate} props.shouldRevalidate n/a\n* @returns {void}\n*/\nfunction Route(props) {\n\tinvariant(false, \"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.\");\n}\n/**\n* Provides location context for the rest of the app.\n*\n* Note: You usually won't render a `<Router>` directly. Instead, you'll render a\n* router that is more specific to your environment such as a {@link BrowserRouter}\n* in web browsers or a {@link ServerRouter} for server rendering.\n*\n* @public\n* @category Declarative Routers\n* @mode declarative\n* @param props Props\n* @param {RouterProps.basename} props.basename n/a\n* @param {RouterProps.children} props.children n/a\n* @param {RouterProps.location} props.location n/a\n* @param {RouterProps.navigationType} props.navigationType n/a\n* @param {RouterProps.navigator} props.navigator n/a\n* @param {RouterProps.static} props.static n/a\n* @param {RouterProps.useTransitions} props.useTransitions n/a\n* @returns React element for the rendered router or `null` if the location does\n* not match the {@link props.basename}\n*/\nfunction Router({ basename: basenameProp = \"/\", children = null, location: locationProp, navigationType = \"POP\", navigator, static: staticProp = false, useTransitions }) {\n\tinvariant(!useInRouterContext(), \"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.\");\n\tlet basename = basenameProp.replace(/^\\/*/, \"/\");\n\tlet navigationContext = React$1.useMemo(() => ({\n\t\tbasename,\n\t\tnavigator,\n\t\tstatic: staticProp,\n\t\tuseTransitions,\n\t\tfuture: {}\n\t}), [\n\t\tbasename,\n\t\tnavigator,\n\t\tstaticProp,\n\t\tuseTransitions\n\t]);\n\tif (typeof locationProp === \"string\") locationProp = parsePath(locationProp);\n\tlet { pathname = \"/\", search = \"\", hash = \"\", state = null, key = \"default\", mask } = locationProp;\n\tlet locationContext = React$1.useMemo(() => {\n\t\tlet trailingPathname = stripBasename(pathname, basename);\n\t\tif (trailingPathname == null) return null;\n\t\treturn {\n\t\t\tlocation: {\n\t\t\t\tpathname: trailingPathname,\n\t\t\t\tsearch,\n\t\t\t\thash,\n\t\t\t\tstate,\n\t\t\t\tkey,\n\t\t\t\tmask\n\t\t\t},\n\t\t\tnavigationType\n\t\t};\n\t}, [\n\t\tbasename,\n\t\tpathname,\n\t\tsearch,\n\t\thash,\n\t\tstate,\n\t\tkey,\n\t\tnavigationType,\n\t\tmask\n\t]);\n\twarning(locationContext != null, `<Router basename=\"${basename}\"> is not able to match the URL \"${pathname}${search}${hash}\" because it does not start with the basename, so the <Router> won't render anything.`);\n\tif (locationContext == null) return null;\n\treturn /* @__PURE__ */ React$1.createElement(NavigationContext.Provider, { value: navigationContext }, /* @__PURE__ */ React$1.createElement(LocationContext.Provider, {\n\t\tchildren,\n\t\tvalue: locationContext\n\t}));\n}\n/**\n* Renders a branch of {@link Route | `<Route>`s} that best matches the current\n* location. Note that these routes do not participate in [data loading](../../start/framework/route-module#loader),\n* [`action`](../../start/framework/route-module#action), code splitting, or\n* any other [route module](../../start/framework/route-module) features.\n*\n* @example\n* import { Route, Routes } from \"react-router\";\n*\n* <Routes>\n* <Route index element={<StepOne />} />\n* <Route path=\"step-2\" element={<StepTwo />} />\n* <Route path=\"step-3\" element={<StepThree />} />\n* </Routes>\n*\n* @public\n* @category Components\n* @param props Props\n* @param {RoutesProps.children} props.children n/a\n* @param {RoutesProps.location} props.location n/a\n* @returns React element for the rendered routes or `null` if no route matches\n*/\nfunction Routes({ children, location }) {\n\treturn useRoutes(createRoutesFromChildren(children), location);\n}\n/**\n* Used to render promise values with automatic error handling.\n*\n* **Note:** `<Await>` expects to be rendered inside a [`<React.Suspense>`](https://react.dev/reference/react/Suspense)\n*\n* @example\n* import { Await, useLoaderData } from \"react-router\";\n*\n* export async function loader() {\n* // not awaited\n* const reviews = getReviews();\n* // awaited (blocks the transition)\n* const book = await fetch(\"/api/book\").then((res) => res.json());\n* return { book, reviews };\n* }\n*\n* function Book() {\n* const { book, reviews } = useLoaderData();\n* return (\n* <div>\n* <h1>{book.title}</h1>\n* <p>{book.description}</p>\n* <React.Suspense fallback={<ReviewsSkeleton />}>\n* <Await\n* resolve={reviews}\n* errorElement={\n* <div>Could not load reviews 😬</div>\n* }\n* children={(resolvedReviews) => (\n* <Reviews items={resolvedReviews} />\n* )}\n* />\n* </React.Suspense>\n* </div>\n* );\n* }\n*\n* @public\n* @category Components\n* @mode framework\n* @mode data\n* @param props Props\n* @param {AwaitProps.children} props.children n/a\n* @param {AwaitProps.errorElement} props.errorElement n/a\n* @param {AwaitProps.resolve} props.resolve n/a\n* @returns React element for the rendered awaited value\n*/\nfunction Await({ children, errorElement, resolve }) {\n\tlet dataRouterContext = React$1.useContext(DataRouterContext);\n\tlet dataRouterStateContext = React$1.useContext(DataRouterStateContext);\n\tlet onError = React$1.useCallback((error, errorInfo) => {\n\t\tif (dataRouterContext && dataRouterContext.onError && dataRouterStateContext) dataRouterContext.onError(error, {\n\t\t\tlocation: dataRouterStateContext.location,\n\t\t\tparams: dataRouterStateContext.matches[0]?.params || {},\n\t\t\tpattern: getRoutePattern(dataRouterStateContext.matches),\n\t\t\terrorInfo\n\t\t});\n\t}, [dataRouterContext, dataRouterStateContext]);\n\treturn /* @__PURE__ */ React$1.createElement(AwaitErrorBoundary, {\n\t\tresolve,\n\t\terrorElement,\n\t\tonError\n\t}, /* @__PURE__ */ React$1.createElement(ResolveAwait, null, children));\n}\nvar AwaitErrorBoundary = class extends React$1.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { error: null };\n\t}\n\tstatic getDerivedStateFromError(error) {\n\t\treturn { error };\n\t}\n\tcomponentDidCatch(error, errorInfo) {\n\t\tif (this.props.onError) this.props.onError(error, errorInfo);\n\t\telse console.error(\"<Await> caught the following error during render\", error, errorInfo);\n\t}\n\trender() {\n\t\tlet { children, errorElement, resolve } = this.props;\n\t\tlet promise = null;\n\t\tlet status = 0;\n\t\tif (!(resolve instanceof Promise)) {\n\t\t\tstatus = 1;\n\t\t\tpromise = Promise.resolve();\n\t\t\tObject.defineProperty(promise, \"_tracked\", { get: () => true });\n\t\t\tObject.defineProperty(promise, \"_data\", { get: () => resolve });\n\t\t} else if (this.state.error) {\n\t\t\tstatus = 2;\n\t\t\tlet renderError = this.state.error;\n\t\t\tpromise = Promise.reject().catch(() => {});\n\t\t\tObject.defineProperty(promise, \"_tracked\", { get: () => true });\n\t\t\tObject.defineProperty(promise, \"_error\", { get: () => renderError });\n\t\t} else if (resolve._tracked) {\n\t\t\tpromise = resolve;\n\t\t\tstatus = \"_error\" in promise ? 2 : \"_data\" in promise ? 1 : 0;\n\t\t} else {\n\t\t\tstatus = 0;\n\t\t\tObject.defineProperty(resolve, \"_tracked\", { get: () => true });\n\t\t\tpromise = resolve.then((data) => Object.defineProperty(resolve, \"_data\", { get: () => data }), (error) => {\n\t\t\t\tthis.props.onError?.(error);\n\t\t\t\tObject.defineProperty(resolve, \"_error\", { get: () => error });\n\t\t\t});\n\t\t}\n\t\tif (status === 2 && !errorElement) throw promise._error;\n\t\tif (status === 2) return /* @__PURE__ */ React$1.createElement(AwaitContext.Provider, {\n\t\t\tvalue: promise,\n\t\t\tchildren: errorElement\n\t\t});\n\t\tif (status === 1) return /* @__PURE__ */ React$1.createElement(AwaitContext.Provider, {\n\t\t\tvalue: promise,\n\t\t\tchildren\n\t\t});\n\t\tthrow promise;\n\t}\n};\nfunction ResolveAwait({ children }) {\n\tlet data = useAsyncValue();\n\tlet toRender = typeof children === \"function\" ? children(data) : children;\n\treturn /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, toRender);\n}\n/**\n* Creates a route config from a React \"children\" object, which is usually\n* either a `<Route>` element or an array of them. Used internally by\n* `<Routes>` to create a route config from its children.\n*\n* @category Utils\n* @mode data\n* @param children The React children to convert into a route config\n* @param parentPath The path of the parent route, used to generate unique IDs.\n* @returns An array of {@link RouteObject}s that can be used with a {@link DataRouter}\n*/\nfunction createRoutesFromChildren(children, parentPath = []) {\n\tlet routes = [];\n\tReact$1.Children.forEach(children, (element, index) => {\n\t\tif (!React$1.isValidElement(element)) return;\n\t\tlet treePath = [...parentPath, index];\n\t\tif (element.type === React$1.Fragment) {\n\t\t\troutes.push.apply(routes, createRoutesFromChildren(element.props.children, treePath));\n\t\t\treturn;\n\t\t}\n\t\tinvariant(element.type === Route, `[${typeof element.type === \"string\" ? element.type : element.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`);\n\t\tlet props = element.props;\n\t\tinvariant(!props.index || !props.children, \"An index route cannot have child routes.\");\n\t\tlet route = {\n\t\t\tid: props.id || treePath.join(\"-\"),\n\t\t\tcaseSensitive: props.caseSensitive,\n\t\t\telement: props.element,\n\t\t\tComponent: props.Component,\n\t\t\tindex: props.index,\n\t\t\tpath: props.path,\n\t\t\tmiddleware: props.middleware,\n\t\t\tloader: props.loader,\n\t\t\taction: props.action,\n\t\t\thydrateFallbackElement: props.hydrateFallbackElement,\n\t\t\tHydrateFallback: props.HydrateFallback,\n\t\t\terrorElement: props.errorElement,\n\t\t\tErrorBoundary: props.ErrorBoundary,\n\t\t\tshouldRevalidate: props.shouldRevalidate,\n\t\t\thandle: props.handle,\n\t\t\tlazy: props.lazy\n\t\t};\n\t\tif (props.children) route.children = createRoutesFromChildren(props.children, treePath);\n\t\troutes.push(route);\n\t});\n\treturn routes;\n}\n/**\n* Create route objects from JSX elements instead of arrays of objects.\n*\n* @example\n* const routes = createRoutesFromElements(\n* <>\n* <Route index loader={step1Loader} Component={StepOne} />\n* <Route path=\"step-2\" loader={step2Loader} Component={StepTwo} />\n* <Route path=\"step-3\" loader={step3Loader} Component={StepThree} />\n* </>\n* );\n*\n* const router = createBrowserRouter(routes);\n*\n* function App() {\n* return <RouterProvider router={router} />;\n* }\n*\n* @name createRoutesFromElements\n* @public\n* @category Utils\n* @mode data\n* @param children The React children to convert into a route config\n* @param parentPath The path of the parent route, used to generate unique IDs.\n* This is used for internal recursion and is not intended to be used by the\n* application developer.\n* @returns An array of {@link RouteObject}s that can be used with a {@link DataRouter}\n*/\nconst createRoutesFromElements = createRoutesFromChildren;\n/**\n* Renders the result of {@link matchRoutes} into a React element.\n*\n* @public\n* @category Utils\n* @param matches The array of {@link RouteMatch | route matches} to render\n* @returns A React element that renders the matched routes or `null` if no matches\n*/\nfunction renderMatches(matches) {\n\treturn _renderMatches(matches);\n}\nfunction useRouteComponentProps() {\n\treturn {\n\t\tparams: useParams(),\n\t\tloaderData: useLoaderData(),\n\t\tactionData: useActionData(),\n\t\tmatches: useMatches()\n\t};\n}\nfunction WithComponentProps({ children }) {\n\tconst props = useRouteComponentProps();\n\treturn React$1.cloneElement(children, props);\n}\nfunction withComponentProps(Component) {\n\treturn function WithComponentProps() {\n\t\tconst props = useRouteComponentProps();\n\t\treturn React$1.createElement(Component, props);\n\t};\n}\nfunction useHydrateFallbackProps() {\n\treturn {\n\t\tparams: useParams(),\n\t\tloaderData: useLoaderData(),\n\t\tactionData: useActionData()\n\t};\n}\nfunction WithHydrateFallbackProps({ children }) {\n\tconst props = useHydrateFallbackProps();\n\treturn React$1.cloneElement(children, props);\n}\nfunction withHydrateFallbackProps(HydrateFallback) {\n\treturn function WithHydrateFallbackProps() {\n\t\tconst props = useHydrateFallbackProps();\n\t\treturn React$1.createElement(HydrateFallback, props);\n\t};\n}\nfunction useErrorBoundaryProps() {\n\treturn {\n\t\tparams: useParams(),\n\t\tloaderData: useLoaderData(),\n\t\tactionData: useActionData(),\n\t\terror: useRouteError()\n\t};\n}\nfunction WithErrorBoundaryProps({ children }) {\n\tconst props = useErrorBoundaryProps();\n\treturn React$1.cloneElement(children, props);\n}\nfunction withErrorBoundaryProps(ErrorBoundary) {\n\treturn function WithErrorBoundaryProps() {\n\t\tconst props = useErrorBoundaryProps();\n\t\treturn React$1.createElement(ErrorBoundary, props);\n\t};\n}\n//#endregion\nexport { Await, DataRoutes, MemoryRouter, Navigate, Outlet, Route, Router, RouterProvider, Routes, WithComponentProps, WithErrorBoundaryProps, WithHydrateFallbackProps, createMemoryRouter, createRoutesFromChildren, createRoutesFromElements, hydrationRouteProperties, renderMatches, withComponentProps, withErrorBoundaryProps, withHydrateFallbackProps };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as e from "react";
|
|
2
|
+
//#region node_modules/react-router/dist/production/lib/context.js
|
|
3
|
+
var t = e.createContext(null);
|
|
4
|
+
t.displayName = "DataRouter";
|
|
5
|
+
var n = e.createContext(null);
|
|
6
|
+
n.displayName = "DataRouterState";
|
|
7
|
+
var r = e.createContext(!1);
|
|
8
|
+
function i() {
|
|
9
|
+
return e.useContext(r);
|
|
10
|
+
}
|
|
11
|
+
var a = e.createContext({ isTransitioning: !1 });
|
|
12
|
+
a.displayName = "ViewTransition";
|
|
13
|
+
var o = e.createContext(/* @__PURE__ */ new Map());
|
|
14
|
+
o.displayName = "Fetchers";
|
|
15
|
+
var s = e.createContext(null);
|
|
16
|
+
s.displayName = "Await";
|
|
17
|
+
var c = e.createContext(null);
|
|
18
|
+
c.displayName = "Navigation";
|
|
19
|
+
var l = e.createContext(null);
|
|
20
|
+
l.displayName = "Location";
|
|
21
|
+
var u = e.createContext({
|
|
22
|
+
outlet: null,
|
|
23
|
+
matches: [],
|
|
24
|
+
isDataRoute: !1
|
|
25
|
+
});
|
|
26
|
+
u.displayName = "Route";
|
|
27
|
+
var d = e.createContext(null);
|
|
28
|
+
d.displayName = "RouteError";
|
|
29
|
+
//#endregion
|
|
30
|
+
export { s as AwaitContext, t as DataRouterContext, n as DataRouterStateContext, l as LocationContext, c as NavigationContext, r as RSCRouterContext, u as RouteContext, d as RouteErrorContext, a as ViewTransitionContext, i as useIsRSCRouterContext };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../../../../node_modules/react-router/dist/production/lib/context.js"],"sourcesContent":["/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React$1 from \"react\";\n//#region lib/context.ts\nconst DataRouterContext = React$1.createContext(null);\nDataRouterContext.displayName = \"DataRouter\";\nconst DataRouterStateContext = React$1.createContext(null);\nDataRouterStateContext.displayName = \"DataRouterState\";\nconst RSCRouterContext = React$1.createContext(false);\nfunction useIsRSCRouterContext() {\n\treturn React$1.useContext(RSCRouterContext);\n}\nconst ViewTransitionContext = React$1.createContext({ isTransitioning: false });\nViewTransitionContext.displayName = \"ViewTransition\";\nconst FetchersContext = React$1.createContext(/* @__PURE__ */ new Map());\nFetchersContext.displayName = \"Fetchers\";\nconst AwaitContext = React$1.createContext(null);\nAwaitContext.displayName = \"Await\";\nconst AwaitContextProvider = (props) => React$1.createElement(AwaitContext.Provider, props);\nconst NavigationContext = React$1.createContext(null);\nNavigationContext.displayName = \"Navigation\";\nconst LocationContext = React$1.createContext(null);\nLocationContext.displayName = \"Location\";\nconst RouteContext = React$1.createContext({\n\toutlet: null,\n\tmatches: [],\n\tisDataRoute: false\n});\nRouteContext.displayName = \"Route\";\nconst RouteErrorContext = React$1.createContext(null);\nRouteErrorContext.displayName = \"RouteError\";\n//#endregion\nexport { AwaitContext, AwaitContextProvider, DataRouterContext, DataRouterStateContext, FetchersContext, LocationContext, NavigationContext, RSCRouterContext, RouteContext, RouteErrorContext, ViewTransitionContext, useIsRSCRouterContext };\n"],"x_google_ignoreList":[0],"mappings":";;AAYA,IAAM,IAAoB,EAAQ,cAAc,KAAK;AACrD,EAAkB,cAAc;AAChC,IAAM,IAAyB,EAAQ,cAAc,KAAK;AAC1D,EAAuB,cAAc;AACrC,IAAM,IAAmB,EAAQ,cAAc,GAAM;AACrD,SAAS,IAAwB;AAChC,QAAO,EAAQ,WAAW,EAAiB;;AAE5C,IAAM,IAAwB,EAAQ,cAAc,EAAE,iBAAiB,IAAO,CAAC;AAC/E,EAAsB,cAAc;AACpC,IAAM,IAAkB,EAAQ,8BAA8B,IAAI,KAAK,CAAC;AACxE,EAAgB,cAAc;AAC9B,IAAM,IAAe,EAAQ,cAAc,KAAK;AAChD,EAAa,cAAc;AAE3B,IAAM,IAAoB,EAAQ,cAAc,KAAK;AACrD,EAAkB,cAAc;AAChC,IAAM,IAAkB,EAAQ,cAAc,KAAK;AACnD,EAAgB,cAAc;AAC9B,IAAM,IAAe,EAAQ,cAAc;CAC1C,QAAQ;CACR,SAAS,EAAE;CACX,aAAa;CACb,CAAC;AACF,EAAa,cAAc;AAC3B,IAAM,IAAoB,EAAQ,cAAc,KAAK;AACrD,EAAkB,cAAc"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { warning as e } from "../router/history.js";
|
|
2
|
+
import { stripBasename as t } from "../router/utils.js";
|
|
3
|
+
//#region node_modules/react-router/dist/production/lib/dom/dom.js
|
|
4
|
+
var n = "application/x-www-form-urlencoded";
|
|
5
|
+
function r(e) {
|
|
6
|
+
return typeof HTMLElement < "u" && e instanceof HTMLElement;
|
|
7
|
+
}
|
|
8
|
+
function i(e) {
|
|
9
|
+
return r(e) && e.tagName.toLowerCase() === "button";
|
|
10
|
+
}
|
|
11
|
+
function a(e) {
|
|
12
|
+
return r(e) && e.tagName.toLowerCase() === "form";
|
|
13
|
+
}
|
|
14
|
+
function o(e) {
|
|
15
|
+
return r(e) && e.tagName.toLowerCase() === "input";
|
|
16
|
+
}
|
|
17
|
+
function s(e) {
|
|
18
|
+
return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);
|
|
19
|
+
}
|
|
20
|
+
function c(e, t) {
|
|
21
|
+
return e.button === 0 && (!t || t === "_self") && !s(e);
|
|
22
|
+
}
|
|
23
|
+
function l(e = "") {
|
|
24
|
+
return new URLSearchParams(typeof e == "string" || Array.isArray(e) || e instanceof URLSearchParams ? e : Object.keys(e).reduce((t, n) => {
|
|
25
|
+
let r = e[n];
|
|
26
|
+
return t.concat(Array.isArray(r) ? r.map((e) => [n, e]) : [[n, r]]);
|
|
27
|
+
}, []));
|
|
28
|
+
}
|
|
29
|
+
function u(e, t) {
|
|
30
|
+
let n = l(e);
|
|
31
|
+
return t && t.forEach((e, r) => {
|
|
32
|
+
n.has(r) || t.getAll(r).forEach((e) => {
|
|
33
|
+
n.append(r, e);
|
|
34
|
+
});
|
|
35
|
+
}), n;
|
|
36
|
+
}
|
|
37
|
+
var d = null;
|
|
38
|
+
function f() {
|
|
39
|
+
if (d === null) try {
|
|
40
|
+
new FormData(document.createElement("form"), 0), d = !1;
|
|
41
|
+
} catch {
|
|
42
|
+
d = !0;
|
|
43
|
+
}
|
|
44
|
+
return d;
|
|
45
|
+
}
|
|
46
|
+
var p = new Set([
|
|
47
|
+
"application/x-www-form-urlencoded",
|
|
48
|
+
"multipart/form-data",
|
|
49
|
+
"text/plain"
|
|
50
|
+
]);
|
|
51
|
+
function m(t) {
|
|
52
|
+
return t != null && !p.has(t) ? (e(!1, `"${t}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${n}"`), null) : t;
|
|
53
|
+
}
|
|
54
|
+
function h(e, s) {
|
|
55
|
+
let c, l, u, d, p;
|
|
56
|
+
if (a(e)) {
|
|
57
|
+
let r = e.getAttribute("action");
|
|
58
|
+
l = r ? t(r, s) : null, c = e.getAttribute("method") || "get", u = m(e.getAttribute("enctype")) || n, d = new FormData(e);
|
|
59
|
+
} else if (i(e) || o(e) && (e.type === "submit" || e.type === "image")) {
|
|
60
|
+
let r = e.form;
|
|
61
|
+
if (r == null) throw Error("Cannot submit a <button> or <input type=\"submit\"> without a <form>");
|
|
62
|
+
let i = e.getAttribute("formaction") || r.getAttribute("action");
|
|
63
|
+
if (l = i ? t(i, s) : null, c = e.getAttribute("formmethod") || r.getAttribute("method") || "get", u = m(e.getAttribute("formenctype")) || m(r.getAttribute("enctype")) || n, d = new FormData(r, e), !f()) {
|
|
64
|
+
let { name: t, type: n, value: r } = e;
|
|
65
|
+
if (n === "image") {
|
|
66
|
+
let e = t ? `${t}.` : "";
|
|
67
|
+
d.append(`${e}x`, "0"), d.append(`${e}y`, "0");
|
|
68
|
+
} else t && d.append(t, r);
|
|
69
|
+
}
|
|
70
|
+
} else if (r(e)) throw Error("Cannot submit element that is not <form>, <button>, or <input type=\"submit|image\">");
|
|
71
|
+
else c = "get", l = null, u = n, p = e;
|
|
72
|
+
return d && u === "text/plain" && (p = d, d = void 0), {
|
|
73
|
+
action: l,
|
|
74
|
+
method: c.toLowerCase(),
|
|
75
|
+
encType: u,
|
|
76
|
+
formData: d,
|
|
77
|
+
body: p
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
export { l as createSearchParams, h as getFormSubmissionInfo, u as getSearchParamsForLocation, c as shouldProcessLinkClick };
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=dom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom.js","names":[],"sources":["../../../../../../../node_modules/react-router/dist/production/lib/dom/dom.js"],"sourcesContent":["/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { warning } from \"../router/history.js\";\nimport { stripBasename } from \"../router/utils.js\";\nconst defaultEncType = \"application/x-www-form-urlencoded\";\nfunction isHtmlElement(object) {\n\treturn typeof HTMLElement !== \"undefined\" && object instanceof HTMLElement;\n}\nfunction isButtonElement(object) {\n\treturn isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\nfunction isFormElement(object) {\n\treturn isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\nfunction isInputElement(object) {\n\treturn isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\nfunction isModifiedEvent(event) {\n\treturn !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nfunction shouldProcessLinkClick(event, target) {\n\treturn event.button === 0 && (!target || target === \"_self\") && !isModifiedEvent(event);\n}\n/**\n* Creates a URLSearchParams object using the given initializer.\n*\n* This is identical to `new URLSearchParams(init)` except it also supports\n* arrays as values in the object form of the initializer instead of just\n* strings. This is convenient when you need multiple values for a given key,\n* but don't want to use an array initializer.\n*\n* @example\n* // Instead of:\n* let searchParams = new URLSearchParams([\n* [\"sort\", \"name\"],\n* [\"sort\", \"price\"],\n* ]);\n*\n* // You can do:\n* let searchParams = createSearchParams({\n* sort: [\"name\", \"price\"],\n* });\n*\n* @public\n* @category Utils\n* @param init The value used to initialize the URL search parameters.\n* @returns A URLSearchParams object containing the initialized search\n* parameters.\n*/\nfunction createSearchParams(init = \"\") {\n\treturn new URLSearchParams(typeof init === \"string\" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo, key) => {\n\t\tlet value = init[key];\n\t\treturn memo.concat(Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]);\n\t}, []));\n}\nfunction getSearchParamsForLocation(locationSearch, defaultSearchParams) {\n\tlet searchParams = createSearchParams(locationSearch);\n\tif (defaultSearchParams) defaultSearchParams.forEach((_, key) => {\n\t\tif (!searchParams.has(key)) defaultSearchParams.getAll(key).forEach((value) => {\n\t\t\tsearchParams.append(key, value);\n\t\t});\n\t});\n\treturn searchParams;\n}\nlet _formDataSupportsSubmitter = null;\nfunction isFormDataSubmitterSupported() {\n\tif (_formDataSupportsSubmitter === null) try {\n\t\tnew FormData(document.createElement(\"form\"), 0);\n\t\t_formDataSupportsSubmitter = false;\n\t} catch (e) {\n\t\t_formDataSupportsSubmitter = true;\n\t}\n\treturn _formDataSupportsSubmitter;\n}\nconst supportedFormEncTypes = new Set([\n\t\"application/x-www-form-urlencoded\",\n\t\"multipart/form-data\",\n\t\"text/plain\"\n]);\nfunction getFormEncType(encType) {\n\tif (encType != null && !supportedFormEncTypes.has(encType)) {\n\t\twarning(false, `\"${encType}\" is not a valid \\`encType\\` for \\`<Form>\\`/\\`<fetcher.Form>\\` and will default to \"${defaultEncType}\"`);\n\t\treturn null;\n\t}\n\treturn encType;\n}\nfunction getFormSubmissionInfo(target, basename) {\n\tlet method;\n\tlet action;\n\tlet encType;\n\tlet formData;\n\tlet body;\n\tif (isFormElement(target)) {\n\t\tlet attr = target.getAttribute(\"action\");\n\t\taction = attr ? stripBasename(attr, basename) : null;\n\t\tmethod = target.getAttribute(\"method\") || \"get\";\n\t\tencType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n\t\tformData = new FormData(target);\n\t} else if (isButtonElement(target) || isInputElement(target) && (target.type === \"submit\" || target.type === \"image\")) {\n\t\tlet form = target.form;\n\t\tif (form == null) throw new Error(`Cannot submit a <button> or <input type=\"submit\"> without a <form>`);\n\t\tlet attr = target.getAttribute(\"formaction\") || form.getAttribute(\"action\");\n\t\taction = attr ? stripBasename(attr, basename) : null;\n\t\tmethod = target.getAttribute(\"formmethod\") || form.getAttribute(\"method\") || \"get\";\n\t\tencType = getFormEncType(target.getAttribute(\"formenctype\")) || getFormEncType(form.getAttribute(\"enctype\")) || defaultEncType;\n\t\tformData = new FormData(form, target);\n\t\tif (!isFormDataSubmitterSupported()) {\n\t\t\tlet { name, type, value } = target;\n\t\t\tif (type === \"image\") {\n\t\t\t\tlet prefix = name ? `${name}.` : \"\";\n\t\t\t\tformData.append(`${prefix}x`, \"0\");\n\t\t\t\tformData.append(`${prefix}y`, \"0\");\n\t\t\t} else if (name) formData.append(name, value);\n\t\t}\n\t} else if (isHtmlElement(target)) throw new Error(\"Cannot submit element that is not <form>, <button>, or <input type=\\\"submit|image\\\">\");\n\telse {\n\t\tmethod = \"get\";\n\t\taction = null;\n\t\tencType = defaultEncType;\n\t\tbody = target;\n\t}\n\tif (formData && encType === \"text/plain\") {\n\t\tbody = formData;\n\t\tformData = void 0;\n\t}\n\treturn {\n\t\taction,\n\t\tmethod: method.toLowerCase(),\n\t\tencType,\n\t\tformData,\n\t\tbody\n\t};\n}\n//#endregion\nexport { createSearchParams, getFormSubmissionInfo, getSearchParamsForLocation, shouldProcessLinkClick };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|