react-router 7.8.2 → 7.9.0-pre.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/dist/development/{chunk-5UALIXAM.mjs → chunk-3TJX7VNY.mjs} +93 -57
- package/dist/development/{chunk-CSDGKXLR.js → chunk-4J2JOVAI.js} +135 -135
- package/dist/development/{chunk-PVWAREVJ.mjs → chunk-EAIS2CTK.mjs} +43 -44
- package/dist/development/{chunk-ZO66TDGB.js → chunk-ECJT65VE.js} +37 -38
- package/dist/{production/context-jKip1TFB.d.mts → development/context-BH6Jwdoy.d.mts} +39 -32
- package/dist/development/dom-export.d.mts +3 -3
- package/dist/development/dom-export.d.ts +2 -2
- package/dist/development/dom-export.js +14 -14
- package/dist/development/dom-export.mjs +14 -14
- package/dist/development/{index-react-server-client-DRhjXpk2.d.mts → index-react-server-client-1cWMpKk4.d.mts} +13 -13
- package/dist/{production/index-react-server-client-BKpa2trA.d.ts → development/index-react-server-client-CMC2eQAY.d.ts} +12 -12
- package/dist/development/index-react-server-client.d.mts +3 -3
- package/dist/development/index-react-server-client.d.ts +2 -2
- package/dist/development/index-react-server-client.js +4 -4
- package/dist/development/index-react-server-client.mjs +4 -4
- package/dist/development/index-react-server.d.mts +229 -37
- package/dist/development/index-react-server.d.ts +229 -37
- package/dist/development/index-react-server.js +89 -39
- package/dist/development/index-react-server.mjs +88 -36
- package/dist/development/index.d.mts +31 -24
- package/dist/development/index.d.ts +29 -22
- package/dist/development/index.js +182 -144
- package/dist/development/index.mjs +9 -7
- package/dist/development/lib/types/internal.d.mts +6 -6
- package/dist/development/lib/types/internal.d.ts +5 -5
- package/dist/development/lib/types/internal.js +1 -1
- package/dist/development/lib/types/internal.mjs +1 -1
- package/dist/development/{route-data-DAVP2QQ0.d.mts → route-data-BQkq8Erj.d.mts} +12 -12
- package/dist/development/{routeModules-rOzWJJ9x.d.ts → routeModules-DSKAn01V.d.ts} +175 -168
- package/dist/production/{chunk-REDRD2MB.mjs → chunk-47NS5WEV.mjs} +43 -44
- package/dist/production/{chunk-JNT5PWCQ.js → chunk-CSESPFUI.js} +135 -135
- package/dist/production/{chunk-Z56HUDN5.js → chunk-LQAK2UKE.js} +37 -38
- package/dist/production/{chunk-KWHRV2I7.mjs → chunk-SCSBSW2J.mjs} +93 -57
- package/dist/{development/context-jKip1TFB.d.mts → production/context-BH6Jwdoy.d.mts} +39 -32
- package/dist/production/dom-export.d.mts +3 -3
- package/dist/production/dom-export.d.ts +2 -2
- package/dist/production/dom-export.js +14 -14
- package/dist/production/dom-export.mjs +14 -14
- package/dist/production/{index-react-server-client-DRhjXpk2.d.mts → index-react-server-client-1cWMpKk4.d.mts} +13 -13
- package/dist/{development/index-react-server-client-BKpa2trA.d.ts → production/index-react-server-client-CMC2eQAY.d.ts} +12 -12
- package/dist/production/index-react-server-client.d.mts +3 -3
- package/dist/production/index-react-server-client.d.ts +2 -2
- package/dist/production/index-react-server-client.js +4 -4
- package/dist/production/index-react-server-client.mjs +4 -4
- package/dist/production/index-react-server.d.mts +229 -37
- package/dist/production/index-react-server.d.ts +229 -37
- package/dist/production/index-react-server.js +89 -39
- package/dist/production/index-react-server.mjs +88 -36
- package/dist/production/index.d.mts +31 -24
- package/dist/production/index.d.ts +29 -22
- package/dist/production/index.js +182 -144
- package/dist/production/index.mjs +9 -7
- package/dist/production/lib/types/internal.d.mts +6 -6
- package/dist/production/lib/types/internal.d.ts +5 -5
- package/dist/production/lib/types/internal.js +1 -1
- package/dist/production/lib/types/internal.mjs +1 -1
- package/dist/production/{route-data-DAVP2QQ0.d.mts → route-data-BQkq8Erj.d.mts} +12 -12
- package/dist/production/{routeModules-rOzWJJ9x.d.ts → routeModules-DSKAn01V.d.ts} +175 -168
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }/**
|
|
2
|
-
* react-router v7.
|
|
2
|
+
* react-router v7.9.0-pre.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
|
|
57
|
-
var
|
|
57
|
+
var _chunk4J2JOVAIjs = require('./chunk-4J2JOVAI.js');
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
|
|
@@ -143,7 +143,8 @@ var _chunkCSDGKXLRjs = require('./chunk-CSDGKXLR.js');
|
|
|
143
143
|
|
|
144
144
|
|
|
145
145
|
|
|
146
|
-
|
|
146
|
+
|
|
147
|
+
var _chunkECJT65VEjs = require('./chunk-ECJT65VE.js');
|
|
147
148
|
|
|
148
149
|
// lib/dom/ssr/server.tsx
|
|
149
150
|
var _react = require('react'); var React = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React4 = _interopRequireWildcard(_react); var React5 = _interopRequireWildcard(_react);
|
|
@@ -156,7 +157,7 @@ function ServerRouter({
|
|
|
156
157
|
url = new URL(url);
|
|
157
158
|
}
|
|
158
159
|
let { manifest, routeModules, criticalCss, serverHandoffString } = context;
|
|
159
|
-
let routes =
|
|
160
|
+
let routes = _chunkECJT65VEjs.createServerRoutes.call(void 0,
|
|
160
161
|
manifest.routes,
|
|
161
162
|
routeModules,
|
|
162
163
|
context.future,
|
|
@@ -169,7 +170,7 @@ function ServerRouter({
|
|
|
169
170
|
let routeId = match.route.id;
|
|
170
171
|
let route = routeModules[routeId];
|
|
171
172
|
let manifestRoute = context.manifest.routes[routeId];
|
|
172
|
-
if (route && manifestRoute &&
|
|
173
|
+
if (route && manifestRoute && _chunkECJT65VEjs.shouldHydrateRouteLoader.call(void 0,
|
|
173
174
|
routeId,
|
|
174
175
|
route.clientLoader,
|
|
175
176
|
manifestRoute.hasLoader,
|
|
@@ -178,9 +179,9 @@ function ServerRouter({
|
|
|
178
179
|
delete context.staticHandlerContext.loaderData[routeId];
|
|
179
180
|
}
|
|
180
181
|
}
|
|
181
|
-
let router =
|
|
182
|
+
let router = _chunk4J2JOVAIjs.createStaticRouter.call(void 0, routes, context.staticHandlerContext);
|
|
182
183
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
183
|
-
|
|
184
|
+
_chunkECJT65VEjs.FrameworkContext.Provider,
|
|
184
185
|
{
|
|
185
186
|
value: {
|
|
186
187
|
manifest,
|
|
@@ -195,8 +196,8 @@ function ServerRouter({
|
|
|
195
196
|
renderMeta: context.renderMeta
|
|
196
197
|
}
|
|
197
198
|
},
|
|
198
|
-
/* @__PURE__ */ React.createElement(
|
|
199
|
-
|
|
199
|
+
/* @__PURE__ */ React.createElement(_chunkECJT65VEjs.RemixErrorBoundary, { location: router.state.location }, /* @__PURE__ */ React.createElement(
|
|
200
|
+
_chunk4J2JOVAIjs.StaticRouterProvider,
|
|
200
201
|
{
|
|
201
202
|
router,
|
|
202
203
|
context: context.staticHandlerContext,
|
|
@@ -204,7 +205,7 @@ function ServerRouter({
|
|
|
204
205
|
}
|
|
205
206
|
))
|
|
206
207
|
), context.serverHandoffStream ? /* @__PURE__ */ React.createElement(React.Suspense, null, /* @__PURE__ */ React.createElement(
|
|
207
|
-
|
|
208
|
+
_chunkECJT65VEjs.StreamTransfer,
|
|
208
209
|
{
|
|
209
210
|
context,
|
|
210
211
|
identifier: 0,
|
|
@@ -230,7 +231,7 @@ function createRoutesStub(routes, _context) {
|
|
|
230
231
|
frameworkContextRef.current = {
|
|
231
232
|
future: {
|
|
232
233
|
unstable_subResourceIntegrity: _optionalChain([future, 'optionalAccess', _2 => _2.unstable_subResourceIntegrity]) === true,
|
|
233
|
-
|
|
234
|
+
v8_middleware: _optionalChain([future, 'optionalAccess', _3 => _3.v8_middleware]) === true
|
|
234
235
|
},
|
|
235
236
|
manifest: {
|
|
236
237
|
routes: {},
|
|
@@ -246,18 +247,18 @@ function createRoutesStub(routes, _context) {
|
|
|
246
247
|
let patched = processRoutes(
|
|
247
248
|
// @ts-expect-error `StubRouteObject` is stricter about `loader`/`action`
|
|
248
249
|
// types compared to `AgnosticRouteObject`
|
|
249
|
-
|
|
250
|
-
_context !== void 0 ? _context : _optionalChain([future, 'optionalAccess', _4 => _4.
|
|
250
|
+
_chunkECJT65VEjs.convertRoutesToDataRoutes.call(void 0, routes, (r) => r),
|
|
251
|
+
_context !== void 0 ? _context : _optionalChain([future, 'optionalAccess', _4 => _4.v8_middleware]) ? new (0, _chunkECJT65VEjs.RouterContextProvider)() : {},
|
|
251
252
|
frameworkContextRef.current.manifest,
|
|
252
253
|
frameworkContextRef.current.routeModules
|
|
253
254
|
);
|
|
254
|
-
routerRef.current =
|
|
255
|
+
routerRef.current = _chunk4J2JOVAIjs.createMemoryRouter.call(void 0, patched, {
|
|
255
256
|
initialEntries,
|
|
256
257
|
initialIndex,
|
|
257
258
|
hydrationData
|
|
258
259
|
});
|
|
259
260
|
}
|
|
260
|
-
return /* @__PURE__ */ React2.createElement(
|
|
261
|
+
return /* @__PURE__ */ React2.createElement(_chunkECJT65VEjs.FrameworkContext.Provider, { value: frameworkContextRef.current }, /* @__PURE__ */ React2.createElement(_chunk4J2JOVAIjs.RouterProvider, { router: routerRef.current }));
|
|
261
262
|
};
|
|
262
263
|
}
|
|
263
264
|
function processRoutes(routes, context, manifest, routeModules, parentId) {
|
|
@@ -271,9 +272,9 @@ function processRoutes(routes, context, manifest, routeModules, parentId) {
|
|
|
271
272
|
id: route.id,
|
|
272
273
|
path: route.path,
|
|
273
274
|
index: route.index,
|
|
274
|
-
Component: route.Component ?
|
|
275
|
-
HydrateFallback: route.HydrateFallback ?
|
|
276
|
-
ErrorBoundary: route.ErrorBoundary ?
|
|
275
|
+
Component: route.Component ? _chunk4J2JOVAIjs.withComponentProps.call(void 0, route.Component) : void 0,
|
|
276
|
+
HydrateFallback: route.HydrateFallback ? _chunk4J2JOVAIjs.withHydrateFallbackProps.call(void 0, route.HydrateFallback) : void 0,
|
|
277
|
+
ErrorBoundary: route.ErrorBoundary ? _chunk4J2JOVAIjs.withErrorBoundaryProps.call(void 0, route.ErrorBoundary) : void 0,
|
|
277
278
|
action: route.action ? (args) => route.action({ ...args, context }) : void 0,
|
|
278
279
|
loader: route.loader ? (args) => route.loader({ ...args, context }) : void 0,
|
|
279
280
|
handle: route.handle,
|
|
@@ -302,7 +303,7 @@ function processRoutes(routes, context, manifest, routeModules, parentId) {
|
|
|
302
303
|
};
|
|
303
304
|
manifest.routes[newRoute.id] = entryRoute;
|
|
304
305
|
routeModules[route.id] = {
|
|
305
|
-
default: newRoute.Component ||
|
|
306
|
+
default: newRoute.Component || _chunk4J2JOVAIjs.Outlet,
|
|
306
307
|
ErrorBoundary: newRoute.ErrorBoundary || void 0,
|
|
307
308
|
handle: route.handle,
|
|
308
309
|
links: route.links,
|
|
@@ -497,7 +498,7 @@ function myUnescape(value) {
|
|
|
497
498
|
return result;
|
|
498
499
|
}
|
|
499
500
|
function warnOnceAboutExpiresCookie(name, expires) {
|
|
500
|
-
|
|
501
|
+
_chunkECJT65VEjs.warnOnce.call(void 0,
|
|
501
502
|
!expires,
|
|
502
503
|
`The "${name}" cookie has an "expires" property set. This will cause the expires value to not be updated when the session is committed. Instead, you should set the expires value when serializing the cookie. You can use \`commitSession(session, { expires })\` if using a session storage object, or \`cookie.serialize("value", { expires })\` if you're using the cookie directly.`
|
|
503
504
|
);
|
|
@@ -551,7 +552,7 @@ function serializeErrors(errors, serverMode) {
|
|
|
551
552
|
let entries = Object.entries(errors);
|
|
552
553
|
let serialized = {};
|
|
553
554
|
for (let [key, val] of entries) {
|
|
554
|
-
if (
|
|
555
|
+
if (_chunkECJT65VEjs.isRouteErrorResponse.call(void 0, val)) {
|
|
555
556
|
serialized[key] = { ...val, __type: "RouteErrorResponse" };
|
|
556
557
|
} else if (val instanceof Error) {
|
|
557
558
|
let sanitized = sanitizeError(val, serverMode);
|
|
@@ -576,7 +577,7 @@ function serializeErrors(errors, serverMode) {
|
|
|
576
577
|
|
|
577
578
|
// lib/server-runtime/routeMatching.ts
|
|
578
579
|
function matchServerRoutes(routes, pathname, basename) {
|
|
579
|
-
let matches =
|
|
580
|
+
let matches = _chunkECJT65VEjs.matchRoutes.call(void 0,
|
|
580
581
|
routes,
|
|
581
582
|
pathname,
|
|
582
583
|
basename
|
|
@@ -596,7 +597,7 @@ async function callRouteHandler(handler, args) {
|
|
|
596
597
|
params: args.params,
|
|
597
598
|
context: args.context
|
|
598
599
|
});
|
|
599
|
-
if (
|
|
600
|
+
if (_chunkECJT65VEjs.isDataWithResponseInit.call(void 0, result) && result.init && result.init.status && _chunkECJT65VEjs.isRedirectStatusCode.call(void 0, result.init.status)) {
|
|
600
601
|
throw new Response(null, result.init);
|
|
601
602
|
}
|
|
602
603
|
return result;
|
|
@@ -697,7 +698,7 @@ function createStaticHandlerDataRoutes(manifest, future, parentId = "", routesBy
|
|
|
697
698
|
hasErrorBoundary: route.id === "root" || route.module.ErrorBoundary != null,
|
|
698
699
|
id: route.id,
|
|
699
700
|
path: route.path,
|
|
700
|
-
|
|
701
|
+
middleware: route.module.middleware,
|
|
701
702
|
// Need to use RR's version in the param typed here to permit the optional
|
|
702
703
|
// context even though we know it'll always be provided in remix
|
|
703
704
|
loader: route.module.loader ? async (args) => {
|
|
@@ -715,17 +716,17 @@ function createStaticHandlerDataRoutes(manifest, future, parentId = "", routesBy
|
|
|
715
716
|
controller.close();
|
|
716
717
|
}
|
|
717
718
|
});
|
|
718
|
-
let decoded = await
|
|
719
|
+
let decoded = await _chunkECJT65VEjs.decodeViaTurboStream.call(void 0, stream, global);
|
|
719
720
|
let data2 = decoded.value;
|
|
720
|
-
if (data2 &&
|
|
721
|
-
let result = data2[
|
|
721
|
+
if (data2 && _chunkECJT65VEjs.SingleFetchRedirectSymbol in data2) {
|
|
722
|
+
let result = data2[_chunkECJT65VEjs.SingleFetchRedirectSymbol];
|
|
722
723
|
let init = { status: result.status };
|
|
723
724
|
if (result.reload) {
|
|
724
|
-
throw
|
|
725
|
+
throw _chunkECJT65VEjs.redirectDocument.call(void 0, result.redirect, init);
|
|
725
726
|
} else if (result.replace) {
|
|
726
|
-
throw
|
|
727
|
+
throw _chunkECJT65VEjs.replace.call(void 0, result.redirect, init);
|
|
727
728
|
} else {
|
|
728
|
-
throw
|
|
729
|
+
throw _chunkECJT65VEjs.redirect.call(void 0, result.redirect, init);
|
|
729
730
|
}
|
|
730
731
|
} else {
|
|
731
732
|
invariant2(
|
|
@@ -854,7 +855,7 @@ function prependCookies(parentHeaders, childHeaders) {
|
|
|
854
855
|
|
|
855
856
|
// lib/server-runtime/single-fetch.ts
|
|
856
857
|
var SERVER_NO_BODY_STATUS_CODES = /* @__PURE__ */ new Set([
|
|
857
|
-
...
|
|
858
|
+
..._chunkECJT65VEjs.NO_BODY_STATUS_CODES,
|
|
858
859
|
304
|
|
859
860
|
]);
|
|
860
861
|
async function singleFetchAction(build, serverMode, staticHandler, request, handlerUrl, loadContext, handleError) {
|
|
@@ -870,7 +871,7 @@ async function singleFetchAction(build, serverMode, staticHandler, request, hand
|
|
|
870
871
|
requestContext: loadContext,
|
|
871
872
|
skipLoaderErrorBubbling: true,
|
|
872
873
|
skipRevalidation: true,
|
|
873
|
-
|
|
874
|
+
generateMiddlewareResponse: build.future.v8_middleware ? async (query) => {
|
|
874
875
|
try {
|
|
875
876
|
let innerResult = await query(handlerRequest);
|
|
876
877
|
return handleQueryResult(innerResult);
|
|
@@ -884,7 +885,7 @@ async function singleFetchAction(build, serverMode, staticHandler, request, hand
|
|
|
884
885
|
return handleQueryError(error);
|
|
885
886
|
}
|
|
886
887
|
function handleQueryResult(result) {
|
|
887
|
-
return
|
|
888
|
+
return _chunkECJT65VEjs.isResponse.call(void 0, result) ? result : staticContextToResponse(result);
|
|
888
889
|
}
|
|
889
890
|
function handleQueryError(error) {
|
|
890
891
|
handleError(error);
|
|
@@ -896,12 +897,12 @@ async function singleFetchAction(build, serverMode, staticHandler, request, hand
|
|
|
896
897
|
}
|
|
897
898
|
function staticContextToResponse(context) {
|
|
898
899
|
let headers = getDocumentHeaders(context, build);
|
|
899
|
-
if (
|
|
900
|
+
if (_chunkECJT65VEjs.isRedirectStatusCode.call(void 0, context.statusCode) && headers.has("Location")) {
|
|
900
901
|
return new Response(null, { status: context.statusCode, headers });
|
|
901
902
|
}
|
|
902
903
|
if (context.errors) {
|
|
903
904
|
Object.values(context.errors).forEach((err) => {
|
|
904
|
-
if (!
|
|
905
|
+
if (!_chunkECJT65VEjs.isRouteErrorResponse.call(void 0, err) || err.error) {
|
|
905
906
|
handleError(err);
|
|
906
907
|
}
|
|
907
908
|
});
|
|
@@ -934,7 +935,7 @@ async function singleFetchLoaders(build, serverMode, staticHandler, request, han
|
|
|
934
935
|
requestContext: loadContext,
|
|
935
936
|
filterMatchesToLoad: (m) => !loadRouteIds || loadRouteIds.has(m.route.id),
|
|
936
937
|
skipLoaderErrorBubbling: true,
|
|
937
|
-
|
|
938
|
+
generateMiddlewareResponse: build.future.v8_middleware ? async (query) => {
|
|
938
939
|
try {
|
|
939
940
|
let innerResult = await query(handlerRequest);
|
|
940
941
|
return handleQueryResult(innerResult);
|
|
@@ -948,7 +949,7 @@ async function singleFetchLoaders(build, serverMode, staticHandler, request, han
|
|
|
948
949
|
return handleQueryError(error);
|
|
949
950
|
}
|
|
950
951
|
function handleQueryResult(result) {
|
|
951
|
-
return
|
|
952
|
+
return _chunkECJT65VEjs.isResponse.call(void 0, result) ? result : staticContextToResponse(result);
|
|
952
953
|
}
|
|
953
954
|
function handleQueryError(error) {
|
|
954
955
|
handleError(error);
|
|
@@ -960,12 +961,12 @@ async function singleFetchLoaders(build, serverMode, staticHandler, request, han
|
|
|
960
961
|
}
|
|
961
962
|
function staticContextToResponse(context) {
|
|
962
963
|
let headers = getDocumentHeaders(context, build);
|
|
963
|
-
if (
|
|
964
|
+
if (_chunkECJT65VEjs.isRedirectStatusCode.call(void 0, context.statusCode) && headers.has("Location")) {
|
|
964
965
|
return new Response(null, { status: context.statusCode, headers });
|
|
965
966
|
}
|
|
966
967
|
if (context.errors) {
|
|
967
968
|
Object.values(context.errors).forEach((err) => {
|
|
968
|
-
if (!
|
|
969
|
+
if (!_chunkECJT65VEjs.isRouteErrorResponse.call(void 0, err) || err.error) {
|
|
969
970
|
handleError(err);
|
|
970
971
|
}
|
|
971
972
|
});
|
|
@@ -1029,15 +1030,15 @@ function generateSingleFetchRedirectResponse(redirectResponse, request, build, s
|
|
|
1029
1030
|
headers.delete("Location");
|
|
1030
1031
|
headers.set("Content-Type", "text/x-script");
|
|
1031
1032
|
return generateSingleFetchResponse(request, build, serverMode, {
|
|
1032
|
-
result: request.method === "GET" ? { [
|
|
1033
|
+
result: request.method === "GET" ? { [_chunkECJT65VEjs.SingleFetchRedirectSymbol]: redirect2 } : redirect2,
|
|
1033
1034
|
headers,
|
|
1034
|
-
status:
|
|
1035
|
+
status: _chunkECJT65VEjs.SINGLE_FETCH_REDIRECT_STATUS
|
|
1035
1036
|
});
|
|
1036
1037
|
}
|
|
1037
1038
|
function getSingleFetchRedirect(status, headers, basename) {
|
|
1038
1039
|
let redirect2 = headers.get("Location");
|
|
1039
1040
|
if (basename) {
|
|
1040
|
-
redirect2 =
|
|
1041
|
+
redirect2 = _chunkECJT65VEjs.stripBasename.call(void 0, redirect2, basename) || redirect2;
|
|
1041
1042
|
}
|
|
1042
1043
|
return {
|
|
1043
1044
|
redirect: redirect2,
|
|
@@ -1063,7 +1064,7 @@ function encodeViaTurboStream(data2, requestSignal, streamTimeout, serverMode) {
|
|
|
1063
1064
|
typeof streamTimeout === "number" ? streamTimeout : 4950
|
|
1064
1065
|
);
|
|
1065
1066
|
requestSignal.addEventListener("abort", () => clearTimeout(timeoutId));
|
|
1066
|
-
return
|
|
1067
|
+
return _chunkECJT65VEjs.encode.call(void 0, data2, {
|
|
1067
1068
|
signal: controller.signal,
|
|
1068
1069
|
plugins: [
|
|
1069
1070
|
(value) => {
|
|
@@ -1071,12 +1072,12 @@ function encodeViaTurboStream(data2, requestSignal, streamTimeout, serverMode) {
|
|
|
1071
1072
|
let { name, message, stack } = serverMode === "production" /* Production */ ? sanitizeError(value, serverMode) : value;
|
|
1072
1073
|
return ["SanitizedError", name, message, stack];
|
|
1073
1074
|
}
|
|
1074
|
-
if (value instanceof
|
|
1075
|
+
if (value instanceof _chunkECJT65VEjs.ErrorResponseImpl) {
|
|
1075
1076
|
let { data: data3, status, statusText } = value;
|
|
1076
1077
|
return ["ErrorResponse", data3, status, statusText];
|
|
1077
1078
|
}
|
|
1078
|
-
if (value && typeof value === "object" &&
|
|
1079
|
-
return ["SingleFetchRedirect", value[
|
|
1079
|
+
if (value && typeof value === "object" && _chunkECJT65VEjs.SingleFetchRedirectSymbol in value) {
|
|
1080
|
+
return ["SingleFetchRedirect", value[_chunkECJT65VEjs.SingleFetchRedirectSymbol]];
|
|
1080
1081
|
}
|
|
1081
1082
|
}
|
|
1082
1083
|
],
|
|
@@ -1099,14 +1100,14 @@ function derive(build, mode) {
|
|
|
1099
1100
|
let routes = createRoutes(build.routes);
|
|
1100
1101
|
let dataRoutes = createStaticHandlerDataRoutes(build.routes, build.future);
|
|
1101
1102
|
let serverMode = isServerMode(mode) ? mode : "production" /* Production */;
|
|
1102
|
-
let staticHandler =
|
|
1103
|
+
let staticHandler = _chunkECJT65VEjs.createStaticHandler.call(void 0, dataRoutes, {
|
|
1103
1104
|
basename: build.basename
|
|
1104
1105
|
});
|
|
1105
1106
|
let errorHandler = build.entry.module.handleError || ((error, { request }) => {
|
|
1106
1107
|
if (serverMode !== "test" /* Test */ && !request.signal.aborted) {
|
|
1107
1108
|
console.error(
|
|
1108
1109
|
// @ts-expect-error This is "private" from users but intended for internal use
|
|
1109
|
-
|
|
1110
|
+
_chunkECJT65VEjs.isRouteErrorResponse.call(void 0, error) && error.error ? error.error : error
|
|
1110
1111
|
);
|
|
1111
1112
|
}
|
|
1112
1113
|
});
|
|
@@ -1151,37 +1152,37 @@ var createRequestHandler = (build, mode) => {
|
|
|
1151
1152
|
request
|
|
1152
1153
|
});
|
|
1153
1154
|
};
|
|
1154
|
-
if (_build.future.
|
|
1155
|
-
if (initialContext && !(initialContext instanceof
|
|
1155
|
+
if (_build.future.v8_middleware) {
|
|
1156
|
+
if (initialContext && !(initialContext instanceof _chunkECJT65VEjs.RouterContextProvider)) {
|
|
1156
1157
|
let error = new Error(
|
|
1157
|
-
"Invalid `context` value provided to `handleRequest`. When middleware is enabled you must return an instance of `
|
|
1158
|
+
"Invalid `context` value provided to `handleRequest`. When middleware is enabled you must return an instance of `RouterContextProvider` from your `getLoadContext` function."
|
|
1158
1159
|
);
|
|
1159
1160
|
handleError(error);
|
|
1160
1161
|
return returnLastResortErrorResponse(error, serverMode);
|
|
1161
1162
|
}
|
|
1162
|
-
loadContext = initialContext || new (0,
|
|
1163
|
+
loadContext = initialContext || new (0, _chunkECJT65VEjs.RouterContextProvider)();
|
|
1163
1164
|
} else {
|
|
1164
1165
|
loadContext = initialContext || {};
|
|
1165
1166
|
}
|
|
1166
1167
|
let url = new URL(request.url);
|
|
1167
1168
|
let normalizedBasename = _build.basename || "/";
|
|
1168
1169
|
let normalizedPath = url.pathname;
|
|
1169
|
-
if (
|
|
1170
|
+
if (_chunkECJT65VEjs.stripBasename.call(void 0, normalizedPath, normalizedBasename) === "/_root.data") {
|
|
1170
1171
|
normalizedPath = normalizedBasename;
|
|
1171
1172
|
} else if (normalizedPath.endsWith(".data")) {
|
|
1172
1173
|
normalizedPath = normalizedPath.replace(/\.data$/, "");
|
|
1173
1174
|
}
|
|
1174
|
-
if (
|
|
1175
|
+
if (_chunkECJT65VEjs.stripBasename.call(void 0, normalizedPath, normalizedBasename) !== "/" && normalizedPath.endsWith("/")) {
|
|
1175
1176
|
normalizedPath = normalizedPath.slice(0, -1);
|
|
1176
1177
|
}
|
|
1177
1178
|
let isSpaMode = getBuildTimeHeader(request, "X-React-Router-SPA-Mode") === "yes";
|
|
1178
1179
|
if (!_build.ssr) {
|
|
1179
1180
|
let decodedPath = decodeURI(normalizedPath);
|
|
1180
1181
|
if (normalizedBasename !== "/") {
|
|
1181
|
-
let strippedPath =
|
|
1182
|
+
let strippedPath = _chunkECJT65VEjs.stripBasename.call(void 0, decodedPath, normalizedBasename);
|
|
1182
1183
|
if (strippedPath == null) {
|
|
1183
1184
|
errorHandler(
|
|
1184
|
-
new (0,
|
|
1185
|
+
new (0, _chunkECJT65VEjs.ErrorResponseImpl)(
|
|
1185
1186
|
404,
|
|
1186
1187
|
"Not Found",
|
|
1187
1188
|
`Refusing to prerender the \`${decodedPath}\` path because it does not start with the basename \`${normalizedBasename}\``
|
|
@@ -1204,7 +1205,7 @@ var createRequestHandler = (build, mode) => {
|
|
|
1204
1205
|
} else if (!_build.prerender.includes(decodedPath) && !_build.prerender.includes(decodedPath + "/")) {
|
|
1205
1206
|
if (url.pathname.endsWith(".data")) {
|
|
1206
1207
|
errorHandler(
|
|
1207
|
-
new (0,
|
|
1208
|
+
new (0, _chunkECJT65VEjs.ErrorResponseImpl)(
|
|
1208
1209
|
404,
|
|
1209
1210
|
"Not Found",
|
|
1210
1211
|
`Refusing to SSR the path \`${decodedPath}\` because \`ssr:false\` is set and the path is not included in the \`prerender\` config, so in production the path will be a 404.`
|
|
@@ -1224,7 +1225,7 @@ var createRequestHandler = (build, mode) => {
|
|
|
1224
1225
|
}
|
|
1225
1226
|
}
|
|
1226
1227
|
}
|
|
1227
|
-
let manifestUrl =
|
|
1228
|
+
let manifestUrl = _chunkECJT65VEjs.getManifestPath.call(void 0,
|
|
1228
1229
|
_build.routeDiscovery.manifestPath,
|
|
1229
1230
|
normalizedBasename
|
|
1230
1231
|
);
|
|
@@ -1259,7 +1260,7 @@ var createRequestHandler = (build, mode) => {
|
|
|
1259
1260
|
loadContext,
|
|
1260
1261
|
handleError
|
|
1261
1262
|
);
|
|
1262
|
-
if (
|
|
1263
|
+
if (_chunkECJT65VEjs.isRedirectResponse.call(void 0, response)) {
|
|
1263
1264
|
response = generateSingleFetchRedirectResponse(
|
|
1264
1265
|
response,
|
|
1265
1266
|
request,
|
|
@@ -1273,7 +1274,7 @@ var createRequestHandler = (build, mode) => {
|
|
|
1273
1274
|
params: singleFetchMatches ? singleFetchMatches[0].params : {},
|
|
1274
1275
|
request
|
|
1275
1276
|
});
|
|
1276
|
-
if (
|
|
1277
|
+
if (_chunkECJT65VEjs.isRedirectResponse.call(void 0, response)) {
|
|
1277
1278
|
response = generateSingleFetchRedirectResponse(
|
|
1278
1279
|
response,
|
|
1279
1280
|
request,
|
|
@@ -1387,10 +1388,10 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
|
|
|
1387
1388
|
try {
|
|
1388
1389
|
let result = await staticHandler.query(request, {
|
|
1389
1390
|
requestContext: loadContext,
|
|
1390
|
-
|
|
1391
|
+
generateMiddlewareResponse: build.future.v8_middleware ? async (query) => {
|
|
1391
1392
|
try {
|
|
1392
1393
|
let innerResult = await query(request);
|
|
1393
|
-
if (!
|
|
1394
|
+
if (!_chunkECJT65VEjs.isResponse.call(void 0, innerResult)) {
|
|
1394
1395
|
innerResult = await renderHtml(innerResult, isSpaMode);
|
|
1395
1396
|
}
|
|
1396
1397
|
return innerResult;
|
|
@@ -1400,7 +1401,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
|
|
|
1400
1401
|
}
|
|
1401
1402
|
} : void 0
|
|
1402
1403
|
});
|
|
1403
|
-
if (!
|
|
1404
|
+
if (!_chunkECJT65VEjs.isResponse.call(void 0, result)) {
|
|
1404
1405
|
result = await renderHtml(result, isSpaMode);
|
|
1405
1406
|
}
|
|
1406
1407
|
return result;
|
|
@@ -1415,7 +1416,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
|
|
|
1415
1416
|
}
|
|
1416
1417
|
if (context.errors) {
|
|
1417
1418
|
Object.values(context.errors).forEach((err) => {
|
|
1418
|
-
if (!
|
|
1419
|
+
if (!_chunkECJT65VEjs.isRouteErrorResponse.call(void 0, err) || err.error) {
|
|
1419
1420
|
handleError(err);
|
|
1420
1421
|
}
|
|
1421
1422
|
});
|
|
@@ -1467,10 +1468,10 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
|
|
|
1467
1468
|
} catch (error) {
|
|
1468
1469
|
handleError(error);
|
|
1469
1470
|
let errorForSecondRender = error;
|
|
1470
|
-
if (
|
|
1471
|
+
if (_chunkECJT65VEjs.isResponse.call(void 0, error)) {
|
|
1471
1472
|
try {
|
|
1472
1473
|
let data2 = await unwrapResponse(error);
|
|
1473
|
-
errorForSecondRender = new (0,
|
|
1474
|
+
errorForSecondRender = new (0, _chunkECJT65VEjs.ErrorResponseImpl)(
|
|
1474
1475
|
error.status,
|
|
1475
1476
|
error.statusText,
|
|
1476
1477
|
data2
|
|
@@ -1478,7 +1479,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
|
|
|
1478
1479
|
} catch (e) {
|
|
1479
1480
|
}
|
|
1480
1481
|
}
|
|
1481
|
-
context =
|
|
1482
|
+
context = _chunkECJT65VEjs.getStaticContextFromError.call(void 0,
|
|
1482
1483
|
staticHandler.dataRoutes,
|
|
1483
1484
|
context,
|
|
1484
1485
|
errorForSecondRender
|
|
@@ -1523,7 +1524,7 @@ async function handleResourceRequest(serverMode, build, staticHandler, routeId,
|
|
|
1523
1524
|
let result = await staticHandler.queryRoute(request, {
|
|
1524
1525
|
routeId,
|
|
1525
1526
|
requestContext: loadContext,
|
|
1526
|
-
|
|
1527
|
+
generateMiddlewareResponse: build.future.v8_middleware ? async (queryRoute) => {
|
|
1527
1528
|
try {
|
|
1528
1529
|
let innerResult = await queryRoute(request);
|
|
1529
1530
|
return handleQueryRouteResult(innerResult);
|
|
@@ -1537,7 +1538,7 @@ async function handleResourceRequest(serverMode, build, staticHandler, routeId,
|
|
|
1537
1538
|
return handleQueryRouteError(error);
|
|
1538
1539
|
}
|
|
1539
1540
|
function handleQueryRouteResult(result) {
|
|
1540
|
-
if (
|
|
1541
|
+
if (_chunkECJT65VEjs.isResponse.call(void 0, result)) {
|
|
1541
1542
|
return result;
|
|
1542
1543
|
}
|
|
1543
1544
|
if (typeof result === "string") {
|
|
@@ -1546,11 +1547,11 @@ async function handleResourceRequest(serverMode, build, staticHandler, routeId,
|
|
|
1546
1547
|
return Response.json(result);
|
|
1547
1548
|
}
|
|
1548
1549
|
function handleQueryRouteError(error) {
|
|
1549
|
-
if (
|
|
1550
|
+
if (_chunkECJT65VEjs.isResponse.call(void 0, error)) {
|
|
1550
1551
|
error.headers.set("X-Remix-Catch", "yes");
|
|
1551
1552
|
return error;
|
|
1552
1553
|
}
|
|
1553
|
-
if (
|
|
1554
|
+
if (_chunkECJT65VEjs.isRouteErrorResponse.call(void 0, error)) {
|
|
1554
1555
|
handleError(error);
|
|
1555
1556
|
return errorResponseToJson(error, serverMode);
|
|
1556
1557
|
}
|
|
@@ -1676,7 +1677,7 @@ function createSessionStorage({
|
|
|
1676
1677
|
};
|
|
1677
1678
|
}
|
|
1678
1679
|
function warnOnceAboutSigningSessionCookie(cookie) {
|
|
1679
|
-
|
|
1680
|
+
_chunkECJT65VEjs.warnOnce.call(void 0,
|
|
1680
1681
|
cookie.isSigned,
|
|
1681
1682
|
`The "${cookie.name}" cookie is not signed, but session cookies should be signed to prevent tampering on the client before they are sent back to the server. See https://reactrouter.com/explanation/sessions-and-cookies#signing-cookies for more information.`
|
|
1682
1683
|
);
|
|
@@ -1743,22 +1744,27 @@ function createMemorySessionStorage({ cookie } = {}) {
|
|
|
1743
1744
|
// lib/href.ts
|
|
1744
1745
|
function href(path, ...args) {
|
|
1745
1746
|
let params = args[0];
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1747
|
+
let result = path.replace(/\/*\*?$/, "").replace(
|
|
1748
|
+
/\/:([\w-]+)(\?)?/g,
|
|
1749
|
+
// same regex as in .\router\utils.ts: compilePath().
|
|
1750
|
+
(_, param, questionMark) => {
|
|
1751
|
+
const isRequired = questionMark === void 0;
|
|
1752
|
+
const value = params ? params[param] : void 0;
|
|
1753
|
+
if (isRequired && value === void 0) {
|
|
1754
|
+
throw new Error(
|
|
1755
|
+
`Path '${path}' requires param '${param}' but it was not provided`
|
|
1756
|
+
);
|
|
1757
|
+
}
|
|
1758
|
+
return value === void 0 ? "" : "/" + value;
|
|
1759
|
+
}
|
|
1760
|
+
);
|
|
1761
|
+
if (path.endsWith("*")) {
|
|
1762
|
+
const value = params ? params["*"] : void 0;
|
|
1763
|
+
if (value !== void 0) {
|
|
1764
|
+
result += "/" + value;
|
|
1759
1765
|
}
|
|
1760
|
-
|
|
1761
|
-
|
|
1766
|
+
}
|
|
1767
|
+
return result || "/";
|
|
1762
1768
|
}
|
|
1763
1769
|
|
|
1764
1770
|
// lib/rsc/browser.tsx
|
|
@@ -1766,17 +1772,24 @@ function href(path, ...args) {
|
|
|
1766
1772
|
var _reactdom = require('react-dom'); var ReactDOM = _interopRequireWildcard(_reactdom);
|
|
1767
1773
|
|
|
1768
1774
|
// lib/dom/ssr/hydration.tsx
|
|
1769
|
-
function getHydrationData(
|
|
1775
|
+
function getHydrationData({
|
|
1776
|
+
state,
|
|
1777
|
+
routes,
|
|
1778
|
+
getRouteInfo,
|
|
1779
|
+
location: location2,
|
|
1780
|
+
basename,
|
|
1781
|
+
isSpaMode
|
|
1782
|
+
}) {
|
|
1770
1783
|
let hydrationData = {
|
|
1771
1784
|
...state,
|
|
1772
1785
|
loaderData: { ...state.loaderData }
|
|
1773
1786
|
};
|
|
1774
|
-
let initialMatches =
|
|
1787
|
+
let initialMatches = _chunkECJT65VEjs.matchRoutes.call(void 0, routes, location2, basename);
|
|
1775
1788
|
if (initialMatches) {
|
|
1776
1789
|
for (let match of initialMatches) {
|
|
1777
1790
|
let routeId = match.route.id;
|
|
1778
1791
|
let routeInfo = getRouteInfo(routeId);
|
|
1779
|
-
if (
|
|
1792
|
+
if (_chunkECJT65VEjs.shouldHydrateRouteLoader.call(void 0,
|
|
1780
1793
|
routeId,
|
|
1781
1794
|
routeInfo.clientLoader,
|
|
1782
1795
|
routeInfo.hasLoader,
|
|
@@ -1854,7 +1867,7 @@ function RSCDefaultRootErrorBoundaryImpl({
|
|
|
1854
1867
|
}
|
|
1855
1868
|
}
|
|
1856
1869
|
);
|
|
1857
|
-
if (
|
|
1870
|
+
if (_chunkECJT65VEjs.isRouteErrorResponse.call(void 0, error)) {
|
|
1858
1871
|
return /* @__PURE__ */ React.default.createElement(
|
|
1859
1872
|
ErrorWrapper,
|
|
1860
1873
|
{
|
|
@@ -1862,7 +1875,7 @@ function RSCDefaultRootErrorBoundaryImpl({
|
|
|
1862
1875
|
title: "Unhandled Thrown Response!"
|
|
1863
1876
|
},
|
|
1864
1877
|
/* @__PURE__ */ React.default.createElement("h1", { style: { fontSize: "24px" } }, error.status, " ", error.statusText),
|
|
1865
|
-
|
|
1878
|
+
_chunkECJT65VEjs.ENABLE_DEV_WARNINGS ? heyDeveloper : null
|
|
1866
1879
|
);
|
|
1867
1880
|
}
|
|
1868
1881
|
let errorInstance;
|
|
@@ -1888,7 +1901,7 @@ function RSCDefaultRootErrorBoundaryImpl({
|
|
|
1888
1901
|
function RSCDefaultRootErrorBoundary({
|
|
1889
1902
|
hasRootLayout
|
|
1890
1903
|
}) {
|
|
1891
|
-
let error =
|
|
1904
|
+
let error = _chunkECJT65VEjs.useRouteError.call(void 0, );
|
|
1892
1905
|
if (hasRootLayout === void 0) {
|
|
1893
1906
|
throw new Error("Missing 'hasRootLayout' prop");
|
|
1894
1907
|
}
|
|
@@ -2018,7 +2031,7 @@ function createCallServer({
|
|
|
2018
2031
|
function createRouterFromPayload({
|
|
2019
2032
|
fetchImplementation,
|
|
2020
2033
|
createFromReadableStream,
|
|
2021
|
-
|
|
2034
|
+
getContext,
|
|
2022
2035
|
payload
|
|
2023
2036
|
}) {
|
|
2024
2037
|
const globalVar = window;
|
|
@@ -2032,7 +2045,7 @@ function createRouterFromPayload({
|
|
|
2032
2045
|
populateRSCRouteModules(globalVar.__reactRouterRouteModules, payload.matches);
|
|
2033
2046
|
let patches = /* @__PURE__ */ new Map();
|
|
2034
2047
|
_optionalChain([payload, 'access', _20 => _20.patches, 'optionalAccess', _21 => _21.forEach, 'call', _22 => _22((patch) => {
|
|
2035
|
-
|
|
2048
|
+
_chunkECJT65VEjs.invariant.call(void 0, patch.parentId, "Invalid patch parentId");
|
|
2036
2049
|
if (!patches.has(patch.parentId)) {
|
|
2037
2050
|
patches.set(patch.parentId, []);
|
|
2038
2051
|
}
|
|
@@ -2054,31 +2067,31 @@ function createRouterFromPayload({
|
|
|
2054
2067
|
}
|
|
2055
2068
|
return [route];
|
|
2056
2069
|
}, []);
|
|
2057
|
-
globalVar.__reactRouterDataRouter =
|
|
2070
|
+
globalVar.__reactRouterDataRouter = _chunkECJT65VEjs.createRouter.call(void 0, {
|
|
2058
2071
|
routes,
|
|
2059
|
-
|
|
2072
|
+
getContext,
|
|
2060
2073
|
basename: payload.basename,
|
|
2061
|
-
history:
|
|
2062
|
-
hydrationData: getHydrationData(
|
|
2063
|
-
{
|
|
2074
|
+
history: _chunkECJT65VEjs.createBrowserHistory.call(void 0, ),
|
|
2075
|
+
hydrationData: getHydrationData({
|
|
2076
|
+
state: {
|
|
2064
2077
|
loaderData: payload.loaderData,
|
|
2065
2078
|
actionData: payload.actionData,
|
|
2066
2079
|
errors: payload.errors
|
|
2067
2080
|
},
|
|
2068
2081
|
routes,
|
|
2069
|
-
(routeId) => {
|
|
2082
|
+
getRouteInfo: (routeId) => {
|
|
2070
2083
|
let match = payload.matches.find((m) => m.id === routeId);
|
|
2071
|
-
|
|
2084
|
+
_chunkECJT65VEjs.invariant.call(void 0, match, "Route not found in payload");
|
|
2072
2085
|
return {
|
|
2073
2086
|
clientLoader: match.clientLoader,
|
|
2074
2087
|
hasLoader: match.hasLoader,
|
|
2075
2088
|
hasHydrateFallback: match.hydrateFallbackElement != null
|
|
2076
2089
|
};
|
|
2077
2090
|
},
|
|
2078
|
-
payload.location,
|
|
2079
|
-
|
|
2080
|
-
false
|
|
2081
|
-
),
|
|
2091
|
+
location: payload.location,
|
|
2092
|
+
basename: payload.basename,
|
|
2093
|
+
isSpaMode: false
|
|
2094
|
+
}),
|
|
2082
2095
|
async patchRoutesOnNavigation({ path, signal }) {
|
|
2083
2096
|
if (discoveredPaths.has(path)) {
|
|
2084
2097
|
return;
|
|
@@ -2166,9 +2179,9 @@ function createRouterFromPayload({
|
|
|
2166
2179
|
routeModules: globalVar.__reactRouterRouteModules
|
|
2167
2180
|
};
|
|
2168
2181
|
}
|
|
2169
|
-
var renderedRoutesContext =
|
|
2182
|
+
var renderedRoutesContext = _chunkECJT65VEjs.createContext.call(void 0, );
|
|
2170
2183
|
function getRSCSingleFetchDataStrategy(getRouter, ssr, basename, createFromReadableStream, fetchImplementation) {
|
|
2171
|
-
let dataStrategy =
|
|
2184
|
+
let dataStrategy = _chunkECJT65VEjs.getSingleFetchDataStrategyImpl.call(void 0,
|
|
2172
2185
|
getRouter,
|
|
2173
2186
|
(match) => {
|
|
2174
2187
|
let M = match;
|
|
@@ -2193,7 +2206,7 @@ function getRSCSingleFetchDataStrategy(getRouter, ssr, basename, createFromReada
|
|
|
2193
2206
|
return M.route.hasComponent && !M.route.element;
|
|
2194
2207
|
}
|
|
2195
2208
|
);
|
|
2196
|
-
return async (args) => args.
|
|
2209
|
+
return async (args) => args.runClientMiddleware(async () => {
|
|
2197
2210
|
let context = args.context;
|
|
2198
2211
|
context.set(renderedRoutesContext, []);
|
|
2199
2212
|
let results = await dataStrategy(args);
|
|
@@ -2222,20 +2235,20 @@ function getRSCSingleFetchDataStrategy(getRouter, ssr, basename, createFromReada
|
|
|
2222
2235
|
function getFetchAndDecodeViaRSC(createFromReadableStream, fetchImplementation) {
|
|
2223
2236
|
return async (args, basename, targetRoutes) => {
|
|
2224
2237
|
let { request, context } = args;
|
|
2225
|
-
let url =
|
|
2238
|
+
let url = _chunkECJT65VEjs.singleFetchUrl.call(void 0, request.url, basename, "rsc");
|
|
2226
2239
|
if (request.method === "GET") {
|
|
2227
|
-
url =
|
|
2240
|
+
url = _chunkECJT65VEjs.stripIndexParam.call(void 0, url);
|
|
2228
2241
|
if (targetRoutes) {
|
|
2229
2242
|
url.searchParams.set("_routes", targetRoutes.join(","));
|
|
2230
2243
|
}
|
|
2231
2244
|
}
|
|
2232
2245
|
let res = await fetchImplementation(
|
|
2233
|
-
new Request(url, await
|
|
2246
|
+
new Request(url, await _chunkECJT65VEjs.createRequestInit.call(void 0, request))
|
|
2234
2247
|
);
|
|
2235
2248
|
if (res.status === 404 && !res.headers.has("X-Remix-Response")) {
|
|
2236
|
-
throw new (0,
|
|
2249
|
+
throw new (0, _chunkECJT65VEjs.ErrorResponseImpl)(404, "Not Found", true);
|
|
2237
2250
|
}
|
|
2238
|
-
|
|
2251
|
+
_chunkECJT65VEjs.invariant.call(void 0, res.body, "No response body to decode");
|
|
2239
2252
|
try {
|
|
2240
2253
|
const payload = await createFromReadableStream(res.body, {
|
|
2241
2254
|
temporaryReferences: void 0
|
|
@@ -2259,7 +2272,7 @@ function getFetchAndDecodeViaRSC(createFromReadableStream, fetchImplementation)
|
|
|
2259
2272
|
}
|
|
2260
2273
|
context.get(renderedRoutesContext).push(...payload.matches);
|
|
2261
2274
|
let results = { routes: {} };
|
|
2262
|
-
const dataKey =
|
|
2275
|
+
const dataKey = _chunkECJT65VEjs.isMutationMethod.call(void 0, request.method) ? "actionData" : "loaderData";
|
|
2263
2276
|
for (let [routeId, data2] of Object.entries(payload[dataKey] || {})) {
|
|
2264
2277
|
results.routes[routeId] = { data: data2 };
|
|
2265
2278
|
}
|
|
@@ -2279,25 +2292,20 @@ function RSCHydratedRouter({
|
|
|
2279
2292
|
fetch: fetchImplementation = fetch,
|
|
2280
2293
|
payload,
|
|
2281
2294
|
routeDiscovery = "eager",
|
|
2282
|
-
|
|
2295
|
+
getContext
|
|
2283
2296
|
}) {
|
|
2284
2297
|
if (payload.type !== "render") throw new Error("Invalid payload type");
|
|
2285
2298
|
let { router, routeModules } = React4.useMemo(
|
|
2286
2299
|
() => createRouterFromPayload({
|
|
2287
2300
|
payload,
|
|
2288
2301
|
fetchImplementation,
|
|
2289
|
-
|
|
2302
|
+
getContext,
|
|
2290
2303
|
createFromReadableStream
|
|
2291
2304
|
}),
|
|
2292
|
-
[
|
|
2293
|
-
createFromReadableStream,
|
|
2294
|
-
payload,
|
|
2295
|
-
fetchImplementation,
|
|
2296
|
-
unstable_getContext
|
|
2297
|
-
]
|
|
2305
|
+
[createFromReadableStream, payload, fetchImplementation, getContext]
|
|
2298
2306
|
);
|
|
2299
2307
|
React4.useEffect(() => {
|
|
2300
|
-
|
|
2308
|
+
_chunkECJT65VEjs.setIsHydrated.call(void 0, );
|
|
2301
2309
|
}, []);
|
|
2302
2310
|
React4.useLayoutEffect(() => {
|
|
2303
2311
|
const globalVar = window;
|
|
@@ -2366,7 +2374,7 @@ function RSCHydratedRouter({
|
|
|
2366
2374
|
future: {
|
|
2367
2375
|
// These flags have no runtime impact so can always be false. If we add
|
|
2368
2376
|
// flags that drive runtime behavior they'll need to be proxied through.
|
|
2369
|
-
|
|
2377
|
+
v8_middleware: false,
|
|
2370
2378
|
unstable_subResourceIntegrity: false
|
|
2371
2379
|
},
|
|
2372
2380
|
isSpaMode: false,
|
|
@@ -2384,7 +2392,7 @@ function RSCHydratedRouter({
|
|
|
2384
2392
|
routeDiscovery: { mode: "lazy", manifestPath: "/__manifest" },
|
|
2385
2393
|
routeModules
|
|
2386
2394
|
};
|
|
2387
|
-
return /* @__PURE__ */ React4.createElement(
|
|
2395
|
+
return /* @__PURE__ */ React4.createElement(_chunkECJT65VEjs.RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React4.createElement(RSCRouterGlobalErrorBoundary, { location: location2 }, /* @__PURE__ */ React4.createElement(_chunkECJT65VEjs.FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React4.createElement(_chunk4J2JOVAIjs.RouterProvider, { router, flushSync: ReactDOM.flushSync }))));
|
|
2388
2396
|
}
|
|
2389
2397
|
function createRouteFromServerManifest(match, payload) {
|
|
2390
2398
|
let hasInitialData = payload && match.id in payload.loaderData;
|
|
@@ -2395,7 +2403,7 @@ function createRouteFromServerManifest(match, payload) {
|
|
|
2395
2403
|
// the server loader flow regardless of whether the client loader calls
|
|
2396
2404
|
// `serverLoader` or not, otherwise we'll have nothing to render.
|
|
2397
2405
|
match.hasComponent && !match.element;
|
|
2398
|
-
|
|
2406
|
+
_chunkECJT65VEjs.invariant.call(void 0, window.__reactRouterRouteModules);
|
|
2399
2407
|
populateRSCRouteModules(window.__reactRouterRouteModules, match);
|
|
2400
2408
|
let dataRoute = {
|
|
2401
2409
|
id: match.id,
|
|
@@ -2446,7 +2454,7 @@ function createRouteFromServerManifest(match, payload) {
|
|
|
2446
2454
|
return await callSingleFetch(singleFetch);
|
|
2447
2455
|
}
|
|
2448
2456
|
}) : match.hasAction ? (_, singleFetch) => callSingleFetch(singleFetch) : () => {
|
|
2449
|
-
throw
|
|
2457
|
+
throw _chunkECJT65VEjs.noActionDefinedError.call(void 0, "action", match.id);
|
|
2450
2458
|
},
|
|
2451
2459
|
path: match.path,
|
|
2452
2460
|
shouldRevalidate: match.shouldRevalidate,
|
|
@@ -2459,7 +2467,7 @@ function createRouteFromServerManifest(match, payload) {
|
|
|
2459
2467
|
hasShouldRevalidate: match.shouldRevalidate != null
|
|
2460
2468
|
};
|
|
2461
2469
|
if (typeof dataRoute.loader === "function") {
|
|
2462
|
-
dataRoute.loader.hydrate =
|
|
2470
|
+
dataRoute.loader.hydrate = _chunkECJT65VEjs.shouldHydrateRouteLoader.call(void 0,
|
|
2463
2471
|
match.id,
|
|
2464
2472
|
match.clientLoader,
|
|
2465
2473
|
match.hasLoader,
|
|
@@ -2469,7 +2477,7 @@ function createRouteFromServerManifest(match, payload) {
|
|
|
2469
2477
|
return dataRoute;
|
|
2470
2478
|
}
|
|
2471
2479
|
function callSingleFetch(singleFetch) {
|
|
2472
|
-
|
|
2480
|
+
_chunkECJT65VEjs.invariant.call(void 0, typeof singleFetch === "function", "Invalid singleFetch parameter");
|
|
2473
2481
|
return singleFetch();
|
|
2474
2482
|
}
|
|
2475
2483
|
function preventInvalidServerHandlerCall(type, routeId, hasHandler) {
|
|
@@ -2477,7 +2485,7 @@ function preventInvalidServerHandlerCall(type, routeId, hasHandler) {
|
|
|
2477
2485
|
let fn = type === "action" ? "serverAction()" : "serverLoader()";
|
|
2478
2486
|
let msg = `You are trying to call ${fn} on a route that does not have a server ${type} (routeId: "${routeId}")`;
|
|
2479
2487
|
console.error(msg);
|
|
2480
|
-
throw new (0,
|
|
2488
|
+
throw new (0, _chunkECJT65VEjs.ErrorResponseImpl)(400, "Bad Request", new Error(msg), true);
|
|
2481
2489
|
}
|
|
2482
2490
|
}
|
|
2483
2491
|
var nextPaths = /* @__PURE__ */ new Set();
|
|
@@ -2659,20 +2667,49 @@ async function routeRSCServerRequest({
|
|
|
2659
2667
|
if (!serverResponse.body) {
|
|
2660
2668
|
throw new Error("Missing body in server response");
|
|
2661
2669
|
}
|
|
2670
|
+
const detectRedirectResponse = serverResponse.clone();
|
|
2662
2671
|
let serverResponseB = null;
|
|
2663
2672
|
if (hydrate) {
|
|
2664
2673
|
serverResponseB = serverResponse.clone();
|
|
2665
2674
|
}
|
|
2666
2675
|
const body = serverResponse.body;
|
|
2667
|
-
let
|
|
2676
|
+
let buffer;
|
|
2677
|
+
let streamControllers = [];
|
|
2678
|
+
const createStream = () => {
|
|
2679
|
+
if (!buffer) {
|
|
2680
|
+
buffer = [];
|
|
2681
|
+
return body.pipeThrough(
|
|
2682
|
+
new TransformStream({
|
|
2683
|
+
transform(chunk, controller) {
|
|
2684
|
+
buffer.push(chunk);
|
|
2685
|
+
controller.enqueue(chunk);
|
|
2686
|
+
streamControllers.forEach((c) => c.enqueue(chunk));
|
|
2687
|
+
},
|
|
2688
|
+
flush() {
|
|
2689
|
+
streamControllers.forEach((c) => c.close());
|
|
2690
|
+
streamControllers = [];
|
|
2691
|
+
}
|
|
2692
|
+
})
|
|
2693
|
+
);
|
|
2694
|
+
}
|
|
2695
|
+
return new ReadableStream({
|
|
2696
|
+
start(controller) {
|
|
2697
|
+
buffer.forEach((chunk) => controller.enqueue(chunk));
|
|
2698
|
+
streamControllers.push(controller);
|
|
2699
|
+
}
|
|
2700
|
+
});
|
|
2701
|
+
};
|
|
2668
2702
|
const getPayload = async () => {
|
|
2669
|
-
|
|
2670
|
-
payloadPromise = createFromReadableStream(body);
|
|
2671
|
-
return payloadPromise;
|
|
2703
|
+
return createFromReadableStream(createStream());
|
|
2672
2704
|
};
|
|
2673
2705
|
try {
|
|
2674
|
-
|
|
2675
|
-
|
|
2706
|
+
if (!detectRedirectResponse.body) {
|
|
2707
|
+
throw new Error("Failed to clone server response");
|
|
2708
|
+
}
|
|
2709
|
+
const payload = await createFromReadableStream(
|
|
2710
|
+
detectRedirectResponse.body
|
|
2711
|
+
);
|
|
2712
|
+
if (serverResponse.status === _chunkECJT65VEjs.SINGLE_FETCH_REDIRECT_STATUS && payload.type === "redirect") {
|
|
2676
2713
|
const headers2 = new Headers(serverResponse.headers);
|
|
2677
2714
|
headers2.delete("Content-Encoding");
|
|
2678
2715
|
headers2.delete("Content-Length");
|
|
@@ -2722,7 +2759,7 @@ function RSCStaticRouter({ getPayload }) {
|
|
|
2722
2759
|
if (payload.type !== "render") return null;
|
|
2723
2760
|
let patchedLoaderData = { ...payload.loaderData };
|
|
2724
2761
|
for (const match of payload.matches) {
|
|
2725
|
-
if (
|
|
2762
|
+
if (_chunkECJT65VEjs.shouldHydrateRouteLoader.call(void 0,
|
|
2726
2763
|
match.id,
|
|
2727
2764
|
match.clientLoader,
|
|
2728
2765
|
match.hasLoader,
|
|
@@ -2756,7 +2793,7 @@ function RSCStaticRouter({ getPayload }) {
|
|
|
2756
2793
|
}
|
|
2757
2794
|
}))
|
|
2758
2795
|
};
|
|
2759
|
-
const router =
|
|
2796
|
+
const router = _chunk4J2JOVAIjs.createStaticRouter.call(void 0,
|
|
2760
2797
|
payload.matches.reduceRight((previous, match) => {
|
|
2761
2798
|
const route = {
|
|
2762
2799
|
id: match.id,
|
|
@@ -2782,7 +2819,7 @@ function RSCStaticRouter({ getPayload }) {
|
|
|
2782
2819
|
future: {
|
|
2783
2820
|
// These flags have no runtime impact so can always be false. If we add
|
|
2784
2821
|
// flags that drive runtime behavior they'll need to be proxied through.
|
|
2785
|
-
|
|
2822
|
+
v8_middleware: false,
|
|
2786
2823
|
unstable_subResourceIntegrity: false
|
|
2787
2824
|
},
|
|
2788
2825
|
isSpaMode: false,
|
|
@@ -2800,8 +2837,8 @@ function RSCStaticRouter({ getPayload }) {
|
|
|
2800
2837
|
routeDiscovery: { mode: "lazy", manifestPath: "/__manifest" },
|
|
2801
2838
|
routeModules: createRSCRouteModules(payload)
|
|
2802
2839
|
};
|
|
2803
|
-
return /* @__PURE__ */ React5.createElement(
|
|
2804
|
-
|
|
2840
|
+
return /* @__PURE__ */ React5.createElement(_chunkECJT65VEjs.RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React5.createElement(RSCRouterGlobalErrorBoundary, { location: payload.location }, /* @__PURE__ */ React5.createElement(_chunkECJT65VEjs.FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React5.createElement(
|
|
2841
|
+
_chunk4J2JOVAIjs.StaticRouterProvider,
|
|
2805
2842
|
{
|
|
2806
2843
|
context,
|
|
2807
2844
|
router,
|
|
@@ -2859,7 +2896,7 @@ function deserializeErrors(errors) {
|
|
|
2859
2896
|
let serialized = {};
|
|
2860
2897
|
for (let [key, val] of entries) {
|
|
2861
2898
|
if (val && val.__type === "RouteErrorResponse") {
|
|
2862
|
-
serialized[key] = new (0,
|
|
2899
|
+
serialized[key] = new (0, _chunkECJT65VEjs.ErrorResponseImpl)(
|
|
2863
2900
|
val.status,
|
|
2864
2901
|
val.statusText,
|
|
2865
2902
|
val.data,
|
|
@@ -3017,4 +3054,5 @@ function deserializeErrors(errors) {
|
|
|
3017
3054
|
|
|
3018
3055
|
|
|
3019
3056
|
|
|
3020
|
-
|
|
3057
|
+
|
|
3058
|
+
exports.Await = _chunk4J2JOVAIjs.Await; exports.BrowserRouter = _chunk4J2JOVAIjs.BrowserRouter; exports.Form = _chunk4J2JOVAIjs.Form; exports.HashRouter = _chunk4J2JOVAIjs.HashRouter; exports.IDLE_BLOCKER = _chunkECJT65VEjs.IDLE_BLOCKER; exports.IDLE_FETCHER = _chunkECJT65VEjs.IDLE_FETCHER; exports.IDLE_NAVIGATION = _chunkECJT65VEjs.IDLE_NAVIGATION; exports.Link = _chunk4J2JOVAIjs.Link; exports.Links = _chunkECJT65VEjs.Links; exports.MemoryRouter = _chunk4J2JOVAIjs.MemoryRouter; exports.Meta = _chunkECJT65VEjs.Meta; exports.NavLink = _chunk4J2JOVAIjs.NavLink; exports.Navigate = _chunk4J2JOVAIjs.Navigate; exports.NavigationType = _chunkECJT65VEjs.Action; exports.Outlet = _chunk4J2JOVAIjs.Outlet; exports.PrefetchPageLinks = _chunkECJT65VEjs.PrefetchPageLinks; exports.Route = _chunk4J2JOVAIjs.Route; exports.Router = _chunk4J2JOVAIjs.Router; exports.RouterContextProvider = _chunkECJT65VEjs.RouterContextProvider; exports.RouterProvider = _chunk4J2JOVAIjs.RouterProvider; exports.Routes = _chunk4J2JOVAIjs.Routes; exports.Scripts = _chunkECJT65VEjs.Scripts; exports.ScrollRestoration = _chunk4J2JOVAIjs.ScrollRestoration; exports.ServerRouter = ServerRouter; exports.StaticRouter = _chunk4J2JOVAIjs.StaticRouter; exports.StaticRouterProvider = _chunk4J2JOVAIjs.StaticRouterProvider; exports.UNSAFE_AwaitContextProvider = _chunkECJT65VEjs.AwaitContextProvider; exports.UNSAFE_DataRouterContext = _chunkECJT65VEjs.DataRouterContext; exports.UNSAFE_DataRouterStateContext = _chunkECJT65VEjs.DataRouterStateContext; exports.UNSAFE_ErrorResponseImpl = _chunkECJT65VEjs.ErrorResponseImpl; exports.UNSAFE_FetchersContext = _chunkECJT65VEjs.FetchersContext; exports.UNSAFE_FrameworkContext = _chunkECJT65VEjs.FrameworkContext; exports.UNSAFE_LocationContext = _chunkECJT65VEjs.LocationContext; exports.UNSAFE_NavigationContext = _chunkECJT65VEjs.NavigationContext; exports.UNSAFE_RSCDefaultRootErrorBoundary = RSCDefaultRootErrorBoundary; exports.UNSAFE_RemixErrorBoundary = _chunkECJT65VEjs.RemixErrorBoundary; exports.UNSAFE_RouteContext = _chunkECJT65VEjs.RouteContext; exports.UNSAFE_ServerMode = ServerMode; exports.UNSAFE_SingleFetchRedirectSymbol = _chunkECJT65VEjs.SingleFetchRedirectSymbol; exports.UNSAFE_ViewTransitionContext = _chunkECJT65VEjs.ViewTransitionContext; exports.UNSAFE_WithComponentProps = _chunk4J2JOVAIjs.WithComponentProps; exports.UNSAFE_WithErrorBoundaryProps = _chunk4J2JOVAIjs.WithErrorBoundaryProps; exports.UNSAFE_WithHydrateFallbackProps = _chunk4J2JOVAIjs.WithHydrateFallbackProps; exports.UNSAFE_createBrowserHistory = _chunkECJT65VEjs.createBrowserHistory; exports.UNSAFE_createClientRoutes = _chunkECJT65VEjs.createClientRoutes; exports.UNSAFE_createClientRoutesWithHMRRevalidationOptOut = _chunkECJT65VEjs.createClientRoutesWithHMRRevalidationOptOut; exports.UNSAFE_createRouter = _chunkECJT65VEjs.createRouter; exports.UNSAFE_decodeViaTurboStream = _chunkECJT65VEjs.decodeViaTurboStream; exports.UNSAFE_deserializeErrors = deserializeErrors; exports.UNSAFE_getHydrationData = getHydrationData; exports.UNSAFE_getPatchRoutesOnNavigationFunction = _chunkECJT65VEjs.getPatchRoutesOnNavigationFunction; exports.UNSAFE_getTurboStreamSingleFetchDataStrategy = _chunkECJT65VEjs.getTurboStreamSingleFetchDataStrategy; exports.UNSAFE_hydrationRouteProperties = _chunk4J2JOVAIjs.hydrationRouteProperties; exports.UNSAFE_invariant = _chunkECJT65VEjs.invariant; exports.UNSAFE_mapRouteProperties = _chunk4J2JOVAIjs.mapRouteProperties; exports.UNSAFE_shouldHydrateRouteLoader = _chunkECJT65VEjs.shouldHydrateRouteLoader; exports.UNSAFE_useFogOFWarDiscovery = _chunkECJT65VEjs.useFogOFWarDiscovery; exports.UNSAFE_useScrollRestoration = _chunk4J2JOVAIjs.useScrollRestoration; exports.UNSAFE_withComponentProps = _chunk4J2JOVAIjs.withComponentProps; exports.UNSAFE_withErrorBoundaryProps = _chunk4J2JOVAIjs.withErrorBoundaryProps; exports.UNSAFE_withHydrateFallbackProps = _chunk4J2JOVAIjs.withHydrateFallbackProps; exports.createBrowserRouter = _chunk4J2JOVAIjs.createBrowserRouter; exports.createContext = _chunkECJT65VEjs.createContext; exports.createCookie = createCookie; exports.createCookieSessionStorage = createCookieSessionStorage; exports.createHashRouter = _chunk4J2JOVAIjs.createHashRouter; exports.createMemoryRouter = _chunk4J2JOVAIjs.createMemoryRouter; exports.createMemorySessionStorage = createMemorySessionStorage; exports.createPath = _chunkECJT65VEjs.createPath; exports.createRequestHandler = createRequestHandler; exports.createRoutesFromChildren = _chunk4J2JOVAIjs.createRoutesFromChildren; exports.createRoutesFromElements = _chunk4J2JOVAIjs.createRoutesFromElements; exports.createRoutesStub = createRoutesStub; exports.createSearchParams = _chunk4J2JOVAIjs.createSearchParams; exports.createSession = createSession; exports.createSessionStorage = createSessionStorage; exports.createStaticHandler = _chunk4J2JOVAIjs.createStaticHandler; exports.createStaticRouter = _chunk4J2JOVAIjs.createStaticRouter; exports.data = _chunkECJT65VEjs.data; exports.generatePath = _chunkECJT65VEjs.generatePath; exports.href = href; exports.isCookie = isCookie; exports.isRouteErrorResponse = _chunkECJT65VEjs.isRouteErrorResponse; exports.isSession = isSession; exports.matchPath = _chunkECJT65VEjs.matchPath; exports.matchRoutes = _chunkECJT65VEjs.matchRoutes; exports.parsePath = _chunkECJT65VEjs.parsePath; exports.redirect = _chunkECJT65VEjs.redirect; exports.redirectDocument = _chunkECJT65VEjs.redirectDocument; exports.renderMatches = _chunk4J2JOVAIjs.renderMatches; exports.replace = _chunkECJT65VEjs.replace; exports.resolvePath = _chunkECJT65VEjs.resolvePath; exports.unstable_HistoryRouter = _chunk4J2JOVAIjs.HistoryRouter; exports.unstable_RSCHydratedRouter = RSCHydratedRouter; exports.unstable_RSCStaticRouter = RSCStaticRouter; exports.unstable_createCallServer = createCallServer; exports.unstable_getRSCStream = getRSCStream; exports.unstable_routeRSCServerRequest = routeRSCServerRequest; exports.unstable_setDevServerHooks = setDevServerHooks; exports.unstable_usePrompt = _chunk4J2JOVAIjs.usePrompt; exports.useActionData = _chunkECJT65VEjs.useActionData; exports.useAsyncError = _chunkECJT65VEjs.useAsyncError; exports.useAsyncValue = _chunkECJT65VEjs.useAsyncValue; exports.useBeforeUnload = _chunk4J2JOVAIjs.useBeforeUnload; exports.useBlocker = _chunkECJT65VEjs.useBlocker; exports.useFetcher = _chunk4J2JOVAIjs.useFetcher; exports.useFetchers = _chunk4J2JOVAIjs.useFetchers; exports.useFormAction = _chunk4J2JOVAIjs.useFormAction; exports.useHref = _chunkECJT65VEjs.useHref; exports.useInRouterContext = _chunkECJT65VEjs.useInRouterContext; exports.useLinkClickHandler = _chunk4J2JOVAIjs.useLinkClickHandler; exports.useLoaderData = _chunkECJT65VEjs.useLoaderData; exports.useLocation = _chunkECJT65VEjs.useLocation; exports.useMatch = _chunkECJT65VEjs.useMatch; exports.useMatches = _chunkECJT65VEjs.useMatches; exports.useNavigate = _chunkECJT65VEjs.useNavigate; exports.useNavigation = _chunkECJT65VEjs.useNavigation; exports.useNavigationType = _chunkECJT65VEjs.useNavigationType; exports.useOutlet = _chunkECJT65VEjs.useOutlet; exports.useOutletContext = _chunkECJT65VEjs.useOutletContext; exports.useParams = _chunkECJT65VEjs.useParams; exports.useResolvedPath = _chunkECJT65VEjs.useResolvedPath; exports.useRevalidator = _chunkECJT65VEjs.useRevalidator; exports.useRouteError = _chunkECJT65VEjs.useRouteError; exports.useRouteLoaderData = _chunkECJT65VEjs.useRouteLoaderData; exports.useRoutes = _chunkECJT65VEjs.useRoutes; exports.useSearchParams = _chunk4J2JOVAIjs.useSearchParams; exports.useSubmit = _chunk4J2JOVAIjs.useSubmit; exports.useViewTransitionState = _chunk4J2JOVAIjs.useViewTransitionState;
|