@rangojs/router 0.0.0-experimental.79 → 0.0.0-experimental.7cf4e116

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 (1196) hide show
  1. package/AGENTS.md +8 -0
  2. package/README.md +169 -31
  3. package/dist/bin/rango.js +312 -93
  4. package/dist/testing/vitest.js +82 -0
  5. package/dist/vite/index.js +2827 -1032
  6. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  7. package/package.json +76 -21
  8. package/skills/api-client/SKILL.md +211 -0
  9. package/skills/breadcrumbs/SKILL.md +64 -2
  10. package/skills/bundle-analysis/SKILL.md +159 -0
  11. package/skills/cache-guide/SKILL.md +224 -32
  12. package/skills/caching/SKILL.md +279 -17
  13. package/skills/composability/SKILL.md +27 -2
  14. package/skills/css/SKILL.md +76 -0
  15. package/skills/debug-manifest/SKILL.md +4 -2
  16. package/skills/document-cache/SKILL.md +78 -55
  17. package/skills/handler-use/SKILL.md +4 -2
  18. package/skills/hooks/SKILL.md +250 -30
  19. package/skills/host-router/SKILL.md +83 -23
  20. package/skills/i18n/SKILL.md +276 -0
  21. package/skills/intercept/SKILL.md +30 -6
  22. package/skills/layout/SKILL.md +13 -9
  23. package/skills/links/SKILL.md +247 -17
  24. package/skills/loader/SKILL.md +225 -9
  25. package/skills/middleware/SKILL.md +18 -10
  26. package/skills/migrate-nextjs/SKILL.md +40 -16
  27. package/skills/migrate-react-router/SKILL.md +9 -2
  28. package/skills/mime-routes/SKILL.md +28 -1
  29. package/skills/observability/SKILL.md +172 -0
  30. package/skills/parallel/SKILL.md +18 -7
  31. package/skills/prerender/SKILL.md +45 -43
  32. package/skills/rango/SKILL.md +251 -24
  33. package/skills/react-compiler/SKILL.md +168 -0
  34. package/skills/response-routes/SKILL.md +123 -48
  35. package/skills/route/SKILL.md +46 -5
  36. package/skills/router-setup/SKILL.md +29 -6
  37. package/skills/scripts/SKILL.md +179 -0
  38. package/skills/server-actions/SKILL.md +775 -0
  39. package/skills/streams-and-websockets/SKILL.md +283 -0
  40. package/skills/tailwind/SKILL.md +27 -3
  41. package/skills/testing/SKILL.md +129 -0
  42. package/skills/testing/bindings.md +103 -0
  43. package/skills/testing/cache-prerender.md +127 -0
  44. package/skills/testing/client-components.md +124 -0
  45. package/skills/testing/e2e-parity.md +125 -0
  46. package/skills/testing/flight.md +91 -0
  47. package/skills/testing/handles.md +129 -0
  48. package/skills/testing/loader.md +128 -0
  49. package/skills/testing/middleware.md +99 -0
  50. package/skills/testing/render-handler.md +121 -0
  51. package/skills/testing/response-routes.md +95 -0
  52. package/skills/testing/reverse-and-types.md +84 -0
  53. package/skills/testing/server-actions.md +107 -0
  54. package/skills/testing/server-tree.md +128 -0
  55. package/skills/testing/setup.md +123 -0
  56. package/skills/typesafety/SKILL.md +322 -29
  57. package/skills/use-cache/SKILL.md +46 -14
  58. package/skills/view-transitions/SKILL.md +294 -0
  59. package/src/__augment-tests__/augment.ts +81 -0
  60. package/src/__augment-tests__/augmented.check.ts +116 -0
  61. package/src/__internal.ts +0 -65
  62. package/src/browser/action-coordinator.ts +53 -36
  63. package/src/browser/action-fence.ts +47 -0
  64. package/src/browser/app-shell.ts +39 -0
  65. package/src/browser/connection-warmup.ts +134 -0
  66. package/src/browser/cookie-name.ts +140 -0
  67. package/src/browser/event-controller.ts +192 -150
  68. package/src/browser/history-state.ts +21 -0
  69. package/src/browser/index.ts +3 -3
  70. package/src/browser/invalidate-client-cache.ts +52 -0
  71. package/src/browser/navigation-bridge.ts +71 -16
  72. package/src/browser/navigation-client.ts +127 -78
  73. package/src/browser/navigation-store-handle.ts +38 -0
  74. package/src/browser/navigation-store.ts +33 -59
  75. package/src/browser/navigation-transaction.ts +9 -59
  76. package/src/browser/network-error-handler.ts +34 -7
  77. package/src/browser/partial-update.ts +125 -127
  78. package/src/browser/prefetch/cache.ts +201 -68
  79. package/src/browser/prefetch/fetch.ts +287 -59
  80. package/src/browser/prefetch/queue.ts +42 -8
  81. package/src/browser/rango-state.ts +158 -76
  82. package/src/browser/react/Link.tsx +48 -20
  83. package/src/browser/react/NavigationProvider.tsx +162 -118
  84. package/src/browser/react/ScrollRestoration.tsx +10 -6
  85. package/src/browser/react/filter-segment-order.ts +66 -7
  86. package/src/browser/react/index.ts +0 -48
  87. package/src/browser/react/location-state-shared.ts +178 -8
  88. package/src/browser/react/location-state.ts +39 -14
  89. package/src/browser/react/use-action.ts +6 -15
  90. package/src/browser/react/use-handle.ts +17 -14
  91. package/src/browser/react/use-href.tsx +8 -1
  92. package/src/browser/react/use-link-status.ts +33 -8
  93. package/src/browser/react/use-navigation.ts +32 -7
  94. package/src/browser/react/use-params.ts +20 -10
  95. package/src/browser/react/use-reverse.ts +106 -0
  96. package/src/browser/react/use-router.ts +25 -3
  97. package/src/browser/react/use-search-params.ts +0 -5
  98. package/src/browser/react/use-segments.ts +11 -21
  99. package/src/browser/response-adapter.ts +80 -5
  100. package/src/browser/rsc-router.tsx +91 -24
  101. package/src/browser/scroll-restoration.ts +30 -17
  102. package/src/browser/segment-structure-assert.ts +2 -2
  103. package/src/browser/server-action-bridge.ts +214 -55
  104. package/src/browser/types.ts +57 -8
  105. package/src/browser/validate-redirect-origin.ts +43 -16
  106. package/src/build/collect-fallback-refs.ts +107 -0
  107. package/src/build/generate-manifest.ts +60 -35
  108. package/src/build/generate-route-types.ts +2 -1
  109. package/src/build/index.ts +8 -2
  110. package/src/build/prefix-tree-utils.ts +123 -0
  111. package/src/build/route-trie.ts +117 -14
  112. package/src/build/route-types/ast-route-extraction.ts +15 -8
  113. package/src/build/route-types/codegen.ts +16 -5
  114. package/src/build/route-types/include-resolution.ts +117 -23
  115. package/src/build/route-types/param-extraction.ts +6 -3
  116. package/src/build/route-types/per-module-writer.ts +22 -6
  117. package/src/build/route-types/router-processing.ts +55 -28
  118. package/src/build/route-types/scan-filter.ts +1 -1
  119. package/src/build/route-types/source-scan.ts +216 -0
  120. package/src/build/runtime-discovery.ts +9 -20
  121. package/src/cache/cache-error.ts +104 -0
  122. package/src/cache/cache-key-utils.ts +29 -13
  123. package/src/cache/cache-policy.ts +108 -34
  124. package/src/cache/cache-runtime.ts +199 -37
  125. package/src/cache/cache-scope.ts +188 -82
  126. package/src/cache/cache-tag.ts +103 -0
  127. package/src/cache/cf/cf-base64.ts +33 -0
  128. package/src/cache/cf/cf-cache-constants.ts +127 -0
  129. package/src/cache/cf/cf-cache-store.ts +1989 -378
  130. package/src/cache/cf/cf-cache-types.ts +349 -0
  131. package/src/cache/cf/cf-kv-utils.ts +46 -0
  132. package/src/cache/cf/cf-tag-marker-memo.ts +105 -0
  133. package/src/cache/cf/index.ts +6 -16
  134. package/src/cache/document-cache.ts +72 -20
  135. package/src/cache/handle-snapshot.ts +70 -0
  136. package/src/cache/index.ts +10 -20
  137. package/src/cache/memory-segment-store.ts +136 -37
  138. package/src/cache/profile-registry.ts +31 -31
  139. package/src/cache/read-through-swr.ts +41 -11
  140. package/src/cache/segment-codec.ts +9 -17
  141. package/src/cache/tag-invalidation.ts +230 -0
  142. package/src/cache/types.ts +37 -100
  143. package/src/client.rsc.tsx +44 -21
  144. package/src/client.tsx +36 -61
  145. package/src/cloudflare/index.ts +11 -0
  146. package/src/cloudflare/tracing.ts +109 -0
  147. package/src/component-utils.ts +19 -0
  148. package/src/components/DefaultDocument.tsx +8 -2
  149. package/src/context-var.ts +18 -6
  150. package/src/decode-loader-results.ts +52 -0
  151. package/src/defer.ts +196 -0
  152. package/src/deps/ssr.ts +0 -1
  153. package/src/encode-kv.ts +49 -0
  154. package/src/errors.ts +30 -4
  155. package/src/escape-script.ts +52 -0
  156. package/src/handle.ts +31 -23
  157. package/src/handles/MetaTags.tsx +62 -19
  158. package/src/handles/Scripts.tsx +183 -0
  159. package/src/handles/breadcrumbs.ts +37 -8
  160. package/src/handles/is-thenable.ts +19 -0
  161. package/src/handles/meta.ts +51 -40
  162. package/src/handles/script.ts +244 -0
  163. package/src/host/cookie-handler.ts +9 -60
  164. package/src/host/errors.ts +0 -24
  165. package/src/host/index.ts +8 -2
  166. package/src/host/pattern-matcher.ts +23 -52
  167. package/src/host/router.ts +107 -99
  168. package/src/host/testing.ts +40 -27
  169. package/src/host/types.ts +37 -4
  170. package/src/host/utils.ts +1 -1
  171. package/src/href-client.ts +137 -22
  172. package/src/index.rsc.ts +90 -11
  173. package/src/index.ts +88 -10
  174. package/src/internal-debug.ts +11 -10
  175. package/src/loader-store.ts +500 -0
  176. package/src/loader.rsc.ts +20 -13
  177. package/src/loader.ts +12 -11
  178. package/src/missing-id-error.ts +68 -0
  179. package/src/outlet-context.ts +1 -1
  180. package/src/outlet-provider.tsx +1 -5
  181. package/src/prerender/param-hash.ts +16 -16
  182. package/src/prerender/store.ts +32 -37
  183. package/src/prerender.ts +61 -6
  184. package/src/redirect-origin.ts +100 -0
  185. package/src/regex-escape.ts +8 -0
  186. package/src/render-error-thrower.tsx +20 -0
  187. package/src/response-utils.ts +62 -0
  188. package/src/reverse.ts +65 -39
  189. package/src/root-error-boundary.tsx +1 -19
  190. package/src/route-content-wrapper.tsx +7 -72
  191. package/src/route-definition/dsl-helpers.ts +287 -281
  192. package/src/route-definition/helper-factories.ts +29 -139
  193. package/src/route-definition/helpers-types.ts +46 -18
  194. package/src/route-definition/redirect.ts +44 -11
  195. package/src/route-definition/resolve-handler-use.ts +12 -0
  196. package/src/route-definition/use-item-types.ts +32 -0
  197. package/src/route-map-builder.ts +0 -16
  198. package/src/route-types.ts +19 -41
  199. package/src/router/basename.ts +14 -0
  200. package/src/router/content-negotiation.ts +73 -25
  201. package/src/router/error-handling.ts +45 -18
  202. package/src/router/find-match.ts +44 -23
  203. package/src/router/handler-context.ts +27 -42
  204. package/src/router/instrument.ts +350 -0
  205. package/src/router/intercept-resolution.ts +39 -20
  206. package/src/router/lazy-includes.ts +10 -47
  207. package/src/router/loader-resolution.ts +155 -72
  208. package/src/router/logging.ts +0 -6
  209. package/src/router/manifest.ts +18 -29
  210. package/src/router/match-api.ts +4 -23
  211. package/src/router/match-context.ts +0 -22
  212. package/src/router/match-handlers.ts +58 -58
  213. package/src/router/match-middleware/background-revalidation.ts +6 -7
  214. package/src/router/match-middleware/cache-lookup.ts +159 -285
  215. package/src/router/match-middleware/cache-store.ts +31 -34
  216. package/src/router/match-middleware/intercept-resolution.ts +0 -22
  217. package/src/router/match-middleware/segment-resolution.ts +0 -22
  218. package/src/router/match-pipelines.ts +1 -42
  219. package/src/router/match-result.ts +44 -74
  220. package/src/router/metrics.ts +0 -34
  221. package/src/router/middleware-types.ts +7 -134
  222. package/src/router/middleware.ts +266 -166
  223. package/src/router/navigation-snapshot.ts +0 -51
  224. package/src/router/params-util.ts +23 -0
  225. package/src/router/pattern-matching.ts +132 -90
  226. package/src/router/prefetch-cache-ttl.ts +51 -0
  227. package/src/router/prerender-match.ts +104 -65
  228. package/src/router/preview-match.ts +3 -1
  229. package/src/router/request-classification.ts +28 -62
  230. package/src/router/revalidation.ts +123 -73
  231. package/src/router/route-snapshot.ts +0 -1
  232. package/src/router/router-context.ts +3 -28
  233. package/src/router/router-interfaces.ts +83 -35
  234. package/src/router/router-options.ts +136 -5
  235. package/src/router/router-registry.ts +2 -5
  236. package/src/router/segment-resolution/fresh.ts +93 -84
  237. package/src/router/segment-resolution/helpers.ts +86 -6
  238. package/src/router/segment-resolution/loader-cache.ts +62 -37
  239. package/src/router/segment-resolution/revalidation.ts +269 -320
  240. package/src/router/segment-resolution/static-store.ts +19 -5
  241. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  242. package/src/router/segment-resolution/view-transition-default.ts +36 -0
  243. package/src/router/segment-resolution.ts +5 -1
  244. package/src/router/segment-wrappers.ts +6 -5
  245. package/src/router/state-cookie-name.ts +33 -0
  246. package/src/router/substitute-pattern-params.ts +56 -0
  247. package/src/router/telemetry-otel.ts +161 -199
  248. package/src/router/telemetry.ts +96 -19
  249. package/src/router/timeout.ts +0 -20
  250. package/src/router/tracing.ts +206 -0
  251. package/src/router/trie-matching.ts +163 -59
  252. package/src/router/types.ts +9 -63
  253. package/src/router/url-params.ts +44 -0
  254. package/src/router.ts +110 -55
  255. package/src/rsc/handler-context.ts +3 -2
  256. package/src/rsc/handler.ts +266 -219
  257. package/src/rsc/helpers.ts +168 -46
  258. package/src/rsc/index.ts +2 -5
  259. package/src/rsc/json-route-result.ts +38 -0
  260. package/src/rsc/loader-fetch.ts +114 -38
  261. package/src/rsc/manifest-init.ts +28 -41
  262. package/src/rsc/origin-guard.ts +39 -25
  263. package/src/rsc/progressive-enhancement.ts +63 -9
  264. package/src/rsc/redirect-guard.ts +99 -0
  265. package/src/rsc/response-cache-serve.ts +238 -0
  266. package/src/rsc/response-error.ts +79 -12
  267. package/src/rsc/response-route-handler.ts +99 -189
  268. package/src/rsc/rsc-rendering.ts +99 -75
  269. package/src/rsc/runtime-warnings.ts +23 -10
  270. package/src/rsc/server-action.ts +258 -115
  271. package/src/rsc/ssr-setup.ts +16 -0
  272. package/src/rsc/types.ts +23 -5
  273. package/src/runtime-env.ts +18 -0
  274. package/src/search-params.ts +35 -30
  275. package/src/segment-loader-promise.ts +31 -4
  276. package/src/segment-system.tsx +209 -143
  277. package/src/serialize.ts +243 -0
  278. package/src/server/context.ts +150 -51
  279. package/src/server/cookie-parse.ts +32 -0
  280. package/src/server/cookie-store.ts +80 -5
  281. package/src/server/handle-store.ts +21 -38
  282. package/src/server/loader-registry.ts +21 -42
  283. package/src/server/request-context.ts +235 -175
  284. package/src/ssr/index.tsx +21 -16
  285. package/src/static-handler.ts +10 -13
  286. package/src/testing/cache-status.ts +162 -0
  287. package/src/testing/collect-handle.ts +40 -0
  288. package/src/testing/dispatch.ts +701 -0
  289. package/src/testing/dom.entry.ts +22 -0
  290. package/src/testing/e2e/fixture.ts +188 -0
  291. package/src/testing/e2e/index.ts +128 -0
  292. package/src/testing/e2e/matchers.ts +35 -0
  293. package/src/testing/e2e/page-helpers.ts +272 -0
  294. package/src/testing/e2e/parity.ts +387 -0
  295. package/src/testing/e2e/server.ts +195 -0
  296. package/src/testing/flight-matchers.ts +97 -0
  297. package/src/testing/flight-normalize.ts +11 -0
  298. package/src/testing/flight-runtime.d.ts +57 -0
  299. package/src/testing/flight-tree.ts +682 -0
  300. package/src/testing/flight.entry.ts +52 -0
  301. package/src/testing/flight.ts +257 -0
  302. package/src/testing/generated-routes.ts +183 -0
  303. package/src/testing/index.ts +99 -0
  304. package/src/testing/internal/context.ts +371 -0
  305. package/src/testing/internal/flight-client-globals.ts +30 -0
  306. package/src/testing/internal/seed-vars.ts +54 -0
  307. package/src/testing/render-handler.ts +343 -0
  308. package/src/testing/render-route.tsx +581 -0
  309. package/src/testing/run-loader.ts +385 -0
  310. package/src/testing/run-middleware.ts +205 -0
  311. package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
  312. package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
  313. package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
  314. package/src/testing/vitest-stubs/version.ts +5 -0
  315. package/src/testing/vitest.ts +305 -0
  316. package/src/theme/ThemeProvider.tsx +20 -58
  317. package/src/theme/ThemeScript.tsx +7 -9
  318. package/src/theme/constants.ts +52 -13
  319. package/src/theme/index.ts +0 -7
  320. package/src/theme/theme-context.ts +1 -5
  321. package/src/theme/theme-script.ts +22 -21
  322. package/src/theme/use-theme.ts +0 -3
  323. package/src/types/boundaries.ts +0 -35
  324. package/src/types/cache-types.ts +13 -4
  325. package/src/types/error-types.ts +30 -90
  326. package/src/types/global-namespace.ts +54 -41
  327. package/src/types/handler-context.ts +109 -61
  328. package/src/types/index.ts +1 -10
  329. package/src/types/loader-types.ts +11 -9
  330. package/src/types/request-scope.ts +112 -0
  331. package/src/types/route-config.ts +6 -50
  332. package/src/types/route-entry.ts +0 -6
  333. package/src/types/segments.ts +35 -14
  334. package/src/urls/include-helper.ts +9 -56
  335. package/src/urls/index.ts +1 -11
  336. package/src/urls/path-helper-types.ts +19 -5
  337. package/src/urls/path-helper.ts +17 -106
  338. package/src/urls/pattern-types.ts +36 -19
  339. package/src/urls/response-types.ts +22 -29
  340. package/src/urls/type-extraction.ts +58 -139
  341. package/src/urls/urls-function.ts +1 -18
  342. package/src/use-loader.tsx +292 -107
  343. package/src/vite/debug.ts +185 -0
  344. package/src/vite/discovery/bundle-postprocess.ts +8 -7
  345. package/src/vite/discovery/discover-routers.ts +126 -85
  346. package/src/vite/discovery/discovery-errors.ts +194 -0
  347. package/src/vite/discovery/gate-state.ts +171 -0
  348. package/src/vite/discovery/prerender-collection.ts +96 -68
  349. package/src/vite/discovery/route-types-writer.ts +40 -84
  350. package/src/vite/discovery/self-gen-tracking.ts +27 -1
  351. package/src/vite/discovery/state.ts +44 -0
  352. package/src/vite/discovery/virtual-module-codegen.ts +14 -34
  353. package/src/vite/index.ts +2 -0
  354. package/src/vite/inject-client-debug.ts +36 -0
  355. package/src/vite/plugin-types.ts +126 -8
  356. package/src/vite/plugins/cjs-to-esm.ts +16 -19
  357. package/src/vite/plugins/client-ref-dedup.ts +16 -11
  358. package/src/vite/plugins/client-ref-hashing.ts +28 -15
  359. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  360. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  361. package/src/vite/plugins/cloudflare-protocol-stub.ts +194 -0
  362. package/src/vite/plugins/expose-action-id.ts +48 -95
  363. package/src/vite/plugins/expose-id-utils.ts +88 -55
  364. package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
  365. package/src/vite/plugins/expose-ids/handler-transform.ts +11 -90
  366. package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
  367. package/src/vite/plugins/expose-ids/router-transform.ts +118 -29
  368. package/src/vite/plugins/expose-internal-ids.ts +505 -486
  369. package/src/vite/plugins/performance-tracks.ts +26 -25
  370. package/src/vite/plugins/refresh-cmd.ts +1 -1
  371. package/src/vite/plugins/use-cache-transform.ts +73 -83
  372. package/src/vite/plugins/version-injector.ts +21 -25
  373. package/src/vite/plugins/version-plugin.ts +37 -40
  374. package/src/vite/plugins/virtual-entries.ts +13 -18
  375. package/src/vite/rango.ts +109 -118
  376. package/src/vite/router-discovery.ts +777 -119
  377. package/src/vite/utils/ast-handler-extract.ts +26 -35
  378. package/src/vite/utils/banner.ts +1 -1
  379. package/src/vite/utils/bundle-analysis.ts +10 -15
  380. package/src/vite/utils/client-chunks.ts +184 -0
  381. package/src/vite/utils/directive-prologue.ts +40 -0
  382. package/src/vite/utils/forward-user-plugins.ts +171 -0
  383. package/src/vite/utils/manifest-utils.ts +4 -59
  384. package/src/vite/utils/package-resolution.ts +20 -52
  385. package/src/vite/utils/prerender-utils.ts +54 -39
  386. package/src/vite/utils/shared-utils.ts +90 -41
  387. package/dist/__internal.d.ts +0 -83
  388. package/dist/__internal.d.ts.map +0 -1
  389. package/dist/__internal.js +0 -19
  390. package/dist/__internal.js.map +0 -1
  391. package/dist/__mocks__/version.d.ts +0 -7
  392. package/dist/__mocks__/version.d.ts.map +0 -1
  393. package/dist/__mocks__/version.js +0 -7
  394. package/dist/__mocks__/version.js.map +0 -1
  395. package/dist/__tests__/client-href.test.d.ts +0 -2
  396. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  397. package/dist/__tests__/client-href.test.js +0 -74
  398. package/dist/__tests__/client-href.test.js.map +0 -1
  399. package/dist/__tests__/component-utils.test.d.ts +0 -2
  400. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  401. package/dist/__tests__/component-utils.test.js +0 -51
  402. package/dist/__tests__/component-utils.test.js.map +0 -1
  403. package/dist/__tests__/event-controller.test.d.ts +0 -2
  404. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  405. package/dist/__tests__/event-controller.test.js +0 -538
  406. package/dist/__tests__/event-controller.test.js.map +0 -1
  407. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  408. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  409. package/dist/__tests__/helpers/route-tree.js +0 -374
  410. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  411. package/dist/__tests__/match-result.test.d.ts +0 -2
  412. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  413. package/dist/__tests__/match-result.test.js +0 -154
  414. package/dist/__tests__/match-result.test.js.map +0 -1
  415. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  416. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  417. package/dist/__tests__/navigation-store.test.js +0 -440
  418. package/dist/__tests__/navigation-store.test.js.map +0 -1
  419. package/dist/__tests__/partial-update.test.d.ts +0 -2
  420. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  421. package/dist/__tests__/partial-update.test.js +0 -1009
  422. package/dist/__tests__/partial-update.test.js.map +0 -1
  423. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  424. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  425. package/dist/__tests__/reverse-types.test.js +0 -656
  426. package/dist/__tests__/reverse-types.test.js.map +0 -1
  427. package/dist/__tests__/route-definition.test.d.ts +0 -2
  428. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  429. package/dist/__tests__/route-definition.test.js +0 -55
  430. package/dist/__tests__/route-definition.test.js.map +0 -1
  431. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  432. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  433. package/dist/__tests__/router-helpers.test.js +0 -377
  434. package/dist/__tests__/router-helpers.test.js.map +0 -1
  435. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  436. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  437. package/dist/__tests__/router-integration-2.test.js +0 -426
  438. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  439. package/dist/__tests__/router-integration.test.d.ts +0 -2
  440. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  441. package/dist/__tests__/router-integration.test.js +0 -1051
  442. package/dist/__tests__/router-integration.test.js.map +0 -1
  443. package/dist/__tests__/search-params.test.d.ts +0 -5
  444. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  445. package/dist/__tests__/search-params.test.js +0 -306
  446. package/dist/__tests__/search-params.test.js.map +0 -1
  447. package/dist/__tests__/segment-system.test.d.ts +0 -2
  448. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  449. package/dist/__tests__/segment-system.test.js +0 -627
  450. package/dist/__tests__/segment-system.test.js.map +0 -1
  451. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  452. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  453. package/dist/__tests__/static-handler-types.test.js +0 -63
  454. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  455. package/dist/__tests__/urls.test.d.ts +0 -2
  456. package/dist/__tests__/urls.test.d.ts.map +0 -1
  457. package/dist/__tests__/urls.test.js +0 -421
  458. package/dist/__tests__/urls.test.js.map +0 -1
  459. package/dist/__tests__/use-mount.test.d.ts +0 -2
  460. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  461. package/dist/__tests__/use-mount.test.js +0 -35
  462. package/dist/__tests__/use-mount.test.js.map +0 -1
  463. package/dist/bin/rango.d.ts +0 -2
  464. package/dist/bin/rango.d.ts.map +0 -1
  465. package/dist/bin/rango.js.map +0 -1
  466. package/dist/browser/event-controller.d.ts +0 -191
  467. package/dist/browser/event-controller.d.ts.map +0 -1
  468. package/dist/browser/event-controller.js +0 -559
  469. package/dist/browser/event-controller.js.map +0 -1
  470. package/dist/browser/index.d.ts +0 -2
  471. package/dist/browser/index.d.ts.map +0 -1
  472. package/dist/browser/index.js +0 -14
  473. package/dist/browser/index.js.map +0 -1
  474. package/dist/browser/link-interceptor.d.ts +0 -38
  475. package/dist/browser/link-interceptor.d.ts.map +0 -1
  476. package/dist/browser/link-interceptor.js +0 -99
  477. package/dist/browser/link-interceptor.js.map +0 -1
  478. package/dist/browser/logging.d.ts +0 -10
  479. package/dist/browser/logging.d.ts.map +0 -1
  480. package/dist/browser/logging.js +0 -29
  481. package/dist/browser/logging.js.map +0 -1
  482. package/dist/browser/lru-cache.d.ts +0 -17
  483. package/dist/browser/lru-cache.d.ts.map +0 -1
  484. package/dist/browser/lru-cache.js +0 -50
  485. package/dist/browser/lru-cache.js.map +0 -1
  486. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  487. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  488. package/dist/browser/merge-segment-loaders.js +0 -102
  489. package/dist/browser/merge-segment-loaders.js.map +0 -1
  490. package/dist/browser/navigation-bridge.d.ts +0 -102
  491. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  492. package/dist/browser/navigation-bridge.js +0 -708
  493. package/dist/browser/navigation-bridge.js.map +0 -1
  494. package/dist/browser/navigation-client.d.ts +0 -25
  495. package/dist/browser/navigation-client.d.ts.map +0 -1
  496. package/dist/browser/navigation-client.js +0 -157
  497. package/dist/browser/navigation-client.js.map +0 -1
  498. package/dist/browser/navigation-store.d.ts +0 -101
  499. package/dist/browser/navigation-store.d.ts.map +0 -1
  500. package/dist/browser/navigation-store.js +0 -625
  501. package/dist/browser/navigation-store.js.map +0 -1
  502. package/dist/browser/partial-update.d.ts +0 -75
  503. package/dist/browser/partial-update.d.ts.map +0 -1
  504. package/dist/browser/partial-update.js +0 -426
  505. package/dist/browser/partial-update.js.map +0 -1
  506. package/dist/browser/react/Link.d.ts +0 -86
  507. package/dist/browser/react/Link.d.ts.map +0 -1
  508. package/dist/browser/react/Link.js +0 -128
  509. package/dist/browser/react/Link.js.map +0 -1
  510. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  511. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  512. package/dist/browser/react/NavigationProvider.js +0 -216
  513. package/dist/browser/react/NavigationProvider.js.map +0 -1
  514. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  515. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  516. package/dist/browser/react/ScrollRestoration.js +0 -57
  517. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  518. package/dist/browser/react/context.d.ts +0 -46
  519. package/dist/browser/react/context.d.ts.map +0 -1
  520. package/dist/browser/react/context.js +0 -10
  521. package/dist/browser/react/context.js.map +0 -1
  522. package/dist/browser/react/index.d.ts +0 -11
  523. package/dist/browser/react/index.d.ts.map +0 -1
  524. package/dist/browser/react/index.js +0 -22
  525. package/dist/browser/react/index.js.map +0 -1
  526. package/dist/browser/react/location-state-shared.d.ts +0 -63
  527. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  528. package/dist/browser/react/location-state-shared.js +0 -81
  529. package/dist/browser/react/location-state-shared.js.map +0 -1
  530. package/dist/browser/react/location-state.d.ts +0 -23
  531. package/dist/browser/react/location-state.d.ts.map +0 -1
  532. package/dist/browser/react/location-state.js +0 -29
  533. package/dist/browser/react/location-state.js.map +0 -1
  534. package/dist/browser/react/mount-context.d.ts +0 -24
  535. package/dist/browser/react/mount-context.d.ts.map +0 -1
  536. package/dist/browser/react/mount-context.js +0 -24
  537. package/dist/browser/react/mount-context.js.map +0 -1
  538. package/dist/browser/react/use-action.d.ts +0 -64
  539. package/dist/browser/react/use-action.d.ts.map +0 -1
  540. package/dist/browser/react/use-action.js +0 -134
  541. package/dist/browser/react/use-action.js.map +0 -1
  542. package/dist/browser/react/use-client-cache.d.ts +0 -41
  543. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  544. package/dist/browser/react/use-client-cache.js +0 -39
  545. package/dist/browser/react/use-client-cache.js.map +0 -1
  546. package/dist/browser/react/use-handle.d.ts +0 -31
  547. package/dist/browser/react/use-handle.d.ts.map +0 -1
  548. package/dist/browser/react/use-handle.js +0 -144
  549. package/dist/browser/react/use-handle.js.map +0 -1
  550. package/dist/browser/react/use-href.d.ts +0 -33
  551. package/dist/browser/react/use-href.d.ts.map +0 -1
  552. package/dist/browser/react/use-href.js +0 -39
  553. package/dist/browser/react/use-href.js.map +0 -1
  554. package/dist/browser/react/use-link-status.d.ts +0 -37
  555. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  556. package/dist/browser/react/use-link-status.js +0 -99
  557. package/dist/browser/react/use-link-status.js.map +0 -1
  558. package/dist/browser/react/use-mount.d.ts +0 -25
  559. package/dist/browser/react/use-mount.d.ts.map +0 -1
  560. package/dist/browser/react/use-mount.js +0 -30
  561. package/dist/browser/react/use-mount.js.map +0 -1
  562. package/dist/browser/react/use-navigation.d.ts +0 -27
  563. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  564. package/dist/browser/react/use-navigation.js +0 -87
  565. package/dist/browser/react/use-navigation.js.map +0 -1
  566. package/dist/browser/react/use-segments.d.ts +0 -38
  567. package/dist/browser/react/use-segments.d.ts.map +0 -1
  568. package/dist/browser/react/use-segments.js +0 -130
  569. package/dist/browser/react/use-segments.js.map +0 -1
  570. package/dist/browser/request-controller.d.ts +0 -26
  571. package/dist/browser/request-controller.d.ts.map +0 -1
  572. package/dist/browser/request-controller.js +0 -147
  573. package/dist/browser/request-controller.js.map +0 -1
  574. package/dist/browser/rsc-router.d.ts +0 -129
  575. package/dist/browser/rsc-router.d.ts.map +0 -1
  576. package/dist/browser/rsc-router.js +0 -195
  577. package/dist/browser/rsc-router.js.map +0 -1
  578. package/dist/browser/scroll-restoration.d.ts +0 -93
  579. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  580. package/dist/browser/scroll-restoration.js +0 -321
  581. package/dist/browser/scroll-restoration.js.map +0 -1
  582. package/dist/browser/segment-structure-assert.d.ts +0 -17
  583. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  584. package/dist/browser/segment-structure-assert.js +0 -59
  585. package/dist/browser/segment-structure-assert.js.map +0 -1
  586. package/dist/browser/server-action-bridge.d.ts +0 -26
  587. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  588. package/dist/browser/server-action-bridge.js +0 -668
  589. package/dist/browser/server-action-bridge.js.map +0 -1
  590. package/dist/browser/shallow.d.ts +0 -12
  591. package/dist/browser/shallow.d.ts.map +0 -1
  592. package/dist/browser/shallow.js +0 -34
  593. package/dist/browser/shallow.js.map +0 -1
  594. package/dist/browser/types.d.ts +0 -369
  595. package/dist/browser/types.d.ts.map +0 -1
  596. package/dist/browser/types.js +0 -2
  597. package/dist/browser/types.js.map +0 -1
  598. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  599. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  600. package/dist/build/__tests__/generate-cli.test.js +0 -237
  601. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  602. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  603. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  604. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  605. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  606. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  607. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  608. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  609. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  610. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  611. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  612. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  613. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  614. package/dist/build/generate-manifest.d.ts +0 -81
  615. package/dist/build/generate-manifest.d.ts.map +0 -1
  616. package/dist/build/generate-manifest.js +0 -276
  617. package/dist/build/generate-manifest.js.map +0 -1
  618. package/dist/build/generate-route-types.d.ts +0 -115
  619. package/dist/build/generate-route-types.d.ts.map +0 -1
  620. package/dist/build/generate-route-types.js +0 -740
  621. package/dist/build/generate-route-types.js.map +0 -1
  622. package/dist/build/index.d.ts +0 -21
  623. package/dist/build/index.d.ts.map +0 -1
  624. package/dist/build/index.js +0 -21
  625. package/dist/build/index.js.map +0 -1
  626. package/dist/build/route-trie.d.ts +0 -71
  627. package/dist/build/route-trie.d.ts.map +0 -1
  628. package/dist/build/route-trie.js +0 -175
  629. package/dist/build/route-trie.js.map +0 -1
  630. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  631. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  632. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  633. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  634. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  635. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  636. package/dist/cache/__tests__/document-cache.test.js +0 -345
  637. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  638. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  639. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  640. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  641. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  642. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  643. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  644. package/dist/cache/__tests__/memory-store.test.js +0 -367
  645. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  646. package/dist/cache/cache-scope.d.ts +0 -102
  647. package/dist/cache/cache-scope.d.ts.map +0 -1
  648. package/dist/cache/cache-scope.js +0 -440
  649. package/dist/cache/cache-scope.js.map +0 -1
  650. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  651. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  652. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  653. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  654. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  655. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  656. package/dist/cache/cf/cf-cache-store.js +0 -242
  657. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  658. package/dist/cache/cf/index.d.ts +0 -14
  659. package/dist/cache/cf/index.d.ts.map +0 -1
  660. package/dist/cache/cf/index.js +0 -17
  661. package/dist/cache/cf/index.js.map +0 -1
  662. package/dist/cache/document-cache.d.ts +0 -64
  663. package/dist/cache/document-cache.d.ts.map +0 -1
  664. package/dist/cache/document-cache.js +0 -228
  665. package/dist/cache/document-cache.js.map +0 -1
  666. package/dist/cache/index.d.ts +0 -19
  667. package/dist/cache/index.d.ts.map +0 -1
  668. package/dist/cache/index.js +0 -21
  669. package/dist/cache/index.js.map +0 -1
  670. package/dist/cache/memory-segment-store.d.ts +0 -110
  671. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  672. package/dist/cache/memory-segment-store.js +0 -117
  673. package/dist/cache/memory-segment-store.js.map +0 -1
  674. package/dist/cache/memory-store.d.ts +0 -41
  675. package/dist/cache/memory-store.d.ts.map +0 -1
  676. package/dist/cache/memory-store.js +0 -191
  677. package/dist/cache/memory-store.js.map +0 -1
  678. package/dist/cache/types.d.ts +0 -317
  679. package/dist/cache/types.d.ts.map +0 -1
  680. package/dist/cache/types.js +0 -12
  681. package/dist/cache/types.js.map +0 -1
  682. package/dist/client.d.ts +0 -248
  683. package/dist/client.d.ts.map +0 -1
  684. package/dist/client.js +0 -367
  685. package/dist/client.js.map +0 -1
  686. package/dist/client.rsc.d.ts +0 -26
  687. package/dist/client.rsc.d.ts.map +0 -1
  688. package/dist/client.rsc.js +0 -46
  689. package/dist/client.rsc.js.map +0 -1
  690. package/dist/component-utils.d.ts +0 -36
  691. package/dist/component-utils.d.ts.map +0 -1
  692. package/dist/component-utils.js +0 -61
  693. package/dist/component-utils.js.map +0 -1
  694. package/dist/components/DefaultDocument.d.ts +0 -13
  695. package/dist/components/DefaultDocument.d.ts.map +0 -1
  696. package/dist/components/DefaultDocument.js +0 -15
  697. package/dist/components/DefaultDocument.js.map +0 -1
  698. package/dist/debug.d.ts +0 -58
  699. package/dist/debug.d.ts.map +0 -1
  700. package/dist/debug.js +0 -157
  701. package/dist/debug.js.map +0 -1
  702. package/dist/default-error-boundary.d.ts +0 -11
  703. package/dist/default-error-boundary.d.ts.map +0 -1
  704. package/dist/default-error-boundary.js +0 -45
  705. package/dist/default-error-boundary.js.map +0 -1
  706. package/dist/deps/browser.d.ts +0 -2
  707. package/dist/deps/browser.d.ts.map +0 -1
  708. package/dist/deps/browser.js +0 -3
  709. package/dist/deps/browser.js.map +0 -1
  710. package/dist/deps/html-stream-client.d.ts +0 -2
  711. package/dist/deps/html-stream-client.d.ts.map +0 -1
  712. package/dist/deps/html-stream-client.js +0 -3
  713. package/dist/deps/html-stream-client.js.map +0 -1
  714. package/dist/deps/html-stream-server.d.ts +0 -2
  715. package/dist/deps/html-stream-server.d.ts.map +0 -1
  716. package/dist/deps/html-stream-server.js +0 -3
  717. package/dist/deps/html-stream-server.js.map +0 -1
  718. package/dist/deps/rsc.d.ts +0 -2
  719. package/dist/deps/rsc.d.ts.map +0 -1
  720. package/dist/deps/rsc.js +0 -4
  721. package/dist/deps/rsc.js.map +0 -1
  722. package/dist/deps/ssr.d.ts +0 -2
  723. package/dist/deps/ssr.d.ts.map +0 -1
  724. package/dist/deps/ssr.js +0 -3
  725. package/dist/deps/ssr.js.map +0 -1
  726. package/dist/errors.d.ts +0 -174
  727. package/dist/errors.d.ts.map +0 -1
  728. package/dist/errors.js +0 -241
  729. package/dist/errors.js.map +0 -1
  730. package/dist/handle.d.ts +0 -78
  731. package/dist/handle.d.ts.map +0 -1
  732. package/dist/handle.js +0 -82
  733. package/dist/handle.js.map +0 -1
  734. package/dist/handles/MetaTags.d.ts +0 -14
  735. package/dist/handles/MetaTags.d.ts.map +0 -1
  736. package/dist/handles/MetaTags.js +0 -136
  737. package/dist/handles/MetaTags.js.map +0 -1
  738. package/dist/handles/index.d.ts +0 -6
  739. package/dist/handles/index.d.ts.map +0 -1
  740. package/dist/handles/index.js +0 -6
  741. package/dist/handles/index.js.map +0 -1
  742. package/dist/handles/meta.d.ts +0 -39
  743. package/dist/handles/meta.d.ts.map +0 -1
  744. package/dist/handles/meta.js +0 -202
  745. package/dist/handles/meta.js.map +0 -1
  746. package/dist/host/__tests__/errors.test.d.ts +0 -2
  747. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  748. package/dist/host/__tests__/errors.test.js +0 -76
  749. package/dist/host/__tests__/errors.test.js.map +0 -1
  750. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  751. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  752. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  753. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  754. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  755. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  756. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  757. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  758. package/dist/host/__tests__/router.test.d.ts +0 -2
  759. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  760. package/dist/host/__tests__/router.test.js +0 -241
  761. package/dist/host/__tests__/router.test.js.map +0 -1
  762. package/dist/host/__tests__/testing.test.d.ts +0 -2
  763. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  764. package/dist/host/__tests__/testing.test.js +0 -64
  765. package/dist/host/__tests__/testing.test.js.map +0 -1
  766. package/dist/host/__tests__/utils.test.d.ts +0 -2
  767. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  768. package/dist/host/__tests__/utils.test.js +0 -29
  769. package/dist/host/__tests__/utils.test.js.map +0 -1
  770. package/dist/host/cookie-handler.d.ts +0 -34
  771. package/dist/host/cookie-handler.d.ts.map +0 -1
  772. package/dist/host/cookie-handler.js +0 -124
  773. package/dist/host/cookie-handler.js.map +0 -1
  774. package/dist/host/errors.d.ts +0 -56
  775. package/dist/host/errors.d.ts.map +0 -1
  776. package/dist/host/errors.js +0 -79
  777. package/dist/host/errors.js.map +0 -1
  778. package/dist/host/index.d.ts +0 -29
  779. package/dist/host/index.d.ts.map +0 -1
  780. package/dist/host/index.js +0 -32
  781. package/dist/host/index.js.map +0 -1
  782. package/dist/host/pattern-matcher.d.ts +0 -36
  783. package/dist/host/pattern-matcher.d.ts.map +0 -1
  784. package/dist/host/pattern-matcher.js +0 -172
  785. package/dist/host/pattern-matcher.js.map +0 -1
  786. package/dist/host/router.d.ts +0 -26
  787. package/dist/host/router.d.ts.map +0 -1
  788. package/dist/host/router.js +0 -218
  789. package/dist/host/router.js.map +0 -1
  790. package/dist/host/testing.d.ts +0 -36
  791. package/dist/host/testing.d.ts.map +0 -1
  792. package/dist/host/testing.js +0 -55
  793. package/dist/host/testing.js.map +0 -1
  794. package/dist/host/types.d.ts +0 -115
  795. package/dist/host/types.d.ts.map +0 -1
  796. package/dist/host/types.js +0 -7
  797. package/dist/host/types.js.map +0 -1
  798. package/dist/host/utils.d.ts +0 -21
  799. package/dist/host/utils.d.ts.map +0 -1
  800. package/dist/host/utils.js +0 -23
  801. package/dist/host/utils.js.map +0 -1
  802. package/dist/href-client.d.ts +0 -131
  803. package/dist/href-client.d.ts.map +0 -1
  804. package/dist/href-client.js +0 -64
  805. package/dist/href-client.js.map +0 -1
  806. package/dist/href-context.d.ts +0 -29
  807. package/dist/href-context.d.ts.map +0 -1
  808. package/dist/href-context.js +0 -21
  809. package/dist/href-context.js.map +0 -1
  810. package/dist/index.d.ts +0 -73
  811. package/dist/index.d.ts.map +0 -1
  812. package/dist/index.js +0 -91
  813. package/dist/index.js.map +0 -1
  814. package/dist/index.rsc.d.ts +0 -32
  815. package/dist/index.rsc.d.ts.map +0 -1
  816. package/dist/index.rsc.js +0 -40
  817. package/dist/index.rsc.js.map +0 -1
  818. package/dist/internal-debug.d.ts +0 -2
  819. package/dist/internal-debug.d.ts.map +0 -1
  820. package/dist/internal-debug.js +0 -5
  821. package/dist/internal-debug.js.map +0 -1
  822. package/dist/loader.d.ts +0 -14
  823. package/dist/loader.d.ts.map +0 -1
  824. package/dist/loader.js +0 -20
  825. package/dist/loader.js.map +0 -1
  826. package/dist/loader.rsc.d.ts +0 -19
  827. package/dist/loader.rsc.d.ts.map +0 -1
  828. package/dist/loader.rsc.js +0 -99
  829. package/dist/loader.rsc.js.map +0 -1
  830. package/dist/network-error-thrower.d.ts +0 -17
  831. package/dist/network-error-thrower.d.ts.map +0 -1
  832. package/dist/network-error-thrower.js +0 -14
  833. package/dist/network-error-thrower.js.map +0 -1
  834. package/dist/outlet-context.d.ts +0 -13
  835. package/dist/outlet-context.d.ts.map +0 -1
  836. package/dist/outlet-context.js +0 -3
  837. package/dist/outlet-context.js.map +0 -1
  838. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  839. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  840. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  841. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  842. package/dist/prerender/param-hash.d.ts +0 -16
  843. package/dist/prerender/param-hash.d.ts.map +0 -1
  844. package/dist/prerender/param-hash.js +0 -36
  845. package/dist/prerender/param-hash.js.map +0 -1
  846. package/dist/prerender/store.d.ts +0 -38
  847. package/dist/prerender/store.d.ts.map +0 -1
  848. package/dist/prerender/store.js +0 -61
  849. package/dist/prerender/store.js.map +0 -1
  850. package/dist/prerender.d.ts +0 -66
  851. package/dist/prerender.d.ts.map +0 -1
  852. package/dist/prerender.js +0 -57
  853. package/dist/prerender.js.map +0 -1
  854. package/dist/reverse.d.ts +0 -196
  855. package/dist/reverse.d.ts.map +0 -1
  856. package/dist/reverse.js +0 -78
  857. package/dist/reverse.js.map +0 -1
  858. package/dist/root-error-boundary.d.ts +0 -33
  859. package/dist/root-error-boundary.d.ts.map +0 -1
  860. package/dist/root-error-boundary.js +0 -165
  861. package/dist/root-error-boundary.js.map +0 -1
  862. package/dist/route-content-wrapper.d.ts +0 -46
  863. package/dist/route-content-wrapper.d.ts.map +0 -1
  864. package/dist/route-content-wrapper.js +0 -77
  865. package/dist/route-content-wrapper.js.map +0 -1
  866. package/dist/route-definition.d.ts +0 -421
  867. package/dist/route-definition.d.ts.map +0 -1
  868. package/dist/route-definition.js +0 -868
  869. package/dist/route-definition.js.map +0 -1
  870. package/dist/route-map-builder.d.ts +0 -155
  871. package/dist/route-map-builder.d.ts.map +0 -1
  872. package/dist/route-map-builder.js +0 -237
  873. package/dist/route-map-builder.js.map +0 -1
  874. package/dist/route-types.d.ts +0 -165
  875. package/dist/route-types.d.ts.map +0 -1
  876. package/dist/route-types.js +0 -7
  877. package/dist/route-types.js.map +0 -1
  878. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  879. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  880. package/dist/router/__tests__/handler-context.test.js +0 -65
  881. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  882. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  883. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  884. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  885. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  886. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  887. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  888. package/dist/router/__tests__/match-context.test.js +0 -92
  889. package/dist/router/__tests__/match-context.test.js.map +0 -1
  890. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  891. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  892. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  893. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  894. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  895. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  896. package/dist/router/__tests__/match-result.test.js +0 -457
  897. package/dist/router/__tests__/match-result.test.js.map +0 -1
  898. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  899. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  900. package/dist/router/__tests__/on-error.test.js +0 -678
  901. package/dist/router/__tests__/on-error.test.js.map +0 -1
  902. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  903. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  904. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  905. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  906. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  907. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  908. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  909. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  910. package/dist/router/error-handling.d.ts +0 -77
  911. package/dist/router/error-handling.d.ts.map +0 -1
  912. package/dist/router/error-handling.js +0 -202
  913. package/dist/router/error-handling.js.map +0 -1
  914. package/dist/router/handler-context.d.ts +0 -20
  915. package/dist/router/handler-context.d.ts.map +0 -1
  916. package/dist/router/handler-context.js +0 -198
  917. package/dist/router/handler-context.js.map +0 -1
  918. package/dist/router/intercept-resolution.d.ts +0 -66
  919. package/dist/router/intercept-resolution.d.ts.map +0 -1
  920. package/dist/router/intercept-resolution.js +0 -246
  921. package/dist/router/intercept-resolution.js.map +0 -1
  922. package/dist/router/loader-resolution.d.ts +0 -64
  923. package/dist/router/loader-resolution.d.ts.map +0 -1
  924. package/dist/router/loader-resolution.js +0 -284
  925. package/dist/router/loader-resolution.js.map +0 -1
  926. package/dist/router/logging.d.ts +0 -15
  927. package/dist/router/logging.d.ts.map +0 -1
  928. package/dist/router/logging.js +0 -99
  929. package/dist/router/logging.js.map +0 -1
  930. package/dist/router/manifest.d.ts +0 -22
  931. package/dist/router/manifest.d.ts.map +0 -1
  932. package/dist/router/manifest.js +0 -181
  933. package/dist/router/manifest.js.map +0 -1
  934. package/dist/router/match-api.d.ts +0 -35
  935. package/dist/router/match-api.d.ts.map +0 -1
  936. package/dist/router/match-api.js +0 -406
  937. package/dist/router/match-api.js.map +0 -1
  938. package/dist/router/match-context.d.ts +0 -206
  939. package/dist/router/match-context.d.ts.map +0 -1
  940. package/dist/router/match-context.js +0 -17
  941. package/dist/router/match-context.js.map +0 -1
  942. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  943. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  944. package/dist/router/match-middleware/background-revalidation.js +0 -75
  945. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  946. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  947. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  948. package/dist/router/match-middleware/cache-lookup.js +0 -257
  949. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  950. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  951. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  952. package/dist/router/match-middleware/cache-store.js +0 -108
  953. package/dist/router/match-middleware/cache-store.js.map +0 -1
  954. package/dist/router/match-middleware/index.d.ts +0 -81
  955. package/dist/router/match-middleware/index.d.ts.map +0 -1
  956. package/dist/router/match-middleware/index.js +0 -80
  957. package/dist/router/match-middleware/index.js.map +0 -1
  958. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  959. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  960. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  961. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  962. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  963. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  964. package/dist/router/match-middleware/segment-resolution.js +0 -53
  965. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  966. package/dist/router/match-pipelines.d.ts +0 -147
  967. package/dist/router/match-pipelines.d.ts.map +0 -1
  968. package/dist/router/match-pipelines.js +0 -82
  969. package/dist/router/match-pipelines.js.map +0 -1
  970. package/dist/router/match-result.d.ts +0 -126
  971. package/dist/router/match-result.d.ts.map +0 -1
  972. package/dist/router/match-result.js +0 -93
  973. package/dist/router/match-result.js.map +0 -1
  974. package/dist/router/metrics.d.ts +0 -20
  975. package/dist/router/metrics.d.ts.map +0 -1
  976. package/dist/router/metrics.js +0 -47
  977. package/dist/router/metrics.js.map +0 -1
  978. package/dist/router/middleware.d.ts +0 -249
  979. package/dist/router/middleware.d.ts.map +0 -1
  980. package/dist/router/middleware.js +0 -434
  981. package/dist/router/middleware.js.map +0 -1
  982. package/dist/router/middleware.test.d.ts +0 -2
  983. package/dist/router/middleware.test.d.ts.map +0 -1
  984. package/dist/router/middleware.test.js +0 -816
  985. package/dist/router/middleware.test.js.map +0 -1
  986. package/dist/router/pattern-matching.d.ts +0 -149
  987. package/dist/router/pattern-matching.d.ts.map +0 -1
  988. package/dist/router/pattern-matching.js +0 -349
  989. package/dist/router/pattern-matching.js.map +0 -1
  990. package/dist/router/revalidation.d.ts +0 -44
  991. package/dist/router/revalidation.d.ts.map +0 -1
  992. package/dist/router/revalidation.js +0 -147
  993. package/dist/router/revalidation.js.map +0 -1
  994. package/dist/router/router-context.d.ts +0 -135
  995. package/dist/router/router-context.d.ts.map +0 -1
  996. package/dist/router/router-context.js +0 -36
  997. package/dist/router/router-context.js.map +0 -1
  998. package/dist/router/segment-resolution.d.ts +0 -127
  999. package/dist/router/segment-resolution.d.ts.map +0 -1
  1000. package/dist/router/segment-resolution.js +0 -919
  1001. package/dist/router/segment-resolution.js.map +0 -1
  1002. package/dist/router/trie-matching.d.ts +0 -40
  1003. package/dist/router/trie-matching.d.ts.map +0 -1
  1004. package/dist/router/trie-matching.js +0 -127
  1005. package/dist/router/trie-matching.js.map +0 -1
  1006. package/dist/router/types.d.ts +0 -136
  1007. package/dist/router/types.d.ts.map +0 -1
  1008. package/dist/router/types.js +0 -7
  1009. package/dist/router/types.js.map +0 -1
  1010. package/dist/router.d.ts +0 -753
  1011. package/dist/router.d.ts.map +0 -1
  1012. package/dist/router.gen.d.ts +0 -6
  1013. package/dist/router.gen.d.ts.map +0 -1
  1014. package/dist/router.gen.js +0 -6
  1015. package/dist/router.gen.js.map +0 -1
  1016. package/dist/router.js +0 -1304
  1017. package/dist/router.js.map +0 -1
  1018. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1019. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1020. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1021. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1022. package/dist/rsc/handler.d.ts +0 -45
  1023. package/dist/rsc/handler.d.ts.map +0 -1
  1024. package/dist/rsc/handler.js +0 -1172
  1025. package/dist/rsc/handler.js.map +0 -1
  1026. package/dist/rsc/helpers.d.ts +0 -16
  1027. package/dist/rsc/helpers.d.ts.map +0 -1
  1028. package/dist/rsc/helpers.js +0 -55
  1029. package/dist/rsc/helpers.js.map +0 -1
  1030. package/dist/rsc/index.d.ts +0 -22
  1031. package/dist/rsc/index.d.ts.map +0 -1
  1032. package/dist/rsc/index.js +0 -23
  1033. package/dist/rsc/index.js.map +0 -1
  1034. package/dist/rsc/nonce.d.ts +0 -9
  1035. package/dist/rsc/nonce.d.ts.map +0 -1
  1036. package/dist/rsc/nonce.js +0 -18
  1037. package/dist/rsc/nonce.js.map +0 -1
  1038. package/dist/rsc/types.d.ts +0 -206
  1039. package/dist/rsc/types.d.ts.map +0 -1
  1040. package/dist/rsc/types.js +0 -8
  1041. package/dist/rsc/types.js.map +0 -1
  1042. package/dist/search-params.d.ts +0 -103
  1043. package/dist/search-params.d.ts.map +0 -1
  1044. package/dist/search-params.js +0 -74
  1045. package/dist/search-params.js.map +0 -1
  1046. package/dist/segment-system.d.ts +0 -75
  1047. package/dist/segment-system.d.ts.map +0 -1
  1048. package/dist/segment-system.js +0 -336
  1049. package/dist/segment-system.js.map +0 -1
  1050. package/dist/server/context.d.ts +0 -245
  1051. package/dist/server/context.d.ts.map +0 -1
  1052. package/dist/server/context.js +0 -197
  1053. package/dist/server/context.js.map +0 -1
  1054. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1055. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1056. package/dist/server/fetchable-loader-store.js +0 -18
  1057. package/dist/server/fetchable-loader-store.js.map +0 -1
  1058. package/dist/server/handle-store.d.ts +0 -85
  1059. package/dist/server/handle-store.d.ts.map +0 -1
  1060. package/dist/server/handle-store.js +0 -142
  1061. package/dist/server/handle-store.js.map +0 -1
  1062. package/dist/server/loader-registry.d.ts +0 -55
  1063. package/dist/server/loader-registry.d.ts.map +0 -1
  1064. package/dist/server/loader-registry.js +0 -132
  1065. package/dist/server/loader-registry.js.map +0 -1
  1066. package/dist/server/request-context.d.ts +0 -226
  1067. package/dist/server/request-context.d.ts.map +0 -1
  1068. package/dist/server/request-context.js +0 -290
  1069. package/dist/server/request-context.js.map +0 -1
  1070. package/dist/server/root-layout.d.ts +0 -4
  1071. package/dist/server/root-layout.d.ts.map +0 -1
  1072. package/dist/server/root-layout.js +0 -5
  1073. package/dist/server/root-layout.js.map +0 -1
  1074. package/dist/server.d.ts +0 -15
  1075. package/dist/server.d.ts.map +0 -1
  1076. package/dist/server.js +0 -20
  1077. package/dist/server.js.map +0 -1
  1078. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1079. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1080. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1081. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1082. package/dist/ssr/index.d.ts +0 -98
  1083. package/dist/ssr/index.d.ts.map +0 -1
  1084. package/dist/ssr/index.js +0 -158
  1085. package/dist/ssr/index.js.map +0 -1
  1086. package/dist/static-handler.d.ts +0 -50
  1087. package/dist/static-handler.d.ts.map +0 -1
  1088. package/dist/static-handler.gen.d.ts +0 -5
  1089. package/dist/static-handler.gen.d.ts.map +0 -1
  1090. package/dist/static-handler.gen.js +0 -5
  1091. package/dist/static-handler.gen.js.map +0 -1
  1092. package/dist/static-handler.js +0 -29
  1093. package/dist/static-handler.js.map +0 -1
  1094. package/dist/theme/ThemeProvider.d.ts +0 -20
  1095. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  1096. package/dist/theme/ThemeProvider.js +0 -240
  1097. package/dist/theme/ThemeProvider.js.map +0 -1
  1098. package/dist/theme/ThemeScript.d.ts +0 -48
  1099. package/dist/theme/ThemeScript.d.ts.map +0 -1
  1100. package/dist/theme/ThemeScript.js +0 -13
  1101. package/dist/theme/ThemeScript.js.map +0 -1
  1102. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1103. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1104. package/dist/theme/__tests__/theme.test.js +0 -103
  1105. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1106. package/dist/theme/constants.d.ts +0 -29
  1107. package/dist/theme/constants.d.ts.map +0 -1
  1108. package/dist/theme/constants.js +0 -48
  1109. package/dist/theme/constants.js.map +0 -1
  1110. package/dist/theme/index.d.ts +0 -31
  1111. package/dist/theme/index.d.ts.map +0 -1
  1112. package/dist/theme/index.js +0 -36
  1113. package/dist/theme/index.js.map +0 -1
  1114. package/dist/theme/theme-context.d.ts +0 -40
  1115. package/dist/theme/theme-context.d.ts.map +0 -1
  1116. package/dist/theme/theme-context.js +0 -60
  1117. package/dist/theme/theme-context.js.map +0 -1
  1118. package/dist/theme/theme-script.d.ts +0 -27
  1119. package/dist/theme/theme-script.d.ts.map +0 -1
  1120. package/dist/theme/theme-script.js +0 -147
  1121. package/dist/theme/theme-script.js.map +0 -1
  1122. package/dist/theme/types.d.ts +0 -163
  1123. package/dist/theme/types.d.ts.map +0 -1
  1124. package/dist/theme/types.js +0 -11
  1125. package/dist/theme/types.js.map +0 -1
  1126. package/dist/theme/use-theme.d.ts +0 -12
  1127. package/dist/theme/use-theme.d.ts.map +0 -1
  1128. package/dist/theme/use-theme.js +0 -40
  1129. package/dist/theme/use-theme.js.map +0 -1
  1130. package/dist/types.d.ts +0 -1479
  1131. package/dist/types.d.ts.map +0 -1
  1132. package/dist/types.js +0 -10
  1133. package/dist/types.js.map +0 -1
  1134. package/dist/urls.d.ts +0 -441
  1135. package/dist/urls.d.ts.map +0 -1
  1136. package/dist/urls.gen.d.ts +0 -8
  1137. package/dist/urls.gen.d.ts.map +0 -1
  1138. package/dist/urls.gen.js +0 -8
  1139. package/dist/urls.gen.js.map +0 -1
  1140. package/dist/urls.js +0 -443
  1141. package/dist/urls.js.map +0 -1
  1142. package/dist/use-loader.d.ts +0 -127
  1143. package/dist/use-loader.d.ts.map +0 -1
  1144. package/dist/use-loader.js +0 -237
  1145. package/dist/use-loader.js.map +0 -1
  1146. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  1147. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  1148. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  1149. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1150. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1151. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1152. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1153. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1154. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1155. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1156. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1157. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1158. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1159. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1160. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1161. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1162. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1163. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1164. package/dist/vite/ast-handler-extract.js +0 -249
  1165. package/dist/vite/ast-handler-extract.js.map +0 -1
  1166. package/dist/vite/expose-action-id.d.ts +0 -19
  1167. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1168. package/dist/vite/expose-action-id.js +0 -250
  1169. package/dist/vite/expose-action-id.js.map +0 -1
  1170. package/dist/vite/expose-id-utils.d.ts +0 -69
  1171. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1172. package/dist/vite/expose-id-utils.js +0 -289
  1173. package/dist/vite/expose-id-utils.js.map +0 -1
  1174. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1175. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1176. package/dist/vite/expose-internal-ids.js +0 -886
  1177. package/dist/vite/expose-internal-ids.js.map +0 -1
  1178. package/dist/vite/index.d.ts +0 -149
  1179. package/dist/vite/index.d.ts.map +0 -1
  1180. package/dist/vite/index.js.bak +0 -5448
  1181. package/dist/vite/index.js.map +0 -1
  1182. package/dist/vite/index.named-routes.gen.ts +0 -103
  1183. package/dist/vite/package-resolution.d.ts +0 -43
  1184. package/dist/vite/package-resolution.d.ts.map +0 -1
  1185. package/dist/vite/package-resolution.js +0 -112
  1186. package/dist/vite/package-resolution.js.map +0 -1
  1187. package/dist/vite/virtual-entries.d.ts +0 -25
  1188. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1189. package/dist/vite/virtual-entries.js +0 -110
  1190. package/dist/vite/virtual-entries.js.map +0 -1
  1191. package/src/browser/action-response-classifier.ts +0 -99
  1192. package/src/browser/react/use-client-cache.ts +0 -58
  1193. package/src/browser/shallow.ts +0 -40
  1194. package/src/handles/index.ts +0 -7
  1195. package/src/network-error-thrower.tsx +0 -23
  1196. package/src/router/middleware-cookies.ts +0 -55
@@ -1,75 +0,0 @@
1
- import type { NavigationStore, NavigationClient, UpdateSubscriber, ResolvedSegment } from "./types.js";
2
- import type { ReactNode } from "react";
3
- import type { RenderSegmentsOptions } from "../segment-system.js";
4
- import type { BoundTransaction } from "./navigation-bridge.js";
5
- /**
6
- * Configuration for creating a partial updater
7
- */
8
- export interface PartialUpdateConfig {
9
- store: NavigationStore;
10
- client: NavigationClient;
11
- onUpdate: UpdateSubscriber;
12
- renderSegments: (segments: ResolvedSegment[], options?: RenderSegmentsOptions) => Promise<ReactNode> | ReactNode;
13
- /** RSC version received from server (from initial payload metadata) */
14
- version?: string;
15
- }
16
- /**
17
- * Options that can override the pre-configured commit settings
18
- */
19
- export interface CommitOverrides {
20
- /** Override scroll behavior (e.g., disable for intercepts) */
21
- scroll?: boolean;
22
- /** Override replace behavior (e.g., force replace for intercepts) */
23
- replace?: boolean;
24
- /** Mark this as an intercept route */
25
- intercept?: boolean;
26
- /** Source URL where intercept was triggered from */
27
- interceptSourceUrl?: string;
28
- }
29
- /**
30
- * Commit context passed to partial updater for URL updates
31
- * Transaction encapsulates all store mutations for atomic commit
32
- */
33
- /**
34
- * Type for the fetchPartialUpdate function
35
- */
36
- export type PartialUpdater = (targetUrl: string, segmentIds: string[] | undefined, isRetry: boolean, signal: AbortSignal | undefined, type: BoundTransaction, options?: {
37
- isAction?: boolean;
38
- staleRevalidation?: boolean;
39
- interceptSourceUrl?: string;
40
- /** Cached segments for the target URL. When provided, these are used to build
41
- * the segment map instead of the current page's segments. This ensures consistency
42
- * when we send cached segment IDs to the server - if the server returns empty diff,
43
- * we use the same segments we told the server we have. */
44
- targetCacheSegments?: ResolvedSegment[];
45
- /** Cached handle data for the target URL. When server returns empty diff and we're
46
- * rendering from cache, this is passed to the UI to restore breadcrumbs etc. */
47
- targetCacheHandleData?: Record<string, Record<string, unknown[]>>;
48
- /** When true, we're leaving an intercept state - don't use current segment IDs
49
- * as fallback and force a fresh render from server */
50
- leavingIntercept?: boolean;
51
- }) => Promise<Promise<void>>;
52
- /**
53
- * Create a partial updater for fetching and applying RSC partial updates
54
- *
55
- * This function is shared between navigation-bridge and server-action-bridge
56
- * to handle partial RSC updates with HMR resilience.
57
- *
58
- * @param config - Partial update configuration
59
- * @returns fetchPartialUpdate function
60
- *
61
- * @example
62
- * ```typescript
63
- * const fetchPartialUpdate = createPartialUpdater({
64
- * store,
65
- * client,
66
- * onUpdate: (update) => store.emit(update),
67
- * renderSegments,
68
- * });
69
- *
70
- * await fetchPartialUpdate('/new-page');
71
- * ```
72
- */
73
- export declare function createPartialUpdater(config: PartialUpdateConfig): PartialUpdater;
74
- export { createPartialUpdater as default };
75
- //# sourceMappingURL=partial-update.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"partial-update.d.ts","sourceRoot":"","sources":["../../src/browser/partial-update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAOlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,cAAc,EAAE,CACd,QAAQ,EAAE,eAAe,EAAE,EAC3B,OAAO,CAAC,EAAE,qBAAqB,KAC5B,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACpC,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,IAAI,EAAE,gBAAgB,EACtB,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;8DAG0D;IAC1D,mBAAmB,CAAC,EAAE,eAAe,EAAE,CAAC;IACxC;oFACgF;IAChF,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAClE;0DACsD;IACtD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,KACE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,mBAAmB,GAC1B,cAAc,CAigBhB;AAED,OAAO,EAAE,oBAAoB,IAAI,OAAO,EAAE,CAAC"}
@@ -1,426 +0,0 @@
1
- import { startTransition } from "react";
2
- import { mergeSegmentLoaders, needsLoaderMerge, insertMissingDiffSegments, } from "./merge-segment-loaders.js";
3
- import { assertSegmentStructure } from "./segment-structure-assert.js";
4
- /**
5
- * Create a partial updater for fetching and applying RSC partial updates
6
- *
7
- * This function is shared between navigation-bridge and server-action-bridge
8
- * to handle partial RSC updates with HMR resilience.
9
- *
10
- * @param config - Partial update configuration
11
- * @returns fetchPartialUpdate function
12
- *
13
- * @example
14
- * ```typescript
15
- * const fetchPartialUpdate = createPartialUpdater({
16
- * store,
17
- * client,
18
- * onUpdate: (update) => store.emit(update),
19
- * renderSegments,
20
- * });
21
- *
22
- * await fetchPartialUpdate('/new-page');
23
- * ```
24
- */
25
- export function createPartialUpdater(config) {
26
- const { store, client, onUpdate, renderSegments, version } = config;
27
- /**
28
- * Build a lookup map from current page's cached segments
29
- */
30
- function getCurrentSegmentMap() {
31
- const currentKey = store.getHistoryKey();
32
- const cached = store.getCachedSegments(currentKey);
33
- const cachedSegments = cached?.segments || [];
34
- const map = new Map();
35
- cachedSegments.forEach((s) => map.set(s.id, s));
36
- return map;
37
- }
38
- /**
39
- * Fetch partial update and trigger UI update
40
- * Returns a promise that resolves when the RSC stream is fully consumed
41
- *
42
- * @param tx - Transaction for committing segment state (required)
43
- * @param signal - AbortSignal to check if navigation is stale (not for aborting fetch)
44
- */
45
- async function fetchPartialUpdate(targetUrl, segmentIds, isRetry, signal, tx, options) {
46
- const { isAction = false, staleRevalidation = false, interceptSourceUrl, targetCacheSegments, targetCacheHandleData, leavingIntercept = false, } = options || {};
47
- const segmentState = store.getSegmentState();
48
- const url = targetUrl || window.location.href;
49
- // Capture history key at start for stale revalidation consistency check
50
- const historyKeyAtStart = store.getHistoryKey();
51
- // When leaving intercept, don't send current segment IDs - we need fresh non-intercept segments
52
- // Filter out intercept-related segments (parallel slots like @modal) from current segments
53
- let segments;
54
- if (leavingIntercept) {
55
- // When leaving intercept, only send segments that aren't intercept-specific
56
- // The server will return the non-intercept version of the route
57
- const currentSegments = segmentIds ?? segmentState.currentSegmentIds;
58
- // Filter out intercept-specific parallel slots (containing ".@") so the
59
- // server resolves the base route instead of the modal overlay.
60
- segments = currentSegments.filter((id) => !id.includes(".@"));
61
- console.log(`[Browser] Leaving intercept - filtered segments: ${segments.join(", ")}`);
62
- }
63
- else {
64
- segments = segmentIds ?? segmentState.currentSegmentIds;
65
- }
66
- // For intercept revalidation, use the intercept source URL as previousUrl
67
- // This tells the server the route should be treated as an intercept
68
- const previousUrl = interceptSourceUrl || tx.currentUrl || segmentState.currentUrl;
69
- console.log(`\n[Browser] >>> NAVIGATION`);
70
- console.log(`[Browser] From: ${previousUrl}`);
71
- console.log(`[Browser] To: ${url}`);
72
- console.log(`[Browser] Segments to send: ${segments.join(", ")}`);
73
- if (interceptSourceUrl) {
74
- console.log(`[Browser] Intercept context from: ${interceptSourceUrl}`);
75
- }
76
- // Build segment map for merging with server diff.
77
- // When targetCacheSegments is provided (navigating to a cached route), use those
78
- // to ensure consistency - we use the same segments we told the server we have.
79
- // Otherwise fall back to current page's segments (for same-route revalidation).
80
- let currentSegmentMap;
81
- if (targetCacheSegments && targetCacheSegments.length > 0) {
82
- currentSegmentMap = new Map();
83
- targetCacheSegments.forEach((s) => currentSegmentMap.set(s.id, s));
84
- }
85
- else {
86
- currentSegmentMap = getCurrentSegmentMap();
87
- }
88
- // Mark navigation as streaming (response received, now parsing RSC)
89
- // The token is ended when the stream completes
90
- const streamingToken = tx.startStreaming();
91
- // Fetch partial payload (no abort signal - RSC doesn't support it well)
92
- // Wrapped in try/catch to ensure streamingToken.end() is called if fetch throws,
93
- // preventing isStreaming from being permanently stuck as true.
94
- let fetchResult;
95
- try {
96
- fetchResult = await client.fetchPartial({
97
- targetUrl: url,
98
- segmentIds: segments,
99
- previousUrl,
100
- staleRevalidation,
101
- version,
102
- });
103
- }
104
- catch (err) {
105
- streamingToken.end();
106
- throw err;
107
- }
108
- const { payload, streamComplete: rawStreamComplete } = fetchResult;
109
- console.log("payload.metadata", payload.metadata);
110
- const streamComplete = rawStreamComplete.then(() => {
111
- streamingToken.end();
112
- });
113
- if (payload.metadata?.isPartial) {
114
- const { segments: newSegments, matched, diff } = payload.metadata;
115
- // Check if this navigation is stale (a newer one started)
116
- if (signal?.aborted) {
117
- console.log(`[Browser] Ignoring stale navigation (aborted)`);
118
- return streamComplete;
119
- }
120
- console.log(`[Browser] Partial update - matched: ${matched?.join(", ")}`);
121
- console.log(`[Browser] Diff: ${diff?.join(", ")}`);
122
- // Create lookup for new segments from server
123
- const newSegmentMap = new Map();
124
- (newSegments || []).forEach((s) => newSegmentMap.set(s.id, s));
125
- // If diff is empty, nothing changed on server side.
126
- // However, if we're navigating with targetCacheSegments (to a different route),
127
- // we still need to render those segments since the UI is showing the old route.
128
- if (!diff || diff.length === 0) {
129
- const matchedIds = matched || [];
130
- const existingSegments = matchedIds
131
- .map((id) => currentSegmentMap.get(id))
132
- .filter(Boolean);
133
- // When navigating with cached segments to a different route, render them.
134
- // targetCacheSegments being provided means we're navigating to a cached route.
135
- if (targetCacheSegments && targetCacheSegments.length > 0) {
136
- console.log(`[Browser] No diff but navigating with cached segments - rendering target route`);
137
- const newTree = await renderSegments(existingSegments, {
138
- forceAwait: true,
139
- });
140
- tx.commit(matchedIds, existingSegments);
141
- // Include cachedHandleData in metadata so NavigationProvider can restore
142
- // breadcrumbs and other handle data from cache.
143
- // IMPORTANT: Remove `handles` from metadata to prevent NavigationProvider from
144
- // processing an empty handles stream, which would clear the cached breadcrumbs.
145
- // When rendering from cache with empty diff, we want to use cachedHandleData instead.
146
- const { handles: _unusedHandles, ...metadataWithoutHandles } = payload.metadata;
147
- onUpdate({
148
- root: newTree,
149
- metadata: {
150
- ...metadataWithoutHandles,
151
- cachedHandleData: targetCacheHandleData,
152
- },
153
- });
154
- console.log(`[Browser] Navigation complete (rendered from cache)\n`);
155
- return streamComplete;
156
- }
157
- // When leaving intercept, force re-render even with empty diff
158
- // The matched segments are the non-intercept segments, which we need to render
159
- // to remove the modal from the UI
160
- if (leavingIntercept) {
161
- console.log(`[Browser] Leaving intercept - forcing re-render to remove modal`);
162
- const newTree = await renderSegments(existingSegments, {
163
- forceAwait: true,
164
- });
165
- tx.commit(matchedIds, existingSegments);
166
- onUpdate({
167
- root: newTree,
168
- metadata: payload.metadata,
169
- });
170
- console.log(`[Browser] Navigation complete (left intercept)\n`);
171
- return streamComplete;
172
- }
173
- // Same route revalidation with no changes - skip UI update
174
- console.log(`[Browser] No changes - all revalidations returned false, keeping existing UI`);
175
- tx.commit(matchedIds, existingSegments);
176
- console.log(`[Browser] Navigation complete (no re-render)\n`);
177
- return streamComplete;
178
- }
179
- // Build full segment list by merging:
180
- // - New/changed segments from server response (diff)
181
- // - Unchanged segments from current page's cache
182
- const matchedIds = matched || [];
183
- console.log(`[Browser] matchedIds: ${matchedIds.join(", ")}`);
184
- console.log(`[Browser] currentSegmentMap keys: ${[...currentSegmentMap.keys()].join(", ")}`);
185
- console.log(`[Browser] newSegmentMap keys: ${[...newSegmentMap.keys()].join(", ")}`, newSegmentMap);
186
- // First pass: build segments from matched IDs
187
- const matchedIdSet = new Set(matchedIds);
188
- const allSegments = matchedIds
189
- .map((id) => {
190
- // First check server response (new/updated segments)
191
- const fromServer = newSegmentMap.get(id);
192
- if (fromServer) {
193
- // For partial revalidation (stale or action), merge server's new loader data
194
- // with cached loader data when server returns fewer loaders than cached
195
- const fromCache = currentSegmentMap.get(id);
196
- // Dev-mode assertion: warn if tree structure would change
197
- if (fromCache) {
198
- assertSegmentStructure(fromCache, fromServer, "partial-update");
199
- }
200
- if ((staleRevalidation || isAction) &&
201
- needsLoaderMerge(fromServer, fromCache)) {
202
- return mergeSegmentLoaders(fromServer, fromCache);
203
- }
204
- // Preserve cached structural properties to maintain consistent React tree.
205
- // The server may return different values for loading (isSSR context) and
206
- // mountPath (include scope), which change the element nesting depth
207
- // (with/without RouteContentWrapper, MountContextProvider).
208
- if (fromCache) {
209
- let merged = fromServer;
210
- // When server returns component: null for a layout segment, it means
211
- // "this segment doesn't need re-rendering" - preserve the cached component
212
- // to maintain the outlet chain and prevent React tree changes
213
- if (fromServer.component === null &&
214
- fromServer.type === "layout" &&
215
- fromCache.component != null) {
216
- merged = { ...merged, component: fromCache.component };
217
- }
218
- if (fromCache.loading !== undefined &&
219
- fromServer.loading !== fromCache.loading) {
220
- merged = { ...merged, loading: fromCache.loading };
221
- }
222
- if (fromServer.mountPath !== fromCache.mountPath) {
223
- merged = { ...merged, mountPath: fromCache.mountPath };
224
- }
225
- return merged;
226
- }
227
- return fromServer;
228
- }
229
- // Fall back to current page's cached segments
230
- const fromCache = currentSegmentMap.get(id);
231
- if (!fromCache) {
232
- console.warn(`[Browser] Missing segment: ${id}`);
233
- return fromCache;
234
- }
235
- // For cached segments the server decided not to re-render:
236
- // - During actions: preserve loading exactly as-is to maintain tree structure.
237
- // Changing loading between renders alters the React tree
238
- // (with/without RouteContentWrapper), causing remounts that destroy
239
- // useActionState and other client state.
240
- // - During navigation: preserve loading=false (suppressed boundary) but
241
- // clear truthy loading (active skeleton) to prevent suspense on cached content.
242
- if (isAction) {
243
- return fromCache;
244
- }
245
- if (fromCache.loading !== undefined && fromCache.loading !== false) {
246
- return { ...fromCache, loading: undefined };
247
- }
248
- return fromCache;
249
- })
250
- .filter(Boolean);
251
- // Insert diff segments not in matchedIds (e.g., loader segments from consolidation fetch)
252
- insertMissingDiffSegments(allSegments, diff, matchedIdSet, newSegmentMap);
253
- // HMR RESILIENCE: Check if we're missing any matched segments
254
- // Note: allSegments may include additional diff segments, so we check matchedIds specifically
255
- const allSegmentIdSet = new Set(allSegments.map((s) => s.id));
256
- const missingIds = matchedIds.filter((id) => !allSegmentIdSet.has(id));
257
- if (missingIds.length > 0) {
258
- const missingCount = missingIds.length;
259
- if (isRetry) {
260
- console.warn("Missing ids", { missingIds });
261
- throw new Error(`[Browser] Failed to fetch segments after retry. Missing: [${missingIds.join(", ")}]`);
262
- }
263
- if (signal?.aborted) {
264
- console.log(`[Browser] Ignoring stale navigation (aborted during HMR retry)`);
265
- return streamComplete;
266
- }
267
- if (isAction) {
268
- return streamComplete;
269
- }
270
- console.warn(`[Browser] HMR detected: Missing ${missingCount} segments. Refetching all...`);
271
- // Refetch with empty segments = server sends everything
272
- return fetchPartialUpdate(url, [], true, signal, tx, { isAction });
273
- }
274
- // INTERCEPT HANDLING: Separate intercept segments for explicit injection
275
- // Intercept segments have namespace starting with "intercept:" or ID containing .@
276
- // This makes the flow clearer and easier to debug
277
- const isInterceptSegment = (s) => s.namespace?.startsWith("intercept:") ||
278
- (s.type === "parallel" && s.id.includes(".@"));
279
- const interceptSegments = allSegments.filter(isInterceptSegment);
280
- const mainSegments = allSegments.filter((s) => !isInterceptSegment(s));
281
- if (signal?.aborted) {
282
- console.log(`[Browser] Ignoring stale navigation (aborted before render)`);
283
- return streamComplete;
284
- }
285
- // Rebuild tree on client (await for loader data resolution)
286
- // Race against abort signal to allow cancellation during loader awaiting
287
- // Pass intercept segments separately for explicit handling
288
- // For stale revalidation, use forceAwait to ensure no loading fallbacks
289
- const renderOptions = {
290
- isAction,
291
- forceAwait: staleRevalidation,
292
- interceptSegments: interceptSegments.length > 0 ? interceptSegments : undefined,
293
- };
294
- const newTree = await (signal
295
- ? Promise.race([
296
- renderSegments(mainSegments, renderOptions),
297
- new Promise((_, reject) => {
298
- if (signal.aborted) {
299
- reject(new DOMException("Navigation aborted", "AbortError"));
300
- }
301
- signal.addEventListener("abort", () => {
302
- reject(new DOMException("Navigation aborted", "AbortError"));
303
- });
304
- }),
305
- ])
306
- : renderSegments(mainSegments, renderOptions));
307
- // Final abort check before committing - another navigation may have started
308
- if (signal?.aborted) {
309
- console.log(`[Browser] Ignoring stale navigation (aborted before commit)`);
310
- return streamComplete;
311
- }
312
- // Check if this is an intercept response (any slot is active)
313
- // If so, disable scroll to keep the current scroll position
314
- const hasActiveIntercept = payload.metadata?.slots
315
- ? Object.values(payload.metadata.slots).some((slot) => slot.active)
316
- : false;
317
- // Track intercept context for action revalidation (only on navigation, not actions or stale revalidation)
318
- if (!isAction && !staleRevalidation) {
319
- if (hasActiveIntercept) {
320
- // Save the source URL for action revalidation to maintain intercept context
321
- store.setInterceptSourceUrl(segmentState.currentUrl);
322
- }
323
- else {
324
- // Clear intercept context when navigating to a non-intercept route
325
- store.setInterceptSourceUrl(null);
326
- }
327
- }
328
- // Commit navigation - transaction handles all store mutations atomically
329
- // For intercept responses: disable scroll, mark as intercept, include source URL
330
- // Use allSegmentIds (derived from allSegments) instead of matchedIds because
331
- // we may have added diff segments (like loader segments) not in the matched array
332
- const allSegmentIds = allSegments.map((s) => s.id);
333
- tx.commit(allSegmentIds, allSegments, hasActiveIntercept
334
- ? {
335
- scroll: false,
336
- intercept: true,
337
- interceptSourceUrl: segmentState.currentUrl,
338
- }
339
- : undefined);
340
- // For stale revalidation: verify history key hasn't changed before updating UI
341
- // If user navigated away, skip UI update to avoid corrupting current view
342
- if (staleRevalidation) {
343
- const historyKeyNow = store.getHistoryKey();
344
- if (historyKeyNow !== historyKeyAtStart) {
345
- console.log(`[Browser] Stale revalidation: history key changed (${historyKeyAtStart} -> ${historyKeyNow}), skipping UI update`);
346
- return streamComplete;
347
- }
348
- }
349
- console.log("[partial-update] updating document");
350
- // Emit update to trigger React render
351
- // For stale revalidation: wait for stream to complete (loaders resolved), then update
352
- // For actions: wrap in startTransition to avoid UI flickering
353
- if (isAction || staleRevalidation) {
354
- startTransition(() => {
355
- onUpdate({
356
- root: newTree,
357
- metadata: payload.metadata,
358
- });
359
- });
360
- }
361
- else {
362
- onUpdate({
363
- root: newTree,
364
- metadata: payload.metadata,
365
- });
366
- }
367
- console.log(`[Browser] Navigation complete\n`);
368
- return streamComplete;
369
- }
370
- else {
371
- // Full update (fallback)
372
- // Use client-side renderSegments instead of payload.root to ensure
373
- // consistent component references with action revalidation.
374
- // Server-rendered RSC tree has different component references than
375
- // client-created tree, which causes React to remount LoaderBoundary
376
- // when actions trigger revalidation.
377
- console.warn(`[Browser] Full update (fallback)`);
378
- const segments = payload.metadata?.segments || [];
379
- // Check if this navigation is stale (a newer one started)
380
- if (signal?.aborted) {
381
- console.log(`[Browser] Ignoring stale navigation (aborted)`);
382
- return streamComplete;
383
- }
384
- const segmentIds = segments.map((s) => s.id);
385
- // Render on client for consistent component references
386
- const newTree = await renderSegments(segments);
387
- // Final abort check before committing - another navigation may have started
388
- if (signal?.aborted) {
389
- console.log(`[Browser] Ignoring stale navigation (aborted before commit)`);
390
- return streamComplete;
391
- }
392
- // Commit navigation - transaction handles all store mutations atomically
393
- tx.commit(segmentIds, segments);
394
- // Emit update to trigger React render
395
- // For stale revalidation: wait for stream to complete, then update
396
- // For actions: wrap in startTransition to avoid UI flickering
397
- if (staleRevalidation) {
398
- await rawStreamComplete;
399
- startTransition(() => {
400
- onUpdate({
401
- root: newTree,
402
- metadata: payload.metadata,
403
- });
404
- });
405
- }
406
- else if (isAction) {
407
- startTransition(async () => {
408
- onUpdate({
409
- root: newTree,
410
- metadata: payload.metadata,
411
- });
412
- });
413
- }
414
- else {
415
- onUpdate({
416
- root: newTree,
417
- metadata: payload.metadata,
418
- });
419
- }
420
- return streamComplete;
421
- }
422
- }
423
- return fetchPartialUpdate;
424
- }
425
- export { createPartialUpdater as default };
426
- //# sourceMappingURL=partial-update.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"partial-update.js","sourceRoot":"","sources":["../../src/browser/partial-update.ts"],"names":[],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- import React, { type ForwardRefExoticComponent, type RefAttributes } from "react";
2
- import { type LocationStateEntry } from "./location-state.js";
3
- /**
4
- * State value or getter function for just-in-time state resolution (legacy)
5
- */
6
- export type StateOrGetter<T = unknown> = T | (() => T);
7
- /**
8
- * State prop type for Link component
9
- * - LocationStateEntry[]: Type-safe state entries (always lazy)
10
- * - StateOrGetter: Legacy format for backwards compatibility
11
- */
12
- export type LinkState = LocationStateEntry[] | StateOrGetter;
13
- /**
14
- * Prefetch strategy for the Link component
15
- * - "hover": Prefetch on mouse enter (uses native <link rel="prefetch">)
16
- * - "viewport": Prefetch when link enters viewport (not yet implemented)
17
- * - "hybrid": Hover on desktop, viewport on mobile (not yet implemented)
18
- * - "none": No prefetching (default)
19
- */
20
- export type PrefetchStrategy = "hover" | "viewport" | "hybrid" | "none";
21
- /**
22
- * Link component props
23
- */
24
- export interface LinkProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "href"> {
25
- /**
26
- * The URL to navigate to (typically from router.reverse())
27
- */
28
- to: string;
29
- /**
30
- * Replace current history entry instead of pushing
31
- */
32
- replace?: boolean;
33
- /**
34
- * Scroll to top after navigation (default: true)
35
- */
36
- scroll?: boolean;
37
- /**
38
- * Force full document navigation instead of SPA
39
- */
40
- reloadDocument?: boolean;
41
- /**
42
- * Prefetch strategy for the link destination
43
- * @default "none"
44
- */
45
- prefetch?: PrefetchStrategy;
46
- /**
47
- * State to pass to history.pushState/replaceState.
48
- * Accessible via useLocationState() hook.
49
- *
50
- * @example
51
- * ```tsx
52
- * // Type-safe state with createLocationState (recommended)
53
- * const ProductState = createLocationState((p: Product) => ({ name: p.name }));
54
- * <Link to="/product" state={[ProductState(product)]}>View</Link>
55
- *
56
- * // Multiple typed states
57
- * <Link to="/checkout" state={[ProductState(p), CartState(c)]}>Checkout</Link>
58
- *
59
- * // Legacy: static state
60
- * <Link to="/product" state={{ from: "list" }}>View</Link>
61
- *
62
- * // Legacy: dynamic state (called at click time)
63
- * <Link to="/product" state={() => ({ scrollY: window.scrollY })}>View</Link>
64
- * ```
65
- */
66
- state?: LinkState;
67
- children: React.ReactNode;
68
- }
69
- /**
70
- * Type-safe Link component for SPA navigation
71
- *
72
- * Works with router.reverse() for type-safe URLs:
73
- * ```tsx
74
- * <Link to={router.reverse("shop.products.detail", { slug: "my-product" })}>
75
- * View Product
76
- * </Link>
77
- * ```
78
- *
79
- * Also supports regular URLs:
80
- * ```tsx
81
- * <Link to="/about">About</Link>
82
- * <Link to="https://example.com">External</Link>
83
- * ```
84
- */
85
- export declare const Link: ForwardRefExoticComponent<LinkProps & RefAttributes<HTMLAnchorElement>>;
86
- //# sourceMappingURL=Link.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/browser/react/Link.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAA+C,KAAK,yBAAyB,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAI/H,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,kBAAkB,EAAE,GAAG,aAAa,CAAC;AA4B7D;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACnE;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AA0BD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI,EAAE,yBAAyB,CAAC,SAAS,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAkGvF,CAAC"}