@rangojs/router 0.0.0-experimental.124 → 0.0.0-experimental.125

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 (1009) hide show
  1. package/dist/bin/rango.js +3 -4
  2. package/dist/vite/index.js +9 -43
  3. package/package.json +1 -1
  4. package/skills/hooks/SKILL.md +2 -2
  5. package/skills/route/SKILL.md +6 -0
  6. package/src/__internal.ts +0 -65
  7. package/src/browser/action-coordinator.ts +1 -1
  8. package/src/browser/action-fence.ts +10 -0
  9. package/src/browser/event-controller.ts +1 -83
  10. package/src/browser/navigation-store-handle.ts +3 -4
  11. package/src/browser/navigation-store.ts +0 -39
  12. package/src/browser/navigation-transaction.ts +0 -32
  13. package/src/browser/partial-update.ts +1 -83
  14. package/src/browser/prefetch/cache.ts +6 -45
  15. package/src/browser/prefetch/queue.ts +6 -3
  16. package/src/browser/rango-state.ts +2 -23
  17. package/src/browser/react/Link.tsx +0 -2
  18. package/src/browser/react/NavigationProvider.tsx +2 -1
  19. package/src/browser/react/ScrollRestoration.tsx +10 -6
  20. package/src/browser/react/filter-segment-order.ts +0 -2
  21. package/src/browser/react/index.ts +0 -45
  22. package/src/browser/react/location-state-shared.ts +0 -13
  23. package/src/browser/react/location-state.ts +0 -1
  24. package/src/browser/react/use-action.ts +6 -15
  25. package/src/browser/react/use-handle.ts +0 -5
  26. package/src/browser/react/use-link-status.ts +0 -4
  27. package/src/browser/react/use-navigation.ts +0 -3
  28. package/src/browser/react/use-params.ts +0 -2
  29. package/src/browser/react/use-search-params.ts +0 -5
  30. package/src/browser/react/use-segments.ts +0 -13
  31. package/src/browser/rsc-router.tsx +2 -2
  32. package/src/browser/types.ts +0 -1
  33. package/src/browser/validate-redirect-origin.ts +4 -5
  34. package/src/build/route-trie.ts +3 -0
  35. package/src/build/route-types/param-extraction.ts +6 -3
  36. package/src/build/route-types/router-processing.ts +0 -8
  37. package/src/cache/cache-policy.ts +0 -54
  38. package/src/cache/cache-runtime.ts +27 -24
  39. package/src/cache/cache-scope.ts +0 -27
  40. package/src/cache/cache-tag.ts +0 -37
  41. package/src/cache/cf/cf-cache-store.ts +72 -45
  42. package/src/cache/cf/index.ts +0 -24
  43. package/src/cache/document-cache.ts +0 -36
  44. package/src/cache/handle-snapshot.ts +0 -40
  45. package/src/cache/index.ts +0 -27
  46. package/src/cache/memory-segment-store.ts +0 -52
  47. package/src/cache/profile-registry.ts +7 -3
  48. package/src/cache/read-through-swr.ts +41 -11
  49. package/src/cache/segment-codec.ts +0 -16
  50. package/src/cache/types.ts +0 -98
  51. package/src/client.rsc.tsx +1 -22
  52. package/src/client.tsx +14 -32
  53. package/src/deps/ssr.ts +0 -1
  54. package/src/handle.ts +2 -12
  55. package/src/handles/MetaTags.tsx +0 -14
  56. package/src/handles/meta.ts +0 -39
  57. package/src/host/cookie-handler.ts +0 -36
  58. package/src/host/errors.ts +0 -24
  59. package/src/host/index.ts +6 -0
  60. package/src/host/pattern-matcher.ts +7 -50
  61. package/src/host/router.ts +1 -65
  62. package/src/host/testing.ts +0 -16
  63. package/src/host/types.ts +6 -2
  64. package/src/href-client.ts +0 -4
  65. package/src/index.rsc.ts +20 -2
  66. package/src/internal-debug.ts +2 -4
  67. package/src/loader.rsc.ts +4 -15
  68. package/src/loader.ts +3 -9
  69. package/src/network-error-thrower.tsx +1 -6
  70. package/src/outlet-provider.tsx +1 -5
  71. package/src/prerender/param-hash.ts +10 -11
  72. package/src/prerender/store.ts +23 -30
  73. package/src/prerender.ts +34 -0
  74. package/src/root-error-boundary.tsx +1 -19
  75. package/src/route-content-wrapper.tsx +1 -44
  76. package/src/route-definition/dsl-helpers.ts +7 -19
  77. package/src/route-definition/helpers-types.ts +3 -3
  78. package/src/route-definition/redirect.ts +11 -1
  79. package/src/route-map-builder.ts +0 -16
  80. package/src/router/content-negotiation.ts +0 -13
  81. package/src/router/error-handling.ts +12 -16
  82. package/src/router/find-match.ts +4 -30
  83. package/src/router/intercept-resolution.ts +10 -1
  84. package/src/router/lazy-includes.ts +1 -57
  85. package/src/router/loader-resolution.ts +3 -2
  86. package/src/router/logging.ts +0 -6
  87. package/src/router/manifest.ts +1 -25
  88. package/src/router/match-api.ts +0 -20
  89. package/src/router/match-context.ts +0 -22
  90. package/src/router/match-handlers.ts +0 -43
  91. package/src/router/match-middleware/background-revalidation.ts +0 -7
  92. package/src/router/match-middleware/cache-lookup.ts +1 -54
  93. package/src/router/match-middleware/cache-store.ts +0 -31
  94. package/src/router/match-middleware/intercept-resolution.ts +0 -22
  95. package/src/router/match-middleware/segment-resolution.ts +0 -21
  96. package/src/router/match-pipelines.ts +1 -42
  97. package/src/router/match-result.ts +1 -52
  98. package/src/router/metrics.ts +0 -34
  99. package/src/router/middleware-cookies.ts +0 -13
  100. package/src/router/middleware-types.ts +0 -115
  101. package/src/router/middleware.ts +7 -30
  102. package/src/router/navigation-snapshot.ts +0 -51
  103. package/src/router/params-util.ts +23 -0
  104. package/src/router/pattern-matching.ts +1 -33
  105. package/src/router/prerender-match.ts +29 -45
  106. package/src/router/request-classification.ts +1 -38
  107. package/src/router/revalidation.ts +5 -58
  108. package/src/router/router-context.ts +0 -26
  109. package/src/router/segment-resolution/fresh.ts +25 -57
  110. package/src/router/segment-resolution/helpers.ts +34 -0
  111. package/src/router/segment-resolution/loader-cache.ts +10 -13
  112. package/src/router/segment-resolution/revalidation.ts +5 -42
  113. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  114. package/src/router/segment-resolution.ts +4 -1
  115. package/src/router/telemetry-otel.ts +0 -20
  116. package/src/router/telemetry.ts +0 -22
  117. package/src/router/timeout.ts +0 -20
  118. package/src/router/trie-matching.ts +63 -40
  119. package/src/router/types.ts +1 -63
  120. package/src/router/url-params.ts +0 -5
  121. package/src/router.ts +4 -2
  122. package/src/rsc/handler.ts +11 -2
  123. package/src/rsc/helpers.ts +15 -0
  124. package/src/rsc/origin-guard.ts +0 -12
  125. package/src/rsc/progressive-enhancement.ts +2 -1
  126. package/src/rsc/rsc-rendering.ts +2 -7
  127. package/src/rsc/runtime-warnings.ts +14 -0
  128. package/src/rsc/server-action.ts +30 -28
  129. package/src/rsc/types.ts +0 -1
  130. package/src/search-params.ts +0 -16
  131. package/src/segment-loader-promise.ts +14 -2
  132. package/src/segment-system.tsx +79 -88
  133. package/src/server/handle-store.ts +7 -24
  134. package/src/server/loader-registry.ts +5 -24
  135. package/src/server/request-context.ts +6 -78
  136. package/src/ssr/index.tsx +14 -14
  137. package/src/static-handler.ts +2 -27
  138. package/src/testing/cache-status.ts +0 -47
  139. package/src/testing/collect-handle.ts +1 -24
  140. package/src/testing/e2e/index.ts +0 -22
  141. package/src/testing/e2e/matchers.ts +0 -16
  142. package/src/testing/flight-matchers.ts +0 -13
  143. package/src/testing/flight-normalize.ts +3 -30
  144. package/src/testing/flight.ts +0 -48
  145. package/src/testing/generated-routes.ts +1 -41
  146. package/src/testing/index.ts +0 -21
  147. package/src/testing/internal/context.ts +3 -45
  148. package/src/testing/internal/seed-vars.ts +0 -26
  149. package/src/testing/render-handler.ts +0 -49
  150. package/src/testing/render-route.tsx +0 -90
  151. package/src/testing/run-loader.ts +0 -96
  152. package/src/testing/run-middleware.ts +0 -26
  153. package/src/theme/ThemeProvider.tsx +0 -52
  154. package/src/theme/ThemeScript.tsx +0 -6
  155. package/src/theme/constants.ts +0 -12
  156. package/src/theme/index.ts +0 -7
  157. package/src/theme/theme-context.ts +1 -5
  158. package/src/theme/theme-script.ts +0 -14
  159. package/src/theme/use-theme.ts +0 -3
  160. package/src/types/boundaries.ts +0 -35
  161. package/src/types/error-types.ts +25 -89
  162. package/src/types/global-namespace.ts +4 -14
  163. package/src/types/handler-context.ts +0 -8
  164. package/src/types/index.ts +0 -10
  165. package/src/types/request-scope.ts +0 -19
  166. package/src/types/route-config.ts +6 -50
  167. package/src/types/route-entry.ts +0 -6
  168. package/src/types/segments.ts +0 -13
  169. package/src/urls/include-helper.ts +0 -4
  170. package/src/urls/index.ts +0 -6
  171. package/src/urls/path-helper-types.ts +2 -2
  172. package/src/urls/path-helper.ts +0 -54
  173. package/src/urls/urls-function.ts +0 -13
  174. package/src/use-loader.tsx +0 -186
  175. package/src/vite/discovery/bundle-postprocess.ts +2 -1
  176. package/src/vite/discovery/discover-routers.ts +6 -7
  177. package/src/vite/discovery/virtual-module-codegen.ts +1 -11
  178. package/src/vite/plugin-types.ts +3 -1
  179. package/src/vite/plugins/cjs-to-esm.ts +0 -11
  180. package/src/vite/plugins/client-ref-dedup.ts +0 -11
  181. package/src/vite/plugins/client-ref-hashing.ts +0 -10
  182. package/src/vite/plugins/cloudflare-protocol-stub.ts +0 -20
  183. package/src/vite/plugins/expose-action-id.ts +2 -73
  184. package/src/vite/plugins/expose-id-utils.ts +0 -55
  185. package/src/vite/plugins/expose-ids/export-analysis.ts +0 -38
  186. package/src/vite/plugins/expose-ids/handler-transform.ts +0 -15
  187. package/src/vite/plugins/expose-ids/loader-transform.ts +0 -15
  188. package/src/vite/plugins/expose-ids/router-transform.ts +0 -13
  189. package/src/vite/plugins/expose-internal-ids.ts +10 -0
  190. package/src/vite/plugins/performance-tracks.ts +0 -3
  191. package/src/vite/plugins/use-cache-transform.ts +0 -36
  192. package/src/vite/plugins/version-injector.ts +0 -20
  193. package/src/vite/plugins/version-plugin.ts +1 -49
  194. package/src/vite/plugins/virtual-entries.ts +0 -15
  195. package/src/vite/rango.ts +1 -108
  196. package/src/vite/router-discovery.ts +2 -1
  197. package/src/vite/utils/ast-handler-extract.ts +0 -16
  198. package/src/vite/utils/bundle-analysis.ts +6 -13
  199. package/src/vite/utils/client-chunks.ts +0 -6
  200. package/src/vite/utils/forward-user-plugins.ts +0 -22
  201. package/src/vite/utils/manifest-utils.ts +0 -4
  202. package/src/vite/utils/package-resolution.ts +1 -73
  203. package/src/vite/utils/prerender-utils.ts +0 -35
  204. package/src/vite/utils/shared-utils.ts +3 -35
  205. package/dist/__internal.d.ts +0 -83
  206. package/dist/__internal.d.ts.map +0 -1
  207. package/dist/__internal.js +0 -19
  208. package/dist/__internal.js.map +0 -1
  209. package/dist/__mocks__/version.d.ts +0 -7
  210. package/dist/__mocks__/version.d.ts.map +0 -1
  211. package/dist/__mocks__/version.js +0 -7
  212. package/dist/__mocks__/version.js.map +0 -1
  213. package/dist/__tests__/client-href.test.d.ts +0 -2
  214. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  215. package/dist/__tests__/client-href.test.js +0 -74
  216. package/dist/__tests__/client-href.test.js.map +0 -1
  217. package/dist/__tests__/component-utils.test.d.ts +0 -2
  218. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  219. package/dist/__tests__/component-utils.test.js +0 -51
  220. package/dist/__tests__/component-utils.test.js.map +0 -1
  221. package/dist/__tests__/event-controller.test.d.ts +0 -2
  222. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  223. package/dist/__tests__/event-controller.test.js +0 -538
  224. package/dist/__tests__/event-controller.test.js.map +0 -1
  225. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  226. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  227. package/dist/__tests__/helpers/route-tree.js +0 -374
  228. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  229. package/dist/__tests__/match-result.test.d.ts +0 -2
  230. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  231. package/dist/__tests__/match-result.test.js +0 -154
  232. package/dist/__tests__/match-result.test.js.map +0 -1
  233. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  234. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  235. package/dist/__tests__/navigation-store.test.js +0 -440
  236. package/dist/__tests__/navigation-store.test.js.map +0 -1
  237. package/dist/__tests__/partial-update.test.d.ts +0 -2
  238. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  239. package/dist/__tests__/partial-update.test.js +0 -1009
  240. package/dist/__tests__/partial-update.test.js.map +0 -1
  241. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  242. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  243. package/dist/__tests__/reverse-types.test.js +0 -656
  244. package/dist/__tests__/reverse-types.test.js.map +0 -1
  245. package/dist/__tests__/route-definition.test.d.ts +0 -2
  246. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  247. package/dist/__tests__/route-definition.test.js +0 -55
  248. package/dist/__tests__/route-definition.test.js.map +0 -1
  249. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  250. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  251. package/dist/__tests__/router-helpers.test.js +0 -377
  252. package/dist/__tests__/router-helpers.test.js.map +0 -1
  253. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  254. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  255. package/dist/__tests__/router-integration-2.test.js +0 -426
  256. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  257. package/dist/__tests__/router-integration.test.d.ts +0 -2
  258. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  259. package/dist/__tests__/router-integration.test.js +0 -1051
  260. package/dist/__tests__/router-integration.test.js.map +0 -1
  261. package/dist/__tests__/search-params.test.d.ts +0 -5
  262. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  263. package/dist/__tests__/search-params.test.js +0 -306
  264. package/dist/__tests__/search-params.test.js.map +0 -1
  265. package/dist/__tests__/segment-system.test.d.ts +0 -2
  266. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  267. package/dist/__tests__/segment-system.test.js +0 -627
  268. package/dist/__tests__/segment-system.test.js.map +0 -1
  269. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  270. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  271. package/dist/__tests__/static-handler-types.test.js +0 -63
  272. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  273. package/dist/__tests__/urls.test.d.ts +0 -2
  274. package/dist/__tests__/urls.test.d.ts.map +0 -1
  275. package/dist/__tests__/urls.test.js +0 -421
  276. package/dist/__tests__/urls.test.js.map +0 -1
  277. package/dist/__tests__/use-mount.test.d.ts +0 -2
  278. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  279. package/dist/__tests__/use-mount.test.js +0 -35
  280. package/dist/__tests__/use-mount.test.js.map +0 -1
  281. package/dist/bin/rango.d.ts +0 -2
  282. package/dist/bin/rango.d.ts.map +0 -1
  283. package/dist/bin/rango.js.map +0 -1
  284. package/dist/browser/event-controller.d.ts +0 -191
  285. package/dist/browser/event-controller.d.ts.map +0 -1
  286. package/dist/browser/event-controller.js +0 -559
  287. package/dist/browser/event-controller.js.map +0 -1
  288. package/dist/browser/index.d.ts +0 -2
  289. package/dist/browser/index.d.ts.map +0 -1
  290. package/dist/browser/index.js +0 -14
  291. package/dist/browser/index.js.map +0 -1
  292. package/dist/browser/link-interceptor.d.ts +0 -38
  293. package/dist/browser/link-interceptor.d.ts.map +0 -1
  294. package/dist/browser/link-interceptor.js +0 -99
  295. package/dist/browser/link-interceptor.js.map +0 -1
  296. package/dist/browser/logging.d.ts +0 -10
  297. package/dist/browser/logging.d.ts.map +0 -1
  298. package/dist/browser/logging.js +0 -29
  299. package/dist/browser/logging.js.map +0 -1
  300. package/dist/browser/lru-cache.d.ts +0 -17
  301. package/dist/browser/lru-cache.d.ts.map +0 -1
  302. package/dist/browser/lru-cache.js +0 -50
  303. package/dist/browser/lru-cache.js.map +0 -1
  304. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  305. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  306. package/dist/browser/merge-segment-loaders.js +0 -102
  307. package/dist/browser/merge-segment-loaders.js.map +0 -1
  308. package/dist/browser/navigation-bridge.d.ts +0 -102
  309. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  310. package/dist/browser/navigation-bridge.js +0 -708
  311. package/dist/browser/navigation-bridge.js.map +0 -1
  312. package/dist/browser/navigation-client.d.ts +0 -25
  313. package/dist/browser/navigation-client.d.ts.map +0 -1
  314. package/dist/browser/navigation-client.js +0 -157
  315. package/dist/browser/navigation-client.js.map +0 -1
  316. package/dist/browser/navigation-store.d.ts +0 -101
  317. package/dist/browser/navigation-store.d.ts.map +0 -1
  318. package/dist/browser/navigation-store.js +0 -625
  319. package/dist/browser/navigation-store.js.map +0 -1
  320. package/dist/browser/partial-update.d.ts +0 -75
  321. package/dist/browser/partial-update.d.ts.map +0 -1
  322. package/dist/browser/partial-update.js +0 -426
  323. package/dist/browser/partial-update.js.map +0 -1
  324. package/dist/browser/react/Link.d.ts +0 -86
  325. package/dist/browser/react/Link.d.ts.map +0 -1
  326. package/dist/browser/react/Link.js +0 -128
  327. package/dist/browser/react/Link.js.map +0 -1
  328. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  329. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  330. package/dist/browser/react/NavigationProvider.js +0 -216
  331. package/dist/browser/react/NavigationProvider.js.map +0 -1
  332. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  333. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  334. package/dist/browser/react/ScrollRestoration.js +0 -57
  335. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  336. package/dist/browser/react/context.d.ts +0 -46
  337. package/dist/browser/react/context.d.ts.map +0 -1
  338. package/dist/browser/react/context.js +0 -10
  339. package/dist/browser/react/context.js.map +0 -1
  340. package/dist/browser/react/index.d.ts +0 -11
  341. package/dist/browser/react/index.d.ts.map +0 -1
  342. package/dist/browser/react/index.js +0 -22
  343. package/dist/browser/react/index.js.map +0 -1
  344. package/dist/browser/react/location-state-shared.d.ts +0 -63
  345. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  346. package/dist/browser/react/location-state-shared.js +0 -81
  347. package/dist/browser/react/location-state-shared.js.map +0 -1
  348. package/dist/browser/react/location-state.d.ts +0 -23
  349. package/dist/browser/react/location-state.d.ts.map +0 -1
  350. package/dist/browser/react/location-state.js +0 -29
  351. package/dist/browser/react/location-state.js.map +0 -1
  352. package/dist/browser/react/mount-context.d.ts +0 -24
  353. package/dist/browser/react/mount-context.d.ts.map +0 -1
  354. package/dist/browser/react/mount-context.js +0 -24
  355. package/dist/browser/react/mount-context.js.map +0 -1
  356. package/dist/browser/react/use-action.d.ts +0 -64
  357. package/dist/browser/react/use-action.d.ts.map +0 -1
  358. package/dist/browser/react/use-action.js +0 -134
  359. package/dist/browser/react/use-action.js.map +0 -1
  360. package/dist/browser/react/use-client-cache.d.ts +0 -41
  361. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  362. package/dist/browser/react/use-client-cache.js +0 -39
  363. package/dist/browser/react/use-client-cache.js.map +0 -1
  364. package/dist/browser/react/use-handle.d.ts +0 -31
  365. package/dist/browser/react/use-handle.d.ts.map +0 -1
  366. package/dist/browser/react/use-handle.js +0 -144
  367. package/dist/browser/react/use-handle.js.map +0 -1
  368. package/dist/browser/react/use-href.d.ts +0 -33
  369. package/dist/browser/react/use-href.d.ts.map +0 -1
  370. package/dist/browser/react/use-href.js +0 -39
  371. package/dist/browser/react/use-href.js.map +0 -1
  372. package/dist/browser/react/use-link-status.d.ts +0 -37
  373. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  374. package/dist/browser/react/use-link-status.js +0 -99
  375. package/dist/browser/react/use-link-status.js.map +0 -1
  376. package/dist/browser/react/use-mount.d.ts +0 -25
  377. package/dist/browser/react/use-mount.d.ts.map +0 -1
  378. package/dist/browser/react/use-mount.js +0 -30
  379. package/dist/browser/react/use-mount.js.map +0 -1
  380. package/dist/browser/react/use-navigation.d.ts +0 -27
  381. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  382. package/dist/browser/react/use-navigation.js +0 -87
  383. package/dist/browser/react/use-navigation.js.map +0 -1
  384. package/dist/browser/react/use-segments.d.ts +0 -38
  385. package/dist/browser/react/use-segments.d.ts.map +0 -1
  386. package/dist/browser/react/use-segments.js +0 -130
  387. package/dist/browser/react/use-segments.js.map +0 -1
  388. package/dist/browser/request-controller.d.ts +0 -26
  389. package/dist/browser/request-controller.d.ts.map +0 -1
  390. package/dist/browser/request-controller.js +0 -147
  391. package/dist/browser/request-controller.js.map +0 -1
  392. package/dist/browser/rsc-router.d.ts +0 -129
  393. package/dist/browser/rsc-router.d.ts.map +0 -1
  394. package/dist/browser/rsc-router.js +0 -195
  395. package/dist/browser/rsc-router.js.map +0 -1
  396. package/dist/browser/scroll-restoration.d.ts +0 -93
  397. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  398. package/dist/browser/scroll-restoration.js +0 -321
  399. package/dist/browser/scroll-restoration.js.map +0 -1
  400. package/dist/browser/segment-structure-assert.d.ts +0 -17
  401. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  402. package/dist/browser/segment-structure-assert.js +0 -59
  403. package/dist/browser/segment-structure-assert.js.map +0 -1
  404. package/dist/browser/server-action-bridge.d.ts +0 -26
  405. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  406. package/dist/browser/server-action-bridge.js +0 -668
  407. package/dist/browser/server-action-bridge.js.map +0 -1
  408. package/dist/browser/shallow.d.ts +0 -12
  409. package/dist/browser/shallow.d.ts.map +0 -1
  410. package/dist/browser/shallow.js +0 -34
  411. package/dist/browser/shallow.js.map +0 -1
  412. package/dist/browser/types.d.ts +0 -369
  413. package/dist/browser/types.d.ts.map +0 -1
  414. package/dist/browser/types.js +0 -2
  415. package/dist/browser/types.js.map +0 -1
  416. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  417. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  418. package/dist/build/__tests__/generate-cli.test.js +0 -237
  419. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  420. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  421. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  422. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  423. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  424. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  425. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  426. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  427. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  428. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  429. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  430. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  431. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  432. package/dist/build/generate-manifest.d.ts +0 -81
  433. package/dist/build/generate-manifest.d.ts.map +0 -1
  434. package/dist/build/generate-manifest.js +0 -276
  435. package/dist/build/generate-manifest.js.map +0 -1
  436. package/dist/build/generate-route-types.d.ts +0 -115
  437. package/dist/build/generate-route-types.d.ts.map +0 -1
  438. package/dist/build/generate-route-types.js +0 -740
  439. package/dist/build/generate-route-types.js.map +0 -1
  440. package/dist/build/index.d.ts +0 -21
  441. package/dist/build/index.d.ts.map +0 -1
  442. package/dist/build/index.js +0 -21
  443. package/dist/build/index.js.map +0 -1
  444. package/dist/build/route-trie.d.ts +0 -71
  445. package/dist/build/route-trie.d.ts.map +0 -1
  446. package/dist/build/route-trie.js +0 -175
  447. package/dist/build/route-trie.js.map +0 -1
  448. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  449. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  450. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  451. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  452. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  453. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  454. package/dist/cache/__tests__/document-cache.test.js +0 -345
  455. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  456. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  457. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  458. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  459. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  460. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  461. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  462. package/dist/cache/__tests__/memory-store.test.js +0 -367
  463. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  464. package/dist/cache/cache-scope.d.ts +0 -102
  465. package/dist/cache/cache-scope.d.ts.map +0 -1
  466. package/dist/cache/cache-scope.js +0 -440
  467. package/dist/cache/cache-scope.js.map +0 -1
  468. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  469. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  470. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  471. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  472. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  473. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  474. package/dist/cache/cf/cf-cache-store.js +0 -242
  475. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  476. package/dist/cache/cf/index.d.ts +0 -14
  477. package/dist/cache/cf/index.d.ts.map +0 -1
  478. package/dist/cache/cf/index.js +0 -17
  479. package/dist/cache/cf/index.js.map +0 -1
  480. package/dist/cache/document-cache.d.ts +0 -64
  481. package/dist/cache/document-cache.d.ts.map +0 -1
  482. package/dist/cache/document-cache.js +0 -228
  483. package/dist/cache/document-cache.js.map +0 -1
  484. package/dist/cache/index.d.ts +0 -19
  485. package/dist/cache/index.d.ts.map +0 -1
  486. package/dist/cache/index.js +0 -21
  487. package/dist/cache/index.js.map +0 -1
  488. package/dist/cache/memory-segment-store.d.ts +0 -110
  489. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  490. package/dist/cache/memory-segment-store.js +0 -117
  491. package/dist/cache/memory-segment-store.js.map +0 -1
  492. package/dist/cache/memory-store.d.ts +0 -41
  493. package/dist/cache/memory-store.d.ts.map +0 -1
  494. package/dist/cache/memory-store.js +0 -191
  495. package/dist/cache/memory-store.js.map +0 -1
  496. package/dist/cache/types.d.ts +0 -317
  497. package/dist/cache/types.d.ts.map +0 -1
  498. package/dist/cache/types.js +0 -12
  499. package/dist/cache/types.js.map +0 -1
  500. package/dist/client.d.ts +0 -248
  501. package/dist/client.d.ts.map +0 -1
  502. package/dist/client.js +0 -367
  503. package/dist/client.js.map +0 -1
  504. package/dist/client.rsc.d.ts +0 -26
  505. package/dist/client.rsc.d.ts.map +0 -1
  506. package/dist/client.rsc.js +0 -46
  507. package/dist/client.rsc.js.map +0 -1
  508. package/dist/component-utils.d.ts +0 -36
  509. package/dist/component-utils.d.ts.map +0 -1
  510. package/dist/component-utils.js +0 -61
  511. package/dist/component-utils.js.map +0 -1
  512. package/dist/components/DefaultDocument.d.ts +0 -13
  513. package/dist/components/DefaultDocument.d.ts.map +0 -1
  514. package/dist/components/DefaultDocument.js +0 -15
  515. package/dist/components/DefaultDocument.js.map +0 -1
  516. package/dist/debug.d.ts +0 -58
  517. package/dist/debug.d.ts.map +0 -1
  518. package/dist/debug.js +0 -157
  519. package/dist/debug.js.map +0 -1
  520. package/dist/default-error-boundary.d.ts +0 -11
  521. package/dist/default-error-boundary.d.ts.map +0 -1
  522. package/dist/default-error-boundary.js +0 -45
  523. package/dist/default-error-boundary.js.map +0 -1
  524. package/dist/deps/browser.d.ts +0 -2
  525. package/dist/deps/browser.d.ts.map +0 -1
  526. package/dist/deps/browser.js +0 -3
  527. package/dist/deps/browser.js.map +0 -1
  528. package/dist/deps/html-stream-client.d.ts +0 -2
  529. package/dist/deps/html-stream-client.d.ts.map +0 -1
  530. package/dist/deps/html-stream-client.js +0 -3
  531. package/dist/deps/html-stream-client.js.map +0 -1
  532. package/dist/deps/html-stream-server.d.ts +0 -2
  533. package/dist/deps/html-stream-server.d.ts.map +0 -1
  534. package/dist/deps/html-stream-server.js +0 -3
  535. package/dist/deps/html-stream-server.js.map +0 -1
  536. package/dist/deps/rsc.d.ts +0 -2
  537. package/dist/deps/rsc.d.ts.map +0 -1
  538. package/dist/deps/rsc.js +0 -4
  539. package/dist/deps/rsc.js.map +0 -1
  540. package/dist/deps/ssr.d.ts +0 -2
  541. package/dist/deps/ssr.d.ts.map +0 -1
  542. package/dist/deps/ssr.js +0 -3
  543. package/dist/deps/ssr.js.map +0 -1
  544. package/dist/errors.d.ts +0 -174
  545. package/dist/errors.d.ts.map +0 -1
  546. package/dist/errors.js +0 -241
  547. package/dist/errors.js.map +0 -1
  548. package/dist/handle.d.ts +0 -78
  549. package/dist/handle.d.ts.map +0 -1
  550. package/dist/handle.js +0 -82
  551. package/dist/handle.js.map +0 -1
  552. package/dist/handles/MetaTags.d.ts +0 -14
  553. package/dist/handles/MetaTags.d.ts.map +0 -1
  554. package/dist/handles/MetaTags.js +0 -136
  555. package/dist/handles/MetaTags.js.map +0 -1
  556. package/dist/handles/index.d.ts +0 -6
  557. package/dist/handles/index.d.ts.map +0 -1
  558. package/dist/handles/index.js +0 -6
  559. package/dist/handles/index.js.map +0 -1
  560. package/dist/handles/meta.d.ts +0 -39
  561. package/dist/handles/meta.d.ts.map +0 -1
  562. package/dist/handles/meta.js +0 -202
  563. package/dist/handles/meta.js.map +0 -1
  564. package/dist/host/__tests__/errors.test.d.ts +0 -2
  565. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  566. package/dist/host/__tests__/errors.test.js +0 -76
  567. package/dist/host/__tests__/errors.test.js.map +0 -1
  568. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  569. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  570. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  571. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  572. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  573. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  574. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  575. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  576. package/dist/host/__tests__/router.test.d.ts +0 -2
  577. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  578. package/dist/host/__tests__/router.test.js +0 -241
  579. package/dist/host/__tests__/router.test.js.map +0 -1
  580. package/dist/host/__tests__/testing.test.d.ts +0 -2
  581. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  582. package/dist/host/__tests__/testing.test.js +0 -64
  583. package/dist/host/__tests__/testing.test.js.map +0 -1
  584. package/dist/host/__tests__/utils.test.d.ts +0 -2
  585. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  586. package/dist/host/__tests__/utils.test.js +0 -29
  587. package/dist/host/__tests__/utils.test.js.map +0 -1
  588. package/dist/host/cookie-handler.d.ts +0 -34
  589. package/dist/host/cookie-handler.d.ts.map +0 -1
  590. package/dist/host/cookie-handler.js +0 -124
  591. package/dist/host/cookie-handler.js.map +0 -1
  592. package/dist/host/errors.d.ts +0 -56
  593. package/dist/host/errors.d.ts.map +0 -1
  594. package/dist/host/errors.js +0 -79
  595. package/dist/host/errors.js.map +0 -1
  596. package/dist/host/index.d.ts +0 -29
  597. package/dist/host/index.d.ts.map +0 -1
  598. package/dist/host/index.js +0 -32
  599. package/dist/host/index.js.map +0 -1
  600. package/dist/host/pattern-matcher.d.ts +0 -36
  601. package/dist/host/pattern-matcher.d.ts.map +0 -1
  602. package/dist/host/pattern-matcher.js +0 -172
  603. package/dist/host/pattern-matcher.js.map +0 -1
  604. package/dist/host/router.d.ts +0 -26
  605. package/dist/host/router.d.ts.map +0 -1
  606. package/dist/host/router.js +0 -218
  607. package/dist/host/router.js.map +0 -1
  608. package/dist/host/testing.d.ts +0 -36
  609. package/dist/host/testing.d.ts.map +0 -1
  610. package/dist/host/testing.js +0 -55
  611. package/dist/host/testing.js.map +0 -1
  612. package/dist/host/types.d.ts +0 -115
  613. package/dist/host/types.d.ts.map +0 -1
  614. package/dist/host/types.js +0 -7
  615. package/dist/host/types.js.map +0 -1
  616. package/dist/host/utils.d.ts +0 -21
  617. package/dist/host/utils.d.ts.map +0 -1
  618. package/dist/host/utils.js +0 -23
  619. package/dist/host/utils.js.map +0 -1
  620. package/dist/href-client.d.ts +0 -131
  621. package/dist/href-client.d.ts.map +0 -1
  622. package/dist/href-client.js +0 -64
  623. package/dist/href-client.js.map +0 -1
  624. package/dist/href-context.d.ts +0 -29
  625. package/dist/href-context.d.ts.map +0 -1
  626. package/dist/href-context.js +0 -21
  627. package/dist/href-context.js.map +0 -1
  628. package/dist/index.d.ts +0 -73
  629. package/dist/index.d.ts.map +0 -1
  630. package/dist/index.js +0 -91
  631. package/dist/index.js.map +0 -1
  632. package/dist/index.rsc.d.ts +0 -32
  633. package/dist/index.rsc.d.ts.map +0 -1
  634. package/dist/index.rsc.js +0 -40
  635. package/dist/index.rsc.js.map +0 -1
  636. package/dist/internal-debug.d.ts +0 -2
  637. package/dist/internal-debug.d.ts.map +0 -1
  638. package/dist/internal-debug.js +0 -5
  639. package/dist/internal-debug.js.map +0 -1
  640. package/dist/loader.d.ts +0 -14
  641. package/dist/loader.d.ts.map +0 -1
  642. package/dist/loader.js +0 -20
  643. package/dist/loader.js.map +0 -1
  644. package/dist/loader.rsc.d.ts +0 -19
  645. package/dist/loader.rsc.d.ts.map +0 -1
  646. package/dist/loader.rsc.js +0 -99
  647. package/dist/loader.rsc.js.map +0 -1
  648. package/dist/network-error-thrower.d.ts +0 -17
  649. package/dist/network-error-thrower.d.ts.map +0 -1
  650. package/dist/network-error-thrower.js +0 -14
  651. package/dist/network-error-thrower.js.map +0 -1
  652. package/dist/outlet-context.d.ts +0 -13
  653. package/dist/outlet-context.d.ts.map +0 -1
  654. package/dist/outlet-context.js +0 -3
  655. package/dist/outlet-context.js.map +0 -1
  656. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  657. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  658. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  659. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  660. package/dist/prerender/param-hash.d.ts +0 -16
  661. package/dist/prerender/param-hash.d.ts.map +0 -1
  662. package/dist/prerender/param-hash.js +0 -36
  663. package/dist/prerender/param-hash.js.map +0 -1
  664. package/dist/prerender/store.d.ts +0 -38
  665. package/dist/prerender/store.d.ts.map +0 -1
  666. package/dist/prerender/store.js +0 -61
  667. package/dist/prerender/store.js.map +0 -1
  668. package/dist/prerender.d.ts +0 -66
  669. package/dist/prerender.d.ts.map +0 -1
  670. package/dist/prerender.js +0 -57
  671. package/dist/prerender.js.map +0 -1
  672. package/dist/reverse.d.ts +0 -196
  673. package/dist/reverse.d.ts.map +0 -1
  674. package/dist/reverse.js +0 -78
  675. package/dist/reverse.js.map +0 -1
  676. package/dist/root-error-boundary.d.ts +0 -33
  677. package/dist/root-error-boundary.d.ts.map +0 -1
  678. package/dist/root-error-boundary.js +0 -165
  679. package/dist/root-error-boundary.js.map +0 -1
  680. package/dist/route-content-wrapper.d.ts +0 -46
  681. package/dist/route-content-wrapper.d.ts.map +0 -1
  682. package/dist/route-content-wrapper.js +0 -77
  683. package/dist/route-content-wrapper.js.map +0 -1
  684. package/dist/route-definition.d.ts +0 -421
  685. package/dist/route-definition.d.ts.map +0 -1
  686. package/dist/route-definition.js +0 -868
  687. package/dist/route-definition.js.map +0 -1
  688. package/dist/route-map-builder.d.ts +0 -155
  689. package/dist/route-map-builder.d.ts.map +0 -1
  690. package/dist/route-map-builder.js +0 -237
  691. package/dist/route-map-builder.js.map +0 -1
  692. package/dist/route-types.d.ts +0 -165
  693. package/dist/route-types.d.ts.map +0 -1
  694. package/dist/route-types.js +0 -7
  695. package/dist/route-types.js.map +0 -1
  696. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  697. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  698. package/dist/router/__tests__/handler-context.test.js +0 -65
  699. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  700. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  701. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  702. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  703. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  704. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  705. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  706. package/dist/router/__tests__/match-context.test.js +0 -92
  707. package/dist/router/__tests__/match-context.test.js.map +0 -1
  708. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  709. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  710. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  711. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  712. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  713. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  714. package/dist/router/__tests__/match-result.test.js +0 -457
  715. package/dist/router/__tests__/match-result.test.js.map +0 -1
  716. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  717. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  718. package/dist/router/__tests__/on-error.test.js +0 -678
  719. package/dist/router/__tests__/on-error.test.js.map +0 -1
  720. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  721. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  722. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  723. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  724. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  725. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  726. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  727. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  728. package/dist/router/error-handling.d.ts +0 -77
  729. package/dist/router/error-handling.d.ts.map +0 -1
  730. package/dist/router/error-handling.js +0 -202
  731. package/dist/router/error-handling.js.map +0 -1
  732. package/dist/router/handler-context.d.ts +0 -20
  733. package/dist/router/handler-context.d.ts.map +0 -1
  734. package/dist/router/handler-context.js +0 -198
  735. package/dist/router/handler-context.js.map +0 -1
  736. package/dist/router/intercept-resolution.d.ts +0 -66
  737. package/dist/router/intercept-resolution.d.ts.map +0 -1
  738. package/dist/router/intercept-resolution.js +0 -246
  739. package/dist/router/intercept-resolution.js.map +0 -1
  740. package/dist/router/loader-resolution.d.ts +0 -64
  741. package/dist/router/loader-resolution.d.ts.map +0 -1
  742. package/dist/router/loader-resolution.js +0 -284
  743. package/dist/router/loader-resolution.js.map +0 -1
  744. package/dist/router/logging.d.ts +0 -15
  745. package/dist/router/logging.d.ts.map +0 -1
  746. package/dist/router/logging.js +0 -99
  747. package/dist/router/logging.js.map +0 -1
  748. package/dist/router/manifest.d.ts +0 -22
  749. package/dist/router/manifest.d.ts.map +0 -1
  750. package/dist/router/manifest.js +0 -181
  751. package/dist/router/manifest.js.map +0 -1
  752. package/dist/router/match-api.d.ts +0 -35
  753. package/dist/router/match-api.d.ts.map +0 -1
  754. package/dist/router/match-api.js +0 -406
  755. package/dist/router/match-api.js.map +0 -1
  756. package/dist/router/match-context.d.ts +0 -206
  757. package/dist/router/match-context.d.ts.map +0 -1
  758. package/dist/router/match-context.js +0 -17
  759. package/dist/router/match-context.js.map +0 -1
  760. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  761. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  762. package/dist/router/match-middleware/background-revalidation.js +0 -75
  763. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  764. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  765. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  766. package/dist/router/match-middleware/cache-lookup.js +0 -257
  767. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  768. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  769. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  770. package/dist/router/match-middleware/cache-store.js +0 -108
  771. package/dist/router/match-middleware/cache-store.js.map +0 -1
  772. package/dist/router/match-middleware/index.d.ts +0 -81
  773. package/dist/router/match-middleware/index.d.ts.map +0 -1
  774. package/dist/router/match-middleware/index.js +0 -80
  775. package/dist/router/match-middleware/index.js.map +0 -1
  776. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  777. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  778. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  779. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  780. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  781. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  782. package/dist/router/match-middleware/segment-resolution.js +0 -53
  783. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  784. package/dist/router/match-pipelines.d.ts +0 -147
  785. package/dist/router/match-pipelines.d.ts.map +0 -1
  786. package/dist/router/match-pipelines.js +0 -82
  787. package/dist/router/match-pipelines.js.map +0 -1
  788. package/dist/router/match-result.d.ts +0 -126
  789. package/dist/router/match-result.d.ts.map +0 -1
  790. package/dist/router/match-result.js +0 -93
  791. package/dist/router/match-result.js.map +0 -1
  792. package/dist/router/metrics.d.ts +0 -20
  793. package/dist/router/metrics.d.ts.map +0 -1
  794. package/dist/router/metrics.js +0 -47
  795. package/dist/router/metrics.js.map +0 -1
  796. package/dist/router/middleware.d.ts +0 -249
  797. package/dist/router/middleware.d.ts.map +0 -1
  798. package/dist/router/middleware.js +0 -434
  799. package/dist/router/middleware.js.map +0 -1
  800. package/dist/router/middleware.test.d.ts +0 -2
  801. package/dist/router/middleware.test.d.ts.map +0 -1
  802. package/dist/router/middleware.test.js +0 -816
  803. package/dist/router/middleware.test.js.map +0 -1
  804. package/dist/router/pattern-matching.d.ts +0 -149
  805. package/dist/router/pattern-matching.d.ts.map +0 -1
  806. package/dist/router/pattern-matching.js +0 -349
  807. package/dist/router/pattern-matching.js.map +0 -1
  808. package/dist/router/revalidation.d.ts +0 -44
  809. package/dist/router/revalidation.d.ts.map +0 -1
  810. package/dist/router/revalidation.js +0 -147
  811. package/dist/router/revalidation.js.map +0 -1
  812. package/dist/router/router-context.d.ts +0 -135
  813. package/dist/router/router-context.d.ts.map +0 -1
  814. package/dist/router/router-context.js +0 -36
  815. package/dist/router/router-context.js.map +0 -1
  816. package/dist/router/segment-resolution.d.ts +0 -127
  817. package/dist/router/segment-resolution.d.ts.map +0 -1
  818. package/dist/router/segment-resolution.js +0 -919
  819. package/dist/router/segment-resolution.js.map +0 -1
  820. package/dist/router/trie-matching.d.ts +0 -40
  821. package/dist/router/trie-matching.d.ts.map +0 -1
  822. package/dist/router/trie-matching.js +0 -127
  823. package/dist/router/trie-matching.js.map +0 -1
  824. package/dist/router/types.d.ts +0 -136
  825. package/dist/router/types.d.ts.map +0 -1
  826. package/dist/router/types.js +0 -7
  827. package/dist/router/types.js.map +0 -1
  828. package/dist/router.d.ts +0 -753
  829. package/dist/router.d.ts.map +0 -1
  830. package/dist/router.gen.d.ts +0 -6
  831. package/dist/router.gen.d.ts.map +0 -1
  832. package/dist/router.gen.js +0 -6
  833. package/dist/router.gen.js.map +0 -1
  834. package/dist/router.js +0 -1304
  835. package/dist/router.js.map +0 -1
  836. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  837. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  838. package/dist/rsc/__tests__/helpers.test.js +0 -140
  839. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  840. package/dist/rsc/handler.d.ts +0 -45
  841. package/dist/rsc/handler.d.ts.map +0 -1
  842. package/dist/rsc/handler.js +0 -1172
  843. package/dist/rsc/handler.js.map +0 -1
  844. package/dist/rsc/helpers.d.ts +0 -16
  845. package/dist/rsc/helpers.d.ts.map +0 -1
  846. package/dist/rsc/helpers.js +0 -55
  847. package/dist/rsc/helpers.js.map +0 -1
  848. package/dist/rsc/index.d.ts +0 -22
  849. package/dist/rsc/index.d.ts.map +0 -1
  850. package/dist/rsc/index.js +0 -23
  851. package/dist/rsc/index.js.map +0 -1
  852. package/dist/rsc/nonce.d.ts +0 -9
  853. package/dist/rsc/nonce.d.ts.map +0 -1
  854. package/dist/rsc/nonce.js +0 -18
  855. package/dist/rsc/nonce.js.map +0 -1
  856. package/dist/rsc/types.d.ts +0 -206
  857. package/dist/rsc/types.d.ts.map +0 -1
  858. package/dist/rsc/types.js +0 -8
  859. package/dist/rsc/types.js.map +0 -1
  860. package/dist/search-params.d.ts +0 -103
  861. package/dist/search-params.d.ts.map +0 -1
  862. package/dist/search-params.js +0 -74
  863. package/dist/search-params.js.map +0 -1
  864. package/dist/segment-system.d.ts +0 -75
  865. package/dist/segment-system.d.ts.map +0 -1
  866. package/dist/segment-system.js +0 -336
  867. package/dist/segment-system.js.map +0 -1
  868. package/dist/server/context.d.ts +0 -245
  869. package/dist/server/context.d.ts.map +0 -1
  870. package/dist/server/context.js +0 -197
  871. package/dist/server/context.js.map +0 -1
  872. package/dist/server/fetchable-loader-store.d.ts +0 -18
  873. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  874. package/dist/server/fetchable-loader-store.js +0 -18
  875. package/dist/server/fetchable-loader-store.js.map +0 -1
  876. package/dist/server/handle-store.d.ts +0 -85
  877. package/dist/server/handle-store.d.ts.map +0 -1
  878. package/dist/server/handle-store.js +0 -142
  879. package/dist/server/handle-store.js.map +0 -1
  880. package/dist/server/loader-registry.d.ts +0 -55
  881. package/dist/server/loader-registry.d.ts.map +0 -1
  882. package/dist/server/loader-registry.js +0 -132
  883. package/dist/server/loader-registry.js.map +0 -1
  884. package/dist/server/request-context.d.ts +0 -226
  885. package/dist/server/request-context.d.ts.map +0 -1
  886. package/dist/server/request-context.js +0 -290
  887. package/dist/server/request-context.js.map +0 -1
  888. package/dist/server/root-layout.d.ts +0 -4
  889. package/dist/server/root-layout.d.ts.map +0 -1
  890. package/dist/server/root-layout.js +0 -5
  891. package/dist/server/root-layout.js.map +0 -1
  892. package/dist/server.d.ts +0 -15
  893. package/dist/server.d.ts.map +0 -1
  894. package/dist/server.js +0 -20
  895. package/dist/server.js.map +0 -1
  896. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  897. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  898. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  899. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  900. package/dist/ssr/index.d.ts +0 -98
  901. package/dist/ssr/index.d.ts.map +0 -1
  902. package/dist/ssr/index.js +0 -158
  903. package/dist/ssr/index.js.map +0 -1
  904. package/dist/static-handler.d.ts +0 -50
  905. package/dist/static-handler.d.ts.map +0 -1
  906. package/dist/static-handler.gen.d.ts +0 -5
  907. package/dist/static-handler.gen.d.ts.map +0 -1
  908. package/dist/static-handler.gen.js +0 -5
  909. package/dist/static-handler.gen.js.map +0 -1
  910. package/dist/static-handler.js +0 -29
  911. package/dist/static-handler.js.map +0 -1
  912. package/dist/theme/ThemeProvider.d.ts +0 -20
  913. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  914. package/dist/theme/ThemeProvider.js +0 -240
  915. package/dist/theme/ThemeProvider.js.map +0 -1
  916. package/dist/theme/ThemeScript.d.ts +0 -48
  917. package/dist/theme/ThemeScript.d.ts.map +0 -1
  918. package/dist/theme/ThemeScript.js +0 -13
  919. package/dist/theme/ThemeScript.js.map +0 -1
  920. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  921. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  922. package/dist/theme/__tests__/theme.test.js +0 -103
  923. package/dist/theme/__tests__/theme.test.js.map +0 -1
  924. package/dist/theme/constants.d.ts +0 -29
  925. package/dist/theme/constants.d.ts.map +0 -1
  926. package/dist/theme/constants.js +0 -48
  927. package/dist/theme/constants.js.map +0 -1
  928. package/dist/theme/index.d.ts +0 -31
  929. package/dist/theme/index.d.ts.map +0 -1
  930. package/dist/theme/index.js +0 -36
  931. package/dist/theme/index.js.map +0 -1
  932. package/dist/theme/theme-context.d.ts +0 -40
  933. package/dist/theme/theme-context.d.ts.map +0 -1
  934. package/dist/theme/theme-context.js +0 -60
  935. package/dist/theme/theme-context.js.map +0 -1
  936. package/dist/theme/theme-script.d.ts +0 -27
  937. package/dist/theme/theme-script.d.ts.map +0 -1
  938. package/dist/theme/theme-script.js +0 -147
  939. package/dist/theme/theme-script.js.map +0 -1
  940. package/dist/theme/types.d.ts +0 -163
  941. package/dist/theme/types.d.ts.map +0 -1
  942. package/dist/theme/types.js +0 -11
  943. package/dist/theme/types.js.map +0 -1
  944. package/dist/theme/use-theme.d.ts +0 -12
  945. package/dist/theme/use-theme.d.ts.map +0 -1
  946. package/dist/theme/use-theme.js +0 -40
  947. package/dist/theme/use-theme.js.map +0 -1
  948. package/dist/types.d.ts +0 -1479
  949. package/dist/types.d.ts.map +0 -1
  950. package/dist/types.js +0 -10
  951. package/dist/types.js.map +0 -1
  952. package/dist/urls.d.ts +0 -441
  953. package/dist/urls.d.ts.map +0 -1
  954. package/dist/urls.gen.d.ts +0 -8
  955. package/dist/urls.gen.d.ts.map +0 -1
  956. package/dist/urls.gen.js +0 -8
  957. package/dist/urls.gen.js.map +0 -1
  958. package/dist/urls.js +0 -443
  959. package/dist/urls.js.map +0 -1
  960. package/dist/use-loader.d.ts +0 -127
  961. package/dist/use-loader.d.ts.map +0 -1
  962. package/dist/use-loader.js +0 -237
  963. package/dist/use-loader.js.map +0 -1
  964. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  965. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  966. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  967. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  968. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  969. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  970. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  971. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  972. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  973. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  974. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  975. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  976. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  977. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  978. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  979. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  980. package/dist/vite/ast-handler-extract.d.ts +0 -49
  981. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  982. package/dist/vite/ast-handler-extract.js +0 -249
  983. package/dist/vite/ast-handler-extract.js.map +0 -1
  984. package/dist/vite/expose-action-id.d.ts +0 -19
  985. package/dist/vite/expose-action-id.d.ts.map +0 -1
  986. package/dist/vite/expose-action-id.js +0 -250
  987. package/dist/vite/expose-action-id.js.map +0 -1
  988. package/dist/vite/expose-id-utils.d.ts +0 -69
  989. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  990. package/dist/vite/expose-id-utils.js +0 -289
  991. package/dist/vite/expose-id-utils.js.map +0 -1
  992. package/dist/vite/expose-internal-ids.d.ts +0 -22
  993. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  994. package/dist/vite/expose-internal-ids.js +0 -886
  995. package/dist/vite/expose-internal-ids.js.map +0 -1
  996. package/dist/vite/index.d.ts +0 -149
  997. package/dist/vite/index.d.ts.map +0 -1
  998. package/dist/vite/index.js.bak +0 -5448
  999. package/dist/vite/index.js.map +0 -1
  1000. package/dist/vite/index.named-routes.gen.ts +0 -103
  1001. package/dist/vite/package-resolution.d.ts +0 -43
  1002. package/dist/vite/package-resolution.d.ts.map +0 -1
  1003. package/dist/vite/package-resolution.js +0 -112
  1004. package/dist/vite/package-resolution.js.map +0 -1
  1005. package/dist/vite/virtual-entries.d.ts +0 -25
  1006. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1007. package/dist/vite/virtual-entries.js +0 -110
  1008. package/dist/vite/virtual-entries.js.map +0 -1
  1009. package/src/browser/shallow.ts +0 -40
@@ -1,74 +0,0 @@
1
- /**
2
- * Search parameter schema types and runtime utilities.
3
- *
4
- * Provides a lightweight schema system for typed query parameters.
5
- * When a route defines a `search` schema, ctx.searchParams becomes
6
- * a typed object with parsed values instead of raw URLSearchParams.
7
- */
8
- // ============================================================================
9
- // Runtime Parser
10
- // ============================================================================
11
- /**
12
- * Parse URLSearchParams into a typed object using the given schema.
13
- *
14
- * - `"string"` / `"string?"` - kept as-is
15
- * - `"number"` / `"number?"` - coerced via `Number()`; NaN treated as missing
16
- * - `"boolean"` / `"boolean?"` - `"true"` / `"1"` -> true, `"false"` / `"0"` / `""` -> false
17
- *
18
- * Missing required params are set to their zero value (empty string / 0 / false).
19
- */
20
- export function parseSearchParams(searchParams, schema) {
21
- const result = {};
22
- for (const [key, descriptor] of Object.entries(schema)) {
23
- const isOptional = descriptor.endsWith("?");
24
- const baseType = isOptional ? descriptor.slice(0, -1) : descriptor;
25
- const raw = searchParams.get(key);
26
- if (raw === null) {
27
- if (!isOptional) {
28
- // Required param missing: use zero value
29
- if (baseType === "string")
30
- result[key] = "";
31
- else if (baseType === "number")
32
- result[key] = 0;
33
- else if (baseType === "boolean")
34
- result[key] = false;
35
- }
36
- // Optional params are omitted (undefined)
37
- continue;
38
- }
39
- if (baseType === "string") {
40
- result[key] = raw;
41
- }
42
- else if (baseType === "number") {
43
- const num = Number(raw);
44
- if (Number.isNaN(num)) {
45
- if (!isOptional)
46
- result[key] = 0;
47
- }
48
- else {
49
- result[key] = num;
50
- }
51
- }
52
- else if (baseType === "boolean") {
53
- result[key] = raw === "true" || raw === "1";
54
- }
55
- }
56
- return result;
57
- }
58
- // ============================================================================
59
- // Runtime Serializer
60
- // ============================================================================
61
- /**
62
- * Serialize a typed search params object to a query string (without leading `?`).
63
- * Skips `undefined` and `null` values.
64
- */
65
- export function serializeSearchParams(params) {
66
- const parts = [];
67
- for (const [key, value] of Object.entries(params)) {
68
- if (value === undefined || value === null)
69
- continue;
70
- parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
71
- }
72
- return parts.join("&");
73
- }
74
- //# sourceMappingURL=search-params.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-params.js","sourceRoot":"","sources":["../src/search-params.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4IH,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAA6B,EAC7B,MAAS;IAET,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACnE,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,yCAAyC;gBACzC,IAAI,QAAQ,KAAK,QAAQ;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;qBACvC,IAAI,QAAQ,KAAK,QAAQ;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBAC3C,IAAI,QAAQ,KAAK,SAAS;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvD,CAAC;YACD,0CAA0C;YAC1C,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACpB,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,MAAgC,CAAC;AAC1C,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAA+B;IAE/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QACpD,KAAK,CAAC,IAAI,CACR,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
@@ -1,75 +0,0 @@
1
- import { type ReactNode, type ComponentType } from "react";
2
- import type { ResolvedSegment, RootLayoutProps } from "./types.js";
3
- /**
4
- * Options for renderSegments
5
- */
6
- export interface RenderSegmentsOptions {
7
- /**
8
- * If true, this render is for a server action response.
9
- * In browser during actions, we await component promises to prevent
10
- * UI flickering/suspense during optimistic updates.
11
- */
12
- isAction?: boolean;
13
- /**
14
- * If true, force awaiting all loaders instead of streaming with Suspense.
15
- * Used for popstate (back/forward) navigation where we want instant rendering
16
- * from cache without showing loading skeletons.
17
- */
18
- forceAwait?: boolean;
19
- /**
20
- * Intercept segments to inject into the tree.
21
- * These are parallel segments from intercept routes that need to be
22
- * associated with their parent layout's named outlet.
23
- *
24
- * Passed separately for explicit handling - makes the flow clearer
25
- * and easier to debug than relying on ID pattern matching.
26
- */
27
- interceptSegments?: ResolvedSegment[];
28
- /**
29
- * Root layout component that wraps the entire application.
30
- * When provided, wraps both route content and the error boundary,
31
- * preventing the app shell from unmounting during errors (avoids FOUC).
32
- */
33
- rootLayout?: ComponentType<RootLayoutProps>;
34
- }
35
- /**
36
- * Render segments into a React tree with proper layout nesting
37
- *
38
- * Layouts nest using OutletProvider, while route + parallel + error + notFound segments
39
- * render as siblings in a Fragment.
40
- *
41
- * Error segments are treated like route segments - they render their fallback
42
- * component in place of the failed segment. When an error occurs in a handler,
43
- * loader, or middleware, the router creates an error segment with the nearest
44
- * error boundary's fallback component.
45
- *
46
- * NotFound segments are similar to error segments but are triggered by
47
- * DataNotFoundError (thrown via notFound()). They render the nearest
48
- * notFoundBoundary's fallback component.
49
- *
50
- * @param segments - Array of resolved segments to render
51
- * @returns ReactNode representing the component tree
52
- *
53
- * @example
54
- * ```typescript
55
- * const segments = [
56
- * { id: 'L0.0', type: 'layout', component: <RootLayout /> },
57
- * { id: 'L1.0', type: 'layout', component: <BlogLayout /> },
58
- * { id: 'R2.0', type: 'route', component: <BlogPost /> },
59
- * { id: 'P3.0', type: 'parallel', component: <Sidebar />, slot: '@sidebar' }
60
- * ];
61
- *
62
- * const tree = renderSegments(segments);
63
- * // Results in:
64
- * // <OutletProvider><RootLayout>
65
- * // <OutletProvider><BlogLayout>
66
- * // <><BlogPost /><Sidebar /></>
67
- * // </BlogLayout></OutletProvider>
68
- * // </RootLayout></OutletProvider>
69
- *
70
- * // For server actions, pass isAction to await components:
71
- * const tree = renderSegments(segments, { isAction: true });
72
- * ```
73
- */
74
- export declare function renderSegments(segments: ResolvedSegment[], options?: RenderSegmentsOptions): Promise<ReactNode>;
75
- //# sourceMappingURL=segment-system.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"segment-system.d.ts","sourceRoot":"","sources":["../src/segment-system.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAG1E,OAAO,KAAK,EACV,eAAe,EAEf,eAAe,EAChB,MAAM,YAAY,CAAC;AA6CpB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IAEtC;;;;OAIG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,eAAe,EAAE,EAC3B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,SAAS,CAAC,CA2LpB"}
@@ -1,336 +0,0 @@
1
- import { createElement } from "react";
2
- import { OutletProvider } from "./client.js";
3
- import { MountContextProvider } from "./browser/react/mount-context.js";
4
- import { isLoaderDataResult } from "./types.js";
5
- import { invariant } from "./errors.js";
6
- import { RouteContentWrapper, LoaderBoundary, } from "./route-content-wrapper.js";
7
- import { RootErrorBoundary } from "./root-error-boundary.js";
8
- /**
9
- * Resolve loader data from raw results, unwrapping LoaderDataResult wrappers
10
- */
11
- function resolveLoaderData(resolvedData, loaderIds) {
12
- const loaderData = {};
13
- let errorFallback = null;
14
- for (let i = 0; i < loaderIds.length; i++) {
15
- const id = loaderIds[i];
16
- const result = resolvedData[i];
17
- if (!isLoaderDataResult(result)) {
18
- // Legacy format - direct data
19
- loaderData[id] = result;
20
- continue;
21
- }
22
- if (result.ok) {
23
- loaderData[id] = result.data;
24
- continue;
25
- }
26
- // Error case
27
- if (result.fallback) {
28
- errorFallback = result.fallback;
29
- }
30
- else {
31
- throw new Error(result.error.message);
32
- }
33
- }
34
- return { loaderData, errorFallback };
35
- }
36
- /**
37
- * Render segments into a React tree with proper layout nesting
38
- *
39
- * Layouts nest using OutletProvider, while route + parallel + error + notFound segments
40
- * render as siblings in a Fragment.
41
- *
42
- * Error segments are treated like route segments - they render their fallback
43
- * component in place of the failed segment. When an error occurs in a handler,
44
- * loader, or middleware, the router creates an error segment with the nearest
45
- * error boundary's fallback component.
46
- *
47
- * NotFound segments are similar to error segments but are triggered by
48
- * DataNotFoundError (thrown via notFound()). They render the nearest
49
- * notFoundBoundary's fallback component.
50
- *
51
- * @param segments - Array of resolved segments to render
52
- * @returns ReactNode representing the component tree
53
- *
54
- * @example
55
- * ```typescript
56
- * const segments = [
57
- * { id: 'L0.0', type: 'layout', component: <RootLayout /> },
58
- * { id: 'L1.0', type: 'layout', component: <BlogLayout /> },
59
- * { id: 'R2.0', type: 'route', component: <BlogPost /> },
60
- * { id: 'P3.0', type: 'parallel', component: <Sidebar />, slot: '@sidebar' }
61
- * ];
62
- *
63
- * const tree = renderSegments(segments);
64
- * // Results in:
65
- * // <OutletProvider><RootLayout>
66
- * // <OutletProvider><BlogLayout>
67
- * // <><BlogPost /><Sidebar /></>
68
- * // </BlogLayout></OutletProvider>
69
- * // </RootLayout></OutletProvider>
70
- *
71
- * // For server actions, pass isAction to await components:
72
- * const tree = renderSegments(segments, { isAction: true });
73
- * ```
74
- */
75
- export async function renderSegments(segments, options) {
76
- const { isAction, interceptSegments, forceAwait, rootLayout: RootLayout, } = options || {};
77
- const temporalLazyRefs = [];
78
- /**
79
- * Registers promises from lazy/async components for awaiting.
80
- * Handles both direct promises and React lazy components (which store promise in _payload).
81
- */
82
- const registerLazyRef = (node) => {
83
- if (node instanceof Promise) {
84
- temporalLazyRefs.push(node);
85
- }
86
- else if (isLazyComponent(node)) {
87
- temporalLazyRefs.push(node._payload);
88
- }
89
- return node;
90
- };
91
- // Type guard for React lazy component internals
92
- function isLazyComponent(node) {
93
- return (node != null &&
94
- typeof node === "object" &&
95
- "_payload" in node &&
96
- node._payload instanceof Promise);
97
- }
98
- // Separate segments by type, passing intercept segments for explicit injection
99
- const tree = segmentTreeWalk(segments, interceptSegments);
100
- // Render content segments as siblings
101
- let content = null;
102
- for (const node of tree) {
103
- invariant(node.segment.type === "layout" ||
104
- node.segment.type === "route" ||
105
- node.segment.type === "error" ||
106
- node.segment.type === "notFound", `Expected layout, route, error, or notFound segment, got ${node.segment.type}`);
107
- const { component, id, params, loading } = node.segment;
108
- // Only include params in key for segments that belong to the route
109
- // - Routes: always include params (they render param-specific content)
110
- // - Error/notFound segments: always include params (they replace failed route content)
111
- // - Route's layouts (orphans): include params (children of parameterized route)
112
- // - Parent chain layouts: exclude params (shared across routes, param-agnostic)
113
- // This prevents unnecessary unmounting when params change
114
- const includeParams = node.segment.type === "route" ||
115
- node.segment.type === "error" ||
116
- node.segment.type === "notFound" ||
117
- (node.segment.type === "layout" && node.segment.belongsToRoute);
118
- const paramStr = includeParams && params && Object.keys(params).length > 0
119
- ? Object.entries(params)
120
- .sort(([a], [b]) => a.localeCompare(b))
121
- .map(([k, v]) => `${k}=${v}`)
122
- .join(",")
123
- : "";
124
- const key = `${paramStr ? `${id}-${paramStr}` : id}`;
125
- // Get loader entries for this node
126
- const loaderEntries = node.loaders.filter((loader) => loader.loaderId && loader.loaderData !== undefined);
127
- // Determine the component content (with or without Suspense wrapper)
128
- // Wrap when loading skeleton defined OR component is Promise (needs Suspense)
129
- // During actions, await component Promise to prevent Suspense from triggering
130
- // This keeps existing content visible instead of showing loading skeleton
131
- let resolvedComponent = component;
132
- if (isAction && component instanceof Promise) {
133
- resolvedComponent = await component;
134
- }
135
- let nodeContent = loading !== null && loading !== undefined && loading !== false
136
- ? createElement(RouteContentWrapper, {
137
- key: `suspense-loading-${id}`,
138
- content: resolvedComponent instanceof Promise
139
- ? resolvedComponent
140
- : Promise.resolve(resolvedComponent),
141
- fallback: loading,
142
- segmentId: id,
143
- })
144
- : registerLazyRef(resolvedComponent);
145
- // Common props for OutletProvider
146
- const outletContent = node.segment.type === "layout" ? content : null;
147
- // Prepare loader data if there are loaders
148
- const loaderIds = loaderEntries.map((loader) => loader.loaderId);
149
- const loaderDataPromise = loaderEntries.length > 0
150
- ? Promise.all(loaderEntries.map((loader) => loader.loaderData instanceof Promise
151
- ? loader.loaderData
152
- : Promise.resolve(loader.loaderData)))
153
- : Promise.resolve([]);
154
- // Use LoaderBoundary when loading is defined to maintain consistent tree structure
155
- // This ensures cached segments (which may not have loader segments) have the same
156
- // tree structure as fresh segments, preventing React remounts
157
- // If forceAwait or isAction is set, pre-resolve promises so LoaderBoundary won't suspend
158
- if (loading !== undefined && loading !== null) {
159
- content = createElement(LoaderBoundary, {
160
- key: `loader-boundary-${key}`,
161
- loaderDataPromise: forceAwait || isAction ? await loaderDataPromise : loaderDataPromise,
162
- loaderIds,
163
- fallback: loading,
164
- outletKey: key,
165
- outletContent,
166
- segment: node.segment,
167
- parallel: node.parallel,
168
- children: nodeContent,
169
- });
170
- }
171
- else if (loaderEntries.length === 0) {
172
- // No loaders, no loading - simple OutletProvider
173
- content = createElement(OutletProvider, {
174
- key,
175
- content: outletContent,
176
- segment: node.segment,
177
- parallel: node.parallel,
178
- children: nodeContent,
179
- });
180
- }
181
- else {
182
- // Has loaders but no loading skeleton - await loaders and render directly
183
- const resolvedData = await loaderDataPromise;
184
- const { loaderData, errorFallback } = resolveLoaderData(resolvedData, loaderIds);
185
- content = createElement(OutletProvider, {
186
- key,
187
- content: outletContent,
188
- segment: node.segment,
189
- parallel: node.parallel,
190
- loaderData: Object.keys(loaderData).length > 0 ? loaderData : undefined,
191
- children: errorFallback ?? nodeContent,
192
- });
193
- }
194
- // Wrap with MountContextProvider for include() scoped components.
195
- // Must use MountContextProvider (a proper "use client" export) instead of
196
- // MountContext.Provider directly, because .Provider is a property on the
197
- // context object and resolves to undefined through RSC client reference proxies.
198
- if (node.segment.mountPath) {
199
- content = createElement(MountContextProvider, {
200
- value: node.segment.mountPath,
201
- children: content,
202
- });
203
- }
204
- }
205
- // Always wrap with root error boundary to prevent white screens
206
- // This catches any unhandled errors that bubble up from the segment tree
207
- const errorBoundaryWrapped = createElement(RootErrorBoundary, {
208
- children: content,
209
- });
210
- if (typeof window === "object") {
211
- await Promise.allSettled(temporalLazyRefs);
212
- }
213
- // Build the final result, optionally wrapped with root layout
214
- let result = errorBoundaryWrapped;
215
- // If rootLayout is provided, wrap the error boundary with it
216
- // This ensures the app shell stays mounted even during errors (prevents FOUC)
217
- if (RootLayout) {
218
- result = createElement(RootLayout, {
219
- children: errorBoundaryWrapped,
220
- });
221
- }
222
- return result;
223
- }
224
- /**
225
- * Walk segments in bottom-to-top order for React nesting
226
- *
227
- * Segments from match() are in top-to-bottom order (root → leaf):
228
- * Example: [L0, L0L0, L0R1L0.@sidebar, L0R1L0, L0R1]
229
- *
230
- * For proper React rendering, we need bottom-to-top (leaf → root):
231
- * - Innermost content (route) wraps inside layouts
232
- * - Each layer provides context via OutletProvider
233
- * - Outer layouts receive inner content via <Outlet />
234
- *
235
- * Parallel segments must be matched to their parent by ID prefix:
236
- * - "L0R1L0.@sidebar" belongs to "L0R1L0"
237
- * - Pre-grouping prevents parallels from attaching to wrong parents
238
- * during the reversed iteration (which would cause "L0R1L0.@sidebar"
239
- * to incorrectly attach to "L0L0" instead of "L0R1L0")
240
- *
241
- * Loader segments are also grouped by parent:
242
- * - "L0D0.cart" belongs to "L0"
243
- * - Loaders don't render directly, their data is passed to context
244
- *
245
- * Intercept segments are passed separately for explicit handling:
246
- * - They are injected into the correct parent's parallel array
247
- * - This makes the flow clearer than relying on ID pattern matching
248
- *
249
- * @param segments - Main segments from the route tree
250
- * @param interceptSegments - Optional intercept segments to inject
251
- */
252
- function* segmentTreeWalk(segments, interceptSegments) {
253
- // Pre-group parallel and loader segments by their parent ID using prefix matching
254
- // This ensures each parallel/loader is associated with the correct parent segment
255
- // regardless of the iteration order
256
- const parallelsByParent = new Map();
257
- const loadersByParent = new Map();
258
- const nonParallels = [];
259
- for (const segment of segments) {
260
- if (segment.type === "parallel") {
261
- // Extract parent ID from parallel ID
262
- // Example: "L0R1L0.@sidebar" → "L0R1L0"
263
- const parentId = segment.id.split(".")[0];
264
- if (!parallelsByParent.has(parentId)) {
265
- parallelsByParent.set(parentId, []);
266
- }
267
- parallelsByParent.get(parentId).push(segment);
268
- }
269
- else if (segment.type === "loader") {
270
- // Extract parent ID from loader ID
271
- // Example: "L0D0.cart" → "L0"
272
- // Loader ID format: {parentShortCode}D{index}.{loaderId}
273
- const parentId = segment.id.split("D")[0];
274
- if (!loadersByParent.has(parentId)) {
275
- loadersByParent.set(parentId, []);
276
- }
277
- loadersByParent.get(parentId).push(segment);
278
- }
279
- else {
280
- // Layout, route, error, and notFound segments are all rendered in the tree
281
- // Error/notFound segments replace the failed segment with fallback UI
282
- nonParallels.push(segment);
283
- }
284
- }
285
- // INTERCEPT SEGMENTS: Explicitly inject into parent's parallel array
286
- // Intercept segments are passed separately for explicit handling
287
- if (interceptSegments && interceptSegments.length > 0) {
288
- for (const intercept of interceptSegments) {
289
- if (intercept.type === "parallel" && intercept.slot) {
290
- // Extract parent ID from intercept ID (e.g., "M4L0L0L2.@modal" → "M4L0L0L2")
291
- const parentId = intercept.id.split(".")[0];
292
- if (!parallelsByParent.has(parentId)) {
293
- parallelsByParent.set(parentId, []);
294
- }
295
- parallelsByParent.get(parentId).push(intercept);
296
- }
297
- else if (intercept.type === "loader") {
298
- // Intercept loaders - extract parent from loader ID
299
- const parentId = intercept.id.split("D")[0];
300
- if (!loadersByParent.has(parentId)) {
301
- loadersByParent.set(parentId, []);
302
- }
303
- loadersByParent.get(parentId).push(intercept);
304
- }
305
- }
306
- }
307
- // Sort segments by ID to ensure consistent root-to-leaf ordering
308
- // regardless of the order they arrive in the input array (which can differ
309
- // between document requests and actions)
310
- // Shorter IDs come first (closer to root), same length sorted lexicographically
311
- nonParallels.sort((a, b) => {
312
- if (a.id.length !== b.id.length) {
313
- return a.id.length - b.id.length;
314
- }
315
- return a.id.localeCompare(b.id);
316
- });
317
- // Iterate bottom-to-top using reverse() to process leaf segments first
318
- // This processes route/leaf layouts first, then parent layouts
319
- // Note: We reverse the array to iterate from end to start (bottom-to-top)
320
- for (let i = nonParallels.length - 1; i >= 0; i--) {
321
- const segment = nonParallels[i];
322
- // Lookup parallels and loaders that belong to this segment by ID prefix
323
- const parallel = parallelsByParent.get(segment.id) || [];
324
- const loaders = loadersByParent.get(segment.id) || [];
325
- // Also include loaders from parallel segments (e.g., intercept loaders)
326
- // These have parent IDs like "M9L0L1.@modal" which match the parallel segment ID
327
- for (const p of parallel) {
328
- const parallelLoaders = loadersByParent.get(p.id);
329
- if (parallelLoaders) {
330
- loaders.push(...parallelLoaders);
331
- }
332
- }
333
- yield { segment, parallel, loaders };
334
- }
335
- }
336
- //# sourceMappingURL=segment-system.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"segment-system.js","sourceRoot":"","sources":["../src/segment-system.tsx"],"names":[],"mappings":"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"}