react-router 0.0.0-experimental-8cee090e4 → 0.0.0-experimental-63fd291ad

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 (287) hide show
  1. package/dist/development/browser-D3uq9sI1.d.ts +318 -0
  2. package/dist/development/browser-nIQ4Nsyi.d.mts +318 -0
  3. package/dist/development/chunk-7LB5FDW6.js +10229 -0
  4. package/dist/development/chunk-EYULJJW2.js +188 -0
  5. package/dist/development/chunk-FSPJVI5E.js +1363 -0
  6. package/dist/development/chunk-HDSKGGQN.mjs +11529 -0
  7. package/dist/development/chunk-RMKXU7MN.mjs +2585 -0
  8. package/dist/development/context-m8rizgnE.d.mts +1771 -0
  9. package/dist/development/data-D4xhSy90.d.ts +1732 -0
  10. package/dist/development/data-U8FS-wNn.d.mts +1732 -0
  11. package/dist/development/dom-export.d.mts +172 -0
  12. package/dist/development/dom-export.d.ts +172 -6
  13. package/dist/development/dom-export.js +1007 -12
  14. package/dist/development/dom-export.mjs +1008 -0
  15. package/dist/development/index-react-server-client-BLiUx67a.d.ts +3655 -0
  16. package/dist/development/index-react-server-client-CdKROblb.d.mts +2600 -0
  17. package/dist/development/index-react-server-client.d.mts +4 -0
  18. package/dist/development/index-react-server-client.d.ts +4 -7
  19. package/dist/development/index-react-server-client.js +52 -8
  20. package/dist/development/index-react-server-client.mjs +59 -0
  21. package/dist/development/index-react-server.d.mts +2703 -0
  22. package/dist/development/index-react-server.d.ts +1635 -1645
  23. package/dist/development/index-react-server.js +3642 -2880
  24. package/dist/development/index-react-server.mjs +3780 -0
  25. package/dist/development/index.d.mts +1478 -0
  26. package/dist/development/index.d.ts +1475 -43
  27. package/dist/development/index.js +2621 -37
  28. package/dist/development/index.mjs +277 -0
  29. package/dist/development/instrumentation-1q4YhLGP.d.ts +715 -0
  30. package/dist/development/lib/types/internal.d.mts +184 -0
  31. package/dist/development/lib/types/internal.d.ts +177 -26
  32. package/dist/development/lib/types/internal.js +2 -3
  33. package/dist/development/lib/types/internal.mjs +10 -0
  34. package/dist/{production/lib/types/register.d.ts → development/register-CNAx3TXj.d.ts} +15 -9
  35. package/dist/development/register-CqK96Zfk.d.mts +30 -0
  36. package/dist/production/browser-D3uq9sI1.d.ts +318 -0
  37. package/dist/production/browser-nIQ4Nsyi.d.mts +318 -0
  38. package/dist/production/chunk-7WCS65FW.js +10229 -0
  39. package/dist/production/chunk-C3WYAS5Q.js +188 -0
  40. package/dist/production/chunk-ENJ3YRWR.js +1363 -0
  41. package/dist/production/chunk-LNDORJHC.mjs +11529 -0
  42. package/dist/production/chunk-R6IYOE2I.mjs +2585 -0
  43. package/dist/production/context-m8rizgnE.d.mts +1771 -0
  44. package/dist/production/data-D4xhSy90.d.ts +1732 -0
  45. package/dist/production/data-U8FS-wNn.d.mts +1732 -0
  46. package/dist/production/dom-export.d.mts +172 -0
  47. package/dist/production/dom-export.d.ts +172 -6
  48. package/dist/production/dom-export.js +1007 -12
  49. package/dist/production/dom-export.mjs +1008 -0
  50. package/dist/production/index-react-server-client-BLiUx67a.d.ts +3655 -0
  51. package/dist/production/index-react-server-client-CdKROblb.d.mts +2600 -0
  52. package/dist/production/index-react-server-client.d.mts +4 -0
  53. package/dist/production/index-react-server-client.d.ts +4 -7
  54. package/dist/production/index-react-server-client.js +52 -8
  55. package/dist/production/index-react-server-client.mjs +59 -0
  56. package/dist/production/index-react-server.d.mts +2703 -0
  57. package/dist/production/index-react-server.d.ts +1635 -1645
  58. package/dist/production/index-react-server.js +3642 -2871
  59. package/dist/production/index-react-server.mjs +3780 -0
  60. package/dist/production/index.d.mts +1478 -0
  61. package/dist/production/index.d.ts +1475 -43
  62. package/dist/production/index.js +2621 -37
  63. package/dist/production/index.mjs +277 -0
  64. package/dist/production/instrumentation-1q4YhLGP.d.ts +715 -0
  65. package/dist/production/lib/types/internal.d.mts +184 -0
  66. package/dist/production/lib/types/internal.d.ts +177 -26
  67. package/dist/production/lib/types/internal.js +2 -3
  68. package/dist/production/lib/types/internal.mjs +10 -0
  69. package/dist/{development/lib/types/register.d.ts → production/register-CNAx3TXj.d.ts} +15 -9
  70. package/dist/production/register-CqK96Zfk.d.mts +30 -0
  71. package/docs/explanation/code-splitting.md +0 -16
  72. package/docs/how-to/middleware.md +41 -6
  73. package/docs/how-to/react-server-components.md +1 -1
  74. package/docs/upgrading/future.md +217 -0
  75. package/package.json +87 -43
  76. package/dist/development/lib/actions.js +0 -62
  77. package/dist/development/lib/components.d.ts +0 -1022
  78. package/dist/development/lib/components.js +0 -835
  79. package/dist/development/lib/context.d.ts +0 -83
  80. package/dist/development/lib/context.js +0 -41
  81. package/dist/development/lib/dom/dom.d.ts +0 -119
  82. package/dist/development/lib/dom/dom.js +0 -143
  83. package/dist/development/lib/dom/lib.d.ts +0 -2042
  84. package/dist/development/lib/dom/lib.js +0 -1259
  85. package/dist/development/lib/dom/server.d.ts +0 -138
  86. package/dist/development/lib/dom/server.js +0 -301
  87. package/dist/development/lib/dom/ssr/components.d.ts +0 -196
  88. package/dist/development/lib/dom/ssr/components.js +0 -579
  89. package/dist/development/lib/dom/ssr/data.js +0 -29
  90. package/dist/development/lib/dom/ssr/entry.d.ts +0 -59
  91. package/dist/development/lib/dom/ssr/errorBoundaries.d.ts +0 -27
  92. package/dist/development/lib/dom/ssr/errorBoundaries.js +0 -83
  93. package/dist/development/lib/dom/ssr/errors.d.ts +0 -7
  94. package/dist/development/lib/dom/ssr/errors.js +0 -36
  95. package/dist/development/lib/dom/ssr/fallback.js +0 -28
  96. package/dist/development/lib/dom/ssr/fog-of-war.d.ts +0 -12
  97. package/dist/development/lib/dom/ssr/fog-of-war.js +0 -170
  98. package/dist/development/lib/dom/ssr/hydration.d.ts +0 -32
  99. package/dist/development/lib/dom/ssr/hydration.js +0 -29
  100. package/dist/development/lib/dom/ssr/invariant.js +0 -16
  101. package/dist/development/lib/dom/ssr/links.js +0 -170
  102. package/dist/development/lib/dom/ssr/markup.js +0 -24
  103. package/dist/development/lib/dom/ssr/routeModules.d.ts +0 -206
  104. package/dist/development/lib/dom/ssr/routeModules.js +0 -31
  105. package/dist/development/lib/dom/ssr/routes-test-stub.d.ts +0 -62
  106. package/dist/development/lib/dom/ssr/routes-test-stub.js +0 -108
  107. package/dist/development/lib/dom/ssr/routes.d.ts +0 -33
  108. package/dist/development/lib/dom/ssr/routes.js +0 -303
  109. package/dist/development/lib/dom/ssr/server.d.ts +0 -45
  110. package/dist/development/lib/dom/ssr/server.js +0 -68
  111. package/dist/development/lib/dom/ssr/single-fetch.d.ts +0 -14
  112. package/dist/development/lib/dom/ssr/single-fetch.js +0 -346
  113. package/dist/development/lib/dom-export/dom-router-provider.d.ts +0 -9
  114. package/dist/development/lib/dom-export/dom-router-provider.js +0 -22
  115. package/dist/development/lib/dom-export/hydrated-router.d.ts +0 -125
  116. package/dist/development/lib/dom-export/hydrated-router.js +0 -153
  117. package/dist/development/lib/errors.js +0 -29
  118. package/dist/development/lib/hooks.d.ts +0 -947
  119. package/dist/development/lib/hooks.js +0 -1386
  120. package/dist/development/lib/href.d.ts +0 -20
  121. package/dist/development/lib/href.js +0 -50
  122. package/dist/development/lib/router/history.d.ts +0 -258
  123. package/dist/development/lib/router/history.js +0 -371
  124. package/dist/development/lib/router/instrumentation.d.ts +0 -86
  125. package/dist/development/lib/router/instrumentation.js +0 -213
  126. package/dist/development/lib/router/links.d.ts +0 -113
  127. package/dist/development/lib/router/router.d.ts +0 -663
  128. package/dist/development/lib/router/router.js +0 -2981
  129. package/dist/development/lib/router/utils.d.ts +0 -942
  130. package/dist/development/lib/router/utils.js +0 -791
  131. package/dist/development/lib/rsc/browser.d.ts +0 -137
  132. package/dist/development/lib/rsc/browser.js +0 -599
  133. package/dist/development/lib/rsc/errorBoundaries.d.ts +0 -11
  134. package/dist/development/lib/rsc/errorBoundaries.js +0 -90
  135. package/dist/development/lib/rsc/html-stream/browser.d.ts +0 -48
  136. package/dist/development/lib/rsc/html-stream/browser.js +0 -74
  137. package/dist/development/lib/rsc/html-stream/server.js +0 -78
  138. package/dist/development/lib/rsc/route-modules.js +0 -27
  139. package/dist/development/lib/rsc/server.rsc.d.ts +0 -219
  140. package/dist/development/lib/rsc/server.ssr.d.ts +0 -129
  141. package/dist/development/lib/rsc/server.ssr.js +0 -388
  142. package/dist/development/lib/server-runtime/build.d.ts +0 -66
  143. package/dist/development/lib/server-runtime/cookies.d.ts +0 -66
  144. package/dist/development/lib/server-runtime/cookies.js +0 -139
  145. package/dist/development/lib/server-runtime/crypto.js +0 -43
  146. package/dist/development/lib/server-runtime/data.d.ts +0 -13
  147. package/dist/development/lib/server-runtime/data.js +0 -25
  148. package/dist/development/lib/server-runtime/dev.d.ts +0 -9
  149. package/dist/development/lib/server-runtime/dev.js +0 -26
  150. package/dist/development/lib/server-runtime/entry.js +0 -20
  151. package/dist/development/lib/server-runtime/errors.js +0 -95
  152. package/dist/development/lib/server-runtime/headers.js +0 -73
  153. package/dist/development/lib/server-runtime/invariant.js +0 -19
  154. package/dist/development/lib/server-runtime/mode.d.ts +0 -12
  155. package/dist/development/lib/server-runtime/mode.js +0 -25
  156. package/dist/development/lib/server-runtime/routeMatching.js +0 -28
  157. package/dist/development/lib/server-runtime/routes.d.ts +0 -13
  158. package/dist/development/lib/server-runtime/routes.js +0 -74
  159. package/dist/development/lib/server-runtime/server.d.ts +0 -10
  160. package/dist/development/lib/server-runtime/server.js +0 -351
  161. package/dist/development/lib/server-runtime/serverHandoff.js +0 -17
  162. package/dist/development/lib/server-runtime/sessions/cookieStorage.d.ts +0 -25
  163. package/dist/development/lib/server-runtime/sessions/cookieStorage.js +0 -45
  164. package/dist/development/lib/server-runtime/sessions/memoryStorage.d.ts +0 -23
  165. package/dist/development/lib/server-runtime/sessions/memoryStorage.js +0 -52
  166. package/dist/development/lib/server-runtime/sessions.d.ts +0 -145
  167. package/dist/development/lib/server-runtime/sessions.js +0 -98
  168. package/dist/development/lib/server-runtime/single-fetch.d.ts +0 -7
  169. package/dist/development/lib/server-runtime/single-fetch.js +0 -215
  170. package/dist/development/lib/server-runtime/urls.js +0 -31
  171. package/dist/development/lib/server-runtime/warnings.js +0 -20
  172. package/dist/development/lib/types/future.d.ts +0 -9
  173. package/dist/development/lib/types/route-data.d.ts +0 -113
  174. package/dist/development/lib/types/route-module-annotations.d.ts +0 -149
  175. package/dist/development/lib/types/route-module.d.ts +0 -19
  176. package/dist/development/lib/types/serializes-to.d.ts +0 -13
  177. package/dist/development/lib/types/utils.d.ts +0 -11
  178. package/dist/development/vendor/turbo-stream-v2/flatten.js +0 -159
  179. package/dist/development/vendor/turbo-stream-v2/turbo-stream.js +0 -178
  180. package/dist/development/vendor/turbo-stream-v2/unflatten.js +0 -198
  181. package/dist/development/vendor/turbo-stream-v2/utils.js +0 -47
  182. package/dist/production/lib/actions.js +0 -62
  183. package/dist/production/lib/components.d.ts +0 -1022
  184. package/dist/production/lib/components.js +0 -835
  185. package/dist/production/lib/context.d.ts +0 -83
  186. package/dist/production/lib/context.js +0 -41
  187. package/dist/production/lib/dom/dom.d.ts +0 -119
  188. package/dist/production/lib/dom/dom.js +0 -143
  189. package/dist/production/lib/dom/lib.d.ts +0 -2042
  190. package/dist/production/lib/dom/lib.js +0 -1259
  191. package/dist/production/lib/dom/server.d.ts +0 -138
  192. package/dist/production/lib/dom/server.js +0 -301
  193. package/dist/production/lib/dom/ssr/components.d.ts +0 -196
  194. package/dist/production/lib/dom/ssr/components.js +0 -579
  195. package/dist/production/lib/dom/ssr/data.js +0 -29
  196. package/dist/production/lib/dom/ssr/entry.d.ts +0 -59
  197. package/dist/production/lib/dom/ssr/errorBoundaries.d.ts +0 -27
  198. package/dist/production/lib/dom/ssr/errorBoundaries.js +0 -83
  199. package/dist/production/lib/dom/ssr/errors.d.ts +0 -7
  200. package/dist/production/lib/dom/ssr/errors.js +0 -36
  201. package/dist/production/lib/dom/ssr/fallback.js +0 -21
  202. package/dist/production/lib/dom/ssr/fog-of-war.d.ts +0 -12
  203. package/dist/production/lib/dom/ssr/fog-of-war.js +0 -170
  204. package/dist/production/lib/dom/ssr/hydration.d.ts +0 -32
  205. package/dist/production/lib/dom/ssr/hydration.js +0 -29
  206. package/dist/production/lib/dom/ssr/invariant.js +0 -16
  207. package/dist/production/lib/dom/ssr/links.js +0 -170
  208. package/dist/production/lib/dom/ssr/markup.js +0 -24
  209. package/dist/production/lib/dom/ssr/routeModules.d.ts +0 -206
  210. package/dist/production/lib/dom/ssr/routeModules.js +0 -31
  211. package/dist/production/lib/dom/ssr/routes-test-stub.d.ts +0 -62
  212. package/dist/production/lib/dom/ssr/routes-test-stub.js +0 -108
  213. package/dist/production/lib/dom/ssr/routes.d.ts +0 -33
  214. package/dist/production/lib/dom/ssr/routes.js +0 -303
  215. package/dist/production/lib/dom/ssr/server.d.ts +0 -45
  216. package/dist/production/lib/dom/ssr/server.js +0 -68
  217. package/dist/production/lib/dom/ssr/single-fetch.d.ts +0 -14
  218. package/dist/production/lib/dom/ssr/single-fetch.js +0 -346
  219. package/dist/production/lib/dom-export/dom-router-provider.d.ts +0 -9
  220. package/dist/production/lib/dom-export/dom-router-provider.js +0 -22
  221. package/dist/production/lib/dom-export/hydrated-router.d.ts +0 -125
  222. package/dist/production/lib/dom-export/hydrated-router.js +0 -153
  223. package/dist/production/lib/errors.js +0 -29
  224. package/dist/production/lib/hooks.d.ts +0 -947
  225. package/dist/production/lib/hooks.js +0 -1371
  226. package/dist/production/lib/href.d.ts +0 -20
  227. package/dist/production/lib/href.js +0 -50
  228. package/dist/production/lib/router/history.d.ts +0 -258
  229. package/dist/production/lib/router/history.js +0 -371
  230. package/dist/production/lib/router/instrumentation.d.ts +0 -86
  231. package/dist/production/lib/router/instrumentation.js +0 -213
  232. package/dist/production/lib/router/links.d.ts +0 -113
  233. package/dist/production/lib/router/router.d.ts +0 -663
  234. package/dist/production/lib/router/router.js +0 -2981
  235. package/dist/production/lib/router/utils.d.ts +0 -942
  236. package/dist/production/lib/router/utils.js +0 -782
  237. package/dist/production/lib/rsc/browser.d.ts +0 -137
  238. package/dist/production/lib/rsc/browser.js +0 -599
  239. package/dist/production/lib/rsc/errorBoundaries.d.ts +0 -11
  240. package/dist/production/lib/rsc/errorBoundaries.js +0 -90
  241. package/dist/production/lib/rsc/html-stream/browser.d.ts +0 -48
  242. package/dist/production/lib/rsc/html-stream/browser.js +0 -74
  243. package/dist/production/lib/rsc/html-stream/server.js +0 -78
  244. package/dist/production/lib/rsc/route-modules.js +0 -27
  245. package/dist/production/lib/rsc/server.rsc.d.ts +0 -219
  246. package/dist/production/lib/rsc/server.ssr.d.ts +0 -129
  247. package/dist/production/lib/rsc/server.ssr.js +0 -388
  248. package/dist/production/lib/server-runtime/build.d.ts +0 -66
  249. package/dist/production/lib/server-runtime/cookies.d.ts +0 -66
  250. package/dist/production/lib/server-runtime/cookies.js +0 -139
  251. package/dist/production/lib/server-runtime/crypto.js +0 -43
  252. package/dist/production/lib/server-runtime/data.d.ts +0 -13
  253. package/dist/production/lib/server-runtime/data.js +0 -25
  254. package/dist/production/lib/server-runtime/dev.d.ts +0 -9
  255. package/dist/production/lib/server-runtime/dev.js +0 -26
  256. package/dist/production/lib/server-runtime/entry.js +0 -20
  257. package/dist/production/lib/server-runtime/errors.js +0 -95
  258. package/dist/production/lib/server-runtime/headers.js +0 -73
  259. package/dist/production/lib/server-runtime/invariant.js +0 -19
  260. package/dist/production/lib/server-runtime/mode.d.ts +0 -12
  261. package/dist/production/lib/server-runtime/mode.js +0 -25
  262. package/dist/production/lib/server-runtime/routeMatching.js +0 -28
  263. package/dist/production/lib/server-runtime/routes.d.ts +0 -13
  264. package/dist/production/lib/server-runtime/routes.js +0 -74
  265. package/dist/production/lib/server-runtime/server.d.ts +0 -10
  266. package/dist/production/lib/server-runtime/server.js +0 -351
  267. package/dist/production/lib/server-runtime/serverHandoff.js +0 -17
  268. package/dist/production/lib/server-runtime/sessions/cookieStorage.d.ts +0 -25
  269. package/dist/production/lib/server-runtime/sessions/cookieStorage.js +0 -45
  270. package/dist/production/lib/server-runtime/sessions/memoryStorage.d.ts +0 -23
  271. package/dist/production/lib/server-runtime/sessions/memoryStorage.js +0 -52
  272. package/dist/production/lib/server-runtime/sessions.d.ts +0 -145
  273. package/dist/production/lib/server-runtime/sessions.js +0 -98
  274. package/dist/production/lib/server-runtime/single-fetch.d.ts +0 -7
  275. package/dist/production/lib/server-runtime/single-fetch.js +0 -215
  276. package/dist/production/lib/server-runtime/urls.js +0 -31
  277. package/dist/production/lib/server-runtime/warnings.js +0 -20
  278. package/dist/production/lib/types/future.d.ts +0 -9
  279. package/dist/production/lib/types/route-data.d.ts +0 -113
  280. package/dist/production/lib/types/route-module-annotations.d.ts +0 -149
  281. package/dist/production/lib/types/route-module.d.ts +0 -19
  282. package/dist/production/lib/types/serializes-to.d.ts +0 -13
  283. package/dist/production/lib/types/utils.d.ts +0 -11
  284. package/dist/production/vendor/turbo-stream-v2/flatten.js +0 -159
  285. package/dist/production/vendor/turbo-stream-v2/turbo-stream.js +0 -178
  286. package/dist/production/vendor/turbo-stream-v2/unflatten.js +0 -198
  287. package/dist/production/vendor/turbo-stream-v2/utils.js +0 -47
@@ -0,0 +1,318 @@
1
+ import * as React from 'react';
2
+ import { R as RouterInit } from './instrumentation-1q4YhLGP.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 './data-D4xhSy90.js';
4
+
5
+ declare function getRequest(): Request;
6
+ type RSCRouteConfigEntryBase = {
7
+ action?: ActionFunction;
8
+ clientAction?: ClientActionFunction;
9
+ clientLoader?: ClientLoaderFunction;
10
+ ErrorBoundary?: React.ComponentType<any>;
11
+ handle?: any;
12
+ headers?: HeadersFunction;
13
+ HydrateFallback?: React.ComponentType<any>;
14
+ Layout?: React.ComponentType<any>;
15
+ links?: LinksFunction;
16
+ loader?: LoaderFunction;
17
+ meta?: MetaFunction;
18
+ shouldRevalidate?: ShouldRevalidateFunction;
19
+ };
20
+ type RSCRouteConfigEntry = RSCRouteConfigEntryBase & {
21
+ id: string;
22
+ path?: string;
23
+ Component?: React.ComponentType<any>;
24
+ lazy?: () => Promise<RSCRouteConfigEntryBase & ({
25
+ default?: React.ComponentType<any>;
26
+ Component?: never;
27
+ } | {
28
+ default?: never;
29
+ Component?: React.ComponentType<any>;
30
+ })>;
31
+ } & ({
32
+ index: true;
33
+ } | {
34
+ children?: RSCRouteConfigEntry[];
35
+ });
36
+ type RSCRouteConfig = Array<RSCRouteConfigEntry>;
37
+ type RSCRouteManifest = {
38
+ clientAction?: ClientActionFunction;
39
+ clientLoader?: ClientLoaderFunction;
40
+ element?: React.ReactElement | false;
41
+ errorElement?: React.ReactElement;
42
+ handle?: any;
43
+ hasAction: boolean;
44
+ hasComponent: boolean;
45
+ hasErrorBoundary: boolean;
46
+ hasLoader: boolean;
47
+ hydrateFallbackElement?: React.ReactElement;
48
+ id: string;
49
+ index?: boolean;
50
+ links?: LinksFunction;
51
+ meta?: MetaFunction;
52
+ parentId?: string;
53
+ path?: string;
54
+ shouldRevalidate?: ShouldRevalidateFunction;
55
+ };
56
+ type RSCRouteMatch = RSCRouteManifest & {
57
+ params: Params;
58
+ pathname: string;
59
+ pathnameBase: string;
60
+ };
61
+ type RSCRenderPayload = {
62
+ type: "render";
63
+ actionData: Record<string, any> | null;
64
+ basename: string | undefined;
65
+ errors: Record<string, any> | null;
66
+ loaderData: Record<string, any>;
67
+ location: Location;
68
+ routeDiscovery: RouteDiscovery;
69
+ matches: RSCRouteMatch[];
70
+ patches?: Promise<RSCRouteManifest[]>;
71
+ nonce?: string;
72
+ formState?: unknown;
73
+ };
74
+ type RSCManifestPayload = {
75
+ type: "manifest";
76
+ patches: Promise<RSCRouteManifest[]>;
77
+ };
78
+ type RSCActionPayload = {
79
+ type: "action";
80
+ actionResult: Promise<unknown>;
81
+ rerender?: Promise<RSCRenderPayload | RSCRedirectPayload>;
82
+ };
83
+ type RSCRedirectPayload = {
84
+ type: "redirect";
85
+ status: number;
86
+ location: string;
87
+ replace: boolean;
88
+ reload: boolean;
89
+ actionResult?: Promise<unknown>;
90
+ };
91
+ type RSCPayload = RSCRenderPayload | RSCManifestPayload | RSCActionPayload | RSCRedirectPayload;
92
+ type RSCMatch = {
93
+ statusCode: number;
94
+ headers: Headers;
95
+ payload: RSCPayload;
96
+ };
97
+ type DecodeActionFunction = (formData: FormData) => Promise<() => Promise<unknown>>;
98
+ type DecodeFormStateFunction = (result: unknown, formData: FormData) => unknown;
99
+ type DecodeReplyFunction = (reply: FormData | string, options: {
100
+ temporaryReferences: unknown;
101
+ }) => Promise<unknown[]>;
102
+ type LoadServerActionFunction = (id: string) => Promise<Function>;
103
+ type RouteDiscovery = {
104
+ mode: "lazy";
105
+ manifestPath?: string | undefined;
106
+ } | {
107
+ mode: "initial";
108
+ };
109
+ /**
110
+ * Matches the given routes to a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
111
+ * and returns an [RSC](https://react.dev/reference/rsc/server-components)
112
+ * [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
113
+ * encoding an {@link unstable_RSCPayload} for consumption by an [RSC](https://react.dev/reference/rsc/server-components)
114
+ * enabled client router.
115
+ *
116
+ * @example
117
+ * import {
118
+ * createTemporaryReferenceSet,
119
+ * decodeAction,
120
+ * decodeReply,
121
+ * loadServerAction,
122
+ * renderToReadableStream,
123
+ * } from "@vitejs/plugin-rsc/rsc";
124
+ * import { unstable_matchRSCServerRequest as matchRSCServerRequest } from "react-router";
125
+ *
126
+ * matchRSCServerRequest({
127
+ * createTemporaryReferenceSet,
128
+ * decodeAction,
129
+ * decodeFormState,
130
+ * decodeReply,
131
+ * loadServerAction,
132
+ * request,
133
+ * routes: routes(),
134
+ * generateResponse(match) {
135
+ * return new Response(
136
+ * renderToReadableStream(match.payload),
137
+ * {
138
+ * status: match.statusCode,
139
+ * headers: match.headers,
140
+ * }
141
+ * );
142
+ * },
143
+ * });
144
+ *
145
+ * @name unstable_matchRSCServerRequest
146
+ * @public
147
+ * @category RSC
148
+ * @mode data
149
+ * @param opts Options
150
+ * @param opts.allowedActionOrigins Origin patterns that are allowed to execute actions.
151
+ * @param opts.basename The basename to use when matching the request.
152
+ * @param opts.createTemporaryReferenceSet A function that returns a temporary
153
+ * reference set for the request, used to track temporary references in the [RSC](https://react.dev/reference/rsc/server-components)
154
+ * stream.
155
+ * @param opts.decodeAction Your `react-server-dom-xyz/server`'s `decodeAction`
156
+ * function, responsible for loading a server action.
157
+ * @param opts.decodeFormState A function responsible for decoding form state for
158
+ * progressively enhanceable forms with React's [`useActionState`](https://react.dev/reference/react/useActionState)
159
+ * using your `react-server-dom-xyz/server`'s `decodeFormState`.
160
+ * @param opts.decodeReply Your `react-server-dom-xyz/server`'s `decodeReply`
161
+ * function, used to decode the server function's arguments and bind them to the
162
+ * implementation for invocation by the router.
163
+ * @param opts.generateResponse A function responsible for using your
164
+ * `renderToReadableStream` to generate a [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
165
+ * encoding the {@link unstable_RSCPayload}.
166
+ * @param opts.loadServerAction Your `react-server-dom-xyz/server`'s
167
+ * `loadServerAction` function, used to load a server action by ID.
168
+ * @param opts.onError An optional error handler that will be called with any
169
+ * errors that occur during the request processing.
170
+ * @param opts.request The [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
171
+ * to match against.
172
+ * @param opts.requestContext An instance of {@link RouterContextProvider}
173
+ * that should be created per request, to be passed to [`action`](../../start/data/route-object#action)s,
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.
176
+ * @param opts.routes Your {@link unstable_RSCRouteConfigEntry | route definitions}.
177
+ * @returns A [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
178
+ * that contains the [RSC](https://react.dev/reference/rsc/server-components)
179
+ * data for hydration.
180
+ */
181
+ declare function matchRSCServerRequest({ allowedActionOrigins, createTemporaryReferenceSet, basename, decodeReply, requestContext, routeDiscovery, loadServerAction, decodeAction, decodeFormState, onError, request, routes, generateResponse, }: {
182
+ allowedActionOrigins?: string[];
183
+ createTemporaryReferenceSet: () => unknown;
184
+ basename?: string;
185
+ decodeReply?: DecodeReplyFunction;
186
+ decodeAction?: DecodeActionFunction;
187
+ decodeFormState?: DecodeFormStateFunction;
188
+ requestContext?: RouterContextProvider;
189
+ loadServerAction?: LoadServerActionFunction;
190
+ onError?: (error: unknown) => void;
191
+ request: Request;
192
+ routes: RSCRouteConfigEntry[];
193
+ routeDiscovery?: RouteDiscovery;
194
+ generateResponse: (match: RSCMatch, { onError, temporaryReferences, }: {
195
+ onError(error: unknown): string | undefined;
196
+ temporaryReferences: unknown;
197
+ }) => Response;
198
+ }): Promise<Response>;
199
+
200
+ type BrowserCreateFromReadableStreamFunction = (body: ReadableStream<Uint8Array>, { temporaryReferences, }: {
201
+ temporaryReferences: unknown;
202
+ }) => Promise<unknown>;
203
+ type EncodeReplyFunction = (args: unknown[], options: {
204
+ temporaryReferences: unknown;
205
+ }) => Promise<BodyInit>;
206
+ /**
207
+ * Create a React `callServer` implementation for React Router.
208
+ *
209
+ * @example
210
+ * import {
211
+ * createFromReadableStream,
212
+ * createTemporaryReferenceSet,
213
+ * encodeReply,
214
+ * setServerCallback,
215
+ * } from "@vitejs/plugin-rsc/browser";
216
+ * import { unstable_createCallServer as createCallServer } from "react-router";
217
+ *
218
+ * setServerCallback(
219
+ * createCallServer({
220
+ * createFromReadableStream,
221
+ * createTemporaryReferenceSet,
222
+ * encodeReply,
223
+ * })
224
+ * );
225
+ *
226
+ * @name unstable_createCallServer
227
+ * @public
228
+ * @category RSC
229
+ * @mode data
230
+ * @param opts Options
231
+ * @param opts.createFromReadableStream Your `react-server-dom-xyz/client`'s
232
+ * `createFromReadableStream`. Used to decode payloads from the server.
233
+ * @param opts.createTemporaryReferenceSet A function that creates a temporary
234
+ * reference set for the [RSC](https://react.dev/reference/rsc/server-components)
235
+ * payload.
236
+ * @param opts.encodeReply Your `react-server-dom-xyz/client`'s `encodeReply`.
237
+ * Used when sending payloads to the server.
238
+ * @param opts.fetch Optional [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)
239
+ * implementation. Defaults to global [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/fetch).
240
+ * @returns A function that can be used to call server actions.
241
+ */
242
+ declare function createCallServer({ createFromReadableStream, createTemporaryReferenceSet, encodeReply, fetch: fetchImplementation, }: {
243
+ createFromReadableStream: BrowserCreateFromReadableStreamFunction;
244
+ createTemporaryReferenceSet: () => unknown;
245
+ encodeReply: EncodeReplyFunction;
246
+ fetch?: (request: Request) => Promise<Response>;
247
+ }): (id: string, args: unknown[]) => Promise<unknown>;
248
+ /**
249
+ * Props for the {@link unstable_RSCHydratedRouter} component.
250
+ *
251
+ * @name unstable_RSCHydratedRouterProps
252
+ * @category Types
253
+ */
254
+ interface RSCHydratedRouterProps {
255
+ /**
256
+ * Your `react-server-dom-xyz/client`'s `createFromReadableStream` function,
257
+ * used to decode payloads from the server.
258
+ */
259
+ createFromReadableStream: BrowserCreateFromReadableStreamFunction;
260
+ /**
261
+ * Optional fetch implementation. Defaults to global [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/fetch).
262
+ */
263
+ fetch?: (request: Request) => Promise<Response>;
264
+ /**
265
+ * The decoded {@link unstable_RSCPayload} to hydrate.
266
+ */
267
+ payload: RSCPayload;
268
+ /**
269
+ * A function that returns an {@link RouterContextProvider} instance
270
+ * which is provided as the `context` argument to client [`action`](../../start/data/route-object#action)s,
271
+ * [`loader`](../../start/data/route-object#loader)s and [middleware](../../how-to/middleware).
272
+ * This function is called to generate a fresh `context` instance on each
273
+ * navigation or fetcher call.
274
+ */
275
+ getContext?: RouterInit["getContext"];
276
+ }
277
+ /**
278
+ * Hydrates a server rendered {@link unstable_RSCPayload} in the browser.
279
+ *
280
+ * @example
281
+ * import { startTransition, StrictMode } from "react";
282
+ * import { hydrateRoot } from "react-dom/client";
283
+ * import {
284
+ * unstable_getRSCStream as getRSCStream,
285
+ * unstable_RSCHydratedRouter as RSCHydratedRouter,
286
+ * } from "react-router";
287
+ * import type { unstable_RSCPayload as RSCPayload } from "react-router";
288
+ *
289
+ * createFromReadableStream(getRSCStream()).then((payload) =>
290
+ * startTransition(async () => {
291
+ * hydrateRoot(
292
+ * document,
293
+ * <StrictMode>
294
+ * <RSCHydratedRouter
295
+ * createFromReadableStream={createFromReadableStream}
296
+ * payload={payload}
297
+ * />
298
+ * </StrictMode>,
299
+ * { formState: await getFormState(payload) },
300
+ * );
301
+ * }),
302
+ * );
303
+ *
304
+ * @name unstable_RSCHydratedRouter
305
+ * @public
306
+ * @category RSC
307
+ * @mode data
308
+ * @param props Props
309
+ * @param {unstable_RSCHydratedRouterProps.createFromReadableStream} props.createFromReadableStream n/a
310
+ * @param {unstable_RSCHydratedRouterProps.fetch} props.fetch n/a
311
+ * @param {unstable_RSCHydratedRouterProps.getContext} props.getContext n/a
312
+ * @param {unstable_RSCHydratedRouterProps.payload} props.payload n/a
313
+ * @returns A hydrated {@link DataRouter} that can be used to navigate and
314
+ * render routes.
315
+ */
316
+ declare function RSCHydratedRouter({ createFromReadableStream, fetch: fetchImplementation, payload, getContext, }: RSCHydratedRouterProps): React.JSX.Element;
317
+
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 };
@@ -0,0 +1,318 @@
1
+ import * as React from 'react';
2
+ import { R as RouterInit } from './context-m8rizgnE.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 './data-U8FS-wNn.mjs';
4
+
5
+ declare function getRequest(): Request;
6
+ type RSCRouteConfigEntryBase = {
7
+ action?: ActionFunction;
8
+ clientAction?: ClientActionFunction;
9
+ clientLoader?: ClientLoaderFunction;
10
+ ErrorBoundary?: React.ComponentType<any>;
11
+ handle?: any;
12
+ headers?: HeadersFunction;
13
+ HydrateFallback?: React.ComponentType<any>;
14
+ Layout?: React.ComponentType<any>;
15
+ links?: LinksFunction;
16
+ loader?: LoaderFunction;
17
+ meta?: MetaFunction;
18
+ shouldRevalidate?: ShouldRevalidateFunction;
19
+ };
20
+ type RSCRouteConfigEntry = RSCRouteConfigEntryBase & {
21
+ id: string;
22
+ path?: string;
23
+ Component?: React.ComponentType<any>;
24
+ lazy?: () => Promise<RSCRouteConfigEntryBase & ({
25
+ default?: React.ComponentType<any>;
26
+ Component?: never;
27
+ } | {
28
+ default?: never;
29
+ Component?: React.ComponentType<any>;
30
+ })>;
31
+ } & ({
32
+ index: true;
33
+ } | {
34
+ children?: RSCRouteConfigEntry[];
35
+ });
36
+ type RSCRouteConfig = Array<RSCRouteConfigEntry>;
37
+ type RSCRouteManifest = {
38
+ clientAction?: ClientActionFunction;
39
+ clientLoader?: ClientLoaderFunction;
40
+ element?: React.ReactElement | false;
41
+ errorElement?: React.ReactElement;
42
+ handle?: any;
43
+ hasAction: boolean;
44
+ hasComponent: boolean;
45
+ hasErrorBoundary: boolean;
46
+ hasLoader: boolean;
47
+ hydrateFallbackElement?: React.ReactElement;
48
+ id: string;
49
+ index?: boolean;
50
+ links?: LinksFunction;
51
+ meta?: MetaFunction;
52
+ parentId?: string;
53
+ path?: string;
54
+ shouldRevalidate?: ShouldRevalidateFunction;
55
+ };
56
+ type RSCRouteMatch = RSCRouteManifest & {
57
+ params: Params;
58
+ pathname: string;
59
+ pathnameBase: string;
60
+ };
61
+ type RSCRenderPayload = {
62
+ type: "render";
63
+ actionData: Record<string, any> | null;
64
+ basename: string | undefined;
65
+ errors: Record<string, any> | null;
66
+ loaderData: Record<string, any>;
67
+ location: Location;
68
+ routeDiscovery: RouteDiscovery;
69
+ matches: RSCRouteMatch[];
70
+ patches?: Promise<RSCRouteManifest[]>;
71
+ nonce?: string;
72
+ formState?: unknown;
73
+ };
74
+ type RSCManifestPayload = {
75
+ type: "manifest";
76
+ patches: Promise<RSCRouteManifest[]>;
77
+ };
78
+ type RSCActionPayload = {
79
+ type: "action";
80
+ actionResult: Promise<unknown>;
81
+ rerender?: Promise<RSCRenderPayload | RSCRedirectPayload>;
82
+ };
83
+ type RSCRedirectPayload = {
84
+ type: "redirect";
85
+ status: number;
86
+ location: string;
87
+ replace: boolean;
88
+ reload: boolean;
89
+ actionResult?: Promise<unknown>;
90
+ };
91
+ type RSCPayload = RSCRenderPayload | RSCManifestPayload | RSCActionPayload | RSCRedirectPayload;
92
+ type RSCMatch = {
93
+ statusCode: number;
94
+ headers: Headers;
95
+ payload: RSCPayload;
96
+ };
97
+ type DecodeActionFunction = (formData: FormData) => Promise<() => Promise<unknown>>;
98
+ type DecodeFormStateFunction = (result: unknown, formData: FormData) => unknown;
99
+ type DecodeReplyFunction = (reply: FormData | string, options: {
100
+ temporaryReferences: unknown;
101
+ }) => Promise<unknown[]>;
102
+ type LoadServerActionFunction = (id: string) => Promise<Function>;
103
+ type RouteDiscovery = {
104
+ mode: "lazy";
105
+ manifestPath?: string | undefined;
106
+ } | {
107
+ mode: "initial";
108
+ };
109
+ /**
110
+ * Matches the given routes to a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
111
+ * and returns an [RSC](https://react.dev/reference/rsc/server-components)
112
+ * [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
113
+ * encoding an {@link unstable_RSCPayload} for consumption by an [RSC](https://react.dev/reference/rsc/server-components)
114
+ * enabled client router.
115
+ *
116
+ * @example
117
+ * import {
118
+ * createTemporaryReferenceSet,
119
+ * decodeAction,
120
+ * decodeReply,
121
+ * loadServerAction,
122
+ * renderToReadableStream,
123
+ * } from "@vitejs/plugin-rsc/rsc";
124
+ * import { unstable_matchRSCServerRequest as matchRSCServerRequest } from "react-router";
125
+ *
126
+ * matchRSCServerRequest({
127
+ * createTemporaryReferenceSet,
128
+ * decodeAction,
129
+ * decodeFormState,
130
+ * decodeReply,
131
+ * loadServerAction,
132
+ * request,
133
+ * routes: routes(),
134
+ * generateResponse(match) {
135
+ * return new Response(
136
+ * renderToReadableStream(match.payload),
137
+ * {
138
+ * status: match.statusCode,
139
+ * headers: match.headers,
140
+ * }
141
+ * );
142
+ * },
143
+ * });
144
+ *
145
+ * @name unstable_matchRSCServerRequest
146
+ * @public
147
+ * @category RSC
148
+ * @mode data
149
+ * @param opts Options
150
+ * @param opts.allowedActionOrigins Origin patterns that are allowed to execute actions.
151
+ * @param opts.basename The basename to use when matching the request.
152
+ * @param opts.createTemporaryReferenceSet A function that returns a temporary
153
+ * reference set for the request, used to track temporary references in the [RSC](https://react.dev/reference/rsc/server-components)
154
+ * stream.
155
+ * @param opts.decodeAction Your `react-server-dom-xyz/server`'s `decodeAction`
156
+ * function, responsible for loading a server action.
157
+ * @param opts.decodeFormState A function responsible for decoding form state for
158
+ * progressively enhanceable forms with React's [`useActionState`](https://react.dev/reference/react/useActionState)
159
+ * using your `react-server-dom-xyz/server`'s `decodeFormState`.
160
+ * @param opts.decodeReply Your `react-server-dom-xyz/server`'s `decodeReply`
161
+ * function, used to decode the server function's arguments and bind them to the
162
+ * implementation for invocation by the router.
163
+ * @param opts.generateResponse A function responsible for using your
164
+ * `renderToReadableStream` to generate a [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
165
+ * encoding the {@link unstable_RSCPayload}.
166
+ * @param opts.loadServerAction Your `react-server-dom-xyz/server`'s
167
+ * `loadServerAction` function, used to load a server action by ID.
168
+ * @param opts.onError An optional error handler that will be called with any
169
+ * errors that occur during the request processing.
170
+ * @param opts.request The [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
171
+ * to match against.
172
+ * @param opts.requestContext An instance of {@link RouterContextProvider}
173
+ * that should be created per request, to be passed to [`action`](../../start/data/route-object#action)s,
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.
176
+ * @param opts.routes Your {@link unstable_RSCRouteConfigEntry | route definitions}.
177
+ * @returns A [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
178
+ * that contains the [RSC](https://react.dev/reference/rsc/server-components)
179
+ * data for hydration.
180
+ */
181
+ declare function matchRSCServerRequest({ allowedActionOrigins, createTemporaryReferenceSet, basename, decodeReply, requestContext, routeDiscovery, loadServerAction, decodeAction, decodeFormState, onError, request, routes, generateResponse, }: {
182
+ allowedActionOrigins?: string[];
183
+ createTemporaryReferenceSet: () => unknown;
184
+ basename?: string;
185
+ decodeReply?: DecodeReplyFunction;
186
+ decodeAction?: DecodeActionFunction;
187
+ decodeFormState?: DecodeFormStateFunction;
188
+ requestContext?: RouterContextProvider;
189
+ loadServerAction?: LoadServerActionFunction;
190
+ onError?: (error: unknown) => void;
191
+ request: Request;
192
+ routes: RSCRouteConfigEntry[];
193
+ routeDiscovery?: RouteDiscovery;
194
+ generateResponse: (match: RSCMatch, { onError, temporaryReferences, }: {
195
+ onError(error: unknown): string | undefined;
196
+ temporaryReferences: unknown;
197
+ }) => Response;
198
+ }): Promise<Response>;
199
+
200
+ type BrowserCreateFromReadableStreamFunction = (body: ReadableStream<Uint8Array>, { temporaryReferences, }: {
201
+ temporaryReferences: unknown;
202
+ }) => Promise<unknown>;
203
+ type EncodeReplyFunction = (args: unknown[], options: {
204
+ temporaryReferences: unknown;
205
+ }) => Promise<BodyInit>;
206
+ /**
207
+ * Create a React `callServer` implementation for React Router.
208
+ *
209
+ * @example
210
+ * import {
211
+ * createFromReadableStream,
212
+ * createTemporaryReferenceSet,
213
+ * encodeReply,
214
+ * setServerCallback,
215
+ * } from "@vitejs/plugin-rsc/browser";
216
+ * import { unstable_createCallServer as createCallServer } from "react-router";
217
+ *
218
+ * setServerCallback(
219
+ * createCallServer({
220
+ * createFromReadableStream,
221
+ * createTemporaryReferenceSet,
222
+ * encodeReply,
223
+ * })
224
+ * );
225
+ *
226
+ * @name unstable_createCallServer
227
+ * @public
228
+ * @category RSC
229
+ * @mode data
230
+ * @param opts Options
231
+ * @param opts.createFromReadableStream Your `react-server-dom-xyz/client`'s
232
+ * `createFromReadableStream`. Used to decode payloads from the server.
233
+ * @param opts.createTemporaryReferenceSet A function that creates a temporary
234
+ * reference set for the [RSC](https://react.dev/reference/rsc/server-components)
235
+ * payload.
236
+ * @param opts.encodeReply Your `react-server-dom-xyz/client`'s `encodeReply`.
237
+ * Used when sending payloads to the server.
238
+ * @param opts.fetch Optional [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)
239
+ * implementation. Defaults to global [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/fetch).
240
+ * @returns A function that can be used to call server actions.
241
+ */
242
+ declare function createCallServer({ createFromReadableStream, createTemporaryReferenceSet, encodeReply, fetch: fetchImplementation, }: {
243
+ createFromReadableStream: BrowserCreateFromReadableStreamFunction;
244
+ createTemporaryReferenceSet: () => unknown;
245
+ encodeReply: EncodeReplyFunction;
246
+ fetch?: (request: Request) => Promise<Response>;
247
+ }): (id: string, args: unknown[]) => Promise<unknown>;
248
+ /**
249
+ * Props for the {@link unstable_RSCHydratedRouter} component.
250
+ *
251
+ * @name unstable_RSCHydratedRouterProps
252
+ * @category Types
253
+ */
254
+ interface RSCHydratedRouterProps {
255
+ /**
256
+ * Your `react-server-dom-xyz/client`'s `createFromReadableStream` function,
257
+ * used to decode payloads from the server.
258
+ */
259
+ createFromReadableStream: BrowserCreateFromReadableStreamFunction;
260
+ /**
261
+ * Optional fetch implementation. Defaults to global [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/fetch).
262
+ */
263
+ fetch?: (request: Request) => Promise<Response>;
264
+ /**
265
+ * The decoded {@link unstable_RSCPayload} to hydrate.
266
+ */
267
+ payload: RSCPayload;
268
+ /**
269
+ * A function that returns an {@link RouterContextProvider} instance
270
+ * which is provided as the `context` argument to client [`action`](../../start/data/route-object#action)s,
271
+ * [`loader`](../../start/data/route-object#loader)s and [middleware](../../how-to/middleware).
272
+ * This function is called to generate a fresh `context` instance on each
273
+ * navigation or fetcher call.
274
+ */
275
+ getContext?: RouterInit["getContext"];
276
+ }
277
+ /**
278
+ * Hydrates a server rendered {@link unstable_RSCPayload} in the browser.
279
+ *
280
+ * @example
281
+ * import { startTransition, StrictMode } from "react";
282
+ * import { hydrateRoot } from "react-dom/client";
283
+ * import {
284
+ * unstable_getRSCStream as getRSCStream,
285
+ * unstable_RSCHydratedRouter as RSCHydratedRouter,
286
+ * } from "react-router";
287
+ * import type { unstable_RSCPayload as RSCPayload } from "react-router";
288
+ *
289
+ * createFromReadableStream(getRSCStream()).then((payload) =>
290
+ * startTransition(async () => {
291
+ * hydrateRoot(
292
+ * document,
293
+ * <StrictMode>
294
+ * <RSCHydratedRouter
295
+ * createFromReadableStream={createFromReadableStream}
296
+ * payload={payload}
297
+ * />
298
+ * </StrictMode>,
299
+ * { formState: await getFormState(payload) },
300
+ * );
301
+ * }),
302
+ * );
303
+ *
304
+ * @name unstable_RSCHydratedRouter
305
+ * @public
306
+ * @category RSC
307
+ * @mode data
308
+ * @param props Props
309
+ * @param {unstable_RSCHydratedRouterProps.createFromReadableStream} props.createFromReadableStream n/a
310
+ * @param {unstable_RSCHydratedRouterProps.fetch} props.fetch n/a
311
+ * @param {unstable_RSCHydratedRouterProps.getContext} props.getContext n/a
312
+ * @param {unstable_RSCHydratedRouterProps.payload} props.payload n/a
313
+ * @returns A hydrated {@link DataRouter} that can be used to navigate and
314
+ * render routes.
315
+ */
316
+ declare function RSCHydratedRouter({ createFromReadableStream, fetch: fetchImplementation, payload, getContext, }: RSCHydratedRouterProps): React.JSX.Element;
317
+
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 };