@rangojs/router 0.5.1 → 0.6.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 (609) hide show
  1. package/README.md +5 -1
  2. package/dist/bin/rango.js +343 -125
  3. package/dist/types/browser/event-controller.d.ts +6 -0
  4. package/dist/types/browser/react/use-router.d.ts +10 -3
  5. package/dist/types/browser/react/use-search-params.d.ts +57 -10
  6. package/dist/types/browser/types.d.ts +22 -0
  7. package/dist/types/build/merge-full-manifests.d.ts +3 -0
  8. package/dist/types/build/route-trie.d.ts +4 -73
  9. package/dist/types/build/route-types/per-module-writer.d.ts +6 -4
  10. package/dist/types/build/route-types/router-processing.d.ts +2 -3
  11. package/dist/types/cache/cache-exec-scope.d.ts +31 -0
  12. package/dist/types/cache/cf/cf-cache-constants.d.ts +8 -1
  13. package/dist/types/cache/cf/cf-cache-store.d.ts +15 -1
  14. package/dist/types/cache/cf/cf-cache-types.d.ts +1 -1
  15. package/dist/types/cache/cf/cf-kv-utils.d.ts +21 -0
  16. package/dist/types/cache/taint.d.ts +12 -6
  17. package/dist/types/client-urls/client-root.d.ts +38 -0
  18. package/dist/types/client-urls/client-urls.d.ts +5 -0
  19. package/dist/types/client-urls/navigation.d.ts +38 -0
  20. package/dist/types/client-urls/revalidation-protocol.d.ts +25 -0
  21. package/dist/types/client-urls/server-projection.d.ts +62 -0
  22. package/dist/types/client-urls/types.d.ts +144 -0
  23. package/dist/types/client.d.ts +12 -4
  24. package/dist/types/client.rsc.d.ts +4 -1
  25. package/dist/types/decode-loader-results.d.ts +37 -0
  26. package/dist/types/errors.d.ts +1 -0
  27. package/dist/types/handles/is-thenable.d.ts +2 -4
  28. package/dist/types/index.d.ts +1 -1
  29. package/dist/types/loader-redirect.d.ts +27 -0
  30. package/dist/types/outlet-context.d.ts +12 -0
  31. package/dist/types/outlet-provider.d.ts +3 -1
  32. package/dist/types/redirect-origin.d.ts +4 -0
  33. package/dist/types/route-content-wrapper.d.ts +42 -1
  34. package/dist/types/route-definition/helpers-types.d.ts +13 -2
  35. package/dist/types/router/error-handling.d.ts +35 -1
  36. package/dist/types/router/intercept-resolution.d.ts +12 -0
  37. package/dist/types/router/loader-resolution.d.ts +24 -2
  38. package/dist/types/router/revalidation.d.ts +7 -0
  39. package/dist/{types.backup/build/route-trie.d.ts → types/router/route-trie-builder.d.ts} +4 -16
  40. package/dist/types/router/router-interfaces.d.ts +20 -0
  41. package/dist/types/router/segment-resolution/helpers.d.ts +1 -1
  42. package/dist/types/router/trie-matching.d.ts +1 -1
  43. package/dist/types/rsc/helpers.d.ts +3 -0
  44. package/dist/types/rsc/manifest-init.d.ts +5 -5
  45. package/dist/types/rsc/render-pipeline.d.ts +9 -0
  46. package/dist/types/rsc/routine-plan.d.ts +124 -0
  47. package/dist/types/rsc/shell-capture-constants.d.ts +17 -0
  48. package/dist/types/rsc/shell-capture.d.ts +9 -0
  49. package/dist/types/rsc/shell-serve.d.ts +11 -0
  50. package/dist/types/rsc/types.d.ts +30 -0
  51. package/dist/types/segment-system.d.ts +2 -0
  52. package/dist/types/server/context.d.ts +10 -0
  53. package/dist/types/server/handle-store.d.ts +34 -3
  54. package/dist/types/server/request-context.d.ts +14 -1
  55. package/dist/types/server.d.ts +1 -0
  56. package/dist/types/ssr/index.d.ts +22 -0
  57. package/dist/types/ssr/ssr-root.d.ts +10 -0
  58. package/dist/types/testing/dom.entry.d.ts +1 -1
  59. package/dist/types/testing/render-route.d.ts +16 -6
  60. package/dist/types/testing/run-loader.d.ts +9 -0
  61. package/dist/types/types/boundaries.d.ts +22 -0
  62. package/dist/types/types/index.d.ts +1 -1
  63. package/dist/types/types/loader-types.d.ts +57 -5
  64. package/dist/types/types/segments.d.ts +7 -0
  65. package/dist/types/urls/path-helper-types.d.ts +10 -4
  66. package/dist/types/vite/discovery/client-urls-projection.d.ts +53 -0
  67. package/dist/types/vite/discovery/discover-routers.d.ts +1 -1
  68. package/dist/types/vite/discovery/state.d.ts +8 -1
  69. package/dist/types/vite/encryption-key.d.ts +2 -0
  70. package/dist/types/vite/plugins/expose-internal-ids.d.ts +10 -0
  71. package/dist/types/vite/plugins/server-ref-hashing.d.ts +24 -0
  72. package/dist/types/vite/plugins/server-reference-pattern.d.ts +1 -0
  73. package/dist/types/vite/utils/shared-utils.d.ts +12 -0
  74. package/dist/vite/index.js +5101 -2056
  75. package/package.json +3 -3
  76. package/skills/breadcrumbs/SKILL.md +39 -9
  77. package/skills/caching/SKILL.md +1 -1
  78. package/skills/catalog.json +7 -1
  79. package/skills/client-urls/SKILL.md +338 -0
  80. package/skills/comparison/references/framework-comparison.md +23 -9
  81. package/skills/hooks/SKILL.md +2 -2
  82. package/skills/hooks/data.md +11 -2
  83. package/skills/hooks/handle-and-actions.md +7 -0
  84. package/skills/hooks/outlets.md +26 -5
  85. package/skills/hooks/urls.md +40 -3
  86. package/skills/loader/SKILL.md +132 -20
  87. package/skills/migrate-nextjs/SKILL.md +70 -10
  88. package/skills/migrate-react-router/SKILL.md +49 -13
  89. package/skills/migrate-react-router/component-migration.md +18 -13
  90. package/skills/migrate-react-router/data-and-actions.md +14 -3
  91. package/skills/migrate-react-router/route-mapping.md +15 -2
  92. package/skills/mime-routes/SKILL.md +3 -1
  93. package/skills/parallel/SKILL.md +32 -1
  94. package/skills/ppr/SKILL.md +16 -6
  95. package/skills/prerender/SKILL.md +8 -4
  96. package/skills/rango/SKILL.md +21 -17
  97. package/skills/react-compiler/SKILL.md +3 -3
  98. package/skills/response-routes/SKILL.md +4 -2
  99. package/skills/route/SKILL.md +5 -2
  100. package/skills/router-setup/SKILL.md +16 -2
  101. package/skills/scripts/SKILL.md +16 -6
  102. package/skills/shell-manifest/SKILL.md +16 -7
  103. package/skills/testing/SKILL.md +2 -2
  104. package/skills/testing/client-components.md +6 -0
  105. package/skills/testing/handles.md +30 -8
  106. package/skills/testing/loader.md +51 -49
  107. package/skills/testing/middleware.md +1 -1
  108. package/skills/theme/SKILL.md +8 -5
  109. package/skills/typesafety/generated-files-and-cli.md +16 -9
  110. package/skills/typesafety/route-types.md +5 -1
  111. package/skills/use-cache/SKILL.md +47 -0
  112. package/src/bin/rango.ts +7 -3
  113. package/src/browser/event-controller.ts +40 -15
  114. package/src/browser/navigation-bridge.ts +6 -0
  115. package/src/browser/navigation-client.ts +5 -0
  116. package/src/browser/partial-update.ts +77 -10
  117. package/src/browser/react/NavigationProvider.tsx +7 -0
  118. package/src/browser/react/use-router.ts +40 -11
  119. package/src/browser/react/use-search-params.ts +140 -17
  120. package/src/browser/rsc-router.tsx +59 -0
  121. package/src/browser/server-action-bridge.ts +26 -0
  122. package/src/browser/types.ts +22 -0
  123. package/src/build/merge-full-manifests.ts +161 -0
  124. package/src/build/route-trie.ts +9 -332
  125. package/src/build/route-types/include-resolution.ts +66 -11
  126. package/src/build/route-types/per-module-writer.ts +11 -6
  127. package/src/build/route-types/router-processing.ts +184 -153
  128. package/src/build/runtime-discovery.ts +23 -12
  129. package/src/cache/cache-exec-scope.ts +47 -0
  130. package/src/cache/cache-runtime.ts +113 -40
  131. package/src/cache/cf/cf-cache-constants.ts +8 -1
  132. package/src/cache/cf/cf-cache-store.ts +41 -64
  133. package/src/cache/cf/cf-cache-types.ts +1 -1
  134. package/src/cache/cf/cf-kv-utils.ts +38 -0
  135. package/src/cache/segment-codec.ts +21 -5
  136. package/src/cache/taint.ts +28 -9
  137. package/src/client-urls/client-root.tsx +168 -0
  138. package/src/client-urls/client-urls.ts +698 -0
  139. package/src/client-urls/navigation.ts +237 -0
  140. package/src/client-urls/revalidation-protocol.ts +56 -0
  141. package/src/client-urls/server-projection.ts +579 -0
  142. package/src/client-urls/types.ts +195 -0
  143. package/src/client.rsc.tsx +12 -0
  144. package/src/client.tsx +49 -6
  145. package/src/decode-loader-results.ts +113 -0
  146. package/src/errors.ts +14 -0
  147. package/src/handles/deferred-resolution.ts +14 -7
  148. package/src/handles/is-thenable.ts +2 -4
  149. package/src/index.ts +1 -0
  150. package/src/loader-redirect.tsx +64 -0
  151. package/src/outlet-context.ts +12 -0
  152. package/src/outlet-provider.tsx +15 -1
  153. package/src/redirect-origin.ts +29 -0
  154. package/src/route-content-wrapper.tsx +96 -3
  155. package/src/route-definition/dsl-helpers.ts +28 -3
  156. package/src/route-definition/helpers-types.ts +13 -0
  157. package/src/route-definition/redirect.ts +17 -18
  158. package/src/router/error-handling.ts +65 -11
  159. package/src/router/intercept-resolution.ts +29 -0
  160. package/src/router/loader-resolution.ts +261 -28
  161. package/src/router/match-middleware/cache-lookup.ts +24 -15
  162. package/src/router/match-result.ts +7 -0
  163. package/src/router/revalidation.ts +24 -11
  164. package/src/router/route-trie-builder.ts +334 -0
  165. package/src/router/router-interfaces.ts +38 -0
  166. package/src/router/segment-resolution/fresh.ts +47 -0
  167. package/src/router/segment-resolution/helpers.ts +9 -11
  168. package/src/router/segment-resolution/loader-cache.ts +14 -24
  169. package/src/router/segment-resolution/revalidation.ts +20 -1
  170. package/src/router/trie-matching.ts +3 -3
  171. package/src/router.ts +46 -1
  172. package/src/rsc/full-payload.ts +6 -0
  173. package/src/rsc/handler.ts +36 -12
  174. package/src/rsc/helpers.ts +13 -0
  175. package/src/rsc/loader-fetch.ts +2 -2
  176. package/src/rsc/manifest-init.ts +28 -9
  177. package/src/rsc/progressive-enhancement.ts +247 -70
  178. package/src/rsc/render-pipeline.ts +68 -24
  179. package/src/rsc/routine-plan.ts +359 -0
  180. package/src/rsc/rsc-rendering.ts +569 -302
  181. package/src/rsc/server-action.ts +180 -71
  182. package/src/rsc/shell-capture-constants.ts +18 -0
  183. package/src/rsc/shell-capture.ts +104 -21
  184. package/src/rsc/shell-serve.ts +15 -2
  185. package/src/rsc/ssr-setup.ts +10 -1
  186. package/src/rsc/types.ts +31 -2
  187. package/src/segment-system.tsx +83 -26
  188. package/src/server/context.ts +10 -0
  189. package/src/server/cookie-store.ts +19 -19
  190. package/src/server/handle-store.ts +185 -48
  191. package/src/server/request-context.ts +36 -6
  192. package/src/server.ts +7 -0
  193. package/src/ssr/index.tsx +37 -2
  194. package/src/ssr/ssr-root.tsx +30 -2
  195. package/src/testing/dom.entry.ts +1 -1
  196. package/src/testing/render-route.tsx +22 -8
  197. package/src/testing/run-loader.ts +51 -13
  198. package/src/types/boundaries.ts +19 -0
  199. package/src/types/index.ts +1 -0
  200. package/src/types/loader-types.ts +60 -5
  201. package/src/types/segments.ts +7 -0
  202. package/src/urls/include-helper.ts +22 -4
  203. package/src/urls/path-helper-types.ts +14 -1
  204. package/src/use-loader.tsx +67 -6
  205. package/src/vite/discovery/client-urls-projection.ts +322 -0
  206. package/src/vite/discovery/discover-routers.ts +43 -17
  207. package/src/vite/discovery/state.ts +11 -1
  208. package/src/vite/discovery/virtual-module-codegen.ts +20 -0
  209. package/src/vite/encryption-key.ts +29 -0
  210. package/src/vite/plugins/expose-action-id.ts +2 -2
  211. package/src/vite/plugins/expose-internal-ids.ts +46 -0
  212. package/src/vite/plugins/server-ref-hashing.ts +74 -0
  213. package/src/vite/plugins/server-reference-pattern.ts +10 -0
  214. package/src/vite/plugins/virtual-entries.ts +12 -3
  215. package/src/vite/rango.ts +9 -0
  216. package/src/vite/router-discovery.ts +184 -14
  217. package/src/vite/utils/shared-utils.ts +12 -7
  218. package/dist/types.backup/__internal.d.ts +0 -127
  219. package/dist/types.backup/bin/rango.d.ts +0 -1
  220. package/dist/types.backup/browser/action-coordinator.d.ts +0 -57
  221. package/dist/types.backup/browser/action-fence.d.ts +0 -33
  222. package/dist/types.backup/browser/app-shell.d.ts +0 -34
  223. package/dist/types.backup/browser/app-version.d.ts +0 -6
  224. package/dist/types.backup/browser/connection-warmup.d.ts +0 -31
  225. package/dist/types.backup/browser/cookie-name.d.ts +0 -66
  226. package/dist/types.backup/browser/event-controller.d.ts +0 -221
  227. package/dist/types.backup/browser/history-state.d.ts +0 -26
  228. package/dist/types.backup/browser/index.d.ts +0 -1
  229. package/dist/types.backup/browser/intercept-utils.d.ts +0 -30
  230. package/dist/types.backup/browser/invalidate-client-cache.d.ts +0 -17
  231. package/dist/types.backup/browser/link-interceptor.d.ts +0 -43
  232. package/dist/types.backup/browser/logging.d.ts +0 -33
  233. package/dist/types.backup/browser/merge-segment-loaders.d.ts +0 -38
  234. package/dist/types.backup/browser/navigation-bridge.d.ts +0 -27
  235. package/dist/types.backup/browser/navigation-client.d.ts +0 -17
  236. package/dist/types.backup/browser/navigation-store-handle.d.ts +0 -25
  237. package/dist/types.backup/browser/navigation-store.d.ts +0 -95
  238. package/dist/types.backup/browser/navigation-transaction.d.ts +0 -75
  239. package/dist/types.backup/browser/network-error-handler.d.ts +0 -35
  240. package/dist/types.backup/browser/partial-update.d.ts +0 -61
  241. package/dist/types.backup/browser/prefetch/cache.d.ts +0 -183
  242. package/dist/types.backup/browser/prefetch/fetch.d.ts +0 -52
  243. package/dist/types.backup/browser/prefetch/observer.d.ts +0 -27
  244. package/dist/types.backup/browser/prefetch/policy.d.ts +0 -13
  245. package/dist/types.backup/browser/prefetch/queue.d.ts +0 -48
  246. package/dist/types.backup/browser/prefetch/resource-ready.d.ts +0 -28
  247. package/dist/types.backup/browser/rango-state.d.ts +0 -52
  248. package/dist/types.backup/browser/react/Link.d.ts +0 -140
  249. package/dist/types.backup/browser/react/NavigationProvider.d.ts +0 -88
  250. package/dist/types.backup/browser/react/ScrollRestoration.d.ts +0 -78
  251. package/dist/types.backup/browser/react/context.d.ts +0 -54
  252. package/dist/types.backup/browser/react/filter-segment-order.d.ts +0 -35
  253. package/dist/types.backup/browser/react/index.d.ts +0 -1
  254. package/dist/types.backup/browser/react/location-state-shared.d.ts +0 -162
  255. package/dist/types.backup/browser/react/location-state.d.ts +0 -29
  256. package/dist/types.backup/browser/react/mount-context.d.ts +0 -23
  257. package/dist/types.backup/browser/react/nonce-context.d.ts +0 -14
  258. package/dist/types.backup/browser/react/shallow-equal.d.ts +0 -5
  259. package/dist/types.backup/browser/react/use-action.d.ts +0 -61
  260. package/dist/types.backup/browser/react/use-handle.d.ts +0 -21
  261. package/dist/types.backup/browser/react/use-href.d.ts +0 -32
  262. package/dist/types.backup/browser/react/use-link-status.d.ts +0 -36
  263. package/dist/types.backup/browser/react/use-mount.d.ts +0 -24
  264. package/dist/types.backup/browser/react/use-navigation.d.ts +0 -15
  265. package/dist/types.backup/browser/react/use-params.d.ts +0 -21
  266. package/dist/types.backup/browser/react/use-pathname.d.ts +0 -13
  267. package/dist/types.backup/browser/react/use-reverse.d.ts +0 -40
  268. package/dist/types.backup/browser/react/use-router.d.ts +0 -23
  269. package/dist/types.backup/browser/react/use-search-params.d.ts +0 -19
  270. package/dist/types.backup/browser/react/use-segments.d.ts +0 -29
  271. package/dist/types.backup/browser/response-adapter.d.ts +0 -58
  272. package/dist/types.backup/browser/rsc-router.d.ts +0 -141
  273. package/dist/types.backup/browser/scroll-restoration.d.ts +0 -103
  274. package/dist/types.backup/browser/segment-reconciler.d.ts +0 -74
  275. package/dist/types.backup/browser/segment-structure-assert.d.ts +0 -16
  276. package/dist/types.backup/browser/server-action-bridge.d.ts +0 -29
  277. package/dist/types.backup/browser/types.d.ts +0 -530
  278. package/dist/types.backup/browser/validate-redirect-origin.d.ts +0 -28
  279. package/dist/types.backup/build/collect-fallback-refs.d.ts +0 -5
  280. package/dist/types.backup/build/generate-manifest.d.ts +0 -100
  281. package/dist/types.backup/build/generate-route-types.d.ts +0 -8
  282. package/dist/types.backup/build/index.d.ts +0 -21
  283. package/dist/types.backup/build/prefix-tree-utils.d.ts +0 -56
  284. package/dist/types.backup/build/route-types/ast-helpers.d.ts +0 -3
  285. package/dist/types.backup/build/route-types/ast-route-extraction.d.ts +0 -13
  286. package/dist/types.backup/build/route-types/codegen.d.ts +0 -16
  287. package/dist/types.backup/build/route-types/include-resolution.d.ts +0 -74
  288. package/dist/types.backup/build/route-types/param-extraction.d.ts +0 -13
  289. package/dist/types.backup/build/route-types/per-module-writer.d.ts +0 -18
  290. package/dist/types.backup/build/route-types/router-processing.d.ts +0 -82
  291. package/dist/types.backup/build/route-types/scan-filter.d.ts +0 -17
  292. package/dist/types.backup/build/route-types/source-scan.d.ts +0 -13
  293. package/dist/types.backup/build/runtime-discovery.d.ts +0 -24
  294. package/dist/types.backup/cache/background-task.d.ts +0 -21
  295. package/dist/types.backup/cache/cache-error.d.ts +0 -71
  296. package/dist/types.backup/cache/cache-key-utils.d.ts +0 -35
  297. package/dist/types.backup/cache/cache-policy.d.ts +0 -59
  298. package/dist/types.backup/cache/cache-runtime.d.ts +0 -51
  299. package/dist/types.backup/cache/cache-scope.d.ts +0 -134
  300. package/dist/types.backup/cache/cache-tag.d.ts +0 -79
  301. package/dist/types.backup/cache/cf/cf-base64.d.ts +0 -4
  302. package/dist/types.backup/cache/cf/cf-cache-constants.d.ts +0 -105
  303. package/dist/types.backup/cache/cf/cf-cache-store.d.ts +0 -481
  304. package/dist/types.backup/cache/cf/cf-cache-types.d.ts +0 -300
  305. package/dist/types.backup/cache/cf/cf-kv-utils.d.ts +0 -22
  306. package/dist/types.backup/cache/cf/cf-tag-marker-memo.d.ts +0 -15
  307. package/dist/types.backup/cache/cf/index.d.ts +0 -3
  308. package/dist/types.backup/cache/document-cache.d.ts +0 -69
  309. package/dist/types.backup/cache/handle-capture.d.ts +0 -23
  310. package/dist/types.backup/cache/handle-snapshot.d.ts +0 -39
  311. package/dist/types.backup/cache/index.d.ts +0 -7
  312. package/dist/types.backup/cache/memory-segment-store.d.ts +0 -163
  313. package/dist/types.backup/cache/profile-registry.d.ts +0 -40
  314. package/dist/types.backup/cache/read-through-swr.d.ts +0 -60
  315. package/dist/types.backup/cache/segment-codec.d.ts +0 -78
  316. package/dist/types.backup/cache/shell-snapshot.d.ts +0 -162
  317. package/dist/types.backup/cache/tag-invalidation.d.ts +0 -74
  318. package/dist/types.backup/cache/taint.d.ts +0 -71
  319. package/dist/types.backup/cache/types.d.ts +0 -407
  320. package/dist/types.backup/cache/vercel/index.d.ts +0 -1
  321. package/dist/types.backup/cache/vercel/vercel-cache-store.d.ts +0 -267
  322. package/dist/types.backup/client.d.ts +0 -184
  323. package/dist/types.backup/client.rsc.d.ts +0 -39
  324. package/dist/types.backup/cloudflare/index.d.ts +0 -7
  325. package/dist/types.backup/cloudflare/tracing.d.ts +0 -53
  326. package/dist/types.backup/component-utils.d.ts +0 -46
  327. package/dist/types.backup/components/DefaultDocument.d.ts +0 -13
  328. package/dist/types.backup/context-var.d.ts +0 -84
  329. package/dist/types.backup/debug.d.ts +0 -57
  330. package/dist/types.backup/decode-loader-results.d.ts +0 -5
  331. package/dist/types.backup/default-error-boundary.d.ts +0 -10
  332. package/dist/types.backup/defer.d.ts +0 -89
  333. package/dist/types.backup/deps/browser.d.ts +0 -1
  334. package/dist/types.backup/deps/html-stream-client.d.ts +0 -1
  335. package/dist/types.backup/deps/html-stream-server.d.ts +0 -1
  336. package/dist/types.backup/deps/rsc.d.ts +0 -1
  337. package/dist/types.backup/deps/ssr.d.ts +0 -1
  338. package/dist/types.backup/encode-kv.d.ts +0 -35
  339. package/dist/types.backup/errors.d.ts +0 -226
  340. package/dist/types.backup/escape-script.d.ts +0 -44
  341. package/dist/types.backup/handle.d.ts +0 -93
  342. package/dist/types.backup/handles/MetaTags.d.ts +0 -17
  343. package/dist/types.backup/handles/Scripts.d.ts +0 -38
  344. package/dist/types.backup/handles/breadcrumbs.d.ts +0 -43
  345. package/dist/types.backup/handles/deferred-resolution.d.ts +0 -53
  346. package/dist/types.backup/handles/is-thenable.d.ts +0 -12
  347. package/dist/types.backup/handles/meta.d.ts +0 -43
  348. package/dist/types.backup/handles/script.d.ts +0 -139
  349. package/dist/types.backup/host/cookie-handler.d.ts +0 -8
  350. package/dist/types.backup/host/errors.d.ts +0 -40
  351. package/dist/types.backup/host/index.d.ts +0 -33
  352. package/dist/types.backup/host/pattern-matcher.d.ts +0 -30
  353. package/dist/types.backup/host/router.d.ts +0 -12
  354. package/dist/types.backup/host/testing.d.ts +0 -41
  355. package/dist/types.backup/host/types.d.ts +0 -148
  356. package/dist/types.backup/host/utils.d.ts +0 -20
  357. package/dist/types.backup/href-client.d.ts +0 -214
  358. package/dist/types.backup/index.d.ts +0 -112
  359. package/dist/types.backup/index.rsc.d.ts +0 -51
  360. package/dist/types.backup/internal-debug.d.ts +0 -1
  361. package/dist/types.backup/loader-store.d.ts +0 -193
  362. package/dist/types.backup/loader.d.ts +0 -18
  363. package/dist/types.backup/loader.rsc.d.ts +0 -18
  364. package/dist/types.backup/missing-id-error.d.ts +0 -1
  365. package/dist/types.backup/outlet-context.d.ts +0 -12
  366. package/dist/types.backup/outlet-provider.d.ts +0 -12
  367. package/dist/types.backup/prerender/build-shell-capture.d.ts +0 -104
  368. package/dist/types.backup/prerender/param-hash.d.ts +0 -6
  369. package/dist/types.backup/prerender/shell-manifest-key.d.ts +0 -18
  370. package/dist/types.backup/prerender/store.d.ts +0 -62
  371. package/dist/types.backup/prerender.d.ts +0 -292
  372. package/dist/types.backup/redirect-origin.d.ts +0 -55
  373. package/dist/types.backup/regex-escape.d.ts +0 -6
  374. package/dist/types.backup/render-error-thrower.d.ts +0 -13
  375. package/dist/types.backup/response-utils.d.ts +0 -35
  376. package/dist/types.backup/reverse.d.ts +0 -206
  377. package/dist/types.backup/root-error-boundary.d.ts +0 -32
  378. package/dist/types.backup/route-content-wrapper.d.ts +0 -40
  379. package/dist/types.backup/route-definition/dsl-helpers.d.ts +0 -130
  380. package/dist/types.backup/route-definition/helper-factories.d.ts +0 -22
  381. package/dist/types.backup/route-definition/helpers-types.d.ts +0 -392
  382. package/dist/types.backup/route-definition/index.d.ts +0 -7
  383. package/dist/types.backup/route-definition/redirect.d.ts +0 -48
  384. package/dist/types.backup/route-definition/resolve-handler-use.d.ts +0 -19
  385. package/dist/types.backup/route-definition/use-item-types.d.ts +0 -1
  386. package/dist/types.backup/route-definition.d.ts +0 -1
  387. package/dist/types.backup/route-map-builder.d.ts +0 -127
  388. package/dist/types.backup/route-name.d.ts +0 -27
  389. package/dist/types.backup/route-types.d.ts +0 -172
  390. package/dist/types.backup/router/basename.d.ts +0 -10
  391. package/dist/types.backup/router/content-negotiation.d.ts +0 -91
  392. package/dist/types.backup/router/debug-manifest.d.ts +0 -7
  393. package/dist/types.backup/router/error-handling.d.ts +0 -76
  394. package/dist/types.backup/router/find-match.d.ts +0 -19
  395. package/dist/types.backup/router/handler-context.d.ts +0 -41
  396. package/dist/types.backup/router/instrument.d.ts +0 -161
  397. package/dist/types.backup/router/intercept-resolution.d.ts +0 -79
  398. package/dist/types.backup/router/lazy-includes.d.ts +0 -26
  399. package/dist/types.backup/router/loader-resolution.d.ts +0 -63
  400. package/dist/types.backup/router/logging.d.ts +0 -41
  401. package/dist/types.backup/router/manifest.d.ts +0 -8
  402. package/dist/types.backup/router/match-api.d.ts +0 -19
  403. package/dist/types.backup/router/match-context.d.ts +0 -184
  404. package/dist/types.backup/router/match-handlers.d.ts +0 -49
  405. package/dist/types.backup/router/match-middleware/background-revalidation.d.ts +0 -113
  406. package/dist/types.backup/router/match-middleware/cache-lookup.d.ts +0 -113
  407. package/dist/types.backup/router/match-middleware/cache-store.d.ts +0 -112
  408. package/dist/types.backup/router/match-middleware/index.d.ts +0 -80
  409. package/dist/types.backup/router/match-middleware/intercept-resolution.d.ts +0 -116
  410. package/dist/types.backup/router/match-middleware/segment-resolution.d.ts +0 -94
  411. package/dist/types.backup/router/match-pipelines.d.ts +0 -103
  412. package/dist/types.backup/router/match-result.d.ts +0 -114
  413. package/dist/types.backup/router/metrics.d.ts +0 -6
  414. package/dist/types.backup/router/middleware-types.d.ts +0 -74
  415. package/dist/types.backup/router/middleware.d.ts +0 -116
  416. package/dist/types.backup/router/navigation-snapshot.d.ts +0 -22
  417. package/dist/types.backup/router/params-util.d.ts +0 -8
  418. package/dist/types.backup/router/parse-pattern.d.ts +0 -38
  419. package/dist/types.backup/router/pattern-matching.d.ts +0 -169
  420. package/dist/types.backup/router/prefetch-cache-ttl.d.ts +0 -27
  421. package/dist/types.backup/router/prefetch-limits.d.ts +0 -20
  422. package/dist/types.backup/router/prerender-match.d.ts +0 -50
  423. package/dist/types.backup/router/preview-match.d.ts +0 -22
  424. package/dist/types.backup/router/request-classification.d.ts +0 -104
  425. package/dist/types.backup/router/revalidation.d.ts +0 -57
  426. package/dist/types.backup/router/route-snapshot.d.ts +0 -112
  427. package/dist/types.backup/router/router-context.d.ts +0 -137
  428. package/dist/types.backup/router/router-interfaces.d.ts +0 -432
  429. package/dist/types.backup/router/router-options.d.ts +0 -738
  430. package/dist/types.backup/router/router-registry.d.ts +0 -15
  431. package/dist/types.backup/router/segment-resolution/fresh.d.ts +0 -55
  432. package/dist/types.backup/router/segment-resolution/helpers.d.ts +0 -93
  433. package/dist/types.backup/router/segment-resolution/loader-cache.d.ts +0 -33
  434. package/dist/types.backup/router/segment-resolution/loader-mask.d.ts +0 -44
  435. package/dist/types.backup/router/segment-resolution/loader-snapshot.d.ts +0 -90
  436. package/dist/types.backup/router/segment-resolution/mask-nested.d.ts +0 -53
  437. package/dist/types.backup/router/segment-resolution/revalidation.d.ts +0 -85
  438. package/dist/types.backup/router/segment-resolution/static-store.d.ts +0 -17
  439. package/dist/types.backup/router/segment-resolution/streamed-handler-telemetry.d.ts +0 -16
  440. package/dist/types.backup/router/segment-resolution/view-transition-default.d.ts +0 -28
  441. package/dist/types.backup/router/segment-resolution.d.ts +0 -3
  442. package/dist/types.backup/router/segment-wrappers.d.ts +0 -53
  443. package/dist/types.backup/router/state-cookie-name.d.ts +0 -1
  444. package/dist/types.backup/router/substitute-pattern-params.d.ts +0 -23
  445. package/dist/types.backup/router/telemetry-otel.d.ts +0 -113
  446. package/dist/types.backup/router/telemetry.d.ts +0 -215
  447. package/dist/types.backup/router/timeout.d.ts +0 -68
  448. package/dist/types.backup/router/tracing.d.ts +0 -125
  449. package/dist/types.backup/router/trie-matching.d.ts +0 -32
  450. package/dist/types.backup/router/types.d.ts +0 -98
  451. package/dist/types.backup/router/url-params.d.ts +0 -26
  452. package/dist/types.backup/router.d.ts +0 -7
  453. package/dist/types.backup/rsc/capture-queue.d.ts +0 -6
  454. package/dist/types.backup/rsc/full-payload.d.ts +0 -22
  455. package/dist/types.backup/rsc/handler-context.d.ts +0 -31
  456. package/dist/types.backup/rsc/handler.d.ts +0 -9
  457. package/dist/types.backup/rsc/helpers.d.ts +0 -213
  458. package/dist/types.backup/rsc/index.d.ts +0 -17
  459. package/dist/types.backup/rsc/json-route-result.d.ts +0 -20
  460. package/dist/types.backup/rsc/loader-fetch.d.ts +0 -14
  461. package/dist/types.backup/rsc/manifest-init.d.ts +0 -18
  462. package/dist/types.backup/rsc/nonce.d.ts +0 -28
  463. package/dist/types.backup/rsc/origin-guard.d.ts +0 -50
  464. package/dist/types.backup/rsc/progressive-enhancement.d.ts +0 -19
  465. package/dist/types.backup/rsc/redirect-guard.d.ts +0 -35
  466. package/dist/types.backup/rsc/response-cache-serve.d.ts +0 -46
  467. package/dist/types.backup/rsc/response-error.d.ts +0 -19
  468. package/dist/types.backup/rsc/response-route-handler.d.ts +0 -29
  469. package/dist/types.backup/rsc/rsc-rendering.d.ts +0 -23
  470. package/dist/types.backup/rsc/runtime-warnings.d.ts +0 -22
  471. package/dist/types.backup/rsc/server-action.d.ts +0 -68
  472. package/dist/types.backup/rsc/shell-build-manifest.d.ts +0 -84
  473. package/dist/types.backup/rsc/shell-capture-constants.d.ts +0 -27
  474. package/dist/types.backup/rsc/shell-capture.d.ts +0 -374
  475. package/dist/types.backup/rsc/shell-serve.d.ts +0 -136
  476. package/dist/types.backup/rsc/ssr-setup.d.ts +0 -48
  477. package/dist/types.backup/rsc/transition-gate.d.ts +0 -27
  478. package/dist/types.backup/rsc/types.d.ts +0 -290
  479. package/dist/types.backup/runtime-env.d.ts +0 -1
  480. package/dist/types.backup/search-params.d.ts +0 -125
  481. package/dist/types.backup/segment-content-promise.d.ts +0 -13
  482. package/dist/types.backup/segment-fragments.d.ts +0 -56
  483. package/dist/types.backup/segment-loader-promise.d.ts +0 -22
  484. package/dist/types.backup/segment-system.d.ts +0 -84
  485. package/dist/types.backup/serialize.d.ts +0 -164
  486. package/dist/types.backup/server/context.d.ts +0 -494
  487. package/dist/types.backup/server/cookie-parse.d.ts +0 -10
  488. package/dist/types.backup/server/cookie-store.d.ts +0 -107
  489. package/dist/types.backup/server/fetchable-loader-store.d.ts +0 -20
  490. package/dist/types.backup/server/handle-store.d.ts +0 -100
  491. package/dist/types.backup/server/loader-registry.d.ts +0 -32
  492. package/dist/types.backup/server/request-context.d.ts +0 -596
  493. package/dist/types.backup/server/root-layout.d.ts +0 -3
  494. package/dist/types.backup/server.d.ts +0 -15
  495. package/dist/types.backup/ssr/index.d.ts +0 -233
  496. package/dist/types.backup/ssr/inject-rsc-eager.d.ts +0 -3
  497. package/dist/types.backup/ssr/preinit-client-references.d.ts +0 -71
  498. package/dist/types.backup/ssr/ssr-root.d.ts +0 -69
  499. package/dist/types.backup/static-handler.d.ts +0 -57
  500. package/dist/types.backup/testing/cache-status.d.ts +0 -63
  501. package/dist/types.backup/testing/collect-handle.d.ts +0 -20
  502. package/dist/types.backup/testing/dispatch.d.ts +0 -123
  503. package/dist/types.backup/testing/dom.entry.d.ts +0 -15
  504. package/dist/types.backup/testing/e2e/fixture.d.ts +0 -37
  505. package/dist/types.backup/testing/e2e/index.d.ts +0 -30
  506. package/dist/types.backup/testing/e2e/matchers.d.ts +0 -17
  507. package/dist/types.backup/testing/e2e/page-helpers.d.ts +0 -62
  508. package/dist/types.backup/testing/e2e/parity.d.ts +0 -111
  509. package/dist/types.backup/testing/e2e/server.d.ts +0 -35
  510. package/dist/types.backup/testing/flight-matchers.d.ts +0 -55
  511. package/dist/types.backup/testing/flight-normalize.d.ts +0 -1
  512. package/dist/types.backup/testing/flight-tree.d.ts +0 -192
  513. package/dist/types.backup/testing/flight.d.ts +0 -115
  514. package/dist/types.backup/testing/flight.entry.d.ts +0 -27
  515. package/dist/types.backup/testing/generated-routes.d.ts +0 -66
  516. package/dist/types.backup/testing/index.d.ts +0 -52
  517. package/dist/types.backup/testing/internal/context.d.ts +0 -225
  518. package/dist/types.backup/testing/internal/flight-client-globals.d.ts +0 -1
  519. package/dist/types.backup/testing/internal/seed-vars.d.ts +0 -30
  520. package/dist/types.backup/testing/render-handler.d.ts +0 -160
  521. package/dist/types.backup/testing/render-route.d.ts +0 -246
  522. package/dist/types.backup/testing/run-loader.d.ts +0 -186
  523. package/dist/types.backup/testing/run-middleware.d.ts +0 -132
  524. package/dist/types.backup/testing/run-transition-when.d.ts +0 -77
  525. package/dist/types.backup/testing/vitest-stubs/cloudflare-email.d.ts +0 -6
  526. package/dist/types.backup/testing/vitest-stubs/cloudflare-workers.d.ts +0 -13
  527. package/dist/types.backup/testing/vitest-stubs/plugin-rsc.d.ts +0 -7
  528. package/dist/types.backup/testing/vitest-stubs/version.d.ts +0 -1
  529. package/dist/types.backup/testing/vitest.d.ts +0 -205
  530. package/dist/types.backup/theme/ThemeProvider.d.ts +0 -13
  531. package/dist/types.backup/theme/ThemeScript.d.ts +0 -45
  532. package/dist/types.backup/theme/constants.d.ts +0 -39
  533. package/dist/types.backup/theme/index.d.ts +0 -29
  534. package/dist/types.backup/theme/theme-context.d.ts +0 -21
  535. package/dist/types.backup/theme/theme-script.d.ts +0 -26
  536. package/dist/types.backup/theme/types.d.ts +0 -162
  537. package/dist/types.backup/theme/use-theme.d.ts +0 -8
  538. package/dist/types.backup/types/boundaries.d.ts +0 -93
  539. package/dist/types.backup/types/cache-types.d.ts +0 -191
  540. package/dist/types.backup/types/error-types.d.ts +0 -114
  541. package/dist/types.backup/types/global-namespace.d.ts +0 -90
  542. package/dist/types.backup/types/handler-context.d.ts +0 -658
  543. package/dist/types.backup/types/index.d.ts +0 -11
  544. package/dist/types.backup/types/loader-types.d.ts +0 -182
  545. package/dist/types.backup/types/request-scope.d.ts +0 -93
  546. package/dist/types.backup/types/route-config.d.ts +0 -105
  547. package/dist/types.backup/types/route-entry.d.ts +0 -95
  548. package/dist/types.backup/types/segments.d.ts +0 -234
  549. package/dist/types.backup/types.d.ts +0 -1
  550. package/dist/types.backup/urls/include-helper.d.ts +0 -17
  551. package/dist/types.backup/urls/include-provider.d.ts +0 -27
  552. package/dist/types.backup/urls/index.d.ts +0 -6
  553. package/dist/types.backup/urls/path-helper-types.d.ts +0 -197
  554. package/dist/types.backup/urls/path-helper.d.ts +0 -12
  555. package/dist/types.backup/urls/pattern-types.d.ts +0 -166
  556. package/dist/types.backup/urls/response-types.d.ts +0 -67
  557. package/dist/types.backup/urls/type-extraction.d.ts +0 -157
  558. package/dist/types.backup/urls/urls-function.d.ts +0 -24
  559. package/dist/types.backup/urls.d.ts +0 -1
  560. package/dist/types.backup/use-loader.d.ts +0 -150
  561. package/dist/types.backup/vercel/index.d.ts +0 -10
  562. package/dist/types.backup/vercel/tracing.d.ts +0 -70
  563. package/dist/types.backup/vite/debug.d.ts +0 -80
  564. package/dist/types.backup/vite/discovery/bundle-postprocess.d.ts +0 -12
  565. package/dist/types.backup/vite/discovery/dev-prerender-cache.d.ts +0 -65
  566. package/dist/types.backup/vite/discovery/discover-routers.d.ts +0 -17
  567. package/dist/types.backup/vite/discovery/discovery-errors.d.ts +0 -113
  568. package/dist/types.backup/vite/discovery/gate-state.d.ts +0 -79
  569. package/dist/types.backup/vite/discovery/prerender-collection.d.ts +0 -24
  570. package/dist/types.backup/vite/discovery/route-types-writer.d.ts +0 -32
  571. package/dist/types.backup/vite/discovery/self-gen-tracking.d.ts +0 -22
  572. package/dist/types.backup/vite/discovery/shell-prerender-phase.d.ts +0 -40
  573. package/dist/types.backup/vite/discovery/state.d.ts +0 -162
  574. package/dist/types.backup/vite/discovery/virtual-module-codegen.d.ts +0 -15
  575. package/dist/types.backup/vite/index.d.ts +0 -11
  576. package/dist/types.backup/vite/inject-client-debug.d.ts +0 -56
  577. package/dist/types.backup/vite/plugin-types.d.ts +0 -298
  578. package/dist/types.backup/vite/plugins/cjs-to-esm.d.ts +0 -6
  579. package/dist/types.backup/vite/plugins/client-ref-dedup.d.ts +0 -40
  580. package/dist/types.backup/vite/plugins/client-ref-hashing.d.ts +0 -35
  581. package/dist/types.backup/vite/plugins/cloudflare-protocol-stub.d.ts +0 -64
  582. package/dist/types.backup/vite/plugins/expose-action-id.d.ts +0 -18
  583. package/dist/types.backup/vite/plugins/expose-id-utils.d.ts +0 -37
  584. package/dist/types.backup/vite/plugins/expose-ids/export-analysis.d.ts +0 -19
  585. package/dist/types.backup/vite/plugins/expose-ids/handler-transform.d.ts +0 -10
  586. package/dist/types.backup/vite/plugins/expose-ids/loader-transform.d.ts +0 -8
  587. package/dist/types.backup/vite/plugins/expose-ids/router-transform.d.ts +0 -13
  588. package/dist/types.backup/vite/plugins/expose-ids/types.d.ts +0 -29
  589. package/dist/types.backup/vite/plugins/expose-internal-ids.d.ts +0 -6
  590. package/dist/types.backup/vite/plugins/performance-tracks.d.ts +0 -25
  591. package/dist/types.backup/vite/plugins/refresh-cmd.d.ts +0 -20
  592. package/dist/types.backup/vite/plugins/use-cache-transform.d.ts +0 -20
  593. package/dist/types.backup/vite/plugins/vercel-output.d.ts +0 -85
  594. package/dist/types.backup/vite/plugins/version-injector.d.ts +0 -21
  595. package/dist/types.backup/vite/plugins/version-plugin.d.ts +0 -19
  596. package/dist/types.backup/vite/plugins/virtual-entries.d.ts +0 -36
  597. package/dist/types.backup/vite/plugins/virtual-stub-plugin.d.ts +0 -7
  598. package/dist/types.backup/vite/rango.d.ts +0 -29
  599. package/dist/types.backup/vite/router-discovery.d.ts +0 -23
  600. package/dist/types.backup/vite/utils/ast-handler-extract.d.ts +0 -64
  601. package/dist/types.backup/vite/utils/banner.d.ts +0 -2
  602. package/dist/types.backup/vite/utils/bundle-analysis.d.ts +0 -28
  603. package/dist/types.backup/vite/utils/client-chunks.d.ts +0 -55
  604. package/dist/types.backup/vite/utils/directive-prologue.d.ts +0 -16
  605. package/dist/types.backup/vite/utils/forward-user-plugins.d.ts +0 -37
  606. package/dist/types.backup/vite/utils/manifest-utils.d.ts +0 -7
  607. package/dist/types.backup/vite/utils/package-resolution.d.ts +0 -6
  608. package/dist/types.backup/vite/utils/prerender-utils.d.ts +0 -32
  609. package/dist/types.backup/vite/utils/shared-utils.d.ts +0 -55
@@ -1,52 +0,0 @@
1
- /**
2
- * Prefetch Fetch
3
- *
4
- * Fetch-based prefetch logic used by Link (hover/viewport/render strategies)
5
- * and useRouter().prefetch(). Sends the same headers and segment IDs as a
6
- * real navigation so the server returns a proper diff. The response is fetched
7
- * AND eagerly decoded (createFromFetch) up front: decoding the Flight stream
8
- * resolves the route's client references, so the route's JS chunks are imported
9
- * during prefetch rather than on click. The decoded payload is stored in an
10
- * in-memory cache and reused verbatim by navigation, so a prefetched click
11
- * loads no new code.
12
- *
13
- * In-flight promises are tracked in the cache so that navigation can reuse
14
- * a prefetch that is still downloading/decoding instead of starting a
15
- * duplicate request.
16
- */
17
- import type { RscPayload } from "../types.js";
18
- /**
19
- * Decoder injected at app startup (see setPrefetchDecoder). This is
20
- * `deps.createFromFetch` — decoupled from the RSC runtime exactly like the
21
- * navigation client. Prefetch decodes through it so the route's client chunks
22
- * are pulled during the prefetch, not on click.
23
- */
24
- type PrefetchDecoder = (response: Promise<Response>) => Promise<RscPayload>;
25
- /**
26
- * Wire the RSC decoder used to eagerly decode prefetched responses. Called
27
- * once from initBrowserApp with the same createFromFetch the navigation client
28
- * uses. Until set, prefetch warming is inert (prefetches are skipped) — the
29
- * browser app always sets it before any Link can fire.
30
- */
31
- export declare function setPrefetchDecoder(fn: PrefetchDecoder): void;
32
- /**
33
- * Prefetch (direct): fetch with low priority and store in in-memory cache.
34
- * Used by hover strategy -- fires immediately without queueing.
35
- *
36
- * By default the wildcard key (Rango-state-keyed) is used for inflight
37
- * dedup and for responses that are not source-sensitive; source-scoped
38
- * storage is automatic when the server emits `X-RSC-Prefetch-Scope: source`.
39
- *
40
- * Pass `prefetchKey=":source"` to force source-scoped inflight + storage
41
- * (e.g. when the target uses a custom `revalidate()` that reads
42
- * `currentUrl` and the wildcard slot would serve the wrong diff).
43
- */
44
- export declare function prefetchDirect(url: string, segmentIds: string[], version?: string, routerId?: string, prefetchKey?: ":source"): void;
45
- /**
46
- * Prefetch (queued): goes through the concurrency-limited queue.
47
- * Used by viewport/render strategies to avoid flooding the server.
48
- * Returns the inflight key (wildcard by default, source-scoped when
49
- * `prefetchKey=":source"` is passed).
50
- */
51
- export declare function prefetchQueued(url: string, segmentIds: string[], version?: string, routerId?: string, prefetchKey?: ":source"): string;
52
- export {};
@@ -1,27 +0,0 @@
1
- /**
2
- * Prefetch Observer
3
- *
4
- * Shared singleton IntersectionObserver for viewport-based prefetching.
5
- * One observer handles all Link components with prefetch="viewport".
6
- *
7
- * Lazy-created on first call to avoid issues in SSR or test environments
8
- * where IntersectionObserver may not exist.
9
- *
10
- * Observation is one-shot: once a link enters the viewport and the callback
11
- * fires, the element is unobserved. This prevents re-prefetching when a link
12
- * scrolls in and out repeatedly.
13
- */
14
- type PrefetchCallback = () => void;
15
- /**
16
- * Observe an element for viewport intersection.
17
- * When the element becomes visible (within 200px margin), the callback fires
18
- * and the element is automatically unobserved.
19
- * No-op in environments without IntersectionObserver (SSR, some test runners).
20
- */
21
- export declare function observeForPrefetch(element: Element, onVisible: PrefetchCallback): void;
22
- /**
23
- * Stop observing an element. Used for cleanup when a Link unmounts
24
- * before entering the viewport.
25
- */
26
- export declare function unobserveForPrefetch(element: Element): void;
27
- export {};
@@ -1,13 +0,0 @@
1
- /**
2
- * Prefetch Policy
3
- *
4
- * Determines whether speculative prefetching should run for the current user.
5
- * Honors browser reduced-data preferences when available.
6
- */
7
- /**
8
- * Evaluate on every call so runtime changes to Save-Data or
9
- * prefers-reduced-data are respected immediately.
10
- */
11
- export declare function shouldPrefetch(): boolean;
12
- /** No-op, kept for test compatibility. */
13
- export declare function resetPrefetchPolicy(): void;
@@ -1,48 +0,0 @@
1
- /**
2
- * Prefetch Queue
3
- *
4
- * Concurrency-limited FIFO queue for speculative prefetches (viewport/render).
5
- * Hover prefetches bypass this queue — they fire directly for immediate response
6
- * to user intent.
7
- *
8
- * Draining waits for an idle main-thread moment and for viewport images to
9
- * finish loading, so prefetch fetch() calls never compete with critical
10
- * resources for the browser's connection pool.
11
- *
12
- * When a navigation starts, queued prefetches are cancelled but executing ones
13
- * are left running. Navigation can reuse their in-flight responses via the
14
- * prefetch cache's inflight promise map, avoiding duplicate requests.
15
- */
16
- /**
17
- * Set the max number of concurrently-executing speculative prefetches.
18
- * Called once at app startup with the value from server metadata. A value
19
- * below 1 (or non-finite) is ignored, keeping the default.
20
- */
21
- export declare function setPrefetchConcurrency(n: number): void;
22
- /**
23
- * Enqueue a prefetch for concurrency-limited execution.
24
- * Execution is deferred until the browser is idle and viewport images
25
- * have finished loading, so prefetches never compete with critical
26
- * resources. Deduplicates by key — items already queued or executing
27
- * are skipped.
28
- *
29
- * The executor receives an AbortSignal that is aborted when
30
- * cancelAllPrefetches() is called (e.g. on navigation start).
31
- */
32
- export declare function enqueuePrefetch(key: string, execute: (signal: AbortSignal) => Promise<void>): void;
33
- /**
34
- * Cancel queued prefetches and abort in-flight ones that don't match
35
- * the current navigation target. If `keepUrl` is provided, the
36
- * executing prefetch whose key targets that URL is kept alive so
37
- * navigation can reuse its response via consumeInflightPrefetch.
38
- *
39
- * Called when a navigation starts via the NavigationProvider's
40
- * event controller subscription.
41
- */
42
- export declare function cancelAllPrefetches(keepUrl?: string | null): void;
43
- /**
44
- * Hard-cancel everything including in-flight prefetches.
45
- * Used by clearPrefetchCache (server action invalidation) where
46
- * in-flight responses would be stale.
47
- */
48
- export declare function abortAllPrefetches(): void;
@@ -1,28 +0,0 @@
1
- /**
2
- * Resource Readiness
3
- *
4
- * Utilities to defer speculative prefetches until critical resources
5
- * (viewport images) have finished loading. Prevents prefetch fetch()
6
- * calls from competing with images for the browser's connection pool.
7
- */
8
- /**
9
- * Resolve when all in-viewport images have finished loading.
10
- * Returns immediately if no images are pending.
11
- *
12
- * Only checks images that exist at call time — does not observe
13
- * dynamically added images. For SPA navigations where new images
14
- * appear after render, call this after the navigation settles.
15
- */
16
- export declare function waitForViewportImages(): Promise<void>;
17
- /**
18
- * Resolve after the given number of milliseconds.
19
- */
20
- export declare function wait(ms: number): Promise<void>;
21
- /**
22
- * Resolve when the browser has an idle main-thread moment.
23
- * Uses requestIdleCallback where available, falls back to setTimeout.
24
- *
25
- * This is a scheduling hint, not an asset-loaded detector — combine
26
- * with waitForViewportImages() for full resource readiness.
27
- */
28
- export declare function waitForIdle(timeout?: number): Promise<void>;
@@ -1,52 +0,0 @@
1
- /**
2
- * Rango State
3
- *
4
- * Manages a session-cookie-based state value for HTTP cache invalidation. The
5
- * value is sent as the `X-Rango-State` header on prefetch and navigation
6
- * requests; the server responds with `Vary: X-Rango-State`, so the browser HTTP
7
- * cache keys responses by (URL, X-Rango-State value).
8
- *
9
- * Value format: `{buildVersion}:{invalidationTimestamp}`
10
- * - Build version changes on deploy, busting all cached prefetches at boot.
11
- * - Timestamp rotates on invalidation (server action, invalidateClientCache).
12
- *
13
- * Storage is a session cookie named by the server-resolved name passed to
14
- * initRangoState (`{prefix}_{routerId}`, default prefix `rango-state`). The
15
- * cookie jar is shared across tabs, so a per-request read IS the cross-tab
16
- * value sync — no `storage` event is needed. An in-memory mirror is a
17
- * write-through copy that is authoritative only when the cookie is unreadable
18
- * (e.g. a sandboxed frame, or site data blocked wholesale): the failure
19
- * direction is always toward freshness.
20
- *
21
- * Precedence is load-bearing: when `document.cookie` is readable, the
22
- * per-request read wins; the mirror is a fallback, never a cache of the read.
23
- * Caching the read across requests would reintroduce the staleness this
24
- * mechanism removes.
25
- */
26
- /**
27
- * Register the observer invoked when a read detects an EXTERNAL rotation (a
28
- * sibling tab, a server `Set-Cookie`, or a cookie clear). Self-rotations
29
- * (invalidateRangoState) update the mirror synchronously and never fire it.
30
- */
31
- export declare function setRangoStateObserver(observer: ((value: string) => void) | null): void;
32
- /**
33
- * Initialize the Rango state cookie at app startup. `version` is the build
34
- * version; `stateCookieName` is the server-resolved cookie name from payload
35
- * metadata (falls back to the bare default prefix when a payload arrives
36
- * without it). Keeps an existing matching-version cookie (preserves the cache
37
- * key across reloads); mints fresh on a version change or a missing cookie.
38
- */
39
- export declare function initRangoState(version: string, stateCookieName?: string): void;
40
- /**
41
- * Get the current Rango state value, used as the `X-Rango-State` header on
42
- * prefetch and navigation requests. Reads the cookie every call (the read is
43
- * the cross-tab sync channel) and reconciles the mirror.
44
- */
45
- export declare function getRangoState(): string;
46
- /**
47
- * Invalidate the Rango state (self-rotation). Called when the client clears its
48
- * prefetch caches (e.g. via the server-action bridge). Rotates the timestamp,
49
- * keeps the version, writes the cookie, and updates the mirror synchronously so
50
- * the external-rotation observer is NOT triggered by our own write.
51
- */
52
- export declare function invalidateRangoState(): void;
@@ -1,140 +0,0 @@
1
- import React, { type ForwardRefExoticComponent, type RefAttributes } from "react";
2
- import { type LocationStateEntry } from "./location-state.js";
3
- /**
4
- * State prop type for Link component.
5
- * - LocationStateEntry[]: Type-safe state entries via createLocationState()
6
- * - StateOrGetter: Plain state object or click-time getter function
7
- * - Record<string, unknown>: Plain state object passed to history.pushState
8
- */
9
- export type StateOrGetter<T = unknown> = T | (() => T);
10
- export type LinkState = LocationStateEntry[] | StateOrGetter<Record<string, unknown>>;
11
- /**
12
- * Prefetch strategy for the Link component
13
- * - "hover": Prefetch on mouse enter (direct, no queue)
14
- * - "viewport": Prefetch when link enters viewport (queued, waits for idle)
15
- * - "render": Prefetch on component mount regardless of visibility (queued, waits for idle)
16
- * - "adaptive": Hover on pointer devices, viewport on touch devices
17
- * - "none": No prefetching (default)
18
- */
19
- export type PrefetchStrategy = "hover" | "viewport" | "render" | "adaptive" | "none";
20
- /**
21
- * Resolve a prefetch strategy, expanding "adaptive" to the concrete strategy
22
- * for the CURRENT input capability: "viewport" on touch (no-hover) devices,
23
- * "hover" on pointer devices. Non-adaptive strategies pass through unchanged.
24
- * Reads touch capability live (not a module-load snapshot) so the result
25
- * tracks input-capability changes.
26
- */
27
- export declare function resolveAdaptiveStrategy(prefetch: PrefetchStrategy): PrefetchStrategy;
28
- /**
29
- * Link component props
30
- */
31
- export interface LinkProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "href"> {
32
- /**
33
- * The URL to navigate to (typically from router.reverse())
34
- */
35
- to: string;
36
- /**
37
- * Replace current history entry instead of pushing
38
- */
39
- replace?: boolean;
40
- /**
41
- * Scroll to top after navigation (default: true)
42
- */
43
- scroll?: boolean;
44
- /**
45
- * Force full document navigation instead of SPA
46
- */
47
- reloadDocument?: boolean;
48
- /**
49
- * Whether to revalidate server data on navigation.
50
- * Set to `false` to skip the RSC server fetch and only update the URL.
51
- *
52
- * Only takes effect when the pathname stays the same (search param / hash changes).
53
- * If the pathname changes, this option is ignored and a full navigation occurs.
54
- *
55
- * @default true
56
- */
57
- revalidate?: boolean;
58
- /**
59
- * Prefetch strategy for the link destination
60
- * @default "none"
61
- */
62
- prefetch?: PrefetchStrategy;
63
- /**
64
- * Opt-in override for the prefetch cache scope.
65
- *
66
- * The default cache is source-agnostic: one shared entry per target,
67
- * keyed on Rango state + target URL. This is correct for routes whose
68
- * response shape doesn't depend on where the user navigates from.
69
- *
70
- * Set `":source"` when this Link's response would legitimately differ
71
- * based on the source page — typically when the target route (or one
72
- * of its layouts) uses a custom `revalidate()` handler that reads
73
- * `currentUrl` / `currentParams`, and the wildcard entry would
74
- * therefore serve the wrong diff to a navigation from a different
75
- * source.
76
- *
77
- * Intercept responses are auto-scoped to the source via a server-side
78
- * tag, so `":source"` is only needed for custom revalidation logic.
79
- *
80
- * @example
81
- * ```tsx
82
- * // Route uses a `revalidate()` that branches on currentUrl — opt in
83
- * // so prefetches don't bleed across source pages.
84
- * <Link to="/dashboard" prefetch="hover" prefetchKey=":source" />
85
- * ```
86
- */
87
- prefetchKey?: ":source";
88
- /**
89
- * State to pass to history.pushState/replaceState.
90
- * Accessible via useLocationState() hook.
91
- *
92
- * @example
93
- * ```tsx
94
- * // Type-safe state with createLocationState (recommended)
95
- * const ProductState = createLocationState<{ name: string; price: number }>();
96
- * <Link to="/product" state={[ProductState({ name: product.name, price: product.price })]}>
97
- * View
98
- * </Link>
99
- *
100
- * // Type-safe just-in-time state (getter called at click time, not render time).
101
- * // Must be in a client component -- getter can't cross the RSC boundary.
102
- * <Link
103
- * to="/product"
104
- * state={[ProductState(() => ({ name: product.name, price: product.price }))]}
105
- * >
106
- * View
107
- * </Link>
108
- *
109
- * // Multiple typed states
110
- * <Link to="/checkout" state={[ProductState({ name: p.name, price: p.price }), CartState(c)]}>
111
- * Checkout
112
- * </Link>
113
- *
114
- * // Plain static state
115
- * <Link to="/product" state={{ from: "list" }}>View</Link>
116
- *
117
- * // Plain just-in-time state (called at click time, requires client component)
118
- * <Link to="/product" state={() => ({ scrollY: window.scrollY })}>View</Link>
119
- * ```
120
- */
121
- state?: LinkState;
122
- children: React.ReactNode;
123
- }
124
- /**
125
- * Type-safe Link component for SPA navigation
126
- *
127
- * Works with router.reverse() for type-safe URLs:
128
- * ```tsx
129
- * <Link to={router.reverse("shop.products.detail", { slug: "my-product" })}>
130
- * View Product
131
- * </Link>
132
- * ```
133
- *
134
- * Also supports regular URLs:
135
- * ```tsx
136
- * <Link to="/about">About</Link>
137
- * <Link to="https://example.com">External</Link>
138
- * ```
139
- */
140
- export declare const Link: ForwardRefExoticComponent<LinkProps & RefAttributes<HTMLAnchorElement>>;
@@ -1,88 +0,0 @@
1
- import { type ReactNode } from "react";
2
- import type { NavigationStore, NavigationUpdate, NavigationBridge } from "../types.js";
3
- import type { EventController } from "../event-controller.js";
4
- import type { ResolvedThemeConfig, Theme } from "../../theme/types.js";
5
- import { type AppShellRef } from "../app-shell.js";
6
- /**
7
- * Props for NavigationProvider
8
- */
9
- export interface NavigationProviderProps {
10
- /**
11
- * Navigation store instance (for cache/segment management)
12
- */
13
- store: NavigationStore;
14
- /**
15
- * Event controller instance (for navigation/action state)
16
- */
17
- eventController: EventController;
18
- /**
19
- * Initial rendered tree + metadata from server payload
20
- */
21
- initialPayload: NavigationUpdate;
22
- /**
23
- * Navigation bridge for handling navigation
24
- */
25
- bridge: NavigationBridge;
26
- /**
27
- * Theme configuration (null if theme not enabled)
28
- * When provided, wraps content in ThemeProvider
29
- */
30
- themeConfig?: ResolvedThemeConfig | null;
31
- /**
32
- * Initial theme from server (from cookie)
33
- * Only used when themeConfig is provided
34
- */
35
- initialTheme?: Theme;
36
- /**
37
- * Whether connection warmup is enabled.
38
- * When true, keeps TLS alive by sending HEAD requests after idle periods.
39
- */
40
- warmupEnabled?: boolean;
41
- /**
42
- * App version from server payload.
43
- * Used only as a fallback when `appShellRef` is not supplied.
44
- */
45
- version?: string;
46
- /**
47
- * URL prefix for all routes (from createRouter({ basename })).
48
- * Used only as a fallback when `appShellRef` is not supplied.
49
- */
50
- basename?: string;
51
- /**
52
- * App-shell ref. When provided, the context's `basename` and `version` are
53
- * read through it (live getters) so they don't close over a stale snapshot or
54
- * invalidate the memoized context value. The shell is set once at init and is
55
- * not swapped within a session — a cross-app navigation is a full document
56
- * load (X-RSC-Reload), so the target app establishes its own shell on load.
57
- */
58
- appShellRef?: AppShellRef;
59
- /**
60
- * CSP nonce to expose via NonceContext. Production leaves this undefined — the
61
- * browser has no nonce (it is a server-side HTML concern), and SSR provides the
62
- * nonce through its own NonceContext.Provider. Test harnesses (renderRoute) set
63
- * it to seed a nonce so components calling useNonce() can be exercised.
64
- */
65
- nonce?: string;
66
- }
67
- /**
68
- * Navigation provider component
69
- *
70
- * Provides navigation context to the component tree and handles:
71
- * - Providing stable store and event controller references (never re-renders consumers)
72
- * - Subscribing to UI updates to re-render the tree
73
- * - Providing navigate/refresh methods (delegated to bridge)
74
- *
75
- * State subscriptions happen via useNavigation hook (via event controller), not via context.
76
- * This means context consumers don't re-render on state changes.
77
- *
78
- * @example
79
- * ```tsx
80
- * <NavigationProvider
81
- * store={store}
82
- * eventController={eventController}
83
- * initialPayload={payload}
84
- * bridge={navigationBridge}
85
- * />
86
- * ```
87
- */
88
- export declare function NavigationProvider({ store, eventController, initialPayload, bridge, themeConfig, initialTheme, warmupEnabled, version, basename, appShellRef, nonce, }: NavigationProviderProps): ReactNode;
@@ -1,78 +0,0 @@
1
- /**
2
- * Props for ScrollRestoration component
3
- */
4
- export interface ScrollRestorationProps {
5
- /**
6
- * Custom function to determine the scroll restoration key.
7
- * By default, uses a unique key per history entry (location.key).
8
- *
9
- * Return location.pathname to restore scroll based on path
10
- * (useful for keeping scroll position on the same page).
11
- *
12
- * Provide a stable reference: a module-level function or one wrapped in
13
- * useCallback. The init effect re-runs when getKey's identity changes, and
14
- * teardown clears in-memory scroll positions — a fresh inline arrow on every
15
- * parent render would discard unpersisted positions mid-session.
16
- *
17
- * @example
18
- * ```tsx
19
- * // Stable module-level getKey (recommended)
20
- * const byPathname = (location) => location.pathname;
21
- *
22
- * // Restore based on pathname (same URL = same scroll)
23
- * <ScrollRestoration getKey={byPathname} />
24
- *
25
- * // Restore based on unique history entry (default)
26
- * // <ScrollRestoration /> — omit getKey to use location.key
27
- * ```
28
- */
29
- getKey?: (location: {
30
- pathname: string;
31
- search: string;
32
- hash: string;
33
- key: string;
34
- }) => string;
35
- }
36
- /**
37
- * ScrollRestoration component
38
- *
39
- * Enables scroll position restoration across navigations:
40
- * - Saves scroll positions to sessionStorage
41
- * - Restores scroll on back/forward navigation
42
- * - Scrolls to top on new navigation
43
- * - Supports hash link scrolling
44
- *
45
- * Should be rendered once in your app, typically in the root layout.
46
- *
47
- * @example
48
- * ```tsx
49
- * // In your root layout
50
- * export default function RootLayout({ children }) {
51
- * return (
52
- * <html>
53
- * <body>
54
- * <ScrollRestoration />
55
- * {children}
56
- * </body>
57
- * </html>
58
- * );
59
- * }
60
- * ```
61
- */
62
- export declare function ScrollRestoration({ getKey }: ScrollRestorationProps): null;
63
- /**
64
- * Hook to initialize scroll restoration
65
- *
66
- * Alternative to the ScrollRestoration component for more control.
67
- *
68
- * @example
69
- * ```tsx
70
- * function App() {
71
- * useScrollRestoration();
72
- * return <div>...</div>;
73
- * }
74
- * ```
75
- */
76
- export declare function useScrollRestoration(options?: {
77
- getKey?: ScrollRestorationProps["getKey"];
78
- }): void;
@@ -1,54 +0,0 @@
1
- import { type Context } from "react";
2
- import type { NavigationStore, NavigateOptions } from "../types.js";
3
- import type { EventController } from "../event-controller.js";
4
- /**
5
- * Navigation context value provided by NavigationProvider
6
- *
7
- * This context provides a STABLE reference to the store, event controller, and methods.
8
- * The store itself never changes, so context consumers don't re-render
9
- * when navigation state changes.
10
- *
11
- * Components subscribe to state changes via eventController.subscribe() in useNavigation.
12
- */
13
- export interface NavigationStoreContextValue {
14
- /**
15
- * The navigation store instance (stable reference)
16
- * Used for cache/segment management
17
- */
18
- store: NavigationStore;
19
- /**
20
- * The event controller instance (stable reference)
21
- * Used for navigation/action state
22
- */
23
- eventController: EventController;
24
- /**
25
- * Navigate to a new URL
26
- *
27
- * @param url - The URL to navigate to
28
- * @param options - Navigation options (replace, scroll)
29
- * @returns Promise that resolves when navigation is complete
30
- */
31
- navigate: (url: string, options?: NavigateOptions) => Promise<void>;
32
- /**
33
- * Refresh the current route
34
- *
35
- * @returns Promise that resolves when refresh is complete
36
- */
37
- refresh: () => Promise<void>;
38
- /**
39
- * App version from the initial server payload.
40
- */
41
- version: string | undefined;
42
- /**
43
- * URL prefix for all routes (from createRouter({ basename })).
44
- * Used by Link and useRouter() to auto-prefix app-local paths.
45
- */
46
- basename: string | undefined;
47
- }
48
- /**
49
- * React context for navigation store
50
- *
51
- * Provides stable reference to the store - does NOT re-render on state changes.
52
- * Use useNavigation hook for reactive state access.
53
- */
54
- export declare const NavigationStoreContext: Context<NavigationStoreContextValue | null>;
@@ -1,35 +0,0 @@
1
- /**
2
- * Build the handle-collection segment order from a raw `matched` list.
3
- *
4
- * Two responsibilities:
5
- *
6
- * 1. Drop loader sub-ids ("D" followed by a digit, e.g. "M0L0D1.user") —
7
- * loaders never push handles.
8
- *
9
- * 2. Place each parallel slot id (contains ".@") immediately after its
10
- * parent layout/route id. Raw segment-resolution emission order does NOT
11
- * guarantee this: route-mounted parallels are resolved/pushed BEFORE the
12
- * route handler's segment is appended (see fresh.ts:resolveSegment for
13
- * routes, and revalidation.ts ~915-919), so matched can read
14
- * `[..., R0.@panel, R0]`. collectHandleData consumes segmentOrder verbatim
15
- * with later-wins semantics, so without normalization the route handler's
16
- * Meta would override the slot's more-specific Meta — backwards.
17
- *
18
- * Slot-id format is `<parentShortCode>.@<slotName>`; `parentShortCode` never
19
- * contains ".@", so splitting at the first ".@" reliably yields the parent.
20
- */
21
- export declare function filterSegmentOrder(matched: string[]): string[];
22
- /**
23
- * Build the "layouts and routes only" id list for useSegments().segmentIds.
24
- *
25
- * Strips parallel slot ids (contain ".@") and loader sub-ids ("D" followed by
26
- * a digit, e.g. "M0L0D1.user") without reordering. Distinct from
27
- * filterSegmentOrder, which also reorders slots after their parent for handle
28
- * collection.
29
- *
30
- * Shared by SSR (ssr/index.tsx) and the client event controller
31
- * (event-controller.ts) so both produce identical output; if they diverge,
32
- * useSegments().segmentIds rendered during SSR and after hydration disagree
33
- * and React reports a hydration mismatch.
34
- */
35
- export declare function filterRouteSegmentIds(matched: string[]): string[];
@@ -1 +0,0 @@
1
- export { NavigationProvider, type NavigationProviderProps, } from "./NavigationProvider.js";