react-router 0.0.0-experimental-8cee090e4 → 0.0.0-experimental-dd63c14ca

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 (296) hide show
  1. package/dist/development/browser-CGcs-0pD.d.mts +318 -0
  2. package/dist/development/browser-D3uq9sI1.d.ts +318 -0
  3. package/dist/development/chunk-27WWNUAK.mjs +2585 -0
  4. package/dist/development/chunk-7WRK5K5U.mjs +11529 -0
  5. package/dist/development/chunk-J7O2DYPT.js +188 -0
  6. package/dist/development/chunk-RFDJDVPR.js +1363 -0
  7. package/dist/development/chunk-YBHVKAPO.js +10229 -0
  8. package/dist/development/context-CmHpk1Ws.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-CwU9bE5R.d.ts +3655 -0
  16. package/dist/development/index-react-server-client-DPrDrCew.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-CGcs-0pD.d.mts +318 -0
  37. package/dist/production/browser-D3uq9sI1.d.ts +318 -0
  38. package/dist/production/chunk-7EPCJDCD.js +1363 -0
  39. package/dist/production/chunk-AZ3UZPAM.js +188 -0
  40. package/dist/production/chunk-EQ7TH7YP.mjs +11529 -0
  41. package/dist/production/chunk-HTX4VW5N.mjs +2585 -0
  42. package/dist/production/chunk-YASMNIEI.js +10229 -0
  43. package/dist/production/context-CmHpk1Ws.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-CwU9bE5R.d.ts +3655 -0
  51. package/dist/production/index-react-server-client-DPrDrCew.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 +1 -17
  72. package/docs/explanation/index-query-param.md +2 -2
  73. package/docs/how-to/data-strategy.md +5 -5
  74. package/docs/how-to/error-reporting.md +10 -2
  75. package/docs/how-to/middleware.md +41 -6
  76. package/docs/how-to/react-server-components.md +1 -1
  77. package/docs/how-to/security.md +1 -1
  78. package/docs/start/data/route-object.md +20 -0
  79. package/docs/start/framework/actions.md +0 -1
  80. package/docs/start/framework/data-loading.md +1 -1
  81. package/docs/start/framework/installation.md +0 -1
  82. package/docs/upgrading/future.md +249 -0
  83. package/docs/upgrading/v6.md +3 -0
  84. package/package.json +87 -43
  85. package/dist/development/lib/actions.js +0 -62
  86. package/dist/development/lib/components.d.ts +0 -1022
  87. package/dist/development/lib/components.js +0 -835
  88. package/dist/development/lib/context.d.ts +0 -83
  89. package/dist/development/lib/context.js +0 -41
  90. package/dist/development/lib/dom/dom.d.ts +0 -119
  91. package/dist/development/lib/dom/dom.js +0 -143
  92. package/dist/development/lib/dom/lib.d.ts +0 -2042
  93. package/dist/development/lib/dom/lib.js +0 -1259
  94. package/dist/development/lib/dom/server.d.ts +0 -138
  95. package/dist/development/lib/dom/server.js +0 -301
  96. package/dist/development/lib/dom/ssr/components.d.ts +0 -196
  97. package/dist/development/lib/dom/ssr/components.js +0 -579
  98. package/dist/development/lib/dom/ssr/data.js +0 -29
  99. package/dist/development/lib/dom/ssr/entry.d.ts +0 -59
  100. package/dist/development/lib/dom/ssr/errorBoundaries.d.ts +0 -27
  101. package/dist/development/lib/dom/ssr/errorBoundaries.js +0 -83
  102. package/dist/development/lib/dom/ssr/errors.d.ts +0 -7
  103. package/dist/development/lib/dom/ssr/errors.js +0 -36
  104. package/dist/development/lib/dom/ssr/fallback.js +0 -28
  105. package/dist/development/lib/dom/ssr/fog-of-war.d.ts +0 -12
  106. package/dist/development/lib/dom/ssr/fog-of-war.js +0 -170
  107. package/dist/development/lib/dom/ssr/hydration.d.ts +0 -32
  108. package/dist/development/lib/dom/ssr/hydration.js +0 -29
  109. package/dist/development/lib/dom/ssr/invariant.js +0 -16
  110. package/dist/development/lib/dom/ssr/links.js +0 -170
  111. package/dist/development/lib/dom/ssr/markup.js +0 -24
  112. package/dist/development/lib/dom/ssr/routeModules.d.ts +0 -206
  113. package/dist/development/lib/dom/ssr/routeModules.js +0 -31
  114. package/dist/development/lib/dom/ssr/routes-test-stub.d.ts +0 -62
  115. package/dist/development/lib/dom/ssr/routes-test-stub.js +0 -108
  116. package/dist/development/lib/dom/ssr/routes.d.ts +0 -33
  117. package/dist/development/lib/dom/ssr/routes.js +0 -303
  118. package/dist/development/lib/dom/ssr/server.d.ts +0 -45
  119. package/dist/development/lib/dom/ssr/server.js +0 -68
  120. package/dist/development/lib/dom/ssr/single-fetch.d.ts +0 -14
  121. package/dist/development/lib/dom/ssr/single-fetch.js +0 -346
  122. package/dist/development/lib/dom-export/dom-router-provider.d.ts +0 -9
  123. package/dist/development/lib/dom-export/dom-router-provider.js +0 -22
  124. package/dist/development/lib/dom-export/hydrated-router.d.ts +0 -125
  125. package/dist/development/lib/dom-export/hydrated-router.js +0 -153
  126. package/dist/development/lib/errors.js +0 -29
  127. package/dist/development/lib/hooks.d.ts +0 -947
  128. package/dist/development/lib/hooks.js +0 -1386
  129. package/dist/development/lib/href.d.ts +0 -20
  130. package/dist/development/lib/href.js +0 -50
  131. package/dist/development/lib/router/history.d.ts +0 -258
  132. package/dist/development/lib/router/history.js +0 -371
  133. package/dist/development/lib/router/instrumentation.d.ts +0 -86
  134. package/dist/development/lib/router/instrumentation.js +0 -213
  135. package/dist/development/lib/router/links.d.ts +0 -113
  136. package/dist/development/lib/router/router.d.ts +0 -663
  137. package/dist/development/lib/router/router.js +0 -2981
  138. package/dist/development/lib/router/utils.d.ts +0 -942
  139. package/dist/development/lib/router/utils.js +0 -791
  140. package/dist/development/lib/rsc/browser.d.ts +0 -137
  141. package/dist/development/lib/rsc/browser.js +0 -599
  142. package/dist/development/lib/rsc/errorBoundaries.d.ts +0 -11
  143. package/dist/development/lib/rsc/errorBoundaries.js +0 -90
  144. package/dist/development/lib/rsc/html-stream/browser.d.ts +0 -48
  145. package/dist/development/lib/rsc/html-stream/browser.js +0 -74
  146. package/dist/development/lib/rsc/html-stream/server.js +0 -78
  147. package/dist/development/lib/rsc/route-modules.js +0 -27
  148. package/dist/development/lib/rsc/server.rsc.d.ts +0 -219
  149. package/dist/development/lib/rsc/server.ssr.d.ts +0 -129
  150. package/dist/development/lib/rsc/server.ssr.js +0 -388
  151. package/dist/development/lib/server-runtime/build.d.ts +0 -66
  152. package/dist/development/lib/server-runtime/cookies.d.ts +0 -66
  153. package/dist/development/lib/server-runtime/cookies.js +0 -139
  154. package/dist/development/lib/server-runtime/crypto.js +0 -43
  155. package/dist/development/lib/server-runtime/data.d.ts +0 -13
  156. package/dist/development/lib/server-runtime/data.js +0 -25
  157. package/dist/development/lib/server-runtime/dev.d.ts +0 -9
  158. package/dist/development/lib/server-runtime/dev.js +0 -26
  159. package/dist/development/lib/server-runtime/entry.js +0 -20
  160. package/dist/development/lib/server-runtime/errors.js +0 -95
  161. package/dist/development/lib/server-runtime/headers.js +0 -73
  162. package/dist/development/lib/server-runtime/invariant.js +0 -19
  163. package/dist/development/lib/server-runtime/mode.d.ts +0 -12
  164. package/dist/development/lib/server-runtime/mode.js +0 -25
  165. package/dist/development/lib/server-runtime/routeMatching.js +0 -28
  166. package/dist/development/lib/server-runtime/routes.d.ts +0 -13
  167. package/dist/development/lib/server-runtime/routes.js +0 -74
  168. package/dist/development/lib/server-runtime/server.d.ts +0 -10
  169. package/dist/development/lib/server-runtime/server.js +0 -351
  170. package/dist/development/lib/server-runtime/serverHandoff.js +0 -17
  171. package/dist/development/lib/server-runtime/sessions/cookieStorage.d.ts +0 -25
  172. package/dist/development/lib/server-runtime/sessions/cookieStorage.js +0 -45
  173. package/dist/development/lib/server-runtime/sessions/memoryStorage.d.ts +0 -23
  174. package/dist/development/lib/server-runtime/sessions/memoryStorage.js +0 -52
  175. package/dist/development/lib/server-runtime/sessions.d.ts +0 -145
  176. package/dist/development/lib/server-runtime/sessions.js +0 -98
  177. package/dist/development/lib/server-runtime/single-fetch.d.ts +0 -7
  178. package/dist/development/lib/server-runtime/single-fetch.js +0 -215
  179. package/dist/development/lib/server-runtime/urls.js +0 -31
  180. package/dist/development/lib/server-runtime/warnings.js +0 -20
  181. package/dist/development/lib/types/future.d.ts +0 -9
  182. package/dist/development/lib/types/route-data.d.ts +0 -113
  183. package/dist/development/lib/types/route-module-annotations.d.ts +0 -149
  184. package/dist/development/lib/types/route-module.d.ts +0 -19
  185. package/dist/development/lib/types/serializes-to.d.ts +0 -13
  186. package/dist/development/lib/types/utils.d.ts +0 -11
  187. package/dist/development/vendor/turbo-stream-v2/flatten.js +0 -159
  188. package/dist/development/vendor/turbo-stream-v2/turbo-stream.js +0 -178
  189. package/dist/development/vendor/turbo-stream-v2/unflatten.js +0 -198
  190. package/dist/development/vendor/turbo-stream-v2/utils.js +0 -47
  191. package/dist/production/lib/actions.js +0 -62
  192. package/dist/production/lib/components.d.ts +0 -1022
  193. package/dist/production/lib/components.js +0 -835
  194. package/dist/production/lib/context.d.ts +0 -83
  195. package/dist/production/lib/context.js +0 -41
  196. package/dist/production/lib/dom/dom.d.ts +0 -119
  197. package/dist/production/lib/dom/dom.js +0 -143
  198. package/dist/production/lib/dom/lib.d.ts +0 -2042
  199. package/dist/production/lib/dom/lib.js +0 -1259
  200. package/dist/production/lib/dom/server.d.ts +0 -138
  201. package/dist/production/lib/dom/server.js +0 -301
  202. package/dist/production/lib/dom/ssr/components.d.ts +0 -196
  203. package/dist/production/lib/dom/ssr/components.js +0 -579
  204. package/dist/production/lib/dom/ssr/data.js +0 -29
  205. package/dist/production/lib/dom/ssr/entry.d.ts +0 -59
  206. package/dist/production/lib/dom/ssr/errorBoundaries.d.ts +0 -27
  207. package/dist/production/lib/dom/ssr/errorBoundaries.js +0 -83
  208. package/dist/production/lib/dom/ssr/errors.d.ts +0 -7
  209. package/dist/production/lib/dom/ssr/errors.js +0 -36
  210. package/dist/production/lib/dom/ssr/fallback.js +0 -21
  211. package/dist/production/lib/dom/ssr/fog-of-war.d.ts +0 -12
  212. package/dist/production/lib/dom/ssr/fog-of-war.js +0 -170
  213. package/dist/production/lib/dom/ssr/hydration.d.ts +0 -32
  214. package/dist/production/lib/dom/ssr/hydration.js +0 -29
  215. package/dist/production/lib/dom/ssr/invariant.js +0 -16
  216. package/dist/production/lib/dom/ssr/links.js +0 -170
  217. package/dist/production/lib/dom/ssr/markup.js +0 -24
  218. package/dist/production/lib/dom/ssr/routeModules.d.ts +0 -206
  219. package/dist/production/lib/dom/ssr/routeModules.js +0 -31
  220. package/dist/production/lib/dom/ssr/routes-test-stub.d.ts +0 -62
  221. package/dist/production/lib/dom/ssr/routes-test-stub.js +0 -108
  222. package/dist/production/lib/dom/ssr/routes.d.ts +0 -33
  223. package/dist/production/lib/dom/ssr/routes.js +0 -303
  224. package/dist/production/lib/dom/ssr/server.d.ts +0 -45
  225. package/dist/production/lib/dom/ssr/server.js +0 -68
  226. package/dist/production/lib/dom/ssr/single-fetch.d.ts +0 -14
  227. package/dist/production/lib/dom/ssr/single-fetch.js +0 -346
  228. package/dist/production/lib/dom-export/dom-router-provider.d.ts +0 -9
  229. package/dist/production/lib/dom-export/dom-router-provider.js +0 -22
  230. package/dist/production/lib/dom-export/hydrated-router.d.ts +0 -125
  231. package/dist/production/lib/dom-export/hydrated-router.js +0 -153
  232. package/dist/production/lib/errors.js +0 -29
  233. package/dist/production/lib/hooks.d.ts +0 -947
  234. package/dist/production/lib/hooks.js +0 -1371
  235. package/dist/production/lib/href.d.ts +0 -20
  236. package/dist/production/lib/href.js +0 -50
  237. package/dist/production/lib/router/history.d.ts +0 -258
  238. package/dist/production/lib/router/history.js +0 -371
  239. package/dist/production/lib/router/instrumentation.d.ts +0 -86
  240. package/dist/production/lib/router/instrumentation.js +0 -213
  241. package/dist/production/lib/router/links.d.ts +0 -113
  242. package/dist/production/lib/router/router.d.ts +0 -663
  243. package/dist/production/lib/router/router.js +0 -2981
  244. package/dist/production/lib/router/utils.d.ts +0 -942
  245. package/dist/production/lib/router/utils.js +0 -782
  246. package/dist/production/lib/rsc/browser.d.ts +0 -137
  247. package/dist/production/lib/rsc/browser.js +0 -599
  248. package/dist/production/lib/rsc/errorBoundaries.d.ts +0 -11
  249. package/dist/production/lib/rsc/errorBoundaries.js +0 -90
  250. package/dist/production/lib/rsc/html-stream/browser.d.ts +0 -48
  251. package/dist/production/lib/rsc/html-stream/browser.js +0 -74
  252. package/dist/production/lib/rsc/html-stream/server.js +0 -78
  253. package/dist/production/lib/rsc/route-modules.js +0 -27
  254. package/dist/production/lib/rsc/server.rsc.d.ts +0 -219
  255. package/dist/production/lib/rsc/server.ssr.d.ts +0 -129
  256. package/dist/production/lib/rsc/server.ssr.js +0 -388
  257. package/dist/production/lib/server-runtime/build.d.ts +0 -66
  258. package/dist/production/lib/server-runtime/cookies.d.ts +0 -66
  259. package/dist/production/lib/server-runtime/cookies.js +0 -139
  260. package/dist/production/lib/server-runtime/crypto.js +0 -43
  261. package/dist/production/lib/server-runtime/data.d.ts +0 -13
  262. package/dist/production/lib/server-runtime/data.js +0 -25
  263. package/dist/production/lib/server-runtime/dev.d.ts +0 -9
  264. package/dist/production/lib/server-runtime/dev.js +0 -26
  265. package/dist/production/lib/server-runtime/entry.js +0 -20
  266. package/dist/production/lib/server-runtime/errors.js +0 -95
  267. package/dist/production/lib/server-runtime/headers.js +0 -73
  268. package/dist/production/lib/server-runtime/invariant.js +0 -19
  269. package/dist/production/lib/server-runtime/mode.d.ts +0 -12
  270. package/dist/production/lib/server-runtime/mode.js +0 -25
  271. package/dist/production/lib/server-runtime/routeMatching.js +0 -28
  272. package/dist/production/lib/server-runtime/routes.d.ts +0 -13
  273. package/dist/production/lib/server-runtime/routes.js +0 -74
  274. package/dist/production/lib/server-runtime/server.d.ts +0 -10
  275. package/dist/production/lib/server-runtime/server.js +0 -351
  276. package/dist/production/lib/server-runtime/serverHandoff.js +0 -17
  277. package/dist/production/lib/server-runtime/sessions/cookieStorage.d.ts +0 -25
  278. package/dist/production/lib/server-runtime/sessions/cookieStorage.js +0 -45
  279. package/dist/production/lib/server-runtime/sessions/memoryStorage.d.ts +0 -23
  280. package/dist/production/lib/server-runtime/sessions/memoryStorage.js +0 -52
  281. package/dist/production/lib/server-runtime/sessions.d.ts +0 -145
  282. package/dist/production/lib/server-runtime/sessions.js +0 -98
  283. package/dist/production/lib/server-runtime/single-fetch.d.ts +0 -7
  284. package/dist/production/lib/server-runtime/single-fetch.js +0 -215
  285. package/dist/production/lib/server-runtime/urls.js +0 -31
  286. package/dist/production/lib/server-runtime/warnings.js +0 -20
  287. package/dist/production/lib/types/future.d.ts +0 -9
  288. package/dist/production/lib/types/route-data.d.ts +0 -113
  289. package/dist/production/lib/types/route-module-annotations.d.ts +0 -149
  290. package/dist/production/lib/types/route-module.d.ts +0 -19
  291. package/dist/production/lib/types/serializes-to.d.ts +0 -13
  292. package/dist/production/lib/types/utils.d.ts +0 -11
  293. package/dist/production/vendor/turbo-stream-v2/flatten.js +0 -159
  294. package/dist/production/vendor/turbo-stream-v2/turbo-stream.js +0 -178
  295. package/dist/production/vendor/turbo-stream-v2/unflatten.js +0 -198
  296. 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 './context-CmHpk1Ws.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 };
@@ -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 };