react-router 7.15.1 → 8.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/CHANGELOG.md +181 -2
  2. package/dist/development/dom-export.d.ts +6 -172
  3. package/dist/development/dom-export.js +12 -1007
  4. package/dist/development/index-react-server-client.d.ts +7 -4
  5. package/dist/development/index-react-server-client.js +8 -52
  6. package/dist/development/index-react-server.d.ts +1789 -1657
  7. package/dist/development/index-react-server.js +3074 -3674
  8. package/dist/development/index.d.ts +41 -1469
  9. package/dist/development/index.js +36 -2621
  10. package/dist/development/lib/actions.js +50 -0
  11. package/dist/development/lib/components.d.ts +1030 -0
  12. package/dist/development/lib/components.js +841 -0
  13. package/dist/development/lib/context.d.ts +83 -0
  14. package/dist/development/lib/context.js +41 -0
  15. package/dist/development/lib/dom/dom.d.ts +119 -0
  16. package/dist/development/lib/dom/dom.js +143 -0
  17. package/dist/development/lib/dom/lib.d.ts +2054 -0
  18. package/dist/development/lib/dom/lib.js +1272 -0
  19. package/dist/development/lib/dom/server.d.ts +138 -0
  20. package/dist/development/lib/dom/server.js +301 -0
  21. package/dist/development/lib/dom/ssr/components.d.ts +198 -0
  22. package/dist/development/lib/dom/ssr/components.js +589 -0
  23. package/dist/development/lib/dom/ssr/data.js +29 -0
  24. package/dist/development/lib/dom/ssr/entry.d.ts +60 -0
  25. package/dist/development/lib/dom/ssr/errorBoundaries.d.ts +27 -0
  26. package/dist/development/lib/dom/ssr/errorBoundaries.js +87 -0
  27. package/dist/development/lib/dom/ssr/fallback.js +33 -0
  28. package/dist/development/lib/dom/ssr/fog-of-war.d.ts +12 -0
  29. package/dist/development/lib/dom/ssr/fog-of-war.js +185 -0
  30. package/dist/development/lib/dom/ssr/hydration.d.ts +32 -0
  31. package/dist/development/lib/dom/ssr/hydration.js +29 -0
  32. package/dist/development/lib/dom/ssr/invariant.js +16 -0
  33. package/dist/development/lib/dom/ssr/links.js +170 -0
  34. package/dist/development/lib/dom/ssr/markup.js +24 -0
  35. package/dist/development/lib/dom/ssr/routeModules.d.ts +206 -0
  36. package/dist/development/lib/dom/ssr/routeModules.js +31 -0
  37. package/dist/development/lib/dom/ssr/routes-test-stub.d.ts +75 -0
  38. package/dist/development/lib/dom/ssr/routes-test-stub.js +121 -0
  39. package/dist/development/lib/dom/ssr/routes.d.ts +33 -0
  40. package/dist/development/lib/dom/ssr/routes.js +303 -0
  41. package/dist/development/lib/dom/ssr/server.d.ts +48 -0
  42. package/dist/development/lib/dom/ssr/server.js +69 -0
  43. package/dist/development/lib/dom/ssr/single-fetch.d.ts +14 -0
  44. package/dist/development/lib/dom/ssr/single-fetch.js +345 -0
  45. package/dist/development/lib/dom-export/dom-router-provider.d.ts +9 -0
  46. package/dist/development/lib/dom-export/dom-router-provider.js +22 -0
  47. package/dist/development/lib/dom-export/hydrated-router.d.ts +125 -0
  48. package/dist/development/lib/dom-export/hydrated-router.js +150 -0
  49. package/dist/development/lib/errors.js +29 -0
  50. package/dist/development/lib/hooks.d.ts +974 -0
  51. package/dist/development/lib/hooks.js +1415 -0
  52. package/dist/development/lib/href.d.ts +36 -0
  53. package/dist/development/lib/href.js +70 -0
  54. package/dist/development/lib/router/history.d.ts +264 -0
  55. package/dist/development/lib/router/history.js +378 -0
  56. package/dist/development/lib/router/instrumentation.d.ts +111 -0
  57. package/dist/development/lib/router/instrumentation.js +290 -0
  58. package/dist/development/lib/router/links.d.ts +114 -0
  59. package/dist/development/lib/router/router.d.ts +663 -0
  60. package/dist/development/lib/router/router.js +2988 -0
  61. package/dist/development/lib/router/url.js +18 -0
  62. package/dist/development/lib/router/utils.d.ts +960 -0
  63. package/dist/development/lib/router/utils.js +881 -0
  64. package/dist/development/lib/rsc/browser.d.ts +137 -0
  65. package/dist/development/lib/rsc/browser.js +612 -0
  66. package/dist/development/lib/rsc/errorBoundaries.d.ts +11 -0
  67. package/dist/development/lib/rsc/errorBoundaries.js +90 -0
  68. package/dist/development/lib/rsc/html-stream/browser.d.ts +48 -0
  69. package/dist/development/lib/rsc/html-stream/browser.js +74 -0
  70. package/dist/development/lib/rsc/html-stream/server.js +97 -0
  71. package/dist/development/lib/rsc/route-modules.js +27 -0
  72. package/dist/development/lib/rsc/server.rsc.d.ts +224 -0
  73. package/dist/development/lib/rsc/server.ssr.d.ts +152 -0
  74. package/dist/development/lib/rsc/server.ssr.js +419 -0
  75. package/dist/development/lib/server-runtime/build.d.ts +66 -0
  76. package/dist/development/lib/server-runtime/cookies.d.ts +92 -0
  77. package/dist/development/lib/server-runtime/cookies.js +153 -0
  78. package/dist/development/lib/server-runtime/crypto.js +43 -0
  79. package/dist/development/lib/server-runtime/data.js +25 -0
  80. package/dist/development/lib/server-runtime/dev.d.ts +9 -0
  81. package/dist/development/lib/server-runtime/dev.js +26 -0
  82. package/dist/development/lib/server-runtime/entry.js +20 -0
  83. package/dist/development/lib/server-runtime/errors.js +75 -0
  84. package/dist/development/lib/server-runtime/headers.js +73 -0
  85. package/dist/development/lib/server-runtime/invariant.js +19 -0
  86. package/dist/development/lib/server-runtime/mode.d.ts +12 -0
  87. package/dist/development/lib/server-runtime/mode.js +25 -0
  88. package/dist/development/lib/server-runtime/routeMatching.js +28 -0
  89. package/dist/development/lib/server-runtime/routes.d.ts +13 -0
  90. package/dist/development/lib/server-runtime/routes.js +74 -0
  91. package/dist/development/lib/server-runtime/server.d.ts +22 -0
  92. package/dist/development/lib/server-runtime/server.js +364 -0
  93. package/dist/development/lib/server-runtime/serverHandoff.js +17 -0
  94. package/dist/development/lib/server-runtime/sessions/cookieStorage.d.ts +33 -0
  95. package/dist/development/lib/server-runtime/sessions/cookieStorage.js +53 -0
  96. package/dist/development/lib/server-runtime/sessions/memoryStorage.d.ts +29 -0
  97. package/dist/development/lib/server-runtime/sessions/memoryStorage.js +58 -0
  98. package/dist/development/lib/server-runtime/sessions.d.ts +174 -0
  99. package/dist/development/lib/server-runtime/sessions.js +115 -0
  100. package/dist/development/lib/server-runtime/single-fetch.d.ts +7 -0
  101. package/dist/development/lib/server-runtime/single-fetch.js +215 -0
  102. package/dist/development/lib/server-runtime/urls.js +28 -0
  103. package/dist/development/lib/server-runtime/warnings.js +20 -0
  104. package/dist/development/lib/types/future.d.ts +9 -0
  105. package/dist/development/lib/types/internal.d.ts +26 -177
  106. package/dist/development/lib/types/internal.js +3 -2
  107. package/dist/{production/register-Bsscfj79.d.ts → development/lib/types/register.d.ts} +9 -15
  108. package/dist/development/lib/types/route-data.d.ts +113 -0
  109. package/dist/development/lib/types/route-module-annotations.d.ts +149 -0
  110. package/dist/development/lib/types/route-module.d.ts +19 -0
  111. package/dist/development/lib/types/serializes-to.d.ts +13 -0
  112. package/dist/development/lib/types/utils.d.ts +11 -0
  113. package/dist/development/vendor/turbo-stream-v2/flatten.js +159 -0
  114. package/dist/development/vendor/turbo-stream-v2/turbo-stream.js +179 -0
  115. package/dist/development/vendor/turbo-stream-v2/unflatten.js +199 -0
  116. package/dist/development/vendor/turbo-stream-v2/utils.js +39 -0
  117. package/dist/production/dom-export.d.ts +6 -172
  118. package/dist/production/dom-export.js +12 -1007
  119. package/dist/production/index-react-server-client.d.ts +7 -4
  120. package/dist/production/index-react-server-client.js +8 -52
  121. package/dist/production/index-react-server.d.ts +1789 -1657
  122. package/dist/production/index-react-server.js +3065 -3674
  123. package/dist/production/index.d.ts +41 -1469
  124. package/dist/production/index.js +36 -2621
  125. package/dist/production/lib/actions.js +50 -0
  126. package/dist/production/lib/components.d.ts +1030 -0
  127. package/dist/production/lib/components.js +841 -0
  128. package/dist/production/lib/context.d.ts +83 -0
  129. package/dist/production/lib/context.js +41 -0
  130. package/dist/production/lib/dom/dom.d.ts +119 -0
  131. package/dist/production/lib/dom/dom.js +143 -0
  132. package/dist/production/lib/dom/lib.d.ts +2054 -0
  133. package/dist/production/lib/dom/lib.js +1272 -0
  134. package/dist/production/lib/dom/server.d.ts +138 -0
  135. package/dist/production/lib/dom/server.js +301 -0
  136. package/dist/production/lib/dom/ssr/components.d.ts +198 -0
  137. package/dist/production/lib/dom/ssr/components.js +589 -0
  138. package/dist/production/lib/dom/ssr/data.js +29 -0
  139. package/dist/production/lib/dom/ssr/entry.d.ts +60 -0
  140. package/dist/production/lib/dom/ssr/errorBoundaries.d.ts +27 -0
  141. package/dist/production/lib/dom/ssr/errorBoundaries.js +87 -0
  142. package/dist/production/lib/dom/ssr/fallback.js +23 -0
  143. package/dist/production/lib/dom/ssr/fog-of-war.d.ts +12 -0
  144. package/dist/production/lib/dom/ssr/fog-of-war.js +185 -0
  145. package/dist/production/lib/dom/ssr/hydration.d.ts +32 -0
  146. package/dist/production/lib/dom/ssr/hydration.js +29 -0
  147. package/dist/production/lib/dom/ssr/invariant.js +16 -0
  148. package/dist/production/lib/dom/ssr/links.js +170 -0
  149. package/dist/production/lib/dom/ssr/markup.js +24 -0
  150. package/dist/production/lib/dom/ssr/routeModules.d.ts +206 -0
  151. package/dist/production/lib/dom/ssr/routeModules.js +31 -0
  152. package/dist/production/lib/dom/ssr/routes-test-stub.d.ts +75 -0
  153. package/dist/production/lib/dom/ssr/routes-test-stub.js +121 -0
  154. package/dist/production/lib/dom/ssr/routes.d.ts +33 -0
  155. package/dist/production/lib/dom/ssr/routes.js +303 -0
  156. package/dist/production/lib/dom/ssr/server.d.ts +48 -0
  157. package/dist/production/lib/dom/ssr/server.js +69 -0
  158. package/dist/production/lib/dom/ssr/single-fetch.d.ts +14 -0
  159. package/dist/production/lib/dom/ssr/single-fetch.js +345 -0
  160. package/dist/production/lib/dom-export/dom-router-provider.d.ts +9 -0
  161. package/dist/production/lib/dom-export/dom-router-provider.js +22 -0
  162. package/dist/production/lib/dom-export/hydrated-router.d.ts +125 -0
  163. package/dist/production/lib/dom-export/hydrated-router.js +150 -0
  164. package/dist/production/lib/errors.js +29 -0
  165. package/dist/production/lib/hooks.d.ts +974 -0
  166. package/dist/production/lib/hooks.js +1400 -0
  167. package/dist/production/lib/href.d.ts +36 -0
  168. package/dist/production/lib/href.js +70 -0
  169. package/dist/production/lib/router/history.d.ts +264 -0
  170. package/dist/production/lib/router/history.js +378 -0
  171. package/dist/production/lib/router/instrumentation.d.ts +111 -0
  172. package/dist/production/lib/router/instrumentation.js +290 -0
  173. package/dist/production/lib/router/links.d.ts +114 -0
  174. package/dist/production/lib/router/router.d.ts +663 -0
  175. package/dist/production/lib/router/router.js +2988 -0
  176. package/dist/production/lib/router/url.js +18 -0
  177. package/dist/production/lib/router/utils.d.ts +960 -0
  178. package/dist/production/lib/router/utils.js +872 -0
  179. package/dist/production/lib/rsc/browser.d.ts +137 -0
  180. package/dist/production/lib/rsc/browser.js +612 -0
  181. package/dist/production/lib/rsc/errorBoundaries.d.ts +11 -0
  182. package/dist/production/lib/rsc/errorBoundaries.js +90 -0
  183. package/dist/production/lib/rsc/html-stream/browser.d.ts +48 -0
  184. package/dist/production/lib/rsc/html-stream/browser.js +74 -0
  185. package/dist/production/lib/rsc/html-stream/server.js +97 -0
  186. package/dist/production/lib/rsc/route-modules.js +27 -0
  187. package/dist/production/lib/rsc/server.rsc.d.ts +224 -0
  188. package/dist/production/lib/rsc/server.ssr.d.ts +152 -0
  189. package/dist/production/lib/rsc/server.ssr.js +419 -0
  190. package/dist/production/lib/server-runtime/build.d.ts +66 -0
  191. package/dist/production/lib/server-runtime/cookies.d.ts +92 -0
  192. package/dist/production/lib/server-runtime/cookies.js +153 -0
  193. package/dist/production/lib/server-runtime/crypto.js +43 -0
  194. package/dist/production/lib/server-runtime/data.js +25 -0
  195. package/dist/production/lib/server-runtime/dev.d.ts +9 -0
  196. package/dist/production/lib/server-runtime/dev.js +26 -0
  197. package/dist/production/lib/server-runtime/entry.js +20 -0
  198. package/dist/production/lib/server-runtime/errors.js +75 -0
  199. package/dist/production/lib/server-runtime/headers.js +73 -0
  200. package/dist/production/lib/server-runtime/invariant.js +19 -0
  201. package/dist/production/lib/server-runtime/mode.d.ts +12 -0
  202. package/dist/production/lib/server-runtime/mode.js +25 -0
  203. package/dist/production/lib/server-runtime/routeMatching.js +28 -0
  204. package/dist/production/lib/server-runtime/routes.d.ts +13 -0
  205. package/dist/production/lib/server-runtime/routes.js +74 -0
  206. package/dist/production/lib/server-runtime/server.d.ts +22 -0
  207. package/dist/production/lib/server-runtime/server.js +364 -0
  208. package/dist/production/lib/server-runtime/serverHandoff.js +17 -0
  209. package/dist/production/lib/server-runtime/sessions/cookieStorage.d.ts +33 -0
  210. package/dist/production/lib/server-runtime/sessions/cookieStorage.js +53 -0
  211. package/dist/production/lib/server-runtime/sessions/memoryStorage.d.ts +29 -0
  212. package/dist/production/lib/server-runtime/sessions/memoryStorage.js +58 -0
  213. package/dist/production/lib/server-runtime/sessions.d.ts +174 -0
  214. package/dist/production/lib/server-runtime/sessions.js +115 -0
  215. package/dist/production/lib/server-runtime/single-fetch.d.ts +7 -0
  216. package/dist/production/lib/server-runtime/single-fetch.js +215 -0
  217. package/dist/production/lib/server-runtime/urls.js +28 -0
  218. package/dist/production/lib/server-runtime/warnings.js +20 -0
  219. package/dist/production/lib/types/future.d.ts +9 -0
  220. package/dist/production/lib/types/internal.d.ts +26 -177
  221. package/dist/production/lib/types/internal.js +3 -2
  222. package/dist/{development/register-Bsscfj79.d.ts → production/lib/types/register.d.ts} +9 -15
  223. package/dist/production/lib/types/route-data.d.ts +113 -0
  224. package/dist/production/lib/types/route-module-annotations.d.ts +149 -0
  225. package/dist/production/lib/types/route-module.d.ts +19 -0
  226. package/dist/production/lib/types/serializes-to.d.ts +13 -0
  227. package/dist/production/lib/types/utils.d.ts +11 -0
  228. package/dist/production/vendor/turbo-stream-v2/flatten.js +159 -0
  229. package/dist/production/vendor/turbo-stream-v2/turbo-stream.js +179 -0
  230. package/dist/production/vendor/turbo-stream-v2/unflatten.js +199 -0
  231. package/dist/production/vendor/turbo-stream-v2/utils.js +39 -0
  232. package/docs/explanation/backend-for-frontend.md +50 -0
  233. package/docs/explanation/code-splitting.md +77 -0
  234. package/docs/explanation/concurrency.md +135 -0
  235. package/docs/explanation/form-vs-fetcher.md +292 -0
  236. package/docs/explanation/hot-module-replacement.md +137 -0
  237. package/docs/explanation/hydration.md +14 -0
  238. package/docs/explanation/index-query-param.md +86 -0
  239. package/docs/explanation/index.md +4 -0
  240. package/docs/explanation/lazy-route-discovery.md +78 -0
  241. package/docs/explanation/location.md +6 -0
  242. package/docs/explanation/progressive-enhancement.md +150 -0
  243. package/docs/explanation/race-conditions.md +88 -0
  244. package/docs/explanation/react-transitions.md +160 -0
  245. package/docs/explanation/route-matching.md +7 -0
  246. package/docs/explanation/server-client-execution.md +4 -0
  247. package/docs/explanation/sessions-and-cookies.md +465 -0
  248. package/docs/explanation/special-files.md +16 -0
  249. package/docs/explanation/state-management.md +524 -0
  250. package/docs/explanation/styling.md +87 -0
  251. package/docs/explanation/type-safety.md +82 -0
  252. package/docs/how-to/accessibility.md +44 -0
  253. package/docs/how-to/client-data.md +199 -0
  254. package/docs/how-to/data-strategy.md +317 -0
  255. package/docs/how-to/error-boundary.md +231 -0
  256. package/docs/how-to/error-reporting.md +142 -0
  257. package/docs/how-to/fetchers.md +307 -0
  258. package/docs/how-to/file-route-conventions.md +410 -0
  259. package/docs/how-to/file-uploads.md +217 -0
  260. package/docs/how-to/form-validation.md +120 -0
  261. package/docs/how-to/headers.md +165 -0
  262. package/docs/how-to/index.md +4 -0
  263. package/docs/how-to/instrumentation.md +661 -0
  264. package/docs/how-to/meta.md +40 -0
  265. package/docs/how-to/middleware.md +647 -0
  266. package/docs/how-to/navigation-blocking.md +233 -0
  267. package/docs/how-to/optimize-revalidation.md +12 -0
  268. package/docs/how-to/pre-rendering.md +225 -0
  269. package/docs/how-to/presets.md +103 -0
  270. package/docs/how-to/react-server-components.md +951 -0
  271. package/docs/how-to/resource-routes.md +126 -0
  272. package/docs/how-to/route-module-type-safety.md +85 -0
  273. package/docs/how-to/search-params.md +4 -0
  274. package/docs/how-to/security.md +39 -0
  275. package/docs/how-to/server-bundles.md +66 -0
  276. package/docs/how-to/spa.md +120 -0
  277. package/docs/how-to/status.md +63 -0
  278. package/docs/how-to/suspense.md +132 -0
  279. package/docs/how-to/using-handle.md +117 -0
  280. package/docs/how-to/view-transitions.md +237 -0
  281. package/docs/how-to/webhook.md +50 -0
  282. package/docs/index.md +36 -0
  283. package/docs/start/data/actions.md +138 -0
  284. package/docs/start/data/custom.md +198 -0
  285. package/docs/start/data/data-loading.md +44 -0
  286. package/docs/start/data/index.md +4 -0
  287. package/docs/start/data/installation.md +56 -0
  288. package/docs/start/data/navigating.md +12 -0
  289. package/docs/start/data/pending-ui.md +12 -0
  290. package/docs/start/data/route-object.md +268 -0
  291. package/docs/start/data/routing.md +281 -0
  292. package/docs/start/data/testing.md +8 -0
  293. package/docs/start/declarative/index.md +4 -0
  294. package/docs/start/declarative/installation.md +43 -0
  295. package/docs/start/declarative/navigating.md +133 -0
  296. package/docs/start/declarative/routing.md +237 -0
  297. package/docs/start/declarative/url-values.md +65 -0
  298. package/docs/start/framework/actions.md +174 -0
  299. package/docs/start/framework/data-loading.md +201 -0
  300. package/docs/start/framework/deploying.md +104 -0
  301. package/docs/start/framework/index.md +4 -0
  302. package/docs/start/framework/installation.md +41 -0
  303. package/docs/start/framework/navigating.md +182 -0
  304. package/docs/start/framework/pending-ui.md +142 -0
  305. package/docs/start/framework/rendering.md +59 -0
  306. package/docs/start/framework/route-module.md +527 -0
  307. package/docs/start/framework/routing.md +362 -0
  308. package/docs/start/framework/testing.md +133 -0
  309. package/docs/start/index.md +4 -0
  310. package/docs/start/modes.md +200 -0
  311. package/docs/upgrading/component-routes.md +363 -0
  312. package/docs/upgrading/future.md +111 -0
  313. package/docs/upgrading/index.md +4 -0
  314. package/docs/upgrading/router-provider.md +445 -0
  315. package/docs/upgrading/v7.md +460 -0
  316. package/package.json +44 -87
  317. package/dist/development/browser-3AnU12UI.d.mts +0 -318
  318. package/dist/development/browser-BOdXz9dK.d.ts +0 -318
  319. package/dist/development/chunk-4N6VE7H7.mjs +0 -11528
  320. package/dist/development/chunk-4YRVXM2U.js +0 -188
  321. package/dist/development/chunk-66UKHEGQ.js +0 -1362
  322. package/dist/development/chunk-D6LUOGOQ.js +0 -10229
  323. package/dist/development/chunk-RJYABSBD.mjs +0 -2585
  324. package/dist/development/context-ByvtofY2.d.mts +0 -1771
  325. package/dist/development/data-BVUf681J.d.mts +0 -1732
  326. package/dist/development/data-BqZ2x964.d.ts +0 -1732
  327. package/dist/development/dom-export.d.mts +0 -172
  328. package/dist/development/dom-export.mjs +0 -1008
  329. package/dist/development/index-react-server-client-BS5F89FR.d.ts +0 -3655
  330. package/dist/development/index-react-server-client-DY04-103.d.mts +0 -2600
  331. package/dist/development/index-react-server-client.d.mts +0 -4
  332. package/dist/development/index-react-server-client.mjs +0 -59
  333. package/dist/development/index-react-server.d.mts +0 -2703
  334. package/dist/development/index-react-server.mjs +0 -3780
  335. package/dist/development/index.d.mts +0 -1472
  336. package/dist/development/index.mjs +0 -277
  337. package/dist/development/instrumentation-cRWWLfsU.d.ts +0 -715
  338. package/dist/development/lib/types/internal.d.mts +0 -184
  339. package/dist/development/lib/types/internal.mjs +0 -10
  340. package/dist/development/register-Df8okEea.d.mts +0 -30
  341. package/dist/production/browser-3AnU12UI.d.mts +0 -318
  342. package/dist/production/browser-BOdXz9dK.d.ts +0 -318
  343. package/dist/production/chunk-6S4627ZB.mjs +0 -2585
  344. package/dist/production/chunk-HUBUW7R3.js +0 -10229
  345. package/dist/production/chunk-JAKZPQZC.mjs +0 -11528
  346. package/dist/production/chunk-PNZCCTKT.js +0 -1362
  347. package/dist/production/chunk-Y6IFXO7V.js +0 -188
  348. package/dist/production/context-ByvtofY2.d.mts +0 -1771
  349. package/dist/production/data-BVUf681J.d.mts +0 -1732
  350. package/dist/production/data-BqZ2x964.d.ts +0 -1732
  351. package/dist/production/dom-export.d.mts +0 -172
  352. package/dist/production/dom-export.mjs +0 -1008
  353. package/dist/production/index-react-server-client-BS5F89FR.d.ts +0 -3655
  354. package/dist/production/index-react-server-client-DY04-103.d.mts +0 -2600
  355. package/dist/production/index-react-server-client.d.mts +0 -4
  356. package/dist/production/index-react-server-client.mjs +0 -59
  357. package/dist/production/index-react-server.d.mts +0 -2703
  358. package/dist/production/index-react-server.mjs +0 -3780
  359. package/dist/production/index.d.mts +0 -1472
  360. package/dist/production/index.mjs +0 -277
  361. package/dist/production/instrumentation-cRWWLfsU.d.ts +0 -715
  362. package/dist/production/lib/types/internal.d.mts +0 -184
  363. package/dist/production/lib/types/internal.mjs +0 -10
  364. package/dist/production/register-Df8okEea.d.mts +0 -30
@@ -0,0 +1,206 @@
1
+
2
+ import { Location } from "../../router/history.js";
3
+ import { ActionFunction, ActionFunctionArgs, DataRouteMatch, DataStrategyResult, LoaderFunction, LoaderFunctionArgs, MiddlewareFunction, Params, ShouldRevalidateFunction } from "../../router/utils.js";
4
+ import { LinkDescriptor } from "../../router/links.js";
5
+ import { SerializeFrom } from "../../types/route-data.js";
6
+ import { ComponentType, ReactElement } from "react";
7
+
8
+ //#region lib/dom/ssr/routeModules.d.ts
9
+ interface RouteModules {
10
+ [routeId: string]: RouteModule | undefined;
11
+ }
12
+ /**
13
+ * The shape of a route module shipped to the client
14
+ */
15
+ interface RouteModule {
16
+ clientAction?: ClientActionFunction;
17
+ clientLoader?: ClientLoaderFunction;
18
+ clientMiddleware?: MiddlewareFunction<Record<string, DataStrategyResult>>[];
19
+ ErrorBoundary?: ErrorBoundaryComponent;
20
+ HydrateFallback?: HydrateFallbackComponent;
21
+ Layout?: LayoutComponent;
22
+ default: RouteComponent;
23
+ handle?: RouteHandle;
24
+ links?: LinksFunction;
25
+ meta?: MetaFunction;
26
+ shouldRevalidate?: ShouldRevalidateFunction;
27
+ }
28
+ /**
29
+ * The shape of a route module on the server
30
+ */
31
+ interface ServerRouteModule extends RouteModule {
32
+ action?: ActionFunction;
33
+ headers?: HeadersFunction | {
34
+ [name: string]: string;
35
+ };
36
+ loader?: LoaderFunction;
37
+ middleware?: MiddlewareFunction<Response>[];
38
+ }
39
+ /**
40
+ * A function that handles data mutations for a route on the client
41
+ */
42
+ type ClientActionFunction = (args: ClientActionFunctionArgs) => ReturnType<ActionFunction>;
43
+ /**
44
+ * Arguments passed to a route `clientAction` function
45
+ */
46
+ type ClientActionFunctionArgs = ActionFunctionArgs & {
47
+ serverAction: <T = unknown>() => Promise<SerializeFrom<T>>;
48
+ };
49
+ /**
50
+ * A function that loads data for a route on the client
51
+ */
52
+ type ClientLoaderFunction = ((args: ClientLoaderFunctionArgs) => ReturnType<LoaderFunction>) & {
53
+ hydrate?: boolean;
54
+ };
55
+ /**
56
+ * Arguments passed to a route `clientLoader` function
57
+ */
58
+ type ClientLoaderFunctionArgs = LoaderFunctionArgs & {
59
+ serverLoader: <T = unknown>() => Promise<SerializeFrom<T>>;
60
+ };
61
+ /**
62
+ * ErrorBoundary to display for this route
63
+ */
64
+ type ErrorBoundaryComponent = ComponentType;
65
+ type HeadersArgs = {
66
+ loaderHeaders: Headers;
67
+ parentHeaders: Headers;
68
+ actionHeaders: Headers;
69
+ errorHeaders: Headers | undefined;
70
+ };
71
+ /**
72
+ * A function that returns HTTP headers to be used for a route. These headers
73
+ * will be merged with (and take precedence over) headers from parent routes.
74
+ */
75
+ interface HeadersFunction {
76
+ (args: HeadersArgs): Headers | HeadersInit;
77
+ }
78
+ /**
79
+ * `<Route HydrateFallback>` component to render on initial loads
80
+ * when client loaders are present
81
+ */
82
+ type HydrateFallbackComponent = ComponentType;
83
+ /**
84
+ * Optional, root-only `<Route Layout>` component to wrap the root content in.
85
+ * Useful for defining the <html>/<head>/<body> document shell shared by the
86
+ * Component, HydrateFallback, and ErrorBoundary
87
+ */
88
+ type LayoutComponent = ComponentType<{
89
+ children: ReactElement<unknown, ErrorBoundaryComponent | HydrateFallbackComponent | RouteComponent>;
90
+ }>;
91
+ /**
92
+ * A function that defines `<link>` tags to be inserted into the `<head>` of
93
+ * the document on route transitions.
94
+ *
95
+ * @see https://reactrouter.com/start/framework/route-module#meta
96
+ */
97
+ interface LinksFunction {
98
+ (): LinkDescriptor[];
99
+ }
100
+ interface MetaMatch<RouteId extends string = string, Loader extends LoaderFunction | ClientLoaderFunction | unknown = unknown> {
101
+ id: RouteId;
102
+ pathname: DataRouteMatch["pathname"];
103
+ loaderData: Loader extends LoaderFunction | ClientLoaderFunction ? SerializeFrom<Loader> : unknown;
104
+ handle?: RouteHandle;
105
+ params: DataRouteMatch["params"];
106
+ meta: MetaDescriptor[];
107
+ error?: unknown;
108
+ }
109
+ type MetaMatches<MatchLoaders extends Record<string, LoaderFunction | ClientLoaderFunction | unknown> = Record<string, unknown>> = Array<{ [K in keyof MatchLoaders]: MetaMatch<Exclude<K, number | symbol>, MatchLoaders[K]> }[keyof MatchLoaders]>;
110
+ interface MetaArgs<Loader extends LoaderFunction | ClientLoaderFunction | unknown = unknown, MatchLoaders extends Record<string, LoaderFunction | ClientLoaderFunction | unknown> = Record<string, unknown>> {
111
+ loaderData: (Loader extends LoaderFunction | ClientLoaderFunction ? SerializeFrom<Loader> : unknown) | undefined;
112
+ params: Params;
113
+ location: Location;
114
+ matches: MetaMatches<MatchLoaders>;
115
+ error?: unknown;
116
+ }
117
+ /**
118
+ * A function that returns an array of data objects to use for rendering
119
+ * metadata HTML tags in a route. These tags are not rendered on descendant
120
+ * routes in the route hierarchy. In other words, they will only be rendered on
121
+ * the route in which they are exported.
122
+ *
123
+ * @param Loader - The type of the current route's loader function
124
+ * @param MatchLoaders - Mapping from a parent route's filepath to its loader
125
+ * function type
126
+ *
127
+ * Note that parent route filepaths are relative to the `app/` directory.
128
+ *
129
+ * For example, if this meta function is for `/sales/customers/$customerId`:
130
+ *
131
+ * ```ts
132
+ * // app/root.tsx
133
+ * const loader = () => ({ hello: "world" })
134
+ * export type Loader = typeof loader
135
+ *
136
+ * // app/routes/sales.tsx
137
+ * const loader = () => ({ salesCount: 1074 })
138
+ * export type Loader = typeof loader
139
+ *
140
+ * // app/routes/sales/customers.tsx
141
+ * const loader = () => ({ customerCount: 74 })
142
+ * export type Loader = typeof loader
143
+ *
144
+ * // app/routes/sales/customers/$customersId.tsx
145
+ * import type { Loader as RootLoader } from "../../../root"
146
+ * import type { Loader as SalesLoader } from "../../sales"
147
+ * import type { Loader as CustomersLoader } from "../../sales/customers"
148
+ *
149
+ * const loader = () => ({ name: "Customer name" })
150
+ *
151
+ * const meta: MetaFunction<typeof loader, {
152
+ * "root": RootLoader,
153
+ * "routes/sales": SalesLoader,
154
+ * "routes/sales/customers": CustomersLoader,
155
+ * }> = ({ loaderData, matches }) => {
156
+ * const { name } = loaderData
157
+ * // ^? string
158
+ * const { customerCount } = matches.find((match) => match.id === "routes/sales/customers").loaderData
159
+ * // ^? number
160
+ * const { salesCount } = matches.find((match) => match.id === "routes/sales").loaderData
161
+ * // ^? number
162
+ * const { hello } = matches.find((match) => match.id === "root").loaderData
163
+ * // ^? "world"
164
+ * }
165
+ * ```
166
+ */
167
+ interface MetaFunction<Loader extends LoaderFunction | ClientLoaderFunction | unknown = unknown, MatchLoaders extends Record<string, LoaderFunction | ClientLoaderFunction | unknown> = Record<string, unknown>> {
168
+ (args: MetaArgs<Loader, MatchLoaders>): MetaDescriptor[] | undefined;
169
+ }
170
+ type MetaDescriptor = {
171
+ charSet: "utf-8";
172
+ } | {
173
+ title: string;
174
+ } | {
175
+ name: string;
176
+ content: string;
177
+ } | {
178
+ property: string;
179
+ content: string;
180
+ } | {
181
+ httpEquiv: string;
182
+ content: string;
183
+ } | {
184
+ "script:ld+json": LdJsonObject | LdJsonObject[];
185
+ } | {
186
+ tagName: "meta" | "link";
187
+ [name: string]: string;
188
+ } | {
189
+ [name: string]: unknown;
190
+ };
191
+ type LdJsonObject = { [Key in string]: LdJsonValue } & { [Key in string]?: LdJsonValue | undefined };
192
+ type LdJsonArray = LdJsonValue[] | readonly LdJsonValue[];
193
+ type LdJsonPrimitive = string | number | boolean | null;
194
+ type LdJsonValue = LdJsonPrimitive | LdJsonObject | LdJsonArray;
195
+ /**
196
+ * A React component that is rendered for a route.
197
+ */
198
+ type RouteComponent = ComponentType<{}>;
199
+ /**
200
+ * An arbitrary object that is associated with a route.
201
+ *
202
+ * @see https://reactrouter.com/how-to/using-handle
203
+ */
204
+ type RouteHandle = unknown;
205
+ //#endregion
206
+ export { ClientActionFunction, ClientActionFunctionArgs, ClientLoaderFunction, ClientLoaderFunctionArgs, HeadersArgs, HeadersFunction, LinksFunction, MetaArgs, MetaDescriptor, MetaFunction, RouteModules, ServerRouteModule };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * react-router v8.3.0
3
+ *
4
+ * Copyright (c) Remix Software Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ //#region lib/dom/ssr/routeModules.ts
12
+ async function loadRouteModule(route, routeModulesCache) {
13
+ if (route.id in routeModulesCache) return routeModulesCache[route.id];
14
+ try {
15
+ let routeModule = await import(
16
+ /* @vite-ignore */
17
+ /* webpackIgnore: true */
18
+ route.module
19
+ );
20
+ routeModulesCache[route.id] = routeModule;
21
+ return routeModule;
22
+ } catch (error) {
23
+ console.error(`Error loading route module \`${route.module}\`, reloading page...`);
24
+ console.error(error);
25
+ if (window.__reactRouterContext && window.__reactRouterContext.isSpaMode && import.meta.hot) throw error;
26
+ window.location.reload();
27
+ return new Promise(() => {});
28
+ }
29
+ }
30
+ //#endregion
31
+ export { loadRouteModule };
@@ -0,0 +1,75 @@
1
+
2
+ import { InitialEntry } from "../../router/history.js";
3
+ import { ActionFunction, IndexRouteObject, LoaderFunction, NonIndexRouteObject, RouterContextProvider } from "../../router/utils.js";
4
+ import { HydrationState } from "../../router/router.js";
5
+ import { LinksFunction, MetaFunction } from "./routeModules.js";
6
+ import { FutureConfig } from "./entry.js";
7
+ import * as React$1 from "react";
8
+
9
+ //#region lib/dom/ssr/routes-test-stub.d.ts
10
+ interface StubRouteExtensions {
11
+ Component?: React$1.ComponentType<any>;
12
+ HydrateFallback?: React$1.ComponentType<any>;
13
+ ErrorBoundary?: React$1.ComponentType<any>;
14
+ loader?: LoaderFunction;
15
+ action?: ActionFunction;
16
+ children?: StubRouteObject[];
17
+ meta?: MetaFunction;
18
+ links?: LinksFunction;
19
+ }
20
+ interface StubIndexRouteObject extends Omit<IndexRouteObject, "Component" | "HydrateFallback" | "ErrorBoundary" | "loader" | "action" | "element" | "errorElement" | "children">, StubRouteExtensions {}
21
+ interface StubNonIndexRouteObject extends Omit<NonIndexRouteObject, "Component" | "HydrateFallback" | "ErrorBoundary" | "loader" | "action" | "element" | "errorElement" | "children">, StubRouteExtensions {}
22
+ type StubRouteObject = StubIndexRouteObject | StubNonIndexRouteObject;
23
+ interface RoutesTestStubProps {
24
+ /**
25
+ * The initial entries in the history stack. This allows you to start a test with
26
+ * multiple locations already in the history stack (for testing a back navigation, etc.)
27
+ * The test will default to the last entry in initialEntries if no initialIndex is provided.
28
+ * e.g. initialEntries={["/home", "/about", "/contact"]}
29
+ */
30
+ initialEntries?: InitialEntry[];
31
+ /**
32
+ * The initial index in the history stack to render. This allows you to start a test at a specific entry.
33
+ * It defaults to the last entry in initialEntries.
34
+ * e.g.
35
+ * initialEntries: ["/", "/events/123"]
36
+ * initialIndex: 1 // start at "/events/123"
37
+ */
38
+ initialIndex?: number;
39
+ /**
40
+ * Used to set the route's initial loader and action data.
41
+ * e.g. hydrationData={{
42
+ * loaderData: { "/contact": { locale: "en-US" } },
43
+ * actionData: { "/login": { errors: { email: "invalid email" } }}
44
+ * }}
45
+ */
46
+ hydrationData?: HydrationState;
47
+ /**
48
+ * Future flags mimicking the settings in react-router.config.ts
49
+ */
50
+ future?: Partial<FutureConfig>;
51
+ }
52
+ /**
53
+ * Creates a React component that renders the provided routes in a test-friendly
54
+ * React Router context.
55
+ *
56
+ * Use this to unit test components that rely on router context, such as
57
+ * `loaderData`, `actionData`, and route matches.
58
+ *
59
+ * @public
60
+ * @category Utils
61
+ * @mode framework
62
+ * @mode data
63
+ * @param routes The route objects to render in the test router.
64
+ * @param _context An optional {@link RouterContextProvider} for supplying
65
+ * application context values to route middleware, loaders, and actions.
66
+ * @returns A React component that renders the test router.
67
+ */
68
+ declare function createRoutesStub(routes: StubRouteObject[], _context?: RouterContextProvider): ({
69
+ initialEntries,
70
+ initialIndex,
71
+ hydrationData,
72
+ future
73
+ }: RoutesTestStubProps) => React$1.JSX.Element;
74
+ //#endregion
75
+ export { RoutesTestStubProps, createRoutesStub };
@@ -0,0 +1,121 @@
1
+ /**
2
+ * react-router v8.3.0
3
+ *
4
+ * Copyright (c) Remix Software Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ import { RouterContextProvider, convertRoutesToDataRoutes } from "../../router/utils.js";
12
+ import { Outlet, RouterProvider, createMemoryRouter, withComponentProps, withErrorBoundaryProps, withHydrateFallbackProps } from "../../components.js";
13
+ import { FrameworkContext } from "./components.js";
14
+ import * as React$1 from "react";
15
+ //#region lib/dom/ssr/routes-test-stub.tsx
16
+ /**
17
+ * Creates a React component that renders the provided routes in a test-friendly
18
+ * React Router context.
19
+ *
20
+ * Use this to unit test components that rely on router context, such as
21
+ * `loaderData`, `actionData`, and route matches.
22
+ *
23
+ * @public
24
+ * @category Utils
25
+ * @mode framework
26
+ * @mode data
27
+ * @param routes The route objects to render in the test router.
28
+ * @param _context An optional {@link RouterContextProvider} for supplying
29
+ * application context values to route middleware, loaders, and actions.
30
+ * @returns A React component that renders the test router.
31
+ */
32
+ function createRoutesStub(routes, _context) {
33
+ return function RoutesTestStub({ initialEntries, initialIndex, hydrationData, future }) {
34
+ let routerRef = React$1.useRef(null);
35
+ let frameworkContextRef = React$1.useRef(null);
36
+ if (routerRef.current == null || frameworkContextRef.current == null) {
37
+ frameworkContextRef.current = {
38
+ future: {},
39
+ manifest: {
40
+ routes: {},
41
+ entry: {
42
+ imports: [],
43
+ module: ""
44
+ },
45
+ url: "",
46
+ version: ""
47
+ },
48
+ routeModules: {},
49
+ ssr: false,
50
+ isSpaMode: false,
51
+ routeDiscovery: {
52
+ mode: "lazy",
53
+ manifestPath: "/__manifest"
54
+ }
55
+ };
56
+ routerRef.current = createMemoryRouter(processRoutes(convertRoutesToDataRoutes(routes, (r) => r), _context ?? new RouterContextProvider(), frameworkContextRef.current.manifest, frameworkContextRef.current.routeModules), {
57
+ initialEntries,
58
+ initialIndex,
59
+ hydrationData
60
+ });
61
+ }
62
+ return /* @__PURE__ */ React$1.createElement(FrameworkContext.Provider, { value: frameworkContextRef.current }, /* @__PURE__ */ React$1.createElement(RouterProvider, { router: routerRef.current }));
63
+ };
64
+ }
65
+ function processRoutes(routes, context, manifest, routeModules, parentId) {
66
+ return routes.map((route) => {
67
+ if (!route.id) throw new Error("Expected a route.id in react-router processRoutes() function");
68
+ let newRoute = {
69
+ id: route.id,
70
+ path: route.path,
71
+ index: route.index,
72
+ Component: route.Component ? withComponentProps(route.Component) : void 0,
73
+ HydrateFallback: route.HydrateFallback ? withHydrateFallbackProps(route.HydrateFallback) : void 0,
74
+ ErrorBoundary: route.ErrorBoundary ? withErrorBoundaryProps(route.ErrorBoundary) : void 0,
75
+ action: route.action ? (args) => route.action({
76
+ ...args,
77
+ context
78
+ }) : void 0,
79
+ loader: route.loader ? (args) => route.loader({
80
+ ...args,
81
+ context
82
+ }) : void 0,
83
+ middleware: route.middleware ? route.middleware.map((mw) => (...args) => mw({
84
+ ...args[0],
85
+ context
86
+ }, args[1])) : void 0,
87
+ handle: route.handle,
88
+ shouldRevalidate: route.shouldRevalidate
89
+ };
90
+ let entryRoute = {
91
+ id: route.id,
92
+ path: route.path,
93
+ index: route.index,
94
+ parentId,
95
+ hasAction: route.action != null,
96
+ hasLoader: route.loader != null,
97
+ hasClientAction: false,
98
+ hasClientLoader: false,
99
+ hasClientMiddleware: false,
100
+ hasErrorBoundary: route.ErrorBoundary != null,
101
+ module: "build/stub-path-to-module.js",
102
+ clientActionModule: void 0,
103
+ clientLoaderModule: void 0,
104
+ clientMiddlewareModule: void 0,
105
+ hydrateFallbackModule: void 0
106
+ };
107
+ manifest.routes[newRoute.id] = entryRoute;
108
+ routeModules[route.id] = {
109
+ default: newRoute.Component || Outlet,
110
+ ErrorBoundary: newRoute.ErrorBoundary || void 0,
111
+ handle: route.handle,
112
+ links: route.links,
113
+ meta: route.meta,
114
+ shouldRevalidate: route.shouldRevalidate
115
+ };
116
+ if (route.children) newRoute.children = processRoutes(route.children, context, manifest, routeModules, newRoute.id);
117
+ return newRoute;
118
+ });
119
+ }
120
+ //#endregion
121
+ export { createRoutesStub };
@@ -0,0 +1,33 @@
1
+
2
+ import { DataRouteObject, RouteManifest } from "../../router/utils.js";
3
+ import { HydrationState } from "../../router/router.js";
4
+ import { ClientLoaderFunction, RouteModules } from "./routeModules.js";
5
+ //#region lib/dom/ssr/routes.d.ts
6
+ interface Route {
7
+ index?: boolean;
8
+ caseSensitive?: boolean;
9
+ id: string;
10
+ parentId?: string;
11
+ path?: string;
12
+ }
13
+ interface EntryRoute extends Route {
14
+ hasAction: boolean;
15
+ hasLoader: boolean;
16
+ hasClientAction: boolean;
17
+ hasClientLoader: boolean;
18
+ hasClientMiddleware: boolean;
19
+ hasErrorBoundary: boolean;
20
+ imports?: string[];
21
+ css?: string[];
22
+ module: string;
23
+ clientActionModule: string | undefined;
24
+ clientLoaderModule: string | undefined;
25
+ clientMiddlewareModule: string | undefined;
26
+ hydrateFallbackModule: string | undefined;
27
+ parentId?: string;
28
+ }
29
+ declare function createClientRoutesWithHMRRevalidationOptOut(needsRevalidation: Set<string>, manifest: RouteManifest<EntryRoute>, routeModulesCache: RouteModules, initialState: HydrationState, ssr: boolean, isSpaMode: boolean): DataRouteObject[];
30
+ declare function createClientRoutes(manifest: RouteManifest<EntryRoute>, routeModulesCache: RouteModules, initialState: HydrationState | null, ssr: boolean, isSpaMode: boolean, parentId?: string, routesByParentId?: Record<string, Omit<EntryRoute, "children">[]>, needsRevalidation?: Set<string>): DataRouteObject[];
31
+ declare function shouldHydrateRouteLoader(routeId: string, clientLoader: ClientLoaderFunction | undefined, hasLoader: boolean, isSpaMode: boolean): boolean;
32
+ //#endregion
33
+ export { EntryRoute, Route, createClientRoutes, createClientRoutesWithHMRRevalidationOptOut, shouldHydrateRouteLoader };