@rangojs/router 0.8.0 → 0.10.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 (884) hide show
  1. package/dist/__internal.d.ts +83 -0
  2. package/dist/__internal.d.ts.map +1 -0
  3. package/dist/__internal.js +19 -0
  4. package/dist/__internal.js.map +1 -0
  5. package/dist/__mocks__/version.d.ts +7 -0
  6. package/dist/__mocks__/version.d.ts.map +1 -0
  7. package/dist/__mocks__/version.js +7 -0
  8. package/dist/__mocks__/version.js.map +1 -0
  9. package/dist/__tests__/client-href.test.d.ts +2 -0
  10. package/dist/__tests__/client-href.test.d.ts.map +1 -0
  11. package/dist/__tests__/client-href.test.js +74 -0
  12. package/dist/__tests__/client-href.test.js.map +1 -0
  13. package/dist/__tests__/component-utils.test.d.ts +2 -0
  14. package/dist/__tests__/component-utils.test.d.ts.map +1 -0
  15. package/dist/__tests__/component-utils.test.js +51 -0
  16. package/dist/__tests__/component-utils.test.js.map +1 -0
  17. package/dist/__tests__/event-controller.test.d.ts +2 -0
  18. package/dist/__tests__/event-controller.test.d.ts.map +1 -0
  19. package/dist/__tests__/event-controller.test.js +538 -0
  20. package/dist/__tests__/event-controller.test.js.map +1 -0
  21. package/dist/__tests__/helpers/route-tree.d.ts +118 -0
  22. package/dist/__tests__/helpers/route-tree.d.ts.map +1 -0
  23. package/dist/__tests__/helpers/route-tree.js +374 -0
  24. package/dist/__tests__/helpers/route-tree.js.map +1 -0
  25. package/dist/__tests__/match-result.test.d.ts +2 -0
  26. package/dist/__tests__/match-result.test.d.ts.map +1 -0
  27. package/dist/__tests__/match-result.test.js +154 -0
  28. package/dist/__tests__/match-result.test.js.map +1 -0
  29. package/dist/__tests__/navigation-store.test.d.ts +2 -0
  30. package/dist/__tests__/navigation-store.test.d.ts.map +1 -0
  31. package/dist/__tests__/navigation-store.test.js +440 -0
  32. package/dist/__tests__/navigation-store.test.js.map +1 -0
  33. package/dist/__tests__/partial-update.test.d.ts +2 -0
  34. package/dist/__tests__/partial-update.test.d.ts.map +1 -0
  35. package/dist/__tests__/partial-update.test.js +1009 -0
  36. package/dist/__tests__/partial-update.test.js.map +1 -0
  37. package/dist/__tests__/reverse-types.test.d.ts +8 -0
  38. package/dist/__tests__/reverse-types.test.d.ts.map +1 -0
  39. package/dist/__tests__/reverse-types.test.js +656 -0
  40. package/dist/__tests__/reverse-types.test.js.map +1 -0
  41. package/dist/__tests__/route-definition.test.d.ts +2 -0
  42. package/dist/__tests__/route-definition.test.d.ts.map +1 -0
  43. package/dist/__tests__/route-definition.test.js +55 -0
  44. package/dist/__tests__/route-definition.test.js.map +1 -0
  45. package/dist/__tests__/router-helpers.test.d.ts +2 -0
  46. package/dist/__tests__/router-helpers.test.d.ts.map +1 -0
  47. package/dist/__tests__/router-helpers.test.js +377 -0
  48. package/dist/__tests__/router-helpers.test.js.map +1 -0
  49. package/dist/__tests__/router-integration-2.test.d.ts +2 -0
  50. package/dist/__tests__/router-integration-2.test.d.ts.map +1 -0
  51. package/dist/__tests__/router-integration-2.test.js +426 -0
  52. package/dist/__tests__/router-integration-2.test.js.map +1 -0
  53. package/dist/__tests__/router-integration.test.d.ts +2 -0
  54. package/dist/__tests__/router-integration.test.d.ts.map +1 -0
  55. package/dist/__tests__/router-integration.test.js +1051 -0
  56. package/dist/__tests__/router-integration.test.js.map +1 -0
  57. package/dist/__tests__/search-params.test.d.ts +5 -0
  58. package/dist/__tests__/search-params.test.d.ts.map +1 -0
  59. package/dist/__tests__/search-params.test.js +306 -0
  60. package/dist/__tests__/search-params.test.js.map +1 -0
  61. package/dist/__tests__/segment-system.test.d.ts +2 -0
  62. package/dist/__tests__/segment-system.test.d.ts.map +1 -0
  63. package/dist/__tests__/segment-system.test.js +627 -0
  64. package/dist/__tests__/segment-system.test.js.map +1 -0
  65. package/dist/__tests__/static-handler-types.test.d.ts +8 -0
  66. package/dist/__tests__/static-handler-types.test.d.ts.map +1 -0
  67. package/dist/__tests__/static-handler-types.test.js +63 -0
  68. package/dist/__tests__/static-handler-types.test.js.map +1 -0
  69. package/dist/__tests__/urls.test.d.ts +2 -0
  70. package/dist/__tests__/urls.test.d.ts.map +1 -0
  71. package/dist/__tests__/urls.test.js +421 -0
  72. package/dist/__tests__/urls.test.js.map +1 -0
  73. package/dist/__tests__/use-mount.test.d.ts +2 -0
  74. package/dist/__tests__/use-mount.test.d.ts.map +1 -0
  75. package/dist/__tests__/use-mount.test.js +35 -0
  76. package/dist/__tests__/use-mount.test.js.map +1 -0
  77. package/dist/bin/rango.d.ts +2 -0
  78. package/dist/bin/rango.d.ts.map +1 -0
  79. package/dist/bin/rango.js.map +1 -0
  80. package/dist/browser/event-controller.d.ts +191 -0
  81. package/dist/browser/event-controller.d.ts.map +1 -0
  82. package/dist/browser/event-controller.js +559 -0
  83. package/dist/browser/event-controller.js.map +1 -0
  84. package/dist/browser/index.d.ts +2 -0
  85. package/dist/browser/index.d.ts.map +1 -0
  86. package/dist/browser/index.js +14 -0
  87. package/dist/browser/index.js.map +1 -0
  88. package/dist/browser/link-interceptor.d.ts +38 -0
  89. package/dist/browser/link-interceptor.d.ts.map +1 -0
  90. package/dist/browser/link-interceptor.js +99 -0
  91. package/dist/browser/link-interceptor.js.map +1 -0
  92. package/dist/browser/logging.d.ts +10 -0
  93. package/dist/browser/logging.d.ts.map +1 -0
  94. package/dist/browser/logging.js +29 -0
  95. package/dist/browser/logging.js.map +1 -0
  96. package/dist/browser/lru-cache.d.ts +17 -0
  97. package/dist/browser/lru-cache.d.ts.map +1 -0
  98. package/dist/browser/lru-cache.js +50 -0
  99. package/dist/browser/lru-cache.js.map +1 -0
  100. package/dist/browser/merge-segment-loaders.d.ts +39 -0
  101. package/dist/browser/merge-segment-loaders.d.ts.map +1 -0
  102. package/dist/browser/merge-segment-loaders.js +102 -0
  103. package/dist/browser/merge-segment-loaders.js.map +1 -0
  104. package/dist/browser/navigation-bridge.d.ts +102 -0
  105. package/dist/browser/navigation-bridge.d.ts.map +1 -0
  106. package/dist/browser/navigation-bridge.js +708 -0
  107. package/dist/browser/navigation-bridge.js.map +1 -0
  108. package/dist/browser/navigation-client.d.ts +25 -0
  109. package/dist/browser/navigation-client.d.ts.map +1 -0
  110. package/dist/browser/navigation-client.js +157 -0
  111. package/dist/browser/navigation-client.js.map +1 -0
  112. package/dist/browser/navigation-store.d.ts +101 -0
  113. package/dist/browser/navigation-store.d.ts.map +1 -0
  114. package/dist/browser/navigation-store.js +625 -0
  115. package/dist/browser/navigation-store.js.map +1 -0
  116. package/dist/browser/partial-update.d.ts +75 -0
  117. package/dist/browser/partial-update.d.ts.map +1 -0
  118. package/dist/browser/partial-update.js +426 -0
  119. package/dist/browser/partial-update.js.map +1 -0
  120. package/dist/browser/react/Link.d.ts +86 -0
  121. package/dist/browser/react/Link.d.ts.map +1 -0
  122. package/dist/browser/react/Link.js +128 -0
  123. package/dist/browser/react/Link.js.map +1 -0
  124. package/dist/browser/react/NavigationProvider.d.ts +63 -0
  125. package/dist/browser/react/NavigationProvider.d.ts.map +1 -0
  126. package/dist/browser/react/NavigationProvider.js +216 -0
  127. package/dist/browser/react/NavigationProvider.js.map +1 -0
  128. package/dist/browser/react/ScrollRestoration.d.ts +75 -0
  129. package/dist/browser/react/ScrollRestoration.d.ts.map +1 -0
  130. package/dist/browser/react/ScrollRestoration.js +57 -0
  131. package/dist/browser/react/ScrollRestoration.js.map +1 -0
  132. package/dist/browser/react/context.d.ts +46 -0
  133. package/dist/browser/react/context.d.ts.map +1 -0
  134. package/dist/browser/react/context.js +10 -0
  135. package/dist/browser/react/context.js.map +1 -0
  136. package/dist/browser/react/index.d.ts +11 -0
  137. package/dist/browser/react/index.d.ts.map +1 -0
  138. package/dist/browser/react/index.js +22 -0
  139. package/dist/browser/react/index.js.map +1 -0
  140. package/dist/browser/react/location-state-shared.d.ts +63 -0
  141. package/dist/browser/react/location-state-shared.d.ts.map +1 -0
  142. package/dist/browser/react/location-state-shared.js +81 -0
  143. package/dist/browser/react/location-state-shared.js.map +1 -0
  144. package/dist/browser/react/location-state.d.ts +23 -0
  145. package/dist/browser/react/location-state.d.ts.map +1 -0
  146. package/dist/browser/react/location-state.js +29 -0
  147. package/dist/browser/react/location-state.js.map +1 -0
  148. package/dist/browser/react/mount-context.d.ts +24 -0
  149. package/dist/browser/react/mount-context.d.ts.map +1 -0
  150. package/dist/browser/react/mount-context.js +24 -0
  151. package/dist/browser/react/mount-context.js.map +1 -0
  152. package/dist/browser/react/use-action.d.ts +64 -0
  153. package/dist/browser/react/use-action.d.ts.map +1 -0
  154. package/dist/browser/react/use-action.js +134 -0
  155. package/dist/browser/react/use-action.js.map +1 -0
  156. package/dist/browser/react/use-client-cache.d.ts +41 -0
  157. package/dist/browser/react/use-client-cache.d.ts.map +1 -0
  158. package/dist/browser/react/use-client-cache.js +39 -0
  159. package/dist/browser/react/use-client-cache.js.map +1 -0
  160. package/dist/browser/react/use-handle.d.ts +31 -0
  161. package/dist/browser/react/use-handle.d.ts.map +1 -0
  162. package/dist/browser/react/use-handle.js +144 -0
  163. package/dist/browser/react/use-handle.js.map +1 -0
  164. package/dist/browser/react/use-href.d.ts +33 -0
  165. package/dist/browser/react/use-href.d.ts.map +1 -0
  166. package/dist/browser/react/use-href.js +39 -0
  167. package/dist/browser/react/use-href.js.map +1 -0
  168. package/dist/browser/react/use-link-status.d.ts +37 -0
  169. package/dist/browser/react/use-link-status.d.ts.map +1 -0
  170. package/dist/browser/react/use-link-status.js +99 -0
  171. package/dist/browser/react/use-link-status.js.map +1 -0
  172. package/dist/browser/react/use-mount.d.ts +25 -0
  173. package/dist/browser/react/use-mount.d.ts.map +1 -0
  174. package/dist/browser/react/use-mount.js +30 -0
  175. package/dist/browser/react/use-mount.js.map +1 -0
  176. package/dist/browser/react/use-navigation.d.ts +27 -0
  177. package/dist/browser/react/use-navigation.d.ts.map +1 -0
  178. package/dist/browser/react/use-navigation.js +87 -0
  179. package/dist/browser/react/use-navigation.js.map +1 -0
  180. package/dist/browser/react/use-segments.d.ts +38 -0
  181. package/dist/browser/react/use-segments.d.ts.map +1 -0
  182. package/dist/browser/react/use-segments.js +130 -0
  183. package/dist/browser/react/use-segments.js.map +1 -0
  184. package/dist/browser/request-controller.d.ts +26 -0
  185. package/dist/browser/request-controller.d.ts.map +1 -0
  186. package/dist/browser/request-controller.js +147 -0
  187. package/dist/browser/request-controller.js.map +1 -0
  188. package/dist/browser/rsc-router.d.ts +129 -0
  189. package/dist/browser/rsc-router.d.ts.map +1 -0
  190. package/dist/browser/rsc-router.js +195 -0
  191. package/dist/browser/rsc-router.js.map +1 -0
  192. package/dist/browser/scroll-restoration.d.ts +93 -0
  193. package/dist/browser/scroll-restoration.d.ts.map +1 -0
  194. package/dist/browser/scroll-restoration.js +321 -0
  195. package/dist/browser/scroll-restoration.js.map +1 -0
  196. package/dist/browser/segment-structure-assert.d.ts +17 -0
  197. package/dist/browser/segment-structure-assert.d.ts.map +1 -0
  198. package/dist/browser/segment-structure-assert.js +59 -0
  199. package/dist/browser/segment-structure-assert.js.map +1 -0
  200. package/dist/browser/server-action-bridge.d.ts +26 -0
  201. package/dist/browser/server-action-bridge.d.ts.map +1 -0
  202. package/dist/browser/server-action-bridge.js +668 -0
  203. package/dist/browser/server-action-bridge.js.map +1 -0
  204. package/dist/browser/shallow.d.ts +12 -0
  205. package/dist/browser/shallow.d.ts.map +1 -0
  206. package/dist/browser/shallow.js +34 -0
  207. package/dist/browser/shallow.js.map +1 -0
  208. package/dist/browser/types.d.ts +369 -0
  209. package/dist/browser/types.d.ts.map +1 -0
  210. package/dist/browser/types.js +2 -0
  211. package/dist/browser/types.js.map +1 -0
  212. package/dist/build/__tests__/generate-cli.test.d.ts +2 -0
  213. package/dist/build/__tests__/generate-cli.test.d.ts.map +1 -0
  214. package/dist/build/__tests__/generate-cli.test.js +237 -0
  215. package/dist/build/__tests__/generate-cli.test.js.map +1 -0
  216. package/dist/build/__tests__/generate-manifest.test.d.ts +2 -0
  217. package/dist/build/__tests__/generate-manifest.test.d.ts.map +1 -0
  218. package/dist/build/__tests__/generate-manifest.test.js +119 -0
  219. package/dist/build/__tests__/generate-manifest.test.js.map +1 -0
  220. package/dist/build/__tests__/generate-route-types.test.d.ts +2 -0
  221. package/dist/build/__tests__/generate-route-types.test.d.ts.map +1 -0
  222. package/dist/build/__tests__/generate-route-types.test.js +620 -0
  223. package/dist/build/__tests__/generate-route-types.test.js.map +1 -0
  224. package/dist/build/__tests__/per-router-manifest.test.d.ts +2 -0
  225. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +1 -0
  226. package/dist/build/__tests__/per-router-manifest.test.js +308 -0
  227. package/dist/build/__tests__/per-router-manifest.test.js.map +1 -0
  228. package/dist/build/generate-manifest.d.ts +81 -0
  229. package/dist/build/generate-manifest.d.ts.map +1 -0
  230. package/dist/build/generate-manifest.js +276 -0
  231. package/dist/build/generate-manifest.js.map +1 -0
  232. package/dist/build/generate-route-types.d.ts +115 -0
  233. package/dist/build/generate-route-types.d.ts.map +1 -0
  234. package/dist/build/generate-route-types.js +740 -0
  235. package/dist/build/generate-route-types.js.map +1 -0
  236. package/dist/build/index.d.ts +21 -0
  237. package/dist/build/index.d.ts.map +1 -0
  238. package/dist/build/index.js +21 -0
  239. package/dist/build/index.js.map +1 -0
  240. package/dist/build/route-trie.d.ts +71 -0
  241. package/dist/build/route-trie.d.ts.map +1 -0
  242. package/dist/build/route-trie.js +175 -0
  243. package/dist/build/route-trie.js.map +1 -0
  244. package/dist/cache/__tests__/cache-scope.test.d.ts +2 -0
  245. package/dist/cache/__tests__/cache-scope.test.d.ts.map +1 -0
  246. package/dist/cache/__tests__/cache-scope.test.js +208 -0
  247. package/dist/cache/__tests__/cache-scope.test.js.map +1 -0
  248. package/dist/cache/__tests__/document-cache.test.d.ts +2 -0
  249. package/dist/cache/__tests__/document-cache.test.d.ts.map +1 -0
  250. package/dist/cache/__tests__/document-cache.test.js +345 -0
  251. package/dist/cache/__tests__/document-cache.test.js.map +1 -0
  252. package/dist/cache/__tests__/memory-segment-store.test.d.ts +2 -0
  253. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +1 -0
  254. package/dist/cache/__tests__/memory-segment-store.test.js +425 -0
  255. package/dist/cache/__tests__/memory-segment-store.test.js.map +1 -0
  256. package/dist/cache/__tests__/memory-store.test.d.ts +2 -0
  257. package/dist/cache/__tests__/memory-store.test.d.ts.map +1 -0
  258. package/dist/cache/__tests__/memory-store.test.js +367 -0
  259. package/dist/cache/__tests__/memory-store.test.js.map +1 -0
  260. package/dist/cache/cache-scope.d.ts +102 -0
  261. package/dist/cache/cache-scope.d.ts.map +1 -0
  262. package/dist/cache/cache-scope.js +440 -0
  263. package/dist/cache/cache-scope.js.map +1 -0
  264. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +2 -0
  265. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +1 -0
  266. package/dist/cache/cf/__tests__/cf-cache-store.test.js +330 -0
  267. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +1 -0
  268. package/dist/cache/cf/cf-cache-store.d.ts +165 -0
  269. package/dist/cache/cf/cf-cache-store.d.ts.map +1 -0
  270. package/dist/cache/cf/cf-cache-store.js +242 -0
  271. package/dist/cache/cf/cf-cache-store.js.map +1 -0
  272. package/dist/cache/cf/index.d.ts +14 -0
  273. package/dist/cache/cf/index.d.ts.map +1 -0
  274. package/dist/cache/cf/index.js +17 -0
  275. package/dist/cache/cf/index.js.map +1 -0
  276. package/dist/cache/document-cache.d.ts +64 -0
  277. package/dist/cache/document-cache.d.ts.map +1 -0
  278. package/dist/cache/document-cache.js +228 -0
  279. package/dist/cache/document-cache.js.map +1 -0
  280. package/dist/cache/index.d.ts +19 -0
  281. package/dist/cache/index.d.ts.map +1 -0
  282. package/dist/cache/index.js +21 -0
  283. package/dist/cache/index.js.map +1 -0
  284. package/dist/cache/memory-segment-store.d.ts +110 -0
  285. package/dist/cache/memory-segment-store.d.ts.map +1 -0
  286. package/dist/cache/memory-segment-store.js +117 -0
  287. package/dist/cache/memory-segment-store.js.map +1 -0
  288. package/dist/cache/memory-store.d.ts +41 -0
  289. package/dist/cache/memory-store.d.ts.map +1 -0
  290. package/dist/cache/memory-store.js +191 -0
  291. package/dist/cache/memory-store.js.map +1 -0
  292. package/dist/cache/types.d.ts +317 -0
  293. package/dist/cache/types.d.ts.map +1 -0
  294. package/dist/cache/types.js +12 -0
  295. package/dist/cache/types.js.map +1 -0
  296. package/dist/client.d.ts +248 -0
  297. package/dist/client.d.ts.map +1 -0
  298. package/dist/client.js +367 -0
  299. package/dist/client.js.map +1 -0
  300. package/dist/client.rsc.d.ts +26 -0
  301. package/dist/client.rsc.d.ts.map +1 -0
  302. package/dist/client.rsc.js +46 -0
  303. package/dist/client.rsc.js.map +1 -0
  304. package/dist/component-utils.d.ts +36 -0
  305. package/dist/component-utils.d.ts.map +1 -0
  306. package/dist/component-utils.js +61 -0
  307. package/dist/component-utils.js.map +1 -0
  308. package/dist/components/DefaultDocument.d.ts +13 -0
  309. package/dist/components/DefaultDocument.d.ts.map +1 -0
  310. package/dist/components/DefaultDocument.js +15 -0
  311. package/dist/components/DefaultDocument.js.map +1 -0
  312. package/dist/debug.d.ts +58 -0
  313. package/dist/debug.d.ts.map +1 -0
  314. package/dist/debug.js +157 -0
  315. package/dist/debug.js.map +1 -0
  316. package/dist/default-error-boundary.d.ts +11 -0
  317. package/dist/default-error-boundary.d.ts.map +1 -0
  318. package/dist/default-error-boundary.js +45 -0
  319. package/dist/default-error-boundary.js.map +1 -0
  320. package/dist/deps/browser.d.ts +2 -0
  321. package/dist/deps/browser.d.ts.map +1 -0
  322. package/dist/deps/browser.js +3 -0
  323. package/dist/deps/browser.js.map +1 -0
  324. package/dist/deps/html-stream-client.d.ts +2 -0
  325. package/dist/deps/html-stream-client.d.ts.map +1 -0
  326. package/dist/deps/html-stream-client.js +3 -0
  327. package/dist/deps/html-stream-client.js.map +1 -0
  328. package/dist/deps/html-stream-server.d.ts +2 -0
  329. package/dist/deps/html-stream-server.d.ts.map +1 -0
  330. package/dist/deps/html-stream-server.js +3 -0
  331. package/dist/deps/html-stream-server.js.map +1 -0
  332. package/dist/deps/rsc.d.ts +2 -0
  333. package/dist/deps/rsc.d.ts.map +1 -0
  334. package/dist/deps/rsc.js +4 -0
  335. package/dist/deps/rsc.js.map +1 -0
  336. package/dist/deps/ssr.d.ts +2 -0
  337. package/dist/deps/ssr.d.ts.map +1 -0
  338. package/dist/deps/ssr.js +3 -0
  339. package/dist/deps/ssr.js.map +1 -0
  340. package/dist/errors.d.ts +174 -0
  341. package/dist/errors.d.ts.map +1 -0
  342. package/dist/errors.js +241 -0
  343. package/dist/errors.js.map +1 -0
  344. package/dist/handle.d.ts +78 -0
  345. package/dist/handle.d.ts.map +1 -0
  346. package/dist/handle.js +82 -0
  347. package/dist/handle.js.map +1 -0
  348. package/dist/handles/MetaTags.d.ts +14 -0
  349. package/dist/handles/MetaTags.d.ts.map +1 -0
  350. package/dist/handles/MetaTags.js +136 -0
  351. package/dist/handles/MetaTags.js.map +1 -0
  352. package/dist/handles/index.d.ts +6 -0
  353. package/dist/handles/index.d.ts.map +1 -0
  354. package/dist/handles/index.js +6 -0
  355. package/dist/handles/index.js.map +1 -0
  356. package/dist/handles/meta.d.ts +39 -0
  357. package/dist/handles/meta.d.ts.map +1 -0
  358. package/dist/handles/meta.js +202 -0
  359. package/dist/handles/meta.js.map +1 -0
  360. package/dist/host/__tests__/errors.test.d.ts +2 -0
  361. package/dist/host/__tests__/errors.test.d.ts.map +1 -0
  362. package/dist/host/__tests__/errors.test.js +76 -0
  363. package/dist/host/__tests__/errors.test.js.map +1 -0
  364. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +2 -0
  365. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +1 -0
  366. package/dist/host/__tests__/pattern-comprehensive.test.js +732 -0
  367. package/dist/host/__tests__/pattern-comprehensive.test.js.map +1 -0
  368. package/dist/host/__tests__/pattern-matcher.test.d.ts +2 -0
  369. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +1 -0
  370. package/dist/host/__tests__/pattern-matcher.test.js +251 -0
  371. package/dist/host/__tests__/pattern-matcher.test.js.map +1 -0
  372. package/dist/host/__tests__/router.test.d.ts +2 -0
  373. package/dist/host/__tests__/router.test.d.ts.map +1 -0
  374. package/dist/host/__tests__/router.test.js +241 -0
  375. package/dist/host/__tests__/router.test.js.map +1 -0
  376. package/dist/host/__tests__/testing.test.d.ts +2 -0
  377. package/dist/host/__tests__/testing.test.d.ts.map +1 -0
  378. package/dist/host/__tests__/testing.test.js +64 -0
  379. package/dist/host/__tests__/testing.test.js.map +1 -0
  380. package/dist/host/__tests__/utils.test.d.ts +2 -0
  381. package/dist/host/__tests__/utils.test.d.ts.map +1 -0
  382. package/dist/host/__tests__/utils.test.js +29 -0
  383. package/dist/host/__tests__/utils.test.js.map +1 -0
  384. package/dist/host/cookie-handler.d.ts +34 -0
  385. package/dist/host/cookie-handler.d.ts.map +1 -0
  386. package/dist/host/cookie-handler.js +124 -0
  387. package/dist/host/cookie-handler.js.map +1 -0
  388. package/dist/host/errors.d.ts +56 -0
  389. package/dist/host/errors.d.ts.map +1 -0
  390. package/dist/host/errors.js +79 -0
  391. package/dist/host/errors.js.map +1 -0
  392. package/dist/host/index.d.ts +29 -0
  393. package/dist/host/index.d.ts.map +1 -0
  394. package/dist/host/index.js +32 -0
  395. package/dist/host/index.js.map +1 -0
  396. package/dist/host/pattern-matcher.d.ts +36 -0
  397. package/dist/host/pattern-matcher.d.ts.map +1 -0
  398. package/dist/host/pattern-matcher.js +172 -0
  399. package/dist/host/pattern-matcher.js.map +1 -0
  400. package/dist/host/router.d.ts +26 -0
  401. package/dist/host/router.d.ts.map +1 -0
  402. package/dist/host/router.js +218 -0
  403. package/dist/host/router.js.map +1 -0
  404. package/dist/host/testing.d.ts +36 -0
  405. package/dist/host/testing.d.ts.map +1 -0
  406. package/dist/host/testing.js +55 -0
  407. package/dist/host/testing.js.map +1 -0
  408. package/dist/host/types.d.ts +115 -0
  409. package/dist/host/types.d.ts.map +1 -0
  410. package/dist/host/types.js +7 -0
  411. package/dist/host/types.js.map +1 -0
  412. package/dist/host/utils.d.ts +21 -0
  413. package/dist/host/utils.d.ts.map +1 -0
  414. package/dist/host/utils.js +23 -0
  415. package/dist/host/utils.js.map +1 -0
  416. package/dist/href-client.d.ts +131 -0
  417. package/dist/href-client.d.ts.map +1 -0
  418. package/dist/href-client.js +64 -0
  419. package/dist/href-client.js.map +1 -0
  420. package/dist/href-context.d.ts +29 -0
  421. package/dist/href-context.d.ts.map +1 -0
  422. package/dist/href-context.js +21 -0
  423. package/dist/href-context.js.map +1 -0
  424. package/dist/index.d.ts +73 -0
  425. package/dist/index.d.ts.map +1 -0
  426. package/dist/index.js +91 -0
  427. package/dist/index.js.map +1 -0
  428. package/dist/index.rsc.d.ts +32 -0
  429. package/dist/index.rsc.d.ts.map +1 -0
  430. package/dist/index.rsc.js +40 -0
  431. package/dist/index.rsc.js.map +1 -0
  432. package/dist/internal-debug.d.ts +2 -0
  433. package/dist/internal-debug.d.ts.map +1 -0
  434. package/dist/internal-debug.js +5 -0
  435. package/dist/internal-debug.js.map +1 -0
  436. package/dist/loader.d.ts +14 -0
  437. package/dist/loader.d.ts.map +1 -0
  438. package/dist/loader.js +20 -0
  439. package/dist/loader.js.map +1 -0
  440. package/dist/loader.rsc.d.ts +19 -0
  441. package/dist/loader.rsc.d.ts.map +1 -0
  442. package/dist/loader.rsc.js +99 -0
  443. package/dist/loader.rsc.js.map +1 -0
  444. package/dist/network-error-thrower.d.ts +17 -0
  445. package/dist/network-error-thrower.d.ts.map +1 -0
  446. package/dist/network-error-thrower.js +14 -0
  447. package/dist/network-error-thrower.js.map +1 -0
  448. package/dist/outlet-context.d.ts +13 -0
  449. package/dist/outlet-context.d.ts.map +1 -0
  450. package/dist/outlet-context.js +3 -0
  451. package/dist/outlet-context.js.map +1 -0
  452. package/dist/prerender/__tests__/param-hash.test.d.ts +2 -0
  453. package/dist/prerender/__tests__/param-hash.test.d.ts.map +1 -0
  454. package/dist/prerender/__tests__/param-hash.test.js +148 -0
  455. package/dist/prerender/__tests__/param-hash.test.js.map +1 -0
  456. package/dist/prerender/param-hash.d.ts +16 -0
  457. package/dist/prerender/param-hash.d.ts.map +1 -0
  458. package/dist/prerender/param-hash.js +36 -0
  459. package/dist/prerender/param-hash.js.map +1 -0
  460. package/dist/prerender/store.d.ts +38 -0
  461. package/dist/prerender/store.d.ts.map +1 -0
  462. package/dist/prerender/store.js +61 -0
  463. package/dist/prerender/store.js.map +1 -0
  464. package/dist/prerender.d.ts +66 -0
  465. package/dist/prerender.d.ts.map +1 -0
  466. package/dist/prerender.js +57 -0
  467. package/dist/prerender.js.map +1 -0
  468. package/dist/reverse.d.ts +196 -0
  469. package/dist/reverse.d.ts.map +1 -0
  470. package/dist/reverse.js +78 -0
  471. package/dist/reverse.js.map +1 -0
  472. package/dist/root-error-boundary.d.ts +33 -0
  473. package/dist/root-error-boundary.d.ts.map +1 -0
  474. package/dist/root-error-boundary.js +165 -0
  475. package/dist/root-error-boundary.js.map +1 -0
  476. package/dist/route-content-wrapper.d.ts +46 -0
  477. package/dist/route-content-wrapper.d.ts.map +1 -0
  478. package/dist/route-content-wrapper.js +77 -0
  479. package/dist/route-content-wrapper.js.map +1 -0
  480. package/dist/route-definition.d.ts +421 -0
  481. package/dist/route-definition.d.ts.map +1 -0
  482. package/dist/route-definition.js +868 -0
  483. package/dist/route-definition.js.map +1 -0
  484. package/dist/route-map-builder.d.ts +155 -0
  485. package/dist/route-map-builder.d.ts.map +1 -0
  486. package/dist/route-map-builder.js +237 -0
  487. package/dist/route-map-builder.js.map +1 -0
  488. package/dist/route-types.d.ts +165 -0
  489. package/dist/route-types.d.ts.map +1 -0
  490. package/dist/route-types.js +7 -0
  491. package/dist/route-types.js.map +1 -0
  492. package/dist/router/__tests__/handler-context.test.d.ts +2 -0
  493. package/dist/router/__tests__/handler-context.test.d.ts.map +1 -0
  494. package/dist/router/__tests__/handler-context.test.js +65 -0
  495. package/dist/router/__tests__/handler-context.test.js.map +1 -0
  496. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +2 -0
  497. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +1 -0
  498. package/dist/router/__tests__/loader-cycle-detection.test.js +221 -0
  499. package/dist/router/__tests__/loader-cycle-detection.test.js.map +1 -0
  500. package/dist/router/__tests__/match-context.test.d.ts +2 -0
  501. package/dist/router/__tests__/match-context.test.d.ts.map +1 -0
  502. package/dist/router/__tests__/match-context.test.js +92 -0
  503. package/dist/router/__tests__/match-context.test.js.map +1 -0
  504. package/dist/router/__tests__/match-pipelines.test.d.ts +2 -0
  505. package/dist/router/__tests__/match-pipelines.test.d.ts.map +1 -0
  506. package/dist/router/__tests__/match-pipelines.test.js +417 -0
  507. package/dist/router/__tests__/match-pipelines.test.js.map +1 -0
  508. package/dist/router/__tests__/match-result.test.d.ts +2 -0
  509. package/dist/router/__tests__/match-result.test.d.ts.map +1 -0
  510. package/dist/router/__tests__/match-result.test.js +457 -0
  511. package/dist/router/__tests__/match-result.test.js.map +1 -0
  512. package/dist/router/__tests__/on-error.test.d.ts +2 -0
  513. package/dist/router/__tests__/on-error.test.d.ts.map +1 -0
  514. package/dist/router/__tests__/on-error.test.js +678 -0
  515. package/dist/router/__tests__/on-error.test.js.map +1 -0
  516. package/dist/router/__tests__/pattern-matching.test.d.ts +2 -0
  517. package/dist/router/__tests__/pattern-matching.test.d.ts.map +1 -0
  518. package/dist/router/__tests__/pattern-matching.test.js +629 -0
  519. package/dist/router/__tests__/pattern-matching.test.js.map +1 -0
  520. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +2 -0
  521. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +1 -0
  522. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +155 -0
  523. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +1 -0
  524. package/dist/router/error-handling.d.ts +77 -0
  525. package/dist/router/error-handling.d.ts.map +1 -0
  526. package/dist/router/error-handling.js +202 -0
  527. package/dist/router/error-handling.js.map +1 -0
  528. package/dist/router/handler-context.d.ts +20 -0
  529. package/dist/router/handler-context.d.ts.map +1 -0
  530. package/dist/router/handler-context.js +198 -0
  531. package/dist/router/handler-context.js.map +1 -0
  532. package/dist/router/intercept-resolution.d.ts +66 -0
  533. package/dist/router/intercept-resolution.d.ts.map +1 -0
  534. package/dist/router/intercept-resolution.js +246 -0
  535. package/dist/router/intercept-resolution.js.map +1 -0
  536. package/dist/router/loader-resolution.d.ts +64 -0
  537. package/dist/router/loader-resolution.d.ts.map +1 -0
  538. package/dist/router/loader-resolution.js +284 -0
  539. package/dist/router/loader-resolution.js.map +1 -0
  540. package/dist/router/logging.d.ts +15 -0
  541. package/dist/router/logging.d.ts.map +1 -0
  542. package/dist/router/logging.js +99 -0
  543. package/dist/router/logging.js.map +1 -0
  544. package/dist/router/manifest.d.ts +22 -0
  545. package/dist/router/manifest.d.ts.map +1 -0
  546. package/dist/router/manifest.js +181 -0
  547. package/dist/router/manifest.js.map +1 -0
  548. package/dist/router/match-api.d.ts +35 -0
  549. package/dist/router/match-api.d.ts.map +1 -0
  550. package/dist/router/match-api.js +406 -0
  551. package/dist/router/match-api.js.map +1 -0
  552. package/dist/router/match-context.d.ts +206 -0
  553. package/dist/router/match-context.d.ts.map +1 -0
  554. package/dist/router/match-context.js +17 -0
  555. package/dist/router/match-context.js.map +1 -0
  556. package/dist/router/match-middleware/background-revalidation.d.ts +127 -0
  557. package/dist/router/match-middleware/background-revalidation.d.ts.map +1 -0
  558. package/dist/router/match-middleware/background-revalidation.js +75 -0
  559. package/dist/router/match-middleware/background-revalidation.js.map +1 -0
  560. package/dist/router/match-middleware/cache-lookup.d.ts +112 -0
  561. package/dist/router/match-middleware/cache-lookup.d.ts.map +1 -0
  562. package/dist/router/match-middleware/cache-lookup.js +257 -0
  563. package/dist/router/match-middleware/cache-lookup.js.map +1 -0
  564. package/dist/router/match-middleware/cache-store.d.ts +113 -0
  565. package/dist/router/match-middleware/cache-store.d.ts.map +1 -0
  566. package/dist/router/match-middleware/cache-store.js +108 -0
  567. package/dist/router/match-middleware/cache-store.js.map +1 -0
  568. package/dist/router/match-middleware/index.d.ts +81 -0
  569. package/dist/router/match-middleware/index.d.ts.map +1 -0
  570. package/dist/router/match-middleware/index.js +80 -0
  571. package/dist/router/match-middleware/index.js.map +1 -0
  572. package/dist/router/match-middleware/intercept-resolution.d.ts +117 -0
  573. package/dist/router/match-middleware/intercept-resolution.d.ts.map +1 -0
  574. package/dist/router/match-middleware/intercept-resolution.js +134 -0
  575. package/dist/router/match-middleware/intercept-resolution.js.map +1 -0
  576. package/dist/router/match-middleware/segment-resolution.d.ts +99 -0
  577. package/dist/router/match-middleware/segment-resolution.d.ts.map +1 -0
  578. package/dist/router/match-middleware/segment-resolution.js +53 -0
  579. package/dist/router/match-middleware/segment-resolution.js.map +1 -0
  580. package/dist/router/match-pipelines.d.ts +147 -0
  581. package/dist/router/match-pipelines.d.ts.map +1 -0
  582. package/dist/router/match-pipelines.js +82 -0
  583. package/dist/router/match-pipelines.js.map +1 -0
  584. package/dist/router/match-result.d.ts +126 -0
  585. package/dist/router/match-result.d.ts.map +1 -0
  586. package/dist/router/match-result.js +93 -0
  587. package/dist/router/match-result.js.map +1 -0
  588. package/dist/router/metrics.d.ts +20 -0
  589. package/dist/router/metrics.d.ts.map +1 -0
  590. package/dist/router/metrics.js +47 -0
  591. package/dist/router/metrics.js.map +1 -0
  592. package/dist/router/middleware.d.ts +249 -0
  593. package/dist/router/middleware.d.ts.map +1 -0
  594. package/dist/router/middleware.js +434 -0
  595. package/dist/router/middleware.js.map +1 -0
  596. package/dist/router/middleware.test.d.ts +2 -0
  597. package/dist/router/middleware.test.d.ts.map +1 -0
  598. package/dist/router/middleware.test.js +816 -0
  599. package/dist/router/middleware.test.js.map +1 -0
  600. package/dist/router/pattern-matching.d.ts +149 -0
  601. package/dist/router/pattern-matching.d.ts.map +1 -0
  602. package/dist/router/pattern-matching.js +349 -0
  603. package/dist/router/pattern-matching.js.map +1 -0
  604. package/dist/router/revalidation.d.ts +44 -0
  605. package/dist/router/revalidation.d.ts.map +1 -0
  606. package/dist/router/revalidation.js +147 -0
  607. package/dist/router/revalidation.js.map +1 -0
  608. package/dist/router/router-context.d.ts +135 -0
  609. package/dist/router/router-context.d.ts.map +1 -0
  610. package/dist/router/router-context.js +36 -0
  611. package/dist/router/router-context.js.map +1 -0
  612. package/dist/router/segment-resolution.d.ts +127 -0
  613. package/dist/router/segment-resolution.d.ts.map +1 -0
  614. package/dist/router/segment-resolution.js +919 -0
  615. package/dist/router/segment-resolution.js.map +1 -0
  616. package/dist/router/trie-matching.d.ts +40 -0
  617. package/dist/router/trie-matching.d.ts.map +1 -0
  618. package/dist/router/trie-matching.js +127 -0
  619. package/dist/router/trie-matching.js.map +1 -0
  620. package/dist/router/types.d.ts +136 -0
  621. package/dist/router/types.d.ts.map +1 -0
  622. package/dist/router/types.js +7 -0
  623. package/dist/router/types.js.map +1 -0
  624. package/dist/router.d.ts +753 -0
  625. package/dist/router.d.ts.map +1 -0
  626. package/dist/router.gen.d.ts +6 -0
  627. package/dist/router.gen.d.ts.map +1 -0
  628. package/dist/router.gen.js +6 -0
  629. package/dist/router.gen.js.map +1 -0
  630. package/dist/router.js +1304 -0
  631. package/dist/router.js.map +1 -0
  632. package/dist/rsc/__tests__/helpers.test.d.ts +2 -0
  633. package/dist/rsc/__tests__/helpers.test.d.ts.map +1 -0
  634. package/dist/rsc/__tests__/helpers.test.js +140 -0
  635. package/dist/rsc/__tests__/helpers.test.js.map +1 -0
  636. package/dist/rsc/handler.d.ts +45 -0
  637. package/dist/rsc/handler.d.ts.map +1 -0
  638. package/dist/rsc/handler.js +1172 -0
  639. package/dist/rsc/handler.js.map +1 -0
  640. package/dist/rsc/helpers.d.ts +16 -0
  641. package/dist/rsc/helpers.d.ts.map +1 -0
  642. package/dist/rsc/helpers.js +55 -0
  643. package/dist/rsc/helpers.js.map +1 -0
  644. package/dist/rsc/index.d.ts +22 -0
  645. package/dist/rsc/index.d.ts.map +1 -0
  646. package/dist/rsc/index.js +23 -0
  647. package/dist/rsc/index.js.map +1 -0
  648. package/dist/rsc/nonce.d.ts +9 -0
  649. package/dist/rsc/nonce.d.ts.map +1 -0
  650. package/dist/rsc/nonce.js +18 -0
  651. package/dist/rsc/nonce.js.map +1 -0
  652. package/dist/rsc/types.d.ts +206 -0
  653. package/dist/rsc/types.d.ts.map +1 -0
  654. package/dist/rsc/types.js +8 -0
  655. package/dist/rsc/types.js.map +1 -0
  656. package/dist/search-params.d.ts +103 -0
  657. package/dist/search-params.d.ts.map +1 -0
  658. package/dist/search-params.js +74 -0
  659. package/dist/search-params.js.map +1 -0
  660. package/dist/segment-system.d.ts +75 -0
  661. package/dist/segment-system.d.ts.map +1 -0
  662. package/dist/segment-system.js +336 -0
  663. package/dist/segment-system.js.map +1 -0
  664. package/dist/server/context.d.ts +245 -0
  665. package/dist/server/context.d.ts.map +1 -0
  666. package/dist/server/context.js +197 -0
  667. package/dist/server/context.js.map +1 -0
  668. package/dist/server/fetchable-loader-store.d.ts +18 -0
  669. package/dist/server/fetchable-loader-store.d.ts.map +1 -0
  670. package/dist/server/fetchable-loader-store.js +18 -0
  671. package/dist/server/fetchable-loader-store.js.map +1 -0
  672. package/dist/server/handle-store.d.ts +85 -0
  673. package/dist/server/handle-store.d.ts.map +1 -0
  674. package/dist/server/handle-store.js +142 -0
  675. package/dist/server/handle-store.js.map +1 -0
  676. package/dist/server/loader-registry.d.ts +55 -0
  677. package/dist/server/loader-registry.d.ts.map +1 -0
  678. package/dist/server/loader-registry.js +132 -0
  679. package/dist/server/loader-registry.js.map +1 -0
  680. package/dist/server/request-context.d.ts +226 -0
  681. package/dist/server/request-context.d.ts.map +1 -0
  682. package/dist/server/request-context.js +290 -0
  683. package/dist/server/request-context.js.map +1 -0
  684. package/dist/server/root-layout.d.ts +4 -0
  685. package/dist/server/root-layout.d.ts.map +1 -0
  686. package/dist/server/root-layout.js +5 -0
  687. package/dist/server/root-layout.js.map +1 -0
  688. package/dist/server.d.ts +15 -0
  689. package/dist/server.d.ts.map +1 -0
  690. package/dist/server.js +20 -0
  691. package/dist/server.js.map +1 -0
  692. package/dist/ssr/__tests__/ssr-handler.test.d.ts +2 -0
  693. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +1 -0
  694. package/dist/ssr/__tests__/ssr-handler.test.js +132 -0
  695. package/dist/ssr/__tests__/ssr-handler.test.js.map +1 -0
  696. package/dist/ssr/index.d.ts +98 -0
  697. package/dist/ssr/index.d.ts.map +1 -0
  698. package/dist/ssr/index.js +158 -0
  699. package/dist/ssr/index.js.map +1 -0
  700. package/dist/static-handler.d.ts +50 -0
  701. package/dist/static-handler.d.ts.map +1 -0
  702. package/dist/static-handler.gen.d.ts +5 -0
  703. package/dist/static-handler.gen.d.ts.map +1 -0
  704. package/dist/static-handler.gen.js +5 -0
  705. package/dist/static-handler.gen.js.map +1 -0
  706. package/dist/static-handler.js +29 -0
  707. package/dist/static-handler.js.map +1 -0
  708. package/dist/theme/ThemeProvider.d.ts +20 -0
  709. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  710. package/dist/theme/ThemeProvider.js +240 -0
  711. package/dist/theme/ThemeProvider.js.map +1 -0
  712. package/dist/theme/ThemeScript.d.ts +48 -0
  713. package/dist/theme/ThemeScript.d.ts.map +1 -0
  714. package/dist/theme/ThemeScript.js +13 -0
  715. package/dist/theme/ThemeScript.js.map +1 -0
  716. package/dist/theme/__tests__/theme.test.d.ts +2 -0
  717. package/dist/theme/__tests__/theme.test.d.ts.map +1 -0
  718. package/dist/theme/__tests__/theme.test.js +103 -0
  719. package/dist/theme/__tests__/theme.test.js.map +1 -0
  720. package/dist/theme/constants.d.ts +29 -0
  721. package/dist/theme/constants.d.ts.map +1 -0
  722. package/dist/theme/constants.js +48 -0
  723. package/dist/theme/constants.js.map +1 -0
  724. package/dist/theme/index.d.ts +31 -0
  725. package/dist/theme/index.d.ts.map +1 -0
  726. package/dist/theme/index.js +36 -0
  727. package/dist/theme/index.js.map +1 -0
  728. package/dist/theme/theme-context.d.ts +40 -0
  729. package/dist/theme/theme-context.d.ts.map +1 -0
  730. package/dist/theme/theme-context.js +60 -0
  731. package/dist/theme/theme-context.js.map +1 -0
  732. package/dist/theme/theme-script.d.ts +27 -0
  733. package/dist/theme/theme-script.d.ts.map +1 -0
  734. package/dist/theme/theme-script.js +147 -0
  735. package/dist/theme/theme-script.js.map +1 -0
  736. package/dist/theme/types.d.ts +163 -0
  737. package/dist/theme/types.d.ts.map +1 -0
  738. package/dist/theme/types.js +11 -0
  739. package/dist/theme/types.js.map +1 -0
  740. package/dist/theme/use-theme.d.ts +12 -0
  741. package/dist/theme/use-theme.d.ts.map +1 -0
  742. package/dist/theme/use-theme.js +40 -0
  743. package/dist/theme/use-theme.js.map +1 -0
  744. package/dist/types/client-urls/server-projection.d.ts +4 -4
  745. package/dist/types/client-urls/types.d.ts +13 -12
  746. package/dist/types/outlet-context.d.ts +9 -0
  747. package/dist/types/outlet-provider.d.ts +2 -1
  748. package/dist/types/route-content-wrapper.d.ts +4 -1
  749. package/dist/types/route-definition/helpers-types.d.ts +6 -5
  750. package/dist/types/router/segment-resolution/loader-mask.d.ts +1 -1
  751. package/dist/types/rsc/nonce.d.ts +10 -0
  752. package/dist/types/rsc/shell-capture.d.ts +9 -0
  753. package/dist/types/rsc/types.d.ts +14 -2
  754. package/dist/types/server/context.d.ts +1 -1
  755. package/dist/types/server/request-context.d.ts +1 -1
  756. package/dist/types/ssr/index.d.ts +34 -0
  757. package/dist/types/ssr/ssr-root.d.ts +21 -0
  758. package/dist/types/ssr-suspension-warning.d.ts +20 -0
  759. package/dist/types/types/loader-types.d.ts +28 -22
  760. package/dist/types/types/segments.d.ts +17 -0
  761. package/dist/types/urls/path-helper-types.d.ts +8 -7
  762. package/dist/types/vite/discovery/state.d.ts +6 -0
  763. package/dist/types/vite/plugin-types.d.ts +27 -0
  764. package/dist/types/vite/plugins/virtual-entries.d.ts +1 -1
  765. package/dist/types/vite/utils/shared-utils.d.ts +1 -0
  766. package/dist/types.d.ts +1479 -0
  767. package/dist/types.d.ts.map +1 -0
  768. package/dist/types.js +10 -0
  769. package/dist/types.js.map +1 -0
  770. package/dist/urls.d.ts +441 -0
  771. package/dist/urls.d.ts.map +1 -0
  772. package/dist/urls.gen.d.ts +8 -0
  773. package/dist/urls.gen.d.ts.map +1 -0
  774. package/dist/urls.gen.js +8 -0
  775. package/dist/urls.gen.js.map +1 -0
  776. package/dist/urls.js +443 -0
  777. package/dist/urls.js.map +1 -0
  778. package/dist/use-loader.d.ts +127 -0
  779. package/dist/use-loader.d.ts.map +1 -0
  780. package/dist/use-loader.js +237 -0
  781. package/dist/use-loader.js.map +1 -0
  782. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +2 -0
  783. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +1 -0
  784. package/dist/vite/__tests__/ast-handler-extract.test.js +294 -0
  785. package/dist/vite/__tests__/ast-handler-extract.test.js.map +1 -0
  786. package/dist/vite/__tests__/expose-id-utils.test.d.ts +2 -0
  787. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +1 -0
  788. package/dist/vite/__tests__/expose-id-utils.test.js +224 -0
  789. package/dist/vite/__tests__/expose-id-utils.test.js.map +1 -0
  790. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +2 -0
  791. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +1 -0
  792. package/dist/vite/__tests__/expose-internal-ids.test.js +647 -0
  793. package/dist/vite/__tests__/expose-internal-ids.test.js.map +1 -0
  794. package/dist/vite/__tests__/expose-router-id.test.d.ts +2 -0
  795. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +1 -0
  796. package/dist/vite/__tests__/expose-router-id.test.js +39 -0
  797. package/dist/vite/__tests__/expose-router-id.test.js.map +1 -0
  798. package/dist/vite/ast-handler-extract.d.ts +49 -0
  799. package/dist/vite/ast-handler-extract.d.ts.map +1 -0
  800. package/dist/vite/ast-handler-extract.js +249 -0
  801. package/dist/vite/ast-handler-extract.js.map +1 -0
  802. package/dist/vite/expose-action-id.d.ts +19 -0
  803. package/dist/vite/expose-action-id.d.ts.map +1 -0
  804. package/dist/vite/expose-action-id.js +250 -0
  805. package/dist/vite/expose-action-id.js.map +1 -0
  806. package/dist/vite/expose-id-utils.d.ts +69 -0
  807. package/dist/vite/expose-id-utils.d.ts.map +1 -0
  808. package/dist/vite/expose-id-utils.js +289 -0
  809. package/dist/vite/expose-id-utils.js.map +1 -0
  810. package/dist/vite/expose-internal-ids.d.ts +22 -0
  811. package/dist/vite/expose-internal-ids.d.ts.map +1 -0
  812. package/dist/vite/expose-internal-ids.js +886 -0
  813. package/dist/vite/expose-internal-ids.js.map +1 -0
  814. package/dist/vite/index.d.ts +149 -0
  815. package/dist/vite/index.d.ts.map +1 -0
  816. package/dist/vite/index.js +58 -26
  817. package/dist/vite/index.js.bak +5448 -0
  818. package/dist/vite/index.js.map +1 -0
  819. package/dist/vite/index.named-routes.gen.ts +103 -0
  820. package/dist/vite/package-resolution.d.ts +43 -0
  821. package/dist/vite/package-resolution.d.ts.map +1 -0
  822. package/dist/vite/package-resolution.js +112 -0
  823. package/dist/vite/package-resolution.js.map +1 -0
  824. package/dist/vite/virtual-entries.d.ts +25 -0
  825. package/dist/vite/virtual-entries.d.ts.map +1 -0
  826. package/dist/vite/virtual-entries.js +110 -0
  827. package/dist/vite/virtual-entries.js.map +1 -0
  828. package/package.json +1 -1
  829. package/skills/breadcrumbs/SKILL.md +2 -2
  830. package/skills/catalog.json +2 -2
  831. package/skills/client-urls/SKILL.md +9 -8
  832. package/skills/comparison/references/framework-comparison.md +2 -2
  833. package/skills/hooks/data.md +1 -1
  834. package/skills/hooks/handle-and-actions.md +1 -1
  835. package/skills/loader/SKILL.md +46 -30
  836. package/skills/migrate-nextjs/SKILL.md +3 -3
  837. package/skills/migrate-react-router/component-migration.md +1 -1
  838. package/skills/migrate-react-router/data-and-actions.md +1 -1
  839. package/skills/migrate-react-router/route-mapping.md +1 -1
  840. package/skills/parallel/SKILL.md +1 -1
  841. package/skills/ppr/SKILL.md +1 -1
  842. package/skills/rango/SKILL.md +20 -20
  843. package/skills/router-setup/SKILL.md +1 -1
  844. package/skills/scripts/SKILL.md +1 -1
  845. package/skills/shell-manifest/SKILL.md +1 -1
  846. package/src/browser/merge-segment-loaders.ts +4 -0
  847. package/src/browser/react/Link.tsx +27 -4
  848. package/src/client-urls/client-urls.ts +12 -9
  849. package/src/client-urls/server-projection.ts +6 -6
  850. package/src/client-urls/types.ts +13 -12
  851. package/src/client.tsx +2 -0
  852. package/src/outlet-context.ts +9 -0
  853. package/src/outlet-provider.tsx +4 -0
  854. package/src/route-content-wrapper.tsx +7 -0
  855. package/src/route-definition/dsl-helpers.ts +7 -3
  856. package/src/route-definition/helpers-types.ts +6 -5
  857. package/src/router/loader-resolution.ts +3 -3
  858. package/src/router/segment-resolution/fresh.ts +50 -19
  859. package/src/router/segment-resolution/loader-cache.ts +1 -1
  860. package/src/router/segment-resolution/loader-mask.ts +1 -1
  861. package/src/router.ts +7 -2
  862. package/src/rsc/handler.ts +4 -4
  863. package/src/rsc/nonce.ts +16 -0
  864. package/src/rsc/rsc-rendering.ts +10 -0
  865. package/src/rsc/shell-capture.ts +49 -6
  866. package/src/rsc/ssr-setup.ts +4 -0
  867. package/src/rsc/types.ts +24 -4
  868. package/src/segment-system.tsx +57 -12
  869. package/src/server/context.ts +1 -1
  870. package/src/server/request-context.ts +1 -1
  871. package/src/ssr/index.tsx +75 -3
  872. package/src/ssr/ssr-root.tsx +67 -23
  873. package/src/ssr-suspension-warning.ts +68 -0
  874. package/src/types/loader-types.ts +25 -19
  875. package/src/types/segments.ts +17 -0
  876. package/src/urls/path-helper-types.ts +8 -7
  877. package/src/use-loader.tsx +24 -1
  878. package/src/vite/discovery/shell-prerender-phase.ts +5 -0
  879. package/src/vite/discovery/state.ts +6 -0
  880. package/src/vite/plugin-types.ts +28 -0
  881. package/src/vite/plugins/virtual-entries.ts +26 -3
  882. package/src/vite/rango.ts +3 -0
  883. package/src/vite/router-discovery.ts +31 -19
  884. package/src/vite/utils/shared-utils.ts +8 -2
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Theme type definitions for rsc-router theme system.
3
+ *
4
+ * The theme system provides:
5
+ * - Opt-in via router config
6
+ * - FOUC prevention via inline script
7
+ * - Server-side theme access via ctx.theme/ctx.setTheme
8
+ * - Client-side theme access via useTheme hook
9
+ */
10
+ /**
11
+ * Theme value - stored in cookies/localStorage
12
+ */
13
+ export type Theme = "light" | "dark" | "system";
14
+ /**
15
+ * Resolved theme - actual visual appearance (system preference resolved)
16
+ */
17
+ export type ResolvedTheme = "light" | "dark";
18
+ /**
19
+ * Attribute used to apply theme to HTML element
20
+ * - "class": Adds theme value as CSS class (e.g., <html class="dark">)
21
+ * - "data-*": Sets data attribute (e.g., <html data-theme="dark">)
22
+ */
23
+ export type ThemeAttribute = "class" | `data-${string}`;
24
+ /**
25
+ * Theme configuration for router
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * const router = createRouter<Env>({
30
+ * theme: {
31
+ * defaultTheme: "system",
32
+ * themes: ["light", "dark"],
33
+ * attribute: "class",
34
+ * storageKey: "theme",
35
+ * }
36
+ * });
37
+ * ```
38
+ */
39
+ export interface ThemeConfig {
40
+ /**
41
+ * Default theme when no preference is stored
42
+ * @default "system"
43
+ */
44
+ defaultTheme?: Theme;
45
+ /**
46
+ * Available theme options
47
+ * @default ["light", "dark"]
48
+ */
49
+ themes?: string[];
50
+ /**
51
+ * Attribute to apply to HTML element
52
+ * @default "class"
53
+ */
54
+ attribute?: ThemeAttribute;
55
+ /**
56
+ * Key for cookie and localStorage
57
+ * @default "theme"
58
+ */
59
+ storageKey?: string;
60
+ /**
61
+ * Enable system preference detection
62
+ * When true, "system" theme will resolve based on prefers-color-scheme
63
+ * @default true
64
+ */
65
+ enableSystem?: boolean;
66
+ /**
67
+ * Set CSS color-scheme property on HTML element
68
+ * This enables native dark mode for form controls, scrollbars, etc.
69
+ * @default true
70
+ */
71
+ enableColorScheme?: boolean;
72
+ /**
73
+ * Custom mapping of theme names to attribute values
74
+ * Useful when theme names don't match desired attribute values
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * value: {
79
+ * light: "light-mode",
80
+ * dark: "dark-mode",
81
+ * }
82
+ * ```
83
+ */
84
+ value?: Record<string, string>;
85
+ }
86
+ /**
87
+ * Resolved theme configuration with defaults applied
88
+ */
89
+ export interface ResolvedThemeConfig {
90
+ defaultTheme: Theme;
91
+ themes: string[];
92
+ attribute: ThemeAttribute;
93
+ storageKey: string;
94
+ enableSystem: boolean;
95
+ enableColorScheme: boolean;
96
+ value: Record<string, string>;
97
+ }
98
+ /**
99
+ * Return type from useTheme hook
100
+ *
101
+ * @example
102
+ * ```tsx
103
+ * function ThemeToggle() {
104
+ * const { theme, setTheme, resolvedTheme, themes } = useTheme();
105
+ *
106
+ * return (
107
+ * <select value={theme} onChange={e => setTheme(e.target.value as Theme)}>
108
+ * {themes.map(t => <option key={t}>{t}</option>)}
109
+ * </select>
110
+ * );
111
+ * }
112
+ * ```
113
+ */
114
+ export interface UseThemeReturn {
115
+ /**
116
+ * Current theme setting ("light" | "dark" | "system")
117
+ */
118
+ theme: Theme;
119
+ /**
120
+ * Set the theme
121
+ */
122
+ setTheme: (theme: Theme) => void;
123
+ /**
124
+ * Resolved theme based on system preference
125
+ * When theme is "system", this reflects the actual appearance
126
+ */
127
+ resolvedTheme: ResolvedTheme;
128
+ /**
129
+ * Current system preference ("light" | "dark")
130
+ */
131
+ systemTheme: ResolvedTheme;
132
+ /**
133
+ * Available theme options (includes "system" if enableSystem is true)
134
+ */
135
+ themes: string[];
136
+ }
137
+ /**
138
+ * Props for ThemeProvider component
139
+ */
140
+ export interface ThemeProviderProps {
141
+ /**
142
+ * Theme configuration
143
+ */
144
+ config: ResolvedThemeConfig;
145
+ /**
146
+ * Initial theme from server (from cookie)
147
+ */
148
+ initialTheme?: Theme;
149
+ /**
150
+ * Children to render
151
+ */
152
+ children: React.ReactNode;
153
+ }
154
+ /**
155
+ * Context value for ThemeContext
156
+ */
157
+ export interface ThemeContextValue extends UseThemeReturn {
158
+ /**
159
+ * Full theme configuration
160
+ */
161
+ config: ResolvedThemeConfig;
162
+ }
163
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,MAAM,EAAE,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IAErB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,KAAK,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,cAAc,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC;;;OAGG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,WAAW,EAAE,aAAa,CAAC;IAE3B;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;IAE5B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;CAC7B"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Theme type definitions for rsc-router theme system.
3
+ *
4
+ * The theme system provides:
5
+ * - Opt-in via router config
6
+ * - FOUC prevention via inline script
7
+ * - Server-side theme access via ctx.theme/ctx.setTheme
8
+ * - Client-side theme access via useTheme hook
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,12 @@
1
+ import type { UseThemeReturn } from "./types.js";
2
+ /**
3
+ * Hook to access theme state and methods.
4
+ *
5
+ * Must be used within a ThemeProvider (which is automatically included
6
+ * in NavigationProvider when theme is enabled in router config).
7
+ *
8
+ * @returns Theme state and methods
9
+ * @throws Error if used outside ThemeProvider
10
+ */
11
+ export declare function useTheme(): UseThemeReturn;
12
+ //# sourceMappingURL=use-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-theme.d.ts","sourceRoot":"","sources":["../../src/theme/use-theme.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,cAAc,CAUzC"}
@@ -0,0 +1,40 @@
1
+ "use client";
2
+ /**
3
+ * useTheme - Hook for accessing theme state in client components.
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * import { useTheme } from "@rangojs/router/theme";
8
+ *
9
+ * function ThemeToggle() {
10
+ * const { theme, setTheme, resolvedTheme, themes } = useTheme();
11
+ *
12
+ * return (
13
+ * <select value={theme} onChange={e => setTheme(e.target.value)}>
14
+ * {themes.map(t => <option key={t}>{t}</option>)}
15
+ * </select>
16
+ * );
17
+ * }
18
+ * ```
19
+ */
20
+ import { requireThemeContext } from "./theme-context.js";
21
+ /**
22
+ * Hook to access theme state and methods.
23
+ *
24
+ * Must be used within a ThemeProvider (which is automatically included
25
+ * in NavigationProvider when theme is enabled in router config).
26
+ *
27
+ * @returns Theme state and methods
28
+ * @throws Error if used outside ThemeProvider
29
+ */
30
+ export function useTheme() {
31
+ const ctx = requireThemeContext();
32
+ return {
33
+ theme: ctx.theme,
34
+ setTheme: ctx.setTheme,
35
+ resolvedTheme: ctx.resolvedTheme,
36
+ systemTheme: ctx.systemTheme,
37
+ themes: ctx.themes,
38
+ };
39
+ }
40
+ //# sourceMappingURL=use-theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-theme.js","sourceRoot":"","sources":["../../src/theme/use-theme.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ;IACtB,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;IAElC,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC;AACJ,CAAC"}
@@ -27,10 +27,10 @@ export interface ClientUrlProjectionRoute {
27
27
  readonly options: ClientUrlProjectionOptions;
28
28
  readonly loaderIds: readonly string[];
29
29
  readonly hasLoading: boolean;
30
- /** Indices into loaderIds of loaders declared loader(Def, { stream:
31
- * "navigation" }); materialization passes the option through to the server
32
- * loader() so document renders await them before first flush. Absent (=
33
- * none) in projections serialized before stream support. */
30
+ /** Indices into loaderIds of loaders declared loader(Def, { ssr: false });
31
+ * materialization passes the option through to the server loader() so
32
+ * document renders await them before first flush. Absent (= none) in
33
+ * projections serialized before the option existed. */
34
34
  readonly awaitedLoaderIndices?: readonly number[];
35
35
  /** Data-only transition config (no `when` — server-tree only); absent in
36
36
  * projections serialized before transition support. */
@@ -54,12 +54,12 @@ export interface ClientUrlLoaderRecord {
54
54
  /** Client-run per-loader revalidation predicates; empty = locked defaults. */
55
55
  readonly revalidate: readonly ClientRevalidateFn[];
56
56
  /**
57
- * loader(Def, { stream: "navigation" }): document renders await this loader
58
- * before first flush (see {@link LoaderOptions}). Projected into the server
59
- * tree, where the per-isSSR entry stamping applies — client navigations
60
- * stream regardless.
57
+ * loader(Def, { ssr: false }): document renders await this loader before
58
+ * first flush (see {@link LoaderOptions}). Projected into the server tree,
59
+ * where the per-isSSR entry stamping applies — client navigations stream
60
+ * regardless.
61
61
  */
62
- readonly stream?: "navigation";
62
+ readonly ssr?: false;
63
63
  }
64
64
  /**
65
65
  * The data-only subset of TransitionConfig a clientUrls() route may declare:
@@ -101,13 +101,14 @@ export interface ClientUrlHelpers {
101
101
  * revalidate() only — a CLIENT-RUN per-loader predicate; its decision (not
102
102
  * the function) is sent with the revalidation request.
103
103
  *
104
- * Pass `{ stream: "navigation" }` to await this loader before first flush
105
- * on DOCUMENT requests (see {@link LoaderOptions}) the opt-in for loaders
106
- * whose data, handle pushes, or thrown notFound()/redirect() must be in the
107
- * SSR'd HTML. Per-loader: a dynamic sibling keeps streaming. Under a
108
- * `ppr` group route the flag BAKES: the loader executes at shell capture
109
- * and its settled return freezes into the shell (nested promises stay
110
- * live holes).
104
+ * Pass `{ ssr: false }` the same knob as loading(fallback, { ssr:
105
+ * false }) to await this loader before first flush on DOCUMENT requests
106
+ * (see {@link LoaderOptions}): the opt-in for loaders whose data, handle
107
+ * pushes, or thrown notFound()/redirect() must be in the SSR'd HTML.
108
+ * Per-loader: a streaming sibling keeps streaming. Under a `ppr` group
109
+ * route the flag BAKES: the loader executes at shell capture and its
110
+ * settled return freezes into the shell (nested promises stay live
111
+ * holes).
111
112
  */
112
113
  readonly loader: <TData>(definition: LoaderDefinition<TData>, optionsOrUse?: LoaderOptions | ClientUrlUse, use?: ClientUrlUse) => ClientUrlItem;
113
114
  readonly loading: (component: ReactNode) => ClientUrlItem;
@@ -17,6 +17,15 @@ export interface OutletContextValue {
17
17
  * the resolved `loaderData` record.
18
18
  */
19
19
  loaderStreams?: Record<string, unknown>;
20
+ /**
21
+ * Loader $$ids on this segment that the render awaited before first flush
22
+ * (loader(Def, { ssr: false })). Dev-diagnostic input only: useLoader uses
23
+ * it to warn when a read still suspends during SSR on a render that awaited
24
+ * flagged loaders (ssr-suspension-warning.ts). Present only on streaming
25
+ * lanes with flagged loaders (document and shell-capture renders); absent
26
+ * on forceAwait/action lanes.
27
+ */
28
+ awaitedLoaderIds?: readonly string[];
20
29
  parent?: OutletContextValue | null;
21
30
  /** Loading component for Suspense fallback (from segment's loading() definition) */
22
31
  loading?: ReactNode;
@@ -3,12 +3,13 @@ import type { ResolvedSegment } from "./types.js";
3
3
  /**
4
4
  * Outlet content provider — stores parent context for useLoader chain walking.
5
5
  */
6
- export declare function OutletProvider({ content, parallel, segment, loaderData, loaderStreams, pending, children, }: {
6
+ export declare function OutletProvider({ content, parallel, segment, loaderData, loaderStreams, awaitedLoaderIds, pending, children, }: {
7
7
  content: ReactNode;
8
8
  parallel?: ResolvedSegment[];
9
9
  segment?: ResolvedSegment;
10
10
  loaderData?: Record<string, any>;
11
11
  loaderStreams?: Record<string, unknown>;
12
+ awaitedLoaderIds?: readonly string[];
12
13
  pending?: boolean;
13
14
  children: ReactNode;
14
15
  }): ReactNode;
@@ -71,6 +71,9 @@ export interface LoaderBoundaryProps {
71
71
  * the children; useLoader suspends per loader at the read site.
72
72
  */
73
73
  loaderStreams?: Record<string, unknown>;
74
+ /** Dev-diagnostic input for the SSR suspension warning — see
75
+ * OutletContextValue.awaitedLoaderIds. Rides the streams lane only. */
76
+ awaitedLoaderIds?: readonly string[];
74
77
  fallback?: ReactNode;
75
78
  outletKey: string;
76
79
  outletContent: ReactNode;
@@ -78,4 +81,4 @@ export interface LoaderBoundaryProps {
78
81
  parallel?: ResolvedSegment[];
79
82
  children: ReactNode;
80
83
  }
81
- export declare function LoaderBoundary({ loaderDataPromise, loaderIds, loaderStreams, fallback, outletKey, outletContent, segment, parallel, children, }: LoaderBoundaryProps): ReactNode;
84
+ export declare function LoaderBoundary({ loaderDataPromise, loaderIds, loaderStreams, awaitedLoaderIds, fallback, outletKey, outletContent, segment, parallel, children, }: LoaderBoundaryProps): ReactNode;
@@ -208,13 +208,14 @@ export type RouteHelpers<T extends RouteDefinition, TEnv> = {
208
208
  * return <div>{data.name}</div>;
209
209
  * }
210
210
  * ```
211
- * Pass `{ stream: "navigation" }` to await this loader before first flush on
212
- * DOCUMENT requests (see {@link LoaderOptions}) — the opt-in for loaders whose
213
- * data, handle pushes, or thrown notFound()/redirect() must be in the SSR'd
214
- * HTML. Per-loader: a dynamic sibling in the same segment keeps streaming.
211
+ * Pass `{ ssr: false }` the same knob as loading(fallback, { ssr:
212
+ * false }) — to await this loader before first flush on DOCUMENT requests
213
+ * (see {@link LoaderOptions}): the opt-in for loaders whose data, handle
214
+ * pushes, or thrown notFound()/redirect() must be in the SSR'd HTML.
215
+ * Per-loader: a streaming sibling in the same segment keeps streaming.
215
216
  *
216
217
  * ```typescript
217
- * loader(ProductLoader, { stream: "navigation" }, () => [cache()]),
218
+ * loader(ProductLoader, { ssr: false }, () => [cache()]),
218
219
  * loader(RecommendationsLoader), // still streams behind loading()
219
220
  * ```
220
221
  *
@@ -30,7 +30,7 @@ export { createMaskedLoaderPromise } from "./mask-nested.js";
30
30
  /**
31
31
  * Entry-level lane input for an entry's loaders under PPR (the loading()
32
32
  * value; docs/design/loader-container-bake.md). The CAPTURE decision itself
33
- * is per LOADER in loader-cache.ts: a `stream: "navigation"`
33
+ * is per LOADER in loader-cache.ts: an `ssr: false`
34
34
  * (awaitBeforeFlush) loader BAKES at capture regardless of this value — the
35
35
  * flag's document promise ("data in the HTML before first flush") maps to
36
36
  * the frozen prelude — while every other loader is LIVE (masked at capture,
@@ -21,6 +21,16 @@ import type { ContextVar } from "../context-var.js";
21
21
  * scripts — useNonce() stays undefined for that request.
22
22
  */
23
23
  export declare const nonce: ContextVar<string>;
24
+ /**
25
+ * Normalize a NonceProvider return value to the nonce the request runs with.
26
+ * `true` auto-generates; `false` and the empty string are the per-request
27
+ * opt-out and normalize to undefined — without this, a falsy string would be
28
+ * threaded as-is into the render: never written to the token (`if (nonce)`)
29
+ * yet still `!== undefined` for the ppr shell gate (rsc-rendering.ts
30
+ * activeNonce), pinning a ppr route to axis 1 with no way to opt a request
31
+ * out while keeping the provider for the rest of the app.
32
+ */
33
+ export declare function resolveProviderNonce(result: string | boolean): string | undefined;
24
34
  /**
25
35
  * Generate a cryptographic nonce for CSP.
26
36
  * Returns a 16-byte random value encoded as base64.
@@ -283,6 +283,15 @@ export interface ShellCaptureDescriptor {
283
283
  * Omitted (build-time bare-pathname captures) = search-less, same as "".
284
284
  */
285
285
  searchSeed?: string;
286
+ /**
287
+ * The scheduling request's origin, seeding the capture render's SSR store
288
+ * location. Shell keys are host-scoped, so the resume pass's request
289
+ * agrees modulo protocol drift; the seed keeps origin-dependent static
290
+ * markup (Link's data-external) identical across capture, resume, and
291
+ * browser hydration. Omitted (build-time host-agnostic captures) falls
292
+ * back to the internal host.
293
+ */
294
+ originSeed?: string;
286
295
  /**
287
296
  * The RSC handler's build version (HandlerContext.version), stamped into the
288
297
  * stored entry as ShellCacheEntry.buildVersion — the serve-side
@@ -175,6 +175,12 @@ export interface SSRRenderOptions {
175
175
  * search; see ShellCaptureOptions.search in the SSR entry).
176
176
  */
177
177
  search?: string;
178
+ /**
179
+ * The live request's origin (`url.origin`), seeding the SSR store
180
+ * location so origin-dependent markup (Link's data-external) agrees with
181
+ * the browser across hydration. Absent on host-agnostic build captures.
182
+ */
183
+ origin?: string;
178
184
  }
179
185
  /**
180
186
  * SSR module interface for HTML rendering
@@ -193,6 +199,7 @@ export interface SSRModule {
193
199
  quiesce: Promise<void>;
194
200
  maxWaitMs?: number;
195
201
  search?: string;
202
+ origin?: string;
196
203
  }) => Promise<{
197
204
  prelude: Uint8Array;
198
205
  postponed: string | null;
@@ -209,6 +216,7 @@ export interface SSRModule {
209
216
  postponed: string | null;
210
217
  nonce?: string;
211
218
  search?: string;
219
+ origin?: string;
212
220
  }) => Promise<ReadableStream<Uint8Array>>;
213
221
  }
214
222
  /**
@@ -244,9 +252,13 @@ export interface HandlerCacheConfig {
244
252
  }
245
253
  /**
246
254
  * Nonce provider function type.
247
- * Can return a nonce string, or true to auto-generate one.
255
+ * Return a nonce string to use verbatim, `true` to auto-generate one, or
256
+ * `false` (or an empty string) to serve THIS request without a nonce — the
257
+ * per-request opt-out for apps that nonce globally but declare `ppr` on some
258
+ * routes: a shell is shared per host+URL and can never bake a per-request
259
+ * nonce, so a ppr route only captures when its requests opt out here.
248
260
  */
249
- export type NonceProvider<TEnv = unknown> = (request: Request, env: TEnv) => string | true | Promise<string | true>;
261
+ export type NonceProvider<TEnv = unknown> = (request: Request, env: TEnv) => string | boolean | Promise<string | boolean>;
250
262
  /**
251
263
  * Options for creating an RSC handler
252
264
  */
@@ -84,7 +84,7 @@ export type LoaderEntry = {
84
84
  cache?: EntryCacheConfig;
85
85
  /**
86
86
  * Document renders await this loader before segment resolution returns
87
- * (loader(Def, { stream: "navigation" })), so its data, handle pushes, and
87
+ * (loader(Def, { ssr: false })), so its data, handle pushes, and
88
88
  * thrown notFound()/redirect() deterministically precede first flush.
89
89
  * Resolved at DSL-evaluation time from ctx.isSSR — entries are cached
90
90
  * per-isSSR (router/manifest.ts cache key), so the flag is already
@@ -509,7 +509,7 @@ export interface RequestContext<TEnv = DefaultEnv, TParams = Record<string, stri
509
509
  _handlerLoaderDeps?: Set<string>;
510
510
  /**
511
511
  * @internal Loader IDs ($$id) whose entries carry `awaitBeforeFlush`
512
- * (loader(Def, { stream: "navigation" })): segment resolution awaits these
512
+ * (loader(Def, { ssr: false })): segment resolution awaits these
513
513
  * before returning, so the render barrier cannot resolve until they settle.
514
514
  * rendered() checks this set to fail fast — a flagged loader awaiting the
515
515
  * barrier is a guaranteed cycle, not a race. Registered by resolveLoaders
@@ -19,6 +19,7 @@ interface RenderToReadableStreamOptions {
19
19
  bootstrapModules?: string[];
20
20
  nonce?: string;
21
21
  formState?: unknown;
22
+ progressiveChunkSize?: number;
22
23
  }
23
24
  /**
24
25
  * ReadableStream with the allReady promise added by react-dom/server.edge.
@@ -34,6 +35,7 @@ interface PrerenderOptions {
34
35
  bootstrapScriptContent?: string;
35
36
  bootstrapModules?: string[];
36
37
  onError?: (error: unknown) => void;
38
+ progressiveChunkSize?: number;
37
39
  }
38
40
  /**
39
41
  * Result of prerender from react-dom/static.edge. `postponed` is React's
@@ -90,6 +92,13 @@ export interface SSRRenderOptions {
90
92
  * only (runtime captures own the search variants, seeded per key).
91
93
  */
92
94
  search?: string;
95
+ /**
96
+ * The live request's origin, seeding the SSR store location so
97
+ * origin-dependent markup (Link's data-external) agrees with the
98
+ * browser's window.location across hydration. Absent on the build-time
99
+ * prerender pass (host-agnostic bare captures).
100
+ */
101
+ origin?: string;
93
102
  }
94
103
  /**
95
104
  * SSR dependencies from external packages
@@ -122,6 +131,22 @@ export interface SSRDependencies<TEnv = unknown> {
122
131
  * state on upgrade (the generated entry always passes an explicit value).
123
132
  */
124
133
  headScripts?: HeadScriptsOption;
134
+ /**
135
+ * Fizz `progressiveChunkSize`, forwarded verbatim to renderToReadableStream
136
+ * (live SSR) and prerender (shell capture); resume() inherits the capture
137
+ * value from the postponed state. The generated virtual SSR entry threads
138
+ * the `rango({ progressiveChunkSize })` plugin option here (canonical docs
139
+ * on `RangoBaseOptions.progressiveChunkSize` in vite/plugin-types.ts).
140
+ *
141
+ * When UNSET, createSSRHandler auto-raises to Number.MAX_SAFE_INTEGER for
142
+ * document renders whose matched chain has a `loader(Def, { ssr: false })`
143
+ * entry (payload segments carry `awaitBeforeFlush`): the loader was awaited
144
+ * before first flush precisely so its content ships in-place, and React
145
+ * 19.2's Fizz would otherwise move any completed boundary over ~500 bytes
146
+ * to an end-of-stream `<div hidden>` + $RC reveal once the shell saturates
147
+ * the default 12800 budget. An explicit value disables the auto-raise.
148
+ */
149
+ progressiveChunkSize?: number;
125
150
  /**
126
151
  * prerender from react-dom/static.edge. Optional; required only by
127
152
  * {@link createShellCaptureHandler} for PPR shell capture.
@@ -184,6 +209,13 @@ interface ShellCaptureOptions {
184
209
  * the shell's own key. MUST equal the resume pass's seed for the same key.
185
210
  */
186
211
  search?: string;
212
+ /**
213
+ * The capture request's origin. Shell keys are host-scoped, so the resume
214
+ * pass's request agrees modulo protocol drift; seeding it keeps
215
+ * origin-dependent static markup (Link's data-external) identical across
216
+ * capture, resume, and browser hydration.
217
+ */
218
+ origin?: string;
187
219
  }
188
220
  /**
189
221
  * Result of a successful shell capture. `prelude` is the raw prelude bytes;
@@ -210,6 +242,8 @@ interface ShellResumeOptions {
210
242
  * postponed holes.
211
243
  */
212
244
  search?: string;
245
+ /** The HIT request's origin — same host as the capture's (key-scoped). */
246
+ origin?: string;
213
247
  }
214
248
  /**
215
249
  * Create an SSR handler that converts RSC streams to HTML.
@@ -26,6 +26,15 @@ export interface RscPayload {
26
26
  version?: string;
27
27
  };
28
28
  }
29
+ /**
30
+ * Deserialize the Flight stream branch into the payload SsrRoot renders,
31
+ * fragment expansion included. Factored out of SsrRoot so createSSRHandler can
32
+ * create the promise BEFORE fizz starts and read metadata that must influence
33
+ * the fizz call itself (the ssr:false progressiveChunkSize auto-raise) —
34
+ * awaiting it there is latency-neutral because fizz cannot emit even <html>
35
+ * until this same promise settles.
36
+ */
37
+ export declare function deserializeSsrPayload(createFromReadableStream: CreateFromReadableStream, rscStream: ReadableStream<Uint8Array>): Promise<RscPayload>;
29
38
  /**
30
39
  * Options for {@link createSsrRootComponent}.
31
40
  */
@@ -34,6 +43,13 @@ export interface SsrRootOptions {
34
43
  createFromReadableStream: CreateFromReadableStream;
35
44
  /** The Flight stream branch to deserialize into the SSR VDOM. */
36
45
  rscStream: ReadableStream<Uint8Array>;
46
+ /**
47
+ * Pre-created payload promise (deserializeSsrPayload over the SAME
48
+ * rscStream). When present SsrRoot adopts it instead of deserializing
49
+ * lazily on first render — the stream can only be consumed once, so the
50
+ * caller that already started deserialization MUST pass the promise in.
51
+ */
52
+ payload?: Promise<RscPayload>;
37
53
  /** Nonce for CSP; propagated to NonceContext. */
38
54
  nonce?: string;
39
55
  /**
@@ -58,6 +74,11 @@ export interface SsrRootOptions {
58
74
  * the resume tree matches the captured tree above the postponed holes.
59
75
  */
60
76
  search?: string;
77
+ /**
78
+ * Origin seeding the SSR store location (see createSsrEventController):
79
+ * live fizz passes the request's origin; capture/resume pass theirs.
80
+ */
81
+ origin?: string;
61
82
  }
62
83
  /**
63
84
  * Build the closure component that deserializes the Flight payload, consumes
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Dev-only diagnostic for the { ssr: false } SSR-completeness opt-in.
3
+ *
4
+ * A document render that awaits flagged loaders before first flush is usually
5
+ * expected to produce an SSR-complete boundary — but the await is scoped per
6
+ * LOADER (see LoaderOptions in types/loader-types.ts), so one unflagged read
7
+ * under the same Suspense boundary still suspends it and the boundary streams
8
+ * as its fallback, invisible without JS. That failure mode looks exactly like
9
+ * the flag not working; a consumer app burned hours on byte-level archaeology
10
+ * before the unflagged sibling read was identified. This warning names the
11
+ * culprit at the suspension site instead.
12
+ *
13
+ * Fires at most once per loader id per process, only during the SSR pass
14
+ * (`window` undefined), only in dev, and only when the render actually awaited
15
+ * flagged loaders (`awaitedLoaderIds`, stamped by segment resolution on
16
+ * document AND shell-capture renders — capture awaits the same flagged lane;
17
+ * its masked live-lane reads suspend by design and dedupe against the live
18
+ * render's warnings through the once-per-id set).
19
+ */
20
+ export declare function warnAwaitedSsrSuspension(loaderId: string, awaitedLoaderIds: readonly string[] | undefined, stream: Promise<unknown>, isServer?: boolean): void;