@rangojs/router 0.9.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 (846) 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/outlet-context.d.ts +9 -0
  745. package/dist/types/outlet-provider.d.ts +2 -1
  746. package/dist/types/route-content-wrapper.d.ts +4 -1
  747. package/dist/types/rsc/nonce.d.ts +10 -0
  748. package/dist/types/rsc/types.d.ts +6 -2
  749. package/dist/types/ssr/index.d.ts +18 -0
  750. package/dist/types/ssr/ssr-root.d.ts +16 -0
  751. package/dist/types/ssr-suspension-warning.d.ts +20 -0
  752. package/dist/types/types/loader-types.d.ts +5 -1
  753. package/dist/types/types/segments.d.ts +17 -0
  754. package/dist/types/vite/discovery/state.d.ts +6 -0
  755. package/dist/types/vite/plugin-types.d.ts +27 -0
  756. package/dist/types/vite/plugins/virtual-entries.d.ts +1 -1
  757. package/dist/types/vite/utils/shared-utils.d.ts +1 -0
  758. package/dist/types.d.ts +1479 -0
  759. package/dist/types.d.ts.map +1 -0
  760. package/dist/types.js +10 -0
  761. package/dist/types.js.map +1 -0
  762. package/dist/urls.d.ts +441 -0
  763. package/dist/urls.d.ts.map +1 -0
  764. package/dist/urls.gen.d.ts +8 -0
  765. package/dist/urls.gen.d.ts.map +1 -0
  766. package/dist/urls.gen.js +8 -0
  767. package/dist/urls.gen.js.map +1 -0
  768. package/dist/urls.js +443 -0
  769. package/dist/urls.js.map +1 -0
  770. package/dist/use-loader.d.ts +127 -0
  771. package/dist/use-loader.d.ts.map +1 -0
  772. package/dist/use-loader.js +237 -0
  773. package/dist/use-loader.js.map +1 -0
  774. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +2 -0
  775. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +1 -0
  776. package/dist/vite/__tests__/ast-handler-extract.test.js +294 -0
  777. package/dist/vite/__tests__/ast-handler-extract.test.js.map +1 -0
  778. package/dist/vite/__tests__/expose-id-utils.test.d.ts +2 -0
  779. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +1 -0
  780. package/dist/vite/__tests__/expose-id-utils.test.js +224 -0
  781. package/dist/vite/__tests__/expose-id-utils.test.js.map +1 -0
  782. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +2 -0
  783. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +1 -0
  784. package/dist/vite/__tests__/expose-internal-ids.test.js +647 -0
  785. package/dist/vite/__tests__/expose-internal-ids.test.js.map +1 -0
  786. package/dist/vite/__tests__/expose-router-id.test.d.ts +2 -0
  787. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +1 -0
  788. package/dist/vite/__tests__/expose-router-id.test.js +39 -0
  789. package/dist/vite/__tests__/expose-router-id.test.js.map +1 -0
  790. package/dist/vite/ast-handler-extract.d.ts +49 -0
  791. package/dist/vite/ast-handler-extract.d.ts.map +1 -0
  792. package/dist/vite/ast-handler-extract.js +249 -0
  793. package/dist/vite/ast-handler-extract.js.map +1 -0
  794. package/dist/vite/expose-action-id.d.ts +19 -0
  795. package/dist/vite/expose-action-id.d.ts.map +1 -0
  796. package/dist/vite/expose-action-id.js +250 -0
  797. package/dist/vite/expose-action-id.js.map +1 -0
  798. package/dist/vite/expose-id-utils.d.ts +69 -0
  799. package/dist/vite/expose-id-utils.d.ts.map +1 -0
  800. package/dist/vite/expose-id-utils.js +289 -0
  801. package/dist/vite/expose-id-utils.js.map +1 -0
  802. package/dist/vite/expose-internal-ids.d.ts +22 -0
  803. package/dist/vite/expose-internal-ids.d.ts.map +1 -0
  804. package/dist/vite/expose-internal-ids.js +886 -0
  805. package/dist/vite/expose-internal-ids.js.map +1 -0
  806. package/dist/vite/index.d.ts +149 -0
  807. package/dist/vite/index.d.ts.map +1 -0
  808. package/dist/vite/index.js +51 -22
  809. package/dist/vite/index.js.bak +5448 -0
  810. package/dist/vite/index.js.map +1 -0
  811. package/dist/vite/index.named-routes.gen.ts +103 -0
  812. package/dist/vite/package-resolution.d.ts +43 -0
  813. package/dist/vite/package-resolution.d.ts.map +1 -0
  814. package/dist/vite/package-resolution.js +112 -0
  815. package/dist/vite/package-resolution.js.map +1 -0
  816. package/dist/vite/virtual-entries.d.ts +25 -0
  817. package/dist/vite/virtual-entries.d.ts.map +1 -0
  818. package/dist/vite/virtual-entries.js +110 -0
  819. package/dist/vite/virtual-entries.js.map +1 -0
  820. package/package.json +21 -22
  821. package/skills/loader/SKILL.md +17 -2
  822. package/src/browser/merge-segment-loaders.ts +4 -0
  823. package/src/client.tsx +2 -0
  824. package/src/outlet-context.ts +9 -0
  825. package/src/outlet-provider.tsx +4 -0
  826. package/src/route-content-wrapper.tsx +7 -0
  827. package/src/router/segment-resolution/fresh.ts +48 -17
  828. package/src/router.ts +7 -2
  829. package/src/rsc/handler.ts +4 -4
  830. package/src/rsc/nonce.ts +16 -0
  831. package/src/rsc/shell-capture.ts +39 -6
  832. package/src/rsc/types.ts +6 -2
  833. package/src/segment-system.tsx +57 -12
  834. package/src/ssr/index.tsx +53 -1
  835. package/src/ssr/ssr-root.tsx +50 -22
  836. package/src/ssr-suspension-warning.ts +68 -0
  837. package/src/types/loader-types.ts +5 -1
  838. package/src/types/segments.ts +17 -0
  839. package/src/use-loader.tsx +24 -1
  840. package/src/vite/discovery/shell-prerender-phase.ts +5 -0
  841. package/src/vite/discovery/state.ts +6 -0
  842. package/src/vite/plugin-types.ts +28 -0
  843. package/src/vite/plugins/virtual-entries.ts +26 -3
  844. package/src/vite/rango.ts +3 -0
  845. package/src/vite/router-discovery.ts +31 -19
  846. 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"}
@@ -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;
@@ -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.
@@ -252,9 +252,13 @@ export interface HandlerCacheConfig {
252
252
  }
253
253
  /**
254
254
  * Nonce provider function type.
255
- * 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.
256
260
  */
257
- 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>;
258
262
  /**
259
263
  * Options for creating an RSC handler
260
264
  */
@@ -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
@@ -129,6 +131,22 @@ export interface SSRDependencies<TEnv = unknown> {
129
131
  * state on upgrade (the generated entry always passes an explicit value).
130
132
  */
131
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;
132
150
  /**
133
151
  * prerender from react-dom/static.edge. Optional; required only by
134
152
  * {@link createShellCaptureHandler} for PPR shell capture.
@@ -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
  /**
@@ -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;
@@ -170,7 +170,11 @@ export type LoaderFn<T, TParams = Record<string, string | undefined>, TEnv = Def
170
170
  *
171
171
  * Scoped per LOADER, not per segment: an `ssr: false` loader alongside a
172
172
  * deliberately streaming sibling awaits only itself, and the sibling keeps
173
- * streaming behind its `loading()`/Suspense boundary.
173
+ * streaming behind its `loading()`/Suspense boundary. Watch the scoping when
174
+ * the boundary must be SSR-complete: ONE unflagged read under it still
175
+ * suspends the whole boundary, which then streams as its fallback — looking
176
+ * exactly like the flag not working. In dev the router warns at the read
177
+ * site naming the unflagged loader (ssr-suspension-warning.ts).
174
178
  */
175
179
  export type LoaderOptions = {
176
180
  ssr?: boolean;
@@ -140,9 +140,26 @@ export interface ResolvedSegment {
140
140
  loaderId?: string;
141
141
  _inherited?: boolean;
142
142
  loaderData?: any;
143
+ /**
144
+ * True when this loader was awaited before first flush
145
+ * (loader(Def, { ssr: false })). Stamped by resolveLoaders (fresh.ts) on
146
+ * document AND shell-capture renders — capture bakes flagged loaders and
147
+ * awaits the same lane. Feeds segment-system's settled-value delivery and
148
+ * the dev SSR suspension warning (ssr-suspension-warning.ts).
149
+ */
150
+ awaitBeforeFlush?: true;
143
151
  parallelLoading?: ReactNode;
144
152
  loaderDataPromise?: Promise<any[]> | any[];
145
153
  loaderIds?: string[];
154
+ /**
155
+ * Per-loader UNDECODED results for a layout/route stream map.
156
+ * Flagged (ssr:false) entries are settled values; unflagged siblings
157
+ * stay promises. Parallel slots do not use this channel — they pin
158
+ * loading() / live-lane holes via use(loaderDataPromise).
159
+ */
160
+ loaderStreams?: Record<string, unknown>;
161
+ /** $$ids of loaders this segment awaited before flush. Dev diagnostic. */
162
+ awaitedLoaderIds?: string[];
146
163
  error?: ErrorInfo;
147
164
  notFoundInfo?: NotFoundInfo;
148
165
  mountPath?: string;
@@ -45,6 +45,12 @@ export interface PluginOptions {
45
45
  * capture endpoint with the app's configured head-script strategy.
46
46
  */
47
47
  headScripts?: import("../plugin-types.js").HeadScriptsOption;
48
+ /**
49
+ * rango({ progressiveChunkSize }) — threaded alongside headScripts so the
50
+ * temp server's virtual SSR entry bakes the app's configured Fizz outlining
51
+ * budget into its capture/render handlers.
52
+ */
53
+ progressiveChunkSize?: number;
48
54
  }
49
55
  export interface PrecomputedEntry {
50
56
  staticPrefix: string;
@@ -135,6 +135,33 @@ interface RangoBaseOptions {
135
135
  * @default "preinit"
136
136
  */
137
137
  headScripts?: HeadScriptsOption;
138
+ /**
139
+ * React Fizz `progressiveChunkSize`, forwarded to the document renders the
140
+ * generated SSR entry performs: renderToReadableStream (live SSR) and
141
+ * prerender (PPR shell capture); resume() inherits the capture value from
142
+ * the stored postponed state.
143
+ *
144
+ * Controls COMPLETED-boundary outlining. Once the shell exceeds this budget
145
+ * (React's default is 12800 bytes — any real document), Fizz moves every
146
+ * completed Suspense boundary over ~500 bytes out of its document position
147
+ * to an end-of-stream `<div hidden>` + `$RC()` script reveal. Raise it (e.g.
148
+ * `Number.MAX_SAFE_INTEGER`) to keep completed content inline: in-place for
149
+ * non-executing HTML consumers, no reveal step. Boundaries with suspensey
150
+ * content (hoisted stylesheets) still outline — their reveal must wait for
151
+ * the CSS. Trade-off: inline content delays later shell bytes behind it,
152
+ * which is why React outlines by default.
153
+ *
154
+ * When UNSET, document renders whose matched chain has a
155
+ * `loader(Def, { ssr: false })` entry auto-raise to MAX_SAFE_INTEGER — the
156
+ * loader was awaited before first flush precisely so its content ships
157
+ * in-place, and outlining the boundary it feeds would defeat that. Setting
158
+ * an explicit value disables the auto-raise. The auto-raise is live-SSR
159
+ * only; captured shells use the explicit value or React's default.
160
+ *
161
+ * Apps with a custom SSR entry set this per-handler via
162
+ * `SSRDependencies.progressiveChunkSize`.
163
+ */
164
+ progressiveChunkSize?: number;
138
165
  /**
139
166
  * Filter which files route discovery scans, by glob. Paths are matched
140
167
  * root-relative (e.g. `src/routes/**`). `include` restricts discovery to
@@ -6,7 +6,7 @@ export declare const VIRTUAL_ENTRY_BROWSER: string;
6
6
  * lets the SSR handlers convert the bootstrap to `bootstrapModules`;
7
7
  * "preload" omits the hook and pins the handlers to the hint-only strategy.
8
8
  */
9
- export declare function getVirtualEntrySSR(headScripts?: HeadScriptsOption): string;
9
+ export declare function getVirtualEntrySSR(headScripts?: HeadScriptsOption, progressiveChunkSize?: number): string;
10
10
  /**
11
11
  * Virtual modules an RSC entry must import at startup to register the data the
12
12
  * request handler needs before the first request arrives:
@@ -45,6 +45,7 @@ export declare function createVirtualEntriesPlugin(entries: {
45
45
  kind?: "router" | "host";
46
46
  }, options?: {
47
47
  headScripts?: HeadScriptsOption;
48
+ progressiveChunkSize?: number;
48
49
  }): Plugin;
49
50
  /**
50
51
  * Suppress known harmless warnings: "use client" directives, sourcemap errors,