@rangojs/router 0.0.0-experimental.21 → 0.0.0-experimental.23

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 (834) hide show
  1. package/README.md +43 -10
  2. package/dist/vite/index.js +2 -3
  3. package/package.json +1 -1
  4. package/skills/caching/SKILL.md +4 -4
  5. package/skills/document-cache/SKILL.md +2 -2
  6. package/skills/hooks/SKILL.md +13 -12
  7. package/skills/host-router/SKILL.md +218 -0
  8. package/skills/loader/SKILL.md +2 -2
  9. package/skills/prerender/SKILL.md +2 -2
  10. package/skills/rango/SKILL.md +0 -1
  11. package/skills/router-setup/SKILL.md +2 -2
  12. package/skills/typesafety/SKILL.md +1 -1
  13. package/src/host/index.ts +0 -3
  14. package/src/index.ts +30 -31
  15. package/src/route-definition/index.ts +0 -3
  16. package/src/router/loader-resolution.ts +1 -1
  17. package/src/router/metrics.ts +90 -10
  18. package/src/router/middleware-types.ts +12 -0
  19. package/src/router/middleware.ts +55 -9
  20. package/src/router/router-options.ts +1 -1
  21. package/src/router/segment-resolution/fresh.ts +18 -0
  22. package/src/router/segment-resolution/revalidation.ts +21 -6
  23. package/src/router.ts +6 -2
  24. package/src/rsc/index.ts +0 -20
  25. package/src/server/context.ts +8 -2
  26. package/src/server/request-context.ts +5 -1
  27. package/src/server.ts +6 -0
  28. package/src/theme/index.ts +4 -13
  29. package/src/vite/discovery/discover-routers.ts +2 -3
  30. package/dist/__internal.d.ts +0 -83
  31. package/dist/__internal.d.ts.map +0 -1
  32. package/dist/__internal.js +0 -19
  33. package/dist/__internal.js.map +0 -1
  34. package/dist/__mocks__/version.d.ts +0 -7
  35. package/dist/__mocks__/version.d.ts.map +0 -1
  36. package/dist/__mocks__/version.js +0 -7
  37. package/dist/__mocks__/version.js.map +0 -1
  38. package/dist/__tests__/client-href.test.d.ts +0 -2
  39. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  40. package/dist/__tests__/client-href.test.js +0 -74
  41. package/dist/__tests__/client-href.test.js.map +0 -1
  42. package/dist/__tests__/component-utils.test.d.ts +0 -2
  43. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  44. package/dist/__tests__/component-utils.test.js +0 -51
  45. package/dist/__tests__/component-utils.test.js.map +0 -1
  46. package/dist/__tests__/event-controller.test.d.ts +0 -2
  47. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  48. package/dist/__tests__/event-controller.test.js +0 -538
  49. package/dist/__tests__/event-controller.test.js.map +0 -1
  50. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  51. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  52. package/dist/__tests__/helpers/route-tree.js +0 -374
  53. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  54. package/dist/__tests__/match-result.test.d.ts +0 -2
  55. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  56. package/dist/__tests__/match-result.test.js +0 -154
  57. package/dist/__tests__/match-result.test.js.map +0 -1
  58. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  59. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  60. package/dist/__tests__/navigation-store.test.js +0 -440
  61. package/dist/__tests__/navigation-store.test.js.map +0 -1
  62. package/dist/__tests__/partial-update.test.d.ts +0 -2
  63. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  64. package/dist/__tests__/partial-update.test.js +0 -1009
  65. package/dist/__tests__/partial-update.test.js.map +0 -1
  66. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  67. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  68. package/dist/__tests__/reverse-types.test.js +0 -656
  69. package/dist/__tests__/reverse-types.test.js.map +0 -1
  70. package/dist/__tests__/route-definition.test.d.ts +0 -2
  71. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  72. package/dist/__tests__/route-definition.test.js +0 -55
  73. package/dist/__tests__/route-definition.test.js.map +0 -1
  74. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  75. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  76. package/dist/__tests__/router-helpers.test.js +0 -377
  77. package/dist/__tests__/router-helpers.test.js.map +0 -1
  78. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  79. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  80. package/dist/__tests__/router-integration-2.test.js +0 -426
  81. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  82. package/dist/__tests__/router-integration.test.d.ts +0 -2
  83. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  84. package/dist/__tests__/router-integration.test.js +0 -1051
  85. package/dist/__tests__/router-integration.test.js.map +0 -1
  86. package/dist/__tests__/search-params.test.d.ts +0 -5
  87. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  88. package/dist/__tests__/search-params.test.js +0 -306
  89. package/dist/__tests__/search-params.test.js.map +0 -1
  90. package/dist/__tests__/segment-system.test.d.ts +0 -2
  91. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  92. package/dist/__tests__/segment-system.test.js +0 -627
  93. package/dist/__tests__/segment-system.test.js.map +0 -1
  94. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  95. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  96. package/dist/__tests__/static-handler-types.test.js +0 -63
  97. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  98. package/dist/__tests__/urls.test.d.ts +0 -2
  99. package/dist/__tests__/urls.test.d.ts.map +0 -1
  100. package/dist/__tests__/urls.test.js +0 -421
  101. package/dist/__tests__/urls.test.js.map +0 -1
  102. package/dist/__tests__/use-mount.test.d.ts +0 -2
  103. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  104. package/dist/__tests__/use-mount.test.js +0 -35
  105. package/dist/__tests__/use-mount.test.js.map +0 -1
  106. package/dist/bin/rango.d.ts +0 -2
  107. package/dist/bin/rango.d.ts.map +0 -1
  108. package/dist/bin/rango.js.map +0 -1
  109. package/dist/browser/event-controller.d.ts +0 -191
  110. package/dist/browser/event-controller.d.ts.map +0 -1
  111. package/dist/browser/event-controller.js +0 -559
  112. package/dist/browser/event-controller.js.map +0 -1
  113. package/dist/browser/index.d.ts +0 -2
  114. package/dist/browser/index.d.ts.map +0 -1
  115. package/dist/browser/index.js +0 -14
  116. package/dist/browser/index.js.map +0 -1
  117. package/dist/browser/link-interceptor.d.ts +0 -38
  118. package/dist/browser/link-interceptor.d.ts.map +0 -1
  119. package/dist/browser/link-interceptor.js +0 -99
  120. package/dist/browser/link-interceptor.js.map +0 -1
  121. package/dist/browser/logging.d.ts +0 -10
  122. package/dist/browser/logging.d.ts.map +0 -1
  123. package/dist/browser/logging.js +0 -29
  124. package/dist/browser/logging.js.map +0 -1
  125. package/dist/browser/lru-cache.d.ts +0 -17
  126. package/dist/browser/lru-cache.d.ts.map +0 -1
  127. package/dist/browser/lru-cache.js +0 -50
  128. package/dist/browser/lru-cache.js.map +0 -1
  129. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  130. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  131. package/dist/browser/merge-segment-loaders.js +0 -102
  132. package/dist/browser/merge-segment-loaders.js.map +0 -1
  133. package/dist/browser/navigation-bridge.d.ts +0 -102
  134. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  135. package/dist/browser/navigation-bridge.js +0 -708
  136. package/dist/browser/navigation-bridge.js.map +0 -1
  137. package/dist/browser/navigation-client.d.ts +0 -25
  138. package/dist/browser/navigation-client.d.ts.map +0 -1
  139. package/dist/browser/navigation-client.js +0 -157
  140. package/dist/browser/navigation-client.js.map +0 -1
  141. package/dist/browser/navigation-store.d.ts +0 -101
  142. package/dist/browser/navigation-store.d.ts.map +0 -1
  143. package/dist/browser/navigation-store.js +0 -625
  144. package/dist/browser/navigation-store.js.map +0 -1
  145. package/dist/browser/partial-update.d.ts +0 -75
  146. package/dist/browser/partial-update.d.ts.map +0 -1
  147. package/dist/browser/partial-update.js +0 -426
  148. package/dist/browser/partial-update.js.map +0 -1
  149. package/dist/browser/react/Link.d.ts +0 -86
  150. package/dist/browser/react/Link.d.ts.map +0 -1
  151. package/dist/browser/react/Link.js +0 -128
  152. package/dist/browser/react/Link.js.map +0 -1
  153. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  154. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  155. package/dist/browser/react/NavigationProvider.js +0 -216
  156. package/dist/browser/react/NavigationProvider.js.map +0 -1
  157. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  158. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  159. package/dist/browser/react/ScrollRestoration.js +0 -57
  160. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  161. package/dist/browser/react/context.d.ts +0 -46
  162. package/dist/browser/react/context.d.ts.map +0 -1
  163. package/dist/browser/react/context.js +0 -10
  164. package/dist/browser/react/context.js.map +0 -1
  165. package/dist/browser/react/index.d.ts +0 -11
  166. package/dist/browser/react/index.d.ts.map +0 -1
  167. package/dist/browser/react/index.js +0 -22
  168. package/dist/browser/react/index.js.map +0 -1
  169. package/dist/browser/react/location-state-shared.d.ts +0 -63
  170. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  171. package/dist/browser/react/location-state-shared.js +0 -81
  172. package/dist/browser/react/location-state-shared.js.map +0 -1
  173. package/dist/browser/react/location-state.d.ts +0 -23
  174. package/dist/browser/react/location-state.d.ts.map +0 -1
  175. package/dist/browser/react/location-state.js +0 -29
  176. package/dist/browser/react/location-state.js.map +0 -1
  177. package/dist/browser/react/mount-context.d.ts +0 -24
  178. package/dist/browser/react/mount-context.d.ts.map +0 -1
  179. package/dist/browser/react/mount-context.js +0 -24
  180. package/dist/browser/react/mount-context.js.map +0 -1
  181. package/dist/browser/react/use-action.d.ts +0 -64
  182. package/dist/browser/react/use-action.d.ts.map +0 -1
  183. package/dist/browser/react/use-action.js +0 -134
  184. package/dist/browser/react/use-action.js.map +0 -1
  185. package/dist/browser/react/use-client-cache.d.ts +0 -41
  186. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  187. package/dist/browser/react/use-client-cache.js +0 -39
  188. package/dist/browser/react/use-client-cache.js.map +0 -1
  189. package/dist/browser/react/use-handle.d.ts +0 -31
  190. package/dist/browser/react/use-handle.d.ts.map +0 -1
  191. package/dist/browser/react/use-handle.js +0 -144
  192. package/dist/browser/react/use-handle.js.map +0 -1
  193. package/dist/browser/react/use-href.d.ts +0 -33
  194. package/dist/browser/react/use-href.d.ts.map +0 -1
  195. package/dist/browser/react/use-href.js +0 -39
  196. package/dist/browser/react/use-href.js.map +0 -1
  197. package/dist/browser/react/use-link-status.d.ts +0 -37
  198. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  199. package/dist/browser/react/use-link-status.js +0 -99
  200. package/dist/browser/react/use-link-status.js.map +0 -1
  201. package/dist/browser/react/use-mount.d.ts +0 -25
  202. package/dist/browser/react/use-mount.d.ts.map +0 -1
  203. package/dist/browser/react/use-mount.js +0 -30
  204. package/dist/browser/react/use-mount.js.map +0 -1
  205. package/dist/browser/react/use-navigation.d.ts +0 -27
  206. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  207. package/dist/browser/react/use-navigation.js +0 -87
  208. package/dist/browser/react/use-navigation.js.map +0 -1
  209. package/dist/browser/react/use-segments.d.ts +0 -38
  210. package/dist/browser/react/use-segments.d.ts.map +0 -1
  211. package/dist/browser/react/use-segments.js +0 -130
  212. package/dist/browser/react/use-segments.js.map +0 -1
  213. package/dist/browser/request-controller.d.ts +0 -26
  214. package/dist/browser/request-controller.d.ts.map +0 -1
  215. package/dist/browser/request-controller.js +0 -147
  216. package/dist/browser/request-controller.js.map +0 -1
  217. package/dist/browser/rsc-router.d.ts +0 -129
  218. package/dist/browser/rsc-router.d.ts.map +0 -1
  219. package/dist/browser/rsc-router.js +0 -195
  220. package/dist/browser/rsc-router.js.map +0 -1
  221. package/dist/browser/scroll-restoration.d.ts +0 -93
  222. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  223. package/dist/browser/scroll-restoration.js +0 -321
  224. package/dist/browser/scroll-restoration.js.map +0 -1
  225. package/dist/browser/segment-structure-assert.d.ts +0 -17
  226. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  227. package/dist/browser/segment-structure-assert.js +0 -59
  228. package/dist/browser/segment-structure-assert.js.map +0 -1
  229. package/dist/browser/server-action-bridge.d.ts +0 -26
  230. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  231. package/dist/browser/server-action-bridge.js +0 -668
  232. package/dist/browser/server-action-bridge.js.map +0 -1
  233. package/dist/browser/shallow.d.ts +0 -12
  234. package/dist/browser/shallow.d.ts.map +0 -1
  235. package/dist/browser/shallow.js +0 -34
  236. package/dist/browser/shallow.js.map +0 -1
  237. package/dist/browser/types.d.ts +0 -369
  238. package/dist/browser/types.d.ts.map +0 -1
  239. package/dist/browser/types.js +0 -2
  240. package/dist/browser/types.js.map +0 -1
  241. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  242. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  243. package/dist/build/__tests__/generate-cli.test.js +0 -237
  244. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  245. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  246. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  247. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  248. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  249. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  250. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  251. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  252. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  253. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  254. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  255. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  256. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  257. package/dist/build/generate-manifest.d.ts +0 -81
  258. package/dist/build/generate-manifest.d.ts.map +0 -1
  259. package/dist/build/generate-manifest.js +0 -276
  260. package/dist/build/generate-manifest.js.map +0 -1
  261. package/dist/build/generate-route-types.d.ts +0 -115
  262. package/dist/build/generate-route-types.d.ts.map +0 -1
  263. package/dist/build/generate-route-types.js +0 -740
  264. package/dist/build/generate-route-types.js.map +0 -1
  265. package/dist/build/index.d.ts +0 -21
  266. package/dist/build/index.d.ts.map +0 -1
  267. package/dist/build/index.js +0 -21
  268. package/dist/build/index.js.map +0 -1
  269. package/dist/build/route-trie.d.ts +0 -71
  270. package/dist/build/route-trie.d.ts.map +0 -1
  271. package/dist/build/route-trie.js +0 -175
  272. package/dist/build/route-trie.js.map +0 -1
  273. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  274. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  275. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  276. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  277. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  278. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  279. package/dist/cache/__tests__/document-cache.test.js +0 -345
  280. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  281. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  282. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  283. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  284. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  285. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  286. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  287. package/dist/cache/__tests__/memory-store.test.js +0 -367
  288. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  289. package/dist/cache/cache-scope.d.ts +0 -102
  290. package/dist/cache/cache-scope.d.ts.map +0 -1
  291. package/dist/cache/cache-scope.js +0 -440
  292. package/dist/cache/cache-scope.js.map +0 -1
  293. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  294. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  295. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  296. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  297. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  298. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  299. package/dist/cache/cf/cf-cache-store.js +0 -242
  300. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  301. package/dist/cache/cf/index.d.ts +0 -14
  302. package/dist/cache/cf/index.d.ts.map +0 -1
  303. package/dist/cache/cf/index.js +0 -17
  304. package/dist/cache/cf/index.js.map +0 -1
  305. package/dist/cache/document-cache.d.ts +0 -64
  306. package/dist/cache/document-cache.d.ts.map +0 -1
  307. package/dist/cache/document-cache.js +0 -228
  308. package/dist/cache/document-cache.js.map +0 -1
  309. package/dist/cache/index.d.ts +0 -19
  310. package/dist/cache/index.d.ts.map +0 -1
  311. package/dist/cache/index.js +0 -21
  312. package/dist/cache/index.js.map +0 -1
  313. package/dist/cache/memory-segment-store.d.ts +0 -110
  314. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  315. package/dist/cache/memory-segment-store.js +0 -117
  316. package/dist/cache/memory-segment-store.js.map +0 -1
  317. package/dist/cache/memory-store.d.ts +0 -41
  318. package/dist/cache/memory-store.d.ts.map +0 -1
  319. package/dist/cache/memory-store.js +0 -191
  320. package/dist/cache/memory-store.js.map +0 -1
  321. package/dist/cache/types.d.ts +0 -317
  322. package/dist/cache/types.d.ts.map +0 -1
  323. package/dist/cache/types.js +0 -12
  324. package/dist/cache/types.js.map +0 -1
  325. package/dist/client.d.ts +0 -248
  326. package/dist/client.d.ts.map +0 -1
  327. package/dist/client.js +0 -367
  328. package/dist/client.js.map +0 -1
  329. package/dist/client.rsc.d.ts +0 -26
  330. package/dist/client.rsc.d.ts.map +0 -1
  331. package/dist/client.rsc.js +0 -46
  332. package/dist/client.rsc.js.map +0 -1
  333. package/dist/component-utils.d.ts +0 -36
  334. package/dist/component-utils.d.ts.map +0 -1
  335. package/dist/component-utils.js +0 -61
  336. package/dist/component-utils.js.map +0 -1
  337. package/dist/components/DefaultDocument.d.ts +0 -13
  338. package/dist/components/DefaultDocument.d.ts.map +0 -1
  339. package/dist/components/DefaultDocument.js +0 -15
  340. package/dist/components/DefaultDocument.js.map +0 -1
  341. package/dist/debug.d.ts +0 -58
  342. package/dist/debug.d.ts.map +0 -1
  343. package/dist/debug.js +0 -157
  344. package/dist/debug.js.map +0 -1
  345. package/dist/default-error-boundary.d.ts +0 -11
  346. package/dist/default-error-boundary.d.ts.map +0 -1
  347. package/dist/default-error-boundary.js +0 -45
  348. package/dist/default-error-boundary.js.map +0 -1
  349. package/dist/deps/browser.d.ts +0 -2
  350. package/dist/deps/browser.d.ts.map +0 -1
  351. package/dist/deps/browser.js +0 -3
  352. package/dist/deps/browser.js.map +0 -1
  353. package/dist/deps/html-stream-client.d.ts +0 -2
  354. package/dist/deps/html-stream-client.d.ts.map +0 -1
  355. package/dist/deps/html-stream-client.js +0 -3
  356. package/dist/deps/html-stream-client.js.map +0 -1
  357. package/dist/deps/html-stream-server.d.ts +0 -2
  358. package/dist/deps/html-stream-server.d.ts.map +0 -1
  359. package/dist/deps/html-stream-server.js +0 -3
  360. package/dist/deps/html-stream-server.js.map +0 -1
  361. package/dist/deps/rsc.d.ts +0 -2
  362. package/dist/deps/rsc.d.ts.map +0 -1
  363. package/dist/deps/rsc.js +0 -4
  364. package/dist/deps/rsc.js.map +0 -1
  365. package/dist/deps/ssr.d.ts +0 -2
  366. package/dist/deps/ssr.d.ts.map +0 -1
  367. package/dist/deps/ssr.js +0 -3
  368. package/dist/deps/ssr.js.map +0 -1
  369. package/dist/errors.d.ts +0 -174
  370. package/dist/errors.d.ts.map +0 -1
  371. package/dist/errors.js +0 -241
  372. package/dist/errors.js.map +0 -1
  373. package/dist/handle.d.ts +0 -78
  374. package/dist/handle.d.ts.map +0 -1
  375. package/dist/handle.js +0 -82
  376. package/dist/handle.js.map +0 -1
  377. package/dist/handles/MetaTags.d.ts +0 -14
  378. package/dist/handles/MetaTags.d.ts.map +0 -1
  379. package/dist/handles/MetaTags.js +0 -136
  380. package/dist/handles/MetaTags.js.map +0 -1
  381. package/dist/handles/index.d.ts +0 -6
  382. package/dist/handles/index.d.ts.map +0 -1
  383. package/dist/handles/index.js +0 -6
  384. package/dist/handles/index.js.map +0 -1
  385. package/dist/handles/meta.d.ts +0 -39
  386. package/dist/handles/meta.d.ts.map +0 -1
  387. package/dist/handles/meta.js +0 -202
  388. package/dist/handles/meta.js.map +0 -1
  389. package/dist/host/__tests__/errors.test.d.ts +0 -2
  390. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  391. package/dist/host/__tests__/errors.test.js +0 -76
  392. package/dist/host/__tests__/errors.test.js.map +0 -1
  393. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  394. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  395. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  396. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  397. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  398. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  399. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  400. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  401. package/dist/host/__tests__/router.test.d.ts +0 -2
  402. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  403. package/dist/host/__tests__/router.test.js +0 -241
  404. package/dist/host/__tests__/router.test.js.map +0 -1
  405. package/dist/host/__tests__/testing.test.d.ts +0 -2
  406. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  407. package/dist/host/__tests__/testing.test.js +0 -64
  408. package/dist/host/__tests__/testing.test.js.map +0 -1
  409. package/dist/host/__tests__/utils.test.d.ts +0 -2
  410. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  411. package/dist/host/__tests__/utils.test.js +0 -29
  412. package/dist/host/__tests__/utils.test.js.map +0 -1
  413. package/dist/host/cookie-handler.d.ts +0 -34
  414. package/dist/host/cookie-handler.d.ts.map +0 -1
  415. package/dist/host/cookie-handler.js +0 -124
  416. package/dist/host/cookie-handler.js.map +0 -1
  417. package/dist/host/errors.d.ts +0 -56
  418. package/dist/host/errors.d.ts.map +0 -1
  419. package/dist/host/errors.js +0 -79
  420. package/dist/host/errors.js.map +0 -1
  421. package/dist/host/index.d.ts +0 -29
  422. package/dist/host/index.d.ts.map +0 -1
  423. package/dist/host/index.js +0 -32
  424. package/dist/host/index.js.map +0 -1
  425. package/dist/host/pattern-matcher.d.ts +0 -36
  426. package/dist/host/pattern-matcher.d.ts.map +0 -1
  427. package/dist/host/pattern-matcher.js +0 -172
  428. package/dist/host/pattern-matcher.js.map +0 -1
  429. package/dist/host/router.d.ts +0 -26
  430. package/dist/host/router.d.ts.map +0 -1
  431. package/dist/host/router.js +0 -218
  432. package/dist/host/router.js.map +0 -1
  433. package/dist/host/testing.d.ts +0 -36
  434. package/dist/host/testing.d.ts.map +0 -1
  435. package/dist/host/testing.js +0 -55
  436. package/dist/host/testing.js.map +0 -1
  437. package/dist/host/types.d.ts +0 -115
  438. package/dist/host/types.d.ts.map +0 -1
  439. package/dist/host/types.js +0 -7
  440. package/dist/host/types.js.map +0 -1
  441. package/dist/host/utils.d.ts +0 -21
  442. package/dist/host/utils.d.ts.map +0 -1
  443. package/dist/host/utils.js +0 -23
  444. package/dist/host/utils.js.map +0 -1
  445. package/dist/href-client.d.ts +0 -131
  446. package/dist/href-client.d.ts.map +0 -1
  447. package/dist/href-client.js +0 -64
  448. package/dist/href-client.js.map +0 -1
  449. package/dist/href-context.d.ts +0 -29
  450. package/dist/href-context.d.ts.map +0 -1
  451. package/dist/href-context.js +0 -21
  452. package/dist/href-context.js.map +0 -1
  453. package/dist/index.d.ts +0 -73
  454. package/dist/index.d.ts.map +0 -1
  455. package/dist/index.js +0 -91
  456. package/dist/index.js.map +0 -1
  457. package/dist/index.rsc.d.ts +0 -32
  458. package/dist/index.rsc.d.ts.map +0 -1
  459. package/dist/index.rsc.js +0 -40
  460. package/dist/index.rsc.js.map +0 -1
  461. package/dist/internal-debug.d.ts +0 -2
  462. package/dist/internal-debug.d.ts.map +0 -1
  463. package/dist/internal-debug.js +0 -5
  464. package/dist/internal-debug.js.map +0 -1
  465. package/dist/loader.d.ts +0 -14
  466. package/dist/loader.d.ts.map +0 -1
  467. package/dist/loader.js +0 -20
  468. package/dist/loader.js.map +0 -1
  469. package/dist/loader.rsc.d.ts +0 -19
  470. package/dist/loader.rsc.d.ts.map +0 -1
  471. package/dist/loader.rsc.js +0 -99
  472. package/dist/loader.rsc.js.map +0 -1
  473. package/dist/network-error-thrower.d.ts +0 -17
  474. package/dist/network-error-thrower.d.ts.map +0 -1
  475. package/dist/network-error-thrower.js +0 -14
  476. package/dist/network-error-thrower.js.map +0 -1
  477. package/dist/outlet-context.d.ts +0 -13
  478. package/dist/outlet-context.d.ts.map +0 -1
  479. package/dist/outlet-context.js +0 -3
  480. package/dist/outlet-context.js.map +0 -1
  481. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  482. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  483. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  484. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  485. package/dist/prerender/param-hash.d.ts +0 -16
  486. package/dist/prerender/param-hash.d.ts.map +0 -1
  487. package/dist/prerender/param-hash.js +0 -36
  488. package/dist/prerender/param-hash.js.map +0 -1
  489. package/dist/prerender/store.d.ts +0 -38
  490. package/dist/prerender/store.d.ts.map +0 -1
  491. package/dist/prerender/store.js +0 -61
  492. package/dist/prerender/store.js.map +0 -1
  493. package/dist/prerender.d.ts +0 -66
  494. package/dist/prerender.d.ts.map +0 -1
  495. package/dist/prerender.js +0 -57
  496. package/dist/prerender.js.map +0 -1
  497. package/dist/reverse.d.ts +0 -196
  498. package/dist/reverse.d.ts.map +0 -1
  499. package/dist/reverse.js +0 -78
  500. package/dist/reverse.js.map +0 -1
  501. package/dist/root-error-boundary.d.ts +0 -33
  502. package/dist/root-error-boundary.d.ts.map +0 -1
  503. package/dist/root-error-boundary.js +0 -165
  504. package/dist/root-error-boundary.js.map +0 -1
  505. package/dist/route-content-wrapper.d.ts +0 -46
  506. package/dist/route-content-wrapper.d.ts.map +0 -1
  507. package/dist/route-content-wrapper.js +0 -77
  508. package/dist/route-content-wrapper.js.map +0 -1
  509. package/dist/route-definition.d.ts +0 -421
  510. package/dist/route-definition.d.ts.map +0 -1
  511. package/dist/route-definition.js +0 -868
  512. package/dist/route-definition.js.map +0 -1
  513. package/dist/route-map-builder.d.ts +0 -155
  514. package/dist/route-map-builder.d.ts.map +0 -1
  515. package/dist/route-map-builder.js +0 -237
  516. package/dist/route-map-builder.js.map +0 -1
  517. package/dist/route-types.d.ts +0 -165
  518. package/dist/route-types.d.ts.map +0 -1
  519. package/dist/route-types.js +0 -7
  520. package/dist/route-types.js.map +0 -1
  521. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  522. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  523. package/dist/router/__tests__/handler-context.test.js +0 -65
  524. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  525. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  526. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  527. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  528. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  529. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  530. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  531. package/dist/router/__tests__/match-context.test.js +0 -92
  532. package/dist/router/__tests__/match-context.test.js.map +0 -1
  533. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  534. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  535. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  536. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  537. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  538. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  539. package/dist/router/__tests__/match-result.test.js +0 -457
  540. package/dist/router/__tests__/match-result.test.js.map +0 -1
  541. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  542. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  543. package/dist/router/__tests__/on-error.test.js +0 -678
  544. package/dist/router/__tests__/on-error.test.js.map +0 -1
  545. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  546. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  547. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  548. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  549. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  550. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  551. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  552. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  553. package/dist/router/error-handling.d.ts +0 -77
  554. package/dist/router/error-handling.d.ts.map +0 -1
  555. package/dist/router/error-handling.js +0 -202
  556. package/dist/router/error-handling.js.map +0 -1
  557. package/dist/router/handler-context.d.ts +0 -20
  558. package/dist/router/handler-context.d.ts.map +0 -1
  559. package/dist/router/handler-context.js +0 -198
  560. package/dist/router/handler-context.js.map +0 -1
  561. package/dist/router/intercept-resolution.d.ts +0 -66
  562. package/dist/router/intercept-resolution.d.ts.map +0 -1
  563. package/dist/router/intercept-resolution.js +0 -246
  564. package/dist/router/intercept-resolution.js.map +0 -1
  565. package/dist/router/loader-resolution.d.ts +0 -64
  566. package/dist/router/loader-resolution.d.ts.map +0 -1
  567. package/dist/router/loader-resolution.js +0 -284
  568. package/dist/router/loader-resolution.js.map +0 -1
  569. package/dist/router/logging.d.ts +0 -15
  570. package/dist/router/logging.d.ts.map +0 -1
  571. package/dist/router/logging.js +0 -99
  572. package/dist/router/logging.js.map +0 -1
  573. package/dist/router/manifest.d.ts +0 -22
  574. package/dist/router/manifest.d.ts.map +0 -1
  575. package/dist/router/manifest.js +0 -181
  576. package/dist/router/manifest.js.map +0 -1
  577. package/dist/router/match-api.d.ts +0 -35
  578. package/dist/router/match-api.d.ts.map +0 -1
  579. package/dist/router/match-api.js +0 -406
  580. package/dist/router/match-api.js.map +0 -1
  581. package/dist/router/match-context.d.ts +0 -206
  582. package/dist/router/match-context.d.ts.map +0 -1
  583. package/dist/router/match-context.js +0 -17
  584. package/dist/router/match-context.js.map +0 -1
  585. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  586. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  587. package/dist/router/match-middleware/background-revalidation.js +0 -75
  588. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  589. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  590. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  591. package/dist/router/match-middleware/cache-lookup.js +0 -257
  592. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  593. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  594. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  595. package/dist/router/match-middleware/cache-store.js +0 -108
  596. package/dist/router/match-middleware/cache-store.js.map +0 -1
  597. package/dist/router/match-middleware/index.d.ts +0 -81
  598. package/dist/router/match-middleware/index.d.ts.map +0 -1
  599. package/dist/router/match-middleware/index.js +0 -80
  600. package/dist/router/match-middleware/index.js.map +0 -1
  601. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  602. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  603. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  604. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  605. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  606. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  607. package/dist/router/match-middleware/segment-resolution.js +0 -53
  608. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  609. package/dist/router/match-pipelines.d.ts +0 -147
  610. package/dist/router/match-pipelines.d.ts.map +0 -1
  611. package/dist/router/match-pipelines.js +0 -82
  612. package/dist/router/match-pipelines.js.map +0 -1
  613. package/dist/router/match-result.d.ts +0 -126
  614. package/dist/router/match-result.d.ts.map +0 -1
  615. package/dist/router/match-result.js +0 -93
  616. package/dist/router/match-result.js.map +0 -1
  617. package/dist/router/metrics.d.ts +0 -20
  618. package/dist/router/metrics.d.ts.map +0 -1
  619. package/dist/router/metrics.js +0 -47
  620. package/dist/router/metrics.js.map +0 -1
  621. package/dist/router/middleware.d.ts +0 -249
  622. package/dist/router/middleware.d.ts.map +0 -1
  623. package/dist/router/middleware.js +0 -434
  624. package/dist/router/middleware.js.map +0 -1
  625. package/dist/router/middleware.test.d.ts +0 -2
  626. package/dist/router/middleware.test.d.ts.map +0 -1
  627. package/dist/router/middleware.test.js +0 -816
  628. package/dist/router/middleware.test.js.map +0 -1
  629. package/dist/router/pattern-matching.d.ts +0 -149
  630. package/dist/router/pattern-matching.d.ts.map +0 -1
  631. package/dist/router/pattern-matching.js +0 -349
  632. package/dist/router/pattern-matching.js.map +0 -1
  633. package/dist/router/revalidation.d.ts +0 -44
  634. package/dist/router/revalidation.d.ts.map +0 -1
  635. package/dist/router/revalidation.js +0 -147
  636. package/dist/router/revalidation.js.map +0 -1
  637. package/dist/router/router-context.d.ts +0 -135
  638. package/dist/router/router-context.d.ts.map +0 -1
  639. package/dist/router/router-context.js +0 -36
  640. package/dist/router/router-context.js.map +0 -1
  641. package/dist/router/segment-resolution.d.ts +0 -127
  642. package/dist/router/segment-resolution.d.ts.map +0 -1
  643. package/dist/router/segment-resolution.js +0 -919
  644. package/dist/router/segment-resolution.js.map +0 -1
  645. package/dist/router/trie-matching.d.ts +0 -40
  646. package/dist/router/trie-matching.d.ts.map +0 -1
  647. package/dist/router/trie-matching.js +0 -127
  648. package/dist/router/trie-matching.js.map +0 -1
  649. package/dist/router/types.d.ts +0 -136
  650. package/dist/router/types.d.ts.map +0 -1
  651. package/dist/router/types.js +0 -7
  652. package/dist/router/types.js.map +0 -1
  653. package/dist/router.d.ts +0 -753
  654. package/dist/router.d.ts.map +0 -1
  655. package/dist/router.gen.d.ts +0 -6
  656. package/dist/router.gen.d.ts.map +0 -1
  657. package/dist/router.gen.js +0 -6
  658. package/dist/router.gen.js.map +0 -1
  659. package/dist/router.js +0 -1304
  660. package/dist/router.js.map +0 -1
  661. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  662. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  663. package/dist/rsc/__tests__/helpers.test.js +0 -140
  664. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  665. package/dist/rsc/handler.d.ts +0 -45
  666. package/dist/rsc/handler.d.ts.map +0 -1
  667. package/dist/rsc/handler.js +0 -1172
  668. package/dist/rsc/handler.js.map +0 -1
  669. package/dist/rsc/helpers.d.ts +0 -16
  670. package/dist/rsc/helpers.d.ts.map +0 -1
  671. package/dist/rsc/helpers.js +0 -55
  672. package/dist/rsc/helpers.js.map +0 -1
  673. package/dist/rsc/index.d.ts +0 -22
  674. package/dist/rsc/index.d.ts.map +0 -1
  675. package/dist/rsc/index.js +0 -23
  676. package/dist/rsc/index.js.map +0 -1
  677. package/dist/rsc/nonce.d.ts +0 -9
  678. package/dist/rsc/nonce.d.ts.map +0 -1
  679. package/dist/rsc/nonce.js +0 -18
  680. package/dist/rsc/nonce.js.map +0 -1
  681. package/dist/rsc/types.d.ts +0 -206
  682. package/dist/rsc/types.d.ts.map +0 -1
  683. package/dist/rsc/types.js +0 -8
  684. package/dist/rsc/types.js.map +0 -1
  685. package/dist/search-params.d.ts +0 -103
  686. package/dist/search-params.d.ts.map +0 -1
  687. package/dist/search-params.js +0 -74
  688. package/dist/search-params.js.map +0 -1
  689. package/dist/segment-system.d.ts +0 -75
  690. package/dist/segment-system.d.ts.map +0 -1
  691. package/dist/segment-system.js +0 -336
  692. package/dist/segment-system.js.map +0 -1
  693. package/dist/server/context.d.ts +0 -245
  694. package/dist/server/context.d.ts.map +0 -1
  695. package/dist/server/context.js +0 -197
  696. package/dist/server/context.js.map +0 -1
  697. package/dist/server/fetchable-loader-store.d.ts +0 -18
  698. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  699. package/dist/server/fetchable-loader-store.js +0 -18
  700. package/dist/server/fetchable-loader-store.js.map +0 -1
  701. package/dist/server/handle-store.d.ts +0 -85
  702. package/dist/server/handle-store.d.ts.map +0 -1
  703. package/dist/server/handle-store.js +0 -142
  704. package/dist/server/handle-store.js.map +0 -1
  705. package/dist/server/loader-registry.d.ts +0 -55
  706. package/dist/server/loader-registry.d.ts.map +0 -1
  707. package/dist/server/loader-registry.js +0 -132
  708. package/dist/server/loader-registry.js.map +0 -1
  709. package/dist/server/request-context.d.ts +0 -226
  710. package/dist/server/request-context.d.ts.map +0 -1
  711. package/dist/server/request-context.js +0 -290
  712. package/dist/server/request-context.js.map +0 -1
  713. package/dist/server/root-layout.d.ts +0 -4
  714. package/dist/server/root-layout.d.ts.map +0 -1
  715. package/dist/server/root-layout.js +0 -5
  716. package/dist/server/root-layout.js.map +0 -1
  717. package/dist/server.d.ts +0 -15
  718. package/dist/server.d.ts.map +0 -1
  719. package/dist/server.js +0 -20
  720. package/dist/server.js.map +0 -1
  721. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  722. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  723. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  724. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  725. package/dist/ssr/index.d.ts +0 -98
  726. package/dist/ssr/index.d.ts.map +0 -1
  727. package/dist/ssr/index.js +0 -158
  728. package/dist/ssr/index.js.map +0 -1
  729. package/dist/static-handler.d.ts +0 -50
  730. package/dist/static-handler.d.ts.map +0 -1
  731. package/dist/static-handler.gen.d.ts +0 -5
  732. package/dist/static-handler.gen.d.ts.map +0 -1
  733. package/dist/static-handler.gen.js +0 -5
  734. package/dist/static-handler.gen.js.map +0 -1
  735. package/dist/static-handler.js +0 -29
  736. package/dist/static-handler.js.map +0 -1
  737. package/dist/theme/ThemeProvider.d.ts +0 -20
  738. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  739. package/dist/theme/ThemeProvider.js +0 -240
  740. package/dist/theme/ThemeProvider.js.map +0 -1
  741. package/dist/theme/ThemeScript.d.ts +0 -48
  742. package/dist/theme/ThemeScript.d.ts.map +0 -1
  743. package/dist/theme/ThemeScript.js +0 -13
  744. package/dist/theme/ThemeScript.js.map +0 -1
  745. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  746. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  747. package/dist/theme/__tests__/theme.test.js +0 -103
  748. package/dist/theme/__tests__/theme.test.js.map +0 -1
  749. package/dist/theme/constants.d.ts +0 -29
  750. package/dist/theme/constants.d.ts.map +0 -1
  751. package/dist/theme/constants.js +0 -48
  752. package/dist/theme/constants.js.map +0 -1
  753. package/dist/theme/index.d.ts +0 -31
  754. package/dist/theme/index.d.ts.map +0 -1
  755. package/dist/theme/index.js +0 -36
  756. package/dist/theme/index.js.map +0 -1
  757. package/dist/theme/theme-context.d.ts +0 -40
  758. package/dist/theme/theme-context.d.ts.map +0 -1
  759. package/dist/theme/theme-context.js +0 -60
  760. package/dist/theme/theme-context.js.map +0 -1
  761. package/dist/theme/theme-script.d.ts +0 -27
  762. package/dist/theme/theme-script.d.ts.map +0 -1
  763. package/dist/theme/theme-script.js +0 -147
  764. package/dist/theme/theme-script.js.map +0 -1
  765. package/dist/theme/types.d.ts +0 -163
  766. package/dist/theme/types.d.ts.map +0 -1
  767. package/dist/theme/types.js +0 -11
  768. package/dist/theme/types.js.map +0 -1
  769. package/dist/theme/use-theme.d.ts +0 -12
  770. package/dist/theme/use-theme.d.ts.map +0 -1
  771. package/dist/theme/use-theme.js +0 -40
  772. package/dist/theme/use-theme.js.map +0 -1
  773. package/dist/types.d.ts +0 -1479
  774. package/dist/types.d.ts.map +0 -1
  775. package/dist/types.js +0 -10
  776. package/dist/types.js.map +0 -1
  777. package/dist/urls.d.ts +0 -441
  778. package/dist/urls.d.ts.map +0 -1
  779. package/dist/urls.gen.d.ts +0 -8
  780. package/dist/urls.gen.d.ts.map +0 -1
  781. package/dist/urls.gen.js +0 -8
  782. package/dist/urls.gen.js.map +0 -1
  783. package/dist/urls.js +0 -443
  784. package/dist/urls.js.map +0 -1
  785. package/dist/use-loader.d.ts +0 -127
  786. package/dist/use-loader.d.ts.map +0 -1
  787. package/dist/use-loader.js +0 -237
  788. package/dist/use-loader.js.map +0 -1
  789. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  790. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  791. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  792. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  793. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  794. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  795. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  796. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  797. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  798. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  799. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  800. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  801. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  802. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  803. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  804. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  805. package/dist/vite/ast-handler-extract.d.ts +0 -49
  806. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  807. package/dist/vite/ast-handler-extract.js +0 -249
  808. package/dist/vite/ast-handler-extract.js.map +0 -1
  809. package/dist/vite/expose-action-id.d.ts +0 -19
  810. package/dist/vite/expose-action-id.d.ts.map +0 -1
  811. package/dist/vite/expose-action-id.js +0 -250
  812. package/dist/vite/expose-action-id.js.map +0 -1
  813. package/dist/vite/expose-id-utils.d.ts +0 -69
  814. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  815. package/dist/vite/expose-id-utils.js +0 -289
  816. package/dist/vite/expose-id-utils.js.map +0 -1
  817. package/dist/vite/expose-internal-ids.d.ts +0 -22
  818. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  819. package/dist/vite/expose-internal-ids.js +0 -886
  820. package/dist/vite/expose-internal-ids.js.map +0 -1
  821. package/dist/vite/index.d.ts +0 -149
  822. package/dist/vite/index.d.ts.map +0 -1
  823. package/dist/vite/index.js.map +0 -1
  824. package/dist/vite/index.named-routes.gen.ts +0 -103
  825. package/dist/vite/package-resolution.d.ts +0 -43
  826. package/dist/vite/package-resolution.d.ts.map +0 -1
  827. package/dist/vite/package-resolution.js +0 -112
  828. package/dist/vite/package-resolution.js.map +0 -1
  829. package/dist/vite/virtual-entries.d.ts +0 -25
  830. package/dist/vite/virtual-entries.d.ts.map +0 -1
  831. package/dist/vite/virtual-entries.js +0 -110
  832. package/dist/vite/virtual-entries.js.map +0 -1
  833. package/skills/testing/SKILL.md +0 -226
  834. package/src/route-definition/route-function.ts +0 -119
@@ -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