react-router 0.0.0-experimental-56b72276e → 0.0.0-experimental-58b44aa83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/CHANGELOG.md +120 -0
  2. package/dist/{production/browser-Cloic07w.d.ts → development/browser-C9Ar1yxG.d.ts} +15 -11
  3. package/dist/development/{browser-Cloic07w.d.ts → browser-vtIR1Kpe.d.mts} +15 -11
  4. package/dist/development/{chunk-C35YGSX6.mjs → chunk-5AVCKGCU.mjs} +363 -204
  5. package/dist/{production/chunk-N2N4A2FL.mjs → development/chunk-6TM67YJ5.mjs} +102 -52
  6. package/dist/development/{chunk-AEFPRTVA.js → chunk-KHCIEBEF.js} +7 -7
  7. package/dist/{production/chunk-DEXURW6G.js → development/chunk-SVGRUSZL.js} +106 -109
  8. package/dist/development/{chunk-PUKCNFVJ.js → chunk-WV6HWEIS.js} +419 -257
  9. package/dist/development/context-phCt_zmH.d.mts +1713 -0
  10. package/dist/development/dom-export.d.mts +3 -2
  11. package/dist/development/dom-export.d.ts +3 -2
  12. package/dist/development/dom-export.js +89 -55
  13. package/dist/development/dom-export.mjs +59 -25
  14. package/dist/{production/index-react-server-client-Y7cd_xTA.d.ts → development/index-react-server-client-C41e-M56.d.ts} +1069 -12
  15. package/dist/development/{index-react-server-client--SGjRgyj.d.mts → index-react-server-client-DB0NZKUQ.d.mts} +6 -4
  16. package/dist/development/index-react-server-client.d.mts +3 -2
  17. package/dist/development/index-react-server-client.d.ts +3 -2
  18. package/dist/development/index-react-server-client.js +4 -4
  19. package/dist/development/index-react-server-client.mjs +2 -2
  20. package/dist/development/index-react-server.d.mts +309 -249
  21. package/dist/development/index-react-server.d.ts +309 -249
  22. package/dist/development/index-react-server.js +178 -60
  23. package/dist/development/index-react-server.mjs +178 -60
  24. package/dist/development/index.d.mts +16 -14
  25. package/dist/development/index.d.ts +16 -14
  26. package/dist/development/index.js +195 -145
  27. package/dist/development/index.mjs +3 -3
  28. package/dist/development/instrumentation-BYr6ff5D.d.ts +657 -0
  29. package/dist/development/lib/types/internal.d.mts +14 -14
  30. package/dist/development/lib/types/internal.d.ts +14 -14
  31. package/dist/development/lib/types/internal.js +1 -1
  32. package/dist/development/lib/types/internal.mjs +1 -1
  33. package/dist/development/{register-B86pZKib.d.ts → register-CTxsJBKQ.d.mts} +1 -1
  34. package/dist/development/{register-DA0Mb5jF.d.mts → register-CkcGwv27.d.ts} +1 -1
  35. package/dist/development/routeModules-BRrCYrSL.d.mts +1693 -0
  36. package/dist/development/routeModules-CA7kSxJJ.d.ts +1693 -0
  37. package/dist/production/{browser-JuMzyCK4.d.mts → browser-C9Ar1yxG.d.ts} +15 -11
  38. package/dist/{development/browser-JuMzyCK4.d.mts → production/browser-vtIR1Kpe.d.mts} +15 -11
  39. package/dist/production/{chunk-KDSQNTYZ.js → chunk-AFBUA5Y5.js} +419 -257
  40. package/dist/production/{chunk-WUU6KOE6.mjs → chunk-B53VLDMB.mjs} +363 -204
  41. package/dist/{development/chunk-63U7QHOO.js → production/chunk-PZICA6SF.js} +106 -109
  42. package/dist/{development/chunk-66UV33R5.mjs → production/chunk-RPK2B53V.mjs} +102 -52
  43. package/dist/production/{chunk-CYERTBD4.js → chunk-TN7VWBEQ.js} +7 -7
  44. package/dist/production/context-phCt_zmH.d.mts +1713 -0
  45. package/dist/production/dom-export.d.mts +3 -2
  46. package/dist/production/dom-export.d.ts +3 -2
  47. package/dist/production/dom-export.js +89 -55
  48. package/dist/production/dom-export.mjs +59 -25
  49. package/dist/production/{index-react-server-client--SGjRgyj.d.mts → index-react-server-client-C41e-M56.d.ts} +1069 -12
  50. package/dist/{development/index-react-server-client-Y7cd_xTA.d.ts → production/index-react-server-client-DB0NZKUQ.d.mts} +6 -4
  51. package/dist/production/index-react-server-client.d.mts +3 -2
  52. package/dist/production/index-react-server-client.d.ts +3 -2
  53. package/dist/production/index-react-server-client.js +4 -4
  54. package/dist/production/index-react-server-client.mjs +2 -2
  55. package/dist/production/index-react-server.d.mts +309 -249
  56. package/dist/production/index-react-server.d.ts +309 -249
  57. package/dist/production/index-react-server.js +178 -60
  58. package/dist/production/index-react-server.mjs +178 -60
  59. package/dist/production/index.d.mts +16 -14
  60. package/dist/production/index.d.ts +16 -14
  61. package/dist/production/index.js +195 -145
  62. package/dist/production/index.mjs +3 -3
  63. package/dist/production/instrumentation-BYr6ff5D.d.ts +657 -0
  64. package/dist/production/lib/types/internal.d.mts +14 -14
  65. package/dist/production/lib/types/internal.d.ts +14 -14
  66. package/dist/production/lib/types/internal.js +1 -1
  67. package/dist/production/lib/types/internal.mjs +1 -1
  68. package/dist/production/{register-B86pZKib.d.ts → register-CTxsJBKQ.d.mts} +1 -1
  69. package/dist/production/{register-DA0Mb5jF.d.mts → register-CkcGwv27.d.ts} +1 -1
  70. package/dist/production/routeModules-BRrCYrSL.d.mts +1693 -0
  71. package/dist/production/routeModules-CA7kSxJJ.d.ts +1693 -0
  72. package/package.json +1 -1
  73. package/dist/development/instrumentation-C7Lh_MjH.d.ts +0 -3340
  74. package/dist/development/router-CFkT48p_.d.mts +0 -3340
  75. package/dist/production/instrumentation-C7Lh_MjH.d.ts +0 -3340
  76. package/dist/production/router-CFkT48p_.d.mts +0 -3340
package/CHANGELOG.md CHANGED
@@ -1,5 +1,125 @@
1
1
  # `react-router`
2
2
 
3
+ ## 7.13.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Fix clientLoader.hydrate when an ancestor route is also hydrating a clientLoader ([#14835](https://github.com/remix-run/react-router/pull/14835))
8
+
9
+ - Fix type error when passing Framework Mode route components using `Route.ComponentProps` to `createRoutesStub` ([#14892](https://github.com/remix-run/react-router/pull/14892))
10
+
11
+ - Fix percent encoding in relative path navigation ([#14786](https://github.com/remix-run/react-router/pull/14786))
12
+
13
+ - Add `future.unstable_passThroughRequests` flag ([#14775](https://github.com/remix-run/react-router/pull/14775))
14
+
15
+ By default, React Router normalizes the `request.url` passed to your `loader`, `action`, and `middleware` functions by removing React Router's internal implementation details (`.data` suffixes, `index` + `_routes` query params).
16
+
17
+ Enabling this flag removes that normalization and passes the raw HTTP `request` instance to your handlers. This provides a few benefits:
18
+ - Reduces server-side overhead by eliminating multiple `new Request()` calls on the critical path
19
+ - Allows you to distinguish document from data requests in your handlers base don the presence of a `.data` suffix (useful for observability purposes)
20
+
21
+ If you were previously relying on the normalization of `request.url`, you can switch to use the new sibling `unstable_url` parameter which contains a `URL` instance representing the normalized location:
22
+
23
+ ```tsx
24
+ // ❌ Before: you could assume there was no `.data` suffix in `request.url`
25
+ export async function loader({ request }: Route.LoaderArgs) {
26
+ let url = new URL(request.url);
27
+ if (url.pathname === "/path") {
28
+ // This check will fail with the flag enabled because the `.data` suffix will
29
+ // exist on data requests
30
+ }
31
+ }
32
+
33
+ // ✅ After: use `unstable_url` for normalized routing logic and `request.url`
34
+ // for raw routing logic
35
+ export async function loader({ request, unstable_url }: Route.LoaderArgs) {
36
+ if (unstable_url.pathname === "/path") {
37
+ // This will always have the `.data` suffix stripped
38
+ }
39
+
40
+ // And now you can distinguish between document versus data requests
41
+ let isDataRequest = new URL(request.url).pathname.endsWith(".data");
42
+ }
43
+ ```
44
+
45
+ - Internal refactor to consolidate framework-agnostic/React-specific route type layers - no public API changes ([#14765](https://github.com/remix-run/react-router/pull/14765))
46
+
47
+ - Sync protocol validation to rsc flows ([#14882](https://github.com/remix-run/react-router/pull/14882))
48
+
49
+ - Add a new `unstable_url: URL` parameter to route handler methods (`loader`, `action`, `middleware`, etc.) representing the normalized URL the application is navigating to or fetching, with React Router implementation details removed (`.data`suffix, `index`/`_routes` query params) ([#14775](https://github.com/remix-run/react-router/pull/14775))
50
+
51
+ This is being added alongside the new `future.unstable_passthroughRequests` future flag so that users still have a way to access the normalized URL when that flag is enabled and non-normalized `request`'s are being passed to your handlers. When adopting this flag, you will only need to start leveraging this new parameter if you are relying on the normalization of `request.url` in your application code.
52
+
53
+ If you don't have the flag enabled, then `unstable_url` will match `request.url`.
54
+
55
+ ## 7.13.1
56
+
57
+ ### Patch Changes
58
+
59
+ - fix null reference exception in bad codepath leading to invalid route tree comparisons ([#14780](https://github.com/remix-run/react-router/pull/14780))
60
+
61
+ - fix: clear timeout when turbo-stream encoding completes ([#14810](https://github.com/remix-run/react-router/pull/14810))
62
+
63
+ - Improve error message when Origin header is invalid ([#14743](https://github.com/remix-run/react-router/pull/14743))
64
+
65
+ - Fix matchPath optional params matching without a "/" separator. ([#14689](https://github.com/remix-run/react-router/pull/14689))
66
+ - matchPath("/users/:id?", "/usersblah") now returns null.
67
+ - matchPath("/test_route/:part?", "/test_route_more") now returns null.
68
+
69
+ - add RSC unstable_getRequest ([#14758](https://github.com/remix-run/react-router/pull/14758))
70
+
71
+ - Fix `HydrateFallback` rendering during initial lazy route discovery with matching splat route ([#14740](https://github.com/remix-run/react-router/pull/14740))
72
+
73
+ - \[UNSTABLE] Add support for `<Link unstable_mask>` in Data Mode which allows users to navigate to a URL in the router but "mask" the URL displayed in the browser. This is useful for contextual routing usages such as displaying an image in a model on top of a gallery, but displaying a browser URL directly to the image that can be shared and loaded without the contextual gallery in the background. ([#14716](https://github.com/remix-run/react-router/pull/14716))
74
+
75
+ ```tsx
76
+ // routes/gallery.tsx
77
+ export function clientLoader({ request }: Route.LoaderArgs) {
78
+ let sp = new URL(request.url).searchParams;
79
+ return {
80
+ images: getImages(),
81
+ // When the router location has the image param, load the modal data
82
+ modalImage: sp.has("image") ? getImage(sp.get("image")!) : null,
83
+ };
84
+ }
85
+
86
+ export default function Gallery({ loaderData }: Route.ComponentProps) {
87
+ return (
88
+ <>
89
+ <GalleryGrid>
90
+ {loaderData.images.map((image) => (
91
+ <Link
92
+ key={image.id}
93
+ {/* Navigate the router to /galley?image=N */}}
94
+ to={`/gallery?image=${image.id}`}
95
+ {/* But display /images/N in the URL bar */}}
96
+ unstable_mask={`/images/${image.id}`}
97
+ >
98
+ <img src={image.url} alt={image.alt} />
99
+ </Link>
100
+ ))}
101
+ </GalleryGrid>
102
+
103
+ {/* When the modal data exists, display the modal */}
104
+ {data.modalImage ? (
105
+ <dialog open>
106
+ <img src={data.modalImage.url} alt={data.modalImage.alt} />
107
+ </dialog>
108
+ ) : null}
109
+ </>
110
+ );
111
+ }
112
+ ```
113
+
114
+ Notes:
115
+ - The masked location, if present, will be available on `useLocation().unstable_mask` so you can detect whether you are currently masked or not.
116
+ - Masked URLs only work for SPA use cases, and will be removed from `history.state` during SSR.
117
+ - This provides a first-class API to mask URLs in Data Mode to achieve the same behavior you could do in Declarative Mode via [manual `backgroundLocation` management](https://github.com/remix-run/react-router/tree/main/examples/modal).
118
+
119
+ - RSC: Update failed origin checks to return a 400 status and appropriate UI instead of a generic 500 ([#14755](https://github.com/remix-run/react-router/pull/14755))
120
+
121
+ - Preserve query parameters and hash on manifest version mismatch reload ([#14813](https://github.com/remix-run/react-router/pull/14813))
122
+
3
123
  ## 7.13.0
4
124
 
5
125
  ### Minor Changes
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- import { L as Location, C as ClientActionFunction, a as ClientLoaderFunction, b as LinksFunction, M as MetaFunction, S as ShouldRevalidateFunction, P as Params, c as RouterContextProvider, A as ActionFunction, H as HeadersFunction, d as LoaderFunction, e as RouterInit } from './instrumentation-C7Lh_MjH.js';
2
+ import { R as RouterInit } from './instrumentation-BYr6ff5D.js';
3
+ import { L as Location, C as ClientActionFunction, a as ClientLoaderFunction, b as LinksFunction, M as MetaFunction, S as ShouldRevalidateFunction, P as Params, c as RouterContextProvider, A as ActionFunction, H as HeadersFunction, d as LoaderFunction } from './routeModules-CA7kSxJJ.js';
3
4
 
4
5
  declare function getRequest(): Request;
5
6
  type RSCRouteConfigEntryBase = {
@@ -64,14 +65,15 @@ type RSCRenderPayload = {
64
65
  errors: Record<string, any> | null;
65
66
  loaderData: Record<string, any>;
66
67
  location: Location;
68
+ routeDiscovery: RouteDiscovery;
67
69
  matches: RSCRouteMatch[];
68
- patches?: RSCRouteManifest[];
70
+ patches?: Promise<RSCRouteManifest[]>;
69
71
  nonce?: string;
70
72
  formState?: unknown;
71
73
  };
72
74
  type RSCManifestPayload = {
73
75
  type: "manifest";
74
- patches: RSCRouteManifest[];
76
+ patches: Promise<RSCRouteManifest[]>;
75
77
  };
76
78
  type RSCActionPayload = {
77
79
  type: "action";
@@ -98,6 +100,12 @@ type DecodeReplyFunction = (reply: FormData | string, options: {
98
100
  temporaryReferences: unknown;
99
101
  }) => Promise<unknown[]>;
100
102
  type LoadServerActionFunction = (id: string) => Promise<Function>;
103
+ type RouteDiscovery = {
104
+ mode: "lazy";
105
+ manifestPath?: string | undefined;
106
+ } | {
107
+ mode: "initial";
108
+ };
101
109
  /**
102
110
  * Matches the given routes to a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
103
111
  * and returns an [RSC](https://react.dev/reference/rsc/server-components)
@@ -164,12 +172,13 @@ type LoadServerActionFunction = (id: string) => Promise<Function>;
164
172
  * @param opts.requestContext An instance of {@link RouterContextProvider}
165
173
  * that should be created per request, to be passed to [`action`](../../start/data/route-object#action)s,
166
174
  * [`loader`](../../start/data/route-object#loader)s and [middleware](../../how-to/middleware).
175
+ * @param opts.routeDiscovery The route discovery configuration, used to determine how the router should discover new routes during navigations.
167
176
  * @param opts.routes Your {@link unstable_RSCRouteConfigEntry | route definitions}.
168
177
  * @returns A [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
169
178
  * that contains the [RSC](https://react.dev/reference/rsc/server-components)
170
179
  * data for hydration.
171
180
  */
172
- declare function matchRSCServerRequest({ allowedActionOrigins, createTemporaryReferenceSet, basename, decodeReply, requestContext, loadServerAction, decodeAction, decodeFormState, onError, request, routes, generateResponse, }: {
181
+ declare function matchRSCServerRequest({ allowedActionOrigins, createTemporaryReferenceSet, basename, decodeReply, requestContext, routeDiscovery, loadServerAction, decodeAction, decodeFormState, onError, request, routes, generateResponse, }: {
173
182
  allowedActionOrigins?: string[];
174
183
  createTemporaryReferenceSet: () => unknown;
175
184
  basename?: string;
@@ -181,6 +190,7 @@ declare function matchRSCServerRequest({ allowedActionOrigins, createTemporaryRe
181
190
  onError?: (error: unknown) => void;
182
191
  request: Request;
183
192
  routes: RSCRouteConfigEntry[];
193
+ routeDiscovery?: RouteDiscovery;
184
194
  generateResponse: (match: RSCMatch, { onError, temporaryReferences, }: {
185
195
  onError(error: unknown): string | undefined;
186
196
  temporaryReferences: unknown;
@@ -255,11 +265,6 @@ interface RSCHydratedRouterProps {
255
265
  * The decoded {@link unstable_RSCPayload} to hydrate.
256
266
  */
257
267
  payload: RSCPayload;
258
- /**
259
- * `"eager"` or `"lazy"` - Determines if links are eagerly discovered, or
260
- * delayed until clicked.
261
- */
262
- routeDiscovery?: "eager" | "lazy";
263
268
  /**
264
269
  * A function that returns an {@link RouterContextProvider} instance
265
270
  * which is provided as the `context` argument to client [`action`](../../start/data/route-object#action)s,
@@ -305,10 +310,9 @@ interface RSCHydratedRouterProps {
305
310
  * @param {unstable_RSCHydratedRouterProps.fetch} props.fetch n/a
306
311
  * @param {unstable_RSCHydratedRouterProps.getContext} props.getContext n/a
307
312
  * @param {unstable_RSCHydratedRouterProps.payload} props.payload n/a
308
- * @param {unstable_RSCHydratedRouterProps.routeDiscovery} props.routeDiscovery n/a
309
313
  * @returns A hydrated {@link DataRouter} that can be used to navigate and
310
314
  * render routes.
311
315
  */
312
- declare function RSCHydratedRouter({ createFromReadableStream, fetch: fetchImplementation, payload, routeDiscovery, getContext, }: RSCHydratedRouterProps): React.JSX.Element;
316
+ declare function RSCHydratedRouter({ createFromReadableStream, fetch: fetchImplementation, payload, getContext, }: RSCHydratedRouterProps): React.JSX.Element;
313
317
 
314
318
  export { type BrowserCreateFromReadableStreamFunction as B, type DecodeActionFunction as D, type EncodeReplyFunction as E, type LoadServerActionFunction as L, RSCHydratedRouter as R, type DecodeFormStateFunction as a, type DecodeReplyFunction as b, createCallServer as c, type RSCManifestPayload as d, type RSCPayload as e, type RSCRenderPayload as f, getRequest as g, type RSCHydratedRouterProps as h, type RSCMatch as i, type RSCRouteManifest as j, type RSCRouteMatch as k, type RSCRouteConfigEntry as l, matchRSCServerRequest as m, type RSCRouteConfig as n };
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- import { L as Location, C as ClientActionFunction, a as ClientLoaderFunction, b as LinksFunction, M as MetaFunction, S as ShouldRevalidateFunction, P as Params, c as RouterContextProvider, A as ActionFunction, H as HeadersFunction, d as LoaderFunction, e as RouterInit } from './instrumentation-C7Lh_MjH.js';
2
+ import { R as RouterInit } from './context-phCt_zmH.mjs';
3
+ import { L as Location, C as ClientActionFunction, a as ClientLoaderFunction, b as LinksFunction, M as MetaFunction, S as ShouldRevalidateFunction, P as Params, c as RouterContextProvider, A as ActionFunction, H as HeadersFunction, d as LoaderFunction } from './routeModules-BRrCYrSL.mjs';
3
4
 
4
5
  declare function getRequest(): Request;
5
6
  type RSCRouteConfigEntryBase = {
@@ -64,14 +65,15 @@ type RSCRenderPayload = {
64
65
  errors: Record<string, any> | null;
65
66
  loaderData: Record<string, any>;
66
67
  location: Location;
68
+ routeDiscovery: RouteDiscovery;
67
69
  matches: RSCRouteMatch[];
68
- patches?: RSCRouteManifest[];
70
+ patches?: Promise<RSCRouteManifest[]>;
69
71
  nonce?: string;
70
72
  formState?: unknown;
71
73
  };
72
74
  type RSCManifestPayload = {
73
75
  type: "manifest";
74
- patches: RSCRouteManifest[];
76
+ patches: Promise<RSCRouteManifest[]>;
75
77
  };
76
78
  type RSCActionPayload = {
77
79
  type: "action";
@@ -98,6 +100,12 @@ type DecodeReplyFunction = (reply: FormData | string, options: {
98
100
  temporaryReferences: unknown;
99
101
  }) => Promise<unknown[]>;
100
102
  type LoadServerActionFunction = (id: string) => Promise<Function>;
103
+ type RouteDiscovery = {
104
+ mode: "lazy";
105
+ manifestPath?: string | undefined;
106
+ } | {
107
+ mode: "initial";
108
+ };
101
109
  /**
102
110
  * Matches the given routes to a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
103
111
  * and returns an [RSC](https://react.dev/reference/rsc/server-components)
@@ -164,12 +172,13 @@ type LoadServerActionFunction = (id: string) => Promise<Function>;
164
172
  * @param opts.requestContext An instance of {@link RouterContextProvider}
165
173
  * that should be created per request, to be passed to [`action`](../../start/data/route-object#action)s,
166
174
  * [`loader`](../../start/data/route-object#loader)s and [middleware](../../how-to/middleware).
175
+ * @param opts.routeDiscovery The route discovery configuration, used to determine how the router should discover new routes during navigations.
167
176
  * @param opts.routes Your {@link unstable_RSCRouteConfigEntry | route definitions}.
168
177
  * @returns A [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
169
178
  * that contains the [RSC](https://react.dev/reference/rsc/server-components)
170
179
  * data for hydration.
171
180
  */
172
- declare function matchRSCServerRequest({ allowedActionOrigins, createTemporaryReferenceSet, basename, decodeReply, requestContext, loadServerAction, decodeAction, decodeFormState, onError, request, routes, generateResponse, }: {
181
+ declare function matchRSCServerRequest({ allowedActionOrigins, createTemporaryReferenceSet, basename, decodeReply, requestContext, routeDiscovery, loadServerAction, decodeAction, decodeFormState, onError, request, routes, generateResponse, }: {
173
182
  allowedActionOrigins?: string[];
174
183
  createTemporaryReferenceSet: () => unknown;
175
184
  basename?: string;
@@ -181,6 +190,7 @@ declare function matchRSCServerRequest({ allowedActionOrigins, createTemporaryRe
181
190
  onError?: (error: unknown) => void;
182
191
  request: Request;
183
192
  routes: RSCRouteConfigEntry[];
193
+ routeDiscovery?: RouteDiscovery;
184
194
  generateResponse: (match: RSCMatch, { onError, temporaryReferences, }: {
185
195
  onError(error: unknown): string | undefined;
186
196
  temporaryReferences: unknown;
@@ -255,11 +265,6 @@ interface RSCHydratedRouterProps {
255
265
  * The decoded {@link unstable_RSCPayload} to hydrate.
256
266
  */
257
267
  payload: RSCPayload;
258
- /**
259
- * `"eager"` or `"lazy"` - Determines if links are eagerly discovered, or
260
- * delayed until clicked.
261
- */
262
- routeDiscovery?: "eager" | "lazy";
263
268
  /**
264
269
  * A function that returns an {@link RouterContextProvider} instance
265
270
  * which is provided as the `context` argument to client [`action`](../../start/data/route-object#action)s,
@@ -305,10 +310,9 @@ interface RSCHydratedRouterProps {
305
310
  * @param {unstable_RSCHydratedRouterProps.fetch} props.fetch n/a
306
311
  * @param {unstable_RSCHydratedRouterProps.getContext} props.getContext n/a
307
312
  * @param {unstable_RSCHydratedRouterProps.payload} props.payload n/a
308
- * @param {unstable_RSCHydratedRouterProps.routeDiscovery} props.routeDiscovery n/a
309
313
  * @returns A hydrated {@link DataRouter} that can be used to navigate and
310
314
  * render routes.
311
315
  */
312
- declare function RSCHydratedRouter({ createFromReadableStream, fetch: fetchImplementation, payload, routeDiscovery, getContext, }: RSCHydratedRouterProps): React.JSX.Element;
316
+ declare function RSCHydratedRouter({ createFromReadableStream, fetch: fetchImplementation, payload, getContext, }: RSCHydratedRouterProps): React.JSX.Element;
313
317
 
314
318
  export { type BrowserCreateFromReadableStreamFunction as B, type DecodeActionFunction as D, type EncodeReplyFunction as E, type LoadServerActionFunction as L, RSCHydratedRouter as R, type DecodeFormStateFunction as a, type DecodeReplyFunction as b, createCallServer as c, type RSCManifestPayload as d, type RSCPayload as e, type RSCRenderPayload as f, getRequest as g, type RSCHydratedRouterProps as h, type RSCMatch as i, type RSCRouteManifest as j, type RSCRouteMatch as k, type RSCRouteConfigEntry as l, matchRSCServerRequest as m, type RSCRouteConfig as n };