@rangojs/router 0.0.0-experimental.114 → 0.0.0-experimental.116

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 (844) hide show
  1. package/dist/vite/index.js +205 -95
  2. package/package.json +17 -18
  3. package/skills/api-client/SKILL.md +211 -0
  4. package/skills/mime-routes/SKILL.md +1 -1
  5. package/skills/rango/SKILL.md +1 -0
  6. package/skills/response-routes/SKILL.md +61 -43
  7. package/skills/typesafety/SKILL.md +3 -3
  8. package/src/__augment-tests__/augmented.check.ts +2 -3
  9. package/src/build/collect-fallback-refs.ts +107 -0
  10. package/src/build/generate-manifest.ts +28 -1
  11. package/src/build/index.ts +8 -1
  12. package/src/build/prefix-tree-utils.ts +123 -0
  13. package/src/build/route-trie.ts +43 -0
  14. package/src/client.tsx +4 -23
  15. package/src/errors.ts +0 -3
  16. package/src/href-client.ts +7 -8
  17. package/src/index.rsc.ts +1 -2
  18. package/src/index.ts +1 -2
  19. package/src/router/find-match.ts +54 -6
  20. package/src/router/lazy-includes.ts +33 -14
  21. package/src/router/manifest.ts +19 -6
  22. package/src/router/pattern-matching.ts +15 -2
  23. package/src/router/router-interfaces.ts +11 -0
  24. package/src/router/trie-matching.ts +22 -3
  25. package/src/router.ts +21 -7
  26. package/src/rsc/manifest-init.ts +28 -41
  27. package/src/rsc/response-error.ts +79 -12
  28. package/src/rsc/response-route-handler.ts +16 -13
  29. package/src/urls/index.ts +1 -2
  30. package/src/urls/type-extraction.ts +33 -24
  31. package/src/vite/debug.ts +1 -0
  32. package/src/vite/discovery/discover-routers.ts +46 -29
  33. package/src/vite/discovery/state.ts +7 -0
  34. package/src/vite/index.ts +2 -0
  35. package/src/vite/plugin-types.ts +67 -0
  36. package/src/vite/plugins/client-ref-hashing.ts +12 -1
  37. package/src/vite/rango.ts +40 -0
  38. package/src/vite/utils/client-chunks.ts +190 -0
  39. package/src/vite/utils/manifest-utils.ts +8 -75
  40. package/src/vite/utils/shared-utils.ts +68 -3
  41. package/dist/__internal.d.ts +0 -83
  42. package/dist/__internal.d.ts.map +0 -1
  43. package/dist/__internal.js +0 -19
  44. package/dist/__internal.js.map +0 -1
  45. package/dist/__mocks__/version.d.ts +0 -7
  46. package/dist/__mocks__/version.d.ts.map +0 -1
  47. package/dist/__mocks__/version.js +0 -7
  48. package/dist/__mocks__/version.js.map +0 -1
  49. package/dist/__tests__/client-href.test.d.ts +0 -2
  50. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  51. package/dist/__tests__/client-href.test.js +0 -74
  52. package/dist/__tests__/client-href.test.js.map +0 -1
  53. package/dist/__tests__/component-utils.test.d.ts +0 -2
  54. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  55. package/dist/__tests__/component-utils.test.js +0 -51
  56. package/dist/__tests__/component-utils.test.js.map +0 -1
  57. package/dist/__tests__/event-controller.test.d.ts +0 -2
  58. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  59. package/dist/__tests__/event-controller.test.js +0 -538
  60. package/dist/__tests__/event-controller.test.js.map +0 -1
  61. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  62. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  63. package/dist/__tests__/helpers/route-tree.js +0 -374
  64. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  65. package/dist/__tests__/match-result.test.d.ts +0 -2
  66. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  67. package/dist/__tests__/match-result.test.js +0 -154
  68. package/dist/__tests__/match-result.test.js.map +0 -1
  69. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  70. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  71. package/dist/__tests__/navigation-store.test.js +0 -440
  72. package/dist/__tests__/navigation-store.test.js.map +0 -1
  73. package/dist/__tests__/partial-update.test.d.ts +0 -2
  74. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  75. package/dist/__tests__/partial-update.test.js +0 -1009
  76. package/dist/__tests__/partial-update.test.js.map +0 -1
  77. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  78. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  79. package/dist/__tests__/reverse-types.test.js +0 -656
  80. package/dist/__tests__/reverse-types.test.js.map +0 -1
  81. package/dist/__tests__/route-definition.test.d.ts +0 -2
  82. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  83. package/dist/__tests__/route-definition.test.js +0 -55
  84. package/dist/__tests__/route-definition.test.js.map +0 -1
  85. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  86. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  87. package/dist/__tests__/router-helpers.test.js +0 -377
  88. package/dist/__tests__/router-helpers.test.js.map +0 -1
  89. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  90. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  91. package/dist/__tests__/router-integration-2.test.js +0 -426
  92. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  93. package/dist/__tests__/router-integration.test.d.ts +0 -2
  94. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  95. package/dist/__tests__/router-integration.test.js +0 -1051
  96. package/dist/__tests__/router-integration.test.js.map +0 -1
  97. package/dist/__tests__/search-params.test.d.ts +0 -5
  98. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  99. package/dist/__tests__/search-params.test.js +0 -306
  100. package/dist/__tests__/search-params.test.js.map +0 -1
  101. package/dist/__tests__/segment-system.test.d.ts +0 -2
  102. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  103. package/dist/__tests__/segment-system.test.js +0 -627
  104. package/dist/__tests__/segment-system.test.js.map +0 -1
  105. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  106. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  107. package/dist/__tests__/static-handler-types.test.js +0 -63
  108. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  109. package/dist/__tests__/urls.test.d.ts +0 -2
  110. package/dist/__tests__/urls.test.d.ts.map +0 -1
  111. package/dist/__tests__/urls.test.js +0 -421
  112. package/dist/__tests__/urls.test.js.map +0 -1
  113. package/dist/__tests__/use-mount.test.d.ts +0 -2
  114. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  115. package/dist/__tests__/use-mount.test.js +0 -35
  116. package/dist/__tests__/use-mount.test.js.map +0 -1
  117. package/dist/bin/rango.d.ts +0 -2
  118. package/dist/bin/rango.d.ts.map +0 -1
  119. package/dist/bin/rango.js.map +0 -1
  120. package/dist/browser/event-controller.d.ts +0 -191
  121. package/dist/browser/event-controller.d.ts.map +0 -1
  122. package/dist/browser/event-controller.js +0 -559
  123. package/dist/browser/event-controller.js.map +0 -1
  124. package/dist/browser/index.d.ts +0 -2
  125. package/dist/browser/index.d.ts.map +0 -1
  126. package/dist/browser/index.js +0 -14
  127. package/dist/browser/index.js.map +0 -1
  128. package/dist/browser/link-interceptor.d.ts +0 -38
  129. package/dist/browser/link-interceptor.d.ts.map +0 -1
  130. package/dist/browser/link-interceptor.js +0 -99
  131. package/dist/browser/link-interceptor.js.map +0 -1
  132. package/dist/browser/logging.d.ts +0 -10
  133. package/dist/browser/logging.d.ts.map +0 -1
  134. package/dist/browser/logging.js +0 -29
  135. package/dist/browser/logging.js.map +0 -1
  136. package/dist/browser/lru-cache.d.ts +0 -17
  137. package/dist/browser/lru-cache.d.ts.map +0 -1
  138. package/dist/browser/lru-cache.js +0 -50
  139. package/dist/browser/lru-cache.js.map +0 -1
  140. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  141. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  142. package/dist/browser/merge-segment-loaders.js +0 -102
  143. package/dist/browser/merge-segment-loaders.js.map +0 -1
  144. package/dist/browser/navigation-bridge.d.ts +0 -102
  145. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  146. package/dist/browser/navigation-bridge.js +0 -708
  147. package/dist/browser/navigation-bridge.js.map +0 -1
  148. package/dist/browser/navigation-client.d.ts +0 -25
  149. package/dist/browser/navigation-client.d.ts.map +0 -1
  150. package/dist/browser/navigation-client.js +0 -157
  151. package/dist/browser/navigation-client.js.map +0 -1
  152. package/dist/browser/navigation-store.d.ts +0 -101
  153. package/dist/browser/navigation-store.d.ts.map +0 -1
  154. package/dist/browser/navigation-store.js +0 -625
  155. package/dist/browser/navigation-store.js.map +0 -1
  156. package/dist/browser/partial-update.d.ts +0 -75
  157. package/dist/browser/partial-update.d.ts.map +0 -1
  158. package/dist/browser/partial-update.js +0 -426
  159. package/dist/browser/partial-update.js.map +0 -1
  160. package/dist/browser/react/Link.d.ts +0 -86
  161. package/dist/browser/react/Link.d.ts.map +0 -1
  162. package/dist/browser/react/Link.js +0 -128
  163. package/dist/browser/react/Link.js.map +0 -1
  164. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  165. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  166. package/dist/browser/react/NavigationProvider.js +0 -216
  167. package/dist/browser/react/NavigationProvider.js.map +0 -1
  168. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  169. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  170. package/dist/browser/react/ScrollRestoration.js +0 -57
  171. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  172. package/dist/browser/react/context.d.ts +0 -46
  173. package/dist/browser/react/context.d.ts.map +0 -1
  174. package/dist/browser/react/context.js +0 -10
  175. package/dist/browser/react/context.js.map +0 -1
  176. package/dist/browser/react/index.d.ts +0 -11
  177. package/dist/browser/react/index.d.ts.map +0 -1
  178. package/dist/browser/react/index.js +0 -22
  179. package/dist/browser/react/index.js.map +0 -1
  180. package/dist/browser/react/location-state-shared.d.ts +0 -63
  181. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  182. package/dist/browser/react/location-state-shared.js +0 -81
  183. package/dist/browser/react/location-state-shared.js.map +0 -1
  184. package/dist/browser/react/location-state.d.ts +0 -23
  185. package/dist/browser/react/location-state.d.ts.map +0 -1
  186. package/dist/browser/react/location-state.js +0 -29
  187. package/dist/browser/react/location-state.js.map +0 -1
  188. package/dist/browser/react/mount-context.d.ts +0 -24
  189. package/dist/browser/react/mount-context.d.ts.map +0 -1
  190. package/dist/browser/react/mount-context.js +0 -24
  191. package/dist/browser/react/mount-context.js.map +0 -1
  192. package/dist/browser/react/use-action.d.ts +0 -64
  193. package/dist/browser/react/use-action.d.ts.map +0 -1
  194. package/dist/browser/react/use-action.js +0 -134
  195. package/dist/browser/react/use-action.js.map +0 -1
  196. package/dist/browser/react/use-client-cache.d.ts +0 -41
  197. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  198. package/dist/browser/react/use-client-cache.js +0 -39
  199. package/dist/browser/react/use-client-cache.js.map +0 -1
  200. package/dist/browser/react/use-handle.d.ts +0 -31
  201. package/dist/browser/react/use-handle.d.ts.map +0 -1
  202. package/dist/browser/react/use-handle.js +0 -144
  203. package/dist/browser/react/use-handle.js.map +0 -1
  204. package/dist/browser/react/use-href.d.ts +0 -33
  205. package/dist/browser/react/use-href.d.ts.map +0 -1
  206. package/dist/browser/react/use-href.js +0 -39
  207. package/dist/browser/react/use-href.js.map +0 -1
  208. package/dist/browser/react/use-link-status.d.ts +0 -37
  209. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  210. package/dist/browser/react/use-link-status.js +0 -99
  211. package/dist/browser/react/use-link-status.js.map +0 -1
  212. package/dist/browser/react/use-mount.d.ts +0 -25
  213. package/dist/browser/react/use-mount.d.ts.map +0 -1
  214. package/dist/browser/react/use-mount.js +0 -30
  215. package/dist/browser/react/use-mount.js.map +0 -1
  216. package/dist/browser/react/use-navigation.d.ts +0 -27
  217. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  218. package/dist/browser/react/use-navigation.js +0 -87
  219. package/dist/browser/react/use-navigation.js.map +0 -1
  220. package/dist/browser/react/use-segments.d.ts +0 -38
  221. package/dist/browser/react/use-segments.d.ts.map +0 -1
  222. package/dist/browser/react/use-segments.js +0 -130
  223. package/dist/browser/react/use-segments.js.map +0 -1
  224. package/dist/browser/request-controller.d.ts +0 -26
  225. package/dist/browser/request-controller.d.ts.map +0 -1
  226. package/dist/browser/request-controller.js +0 -147
  227. package/dist/browser/request-controller.js.map +0 -1
  228. package/dist/browser/rsc-router.d.ts +0 -129
  229. package/dist/browser/rsc-router.d.ts.map +0 -1
  230. package/dist/browser/rsc-router.js +0 -195
  231. package/dist/browser/rsc-router.js.map +0 -1
  232. package/dist/browser/scroll-restoration.d.ts +0 -93
  233. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  234. package/dist/browser/scroll-restoration.js +0 -321
  235. package/dist/browser/scroll-restoration.js.map +0 -1
  236. package/dist/browser/segment-structure-assert.d.ts +0 -17
  237. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  238. package/dist/browser/segment-structure-assert.js +0 -59
  239. package/dist/browser/segment-structure-assert.js.map +0 -1
  240. package/dist/browser/server-action-bridge.d.ts +0 -26
  241. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  242. package/dist/browser/server-action-bridge.js +0 -668
  243. package/dist/browser/server-action-bridge.js.map +0 -1
  244. package/dist/browser/shallow.d.ts +0 -12
  245. package/dist/browser/shallow.d.ts.map +0 -1
  246. package/dist/browser/shallow.js +0 -34
  247. package/dist/browser/shallow.js.map +0 -1
  248. package/dist/browser/types.d.ts +0 -369
  249. package/dist/browser/types.d.ts.map +0 -1
  250. package/dist/browser/types.js +0 -2
  251. package/dist/browser/types.js.map +0 -1
  252. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  253. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  254. package/dist/build/__tests__/generate-cli.test.js +0 -237
  255. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  256. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  257. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  258. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  259. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  260. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  261. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  262. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  263. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  264. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  265. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  266. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  267. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  268. package/dist/build/generate-manifest.d.ts +0 -81
  269. package/dist/build/generate-manifest.d.ts.map +0 -1
  270. package/dist/build/generate-manifest.js +0 -276
  271. package/dist/build/generate-manifest.js.map +0 -1
  272. package/dist/build/generate-route-types.d.ts +0 -115
  273. package/dist/build/generate-route-types.d.ts.map +0 -1
  274. package/dist/build/generate-route-types.js +0 -740
  275. package/dist/build/generate-route-types.js.map +0 -1
  276. package/dist/build/index.d.ts +0 -21
  277. package/dist/build/index.d.ts.map +0 -1
  278. package/dist/build/index.js +0 -21
  279. package/dist/build/index.js.map +0 -1
  280. package/dist/build/route-trie.d.ts +0 -71
  281. package/dist/build/route-trie.d.ts.map +0 -1
  282. package/dist/build/route-trie.js +0 -175
  283. package/dist/build/route-trie.js.map +0 -1
  284. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  285. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  286. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  287. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  288. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  289. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  290. package/dist/cache/__tests__/document-cache.test.js +0 -345
  291. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  292. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  293. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  294. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  295. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  296. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  297. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  298. package/dist/cache/__tests__/memory-store.test.js +0 -367
  299. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  300. package/dist/cache/cache-scope.d.ts +0 -102
  301. package/dist/cache/cache-scope.d.ts.map +0 -1
  302. package/dist/cache/cache-scope.js +0 -440
  303. package/dist/cache/cache-scope.js.map +0 -1
  304. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  305. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  306. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  307. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  308. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  309. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  310. package/dist/cache/cf/cf-cache-store.js +0 -242
  311. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  312. package/dist/cache/cf/index.d.ts +0 -14
  313. package/dist/cache/cf/index.d.ts.map +0 -1
  314. package/dist/cache/cf/index.js +0 -17
  315. package/dist/cache/cf/index.js.map +0 -1
  316. package/dist/cache/document-cache.d.ts +0 -64
  317. package/dist/cache/document-cache.d.ts.map +0 -1
  318. package/dist/cache/document-cache.js +0 -228
  319. package/dist/cache/document-cache.js.map +0 -1
  320. package/dist/cache/index.d.ts +0 -19
  321. package/dist/cache/index.d.ts.map +0 -1
  322. package/dist/cache/index.js +0 -21
  323. package/dist/cache/index.js.map +0 -1
  324. package/dist/cache/memory-segment-store.d.ts +0 -110
  325. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  326. package/dist/cache/memory-segment-store.js +0 -117
  327. package/dist/cache/memory-segment-store.js.map +0 -1
  328. package/dist/cache/memory-store.d.ts +0 -41
  329. package/dist/cache/memory-store.d.ts.map +0 -1
  330. package/dist/cache/memory-store.js +0 -191
  331. package/dist/cache/memory-store.js.map +0 -1
  332. package/dist/cache/types.d.ts +0 -317
  333. package/dist/cache/types.d.ts.map +0 -1
  334. package/dist/cache/types.js +0 -12
  335. package/dist/cache/types.js.map +0 -1
  336. package/dist/client.d.ts +0 -248
  337. package/dist/client.d.ts.map +0 -1
  338. package/dist/client.js +0 -367
  339. package/dist/client.js.map +0 -1
  340. package/dist/client.rsc.d.ts +0 -26
  341. package/dist/client.rsc.d.ts.map +0 -1
  342. package/dist/client.rsc.js +0 -46
  343. package/dist/client.rsc.js.map +0 -1
  344. package/dist/component-utils.d.ts +0 -36
  345. package/dist/component-utils.d.ts.map +0 -1
  346. package/dist/component-utils.js +0 -61
  347. package/dist/component-utils.js.map +0 -1
  348. package/dist/components/DefaultDocument.d.ts +0 -13
  349. package/dist/components/DefaultDocument.d.ts.map +0 -1
  350. package/dist/components/DefaultDocument.js +0 -15
  351. package/dist/components/DefaultDocument.js.map +0 -1
  352. package/dist/debug.d.ts +0 -58
  353. package/dist/debug.d.ts.map +0 -1
  354. package/dist/debug.js +0 -157
  355. package/dist/debug.js.map +0 -1
  356. package/dist/default-error-boundary.d.ts +0 -11
  357. package/dist/default-error-boundary.d.ts.map +0 -1
  358. package/dist/default-error-boundary.js +0 -45
  359. package/dist/default-error-boundary.js.map +0 -1
  360. package/dist/deps/browser.d.ts +0 -2
  361. package/dist/deps/browser.d.ts.map +0 -1
  362. package/dist/deps/browser.js +0 -3
  363. package/dist/deps/browser.js.map +0 -1
  364. package/dist/deps/html-stream-client.d.ts +0 -2
  365. package/dist/deps/html-stream-client.d.ts.map +0 -1
  366. package/dist/deps/html-stream-client.js +0 -3
  367. package/dist/deps/html-stream-client.js.map +0 -1
  368. package/dist/deps/html-stream-server.d.ts +0 -2
  369. package/dist/deps/html-stream-server.d.ts.map +0 -1
  370. package/dist/deps/html-stream-server.js +0 -3
  371. package/dist/deps/html-stream-server.js.map +0 -1
  372. package/dist/deps/rsc.d.ts +0 -2
  373. package/dist/deps/rsc.d.ts.map +0 -1
  374. package/dist/deps/rsc.js +0 -4
  375. package/dist/deps/rsc.js.map +0 -1
  376. package/dist/deps/ssr.d.ts +0 -2
  377. package/dist/deps/ssr.d.ts.map +0 -1
  378. package/dist/deps/ssr.js +0 -3
  379. package/dist/deps/ssr.js.map +0 -1
  380. package/dist/errors.d.ts +0 -174
  381. package/dist/errors.d.ts.map +0 -1
  382. package/dist/errors.js +0 -241
  383. package/dist/errors.js.map +0 -1
  384. package/dist/handle.d.ts +0 -78
  385. package/dist/handle.d.ts.map +0 -1
  386. package/dist/handle.js +0 -82
  387. package/dist/handle.js.map +0 -1
  388. package/dist/handles/MetaTags.d.ts +0 -14
  389. package/dist/handles/MetaTags.d.ts.map +0 -1
  390. package/dist/handles/MetaTags.js +0 -136
  391. package/dist/handles/MetaTags.js.map +0 -1
  392. package/dist/handles/index.d.ts +0 -6
  393. package/dist/handles/index.d.ts.map +0 -1
  394. package/dist/handles/index.js +0 -6
  395. package/dist/handles/index.js.map +0 -1
  396. package/dist/handles/meta.d.ts +0 -39
  397. package/dist/handles/meta.d.ts.map +0 -1
  398. package/dist/handles/meta.js +0 -202
  399. package/dist/handles/meta.js.map +0 -1
  400. package/dist/host/__tests__/errors.test.d.ts +0 -2
  401. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  402. package/dist/host/__tests__/errors.test.js +0 -76
  403. package/dist/host/__tests__/errors.test.js.map +0 -1
  404. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  405. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  406. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  407. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  408. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  409. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  410. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  411. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  412. package/dist/host/__tests__/router.test.d.ts +0 -2
  413. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  414. package/dist/host/__tests__/router.test.js +0 -241
  415. package/dist/host/__tests__/router.test.js.map +0 -1
  416. package/dist/host/__tests__/testing.test.d.ts +0 -2
  417. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  418. package/dist/host/__tests__/testing.test.js +0 -64
  419. package/dist/host/__tests__/testing.test.js.map +0 -1
  420. package/dist/host/__tests__/utils.test.d.ts +0 -2
  421. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  422. package/dist/host/__tests__/utils.test.js +0 -29
  423. package/dist/host/__tests__/utils.test.js.map +0 -1
  424. package/dist/host/cookie-handler.d.ts +0 -34
  425. package/dist/host/cookie-handler.d.ts.map +0 -1
  426. package/dist/host/cookie-handler.js +0 -124
  427. package/dist/host/cookie-handler.js.map +0 -1
  428. package/dist/host/errors.d.ts +0 -56
  429. package/dist/host/errors.d.ts.map +0 -1
  430. package/dist/host/errors.js +0 -79
  431. package/dist/host/errors.js.map +0 -1
  432. package/dist/host/index.d.ts +0 -29
  433. package/dist/host/index.d.ts.map +0 -1
  434. package/dist/host/index.js +0 -32
  435. package/dist/host/index.js.map +0 -1
  436. package/dist/host/pattern-matcher.d.ts +0 -36
  437. package/dist/host/pattern-matcher.d.ts.map +0 -1
  438. package/dist/host/pattern-matcher.js +0 -172
  439. package/dist/host/pattern-matcher.js.map +0 -1
  440. package/dist/host/router.d.ts +0 -26
  441. package/dist/host/router.d.ts.map +0 -1
  442. package/dist/host/router.js +0 -218
  443. package/dist/host/router.js.map +0 -1
  444. package/dist/host/testing.d.ts +0 -36
  445. package/dist/host/testing.d.ts.map +0 -1
  446. package/dist/host/testing.js +0 -55
  447. package/dist/host/testing.js.map +0 -1
  448. package/dist/host/types.d.ts +0 -115
  449. package/dist/host/types.d.ts.map +0 -1
  450. package/dist/host/types.js +0 -7
  451. package/dist/host/types.js.map +0 -1
  452. package/dist/host/utils.d.ts +0 -21
  453. package/dist/host/utils.d.ts.map +0 -1
  454. package/dist/host/utils.js +0 -23
  455. package/dist/host/utils.js.map +0 -1
  456. package/dist/href-client.d.ts +0 -131
  457. package/dist/href-client.d.ts.map +0 -1
  458. package/dist/href-client.js +0 -64
  459. package/dist/href-client.js.map +0 -1
  460. package/dist/href-context.d.ts +0 -29
  461. package/dist/href-context.d.ts.map +0 -1
  462. package/dist/href-context.js +0 -21
  463. package/dist/href-context.js.map +0 -1
  464. package/dist/index.d.ts +0 -73
  465. package/dist/index.d.ts.map +0 -1
  466. package/dist/index.js +0 -91
  467. package/dist/index.js.map +0 -1
  468. package/dist/index.rsc.d.ts +0 -32
  469. package/dist/index.rsc.d.ts.map +0 -1
  470. package/dist/index.rsc.js +0 -40
  471. package/dist/index.rsc.js.map +0 -1
  472. package/dist/internal-debug.d.ts +0 -2
  473. package/dist/internal-debug.d.ts.map +0 -1
  474. package/dist/internal-debug.js +0 -5
  475. package/dist/internal-debug.js.map +0 -1
  476. package/dist/loader.d.ts +0 -14
  477. package/dist/loader.d.ts.map +0 -1
  478. package/dist/loader.js +0 -20
  479. package/dist/loader.js.map +0 -1
  480. package/dist/loader.rsc.d.ts +0 -19
  481. package/dist/loader.rsc.d.ts.map +0 -1
  482. package/dist/loader.rsc.js +0 -99
  483. package/dist/loader.rsc.js.map +0 -1
  484. package/dist/network-error-thrower.d.ts +0 -17
  485. package/dist/network-error-thrower.d.ts.map +0 -1
  486. package/dist/network-error-thrower.js +0 -14
  487. package/dist/network-error-thrower.js.map +0 -1
  488. package/dist/outlet-context.d.ts +0 -13
  489. package/dist/outlet-context.d.ts.map +0 -1
  490. package/dist/outlet-context.js +0 -3
  491. package/dist/outlet-context.js.map +0 -1
  492. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  493. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  494. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  495. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  496. package/dist/prerender/param-hash.d.ts +0 -16
  497. package/dist/prerender/param-hash.d.ts.map +0 -1
  498. package/dist/prerender/param-hash.js +0 -36
  499. package/dist/prerender/param-hash.js.map +0 -1
  500. package/dist/prerender/store.d.ts +0 -38
  501. package/dist/prerender/store.d.ts.map +0 -1
  502. package/dist/prerender/store.js +0 -61
  503. package/dist/prerender/store.js.map +0 -1
  504. package/dist/prerender.d.ts +0 -66
  505. package/dist/prerender.d.ts.map +0 -1
  506. package/dist/prerender.js +0 -57
  507. package/dist/prerender.js.map +0 -1
  508. package/dist/reverse.d.ts +0 -196
  509. package/dist/reverse.d.ts.map +0 -1
  510. package/dist/reverse.js +0 -78
  511. package/dist/reverse.js.map +0 -1
  512. package/dist/root-error-boundary.d.ts +0 -33
  513. package/dist/root-error-boundary.d.ts.map +0 -1
  514. package/dist/root-error-boundary.js +0 -165
  515. package/dist/root-error-boundary.js.map +0 -1
  516. package/dist/route-content-wrapper.d.ts +0 -46
  517. package/dist/route-content-wrapper.d.ts.map +0 -1
  518. package/dist/route-content-wrapper.js +0 -77
  519. package/dist/route-content-wrapper.js.map +0 -1
  520. package/dist/route-definition.d.ts +0 -421
  521. package/dist/route-definition.d.ts.map +0 -1
  522. package/dist/route-definition.js +0 -868
  523. package/dist/route-definition.js.map +0 -1
  524. package/dist/route-map-builder.d.ts +0 -155
  525. package/dist/route-map-builder.d.ts.map +0 -1
  526. package/dist/route-map-builder.js +0 -237
  527. package/dist/route-map-builder.js.map +0 -1
  528. package/dist/route-types.d.ts +0 -165
  529. package/dist/route-types.d.ts.map +0 -1
  530. package/dist/route-types.js +0 -7
  531. package/dist/route-types.js.map +0 -1
  532. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  533. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  534. package/dist/router/__tests__/handler-context.test.js +0 -65
  535. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  536. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  537. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  538. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  539. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  540. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  541. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  542. package/dist/router/__tests__/match-context.test.js +0 -92
  543. package/dist/router/__tests__/match-context.test.js.map +0 -1
  544. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  545. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  546. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  547. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  548. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  549. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  550. package/dist/router/__tests__/match-result.test.js +0 -457
  551. package/dist/router/__tests__/match-result.test.js.map +0 -1
  552. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  553. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  554. package/dist/router/__tests__/on-error.test.js +0 -678
  555. package/dist/router/__tests__/on-error.test.js.map +0 -1
  556. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  557. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  558. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  559. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  560. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  561. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  562. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  563. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  564. package/dist/router/error-handling.d.ts +0 -77
  565. package/dist/router/error-handling.d.ts.map +0 -1
  566. package/dist/router/error-handling.js +0 -202
  567. package/dist/router/error-handling.js.map +0 -1
  568. package/dist/router/handler-context.d.ts +0 -20
  569. package/dist/router/handler-context.d.ts.map +0 -1
  570. package/dist/router/handler-context.js +0 -198
  571. package/dist/router/handler-context.js.map +0 -1
  572. package/dist/router/intercept-resolution.d.ts +0 -66
  573. package/dist/router/intercept-resolution.d.ts.map +0 -1
  574. package/dist/router/intercept-resolution.js +0 -246
  575. package/dist/router/intercept-resolution.js.map +0 -1
  576. package/dist/router/loader-resolution.d.ts +0 -64
  577. package/dist/router/loader-resolution.d.ts.map +0 -1
  578. package/dist/router/loader-resolution.js +0 -284
  579. package/dist/router/loader-resolution.js.map +0 -1
  580. package/dist/router/logging.d.ts +0 -15
  581. package/dist/router/logging.d.ts.map +0 -1
  582. package/dist/router/logging.js +0 -99
  583. package/dist/router/logging.js.map +0 -1
  584. package/dist/router/manifest.d.ts +0 -22
  585. package/dist/router/manifest.d.ts.map +0 -1
  586. package/dist/router/manifest.js +0 -181
  587. package/dist/router/manifest.js.map +0 -1
  588. package/dist/router/match-api.d.ts +0 -35
  589. package/dist/router/match-api.d.ts.map +0 -1
  590. package/dist/router/match-api.js +0 -406
  591. package/dist/router/match-api.js.map +0 -1
  592. package/dist/router/match-context.d.ts +0 -206
  593. package/dist/router/match-context.d.ts.map +0 -1
  594. package/dist/router/match-context.js +0 -17
  595. package/dist/router/match-context.js.map +0 -1
  596. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  597. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  598. package/dist/router/match-middleware/background-revalidation.js +0 -75
  599. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  600. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  601. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  602. package/dist/router/match-middleware/cache-lookup.js +0 -257
  603. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  604. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  605. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  606. package/dist/router/match-middleware/cache-store.js +0 -108
  607. package/dist/router/match-middleware/cache-store.js.map +0 -1
  608. package/dist/router/match-middleware/index.d.ts +0 -81
  609. package/dist/router/match-middleware/index.d.ts.map +0 -1
  610. package/dist/router/match-middleware/index.js +0 -80
  611. package/dist/router/match-middleware/index.js.map +0 -1
  612. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  613. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  614. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  615. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  616. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  617. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  618. package/dist/router/match-middleware/segment-resolution.js +0 -53
  619. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  620. package/dist/router/match-pipelines.d.ts +0 -147
  621. package/dist/router/match-pipelines.d.ts.map +0 -1
  622. package/dist/router/match-pipelines.js +0 -82
  623. package/dist/router/match-pipelines.js.map +0 -1
  624. package/dist/router/match-result.d.ts +0 -126
  625. package/dist/router/match-result.d.ts.map +0 -1
  626. package/dist/router/match-result.js +0 -93
  627. package/dist/router/match-result.js.map +0 -1
  628. package/dist/router/metrics.d.ts +0 -20
  629. package/dist/router/metrics.d.ts.map +0 -1
  630. package/dist/router/metrics.js +0 -47
  631. package/dist/router/metrics.js.map +0 -1
  632. package/dist/router/middleware.d.ts +0 -249
  633. package/dist/router/middleware.d.ts.map +0 -1
  634. package/dist/router/middleware.js +0 -434
  635. package/dist/router/middleware.js.map +0 -1
  636. package/dist/router/middleware.test.d.ts +0 -2
  637. package/dist/router/middleware.test.d.ts.map +0 -1
  638. package/dist/router/middleware.test.js +0 -816
  639. package/dist/router/middleware.test.js.map +0 -1
  640. package/dist/router/pattern-matching.d.ts +0 -149
  641. package/dist/router/pattern-matching.d.ts.map +0 -1
  642. package/dist/router/pattern-matching.js +0 -349
  643. package/dist/router/pattern-matching.js.map +0 -1
  644. package/dist/router/revalidation.d.ts +0 -44
  645. package/dist/router/revalidation.d.ts.map +0 -1
  646. package/dist/router/revalidation.js +0 -147
  647. package/dist/router/revalidation.js.map +0 -1
  648. package/dist/router/router-context.d.ts +0 -135
  649. package/dist/router/router-context.d.ts.map +0 -1
  650. package/dist/router/router-context.js +0 -36
  651. package/dist/router/router-context.js.map +0 -1
  652. package/dist/router/segment-resolution.d.ts +0 -127
  653. package/dist/router/segment-resolution.d.ts.map +0 -1
  654. package/dist/router/segment-resolution.js +0 -919
  655. package/dist/router/segment-resolution.js.map +0 -1
  656. package/dist/router/trie-matching.d.ts +0 -40
  657. package/dist/router/trie-matching.d.ts.map +0 -1
  658. package/dist/router/trie-matching.js +0 -127
  659. package/dist/router/trie-matching.js.map +0 -1
  660. package/dist/router/types.d.ts +0 -136
  661. package/dist/router/types.d.ts.map +0 -1
  662. package/dist/router/types.js +0 -7
  663. package/dist/router/types.js.map +0 -1
  664. package/dist/router.d.ts +0 -753
  665. package/dist/router.d.ts.map +0 -1
  666. package/dist/router.gen.d.ts +0 -6
  667. package/dist/router.gen.d.ts.map +0 -1
  668. package/dist/router.gen.js +0 -6
  669. package/dist/router.gen.js.map +0 -1
  670. package/dist/router.js +0 -1304
  671. package/dist/router.js.map +0 -1
  672. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  673. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  674. package/dist/rsc/__tests__/helpers.test.js +0 -140
  675. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  676. package/dist/rsc/handler.d.ts +0 -45
  677. package/dist/rsc/handler.d.ts.map +0 -1
  678. package/dist/rsc/handler.js +0 -1172
  679. package/dist/rsc/handler.js.map +0 -1
  680. package/dist/rsc/helpers.d.ts +0 -16
  681. package/dist/rsc/helpers.d.ts.map +0 -1
  682. package/dist/rsc/helpers.js +0 -55
  683. package/dist/rsc/helpers.js.map +0 -1
  684. package/dist/rsc/index.d.ts +0 -22
  685. package/dist/rsc/index.d.ts.map +0 -1
  686. package/dist/rsc/index.js +0 -23
  687. package/dist/rsc/index.js.map +0 -1
  688. package/dist/rsc/nonce.d.ts +0 -9
  689. package/dist/rsc/nonce.d.ts.map +0 -1
  690. package/dist/rsc/nonce.js +0 -18
  691. package/dist/rsc/nonce.js.map +0 -1
  692. package/dist/rsc/types.d.ts +0 -206
  693. package/dist/rsc/types.d.ts.map +0 -1
  694. package/dist/rsc/types.js +0 -8
  695. package/dist/rsc/types.js.map +0 -1
  696. package/dist/search-params.d.ts +0 -103
  697. package/dist/search-params.d.ts.map +0 -1
  698. package/dist/search-params.js +0 -74
  699. package/dist/search-params.js.map +0 -1
  700. package/dist/segment-system.d.ts +0 -75
  701. package/dist/segment-system.d.ts.map +0 -1
  702. package/dist/segment-system.js +0 -336
  703. package/dist/segment-system.js.map +0 -1
  704. package/dist/server/context.d.ts +0 -245
  705. package/dist/server/context.d.ts.map +0 -1
  706. package/dist/server/context.js +0 -197
  707. package/dist/server/context.js.map +0 -1
  708. package/dist/server/fetchable-loader-store.d.ts +0 -18
  709. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  710. package/dist/server/fetchable-loader-store.js +0 -18
  711. package/dist/server/fetchable-loader-store.js.map +0 -1
  712. package/dist/server/handle-store.d.ts +0 -85
  713. package/dist/server/handle-store.d.ts.map +0 -1
  714. package/dist/server/handle-store.js +0 -142
  715. package/dist/server/handle-store.js.map +0 -1
  716. package/dist/server/loader-registry.d.ts +0 -55
  717. package/dist/server/loader-registry.d.ts.map +0 -1
  718. package/dist/server/loader-registry.js +0 -132
  719. package/dist/server/loader-registry.js.map +0 -1
  720. package/dist/server/request-context.d.ts +0 -226
  721. package/dist/server/request-context.d.ts.map +0 -1
  722. package/dist/server/request-context.js +0 -290
  723. package/dist/server/request-context.js.map +0 -1
  724. package/dist/server/root-layout.d.ts +0 -4
  725. package/dist/server/root-layout.d.ts.map +0 -1
  726. package/dist/server/root-layout.js +0 -5
  727. package/dist/server/root-layout.js.map +0 -1
  728. package/dist/server.d.ts +0 -15
  729. package/dist/server.d.ts.map +0 -1
  730. package/dist/server.js +0 -20
  731. package/dist/server.js.map +0 -1
  732. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  733. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  734. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  735. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  736. package/dist/ssr/index.d.ts +0 -98
  737. package/dist/ssr/index.d.ts.map +0 -1
  738. package/dist/ssr/index.js +0 -158
  739. package/dist/ssr/index.js.map +0 -1
  740. package/dist/static-handler.d.ts +0 -50
  741. package/dist/static-handler.d.ts.map +0 -1
  742. package/dist/static-handler.gen.d.ts +0 -5
  743. package/dist/static-handler.gen.d.ts.map +0 -1
  744. package/dist/static-handler.gen.js +0 -5
  745. package/dist/static-handler.gen.js.map +0 -1
  746. package/dist/static-handler.js +0 -29
  747. package/dist/static-handler.js.map +0 -1
  748. package/dist/theme/ThemeProvider.d.ts +0 -20
  749. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  750. package/dist/theme/ThemeProvider.js +0 -240
  751. package/dist/theme/ThemeProvider.js.map +0 -1
  752. package/dist/theme/ThemeScript.d.ts +0 -48
  753. package/dist/theme/ThemeScript.d.ts.map +0 -1
  754. package/dist/theme/ThemeScript.js +0 -13
  755. package/dist/theme/ThemeScript.js.map +0 -1
  756. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  757. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  758. package/dist/theme/__tests__/theme.test.js +0 -103
  759. package/dist/theme/__tests__/theme.test.js.map +0 -1
  760. package/dist/theme/constants.d.ts +0 -29
  761. package/dist/theme/constants.d.ts.map +0 -1
  762. package/dist/theme/constants.js +0 -48
  763. package/dist/theme/constants.js.map +0 -1
  764. package/dist/theme/index.d.ts +0 -31
  765. package/dist/theme/index.d.ts.map +0 -1
  766. package/dist/theme/index.js +0 -36
  767. package/dist/theme/index.js.map +0 -1
  768. package/dist/theme/theme-context.d.ts +0 -40
  769. package/dist/theme/theme-context.d.ts.map +0 -1
  770. package/dist/theme/theme-context.js +0 -60
  771. package/dist/theme/theme-context.js.map +0 -1
  772. package/dist/theme/theme-script.d.ts +0 -27
  773. package/dist/theme/theme-script.d.ts.map +0 -1
  774. package/dist/theme/theme-script.js +0 -147
  775. package/dist/theme/theme-script.js.map +0 -1
  776. package/dist/theme/types.d.ts +0 -163
  777. package/dist/theme/types.d.ts.map +0 -1
  778. package/dist/theme/types.js +0 -11
  779. package/dist/theme/types.js.map +0 -1
  780. package/dist/theme/use-theme.d.ts +0 -12
  781. package/dist/theme/use-theme.d.ts.map +0 -1
  782. package/dist/theme/use-theme.js +0 -40
  783. package/dist/theme/use-theme.js.map +0 -1
  784. package/dist/types.d.ts +0 -1479
  785. package/dist/types.d.ts.map +0 -1
  786. package/dist/types.js +0 -10
  787. package/dist/types.js.map +0 -1
  788. package/dist/urls.d.ts +0 -441
  789. package/dist/urls.d.ts.map +0 -1
  790. package/dist/urls.gen.d.ts +0 -8
  791. package/dist/urls.gen.d.ts.map +0 -1
  792. package/dist/urls.gen.js +0 -8
  793. package/dist/urls.gen.js.map +0 -1
  794. package/dist/urls.js +0 -443
  795. package/dist/urls.js.map +0 -1
  796. package/dist/use-loader.d.ts +0 -127
  797. package/dist/use-loader.d.ts.map +0 -1
  798. package/dist/use-loader.js +0 -237
  799. package/dist/use-loader.js.map +0 -1
  800. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  801. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  802. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  803. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  804. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  805. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  806. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  807. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  808. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  809. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  810. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  811. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  812. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  813. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  814. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  815. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  816. package/dist/vite/ast-handler-extract.d.ts +0 -49
  817. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  818. package/dist/vite/ast-handler-extract.js +0 -249
  819. package/dist/vite/ast-handler-extract.js.map +0 -1
  820. package/dist/vite/expose-action-id.d.ts +0 -19
  821. package/dist/vite/expose-action-id.d.ts.map +0 -1
  822. package/dist/vite/expose-action-id.js +0 -250
  823. package/dist/vite/expose-action-id.js.map +0 -1
  824. package/dist/vite/expose-id-utils.d.ts +0 -69
  825. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  826. package/dist/vite/expose-id-utils.js +0 -289
  827. package/dist/vite/expose-id-utils.js.map +0 -1
  828. package/dist/vite/expose-internal-ids.d.ts +0 -22
  829. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  830. package/dist/vite/expose-internal-ids.js +0 -886
  831. package/dist/vite/expose-internal-ids.js.map +0 -1
  832. package/dist/vite/index.d.ts +0 -149
  833. package/dist/vite/index.d.ts.map +0 -1
  834. package/dist/vite/index.js.bak +0 -5448
  835. package/dist/vite/index.js.map +0 -1
  836. package/dist/vite/index.named-routes.gen.ts +0 -103
  837. package/dist/vite/package-resolution.d.ts +0 -43
  838. package/dist/vite/package-resolution.d.ts.map +0 -1
  839. package/dist/vite/package-resolution.js +0 -112
  840. package/dist/vite/package-resolution.js.map +0 -1
  841. package/dist/vite/virtual-entries.d.ts +0 -25
  842. package/dist/vite/virtual-entries.d.ts.map +0 -1
  843. package/dist/vite/virtual-entries.js +0 -110
  844. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,627 +0,0 @@
1
- import { describe, it, expect, vi } from "vitest";
2
- import { createElement } from "react";
3
- // Sentinel components for identification in the element tree
4
- function MockOutletProvider(props) {
5
- return props.children;
6
- }
7
- function MockLoaderBoundary(props) {
8
- return props.children;
9
- }
10
- function MockRouteContentWrapper(props) {
11
- return null;
12
- }
13
- function MockMountContextProvider(props) {
14
- return props.children;
15
- }
16
- function MockRootErrorBoundary(props) {
17
- return props.children;
18
- }
19
- vi.mock("../client.js", () => ({
20
- OutletProvider: MockOutletProvider,
21
- }));
22
- vi.mock("../browser/react/mount-context.js", () => ({
23
- MountContextProvider: MockMountContextProvider,
24
- }));
25
- vi.mock("../route-content-wrapper.js", () => ({
26
- RouteContentWrapper: MockRouteContentWrapper,
27
- LoaderBoundary: MockLoaderBoundary,
28
- }));
29
- vi.mock("../root-error-boundary.js", () => ({
30
- RootErrorBoundary: MockRootErrorBoundary,
31
- }));
32
- import { renderSegments } from "../segment-system";
33
- // Helper to create a minimal segment
34
- function seg(overrides) {
35
- return {
36
- namespace: "",
37
- index: 0,
38
- component: createElement("div", null, `component-${overrides.id}`),
39
- ...overrides,
40
- };
41
- }
42
- function toTreeNode(node) {
43
- if (!node || typeof node !== "object")
44
- return null;
45
- const el = node;
46
- if (!el.type)
47
- return null;
48
- const typeName = typeof el.type === "string"
49
- ? el.type
50
- : el.type.name || "Anonymous";
51
- const children = [];
52
- // Walk both `children` and `content` props since layouts pass inner
53
- // content via the `content` prop to OutletProvider
54
- for (const prop of ["children", "content"]) {
55
- const val = el.props?.[prop];
56
- if (!val)
57
- continue;
58
- if (Array.isArray(val)) {
59
- for (const child of val) {
60
- const n = toTreeNode(child);
61
- if (n)
62
- children.push(n);
63
- }
64
- }
65
- else {
66
- const n = toTreeNode(val);
67
- if (n)
68
- children.push(n);
69
- }
70
- }
71
- return { type: el.type, typeName, props: el.props || {}, children };
72
- }
73
- // Find all nodes matching a component type in the tree
74
- function findAll(tree, fn) {
75
- if (!tree)
76
- return [];
77
- const results = [];
78
- if (tree.type === fn)
79
- results.push(tree);
80
- for (const child of tree.children) {
81
- results.push(...findAll(child, fn));
82
- }
83
- return results;
84
- }
85
- // Find first node matching a component type
86
- function findFirst(tree, fn) {
87
- if (!tree)
88
- return null;
89
- if (tree.type === fn)
90
- return tree;
91
- for (const child of tree.children) {
92
- const found = findFirst(child, fn);
93
- if (found)
94
- return found;
95
- }
96
- return null;
97
- }
98
- // Collect all nodes of a type in order (depth-first)
99
- function collectByType(tree, fn) {
100
- return findAll(tree, fn);
101
- }
102
- describe("segment-system", () => {
103
- describe("renderSegments", () => {
104
- describe("basic tree structure", () => {
105
- it("renders a single route segment with OutletProvider", async () => {
106
- const segments = [
107
- seg({ id: "R0", type: "route" }),
108
- ];
109
- const result = await renderSegments(segments);
110
- const tree = toTreeNode(result);
111
- // Root is RootErrorBoundary
112
- expect(tree.type).toBe(MockRootErrorBoundary);
113
- // Inside is an OutletProvider for the route
114
- const outlets = collectByType(tree, MockOutletProvider);
115
- expect(outlets).toHaveLength(1);
116
- expect(outlets[0].props.segment.id).toBe("R0");
117
- expect(outlets[0].props.content).toBeNull(); // route has no outlet content
118
- });
119
- it("nests layout around route (layout receives route as outlet content)", async () => {
120
- const segments = [
121
- seg({ id: "L0", type: "layout" }),
122
- seg({ id: "L0R0", type: "route" }),
123
- ];
124
- const result = await renderSegments(segments);
125
- const tree = toTreeNode(result);
126
- const outlets = collectByType(tree, MockOutletProvider);
127
- // Two OutletProviders
128
- expect(outlets).toHaveLength(2);
129
- // Outer (layout) wraps inner (route)
130
- // The outermost outlet should be the layout
131
- const outerOutlet = outlets[0];
132
- expect(outerOutlet.props.segment.id).toBe("L0");
133
- // Layout's content prop is the route's OutletProvider
134
- expect(outerOutlet.props.content).not.toBeNull();
135
- });
136
- it("nests multiple layouts (root -> inner -> route)", async () => {
137
- const segments = [
138
- seg({ id: "L0", type: "layout" }),
139
- seg({ id: "L0L0", type: "layout" }),
140
- seg({ id: "L0L0R0", type: "route" }),
141
- ];
142
- const result = await renderSegments(segments);
143
- const tree = toTreeNode(result);
144
- const outlets = collectByType(tree, MockOutletProvider);
145
- expect(outlets).toHaveLength(3);
146
- // Outermost is root layout L0
147
- expect(outlets[0].props.segment.id).toBe("L0");
148
- });
149
- it("always wraps with RootErrorBoundary", async () => {
150
- const segments = [
151
- seg({ id: "R0", type: "route" }),
152
- ];
153
- const result = await renderSegments(segments);
154
- const tree = toTreeNode(result);
155
- expect(tree.type).toBe(MockRootErrorBoundary);
156
- });
157
- });
158
- describe("tree structure based on loading property", () => {
159
- it("uses OutletProvider directly when loading is undefined", async () => {
160
- const segments = [
161
- seg({ id: "R0", type: "route", loading: undefined }),
162
- ];
163
- const result = await renderSegments(segments);
164
- const tree = toTreeNode(result);
165
- expect(collectByType(tree, MockOutletProvider)).toHaveLength(1);
166
- expect(collectByType(tree, MockLoaderBoundary)).toHaveLength(0);
167
- expect(collectByType(tree, MockRouteContentWrapper)).toHaveLength(0);
168
- });
169
- it("uses OutletProvider directly when loading is null", async () => {
170
- const segments = [
171
- seg({ id: "R0", type: "route", loading: null }),
172
- ];
173
- const result = await renderSegments(segments);
174
- const tree = toTreeNode(result);
175
- expect(collectByType(tree, MockOutletProvider)).toHaveLength(1);
176
- expect(collectByType(tree, MockLoaderBoundary)).toHaveLength(0);
177
- });
178
- it("uses LoaderBoundary when loading is false (defined but falsy)", async () => {
179
- const segments = [
180
- seg({ id: "R0", type: "route", loading: false }),
181
- ];
182
- const result = await renderSegments(segments);
183
- const tree = toTreeNode(result);
184
- // loading is false: not null, not undefined, so enters LoaderBoundary path
185
- expect(collectByType(tree, MockLoaderBoundary)).toHaveLength(1);
186
- });
187
- it("uses LoaderBoundary + RouteContentWrapper when loading is a ReactNode", async () => {
188
- const loadingSkeleton = createElement("div", null, "Loading...");
189
- const segments = [
190
- seg({ id: "R0", type: "route", loading: loadingSkeleton }),
191
- ];
192
- const result = await renderSegments(segments);
193
- const tree = toTreeNode(result);
194
- expect(collectByType(tree, MockLoaderBoundary)).toHaveLength(1);
195
- // RouteContentWrapper used as the children of LoaderBoundary
196
- expect(collectByType(tree, MockRouteContentWrapper)).toHaveLength(1);
197
- });
198
- it("uses OutletProvider with awaited data when loaders exist but no loading", async () => {
199
- const segments = [
200
- seg({ id: "R0", type: "route" }),
201
- seg({
202
- id: "R0D0.data",
203
- type: "loader",
204
- loaderId: "my-loader",
205
- loaderData: { value: 42 },
206
- }),
207
- ];
208
- const result = await renderSegments(segments);
209
- const tree = toTreeNode(result);
210
- // No LoaderBoundary because loading is undefined
211
- expect(collectByType(tree, MockLoaderBoundary)).toHaveLength(0);
212
- // Uses OutletProvider with loaderData injected
213
- const outlets = collectByType(tree, MockOutletProvider);
214
- expect(outlets).toHaveLength(1);
215
- expect(outlets[0].props.loaderData).toEqual({ "my-loader": { value: 42 } });
216
- });
217
- });
218
- describe("key generation", () => {
219
- it("uses segment ID as key when no params", async () => {
220
- const segments = [
221
- seg({ id: "R0", type: "route" }),
222
- ];
223
- const result = await renderSegments(segments);
224
- const tree = toTreeNode(result);
225
- const outlet = findFirst(tree, MockOutletProvider);
226
- // Key for route without params is just the ID
227
- expect(result.props.children.key).toBeDefined();
228
- });
229
- it("includes sorted params in key for route segments", async () => {
230
- const segments = [
231
- seg({
232
- id: "R0",
233
- type: "route",
234
- params: { slug: "hello", category: "tech" },
235
- }),
236
- ];
237
- const result = await renderSegments(segments);
238
- const tree = toTreeNode(result);
239
- const outlets = collectByType(tree, MockOutletProvider);
240
- // Params are sorted alphabetically in key
241
- expect(outlets[0].props.segment.params).toEqual({
242
- slug: "hello",
243
- category: "tech",
244
- });
245
- });
246
- it("excludes params from key for non-belongsToRoute layouts", async () => {
247
- // Layout that is shared (not belongsToRoute) should use just ID as key
248
- const segments = [
249
- seg({
250
- id: "L0",
251
- type: "layout",
252
- belongsToRoute: false,
253
- params: { slug: "hello" },
254
- }),
255
- seg({ id: "L0R0", type: "route" }),
256
- ];
257
- // Should not throw - params are excluded from key for shared layouts
258
- await renderSegments(segments);
259
- });
260
- });
261
- describe("parallel segment grouping", () => {
262
- it("attaches parallel segments to correct parent by ID prefix", async () => {
263
- const segments = [
264
- seg({ id: "L0", type: "layout" }),
265
- seg({ id: "L0R0", type: "route" }),
266
- seg({
267
- id: "L0.@sidebar",
268
- type: "parallel",
269
- slot: "@sidebar",
270
- }),
271
- ];
272
- const result = await renderSegments(segments);
273
- const tree = toTreeNode(result);
274
- const outlets = collectByType(tree, MockOutletProvider);
275
- // Layout L0 should have the parallel segment
276
- const layoutOutlet = outlets.find((o) => o.props.segment.id === "L0");
277
- expect(layoutOutlet.props.parallel).toHaveLength(1);
278
- expect(layoutOutlet.props.parallel[0].slot).toBe("@sidebar");
279
- // Route should NOT have parallels
280
- const routeOutlet = outlets.find((o) => o.props.segment.id === "L0R0");
281
- expect(routeOutlet.props.parallel).toEqual([]);
282
- });
283
- it("groups multiple parallels under same parent", async () => {
284
- const segments = [
285
- seg({ id: "L0", type: "layout" }),
286
- seg({ id: "L0R0", type: "route" }),
287
- seg({ id: "L0.@sidebar", type: "parallel", slot: "@sidebar" }),
288
- seg({ id: "L0.@modal", type: "parallel", slot: "@modal" }),
289
- ];
290
- const result = await renderSegments(segments);
291
- const tree = toTreeNode(result);
292
- const outlets = collectByType(tree, MockOutletProvider);
293
- const layoutOutlet = outlets.find((o) => o.props.segment.id === "L0");
294
- expect(layoutOutlet.props.parallel).toHaveLength(2);
295
- expect(layoutOutlet.props.parallel.map((p) => p.slot).sort()).toEqual(["@modal", "@sidebar"]);
296
- });
297
- });
298
- describe("loader segment grouping", () => {
299
- it("groups loader segments by parent ID and passes data to OutletProvider", async () => {
300
- const segments = [
301
- seg({ id: "L0", type: "layout" }),
302
- seg({ id: "L0R0", type: "route" }),
303
- seg({
304
- id: "L0D0.products",
305
- type: "loader",
306
- loaderId: "products-loader",
307
- loaderData: { products: ["a", "b"] },
308
- }),
309
- ];
310
- const result = await renderSegments(segments);
311
- const tree = toTreeNode(result);
312
- const outlets = collectByType(tree, MockOutletProvider);
313
- // Layout L0 gets the loader data (parent of "L0D0.products" is "L0")
314
- const layoutOutlet = outlets.find((o) => o.props.segment.id === "L0");
315
- expect(layoutOutlet.props.loaderData).toEqual({
316
- "products-loader": { products: ["a", "b"] },
317
- });
318
- });
319
- it("resolves LoaderDataResult success wrapper", async () => {
320
- const segments = [
321
- seg({ id: "R0", type: "route" }),
322
- seg({
323
- id: "R0D0.data",
324
- type: "loader",
325
- loaderId: "my-loader",
326
- loaderData: {
327
- __loaderResult: true,
328
- ok: true,
329
- data: { value: 42 },
330
- },
331
- }),
332
- ];
333
- const result = await renderSegments(segments);
334
- const tree = toTreeNode(result);
335
- const outlets = collectByType(tree, MockOutletProvider);
336
- // Should unwrap LoaderDataResult to get the inner data
337
- expect(outlets[0].props.loaderData).toEqual({ "my-loader": { value: 42 } });
338
- });
339
- it("renders error fallback for LoaderDataResult with error+fallback", async () => {
340
- const errorFallback = createElement("div", null, "Error occurred");
341
- const segments = [
342
- seg({ id: "R0", type: "route" }),
343
- seg({
344
- id: "R0D0.data",
345
- type: "loader",
346
- loaderId: "my-loader",
347
- loaderData: {
348
- __loaderResult: true,
349
- ok: false,
350
- error: { message: "Failed" },
351
- fallback: errorFallback,
352
- },
353
- }),
354
- ];
355
- const result = await renderSegments(segments);
356
- const tree = toTreeNode(result);
357
- const outlets = collectByType(tree, MockOutletProvider);
358
- // The OutletProvider children should be the error fallback
359
- expect(outlets[0].props.children).toBe(errorFallback);
360
- });
361
- it("throws for LoaderDataResult with error but no fallback", async () => {
362
- const segments = [
363
- seg({ id: "R0", type: "route" }),
364
- seg({
365
- id: "R0D0.data",
366
- type: "loader",
367
- loaderId: "my-loader",
368
- loaderData: {
369
- __loaderResult: true,
370
- ok: false,
371
- error: { message: "Loader failed" },
372
- },
373
- }),
374
- ];
375
- await expect(renderSegments(segments)).rejects.toThrow("Loader failed");
376
- });
377
- });
378
- describe("segment ordering", () => {
379
- it("sorts segments by ID length regardless of input order", async () => {
380
- // Provide in wrong order
381
- const segments = [
382
- seg({ id: "L0L0R0", type: "route" }),
383
- seg({ id: "L0", type: "layout" }),
384
- seg({ id: "L0L0", type: "layout" }),
385
- ];
386
- const result = await renderSegments(segments);
387
- const tree = toTreeNode(result);
388
- const outlets = collectByType(tree, MockOutletProvider);
389
- expect(outlets).toHaveLength(3);
390
- // Outermost is root layout (L0)
391
- expect(outlets[0].props.segment.id).toBe("L0");
392
- });
393
- });
394
- describe("isAction behavior", () => {
395
- it("awaits component promises when isAction is true", async () => {
396
- const resolvedComponent = createElement("div", null, "resolved");
397
- const componentPromise = Promise.resolve(resolvedComponent);
398
- const segments = [
399
- seg({ id: "R0", type: "route", component: componentPromise }),
400
- ];
401
- const result = await renderSegments(segments, { isAction: true });
402
- const tree = toTreeNode(result);
403
- const outlets = collectByType(tree, MockOutletProvider);
404
- // Component should be resolved, not wrapped in RouteContentWrapper
405
- expect(outlets).toHaveLength(1);
406
- expect(collectByType(tree, MockRouteContentWrapper)).toHaveLength(0);
407
- });
408
- it("pre-resolves loader promises when isAction is true", async () => {
409
- const loadingSkeleton = createElement("div", null, "Loading...");
410
- const segments = [
411
- seg({ id: "R0", type: "route", loading: loadingSkeleton }),
412
- seg({
413
- id: "R0D0.data",
414
- type: "loader",
415
- loaderId: "test",
416
- loaderData: Promise.resolve({ count: 5 }),
417
- }),
418
- ];
419
- const result = await renderSegments(segments, { isAction: true });
420
- const tree = toTreeNode(result);
421
- const boundaries = collectByType(tree, MockLoaderBoundary);
422
- expect(boundaries).toHaveLength(1);
423
- // When isAction, the promise should be pre-resolved to an array
424
- expect(Array.isArray(boundaries[0].props.loaderDataPromise)).toBe(true);
425
- });
426
- });
427
- describe("forceAwait behavior", () => {
428
- it("pre-resolves loader promises when forceAwait is true", async () => {
429
- const loadingSkeleton = createElement("div", null, "Loading...");
430
- const segments = [
431
- seg({ id: "R0", type: "route", loading: loadingSkeleton }),
432
- seg({
433
- id: "R0D0.data",
434
- type: "loader",
435
- loaderId: "test",
436
- loaderData: Promise.resolve({ count: 5 }),
437
- }),
438
- ];
439
- const result = await renderSegments(segments, { forceAwait: true });
440
- const tree = toTreeNode(result);
441
- const boundaries = collectByType(tree, MockLoaderBoundary);
442
- expect(boundaries).toHaveLength(1);
443
- expect(Array.isArray(boundaries[0].props.loaderDataPromise)).toBe(true);
444
- });
445
- });
446
- describe("intercept segments", () => {
447
- it("injects intercept parallel segments into parent parallel group", async () => {
448
- const segments = [
449
- seg({ id: "L0", type: "layout" }),
450
- seg({ id: "L0R0", type: "route" }),
451
- ];
452
- const interceptSegments = [
453
- seg({
454
- id: "L0.@modal",
455
- type: "parallel",
456
- slot: "@modal",
457
- }),
458
- ];
459
- const result = await renderSegments(segments, { interceptSegments });
460
- const tree = toTreeNode(result);
461
- const outlets = collectByType(tree, MockOutletProvider);
462
- const layoutOutlet = outlets.find((o) => o.props.segment.id === "L0");
463
- expect(layoutOutlet.props.parallel).toHaveLength(1);
464
- expect(layoutOutlet.props.parallel[0].slot).toBe("@modal");
465
- });
466
- it("injects intercept loader segments into parent loader group", async () => {
467
- const segments = [
468
- seg({ id: "L0", type: "layout" }),
469
- seg({ id: "L0R0", type: "route" }),
470
- ];
471
- const interceptSegments = [
472
- seg({
473
- id: "L0D0.modal-data",
474
- type: "loader",
475
- loaderId: "modal-loader",
476
- loaderData: { modal: true },
477
- }),
478
- ];
479
- const result = await renderSegments(segments, { interceptSegments });
480
- const tree = toTreeNode(result);
481
- const outlets = collectByType(tree, MockOutletProvider);
482
- const layoutOutlet = outlets.find((o) => o.props.segment.id === "L0");
483
- expect(layoutOutlet.props.loaderData).toEqual({
484
- "modal-loader": { modal: true },
485
- });
486
- });
487
- });
488
- describe("rootLayout wrapping", () => {
489
- it("wraps tree with rootLayout when provided", async () => {
490
- const RootLayout = ({ children }) => createElement("div", null, children);
491
- const segments = [
492
- seg({ id: "R0", type: "route" }),
493
- ];
494
- const result = await renderSegments(segments, {
495
- rootLayout: RootLayout,
496
- });
497
- const tree = toTreeNode(result);
498
- // Root should be the RootLayout, not RootErrorBoundary
499
- expect(tree.type).toBe(RootLayout);
500
- // RootErrorBoundary should be inside
501
- const errorBoundary = findFirst(tree, MockRootErrorBoundary);
502
- expect(errorBoundary).not.toBeNull();
503
- });
504
- it("does not wrap with rootLayout when not provided", async () => {
505
- const segments = [
506
- seg({ id: "R0", type: "route" }),
507
- ];
508
- const result = await renderSegments(segments);
509
- const tree = toTreeNode(result);
510
- expect(tree.type).toBe(MockRootErrorBoundary);
511
- });
512
- });
513
- describe("MountContextProvider wrapping", () => {
514
- it("wraps segment with MountContextProvider when mountPath is set", async () => {
515
- const segments = [
516
- seg({ id: "R0", type: "route", mountPath: "/shop" }),
517
- ];
518
- const result = await renderSegments(segments);
519
- const tree = toTreeNode(result);
520
- const mounts = collectByType(tree, MockMountContextProvider);
521
- expect(mounts).toHaveLength(1);
522
- expect(mounts[0].props.value).toBe("/shop");
523
- });
524
- it("does not wrap when mountPath is undefined", async () => {
525
- const segments = [
526
- seg({ id: "R0", type: "route" }),
527
- ];
528
- const result = await renderSegments(segments);
529
- const tree = toTreeNode(result);
530
- const mounts = collectByType(tree, MockMountContextProvider);
531
- expect(mounts).toHaveLength(0);
532
- });
533
- it("wraps all segment types with MountContextProvider", async () => {
534
- const segments = [
535
- seg({ id: "L0", type: "layout", mountPath: "/shop" }),
536
- seg({ id: "L0R0", type: "route", mountPath: "/shop" }),
537
- ];
538
- const result = await renderSegments(segments);
539
- const tree = toTreeNode(result);
540
- const mounts = collectByType(tree, MockMountContextProvider);
541
- expect(mounts).toHaveLength(2);
542
- });
543
- });
544
- describe("error and notFound segments", () => {
545
- it("renders error segments in the tree", async () => {
546
- const segments = [
547
- seg({ id: "L0", type: "layout" }),
548
- seg({
549
- id: "L0E0",
550
- type: "error",
551
- component: createElement("div", null, "Error fallback"),
552
- error: {
553
- name: "Error",
554
- message: "Something broke",
555
- segmentId: "R0",
556
- segmentType: "route",
557
- },
558
- }),
559
- ];
560
- const result = await renderSegments(segments);
561
- const tree = toTreeNode(result);
562
- const outlets = collectByType(tree, MockOutletProvider);
563
- // Should have outlets for both layout and error segment
564
- expect(outlets).toHaveLength(2);
565
- const errorOutlet = outlets.find((o) => o.props.segment.type === "error");
566
- expect(errorOutlet).toBeDefined();
567
- });
568
- it("renders notFound segments in the tree", async () => {
569
- const segments = [
570
- seg({ id: "L0", type: "layout" }),
571
- seg({
572
- id: "L0NF0",
573
- type: "notFound",
574
- component: createElement("div", null, "Not found"),
575
- notFoundInfo: {
576
- message: "Page not found",
577
- segmentId: "R0",
578
- segmentType: "route",
579
- },
580
- }),
581
- ];
582
- const result = await renderSegments(segments);
583
- const tree = toTreeNode(result);
584
- const outlets = collectByType(tree, MockOutletProvider);
585
- expect(outlets).toHaveLength(2);
586
- const notFoundOutlet = outlets.find((o) => o.props.segment.type === "notFound");
587
- expect(notFoundOutlet).toBeDefined();
588
- });
589
- });
590
- describe("empty segments", () => {
591
- it("returns RootErrorBoundary wrapping null for empty segments", async () => {
592
- const result = await renderSegments([]);
593
- const tree = toTreeNode(result);
594
- expect(tree.type).toBe(MockRootErrorBoundary);
595
- });
596
- });
597
- describe("parallel segment loaders", () => {
598
- it("includes loaders from parallel segments in parent loader list", async () => {
599
- const segments = [
600
- seg({ id: "L0", type: "layout" }),
601
- seg({ id: "L0R0", type: "route" }),
602
- seg({
603
- id: "L0.@sidebar",
604
- type: "parallel",
605
- slot: "@sidebar",
606
- }),
607
- seg({
608
- id: "L0.@sidebarD0.data",
609
- type: "loader",
610
- loaderId: "sidebar-loader",
611
- loaderData: { sidebar: true },
612
- }),
613
- ];
614
- const result = await renderSegments(segments);
615
- const tree = toTreeNode(result);
616
- const outlets = collectByType(tree, MockOutletProvider);
617
- // The layout should have sidebar loader data accessible
618
- // (loaders from parallels are merged into parent's loaders)
619
- const layoutOutlet = outlets.find((o) => o.props.segment.id === "L0");
620
- // The sidebar loader is grouped under the parallel "L0.@sidebar"
621
- // which is a child of L0, so it gets included in L0's loaders
622
- expect(layoutOutlet.props.loaderData).toBeDefined();
623
- });
624
- });
625
- });
626
- });
627
- //# sourceMappingURL=segment-system.test.js.map