react-router 8.3.1 → 8.4.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 +33 -0
- package/dist/development/dom-export.js +1 -1
- package/dist/development/index-react-server-client.js +1 -1
- package/dist/development/index-react-server.d.ts +42 -48
- package/dist/development/index-react-server.js +75 -31
- package/dist/development/index.d.ts +2 -2
- package/dist/development/index.js +3 -3
- package/dist/development/lib/actions.js +1 -1
- package/dist/development/lib/components.js +45 -8
- package/dist/development/lib/context.d.ts +13 -5
- package/dist/development/lib/context.js +11 -3
- package/dist/development/lib/dom/dom.js +1 -1
- package/dist/development/lib/dom/lib.js +14 -32
- package/dist/development/lib/dom/server.d.ts +6 -1
- package/dist/development/lib/dom/server.js +40 -14
- package/dist/development/lib/dom/ssr/components.js +15 -23
- package/dist/development/lib/dom/ssr/data.js +1 -1
- package/dist/development/lib/dom/ssr/entry.d.ts +4 -0
- package/dist/development/lib/dom/ssr/errorBoundaries.js +1 -1
- package/dist/development/lib/dom/ssr/fallback.js +1 -1
- package/dist/development/lib/dom/ssr/fog-of-war.js +33 -12
- package/dist/development/lib/dom/ssr/hydration.d.ts +3 -1
- package/dist/development/lib/dom/ssr/hydration.js +6 -4
- package/dist/development/lib/dom/ssr/invariant.js +1 -1
- package/dist/development/lib/dom/ssr/links.js +1 -1
- package/dist/development/lib/dom/ssr/markup.js +5 -2
- package/dist/development/lib/dom/ssr/routeModules.js +1 -1
- package/dist/development/lib/dom/ssr/routes-test-stub.js +1 -1
- package/dist/development/lib/dom/ssr/routes.js +1 -1
- package/dist/development/lib/dom/ssr/server.js +2 -2
- package/dist/development/lib/dom/ssr/single-fetch.js +10 -19
- package/dist/development/lib/dom-export/dom-router-provider.js +1 -1
- package/dist/development/lib/dom-export/hydrated-router.js +2 -1
- package/dist/development/lib/errors.js +1 -1
- package/dist/development/lib/hooks.js +49 -44
- package/dist/development/lib/href.js +1 -1
- package/dist/development/lib/router/history.js +1 -1
- package/dist/development/lib/router/instrumentation.js +1 -1
- package/dist/development/lib/router/matcher-route-pattern.d.ts +2 -0
- package/dist/development/lib/router/matcher-route-pattern.js +216 -0
- package/dist/development/lib/router/matcher-route-pattern.preload.d.ts +20 -0
- package/dist/development/lib/router/matcher-route-pattern.preload.js +36 -0
- package/dist/development/lib/router/matcher.d.ts +2 -0
- package/dist/development/lib/router/matcher.js +29 -0
- package/dist/development/lib/router/navigation.js +1 -1
- package/dist/development/lib/router/router.d.ts +13 -7
- package/dist/development/lib/router/router.js +81 -66
- package/dist/development/lib/router/url.js +1 -1
- package/dist/development/lib/router/utils.d.ts +6 -1
- package/dist/development/lib/router/utils.js +6 -4
- package/dist/development/lib/rsc/browser.js +2 -1
- package/dist/development/lib/rsc/errorBoundaries.js +1 -1
- package/dist/development/lib/rsc/html-stream/browser.js +1 -1
- package/dist/development/lib/rsc/html-stream/server.js +2 -4
- package/dist/development/lib/rsc/route-modules.js +1 -1
- package/dist/development/lib/rsc/server.rsc.d.ts +7 -0
- package/dist/development/lib/rsc/server.ssr.js +25 -21
- package/dist/development/lib/server-runtime/cookies.js +1 -1
- package/dist/development/lib/server-runtime/crypto.js +1 -1
- package/dist/development/lib/server-runtime/data.js +1 -1
- package/dist/development/lib/server-runtime/dev.js +1 -1
- package/dist/development/lib/server-runtime/entry.js +1 -1
- package/dist/development/lib/server-runtime/errors.js +1 -1
- package/dist/development/lib/server-runtime/headers.js +1 -1
- package/dist/development/lib/server-runtime/invariant.js +1 -1
- package/dist/development/lib/server-runtime/mode.js +1 -1
- package/dist/development/lib/server-runtime/routeMatching.js +3 -4
- package/dist/development/lib/server-runtime/routes.js +1 -1
- package/dist/development/lib/server-runtime/server.js +7 -6
- package/dist/development/lib/server-runtime/serverHandoff.js +1 -1
- package/dist/development/lib/server-runtime/sessions/cookieStorage.js +1 -1
- package/dist/development/lib/server-runtime/sessions/memoryStorage.js +1 -1
- package/dist/development/lib/server-runtime/sessions.js +1 -1
- package/dist/development/lib/server-runtime/single-fetch.js +1 -1
- package/dist/development/lib/server-runtime/urls.js +1 -1
- package/dist/development/lib/server-runtime/warnings.js +1 -1
- package/dist/development/lib/types/internal.js +1 -1
- package/dist/development/route-pattern.d.ts +3 -0
- package/dist/development/route-pattern.js +12 -0
- package/dist/development/vendor/turbo-stream-v2/flatten.js +1 -1
- package/dist/development/vendor/turbo-stream-v2/turbo-stream.js +1 -1
- package/dist/development/vendor/turbo-stream-v2/unflatten.js +1 -1
- package/dist/development/vendor/turbo-stream-v2/utils.js +1 -1
- package/dist/production/dom-export.js +1 -1
- package/dist/production/index-react-server-client.js +1 -1
- package/dist/production/index-react-server.d.ts +42 -48
- package/dist/production/index-react-server.js +75 -31
- package/dist/production/index.d.ts +2 -2
- package/dist/production/index.js +3 -3
- package/dist/production/lib/actions.js +1 -1
- package/dist/production/lib/components.js +45 -8
- package/dist/production/lib/context.d.ts +13 -5
- package/dist/production/lib/context.js +11 -3
- package/dist/production/lib/dom/dom.js +1 -1
- package/dist/production/lib/dom/lib.js +14 -32
- package/dist/production/lib/dom/server.d.ts +6 -1
- package/dist/production/lib/dom/server.js +40 -14
- package/dist/production/lib/dom/ssr/components.js +15 -23
- package/dist/production/lib/dom/ssr/data.js +1 -1
- package/dist/production/lib/dom/ssr/entry.d.ts +4 -0
- package/dist/production/lib/dom/ssr/errorBoundaries.js +1 -1
- package/dist/production/lib/dom/ssr/fallback.js +1 -1
- package/dist/production/lib/dom/ssr/fog-of-war.js +33 -12
- package/dist/production/lib/dom/ssr/hydration.d.ts +3 -1
- package/dist/production/lib/dom/ssr/hydration.js +6 -4
- package/dist/production/lib/dom/ssr/invariant.js +1 -1
- package/dist/production/lib/dom/ssr/links.js +1 -1
- package/dist/production/lib/dom/ssr/markup.js +5 -2
- package/dist/production/lib/dom/ssr/routeModules.js +1 -1
- package/dist/production/lib/dom/ssr/routes-test-stub.js +1 -1
- package/dist/production/lib/dom/ssr/routes.js +1 -1
- package/dist/production/lib/dom/ssr/server.js +2 -2
- package/dist/production/lib/dom/ssr/single-fetch.js +10 -19
- package/dist/production/lib/dom-export/dom-router-provider.js +1 -1
- package/dist/production/lib/dom-export/hydrated-router.js +2 -1
- package/dist/production/lib/errors.js +1 -1
- package/dist/production/lib/hooks.js +49 -44
- package/dist/production/lib/href.js +1 -1
- package/dist/production/lib/router/history.js +1 -1
- package/dist/production/lib/router/instrumentation.js +1 -1
- package/dist/production/lib/router/matcher-route-pattern.d.ts +2 -0
- package/dist/production/lib/router/matcher-route-pattern.js +216 -0
- package/dist/production/lib/router/matcher-route-pattern.preload.d.ts +20 -0
- package/dist/production/lib/router/matcher-route-pattern.preload.js +36 -0
- package/dist/production/lib/router/matcher.d.ts +2 -0
- package/dist/production/lib/router/matcher.js +29 -0
- package/dist/production/lib/router/navigation.js +1 -1
- package/dist/production/lib/router/router.d.ts +13 -7
- package/dist/production/lib/router/router.js +81 -66
- package/dist/production/lib/router/url.js +1 -1
- package/dist/production/lib/router/utils.d.ts +6 -1
- package/dist/production/lib/router/utils.js +6 -4
- package/dist/production/lib/rsc/browser.js +2 -1
- package/dist/production/lib/rsc/errorBoundaries.js +1 -1
- package/dist/production/lib/rsc/html-stream/browser.js +1 -1
- package/dist/production/lib/rsc/html-stream/server.js +2 -4
- package/dist/production/lib/rsc/route-modules.js +1 -1
- package/dist/production/lib/rsc/server.rsc.d.ts +7 -0
- package/dist/production/lib/rsc/server.ssr.js +25 -21
- package/dist/production/lib/server-runtime/cookies.js +1 -1
- package/dist/production/lib/server-runtime/crypto.js +1 -1
- package/dist/production/lib/server-runtime/data.js +1 -1
- package/dist/production/lib/server-runtime/dev.js +1 -1
- package/dist/production/lib/server-runtime/entry.js +1 -1
- package/dist/production/lib/server-runtime/errors.js +1 -1
- package/dist/production/lib/server-runtime/headers.js +1 -1
- package/dist/production/lib/server-runtime/invariant.js +1 -1
- package/dist/production/lib/server-runtime/mode.js +1 -1
- package/dist/production/lib/server-runtime/routeMatching.js +3 -4
- package/dist/production/lib/server-runtime/routes.js +1 -1
- package/dist/production/lib/server-runtime/server.js +7 -6
- package/dist/production/lib/server-runtime/serverHandoff.js +1 -1
- package/dist/production/lib/server-runtime/sessions/cookieStorage.js +1 -1
- package/dist/production/lib/server-runtime/sessions/memoryStorage.js +1 -1
- package/dist/production/lib/server-runtime/sessions.js +1 -1
- package/dist/production/lib/server-runtime/single-fetch.js +1 -1
- package/dist/production/lib/server-runtime/urls.js +1 -1
- package/dist/production/lib/server-runtime/warnings.js +1 -1
- package/dist/production/lib/types/internal.js +1 -1
- package/dist/production/route-pattern.d.ts +3 -0
- package/dist/production/route-pattern.js +12 -0
- package/dist/production/vendor/turbo-stream-v2/flatten.js +1 -1
- package/dist/production/vendor/turbo-stream-v2/turbo-stream.js +1 -1
- package/dist/production/vendor/turbo-stream-v2/unflatten.js +1 -1
- package/dist/production/vendor/turbo-stream-v2/utils.js +1 -1
- package/docs/how-to/fetchers.md +6 -1
- package/docs/how-to/middleware.md +3 -1
- package/docs/how-to/optimize-revalidation.md +178 -5
- package/docs/how-to/react-server-components.md +26 -3
- package/docs/how-to/resource-routes.md +3 -0
- package/docs/start/data/actions.md +2 -1
- package/docs/start/data/route-object.md +21 -6
- package/docs/start/framework/actions.md +4 -2
- package/docs/start/framework/route-module.md +32 -5
- package/docs/upgrading/future.md +68 -0
- package/package.json +11 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v8.
|
|
2
|
+
* react-router v8.4.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -207,7 +207,8 @@ const unsupportedLazyRouteObjectKeys = new Set([
|
|
|
207
207
|
"path",
|
|
208
208
|
"id",
|
|
209
209
|
"index",
|
|
210
|
-
"children"
|
|
210
|
+
"children",
|
|
211
|
+
"unstable_validateParams"
|
|
211
212
|
]);
|
|
212
213
|
function isUnsupportedLazyRouteObjectKey(key) {
|
|
213
214
|
return unsupportedLazyRouteObjectKeys.has(key);
|
|
@@ -219,7 +220,8 @@ const unsupportedLazyRouteFunctionKeys = new Set([
|
|
|
219
220
|
"id",
|
|
220
221
|
"index",
|
|
221
222
|
"middleware",
|
|
222
|
-
"children"
|
|
223
|
+
"children",
|
|
224
|
+
"unstable_validateParams"
|
|
223
225
|
]);
|
|
224
226
|
function isUnsupportedLazyRouteFunctionKey(key) {
|
|
225
227
|
return unsupportedLazyRouteFunctionKeys.has(key);
|
|
@@ -1031,6 +1033,23 @@ function getReadonlyContext(context) {
|
|
|
1031
1033
|
return { get: (ctx) => context.get(ctx) };
|
|
1032
1034
|
}
|
|
1033
1035
|
//#endregion
|
|
1036
|
+
//#region lib/router/matcher.ts
|
|
1037
|
+
var V6RegExMatcher = class {
|
|
1038
|
+
#routes = [];
|
|
1039
|
+
#branches = [];
|
|
1040
|
+
#basename;
|
|
1041
|
+
constructor(basename) {
|
|
1042
|
+
this.#basename = basename;
|
|
1043
|
+
}
|
|
1044
|
+
update(routes) {
|
|
1045
|
+
this.#routes = routes;
|
|
1046
|
+
this.#branches = flattenAndRankRoutes(routes);
|
|
1047
|
+
}
|
|
1048
|
+
match(locationArg, allowPartial = false) {
|
|
1049
|
+
return matchRoutesImpl(this.#routes, locationArg, this.#basename, allowPartial, this.#branches);
|
|
1050
|
+
}
|
|
1051
|
+
};
|
|
1052
|
+
//#endregion
|
|
1034
1053
|
//#region lib/router/router.ts
|
|
1035
1054
|
const validMutationMethodsArr = [
|
|
1036
1055
|
"POST",
|
|
@@ -1049,6 +1068,14 @@ const redirectStatusCodes = new Set([
|
|
|
1049
1068
|
308
|
|
1050
1069
|
]);
|
|
1051
1070
|
const ResetLoaderDataSymbol = Symbol("ResetLoaderData");
|
|
1071
|
+
function createDataRouteMatcher(future, basename) {
|
|
1072
|
+
if (future.unstable_routePatternMatching) {
|
|
1073
|
+
let RoutePatternMatcher = void 0;
|
|
1074
|
+
invariant$1(RoutePatternMatcher, "You must call unstable_preloadRoutePattern() from \"react-router/route-pattern\" before enabling future.unstable_routePatternMatching.");
|
|
1075
|
+
return new RoutePatternMatcher(basename);
|
|
1076
|
+
}
|
|
1077
|
+
return new V6RegExMatcher(basename);
|
|
1078
|
+
}
|
|
1052
1079
|
/**
|
|
1053
1080
|
* Create a static handler to perform server-side data loading
|
|
1054
1081
|
*
|
|
@@ -1085,7 +1112,7 @@ function createStaticHandler(routes, opts) {
|
|
|
1085
1112
|
let basename = (opts ? opts.basename : null) || "/";
|
|
1086
1113
|
let _mapRouteProperties = opts?.mapRouteProperties;
|
|
1087
1114
|
let mapRouteProperties = _mapRouteProperties ? _mapRouteProperties : () => ({});
|
|
1088
|
-
({ ...opts?.future });
|
|
1115
|
+
let dataRouteMatcher = createDataRouteMatcher({ ...opts?.future }, basename);
|
|
1089
1116
|
if (opts?.instrumentations) {
|
|
1090
1117
|
let instrumentations = opts.instrumentations;
|
|
1091
1118
|
mapRouteProperties = (route) => {
|
|
@@ -1096,7 +1123,8 @@ function createStaticHandler(routes, opts) {
|
|
|
1096
1123
|
};
|
|
1097
1124
|
}
|
|
1098
1125
|
let dataRoutes = convertRoutesToDataRoutes(routes, mapRouteProperties, void 0, manifest);
|
|
1099
|
-
|
|
1126
|
+
dataRouteMatcher.update(dataRoutes);
|
|
1127
|
+
let match = (locationArg) => dataRouteMatcher.match(locationArg);
|
|
1100
1128
|
/**
|
|
1101
1129
|
* The query() method is intended for document requests, in which we want to
|
|
1102
1130
|
* call an optional action and potentially multiple loaders for all nested
|
|
@@ -1127,7 +1155,7 @@ function createStaticHandler(routes, opts) {
|
|
|
1127
1155
|
let normalizePathImpl = normalizePath || defaultNormalizePath;
|
|
1128
1156
|
let method = request.method;
|
|
1129
1157
|
let location = createLocation("", normalizePathImpl(request), null, "default");
|
|
1130
|
-
let matches =
|
|
1158
|
+
let matches = dataRouteMatcher.match(location);
|
|
1131
1159
|
requestContext = requestContext != null ? requestContext : new RouterContextProvider();
|
|
1132
1160
|
if (!isValidMethod(method) && method !== "HEAD") {
|
|
1133
1161
|
let error = getInternalRouterError(405, { method });
|
|
@@ -1141,7 +1169,8 @@ function createStaticHandler(routes, opts) {
|
|
|
1141
1169
|
errors: { [route.id]: error },
|
|
1142
1170
|
statusCode: error.status,
|
|
1143
1171
|
loaderHeaders: {},
|
|
1144
|
-
actionHeaders: {}
|
|
1172
|
+
actionHeaders: {},
|
|
1173
|
+
_match: match
|
|
1145
1174
|
};
|
|
1146
1175
|
return generateMiddlewareResponse ? generateMiddlewareResponse(() => Promise.resolve(staticContext)) : staticContext;
|
|
1147
1176
|
} else if (!matches) {
|
|
@@ -1156,7 +1185,8 @@ function createStaticHandler(routes, opts) {
|
|
|
1156
1185
|
errors: { [route.id]: error },
|
|
1157
1186
|
statusCode: error.status,
|
|
1158
1187
|
loaderHeaders: {},
|
|
1159
|
-
actionHeaders: {}
|
|
1188
|
+
actionHeaders: {},
|
|
1189
|
+
_match: match
|
|
1160
1190
|
};
|
|
1161
1191
|
return generateMiddlewareResponse ? generateMiddlewareResponse(() => Promise.resolve(staticContext)) : staticContext;
|
|
1162
1192
|
}
|
|
@@ -1179,7 +1209,8 @@ function createStaticHandler(routes, opts) {
|
|
|
1179
1209
|
renderedStaticContext = {
|
|
1180
1210
|
location,
|
|
1181
1211
|
basename,
|
|
1182
|
-
...result
|
|
1212
|
+
...result,
|
|
1213
|
+
_match: match
|
|
1183
1214
|
};
|
|
1184
1215
|
return renderedStaticContext;
|
|
1185
1216
|
});
|
|
@@ -1205,7 +1236,8 @@ function createStaticHandler(routes, opts) {
|
|
|
1205
1236
|
errors: { [skipLoaderErrorBubbling ? routeId : findNearestBoundary(matches, matches.find((m) => m.route.id === routeId || m.route.loader)?.route.id || routeId).route.id]: error },
|
|
1206
1237
|
statusCode: isRouteErrorResponse(error) ? error.status : 500,
|
|
1207
1238
|
actionHeaders: {},
|
|
1208
|
-
loaderHeaders: {}
|
|
1239
|
+
loaderHeaders: {},
|
|
1240
|
+
_match: match
|
|
1209
1241
|
};
|
|
1210
1242
|
return generateMiddlewareResponse(() => Promise.resolve(staticContext));
|
|
1211
1243
|
}
|
|
@@ -1222,7 +1254,8 @@ function createStaticHandler(routes, opts) {
|
|
|
1222
1254
|
return {
|
|
1223
1255
|
location,
|
|
1224
1256
|
basename,
|
|
1225
|
-
...result
|
|
1257
|
+
...result,
|
|
1258
|
+
_match: match
|
|
1226
1259
|
};
|
|
1227
1260
|
}
|
|
1228
1261
|
/**
|
|
@@ -1255,7 +1288,7 @@ function createStaticHandler(routes, opts) {
|
|
|
1255
1288
|
let normalizePathImpl = normalizePath || defaultNormalizePath;
|
|
1256
1289
|
let method = request.method;
|
|
1257
1290
|
let location = createLocation("", normalizePathImpl(request), null, "default");
|
|
1258
|
-
let matches =
|
|
1291
|
+
let matches = dataRouteMatcher.match(location);
|
|
1259
1292
|
requestContext = requestContext != null ? requestContext : new RouterContextProvider();
|
|
1260
1293
|
if (!isValidMethod(method) && method !== "HEAD" && method !== "OPTIONS") throw getInternalRouterError(405, { method });
|
|
1261
1294
|
else if (!matches) throw getInternalRouterError(404, { pathname: location.pathname });
|
|
@@ -1436,7 +1469,7 @@ function createStaticHandler(routes, opts) {
|
|
|
1436
1469
|
}
|
|
1437
1470
|
return {
|
|
1438
1471
|
dataRoutes,
|
|
1439
|
-
|
|
1472
|
+
match,
|
|
1440
1473
|
query,
|
|
1441
1474
|
queryRoute
|
|
1442
1475
|
};
|
|
@@ -2328,6 +2361,13 @@ const Await = (async ({ children, resolve, errorElement }) => {
|
|
|
2328
2361
|
* encoding an {@link unstable_RSCPayload} for consumption by an [RSC](https://react.dev/reference/rsc/server-components)
|
|
2329
2362
|
* enabled client router.
|
|
2330
2363
|
*
|
|
2364
|
+
* Treat every React Server Function as a public endpoint. Server Functions are
|
|
2365
|
+
* not inherently associated with a route. Any route middleware that runs is
|
|
2366
|
+
* selected from the URL used to call a Server Function, but the client controls
|
|
2367
|
+
* both the Server Function identifier and the URL. Perform all access control
|
|
2368
|
+
* checks within each Server Function, or use a route action for
|
|
2369
|
+
* middleware-driven access control.
|
|
2370
|
+
*
|
|
2331
2371
|
* @example
|
|
2332
2372
|
* import {
|
|
2333
2373
|
* createTemporaryReferenceSet,
|
|
@@ -2415,11 +2455,12 @@ async function matchRSCServerRequest({ allowedActionOrigins, createTemporaryRefe
|
|
|
2415
2455
|
const requestUrl = new URL(request.url);
|
|
2416
2456
|
if (isManifestRequest(requestUrl)) return await generateManifestResponse(routes, basename, request, generateResponse, temporaryReferences, routeDiscovery, clientVersion);
|
|
2417
2457
|
let isDataRequest = isReactServerRequest(requestUrl);
|
|
2418
|
-
let
|
|
2458
|
+
let staticHandler = createStaticHandler(routes, { basename });
|
|
2459
|
+
let matches = staticHandler.match(url.pathname);
|
|
2419
2460
|
if (matches) await Promise.all(matches.map((m) => explodeLazyRoute(m.route)));
|
|
2420
2461
|
const leafMatch = matches?.[matches.length - 1];
|
|
2421
|
-
if (!isDataRequest && leafMatch && !leafMatch.route.Component && !leafMatch.route.ErrorBoundary) return generateResourceResponse(routerRequest,
|
|
2422
|
-
let response = await generateRenderResponse(routerRequest,
|
|
2462
|
+
if (!isDataRequest && leafMatch && !leafMatch.route.Component && !leafMatch.route.ErrorBoundary) return generateResourceResponse(routerRequest, staticHandler, leafMatch.route.id, requestContext, onError);
|
|
2463
|
+
let response = await generateRenderResponse(routerRequest, staticHandler, basename, isDataRequest, decodeReply, requestContext, loadServerAction, decodeAction, decodeFormState, onError, generateResponse, temporaryReferences, allowedActionOrigins, routeDiscovery, clientVersion);
|
|
2423
2464
|
response.headers.set("X-Remix-Response", "yes");
|
|
2424
2465
|
return response;
|
|
2425
2466
|
}
|
|
@@ -2452,9 +2493,10 @@ async function generateManifestResponse(routes, basename, request, generateRespo
|
|
|
2452
2493
|
}
|
|
2453
2494
|
let pathParam = url.searchParams.get("paths");
|
|
2454
2495
|
let pathnames = pathParam ? pathParam.split(",").filter(Boolean) : [url.pathname.replace(/\.manifest$/, "")];
|
|
2496
|
+
let staticHandler = routes.length > 0 ? createStaticHandler(routes, { basename }) : void 0;
|
|
2455
2497
|
let routeIds = /* @__PURE__ */ new Set();
|
|
2456
|
-
let matchedRoutes = pathnames.flatMap((pathname) => {
|
|
2457
|
-
let pathnameMatches =
|
|
2498
|
+
let matchedRoutes = staticHandler ? pathnames.flatMap((pathname) => {
|
|
2499
|
+
let pathnameMatches = staticHandler.match(pathname);
|
|
2458
2500
|
return pathnameMatches?.map((m, i) => ({
|
|
2459
2501
|
...m.route,
|
|
2460
2502
|
parentId: pathnameMatches[i - 1]?.route.id
|
|
@@ -2465,10 +2507,10 @@ async function generateManifestResponse(routes, basename, request, generateRespo
|
|
|
2465
2507
|
return true;
|
|
2466
2508
|
}
|
|
2467
2509
|
return false;
|
|
2468
|
-
});
|
|
2510
|
+
}) : [];
|
|
2469
2511
|
let payload = {
|
|
2470
2512
|
type: "manifest",
|
|
2471
|
-
patches: Promise.all([...matchedRoutes.map((route) => getManifestRoute(route)), getAdditionalRoutePatches(pathnames,
|
|
2513
|
+
patches: Promise.all([...matchedRoutes.map((route) => getManifestRoute(route)), staticHandler ? getAdditionalRoutePatches(pathnames, staticHandler, Array.from(routeIds)) : Promise.resolve([])]).then((r) => r.flat(1))
|
|
2472
2514
|
};
|
|
2473
2515
|
return generateResponse({
|
|
2474
2516
|
statusCode: 200,
|
|
@@ -2538,9 +2580,9 @@ async function processServerAction(request, basename, decodeReply, loadServerAct
|
|
|
2538
2580
|
}
|
|
2539
2581
|
}
|
|
2540
2582
|
}
|
|
2541
|
-
async function generateResourceResponse(request,
|
|
2583
|
+
async function generateResourceResponse(request, staticHandler, routeId, requestContext, onError) {
|
|
2542
2584
|
try {
|
|
2543
|
-
return await
|
|
2585
|
+
return await staticHandler.queryRoute(request, {
|
|
2544
2586
|
routeId,
|
|
2545
2587
|
requestContext,
|
|
2546
2588
|
async generateMiddlewareResponse(queryRoute) {
|
|
@@ -2581,12 +2623,11 @@ async function generateResourceResponse(request, routes, basename, routeId, requ
|
|
|
2581
2623
|
});
|
|
2582
2624
|
}
|
|
2583
2625
|
}
|
|
2584
|
-
async function generateRenderResponse(request,
|
|
2626
|
+
async function generateRenderResponse(request, staticHandler, basename, isDataRequest, decodeReply, requestContext, loadServerAction, decodeAction, decodeFormState, onError, generateResponse, temporaryReferences, allowedActionOrigins, routeDiscovery, clientVersion) {
|
|
2585
2627
|
let statusCode = 200;
|
|
2586
2628
|
let url = new URL(request.url);
|
|
2587
2629
|
let isSubmission = isMutationMethod(request.method);
|
|
2588
2630
|
let routeIdsToLoad = !isSubmission && url.searchParams.has("_routes") ? url.searchParams.get("_routes").split(",") : null;
|
|
2589
|
-
const staticHandler = createStaticHandler(routes, { basename });
|
|
2590
2631
|
let actionResult;
|
|
2591
2632
|
const ctx = {
|
|
2592
2633
|
request,
|
|
@@ -2634,7 +2675,7 @@ async function generateRenderResponse(request, routes, basename, isDataRequest,
|
|
|
2634
2675
|
staticContext.errors[staticContext.matches[0].route.id] = potentialCSRFAttackError;
|
|
2635
2676
|
staticContext.statusCode = 400;
|
|
2636
2677
|
}
|
|
2637
|
-
return generateStaticContextResponse(
|
|
2678
|
+
return generateStaticContextResponse(staticHandler, basename, generateResponse, statusCode, routeIdsToLoad, isDataRequest, isSubmission, actionResult, formState, staticContext, temporaryReferences, skipRevalidation, ctx.redirect?.headers, routeDiscovery, clientVersion);
|
|
2638
2679
|
}
|
|
2639
2680
|
}));
|
|
2640
2681
|
if (isRedirectResponse(result)) return generateRedirectResponse(result, actionResult, basename, isDataRequest, generateResponse, temporaryReferences, ctx.redirect?.headers);
|
|
@@ -2668,7 +2709,7 @@ function generateRedirectResponse(response, actionResult, basename, isDataReques
|
|
|
2668
2709
|
onError: defaultOnError
|
|
2669
2710
|
});
|
|
2670
2711
|
}
|
|
2671
|
-
async function generateStaticContextResponse(
|
|
2712
|
+
async function generateStaticContextResponse(staticHandler, basename, generateResponse, statusCode, routeIdsToLoad, isDataRequest, isSubmission, actionResult, formState, staticContext, temporaryReferences, skipRevalidation, sideEffectRedirectHeaders, routeDiscovery, clientVersion) {
|
|
2672
2713
|
statusCode = staticContext.statusCode ?? statusCode;
|
|
2673
2714
|
if (staticContext.errors) staticContext.errors = Object.fromEntries(Object.entries(staticContext.errors).map(([key, error]) => [key, isRouteErrorResponse(error) ? Object.fromEntries(Object.entries(error)) : error]));
|
|
2674
2715
|
staticContext.matches.forEach((m) => {
|
|
@@ -2689,7 +2730,7 @@ async function generateStaticContextResponse(routes, basename, generateResponse,
|
|
|
2689
2730
|
location: staticContext.location,
|
|
2690
2731
|
formState
|
|
2691
2732
|
};
|
|
2692
|
-
const renderPayloadPromise = () => getRenderPayload(baseRenderPayload,
|
|
2733
|
+
const renderPayloadPromise = () => getRenderPayload(baseRenderPayload, staticHandler, basename, routeIdsToLoad, isDataRequest, staticContext, routeDiscovery);
|
|
2693
2734
|
let payload;
|
|
2694
2735
|
if (actionResult) payload = {
|
|
2695
2736
|
type: "action",
|
|
@@ -2711,7 +2752,8 @@ async function generateStaticContextResponse(routes, basename, generateResponse,
|
|
|
2711
2752
|
onError: defaultOnError
|
|
2712
2753
|
});
|
|
2713
2754
|
}
|
|
2714
|
-
async function getRenderPayload(baseRenderPayload,
|
|
2755
|
+
async function getRenderPayload(baseRenderPayload, staticHandler, basename, routeIdsToLoad, isDataRequest, staticContext, routeDiscovery) {
|
|
2756
|
+
let routes = staticHandler.dataRoutes;
|
|
2715
2757
|
let deepestRenderedRouteIdx = staticContext.matches.length - 1;
|
|
2716
2758
|
let parentIds = {};
|
|
2717
2759
|
staticContext.matches.forEach((m, i) => {
|
|
@@ -2729,7 +2771,9 @@ async function getRenderPayload(baseRenderPayload, routes, basename, routeIdsToL
|
|
|
2729
2771
|
parentId
|
|
2730
2772
|
});
|
|
2731
2773
|
}));
|
|
2732
|
-
let patches
|
|
2774
|
+
let patches;
|
|
2775
|
+
if (routeDiscovery?.mode === "initial" && !isDataRequest) patches = getAllRoutePatches(routes, basename).then((patches) => patches.filter((patch) => !staticContext.matches.some((m) => m.route.id === patch.id)));
|
|
2776
|
+
else patches = getAdditionalRoutePatches(getPathsWithAncestors([staticContext.location.pathname]), staticHandler, staticContext.matches.map((m) => m.route.id));
|
|
2733
2777
|
return {
|
|
2734
2778
|
...baseRenderPayload,
|
|
2735
2779
|
matches: await matchesPromise,
|
|
@@ -2833,13 +2877,13 @@ async function getAllRoutePatches(routes, basename) {
|
|
|
2833
2877
|
for (let route of routes) await traverse(route, void 0);
|
|
2834
2878
|
return patches.filter((p) => !!p.parentId);
|
|
2835
2879
|
}
|
|
2836
|
-
async function getAdditionalRoutePatches(pathnames,
|
|
2880
|
+
async function getAdditionalRoutePatches(pathnames, staticHandler, matchedRouteIds) {
|
|
2837
2881
|
let patchRouteMatches = /* @__PURE__ */ new Map();
|
|
2838
2882
|
let matchedPaths = /* @__PURE__ */ new Set();
|
|
2839
2883
|
for (const pathname of pathnames) {
|
|
2840
2884
|
if (matchedPaths.has(pathname)) continue;
|
|
2841
2885
|
matchedPaths.add(pathname);
|
|
2842
|
-
let matches =
|
|
2886
|
+
let matches = staticHandler.match(pathname) || [];
|
|
2843
2887
|
matches.forEach((m, i) => {
|
|
2844
2888
|
if (patchRouteMatches.get(m.route.id)) return;
|
|
2845
2889
|
patchRouteMatches.set(m.route.id, {
|
|
@@ -4,7 +4,7 @@ import { ActionFunction, ActionFunctionArgs, BaseRouteObject, DataRouteMatch, Da
|
|
|
4
4
|
import { Blocker, BlockerFunction, Fetcher, GetScrollPositionFunction, GetScrollRestorationKeyFunction, HydrationState, IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, Navigation, NavigationStates, RelativeRoutingType, RevalidationState, Router, RouterFetchOptions, RouterInit, RouterNavigateOptions, RouterState, RouterSubscriber, StaticHandler, StaticHandlerContext, createRouter, createStaticHandler } from "./lib/router/router.js";
|
|
5
5
|
import { HtmlLinkDescriptor, LinkDescriptor, PageLinkDescriptor } from "./lib/router/links.js";
|
|
6
6
|
import { Await, AwaitProps, ClientOnErrorFunction, IndexRouteProps, LayoutRouteProps, MemoryRouter, MemoryRouterOpts, MemoryRouterProps, Navigate, NavigateProps, Outlet, OutletProps, PathRouteProps, Route, RouteProps, Router as Router$1, RouterProps, RouterProvider, RouterProviderProps, Routes, RoutesProps, WithComponentProps, WithErrorBoundaryProps, WithHydrateFallbackProps, createMemoryRouter, createRoutesFromChildren, createRoutesFromElements, hydrationRouteProperties, renderMatches, withComponentProps, withErrorBoundaryProps, withHydrateFallbackProps } from "./lib/components.js";
|
|
7
|
-
import { AwaitContextProvider, DataRouterContext, DataRouterStateContext, FetchersContext, LocationContext, NavigateOptions, NavigationContext, Navigator, RouteContext, ViewTransitionContext } from "./lib/context.js";
|
|
7
|
+
import { AwaitContextProvider, DataRouterContext, DataRouterDataContext, DataRouterNavigationContext, DataRouterStateContext, FetchersContext, LocationContext, NavigateOptions, NavigationContext, Navigator, RouteContext, ViewTransitionContext } from "./lib/context.js";
|
|
8
8
|
import { Register } from "./lib/types/register.js";
|
|
9
9
|
import { NavigateFunction, unstable_RouterState, unstable_RouterStateActiveVariant, unstable_RouterStatePendingVariant, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRoute, useRouteError, useRouteLoaderData, useRouterState, useRoutes } from "./lib/hooks.js";
|
|
10
10
|
import { FetcherSubmitOptions, ParamKeyValuePair, SubmitOptions, SubmitTarget, URLSearchParamsInit, createSearchParams } from "./lib/dom/dom.js";
|
|
@@ -41,4 +41,4 @@ import { ClientInstrumentation, InstrumentRequestHandlerFunction, InstrumentRout
|
|
|
41
41
|
declare const unstable_getRequest: typeof getRequest;
|
|
42
42
|
declare const unstable_matchRSCServerRequest: typeof matchRSCServerRequest;
|
|
43
43
|
//#endregion
|
|
44
|
-
export { type ActionFunction, type ActionFunctionArgs, Await, type AwaitProps, type BaseRouteObject, type Blocker, type BlockerFunction, BrowserRouter, type BrowserRouterProps, type ClientActionFunction, type ClientActionFunctionArgs, type ClientInstrumentation, type ClientLoaderFunction, type ClientLoaderFunctionArgs, type ClientOnErrorFunction, type Cookie, type CookieOptions, type CookieParseOptions, type CookieSerializeOptions, type CookieSignatureOptions, type CreateRequestHandlerFunction, type DOMRouterOpts, type DataRouteMatch, type DataRouteObject, type Router as DataRouter, type DataStrategyFunction, type DataStrategyFunctionArgs, type DataStrategyMatch, type DataStrategyResult, type DiscoverBehavior, type EntryContext, type ErrorResponse, type Fetcher, type FetcherFormProps, type FetcherSubmitFunction, type FetcherSubmitOptions, type FetcherWithComponents, type FlashSessionData, Form, type FormEncType, type FormMethod, type FormProps, type Future, type GetScrollPositionFunction, type GetScrollRestorationKeyFunction, type HTMLFormMethod, type HandleDataRequestFunction, type HandleDocumentRequestFunction, type HandleErrorFunction, HashRouter, type HashRouterProps, type HeadersArgs, type HeadersFunction, type HistoryRouterProps, type HtmlLinkDescriptor, type HydrationState, IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, type IndexRouteObject, type IndexRouteProps, type InitialEntry, type InstrumentRequestHandlerFunction, type InstrumentRouteFunction, type InstrumentRouterFunction, type InstrumentationClientRouterResult, type InstrumentationHandlerResult, type InstrumentationServerHandlerResult, type IsCookieFunction, type IsSessionFunction, type LayoutRouteProps, type LazyRouteFunction, Link, type LinkDescriptor, type LinkProps, Links, type LinksFunction, type LinksProps, type LoaderFunction, type LoaderFunctionArgs, type Location, MemoryRouter, type MemoryRouterOpts, type MemoryRouterProps, Meta, type MetaArgs, type MetaDescriptor, type MetaFunction, type MiddlewareFunction, NavLink, type NavLinkProps, type NavLinkRenderProps, Navigate, type NavigateFunction, type NavigateOptions, type NavigateProps, type Navigation, type NavigationStates, Action as NavigationType, type Navigator, type NonIndexRouteObject, Outlet, type OutletProps, type PageLinkDescriptor, type ParamKeyValuePair, type ParamParseKey, type Params, type PatchRoutesOnNavigationFunction, type PatchRoutesOnNavigationFunctionArgs, type Path, type PathMatch, type PathParam, type PathPattern, type PathRouteProps, type PrefetchBehavior, PrefetchPageLinks, type RedirectFunction, type Register, type RelativeRoutingType, type RequestHandler, type RevalidationState, Route, type RouteMatch, type RouteObject, type RouteProps, Router$1 as Router, type RouterContext, RouterContextProvider, type RouterFetchOptions, type RouterInit, type RouterNavigateOptions, type RouterProps, RouterProvider, type RouterProviderProps, type RouterState, type RouterSubscriber, Routes, type RoutesProps, type RoutesTestStubProps, Scripts, type ScriptsProps, ScrollRestoration, type ScrollRestorationProps, type ServerBuild, type ServerEntryModule, type ServerInstrumentation, ServerRouter, type ServerRouterProps, type Session, type SessionData, type SessionIdStorageStrategy, type SessionStorage, type SetURLSearchParams, type ShouldRevalidateFunction, type ShouldRevalidateFunctionArgs, type StaticHandler, type StaticHandlerContext, StaticRouter, type StaticRouterProps, StaticRouterProvider, type StaticRouterProviderProps, type SubmitFunction, type SubmitOptions, type SubmitTarget, type To, type UIMatch, type AssetsManifest as UNSAFE_AssetsManifest, AwaitContextProvider as UNSAFE_AwaitContextProvider, DataRouterContext as UNSAFE_DataRouterContext, DataRouterStateContext as UNSAFE_DataRouterStateContext, type DataWithResponseInit as UNSAFE_DataWithResponseInit, ErrorResponseImpl as UNSAFE_ErrorResponseImpl, FetchersContext as UNSAFE_FetchersContext, FrameworkContext as UNSAFE_FrameworkContext, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RSCDefaultRootErrorBoundary as UNSAFE_RSCDefaultRootErrorBoundary, RemixErrorBoundary as UNSAFE_RemixErrorBoundary, RouteContext as UNSAFE_RouteContext, type RouteModules as UNSAFE_RouteModules, ServerMode as UNSAFE_ServerMode, SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol, ViewTransitionContext as UNSAFE_ViewTransitionContext, WithComponentProps as UNSAFE_WithComponentProps, WithErrorBoundaryProps as UNSAFE_WithErrorBoundaryProps, WithHydrateFallbackProps as UNSAFE_WithHydrateFallbackProps, createBrowserHistory as UNSAFE_createBrowserHistory, createClientRoutes as UNSAFE_createClientRoutes, createClientRoutesWithHMRRevalidationOptOut as UNSAFE_createClientRoutesWithHMRRevalidationOptOut, createHashHistory as UNSAFE_createHashHistory, createMemoryHistory as UNSAFE_createMemoryHistory, createRouter as UNSAFE_createRouter, decodeViaTurboStream as UNSAFE_decodeViaTurboStream, defaultMapRouteProperties as UNSAFE_defaultMapRouteProperties, getHydrationData as UNSAFE_getHydrationData, getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction, getTurboStreamSingleFetchDataStrategy as UNSAFE_getTurboStreamSingleFetchDataStrategy, hydrationRouteProperties as UNSAFE_hydrationRouteProperties, invariant as UNSAFE_invariant, shouldHydrateRouteLoader as UNSAFE_shouldHydrateRouteLoader, useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery, useScrollRestoration as UNSAFE_useScrollRestoration, withComponentProps as UNSAFE_withComponentProps, withErrorBoundaryProps as UNSAFE_withErrorBoundaryProps, withHydrateFallbackProps as UNSAFE_withHydrateFallbackProps, type URLSearchParamsInit, createBrowserRouter, createContext, createCookie, createCookieSessionStorage, createHashRouter, createMemoryRouter, createMemorySessionStorage, createPath, createRequestHandler, createRoutesFromChildren, createRoutesFromElements, createRoutesStub, createSearchParams, createSession, createSessionStorage, createStaticHandler, createStaticRouter, data, generatePath, href, isCookie, isRouteErrorResponse, isSession, matchPath, matchRoutes, parsePath, redirect, redirectDocument, renderMatches, replace, resolvePath, type BrowserCreateFromReadableStreamFunction as unstable_BrowserCreateFromReadableStreamFunction, type DecodeActionFunction as unstable_DecodeActionFunction, type DecodeFormStateFunction as unstable_DecodeFormStateFunction, type DecodeReplyFunction as unstable_DecodeReplyFunction, type EncodeReplyFunction as unstable_EncodeReplyFunction, HistoryRouter as unstable_HistoryRouter, type LoadServerActionFunction as unstable_LoadServerActionFunction, type RSCHydratedRouterProps as unstable_RSCHydratedRouterProps, type RSCManifestPayload as unstable_RSCManifestPayload, type RSCMatch as unstable_RSCMatch, type RSCPayload as unstable_RSCPayload, type RSCRenderPayload as unstable_RSCRenderPayload, type RSCRouteConfig as unstable_RSCRouteConfig, type RSCRouteConfigEntry as unstable_RSCRouteConfigEntry, type RSCRouteManifest as unstable_RSCRouteManifest, type RSCRouteMatch as unstable_RSCRouteMatch, RSCStaticRouter as unstable_RSCStaticRouter, type RSCStaticRouterProps as unstable_RSCStaticRouterProps, type unstable_RouterState, type unstable_RouterStateActiveVariant, type unstable_RouterStatePendingVariant, type SSRCreateFromReadableStreamFunction as unstable_SSRCreateFromReadableStreamFunction, type unstable_SerializesTo, unstable_getRequest, unstable_matchRSCServerRequest, routeRSCServerRequest as unstable_routeRSCServerRequest, setDevServerHooks as unstable_setDevServerHooks, usePrompt as unstable_usePrompt, useRoute as unstable_useRoute, useRouterState as unstable_useRouterState, useActionData, useAsyncError, useAsyncValue, useBeforeUnload, useBlocker, useFetcher, useFetchers, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes, useSearchParams, useSubmit, useViewTransitionState };
|
|
44
|
+
export { type ActionFunction, type ActionFunctionArgs, Await, type AwaitProps, type BaseRouteObject, type Blocker, type BlockerFunction, BrowserRouter, type BrowserRouterProps, type ClientActionFunction, type ClientActionFunctionArgs, type ClientInstrumentation, type ClientLoaderFunction, type ClientLoaderFunctionArgs, type ClientOnErrorFunction, type Cookie, type CookieOptions, type CookieParseOptions, type CookieSerializeOptions, type CookieSignatureOptions, type CreateRequestHandlerFunction, type DOMRouterOpts, type DataRouteMatch, type DataRouteObject, type Router as DataRouter, type DataStrategyFunction, type DataStrategyFunctionArgs, type DataStrategyMatch, type DataStrategyResult, type DiscoverBehavior, type EntryContext, type ErrorResponse, type Fetcher, type FetcherFormProps, type FetcherSubmitFunction, type FetcherSubmitOptions, type FetcherWithComponents, type FlashSessionData, Form, type FormEncType, type FormMethod, type FormProps, type Future, type GetScrollPositionFunction, type GetScrollRestorationKeyFunction, type HTMLFormMethod, type HandleDataRequestFunction, type HandleDocumentRequestFunction, type HandleErrorFunction, HashRouter, type HashRouterProps, type HeadersArgs, type HeadersFunction, type HistoryRouterProps, type HtmlLinkDescriptor, type HydrationState, IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, type IndexRouteObject, type IndexRouteProps, type InitialEntry, type InstrumentRequestHandlerFunction, type InstrumentRouteFunction, type InstrumentRouterFunction, type InstrumentationClientRouterResult, type InstrumentationHandlerResult, type InstrumentationServerHandlerResult, type IsCookieFunction, type IsSessionFunction, type LayoutRouteProps, type LazyRouteFunction, Link, type LinkDescriptor, type LinkProps, Links, type LinksFunction, type LinksProps, type LoaderFunction, type LoaderFunctionArgs, type Location, MemoryRouter, type MemoryRouterOpts, type MemoryRouterProps, Meta, type MetaArgs, type MetaDescriptor, type MetaFunction, type MiddlewareFunction, NavLink, type NavLinkProps, type NavLinkRenderProps, Navigate, type NavigateFunction, type NavigateOptions, type NavigateProps, type Navigation, type NavigationStates, Action as NavigationType, type Navigator, type NonIndexRouteObject, Outlet, type OutletProps, type PageLinkDescriptor, type ParamKeyValuePair, type ParamParseKey, type Params, type PatchRoutesOnNavigationFunction, type PatchRoutesOnNavigationFunctionArgs, type Path, type PathMatch, type PathParam, type PathPattern, type PathRouteProps, type PrefetchBehavior, PrefetchPageLinks, type RedirectFunction, type Register, type RelativeRoutingType, type RequestHandler, type RevalidationState, Route, type RouteMatch, type RouteObject, type RouteProps, Router$1 as Router, type RouterContext, RouterContextProvider, type RouterFetchOptions, type RouterInit, type RouterNavigateOptions, type RouterProps, RouterProvider, type RouterProviderProps, type RouterState, type RouterSubscriber, Routes, type RoutesProps, type RoutesTestStubProps, Scripts, type ScriptsProps, ScrollRestoration, type ScrollRestorationProps, type ServerBuild, type ServerEntryModule, type ServerInstrumentation, ServerRouter, type ServerRouterProps, type Session, type SessionData, type SessionIdStorageStrategy, type SessionStorage, type SetURLSearchParams, type ShouldRevalidateFunction, type ShouldRevalidateFunctionArgs, type StaticHandler, type StaticHandlerContext, StaticRouter, type StaticRouterProps, StaticRouterProvider, type StaticRouterProviderProps, type SubmitFunction, type SubmitOptions, type SubmitTarget, type To, type UIMatch, type AssetsManifest as UNSAFE_AssetsManifest, AwaitContextProvider as UNSAFE_AwaitContextProvider, DataRouterContext as UNSAFE_DataRouterContext, DataRouterDataContext as UNSAFE_DataRouterDataContext, DataRouterNavigationContext as UNSAFE_DataRouterNavigationContext, DataRouterStateContext as UNSAFE_DataRouterStateContext, type DataWithResponseInit as UNSAFE_DataWithResponseInit, ErrorResponseImpl as UNSAFE_ErrorResponseImpl, FetchersContext as UNSAFE_FetchersContext, FrameworkContext as UNSAFE_FrameworkContext, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RSCDefaultRootErrorBoundary as UNSAFE_RSCDefaultRootErrorBoundary, RemixErrorBoundary as UNSAFE_RemixErrorBoundary, RouteContext as UNSAFE_RouteContext, type RouteModules as UNSAFE_RouteModules, ServerMode as UNSAFE_ServerMode, SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol, ViewTransitionContext as UNSAFE_ViewTransitionContext, WithComponentProps as UNSAFE_WithComponentProps, WithErrorBoundaryProps as UNSAFE_WithErrorBoundaryProps, WithHydrateFallbackProps as UNSAFE_WithHydrateFallbackProps, createBrowserHistory as UNSAFE_createBrowserHistory, createClientRoutes as UNSAFE_createClientRoutes, createClientRoutesWithHMRRevalidationOptOut as UNSAFE_createClientRoutesWithHMRRevalidationOptOut, createHashHistory as UNSAFE_createHashHistory, createMemoryHistory as UNSAFE_createMemoryHistory, createRouter as UNSAFE_createRouter, decodeViaTurboStream as UNSAFE_decodeViaTurboStream, defaultMapRouteProperties as UNSAFE_defaultMapRouteProperties, getHydrationData as UNSAFE_getHydrationData, getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction, getTurboStreamSingleFetchDataStrategy as UNSAFE_getTurboStreamSingleFetchDataStrategy, hydrationRouteProperties as UNSAFE_hydrationRouteProperties, invariant as UNSAFE_invariant, shouldHydrateRouteLoader as UNSAFE_shouldHydrateRouteLoader, useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery, useScrollRestoration as UNSAFE_useScrollRestoration, withComponentProps as UNSAFE_withComponentProps, withErrorBoundaryProps as UNSAFE_withErrorBoundaryProps, withHydrateFallbackProps as UNSAFE_withHydrateFallbackProps, type URLSearchParamsInit, createBrowserRouter, createContext, createCookie, createCookieSessionStorage, createHashRouter, createMemoryRouter, createMemorySessionStorage, createPath, createRequestHandler, createRoutesFromChildren, createRoutesFromElements, createRoutesStub, createSearchParams, createSession, createSessionStorage, createStaticHandler, createStaticRouter, data, generatePath, href, isCookie, isRouteErrorResponse, isSession, matchPath, matchRoutes, parsePath, redirect, redirectDocument, renderMatches, replace, resolvePath, type BrowserCreateFromReadableStreamFunction as unstable_BrowserCreateFromReadableStreamFunction, type DecodeActionFunction as unstable_DecodeActionFunction, type DecodeFormStateFunction as unstable_DecodeFormStateFunction, type DecodeReplyFunction as unstable_DecodeReplyFunction, type EncodeReplyFunction as unstable_EncodeReplyFunction, HistoryRouter as unstable_HistoryRouter, type LoadServerActionFunction as unstable_LoadServerActionFunction, type RSCHydratedRouterProps as unstable_RSCHydratedRouterProps, type RSCManifestPayload as unstable_RSCManifestPayload, type RSCMatch as unstable_RSCMatch, type RSCPayload as unstable_RSCPayload, type RSCRenderPayload as unstable_RSCRenderPayload, type RSCRouteConfig as unstable_RSCRouteConfig, type RSCRouteConfigEntry as unstable_RSCRouteConfigEntry, type RSCRouteManifest as unstable_RSCRouteManifest, type RSCRouteMatch as unstable_RSCRouteMatch, RSCStaticRouter as unstable_RSCStaticRouter, type RSCStaticRouterProps as unstable_RSCStaticRouterProps, type unstable_RouterState, type unstable_RouterStateActiveVariant, type unstable_RouterStatePendingVariant, type SSRCreateFromReadableStreamFunction as unstable_SSRCreateFromReadableStreamFunction, type unstable_SerializesTo, unstable_getRequest, unstable_matchRSCServerRequest, routeRSCServerRequest as unstable_routeRSCServerRequest, setDevServerHooks as unstable_setDevServerHooks, usePrompt as unstable_usePrompt, useRoute as unstable_useRoute, useRouterState as unstable_useRouterState, useActionData, useAsyncError, useAsyncValue, useBeforeUnload, useBlocker, useFetcher, useFetchers, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes, useSearchParams, useSubmit, useViewTransitionState };
|
package/dist/production/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v8.
|
|
2
|
+
* react-router v8.4.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, invariant, parsePath } from "./lib/router/history.js";
|
|
13
13
|
import { ErrorResponseImpl, RouterContextProvider, createContext, data, defaultMapRouteProperties, generatePath, isRouteErrorResponse, matchPath, matchRoutes, redirect, redirectDocument, replace, resolvePath } from "./lib/router/utils.js";
|
|
14
14
|
import { IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, createRouter, createStaticHandler } from "./lib/router/router.js";
|
|
15
|
-
import { AwaitContextProvider, DataRouterContext, DataRouterStateContext, FetchersContext, LocationContext, NavigationContext, RouteContext, ViewTransitionContext } from "./lib/context.js";
|
|
15
|
+
import { AwaitContextProvider, DataRouterContext, DataRouterDataContext, DataRouterNavigationContext, DataRouterStateContext, FetchersContext, LocationContext, NavigationContext, RouteContext, ViewTransitionContext } from "./lib/context.js";
|
|
16
16
|
import { useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRoute, useRouteError, useRouteLoaderData, useRouterState, useRoutes } from "./lib/hooks.js";
|
|
17
17
|
import { Await, MemoryRouter, Navigate, Outlet, Route, Router, RouterProvider, Routes, WithComponentProps, WithErrorBoundaryProps, WithHydrateFallbackProps, createMemoryRouter, createRoutesFromChildren, createRoutesFromElements, hydrationRouteProperties, renderMatches, withComponentProps, withErrorBoundaryProps, withHydrateFallbackProps } from "./lib/components.js";
|
|
18
18
|
import { createSearchParams } from "./lib/dom/dom.js";
|
|
@@ -42,4 +42,4 @@ import { getHydrationData } from "./lib/dom/ssr/hydration.js";
|
|
|
42
42
|
* @mergeModuleWith react-router
|
|
43
43
|
*/
|
|
44
44
|
//#endregion
|
|
45
|
-
export { Await, BrowserRouter, Form, HashRouter, IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, Link, Links, MemoryRouter, Meta, NavLink, Navigate, Action as NavigationType, Outlet, PrefetchPageLinks, Route, Router, RouterContextProvider, RouterProvider, Routes, Scripts, ScrollRestoration, ServerRouter, StaticRouter, StaticRouterProvider, AwaitContextProvider as UNSAFE_AwaitContextProvider, DataRouterContext as UNSAFE_DataRouterContext, DataRouterStateContext as UNSAFE_DataRouterStateContext, ErrorResponseImpl as UNSAFE_ErrorResponseImpl, FetchersContext as UNSAFE_FetchersContext, FrameworkContext as UNSAFE_FrameworkContext, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RSCDefaultRootErrorBoundary as UNSAFE_RSCDefaultRootErrorBoundary, RemixErrorBoundary as UNSAFE_RemixErrorBoundary, RouteContext as UNSAFE_RouteContext, ServerMode as UNSAFE_ServerMode, SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol, ViewTransitionContext as UNSAFE_ViewTransitionContext, WithComponentProps as UNSAFE_WithComponentProps, WithErrorBoundaryProps as UNSAFE_WithErrorBoundaryProps, WithHydrateFallbackProps as UNSAFE_WithHydrateFallbackProps, createBrowserHistory as UNSAFE_createBrowserHistory, createClientRoutes as UNSAFE_createClientRoutes, createClientRoutesWithHMRRevalidationOptOut as UNSAFE_createClientRoutesWithHMRRevalidationOptOut, createHashHistory as UNSAFE_createHashHistory, createMemoryHistory as UNSAFE_createMemoryHistory, createRouter as UNSAFE_createRouter, decodeViaTurboStream as UNSAFE_decodeViaTurboStream, defaultMapRouteProperties as UNSAFE_defaultMapRouteProperties, getHydrationData as UNSAFE_getHydrationData, getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction, getTurboStreamSingleFetchDataStrategy as UNSAFE_getTurboStreamSingleFetchDataStrategy, hydrationRouteProperties as UNSAFE_hydrationRouteProperties, invariant as UNSAFE_invariant, shouldHydrateRouteLoader as UNSAFE_shouldHydrateRouteLoader, useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery, useScrollRestoration as UNSAFE_useScrollRestoration, withComponentProps as UNSAFE_withComponentProps, withErrorBoundaryProps as UNSAFE_withErrorBoundaryProps, withHydrateFallbackProps as UNSAFE_withHydrateFallbackProps, createBrowserRouter, createContext, createCookie, createCookieSessionStorage, createHashRouter, createMemoryRouter, createMemorySessionStorage, createPath, createRequestHandler, createRoutesFromChildren, createRoutesFromElements, createRoutesStub, createSearchParams, createSession, createSessionStorage, createStaticHandler, createStaticRouter, data, generatePath, href, isCookie, isRouteErrorResponse, isSession, matchPath, matchRoutes, parsePath, redirect, redirectDocument, renderMatches, replace, resolvePath, HistoryRouter as unstable_HistoryRouter, RSCStaticRouter as unstable_RSCStaticRouter, routeRSCServerRequest as unstable_routeRSCServerRequest, setDevServerHooks as unstable_setDevServerHooks, usePrompt as unstable_usePrompt, useRoute as unstable_useRoute, useRouterState as unstable_useRouterState, useActionData, useAsyncError, useAsyncValue, useBeforeUnload, useBlocker, useFetcher, useFetchers, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes, useSearchParams, useSubmit, useViewTransitionState };
|
|
45
|
+
export { Await, BrowserRouter, Form, HashRouter, IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, Link, Links, MemoryRouter, Meta, NavLink, Navigate, Action as NavigationType, Outlet, PrefetchPageLinks, Route, Router, RouterContextProvider, RouterProvider, Routes, Scripts, ScrollRestoration, ServerRouter, StaticRouter, StaticRouterProvider, AwaitContextProvider as UNSAFE_AwaitContextProvider, DataRouterContext as UNSAFE_DataRouterContext, DataRouterDataContext as UNSAFE_DataRouterDataContext, DataRouterNavigationContext as UNSAFE_DataRouterNavigationContext, DataRouterStateContext as UNSAFE_DataRouterStateContext, ErrorResponseImpl as UNSAFE_ErrorResponseImpl, FetchersContext as UNSAFE_FetchersContext, FrameworkContext as UNSAFE_FrameworkContext, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RSCDefaultRootErrorBoundary as UNSAFE_RSCDefaultRootErrorBoundary, RemixErrorBoundary as UNSAFE_RemixErrorBoundary, RouteContext as UNSAFE_RouteContext, ServerMode as UNSAFE_ServerMode, SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol, ViewTransitionContext as UNSAFE_ViewTransitionContext, WithComponentProps as UNSAFE_WithComponentProps, WithErrorBoundaryProps as UNSAFE_WithErrorBoundaryProps, WithHydrateFallbackProps as UNSAFE_WithHydrateFallbackProps, createBrowserHistory as UNSAFE_createBrowserHistory, createClientRoutes as UNSAFE_createClientRoutes, createClientRoutesWithHMRRevalidationOptOut as UNSAFE_createClientRoutesWithHMRRevalidationOptOut, createHashHistory as UNSAFE_createHashHistory, createMemoryHistory as UNSAFE_createMemoryHistory, createRouter as UNSAFE_createRouter, decodeViaTurboStream as UNSAFE_decodeViaTurboStream, defaultMapRouteProperties as UNSAFE_defaultMapRouteProperties, getHydrationData as UNSAFE_getHydrationData, getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction, getTurboStreamSingleFetchDataStrategy as UNSAFE_getTurboStreamSingleFetchDataStrategy, hydrationRouteProperties as UNSAFE_hydrationRouteProperties, invariant as UNSAFE_invariant, shouldHydrateRouteLoader as UNSAFE_shouldHydrateRouteLoader, useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery, useScrollRestoration as UNSAFE_useScrollRestoration, withComponentProps as UNSAFE_withComponentProps, withErrorBoundaryProps as UNSAFE_withErrorBoundaryProps, withHydrateFallbackProps as UNSAFE_withHydrateFallbackProps, createBrowserRouter, createContext, createCookie, createCookieSessionStorage, createHashRouter, createMemoryRouter, createMemorySessionStorage, createPath, createRequestHandler, createRoutesFromChildren, createRoutesFromElements, createRoutesStub, createSearchParams, createSession, createSessionStorage, createStaticHandler, createStaticRouter, data, generatePath, href, isCookie, isRouteErrorResponse, isSession, matchPath, matchRoutes, parsePath, redirect, redirectDocument, renderMatches, replace, resolvePath, HistoryRouter as unstable_HistoryRouter, RSCStaticRouter as unstable_RSCStaticRouter, routeRSCServerRequest as unstable_routeRSCServerRequest, setDevServerHooks as unstable_setDevServerHooks, usePrompt as unstable_usePrompt, useRoute as unstable_useRoute, useRouterState as unstable_useRouterState, useActionData, useAsyncError, useAsyncValue, useBeforeUnload, useBlocker, useFetcher, useFetchers, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes, useSearchParams, useSubmit, useViewTransitionState };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v8.
|
|
2
|
+
* react-router v8.4.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -12,7 +12,7 @@ import { createMemoryHistory, createPath, invariant, parsePath, warning } from "
|
|
|
12
12
|
import { defaultMapRouteProperties, getResolveToMatches, getRoutePattern, resolveTo, stripBasename } from "./router/utils.js";
|
|
13
13
|
import { getNavigatorCurrentUrl, validateNavigationTarget } from "./router/navigation.js";
|
|
14
14
|
import { createRouter } from "./router/router.js";
|
|
15
|
-
import { AwaitContext, DataRouterContext, DataRouterStateContext, FetchersContext, LocationContext, NavigationContext, RouteContext, ViewTransitionContext, useIsRSCRouterContext } from "./context.js";
|
|
15
|
+
import { AwaitContext, DataRouterContext, DataRouterDataContext, DataRouterNavigationContext, DataRouterStateContext, FetchersContext, LocationContext, NavigationContext, RouteContext, ViewTransitionContext, useIsRSCRouterContext } from "./context.js";
|
|
16
16
|
import { _renderMatches, useActionData, useAsyncValue, useInRouterContext, useLoaderData, useLocation, useMatches, useNavigate, useOutlet, useParams, useRouteError, useRoutes, useRoutesImpl } from "./hooks.js";
|
|
17
17
|
import { warnOnce } from "./server-runtime/warnings.js";
|
|
18
18
|
import * as React$1 from "react";
|
|
@@ -284,7 +284,43 @@ function RouterProvider({ router, flushSync: reactDomFlushSyncImpl, onError, use
|
|
|
284
284
|
basename,
|
|
285
285
|
onError
|
|
286
286
|
]);
|
|
287
|
-
|
|
287
|
+
let dataRouterState = React$1.useMemo(() => ({
|
|
288
|
+
historyAction: state.historyAction,
|
|
289
|
+
location: state.location,
|
|
290
|
+
matches: state.matches,
|
|
291
|
+
initialized: state.initialized,
|
|
292
|
+
renderFallback: state.renderFallback,
|
|
293
|
+
restoreScrollPosition: state.restoreScrollPosition,
|
|
294
|
+
preventScrollReset: state.preventScrollReset,
|
|
295
|
+
blockers: state.blockers
|
|
296
|
+
}), [
|
|
297
|
+
state.historyAction,
|
|
298
|
+
state.location,
|
|
299
|
+
state.matches,
|
|
300
|
+
state.initialized,
|
|
301
|
+
state.renderFallback,
|
|
302
|
+
state.restoreScrollPosition,
|
|
303
|
+
state.preventScrollReset,
|
|
304
|
+
state.blockers
|
|
305
|
+
]);
|
|
306
|
+
let dataRouterNavigation = React$1.useMemo(() => ({
|
|
307
|
+
navigation: state.navigation,
|
|
308
|
+
revalidation: state.revalidation
|
|
309
|
+
}), [state.navigation, state.revalidation]);
|
|
310
|
+
let dataRouterData = React$1.useMemo(() => ({
|
|
311
|
+
loaderData: state.loaderData,
|
|
312
|
+
actionData: state.actionData,
|
|
313
|
+
errors: state.errors
|
|
314
|
+
}), [
|
|
315
|
+
state.loaderData,
|
|
316
|
+
state.actionData,
|
|
317
|
+
state.errors
|
|
318
|
+
]);
|
|
319
|
+
let fetchersContext = React$1.useMemo(() => ({
|
|
320
|
+
fetchers: state.fetchers,
|
|
321
|
+
fetcherData: fetcherData.current
|
|
322
|
+
}), [state.fetchers]);
|
|
323
|
+
return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(DataRouterContext.Provider, { value: dataRouterContext }, /* @__PURE__ */ React$1.createElement(DataRouterStateContext.Provider, { value: dataRouterState }, /* @__PURE__ */ React$1.createElement(DataRouterNavigationContext.Provider, { value: dataRouterNavigation }, /* @__PURE__ */ React$1.createElement(DataRouterDataContext.Provider, { value: dataRouterData }, /* @__PURE__ */ React$1.createElement(FetchersContext.Provider, { value: fetchersContext }, /* @__PURE__ */ React$1.createElement(ViewTransitionContext.Provider, { value: vtContext }, /* @__PURE__ */ React$1.createElement(Router, {
|
|
288
324
|
basename,
|
|
289
325
|
location: state.location,
|
|
290
326
|
navigationType: state.historyAction,
|
|
@@ -293,11 +329,10 @@ function RouterProvider({ router, flushSync: reactDomFlushSyncImpl, onError, use
|
|
|
293
329
|
}, /* @__PURE__ */ React$1.createElement(MemoizedDataRoutes, {
|
|
294
330
|
routes: router.routes,
|
|
295
331
|
manifest: router.manifest,
|
|
296
|
-
future: router.future,
|
|
297
332
|
state,
|
|
298
333
|
isStatic: false,
|
|
299
334
|
onError
|
|
300
|
-
})))))), null);
|
|
335
|
+
})))))))), null);
|
|
301
336
|
}
|
|
302
337
|
function getOptimisticRouterState(currentState, newState) {
|
|
303
338
|
return {
|
|
@@ -309,13 +344,15 @@ function getOptimisticRouterState(currentState, newState) {
|
|
|
309
344
|
};
|
|
310
345
|
}
|
|
311
346
|
const MemoizedDataRoutes = React$1.memo(DataRoutes);
|
|
312
|
-
function DataRoutes({ routes, manifest,
|
|
347
|
+
function DataRoutes({ routes, manifest, state, isStatic, onError }) {
|
|
348
|
+
let dataRouterContext = React$1.useContext(DataRouterContext);
|
|
349
|
+
invariant(dataRouterContext, "You must render this element inside a <DataRouterContext.Provider> element");
|
|
313
350
|
return useRoutesImpl(routes, void 0, {
|
|
351
|
+
router: dataRouterContext.router,
|
|
314
352
|
manifest,
|
|
315
353
|
state,
|
|
316
354
|
isStatic,
|
|
317
|
-
onError
|
|
318
|
-
future
|
|
355
|
+
onError
|
|
319
356
|
});
|
|
320
357
|
}
|
|
321
358
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { Action, History, Location, To } from "./router/history.js";
|
|
3
3
|
import { RouteMatch, TrackedPromise } from "./router/utils.js";
|
|
4
|
-
import { RelativeRoutingType, Router,
|
|
4
|
+
import { RelativeRoutingType, Router, StaticHandlerContext } from "./router/router.js";
|
|
5
5
|
import { ClientOnErrorFunction } from "./components.js";
|
|
6
6
|
import * as React$1 from "react";
|
|
7
7
|
|
|
@@ -12,7 +12,12 @@ interface DataRouterContextObject extends Omit<NavigationContextObject, "future"
|
|
|
12
12
|
onError?: ClientOnErrorFunction;
|
|
13
13
|
}
|
|
14
14
|
declare const DataRouterContext: React$1.Context<DataRouterContextObject | null>;
|
|
15
|
-
|
|
15
|
+
type DataRouterDataContextObject = Pick<Router["state"], "loaderData" | "actionData" | "errors">;
|
|
16
|
+
type DataRouterNavigationContextObject = Pick<Router["state"], "navigation" | "revalidation">;
|
|
17
|
+
type DataRouterStateContextObject = Omit<Router["state"], keyof DataRouterDataContextObject | keyof DataRouterNavigationContextObject | "fetchers">;
|
|
18
|
+
declare const DataRouterStateContext: React$1.Context<DataRouterStateContextObject | null>;
|
|
19
|
+
declare const DataRouterDataContext: React$1.Context<DataRouterDataContextObject | null>;
|
|
20
|
+
declare const DataRouterNavigationContext: React$1.Context<DataRouterNavigationContextObject | null>;
|
|
16
21
|
type ViewTransitionContextObject = {
|
|
17
22
|
isTransitioning: false;
|
|
18
23
|
} | {
|
|
@@ -22,8 +27,11 @@ type ViewTransitionContextObject = {
|
|
|
22
27
|
nextLocation: Location;
|
|
23
28
|
};
|
|
24
29
|
declare const ViewTransitionContext: React$1.Context<ViewTransitionContextObject>;
|
|
25
|
-
type FetchersContextObject =
|
|
26
|
-
|
|
30
|
+
type FetchersContextObject = {
|
|
31
|
+
fetchers: Router["state"]["fetchers"];
|
|
32
|
+
fetcherData: Map<string, any>;
|
|
33
|
+
};
|
|
34
|
+
declare const FetchersContext: React$1.Context<FetchersContextObject | null>;
|
|
27
35
|
declare const AwaitContext: React$1.Context<TrackedPromise | null>;
|
|
28
36
|
declare const AwaitContextProvider: (props: React$1.ComponentProps<typeof AwaitContext.Provider>) => React$1.FunctionComponentElement<React$1.ProviderProps<TrackedPromise | null>>;
|
|
29
37
|
interface NavigateOptions {
|
|
@@ -81,4 +89,4 @@ interface RouteContextObject {
|
|
|
81
89
|
}
|
|
82
90
|
declare const RouteContext: React$1.Context<RouteContextObject>;
|
|
83
91
|
//#endregion
|
|
84
|
-
export { AwaitContextProvider, DataRouterContext, DataRouterStateContext, FetchersContext, LocationContext, NavigateOptions, NavigationContext, Navigator, RouteContext, ViewTransitionContext };
|
|
92
|
+
export { AwaitContextProvider, DataRouterContext, DataRouterDataContext, DataRouterNavigationContext, DataRouterStateContext, FetchersContext, LocationContext, NavigateOptions, NavigationContext, Navigator, RouteContext, ViewTransitionContext };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v8.
|
|
2
|
+
* react-router v8.4.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -14,13 +14,17 @@ const DataRouterContext = React$1.createContext(null);
|
|
|
14
14
|
DataRouterContext.displayName = "DataRouter";
|
|
15
15
|
const DataRouterStateContext = React$1.createContext(null);
|
|
16
16
|
DataRouterStateContext.displayName = "DataRouterState";
|
|
17
|
+
const DataRouterDataContext = React$1.createContext(null);
|
|
18
|
+
DataRouterDataContext.displayName = "DataRouterData";
|
|
19
|
+
const DataRouterNavigationContext = React$1.createContext(null);
|
|
20
|
+
DataRouterNavigationContext.displayName = "DataRouterNavigation";
|
|
17
21
|
const RSCRouterContext = React$1.createContext(false);
|
|
18
22
|
function useIsRSCRouterContext() {
|
|
19
23
|
return React$1.useContext(RSCRouterContext);
|
|
20
24
|
}
|
|
21
25
|
const ViewTransitionContext = React$1.createContext({ isTransitioning: false });
|
|
22
26
|
ViewTransitionContext.displayName = "ViewTransition";
|
|
23
|
-
const FetchersContext = React$1.createContext(
|
|
27
|
+
const FetchersContext = React$1.createContext(null);
|
|
24
28
|
FetchersContext.displayName = "Fetchers";
|
|
25
29
|
const AwaitContext = React$1.createContext(null);
|
|
26
30
|
AwaitContext.displayName = "Await";
|
|
@@ -35,7 +39,11 @@ const RouteContext = React$1.createContext({
|
|
|
35
39
|
isDataRoute: false
|
|
36
40
|
});
|
|
37
41
|
RouteContext.displayName = "Route";
|
|
42
|
+
const IsDataRouteContext = React$1.createContext(false);
|
|
43
|
+
IsDataRouteContext.displayName = "IsDataRoute";
|
|
44
|
+
const RouteIdContext = React$1.createContext(void 0);
|
|
45
|
+
RouteIdContext.displayName = "RouteId";
|
|
38
46
|
const RouteErrorContext = React$1.createContext(null);
|
|
39
47
|
RouteErrorContext.displayName = "RouteError";
|
|
40
48
|
//#endregion
|
|
41
|
-
export { AwaitContext, AwaitContextProvider, DataRouterContext, DataRouterStateContext, FetchersContext, LocationContext, NavigationContext, RSCRouterContext, RouteContext, RouteErrorContext, ViewTransitionContext, useIsRSCRouterContext };
|
|
49
|
+
export { AwaitContext, AwaitContextProvider, DataRouterContext, DataRouterDataContext, DataRouterNavigationContext, DataRouterStateContext, FetchersContext, IsDataRouteContext, LocationContext, NavigationContext, RSCRouterContext, RouteContext, RouteErrorContext, RouteIdContext, ViewTransitionContext, useIsRSCRouterContext };
|