@rangojs/router 0.4.0 → 0.4.1

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 (482) hide show
  1. package/README.md +19 -1
  2. package/dist/types/browser/event-controller.d.ts +4 -0
  3. package/dist/types/browser/link-interceptor.d.ts +17 -7
  4. package/dist/types/browser/navigation-bridge.d.ts +13 -1
  5. package/dist/types/browser/notify-listeners.d.ts +2 -0
  6. package/dist/types/browser/prefetch/cache.d.ts +1 -1
  7. package/dist/types/browser/prefetch/default-strategy.d.ts +12 -3
  8. package/dist/types/browser/prefetch/invalidation.d.ts +6 -0
  9. package/dist/types/browser/prefetch/loader.d.ts +3 -1
  10. package/dist/types/browser/prefetch/observer.d.ts +3 -6
  11. package/dist/types/browser/rango-state.d.ts +4 -0
  12. package/dist/types/browser/react/Link.d.ts +4 -9
  13. package/dist/types/browser/react/context.d.ts +3 -0
  14. package/dist/types/browser/rsc-router.d.ts +7 -2
  15. package/dist/types/browser/types.d.ts +1 -0
  16. package/dist/types/cache/cache-key-utils.d.ts +11 -3
  17. package/dist/types/cache/cache-scope.d.ts +82 -3
  18. package/dist/types/cache/cf/cf-cache-store.d.ts +2 -2
  19. package/dist/types/cache/index.d.ts +3 -1
  20. package/dist/types/cache/search-params-filter.d.ts +64 -0
  21. package/dist/types/cache/shell-snapshot.d.ts +4 -4
  22. package/dist/types/cache/types.d.ts +30 -2
  23. package/dist/types/cache/vercel/vercel-cache-store.d.ts +2 -2
  24. package/dist/types/index.d.ts +1 -0
  25. package/dist/types/index.rsc.d.ts +1 -0
  26. package/dist/types/router/match-middleware/cache-lookup.d.ts +13 -0
  27. package/dist/types/router/navigation-snapshot.d.ts +29 -0
  28. package/dist/types/router/router-options.d.ts +27 -3
  29. package/dist/types/rsc/shell-build-manifest.d.ts +7 -1
  30. package/dist/types/rsc/shell-serve.d.ts +7 -1
  31. package/dist/types/rsc/types.d.ts +17 -0
  32. package/dist/types/server/request-context.d.ts +57 -4
  33. package/dist/types/testing/render-route.d.ts +10 -1
  34. package/dist/types/testing/shell-status.d.ts +6 -3
  35. package/dist/types/vite/plugin-types.d.ts +1 -1
  36. package/dist/vite/index.js +5 -5
  37. package/package.json +23 -22
  38. package/skills/caching/SKILL.md +39 -0
  39. package/skills/comparison/references/framework-comparison.md +7 -1
  40. package/skills/links/SKILL.md +24 -0
  41. package/skills/ppr/SKILL.md +53 -4
  42. package/skills/router-setup/SKILL.md +7 -2
  43. package/skills/testing/client-components.md +15 -14
  44. package/skills/vercel/SKILL.md +1 -1
  45. package/src/browser/event-controller.ts +110 -11
  46. package/src/browser/link-interceptor.ts +469 -20
  47. package/src/browser/navigation-bridge.ts +71 -2
  48. package/src/browser/navigation-store.ts +24 -1
  49. package/src/browser/notify-listeners.ts +22 -0
  50. package/src/browser/prefetch/cache.ts +4 -2
  51. package/src/browser/prefetch/default-strategy.ts +43 -3
  52. package/src/browser/prefetch/invalidation.ts +30 -0
  53. package/src/browser/prefetch/loader.ts +19 -12
  54. package/src/browser/prefetch/observer.ts +50 -22
  55. package/src/browser/rango-state.ts +21 -0
  56. package/src/browser/react/Link.tsx +97 -88
  57. package/src/browser/react/NavigationProvider.tsx +1 -0
  58. package/src/browser/react/context.ts +4 -0
  59. package/src/browser/rsc-router.tsx +22 -9
  60. package/src/browser/types.ts +1 -0
  61. package/src/cache/cache-key-utils.ts +18 -4
  62. package/src/cache/cache-runtime.ts +7 -2
  63. package/src/cache/cache-scope.ts +152 -23
  64. package/src/cache/cf/cf-cache-store.ts +51 -16
  65. package/src/cache/document-cache.ts +7 -1
  66. package/src/cache/index.ts +7 -0
  67. package/src/cache/search-params-filter.ts +118 -0
  68. package/src/cache/shell-snapshot.ts +8 -4
  69. package/src/cache/types.ts +33 -2
  70. package/src/cache/vercel/vercel-cache-store.ts +17 -3
  71. package/src/index.rsc.ts +4 -0
  72. package/src/index.ts +6 -0
  73. package/src/router/match-middleware/cache-lookup.ts +146 -33
  74. package/src/router/match-middleware/cache-store.ts +70 -0
  75. package/src/router/navigation-snapshot.ts +46 -6
  76. package/src/router/router-options.ts +31 -4
  77. package/src/rsc/handler.ts +9 -0
  78. package/src/rsc/response-cache-serve.ts +1 -1
  79. package/src/rsc/rsc-rendering.ts +252 -27
  80. package/src/rsc/shell-build-manifest.ts +8 -1
  81. package/src/rsc/shell-capture.ts +5 -0
  82. package/src/rsc/shell-serve.ts +8 -2
  83. package/src/rsc/types.ts +17 -0
  84. package/src/server/request-context.ts +62 -3
  85. package/src/testing/dispatch.ts +21 -3
  86. package/src/testing/render-route.tsx +86 -17
  87. package/src/testing/shell-status.ts +20 -3
  88. package/src/vite/plugin-types.ts +1 -1
  89. package/src/vite/plugins/vercel-output.ts +2 -2
  90. package/dist/types.backup/__internal.d.ts +0 -127
  91. package/dist/types.backup/bin/rango.d.ts +0 -1
  92. package/dist/types.backup/browser/action-coordinator.d.ts +0 -57
  93. package/dist/types.backup/browser/action-fence.d.ts +0 -33
  94. package/dist/types.backup/browser/app-shell.d.ts +0 -34
  95. package/dist/types.backup/browser/app-version.d.ts +0 -6
  96. package/dist/types.backup/browser/connection-warmup.d.ts +0 -31
  97. package/dist/types.backup/browser/cookie-name.d.ts +0 -66
  98. package/dist/types.backup/browser/event-controller.d.ts +0 -221
  99. package/dist/types.backup/browser/history-state.d.ts +0 -26
  100. package/dist/types.backup/browser/index.d.ts +0 -1
  101. package/dist/types.backup/browser/intercept-utils.d.ts +0 -30
  102. package/dist/types.backup/browser/invalidate-client-cache.d.ts +0 -17
  103. package/dist/types.backup/browser/link-interceptor.d.ts +0 -43
  104. package/dist/types.backup/browser/logging.d.ts +0 -33
  105. package/dist/types.backup/browser/merge-segment-loaders.d.ts +0 -38
  106. package/dist/types.backup/browser/navigation-bridge.d.ts +0 -27
  107. package/dist/types.backup/browser/navigation-client.d.ts +0 -17
  108. package/dist/types.backup/browser/navigation-store-handle.d.ts +0 -25
  109. package/dist/types.backup/browser/navigation-store.d.ts +0 -95
  110. package/dist/types.backup/browser/navigation-transaction.d.ts +0 -75
  111. package/dist/types.backup/browser/network-error-handler.d.ts +0 -35
  112. package/dist/types.backup/browser/partial-update.d.ts +0 -61
  113. package/dist/types.backup/browser/prefetch/cache.d.ts +0 -183
  114. package/dist/types.backup/browser/prefetch/fetch.d.ts +0 -52
  115. package/dist/types.backup/browser/prefetch/observer.d.ts +0 -27
  116. package/dist/types.backup/browser/prefetch/policy.d.ts +0 -13
  117. package/dist/types.backup/browser/prefetch/queue.d.ts +0 -48
  118. package/dist/types.backup/browser/prefetch/resource-ready.d.ts +0 -28
  119. package/dist/types.backup/browser/rango-state.d.ts +0 -52
  120. package/dist/types.backup/browser/react/Link.d.ts +0 -140
  121. package/dist/types.backup/browser/react/NavigationProvider.d.ts +0 -88
  122. package/dist/types.backup/browser/react/ScrollRestoration.d.ts +0 -78
  123. package/dist/types.backup/browser/react/context.d.ts +0 -54
  124. package/dist/types.backup/browser/react/filter-segment-order.d.ts +0 -35
  125. package/dist/types.backup/browser/react/index.d.ts +0 -1
  126. package/dist/types.backup/browser/react/location-state-shared.d.ts +0 -162
  127. package/dist/types.backup/browser/react/location-state.d.ts +0 -29
  128. package/dist/types.backup/browser/react/mount-context.d.ts +0 -23
  129. package/dist/types.backup/browser/react/nonce-context.d.ts +0 -14
  130. package/dist/types.backup/browser/react/shallow-equal.d.ts +0 -5
  131. package/dist/types.backup/browser/react/use-action.d.ts +0 -61
  132. package/dist/types.backup/browser/react/use-handle.d.ts +0 -21
  133. package/dist/types.backup/browser/react/use-href.d.ts +0 -32
  134. package/dist/types.backup/browser/react/use-link-status.d.ts +0 -36
  135. package/dist/types.backup/browser/react/use-mount.d.ts +0 -24
  136. package/dist/types.backup/browser/react/use-navigation.d.ts +0 -15
  137. package/dist/types.backup/browser/react/use-params.d.ts +0 -21
  138. package/dist/types.backup/browser/react/use-pathname.d.ts +0 -13
  139. package/dist/types.backup/browser/react/use-reverse.d.ts +0 -40
  140. package/dist/types.backup/browser/react/use-router.d.ts +0 -23
  141. package/dist/types.backup/browser/react/use-search-params.d.ts +0 -19
  142. package/dist/types.backup/browser/react/use-segments.d.ts +0 -29
  143. package/dist/types.backup/browser/response-adapter.d.ts +0 -58
  144. package/dist/types.backup/browser/rsc-router.d.ts +0 -141
  145. package/dist/types.backup/browser/scroll-restoration.d.ts +0 -103
  146. package/dist/types.backup/browser/segment-reconciler.d.ts +0 -74
  147. package/dist/types.backup/browser/segment-structure-assert.d.ts +0 -16
  148. package/dist/types.backup/browser/server-action-bridge.d.ts +0 -29
  149. package/dist/types.backup/browser/types.d.ts +0 -530
  150. package/dist/types.backup/browser/validate-redirect-origin.d.ts +0 -28
  151. package/dist/types.backup/build/collect-fallback-refs.d.ts +0 -5
  152. package/dist/types.backup/build/generate-manifest.d.ts +0 -100
  153. package/dist/types.backup/build/generate-route-types.d.ts +0 -8
  154. package/dist/types.backup/build/index.d.ts +0 -21
  155. package/dist/types.backup/build/prefix-tree-utils.d.ts +0 -56
  156. package/dist/types.backup/build/route-trie.d.ts +0 -89
  157. package/dist/types.backup/build/route-types/ast-helpers.d.ts +0 -3
  158. package/dist/types.backup/build/route-types/ast-route-extraction.d.ts +0 -13
  159. package/dist/types.backup/build/route-types/codegen.d.ts +0 -16
  160. package/dist/types.backup/build/route-types/include-resolution.d.ts +0 -74
  161. package/dist/types.backup/build/route-types/param-extraction.d.ts +0 -13
  162. package/dist/types.backup/build/route-types/per-module-writer.d.ts +0 -18
  163. package/dist/types.backup/build/route-types/router-processing.d.ts +0 -82
  164. package/dist/types.backup/build/route-types/scan-filter.d.ts +0 -17
  165. package/dist/types.backup/build/route-types/source-scan.d.ts +0 -13
  166. package/dist/types.backup/build/runtime-discovery.d.ts +0 -24
  167. package/dist/types.backup/cache/background-task.d.ts +0 -21
  168. package/dist/types.backup/cache/cache-error.d.ts +0 -71
  169. package/dist/types.backup/cache/cache-key-utils.d.ts +0 -35
  170. package/dist/types.backup/cache/cache-policy.d.ts +0 -59
  171. package/dist/types.backup/cache/cache-runtime.d.ts +0 -51
  172. package/dist/types.backup/cache/cache-scope.d.ts +0 -134
  173. package/dist/types.backup/cache/cache-tag.d.ts +0 -79
  174. package/dist/types.backup/cache/cf/cf-base64.d.ts +0 -4
  175. package/dist/types.backup/cache/cf/cf-cache-constants.d.ts +0 -105
  176. package/dist/types.backup/cache/cf/cf-cache-store.d.ts +0 -481
  177. package/dist/types.backup/cache/cf/cf-cache-types.d.ts +0 -300
  178. package/dist/types.backup/cache/cf/cf-kv-utils.d.ts +0 -22
  179. package/dist/types.backup/cache/cf/cf-tag-marker-memo.d.ts +0 -15
  180. package/dist/types.backup/cache/cf/index.d.ts +0 -3
  181. package/dist/types.backup/cache/document-cache.d.ts +0 -69
  182. package/dist/types.backup/cache/handle-capture.d.ts +0 -23
  183. package/dist/types.backup/cache/handle-snapshot.d.ts +0 -39
  184. package/dist/types.backup/cache/index.d.ts +0 -7
  185. package/dist/types.backup/cache/memory-segment-store.d.ts +0 -163
  186. package/dist/types.backup/cache/profile-registry.d.ts +0 -40
  187. package/dist/types.backup/cache/read-through-swr.d.ts +0 -60
  188. package/dist/types.backup/cache/segment-codec.d.ts +0 -78
  189. package/dist/types.backup/cache/shell-snapshot.d.ts +0 -162
  190. package/dist/types.backup/cache/tag-invalidation.d.ts +0 -74
  191. package/dist/types.backup/cache/taint.d.ts +0 -71
  192. package/dist/types.backup/cache/types.d.ts +0 -407
  193. package/dist/types.backup/cache/vercel/index.d.ts +0 -1
  194. package/dist/types.backup/cache/vercel/vercel-cache-store.d.ts +0 -267
  195. package/dist/types.backup/client.d.ts +0 -184
  196. package/dist/types.backup/client.rsc.d.ts +0 -39
  197. package/dist/types.backup/cloudflare/index.d.ts +0 -7
  198. package/dist/types.backup/cloudflare/tracing.d.ts +0 -53
  199. package/dist/types.backup/component-utils.d.ts +0 -46
  200. package/dist/types.backup/components/DefaultDocument.d.ts +0 -13
  201. package/dist/types.backup/context-var.d.ts +0 -84
  202. package/dist/types.backup/debug.d.ts +0 -57
  203. package/dist/types.backup/decode-loader-results.d.ts +0 -5
  204. package/dist/types.backup/default-error-boundary.d.ts +0 -10
  205. package/dist/types.backup/defer.d.ts +0 -89
  206. package/dist/types.backup/deps/browser.d.ts +0 -1
  207. package/dist/types.backup/deps/html-stream-client.d.ts +0 -1
  208. package/dist/types.backup/deps/html-stream-server.d.ts +0 -1
  209. package/dist/types.backup/deps/rsc.d.ts +0 -1
  210. package/dist/types.backup/deps/ssr.d.ts +0 -1
  211. package/dist/types.backup/encode-kv.d.ts +0 -35
  212. package/dist/types.backup/errors.d.ts +0 -226
  213. package/dist/types.backup/escape-script.d.ts +0 -44
  214. package/dist/types.backup/handle.d.ts +0 -93
  215. package/dist/types.backup/handles/MetaTags.d.ts +0 -17
  216. package/dist/types.backup/handles/Scripts.d.ts +0 -38
  217. package/dist/types.backup/handles/breadcrumbs.d.ts +0 -43
  218. package/dist/types.backup/handles/deferred-resolution.d.ts +0 -53
  219. package/dist/types.backup/handles/is-thenable.d.ts +0 -12
  220. package/dist/types.backup/handles/meta.d.ts +0 -43
  221. package/dist/types.backup/handles/script.d.ts +0 -139
  222. package/dist/types.backup/host/cookie-handler.d.ts +0 -8
  223. package/dist/types.backup/host/errors.d.ts +0 -40
  224. package/dist/types.backup/host/index.d.ts +0 -33
  225. package/dist/types.backup/host/pattern-matcher.d.ts +0 -30
  226. package/dist/types.backup/host/router.d.ts +0 -12
  227. package/dist/types.backup/host/testing.d.ts +0 -41
  228. package/dist/types.backup/host/types.d.ts +0 -148
  229. package/dist/types.backup/host/utils.d.ts +0 -20
  230. package/dist/types.backup/href-client.d.ts +0 -214
  231. package/dist/types.backup/index.d.ts +0 -112
  232. package/dist/types.backup/index.rsc.d.ts +0 -51
  233. package/dist/types.backup/internal-debug.d.ts +0 -1
  234. package/dist/types.backup/loader-store.d.ts +0 -193
  235. package/dist/types.backup/loader.d.ts +0 -18
  236. package/dist/types.backup/loader.rsc.d.ts +0 -18
  237. package/dist/types.backup/missing-id-error.d.ts +0 -1
  238. package/dist/types.backup/outlet-context.d.ts +0 -12
  239. package/dist/types.backup/outlet-provider.d.ts +0 -12
  240. package/dist/types.backup/prerender/build-shell-capture.d.ts +0 -104
  241. package/dist/types.backup/prerender/param-hash.d.ts +0 -6
  242. package/dist/types.backup/prerender/shell-manifest-key.d.ts +0 -18
  243. package/dist/types.backup/prerender/store.d.ts +0 -62
  244. package/dist/types.backup/prerender.d.ts +0 -292
  245. package/dist/types.backup/redirect-origin.d.ts +0 -55
  246. package/dist/types.backup/regex-escape.d.ts +0 -6
  247. package/dist/types.backup/render-error-thrower.d.ts +0 -13
  248. package/dist/types.backup/response-utils.d.ts +0 -35
  249. package/dist/types.backup/reverse.d.ts +0 -206
  250. package/dist/types.backup/root-error-boundary.d.ts +0 -32
  251. package/dist/types.backup/route-content-wrapper.d.ts +0 -40
  252. package/dist/types.backup/route-definition/dsl-helpers.d.ts +0 -130
  253. package/dist/types.backup/route-definition/helper-factories.d.ts +0 -22
  254. package/dist/types.backup/route-definition/helpers-types.d.ts +0 -392
  255. package/dist/types.backup/route-definition/index.d.ts +0 -7
  256. package/dist/types.backup/route-definition/redirect.d.ts +0 -48
  257. package/dist/types.backup/route-definition/resolve-handler-use.d.ts +0 -19
  258. package/dist/types.backup/route-definition/use-item-types.d.ts +0 -1
  259. package/dist/types.backup/route-definition.d.ts +0 -1
  260. package/dist/types.backup/route-map-builder.d.ts +0 -127
  261. package/dist/types.backup/route-name.d.ts +0 -27
  262. package/dist/types.backup/route-types.d.ts +0 -172
  263. package/dist/types.backup/router/basename.d.ts +0 -10
  264. package/dist/types.backup/router/content-negotiation.d.ts +0 -91
  265. package/dist/types.backup/router/debug-manifest.d.ts +0 -7
  266. package/dist/types.backup/router/error-handling.d.ts +0 -76
  267. package/dist/types.backup/router/find-match.d.ts +0 -19
  268. package/dist/types.backup/router/handler-context.d.ts +0 -41
  269. package/dist/types.backup/router/instrument.d.ts +0 -161
  270. package/dist/types.backup/router/intercept-resolution.d.ts +0 -79
  271. package/dist/types.backup/router/lazy-includes.d.ts +0 -26
  272. package/dist/types.backup/router/loader-resolution.d.ts +0 -63
  273. package/dist/types.backup/router/logging.d.ts +0 -41
  274. package/dist/types.backup/router/manifest.d.ts +0 -8
  275. package/dist/types.backup/router/match-api.d.ts +0 -19
  276. package/dist/types.backup/router/match-context.d.ts +0 -184
  277. package/dist/types.backup/router/match-handlers.d.ts +0 -49
  278. package/dist/types.backup/router/match-middleware/background-revalidation.d.ts +0 -113
  279. package/dist/types.backup/router/match-middleware/cache-lookup.d.ts +0 -113
  280. package/dist/types.backup/router/match-middleware/cache-store.d.ts +0 -112
  281. package/dist/types.backup/router/match-middleware/index.d.ts +0 -80
  282. package/dist/types.backup/router/match-middleware/intercept-resolution.d.ts +0 -116
  283. package/dist/types.backup/router/match-middleware/segment-resolution.d.ts +0 -94
  284. package/dist/types.backup/router/match-pipelines.d.ts +0 -103
  285. package/dist/types.backup/router/match-result.d.ts +0 -114
  286. package/dist/types.backup/router/metrics.d.ts +0 -6
  287. package/dist/types.backup/router/middleware-types.d.ts +0 -74
  288. package/dist/types.backup/router/middleware.d.ts +0 -116
  289. package/dist/types.backup/router/navigation-snapshot.d.ts +0 -22
  290. package/dist/types.backup/router/params-util.d.ts +0 -8
  291. package/dist/types.backup/router/parse-pattern.d.ts +0 -38
  292. package/dist/types.backup/router/pattern-matching.d.ts +0 -169
  293. package/dist/types.backup/router/prefetch-cache-ttl.d.ts +0 -27
  294. package/dist/types.backup/router/prefetch-limits.d.ts +0 -20
  295. package/dist/types.backup/router/prerender-match.d.ts +0 -50
  296. package/dist/types.backup/router/preview-match.d.ts +0 -22
  297. package/dist/types.backup/router/request-classification.d.ts +0 -104
  298. package/dist/types.backup/router/revalidation.d.ts +0 -57
  299. package/dist/types.backup/router/route-snapshot.d.ts +0 -112
  300. package/dist/types.backup/router/router-context.d.ts +0 -137
  301. package/dist/types.backup/router/router-interfaces.d.ts +0 -432
  302. package/dist/types.backup/router/router-options.d.ts +0 -738
  303. package/dist/types.backup/router/router-registry.d.ts +0 -15
  304. package/dist/types.backup/router/segment-resolution/fresh.d.ts +0 -55
  305. package/dist/types.backup/router/segment-resolution/helpers.d.ts +0 -93
  306. package/dist/types.backup/router/segment-resolution/loader-cache.d.ts +0 -33
  307. package/dist/types.backup/router/segment-resolution/loader-mask.d.ts +0 -44
  308. package/dist/types.backup/router/segment-resolution/loader-snapshot.d.ts +0 -90
  309. package/dist/types.backup/router/segment-resolution/mask-nested.d.ts +0 -53
  310. package/dist/types.backup/router/segment-resolution/revalidation.d.ts +0 -85
  311. package/dist/types.backup/router/segment-resolution/static-store.d.ts +0 -17
  312. package/dist/types.backup/router/segment-resolution/streamed-handler-telemetry.d.ts +0 -16
  313. package/dist/types.backup/router/segment-resolution/view-transition-default.d.ts +0 -28
  314. package/dist/types.backup/router/segment-resolution.d.ts +0 -3
  315. package/dist/types.backup/router/segment-wrappers.d.ts +0 -53
  316. package/dist/types.backup/router/state-cookie-name.d.ts +0 -1
  317. package/dist/types.backup/router/substitute-pattern-params.d.ts +0 -23
  318. package/dist/types.backup/router/telemetry-otel.d.ts +0 -113
  319. package/dist/types.backup/router/telemetry.d.ts +0 -215
  320. package/dist/types.backup/router/timeout.d.ts +0 -68
  321. package/dist/types.backup/router/tracing.d.ts +0 -125
  322. package/dist/types.backup/router/trie-matching.d.ts +0 -32
  323. package/dist/types.backup/router/types.d.ts +0 -98
  324. package/dist/types.backup/router/url-params.d.ts +0 -26
  325. package/dist/types.backup/router.d.ts +0 -7
  326. package/dist/types.backup/rsc/capture-queue.d.ts +0 -6
  327. package/dist/types.backup/rsc/full-payload.d.ts +0 -22
  328. package/dist/types.backup/rsc/handler-context.d.ts +0 -31
  329. package/dist/types.backup/rsc/handler.d.ts +0 -9
  330. package/dist/types.backup/rsc/helpers.d.ts +0 -213
  331. package/dist/types.backup/rsc/index.d.ts +0 -17
  332. package/dist/types.backup/rsc/json-route-result.d.ts +0 -20
  333. package/dist/types.backup/rsc/loader-fetch.d.ts +0 -14
  334. package/dist/types.backup/rsc/manifest-init.d.ts +0 -18
  335. package/dist/types.backup/rsc/nonce.d.ts +0 -28
  336. package/dist/types.backup/rsc/origin-guard.d.ts +0 -50
  337. package/dist/types.backup/rsc/progressive-enhancement.d.ts +0 -19
  338. package/dist/types.backup/rsc/redirect-guard.d.ts +0 -35
  339. package/dist/types.backup/rsc/response-cache-serve.d.ts +0 -46
  340. package/dist/types.backup/rsc/response-error.d.ts +0 -19
  341. package/dist/types.backup/rsc/response-route-handler.d.ts +0 -29
  342. package/dist/types.backup/rsc/rsc-rendering.d.ts +0 -23
  343. package/dist/types.backup/rsc/runtime-warnings.d.ts +0 -22
  344. package/dist/types.backup/rsc/server-action.d.ts +0 -68
  345. package/dist/types.backup/rsc/shell-build-manifest.d.ts +0 -84
  346. package/dist/types.backup/rsc/shell-capture-constants.d.ts +0 -27
  347. package/dist/types.backup/rsc/shell-capture.d.ts +0 -374
  348. package/dist/types.backup/rsc/shell-serve.d.ts +0 -136
  349. package/dist/types.backup/rsc/ssr-setup.d.ts +0 -48
  350. package/dist/types.backup/rsc/transition-gate.d.ts +0 -27
  351. package/dist/types.backup/rsc/types.d.ts +0 -290
  352. package/dist/types.backup/runtime-env.d.ts +0 -1
  353. package/dist/types.backup/search-params.d.ts +0 -125
  354. package/dist/types.backup/segment-content-promise.d.ts +0 -13
  355. package/dist/types.backup/segment-fragments.d.ts +0 -56
  356. package/dist/types.backup/segment-loader-promise.d.ts +0 -22
  357. package/dist/types.backup/segment-system.d.ts +0 -84
  358. package/dist/types.backup/serialize.d.ts +0 -164
  359. package/dist/types.backup/server/context.d.ts +0 -494
  360. package/dist/types.backup/server/cookie-parse.d.ts +0 -10
  361. package/dist/types.backup/server/cookie-store.d.ts +0 -107
  362. package/dist/types.backup/server/fetchable-loader-store.d.ts +0 -20
  363. package/dist/types.backup/server/handle-store.d.ts +0 -100
  364. package/dist/types.backup/server/loader-registry.d.ts +0 -32
  365. package/dist/types.backup/server/request-context.d.ts +0 -596
  366. package/dist/types.backup/server/root-layout.d.ts +0 -3
  367. package/dist/types.backup/server.d.ts +0 -15
  368. package/dist/types.backup/ssr/index.d.ts +0 -233
  369. package/dist/types.backup/ssr/inject-rsc-eager.d.ts +0 -3
  370. package/dist/types.backup/ssr/preinit-client-references.d.ts +0 -71
  371. package/dist/types.backup/ssr/ssr-root.d.ts +0 -69
  372. package/dist/types.backup/static-handler.d.ts +0 -57
  373. package/dist/types.backup/testing/cache-status.d.ts +0 -63
  374. package/dist/types.backup/testing/collect-handle.d.ts +0 -20
  375. package/dist/types.backup/testing/dispatch.d.ts +0 -123
  376. package/dist/types.backup/testing/dom.entry.d.ts +0 -15
  377. package/dist/types.backup/testing/e2e/fixture.d.ts +0 -37
  378. package/dist/types.backup/testing/e2e/index.d.ts +0 -30
  379. package/dist/types.backup/testing/e2e/matchers.d.ts +0 -17
  380. package/dist/types.backup/testing/e2e/page-helpers.d.ts +0 -62
  381. package/dist/types.backup/testing/e2e/parity.d.ts +0 -111
  382. package/dist/types.backup/testing/e2e/server.d.ts +0 -35
  383. package/dist/types.backup/testing/flight-matchers.d.ts +0 -55
  384. package/dist/types.backup/testing/flight-normalize.d.ts +0 -1
  385. package/dist/types.backup/testing/flight-tree.d.ts +0 -192
  386. package/dist/types.backup/testing/flight.d.ts +0 -115
  387. package/dist/types.backup/testing/flight.entry.d.ts +0 -27
  388. package/dist/types.backup/testing/generated-routes.d.ts +0 -66
  389. package/dist/types.backup/testing/index.d.ts +0 -52
  390. package/dist/types.backup/testing/internal/context.d.ts +0 -225
  391. package/dist/types.backup/testing/internal/flight-client-globals.d.ts +0 -1
  392. package/dist/types.backup/testing/internal/seed-vars.d.ts +0 -30
  393. package/dist/types.backup/testing/render-handler.d.ts +0 -160
  394. package/dist/types.backup/testing/render-route.d.ts +0 -246
  395. package/dist/types.backup/testing/run-loader.d.ts +0 -186
  396. package/dist/types.backup/testing/run-middleware.d.ts +0 -132
  397. package/dist/types.backup/testing/run-transition-when.d.ts +0 -77
  398. package/dist/types.backup/testing/vitest-stubs/cloudflare-email.d.ts +0 -6
  399. package/dist/types.backup/testing/vitest-stubs/cloudflare-workers.d.ts +0 -13
  400. package/dist/types.backup/testing/vitest-stubs/plugin-rsc.d.ts +0 -7
  401. package/dist/types.backup/testing/vitest-stubs/version.d.ts +0 -1
  402. package/dist/types.backup/testing/vitest.d.ts +0 -205
  403. package/dist/types.backup/theme/ThemeProvider.d.ts +0 -13
  404. package/dist/types.backup/theme/ThemeScript.d.ts +0 -45
  405. package/dist/types.backup/theme/constants.d.ts +0 -39
  406. package/dist/types.backup/theme/index.d.ts +0 -29
  407. package/dist/types.backup/theme/theme-context.d.ts +0 -21
  408. package/dist/types.backup/theme/theme-script.d.ts +0 -26
  409. package/dist/types.backup/theme/types.d.ts +0 -162
  410. package/dist/types.backup/theme/use-theme.d.ts +0 -8
  411. package/dist/types.backup/types/boundaries.d.ts +0 -93
  412. package/dist/types.backup/types/cache-types.d.ts +0 -191
  413. package/dist/types.backup/types/error-types.d.ts +0 -114
  414. package/dist/types.backup/types/global-namespace.d.ts +0 -90
  415. package/dist/types.backup/types/handler-context.d.ts +0 -658
  416. package/dist/types.backup/types/index.d.ts +0 -11
  417. package/dist/types.backup/types/loader-types.d.ts +0 -182
  418. package/dist/types.backup/types/request-scope.d.ts +0 -93
  419. package/dist/types.backup/types/route-config.d.ts +0 -105
  420. package/dist/types.backup/types/route-entry.d.ts +0 -95
  421. package/dist/types.backup/types/segments.d.ts +0 -234
  422. package/dist/types.backup/types.d.ts +0 -1
  423. package/dist/types.backup/urls/include-helper.d.ts +0 -17
  424. package/dist/types.backup/urls/include-provider.d.ts +0 -27
  425. package/dist/types.backup/urls/index.d.ts +0 -6
  426. package/dist/types.backup/urls/path-helper-types.d.ts +0 -197
  427. package/dist/types.backup/urls/path-helper.d.ts +0 -12
  428. package/dist/types.backup/urls/pattern-types.d.ts +0 -166
  429. package/dist/types.backup/urls/response-types.d.ts +0 -67
  430. package/dist/types.backup/urls/type-extraction.d.ts +0 -157
  431. package/dist/types.backup/urls/urls-function.d.ts +0 -24
  432. package/dist/types.backup/urls.d.ts +0 -1
  433. package/dist/types.backup/use-loader.d.ts +0 -150
  434. package/dist/types.backup/vercel/index.d.ts +0 -10
  435. package/dist/types.backup/vercel/tracing.d.ts +0 -70
  436. package/dist/types.backup/vite/debug.d.ts +0 -80
  437. package/dist/types.backup/vite/discovery/bundle-postprocess.d.ts +0 -12
  438. package/dist/types.backup/vite/discovery/dev-prerender-cache.d.ts +0 -65
  439. package/dist/types.backup/vite/discovery/discover-routers.d.ts +0 -17
  440. package/dist/types.backup/vite/discovery/discovery-errors.d.ts +0 -113
  441. package/dist/types.backup/vite/discovery/gate-state.d.ts +0 -79
  442. package/dist/types.backup/vite/discovery/prerender-collection.d.ts +0 -24
  443. package/dist/types.backup/vite/discovery/route-types-writer.d.ts +0 -32
  444. package/dist/types.backup/vite/discovery/self-gen-tracking.d.ts +0 -22
  445. package/dist/types.backup/vite/discovery/shell-prerender-phase.d.ts +0 -40
  446. package/dist/types.backup/vite/discovery/state.d.ts +0 -162
  447. package/dist/types.backup/vite/discovery/virtual-module-codegen.d.ts +0 -15
  448. package/dist/types.backup/vite/index.d.ts +0 -11
  449. package/dist/types.backup/vite/inject-client-debug.d.ts +0 -56
  450. package/dist/types.backup/vite/plugin-types.d.ts +0 -298
  451. package/dist/types.backup/vite/plugins/cjs-to-esm.d.ts +0 -6
  452. package/dist/types.backup/vite/plugins/client-ref-dedup.d.ts +0 -40
  453. package/dist/types.backup/vite/plugins/client-ref-hashing.d.ts +0 -35
  454. package/dist/types.backup/vite/plugins/cloudflare-protocol-stub.d.ts +0 -64
  455. package/dist/types.backup/vite/plugins/expose-action-id.d.ts +0 -18
  456. package/dist/types.backup/vite/plugins/expose-id-utils.d.ts +0 -37
  457. package/dist/types.backup/vite/plugins/expose-ids/export-analysis.d.ts +0 -19
  458. package/dist/types.backup/vite/plugins/expose-ids/handler-transform.d.ts +0 -10
  459. package/dist/types.backup/vite/plugins/expose-ids/loader-transform.d.ts +0 -8
  460. package/dist/types.backup/vite/plugins/expose-ids/router-transform.d.ts +0 -13
  461. package/dist/types.backup/vite/plugins/expose-ids/types.d.ts +0 -29
  462. package/dist/types.backup/vite/plugins/expose-internal-ids.d.ts +0 -6
  463. package/dist/types.backup/vite/plugins/performance-tracks.d.ts +0 -25
  464. package/dist/types.backup/vite/plugins/refresh-cmd.d.ts +0 -20
  465. package/dist/types.backup/vite/plugins/use-cache-transform.d.ts +0 -20
  466. package/dist/types.backup/vite/plugins/vercel-output.d.ts +0 -85
  467. package/dist/types.backup/vite/plugins/version-injector.d.ts +0 -21
  468. package/dist/types.backup/vite/plugins/version-plugin.d.ts +0 -19
  469. package/dist/types.backup/vite/plugins/virtual-entries.d.ts +0 -36
  470. package/dist/types.backup/vite/plugins/virtual-stub-plugin.d.ts +0 -7
  471. package/dist/types.backup/vite/rango.d.ts +0 -29
  472. package/dist/types.backup/vite/router-discovery.d.ts +0 -23
  473. package/dist/types.backup/vite/utils/ast-handler-extract.d.ts +0 -64
  474. package/dist/types.backup/vite/utils/banner.d.ts +0 -2
  475. package/dist/types.backup/vite/utils/bundle-analysis.d.ts +0 -28
  476. package/dist/types.backup/vite/utils/client-chunks.d.ts +0 -55
  477. package/dist/types.backup/vite/utils/directive-prologue.d.ts +0 -16
  478. package/dist/types.backup/vite/utils/forward-user-plugins.d.ts +0 -37
  479. package/dist/types.backup/vite/utils/manifest-utils.d.ts +0 -7
  480. package/dist/types.backup/vite/utils/package-resolution.d.ts +0 -6
  481. package/dist/types.backup/vite/utils/prerender-utils.d.ts +0 -32
  482. package/dist/types.backup/vite/utils/shared-utils.d.ts +0 -55
@@ -1,23 +0,0 @@
1
- import { type Context, type ReactNode } from "react";
2
- /**
3
- * Context for the current include() mount path.
4
- *
5
- * Each include() wraps its subtree with a MountContext.Provider
6
- * carrying the URL prefix. Nested includes override the context,
7
- * so useMount() returns the nearest mount path.
8
- *
9
- * Default value "/" means root-level (no include wrapping).
10
- */
11
- export declare const MountContext: Context<string>;
12
- /**
13
- * Provider wrapper for MountContext.
14
- *
15
- * RSC server components cannot use MountContext.Provider directly because
16
- * .Provider is a property on the context object, not a named export.
17
- * Client reference proxies on the RSC server return undefined for property
18
- * access. This wrapper is a proper "use client" export that RSC can reference.
19
- */
20
- export declare function MountContextProvider({ value, children, }: {
21
- value: string;
22
- children: ReactNode;
23
- }): ReactNode;
@@ -1,14 +0,0 @@
1
- /**
2
- * Context for CSP nonce propagation to client components during SSR.
3
- *
4
- * The SSR renderer wraps the tree with NonceContext.Provider so that
5
- * client components (e.g. MetaTags) can apply nonces to inline scripts.
6
- * On the browser side, no provider is needed — the default undefined
7
- * is correct since CSP nonces are a server-side HTML concern.
8
- */
9
- import { type Context } from "react";
10
- export declare const NonceContext: Context<string | undefined>;
11
- /**
12
- * Read the CSP nonce during SSR. Returns undefined on the client.
13
- */
14
- export declare function useNonce(): string | undefined;
@@ -1,5 +0,0 @@
1
- /**
2
- * Shallow equality check for selector results.
3
- * Uses Object.is for value comparison (handles NaN and +-0 correctly).
4
- */
5
- export declare function shallowEqual<T>(a: T, b: T): boolean;
@@ -1,61 +0,0 @@
1
- import type { TrackedActionState } from "../types.js";
2
- /**
3
- * Server action function type
4
- * Server actions have a $$id property added by the RSC compiler
5
- */
6
- export type ServerActionFunction = ((...args: any[]) => Promise<any>) & {
7
- $$id?: string;
8
- };
9
- /**
10
- * Hook to track the lifecycle of a specific server action
11
- *
12
- * Unlike useNavigation which tracks global navigation state, useAction
13
- * tracks the state of individual server action invocations.
14
- *
15
- * Uses the event controller for reactive state management.
16
- * State is derived from the inflight actions tracked by the controller.
17
- *
18
- * Features:
19
- * - Tracks action lifecycle: idle → loading → streaming → idle
20
- * - Captures result/error locally (React handles cleanup)
21
- * - If multiple actions fire, tracks only the last one
22
- * - Supports selector pattern like useNavigation
23
- *
24
- * Matching behavior:
25
- * - **Function reference**: Uses full $$id for exact matching. This is precise
26
- * and distinguishes between actions with the same name in different files.
27
- * - **String**: Matches by suffix (action name after #). This is convenient
28
- * but may be ambiguous if multiple files export the same action name.
29
- *
30
- * @param action - Either a server action function or a string action name.
31
- * - **Function**: Must be directly imported in the client component.
32
- * Actions passed as props from server components will throw an error.
33
- * - **String**: The exported function name from your "use server" file.
34
- * Matches any action ending with "#actionName" (suffix match).
35
- *
36
- * @example
37
- * ```tsx
38
- * // Option 1: Direct import (precise matching)
39
- * import { addToCart } from './actions';
40
- * const actionState = useAction(addToCart);
41
- *
42
- * // Option 2: String-based (suffix matching)
43
- * // Matches "hash#addToCart" or "src/actions.ts#addToCart"
44
- * const actionState = useAction('addToCart');
45
- *
46
- * // With selector for specific values
47
- * const isLoading = useAction(addToCart, state => state.state === 'loading');
48
- * const error = useAction(addToCart, state => state.error);
49
- * ```
50
- *
51
- * @note The selector is expected to be stable for a given hook instance.
52
- * This hook tracks one projection of one action. Changing selector semantics
53
- * for the same action ID without a new action event is not a supported pattern;
54
- * use separate useAction() subscriptions if you need different projections.
55
- *
56
- * @note Actions passed as props from server components lose their metadata
57
- * during RSC serialization. Use a string action name or import directly.
58
- */
59
- export declare function useAction(action: ServerActionFunction | string): TrackedActionState;
60
- export declare function useAction<T>(action: ServerActionFunction | string, selector: (state: TrackedActionState) => T): T;
61
- export type { TrackedActionState };
@@ -1,21 +0,0 @@
1
- import type { Handle } from "../../handle.js";
2
- /**
3
- * Hook to access collected handle data.
4
- *
5
- * Returns the collected value from all route segments that pushed to this handle.
6
- * Re-renders when handle data changes (navigation, actions).
7
- *
8
- * @param handle - The handle to read
9
- * @param selector - Optional selector for performance (only re-render when selected value changes)
10
- *
11
- * @example
12
- * ```tsx
13
- * // Get all breadcrumbs
14
- * const breadcrumbs = useHandle(Breadcrumbs);
15
- *
16
- * // With selector - only re-render when last crumb changes
17
- * const lastCrumb = useHandle(Breadcrumbs, (data) => data.at(-1));
18
- * ```
19
- */
20
- export declare function useHandle<T, A>(handle: Handle<T, A>): Rango.FlightSerialize<A>;
21
- export declare function useHandle<T, A, S>(handle: Handle<T, A>, selector: (data: Rango.FlightSerialize<A>) => S): S;
@@ -1,32 +0,0 @@
1
- /**
2
- * Client-side hook for mount-aware URL resolution.
3
- *
4
- * Returns an href function that automatically prepends the current
5
- * include() mount prefix. Inside an include("/shop", ...) scope,
6
- * the returned function resolves local paths relative to /shop.
7
- *
8
- * For absolute paths (outside the current mount), use the bare
9
- * href() function directly instead.
10
- *
11
- * @returns A function that prepends the mount prefix to paths
12
- *
13
- * @example
14
- * ```tsx
15
- * "use client";
16
- * import { useHref, href } from "@rangojs/router/client";
17
- *
18
- * // Inside include("/shop", shopPatterns)
19
- * function ShopNav() {
20
- * const href = useHref();
21
- *
22
- * return (
23
- * <>
24
- * {// Local paths - auto-prefixed with /shop}
25
- * <Link to={href("/cart")}>Cart</Link>
26
- * <Link to={href("/product/widget")}>Widget</Link>
27
- * </>
28
- * );
29
- * }
30
- * ```
31
- */
32
- export declare function useHref(): (path: `/${string}`) => string;
@@ -1,36 +0,0 @@
1
- import { type Context } from "react";
2
- /**
3
- * Context for Link component to provide its destination URL
4
- * Used by useLinkStatus to determine if this specific link is pending
5
- */
6
- export declare const LinkContext: Context<string | null>;
7
- /**
8
- * Link status returned by useLinkStatus hook
9
- */
10
- export interface LinkStatus {
11
- /** Whether navigation to this link's destination is in progress */
12
- pending: boolean;
13
- }
14
- /**
15
- * Hook to track the pending state of a Link component
16
- *
17
- * Must be used inside a Link component. Returns `{ pending: true }`
18
- * when navigation to this link's destination is in progress.
19
- *
20
- * Useful for showing inline loading indicators on individual links.
21
- *
22
- * @example
23
- * ```tsx
24
- * function LoadingIndicator() {
25
- * const { pending } = useLinkStatus();
26
- * return pending ? <Spinner /> : null;
27
- * }
28
- *
29
- * // In your component:
30
- * <Link to="/dashboard">
31
- * Dashboard
32
- * <LoadingIndicator />
33
- * </Link>
34
- * ```
35
- */
36
- export declare function useLinkStatus(): LinkStatus;
@@ -1,24 +0,0 @@
1
- /**
2
- * Returns the current include() mount path.
3
- *
4
- * Inside `include("/articles", blogPatterns)`, returns "/articles".
5
- * For nested includes, returns the nearest mount path.
6
- * At root level (no include), returns "/".
7
- *
8
- * @example
9
- * ```tsx
10
- * "use client";
11
- * import { useMount, href } from "@rangojs/router/client";
12
- *
13
- * function BlogNav({ slug }: { slug: string }) {
14
- * const mount = useMount(); // "/articles"
15
- * return (
16
- * <>
17
- * <Link to={href("/", mount)}>Blog Home</Link>
18
- * <Link to={href(`/${slug}`, mount)}>Post</Link>
19
- * </>
20
- * );
21
- * }
22
- * ```
23
- */
24
- export declare function useMount(): string;
@@ -1,15 +0,0 @@
1
- import type { PublicNavigationState } from "../types.js";
2
- /**
3
- * Hook to access reactive navigation state with optional selector for performance.
4
- *
5
- * Returns state only. For actions (push, replace, refresh, prefetch),
6
- * use useRouter() instead.
7
- *
8
- * @example
9
- * ```tsx
10
- * const { state, location } = useNavigation();
11
- * const isLoading = useNavigation(nav => nav.state === 'loading');
12
- * ```
13
- */
14
- export declare function useNavigation(): PublicNavigationState;
15
- export declare function useNavigation<T>(selector: (state: PublicNavigationState) => T): T;
@@ -1,21 +0,0 @@
1
- /**
2
- * Hook to access the current route params.
3
- *
4
- * Returns the merged route params from the matched route.
5
- * Updates when navigation completes, not during pending navigation.
6
- *
7
- * @example
8
- * ```tsx
9
- * // Route: /products/:productId
10
- * const params = useParams();
11
- * // { productId: "123" }
12
- *
13
- * // Annotate the expected shape via a generic
14
- * const { productId } = useParams<{ productId: string }>();
15
- *
16
- * // With selector
17
- * const productId = useParams(p => p.productId);
18
- * ```
19
- */
20
- export declare function useParams<T extends object = Record<string, string | undefined>>(): Readonly<T>;
21
- export declare function useParams<T>(selector: (params: Record<string, string | undefined>) => T): T;
@@ -1,13 +0,0 @@
1
- /**
2
- * Hook to access the current pathname.
3
- *
4
- * Returns the committed pathname string (excludes search params and hash).
5
- * Updates when navigation completes, not during pending navigation.
6
- *
7
- * @example
8
- * ```tsx
9
- * const pathname = usePathname();
10
- * // "/products/123"
11
- * ```
12
- */
13
- export declare function usePathname(): string;
@@ -1,40 +0,0 @@
1
- import type { LocalReverseFunction } from "../../reverse.js";
2
- type RouteEntry = string | {
3
- readonly path: string;
4
- };
5
- type LocalRouteMap = Readonly<Record<string, RouteEntry>>;
6
- /**
7
- * Mount-aware reverse function for a locally-imported `routes` map.
8
- *
9
- * The `routes` map you pass IS the scope: `reverse("name")` looks the name up
10
- * in that map (verbatim), prefixes the result with the surrounding `include()`
11
- * mount path via `useMount()`, and substitutes params — auto-filling from the
12
- * current matched route's params, with explicit params overriding. A module's
13
- * components can therefore reverse their own routes without knowing where the
14
- * module is mounted: include it under any prefix and the URLs resolve correctly.
15
- *
16
- * The leading dot is optional and cosmetic: `reverse("post")` and
17
- * `reverse(".post")` resolve identically. The dot exists only as a readability
18
- * convention and for parity with `ctx.reverse(".name")` on the server; here the
19
- * passed map is the scope, so there is no separate global namespace to
20
- * disambiguate and the dot carries no meaning.
21
- *
22
- * @example
23
- * ```tsx
24
- * "use client";
25
- * import { Link, useReverse } from "@rangojs/router/client";
26
- * import { routes as blogRoutes } from "../urls/blog.gen.js";
27
- *
28
- * function BlogNav() {
29
- * const reverse = useReverse(blogRoutes);
30
- * return (
31
- * <>
32
- * <Link to={reverse("index")}>Blog</Link>
33
- * <Link to={reverse("post", { postId: "hello" })}>Post</Link>
34
- * </>
35
- * );
36
- * }
37
- * ```
38
- */
39
- export declare function useReverse<const TRoutes extends LocalRouteMap>(routes: TRoutes): LocalReverseFunction<TRoutes>;
40
- export {};
@@ -1,23 +0,0 @@
1
- import type { RouterInstance } from "../types.js";
2
- /**
3
- * Hook to access router actions (push, replace, refresh, prefetch, back, forward).
4
- *
5
- * Returns a STABLE reference that never changes, so components using
6
- * useRouter() do not re-render on navigation state changes.
7
- * For reactive navigation state, use useNavigation() instead.
8
- *
9
- * Methods read `basename` from the context on each call. It is set once from
10
- * the initial payload and is stable within a session — a cross-app navigation
11
- * is a full document load (X-RSC-Reload), so the target app mounts fresh with
12
- * its own basename.
13
- *
14
- * @example
15
- * ```tsx
16
- * const router = useRouter();
17
- * router.push("/products");
18
- * router.replace("/login", { scroll: false });
19
- * router.prefetch("/dashboard");
20
- * router.back();
21
- * ```
22
- */
23
- export declare function useRouter(): RouterInstance;
@@ -1,19 +0,0 @@
1
- import type { ReadonlyURLSearchParams } from "../types.js";
2
- /**
3
- * Hook to access the current URL search params.
4
- *
5
- * Returns a read-only URLSearchParams object from the committed location.
6
- * Updates when navigation completes, not during pending navigation.
7
- *
8
- * Note: During SSR the search params are not available (the server only sends
9
- * the pathname). The hook returns empty params during SSR and syncs from
10
- * the browser URL on mount.
11
- *
12
- * @example
13
- * ```tsx
14
- * const searchParams = useSearchParams();
15
- * const query = searchParams.get("q"); // "react"
16
- * const page = searchParams.get("page"); // "2"
17
- * ```
18
- */
19
- export declare function useSearchParams(): ReadonlyURLSearchParams;
@@ -1,29 +0,0 @@
1
- /**
2
- * Segments state returned by useSegments hook
3
- */
4
- export interface SegmentsState {
5
- /** URL path segments (e.g., /shop/products/123 → ["shop", "products", "123"]) */
6
- path: readonly string[];
7
- /** Matched segment IDs in order (layouts and routes only, e.g., ["L0", "L0L1", "L0L1R0"]) */
8
- segmentIds: readonly string[];
9
- /** Current URL location */
10
- location: URL;
11
- }
12
- /**
13
- * Hook to access current route segments with optional selector for performance
14
- *
15
- * Provides information about the current URL path and matched route segments.
16
- * Uses the event controller for reactive state management.
17
- *
18
- * @example
19
- * ```tsx
20
- * // Get full segments state
21
- * const { path, segmentIds, location } = useSegments();
22
- *
23
- * // Use selector for specific values (better performance)
24
- * const path = useSegments(s => s.path);
25
- * const isShopRoute = useSegments(s => s.path[0] === "shop");
26
- * ```
27
- */
28
- export declare function useSegments(): SegmentsState;
29
- export declare function useSegments<T>(selector: (state: SegmentsState) => T): T;
@@ -1,58 +0,0 @@
1
- type HeaderResult = {
2
- url: string;
3
- } | "blocked" | null;
4
- /**
5
- * Extract and validate an RSC response header URL (X-RSC-Reload, X-RSC-Redirect).
6
- * Returns { url } if valid, "blocked" if present but invalid origin, null if absent.
7
- */
8
- export declare function extractRscHeaderUrl(response: Response, header: string): HeaderResult;
9
- /**
10
- * Empty 200 response that won't choke Flight parsing.
11
- * Used when a header URL is blocked by origin validation.
12
- */
13
- export declare function emptyResponse(): Response;
14
- /**
15
- * Whether an RSC content response carries a server-stamped router identity
16
- * (`X-RSC-Router-Id`) that DIFFERS from the id this client expects (its own
17
- * routerId, also sent as `_rsc_rid`). Pre-decode integrity check: lets a caller
18
- * refuse a foreign app's payload before `createFromFetch` imports its chunks.
19
- *
20
- * True ONLY when both the header and the expected id are present and differ. An
21
- * absent header (control-only reload/redirect responses are not stamped) or an
22
- * absent expected id (e.g. before the client is seeded) is a pass-through —
23
- * never a false reject.
24
- */
25
- export declare function isForeignRouterId(response: Response, expectedId: string | undefined): boolean;
26
- /**
27
- * Handle the X-RSC-Reload control header (server requests a full page reload on
28
- * a version mismatch). Returns a short-circuit response when the header is
29
- * present -- emptyResponse() if the URL was blocked by origin validation, or a
30
- * never-resolving promise while the page reloads -- and null when absent, so
31
- * the caller continues processing (e.g. the X-RSC-Redirect check). Scoped to
32
- * X-RSC-Reload only; redirect handling differs between callers.
33
- */
34
- export declare function handleReloadHeader(response: Response, opts: {
35
- onBlocked: () => void;
36
- onReload: (url: string) => void;
37
- }): Response | Promise<Response> | null;
38
- /**
39
- * Tee a response body for RSC parsing and stream completion tracking.
40
- * Returns a new Response with one branch; the other is consumed to detect
41
- * end-of-stream, calling onComplete when done.
42
- *
43
- * `onComplete` receives `endedCleanly`: true only on a normal EOF drain, false
44
- * on a read error or an abort (the signal cancelled the reader). Callers that
45
- * gate a "fully complete" fast path (e.g. prefetch's `entry.complete`) must
46
- * treat a non-clean end as incomplete — a broken stream is not complete data.
47
- *
48
- * If the response has no body, onComplete fires synchronously with `true`
49
- * (an empty body is a clean, complete stream).
50
- * If signal is provided, an abort cancels the tracking reader.
51
- *
52
- * `silent` suppresses the stream-error log. Prefetch passes it: a speculative,
53
- * low-priority prefetch that is aborted or never consumed can error its stream
54
- * benignly, which is not worth surfacing. The fresh-navigation path keeps the
55
- * log (default), where a stream error reflects a real failed navigation.
56
- */
57
- export declare function teeWithCompletion(response: Response, onComplete: (endedCleanly: boolean) => void, signal?: AbortSignal, silent?: boolean): Response;
58
- export {};
@@ -1,141 +0,0 @@
1
- import React from "react";
2
- import type { RscPayload, RscBrowserDependencies, NavigationStore, NavigationBridge } from "./types.js";
3
- import type { EventController } from "./event-controller.js";
4
- import type { ResolvedThemeConfig, Theme } from "../theme/types.js";
5
- /**
6
- * Options for initializing the browser app
7
- */
8
- export interface InitBrowserAppOptions {
9
- /**
10
- * RSC stream containing the initial payload (from rsc-html-stream/client)
11
- */
12
- rscStream: ReadableStream<Uint8Array>;
13
- /**
14
- * RSC browser dependencies from @vitejs/plugin-rsc/browser
15
- */
16
- deps: RscBrowserDependencies;
17
- /**
18
- * Optional store configuration
19
- */
20
- storeOptions?: {
21
- /**
22
- * Maximum number of history entries to cache
23
- * @default 10
24
- */
25
- cacheSize?: number;
26
- };
27
- /**
28
- * Enable global link interception for SPA navigation.
29
- * When enabled, clicks on same-origin anchor elements are intercepted
30
- * and handled via client-side navigation instead of full page loads.
31
- *
32
- * Links rendered with the Link component handle their own navigation
33
- * regardless of this setting.
34
- *
35
- * Set to false to disable global interception and rely solely on
36
- * Link components for SPA navigation.
37
- *
38
- * @default true
39
- */
40
- linkInterception?: boolean;
41
- /**
42
- * Theme configuration from router.
43
- * When provided, enables theme support via useTheme hook.
44
- * Pass router.themeConfig here to enable theme features.
45
- *
46
- * @example
47
- * ```tsx
48
- * import { router } from "./router.js";
49
- *
50
- * await initBrowserApp({
51
- * rscStream,
52
- * deps: rscBrowser,
53
- * themeConfig: router.themeConfig,
54
- * initialTheme: document.documentElement.className.includes("dark") ? "dark" : "light",
55
- * });
56
- * ```
57
- */
58
- themeConfig?: ResolvedThemeConfig | null;
59
- /**
60
- * Initial theme from server (typically read from cookie).
61
- * Only used when themeConfig is provided.
62
- */
63
- initialTheme?: Theme;
64
- }
65
- /**
66
- * Result from initializing the browser app
67
- */
68
- export interface BrowserAppContext {
69
- store: NavigationStore;
70
- eventController: EventController;
71
- bridge: NavigationBridge;
72
- initialPayload: RscPayload;
73
- initialTree: React.ReactNode | Promise<React.ReactNode>;
74
- /** Theme configuration (null if theme not enabled) */
75
- themeConfig?: ResolvedThemeConfig | null;
76
- /** Initial theme from server */
77
- initialTheme?: Theme;
78
- /** Whether connection warmup is enabled */
79
- warmupEnabled?: boolean;
80
- /** Whether the hydrated tree should be wrapped in React.StrictMode */
81
- strictMode?: boolean;
82
- /** App version for prefetch version mismatch detection */
83
- version?: string;
84
- /**
85
- * App-shell ref, read through on each render so renderSegments and the
86
- * NavigationProvider see rootLayout/basename/version without closing over a
87
- * stale snapshot. Set once from the initial payload and not swapped within a
88
- * session: a cross-app navigation is a full document load (X-RSC-Reload), so
89
- * the target app establishes its own shell on load. Theme, warmup, and
90
- * prefetch TTL are document-lifetime too (see AppShell).
91
- */
92
- appShellRef?: import("./app-shell.js").AppShellRef;
93
- }
94
- /**
95
- * Initialize the browser app. Must be called before rendering Rango.
96
- *
97
- * This function:
98
- * - Loads the initial RSC payload from the stream
99
- * - Creates the navigation store and event controller
100
- * - Sets up action and navigation bridges
101
- * - Configures HMR support
102
- */
103
- export declare function initBrowserApp(options: InitBrowserAppOptions): Promise<BrowserAppContext>;
104
- /**
105
- * Get the browser app context. Throws if initBrowserApp hasn't been called.
106
- */
107
- export declare function getBrowserAppContext(): BrowserAppContext;
108
- /**
109
- * Reset the browser app context (for testing)
110
- */
111
- export declare function resetBrowserAppContext(): void;
112
- /**
113
- * Props for the Rango component
114
- */
115
- export interface RangoProps {
116
- }
117
- /**
118
- * Rango component - renders the RSC router with all internal wiring.
119
- *
120
- * Must be called after initBrowserApp() has completed.
121
- *
122
- * @example
123
- * ```tsx
124
- * import { initBrowserApp, Rango } from "rsc-router/browser";
125
- * import { rscStream } from "rsc-html-stream/client";
126
- * import * as rscBrowser from "@vitejs/plugin-rsc/browser";
127
- *
128
- * async function main() {
129
- * await initBrowserApp({ rscStream, deps: rscBrowser });
130
- *
131
- * hydrateRoot(
132
- * document,
133
- * <React.StrictMode>
134
- * <Rango />
135
- * </React.StrictMode>
136
- * );
137
- * }
138
- * main();
139
- * ```
140
- */
141
- export declare function Rango(_props: RangoProps): React.ReactElement;