fuzor 0.3.0 → 0.5.0

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 (929) hide show
  1. package/README.md +36 -88
  2. package/dist/boundaries.d.ts +5 -0
  3. package/dist/boundaries.d.ts.map +1 -0
  4. package/dist/boundaries.js +5 -0
  5. package/dist/boundaries.js.map +1 -0
  6. package/dist/browser.d.ts +4 -0
  7. package/dist/browser.d.ts.map +1 -0
  8. package/dist/browser.js +4 -0
  9. package/dist/browser.js.map +1 -0
  10. package/dist/build-output.d.ts +18 -0
  11. package/dist/build-output.d.ts.map +1 -0
  12. package/dist/build-output.js +91 -0
  13. package/dist/build-output.js.map +1 -0
  14. package/dist/cli.js +390 -36
  15. package/dist/cli.js.map +1 -1
  16. package/dist/compiler/api-routes.d.ts +14 -0
  17. package/dist/compiler/api-routes.d.ts.map +1 -0
  18. package/dist/compiler/api-routes.js +66 -0
  19. package/dist/compiler/api-routes.js.map +1 -0
  20. package/dist/compiler/base-links.d.ts +7 -0
  21. package/dist/compiler/base-links.d.ts.map +1 -0
  22. package/dist/compiler/base-links.js +40 -0
  23. package/dist/compiler/base-links.js.map +1 -0
  24. package/dist/compiler/data-document.d.ts +9 -0
  25. package/dist/compiler/data-document.d.ts.map +1 -0
  26. package/dist/compiler/data-document.js +21 -0
  27. package/dist/compiler/data-document.js.map +1 -0
  28. package/dist/compiler/docs.d.ts +6 -0
  29. package/dist/compiler/docs.d.ts.map +1 -0
  30. package/dist/compiler/docs.js +1131 -0
  31. package/dist/compiler/docs.js.map +1 -0
  32. package/dist/compiler/highlight.d.ts +13 -0
  33. package/dist/compiler/highlight.d.ts.map +1 -0
  34. package/dist/compiler/highlight.js +44 -0
  35. package/dist/compiler/highlight.js.map +1 -0
  36. package/dist/compiler/index.d.ts +132 -4
  37. package/dist/compiler/index.d.ts.map +1 -1
  38. package/dist/compiler/index.js +845 -48
  39. package/dist/compiler/index.js.map +1 -1
  40. package/dist/compiler/inline-assets.d.ts +6 -0
  41. package/dist/compiler/inline-assets.d.ts.map +1 -0
  42. package/dist/compiler/inline-assets.js +61 -0
  43. package/dist/compiler/inline-assets.js.map +1 -0
  44. package/dist/compiler/inline-modules.d.ts +7 -0
  45. package/dist/compiler/inline-modules.d.ts.map +1 -0
  46. package/dist/compiler/inline-modules.js +77 -0
  47. package/dist/compiler/inline-modules.js.map +1 -0
  48. package/dist/compiler/island-modules.d.ts +8 -0
  49. package/dist/compiler/island-modules.d.ts.map +1 -0
  50. package/dist/compiler/island-modules.js +42 -0
  51. package/dist/compiler/island-modules.js.map +1 -0
  52. package/dist/compiler/islands.d.ts +24 -3
  53. package/dist/compiler/islands.d.ts.map +1 -1
  54. package/dist/compiler/islands.js +50 -12
  55. package/dist/compiler/islands.js.map +1 -1
  56. package/dist/compiler/links.d.ts +37 -0
  57. package/dist/compiler/links.d.ts.map +1 -0
  58. package/dist/compiler/links.js +112 -0
  59. package/dist/compiler/links.js.map +1 -0
  60. package/dist/compiler/markdown.d.ts +17 -0
  61. package/dist/compiler/markdown.d.ts.map +1 -0
  62. package/dist/compiler/markdown.js +92 -0
  63. package/dist/compiler/markdown.js.map +1 -0
  64. package/dist/compiler/metadata.d.ts +37 -0
  65. package/dist/compiler/metadata.d.ts.map +1 -0
  66. package/dist/compiler/metadata.js +81 -0
  67. package/dist/compiler/metadata.js.map +1 -0
  68. package/dist/compiler/native-scripts.d.ts +13 -0
  69. package/dist/compiler/native-scripts.d.ts.map +1 -0
  70. package/dist/compiler/native-scripts.js +137 -0
  71. package/dist/compiler/native-scripts.js.map +1 -0
  72. package/dist/compiler/page-scripts.d.ts +36 -0
  73. package/dist/compiler/page-scripts.d.ts.map +1 -0
  74. package/dist/compiler/page-scripts.js +158 -0
  75. package/dist/compiler/page-scripts.js.map +1 -0
  76. package/dist/compiler/route-policy.d.ts +17 -0
  77. package/dist/compiler/route-policy.d.ts.map +1 -0
  78. package/dist/compiler/route-policy.js +68 -0
  79. package/dist/compiler/route-policy.js.map +1 -0
  80. package/dist/compiler/search.d.ts +13 -0
  81. package/dist/compiler/search.d.ts.map +1 -0
  82. package/dist/compiler/search.js +24 -0
  83. package/dist/compiler/search.js.map +1 -0
  84. package/dist/compiler/server-modules.d.ts +3 -0
  85. package/dist/compiler/server-modules.d.ts.map +1 -0
  86. package/dist/compiler/server-modules.js +31 -0
  87. package/dist/compiler/server-modules.js.map +1 -0
  88. package/dist/compiler/static-analysis.d.ts +20 -0
  89. package/dist/compiler/static-analysis.d.ts.map +1 -0
  90. package/dist/compiler/static-analysis.js +130 -0
  91. package/dist/compiler/static-analysis.js.map +1 -0
  92. package/dist/create-delegate.d.ts +17 -0
  93. package/dist/create-delegate.d.ts.map +1 -0
  94. package/dist/create-delegate.js +48 -0
  95. package/dist/create-delegate.js.map +1 -0
  96. package/dist/electron.d.ts +5 -0
  97. package/dist/electron.d.ts.map +1 -0
  98. package/dist/electron.js +32 -0
  99. package/dist/electron.js.map +1 -0
  100. package/dist/html-escape.d.ts +16 -0
  101. package/dist/html-escape.d.ts.map +1 -0
  102. package/dist/html-escape.js +26 -0
  103. package/dist/html-escape.js.map +1 -0
  104. package/dist/index.d.ts +6 -4
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +4 -3
  107. package/dist/index.js.map +1 -1
  108. package/dist/islands/hydration.d.ts +7 -0
  109. package/dist/islands/hydration.d.ts.map +1 -0
  110. package/dist/islands/hydration.js +12 -0
  111. package/dist/islands/hydration.js.map +1 -0
  112. package/dist/islands/react.d.ts +9 -2
  113. package/dist/islands/react.d.ts.map +1 -1
  114. package/dist/islands/react.js +73 -14
  115. package/dist/islands/react.js.map +1 -1
  116. package/dist/islands/solid.d.ts.map +1 -1
  117. package/dist/islands/solid.js +10 -1
  118. package/dist/islands/solid.js.map +1 -1
  119. package/dist/islands/vue.d.ts.map +1 -1
  120. package/dist/islands/vue.js +15 -3
  121. package/dist/islands/vue.js.map +1 -1
  122. package/dist/module-specifiers.d.ts +5 -0
  123. package/dist/module-specifiers.d.ts.map +1 -0
  124. package/dist/module-specifiers.js +80 -0
  125. package/dist/module-specifiers.js.map +1 -0
  126. package/dist/route-path.d.ts +33 -0
  127. package/dist/route-path.d.ts.map +1 -0
  128. package/dist/route-path.js +81 -0
  129. package/dist/route-path.js.map +1 -0
  130. package/dist/route-patterns.d.ts +8 -0
  131. package/dist/route-patterns.d.ts.map +1 -0
  132. package/dist/route-patterns.js +84 -0
  133. package/dist/route-patterns.js.map +1 -0
  134. package/dist/runtime/activation.d.ts +29 -0
  135. package/dist/runtime/activation.d.ts.map +1 -0
  136. package/dist/runtime/activation.js +236 -0
  137. package/dist/runtime/activation.js.map +1 -0
  138. package/dist/runtime/browser-navigation.d.ts +20 -0
  139. package/dist/runtime/browser-navigation.d.ts.map +1 -0
  140. package/dist/runtime/browser-navigation.js +138 -0
  141. package/dist/runtime/browser-navigation.js.map +1 -0
  142. package/dist/runtime/browser-support.d.ts +20 -0
  143. package/dist/runtime/browser-support.d.ts.map +1 -0
  144. package/dist/runtime/browser-support.js +39 -0
  145. package/dist/runtime/browser-support.js.map +1 -0
  146. package/dist/runtime/capacitor.d.ts +43 -0
  147. package/dist/runtime/capacitor.d.ts.map +1 -0
  148. package/dist/runtime/capacitor.js +84 -0
  149. package/dist/runtime/capacitor.js.map +1 -0
  150. package/dist/runtime/client-routes.d.ts +4 -0
  151. package/dist/runtime/client-routes.d.ts.map +1 -0
  152. package/dist/runtime/client-routes.js +3 -0
  153. package/dist/runtime/client-routes.js.map +1 -0
  154. package/dist/runtime/coordinated-navigation.d.ts +7 -0
  155. package/dist/runtime/coordinated-navigation.d.ts.map +1 -0
  156. package/dist/runtime/coordinated-navigation.js +50 -0
  157. package/dist/runtime/coordinated-navigation.js.map +1 -0
  158. package/dist/runtime/coordinator.d.ts +32 -0
  159. package/dist/runtime/coordinator.d.ts.map +1 -0
  160. package/dist/runtime/coordinator.js +115 -0
  161. package/dist/runtime/coordinator.js.map +1 -0
  162. package/dist/runtime/data.d.ts +25 -0
  163. package/dist/runtime/data.d.ts.map +1 -0
  164. package/dist/runtime/data.js +115 -0
  165. package/dist/runtime/data.js.map +1 -0
  166. package/dist/runtime/docs-search.d.ts +13 -0
  167. package/dist/runtime/docs-search.d.ts.map +1 -0
  168. package/dist/runtime/docs-search.js +205 -0
  169. package/dist/runtime/docs-search.js.map +1 -0
  170. package/dist/runtime/docs-ui.d.ts +7 -0
  171. package/dist/runtime/docs-ui.d.ts.map +1 -0
  172. package/dist/runtime/docs-ui.js +85 -0
  173. package/dist/runtime/docs-ui.js.map +1 -0
  174. package/dist/runtime/document-navigation.d.ts +9 -0
  175. package/dist/runtime/document-navigation.d.ts.map +1 -0
  176. package/dist/runtime/document-navigation.js +27 -0
  177. package/dist/runtime/document-navigation.js.map +1 -0
  178. package/dist/runtime/dom-renderer.d.ts +36 -0
  179. package/dist/runtime/dom-renderer.d.ts.map +1 -0
  180. package/dist/runtime/dom-renderer.js +173 -0
  181. package/dist/runtime/dom-renderer.js.map +1 -0
  182. package/dist/runtime/hash-navigation.d.ts +12 -0
  183. package/dist/runtime/hash-navigation.d.ts.map +1 -0
  184. package/dist/runtime/hash-navigation.js +26 -0
  185. package/dist/runtime/hash-navigation.js.map +1 -0
  186. package/dist/runtime/history-navigation.d.ts +17 -0
  187. package/dist/runtime/history-navigation.d.ts.map +1 -0
  188. package/dist/runtime/history-navigation.js +172 -0
  189. package/dist/runtime/history-navigation.js.map +1 -0
  190. package/dist/runtime/href.d.ts +16 -0
  191. package/dist/runtime/href.d.ts.map +1 -0
  192. package/dist/runtime/href.js +38 -0
  193. package/dist/runtime/href.js.map +1 -0
  194. package/dist/runtime/index.d.ts +73 -26
  195. package/dist/runtime/index.d.ts.map +1 -1
  196. package/dist/runtime/index.js +33 -118
  197. package/dist/runtime/index.js.map +1 -1
  198. package/dist/runtime/initial-route.d.ts +8 -0
  199. package/dist/runtime/initial-route.d.ts.map +1 -0
  200. package/dist/runtime/initial-route.js +72 -0
  201. package/dist/runtime/initial-route.js.map +1 -0
  202. package/dist/runtime/islands.d.ts +19 -5
  203. package/dist/runtime/islands.d.ts.map +1 -1
  204. package/dist/runtime/islands.js +15 -41
  205. package/dist/runtime/islands.js.map +1 -1
  206. package/dist/runtime/loading.d.ts +12 -0
  207. package/dist/runtime/loading.d.ts.map +1 -0
  208. package/dist/runtime/loading.js +43 -0
  209. package/dist/runtime/loading.js.map +1 -0
  210. package/dist/runtime/memory-navigation.d.ts +16 -0
  211. package/dist/runtime/memory-navigation.d.ts.map +1 -0
  212. package/dist/runtime/memory-navigation.js +98 -0
  213. package/dist/runtime/memory-navigation.js.map +1 -0
  214. package/dist/runtime/native.d.ts +108 -0
  215. package/dist/runtime/native.d.ts.map +1 -0
  216. package/dist/runtime/native.js +378 -0
  217. package/dist/runtime/native.js.map +1 -0
  218. package/dist/runtime/navigation-atom.d.ts +21 -0
  219. package/dist/runtime/navigation-atom.d.ts.map +1 -0
  220. package/dist/runtime/navigation-atom.js +76 -0
  221. package/dist/runtime/navigation-atom.js.map +1 -0
  222. package/dist/runtime/navigation.d.ts +61 -0
  223. package/dist/runtime/navigation.d.ts.map +1 -0
  224. package/dist/runtime/navigation.js +11 -0
  225. package/dist/runtime/navigation.js.map +1 -0
  226. package/dist/runtime/page-scripts.d.ts +54 -0
  227. package/dist/runtime/page-scripts.d.ts.map +1 -0
  228. package/dist/runtime/page-scripts.js +207 -0
  229. package/dist/runtime/page-scripts.js.map +1 -0
  230. package/dist/runtime/route-matches.d.ts +17 -0
  231. package/dist/runtime/route-matches.d.ts.map +1 -0
  232. package/dist/runtime/route-matches.js +50 -0
  233. package/dist/runtime/route-matches.js.map +1 -0
  234. package/dist/runtime/router-embedded.d.ts +28 -0
  235. package/dist/runtime/router-embedded.d.ts.map +1 -0
  236. package/dist/runtime/router-embedded.js +12 -0
  237. package/dist/runtime/router-embedded.js.map +1 -0
  238. package/dist/runtime/router-navigation-api.d.ts +28 -0
  239. package/dist/runtime/router-navigation-api.d.ts.map +1 -0
  240. package/dist/runtime/router-navigation-api.js +13 -0
  241. package/dist/runtime/router-navigation-api.js.map +1 -0
  242. package/dist/runtime/router.d.ts +137 -0
  243. package/dist/runtime/router.d.ts.map +1 -0
  244. package/dist/runtime/router.js +678 -0
  245. package/dist/runtime/router.js.map +1 -0
  246. package/dist/runtime/stale-deployment.d.ts +7 -0
  247. package/dist/runtime/stale-deployment.d.ts.map +1 -0
  248. package/dist/runtime/stale-deployment.js +30 -0
  249. package/dist/runtime/stale-deployment.js.map +1 -0
  250. package/dist/runtime/user-input.d.ts +25 -0
  251. package/dist/runtime/user-input.d.ts.map +1 -0
  252. package/dist/runtime/user-input.js +81 -0
  253. package/dist/runtime/user-input.js.map +1 -0
  254. package/dist/runtimes.d.ts +43 -0
  255. package/dist/runtimes.d.ts.map +1 -0
  256. package/dist/runtimes.js +152 -0
  257. package/dist/runtimes.js.map +1 -0
  258. package/dist/server/node.d.ts +47 -2
  259. package/dist/server/node.d.ts.map +1 -1
  260. package/dist/server/node.js +185 -23
  261. package/dist/server/node.js.map +1 -1
  262. package/dist/server/static.d.ts +11 -0
  263. package/dist/server/static.d.ts.map +1 -0
  264. package/dist/server/static.js +61 -0
  265. package/dist/server/static.js.map +1 -0
  266. package/dist/server-api.d.ts +73 -0
  267. package/dist/server-api.d.ts.map +1 -0
  268. package/dist/server-api.js +171 -0
  269. package/dist/server-api.js.map +1 -0
  270. package/dist/server-components/browser.d.ts +75 -0
  271. package/dist/server-components/browser.d.ts.map +1 -0
  272. package/dist/server-components/browser.js +558 -0
  273. package/dist/server-components/browser.js.map +1 -0
  274. package/dist/server-components/closures.d.ts +21 -0
  275. package/dist/server-components/closures.d.ts.map +1 -0
  276. package/dist/server-components/closures.js +192 -0
  277. package/dist/server-components/closures.js.map +1 -0
  278. package/dist/server-components/compiler.d.ts +6 -0
  279. package/dist/server-components/compiler.d.ts.map +1 -0
  280. package/dist/server-components/compiler.js +118 -0
  281. package/dist/server-components/compiler.js.map +1 -0
  282. package/dist/server-components/environment.d.ts +3 -0
  283. package/dist/server-components/environment.d.ts.map +1 -0
  284. package/dist/server-components/environment.js +11 -0
  285. package/dist/server-components/environment.js.map +1 -0
  286. package/dist/server-components/navigation.d.ts +10 -0
  287. package/dist/server-components/navigation.d.ts.map +1 -0
  288. package/dist/server-components/navigation.js +105 -0
  289. package/dist/server-components/navigation.js.map +1 -0
  290. package/dist/server-components/protocol.d.ts +77 -0
  291. package/dist/server-components/protocol.d.ts.map +1 -0
  292. package/dist/server-components/protocol.js +110 -0
  293. package/dist/server-components/protocol.js.map +1 -0
  294. package/dist/server-components/references.d.ts +22 -0
  295. package/dist/server-components/references.d.ts.map +1 -0
  296. package/dist/server-components/references.js +94 -0
  297. package/dist/server-components/references.js.map +1 -0
  298. package/dist/server-components/server.d.ts +78 -0
  299. package/dist/server-components/server.d.ts.map +1 -0
  300. package/dist/server-components/server.js +278 -0
  301. package/dist/server-components/server.js.map +1 -0
  302. package/dist/server-components/stream.d.ts +15 -0
  303. package/dist/server-components/stream.d.ts.map +1 -0
  304. package/dist/server-components/stream.js +72 -0
  305. package/dist/server-components/stream.js.map +1 -0
  306. package/dist/server-cookies.d.ts +41 -0
  307. package/dist/server-cookies.d.ts.map +1 -0
  308. package/dist/server-cookies.js +120 -0
  309. package/dist/server-cookies.js.map +1 -0
  310. package/dist/server-data.d.ts +51 -0
  311. package/dist/server-data.d.ts.map +1 -0
  312. package/dist/server-data.js +37 -0
  313. package/dist/server-data.js.map +1 -0
  314. package/dist/server.d.ts +57 -4
  315. package/dist/server.d.ts.map +1 -1
  316. package/dist/server.js +244 -13
  317. package/dist/server.js.map +1 -1
  318. package/dist/ui/behaviors/accordion.d.ts +14 -0
  319. package/dist/ui/behaviors/accordion.d.ts.map +1 -0
  320. package/dist/ui/behaviors/accordion.js +149 -0
  321. package/dist/ui/behaviors/accordion.js.map +1 -0
  322. package/dist/ui/behaviors/catalogue.d.ts +63 -0
  323. package/dist/ui/behaviors/catalogue.d.ts.map +1 -0
  324. package/dist/ui/behaviors/catalogue.js +284 -0
  325. package/dist/ui/behaviors/catalogue.js.map +1 -0
  326. package/dist/ui/behaviors/collapsible.d.ts +26 -0
  327. package/dist/ui/behaviors/collapsible.d.ts.map +1 -0
  328. package/dist/ui/behaviors/collapsible.js +145 -0
  329. package/dist/ui/behaviors/collapsible.js.map +1 -0
  330. package/dist/ui/behaviors/dialog.d.ts +16 -0
  331. package/dist/ui/behaviors/dialog.d.ts.map +1 -0
  332. package/dist/ui/behaviors/dialog.js +225 -0
  333. package/dist/ui/behaviors/dialog.js.map +1 -0
  334. package/dist/ui/behaviors/lifecycle.d.ts +15 -0
  335. package/dist/ui/behaviors/lifecycle.d.ts.map +1 -0
  336. package/dist/ui/behaviors/lifecycle.js +51 -0
  337. package/dist/ui/behaviors/lifecycle.js.map +1 -0
  338. package/dist/ui/behaviors/menu.d.ts +15 -0
  339. package/dist/ui/behaviors/menu.d.ts.map +1 -0
  340. package/dist/ui/behaviors/menu.js +162 -0
  341. package/dist/ui/behaviors/menu.js.map +1 -0
  342. package/dist/ui/behaviors/ownership.d.ts +7 -0
  343. package/dist/ui/behaviors/ownership.d.ts.map +1 -0
  344. package/dist/ui/behaviors/ownership.js +16 -0
  345. package/dist/ui/behaviors/ownership.js.map +1 -0
  346. package/dist/ui/behaviors/popover.d.ts +16 -0
  347. package/dist/ui/behaviors/popover.d.ts.map +1 -0
  348. package/dist/ui/behaviors/popover.js +90 -0
  349. package/dist/ui/behaviors/popover.js.map +1 -0
  350. package/dist/ui/behaviors/select.d.ts +37 -0
  351. package/dist/ui/behaviors/select.d.ts.map +1 -0
  352. package/dist/ui/behaviors/select.js +261 -0
  353. package/dist/ui/behaviors/select.js.map +1 -0
  354. package/dist/ui/behaviors/switch.d.ts +43 -0
  355. package/dist/ui/behaviors/switch.d.ts.map +1 -0
  356. package/dist/ui/behaviors/switch.js +269 -0
  357. package/dist/ui/behaviors/switch.js.map +1 -0
  358. package/dist/ui/behaviors/tabs.d.ts +4 -0
  359. package/dist/ui/behaviors/tabs.d.ts.map +1 -0
  360. package/dist/ui/behaviors/tabs.js +121 -0
  361. package/dist/ui/behaviors/tabs.js.map +1 -0
  362. package/dist/ui/behaviors/toolbar.d.ts +4 -0
  363. package/dist/ui/behaviors/toolbar.d.ts.map +1 -0
  364. package/dist/ui/behaviors/toolbar.js +81 -0
  365. package/dist/ui/behaviors/toolbar.js.map +1 -0
  366. package/dist/ui/behaviors/tooltip.d.ts +16 -0
  367. package/dist/ui/behaviors/tooltip.d.ts.map +1 -0
  368. package/dist/ui/behaviors/tooltip.js +91 -0
  369. package/dist/ui/behaviors/tooltip.js.map +1 -0
  370. package/dist/ui/behaviors/types.d.ts +51 -0
  371. package/dist/ui/behaviors/types.d.ts.map +1 -0
  372. package/dist/ui/behaviors/types.js +2 -0
  373. package/dist/ui/behaviors/types.js.map +1 -0
  374. package/dist/ui/catalogue-loaders.d.ts +4 -0
  375. package/dist/ui/catalogue-loaders.d.ts.map +1 -0
  376. package/dist/ui/catalogue-loaders.js +45 -0
  377. package/dist/ui/catalogue-loaders.js.map +1 -0
  378. package/dist/ui/catalogue.d.ts +465 -0
  379. package/dist/ui/catalogue.d.ts.map +1 -0
  380. package/dist/ui/catalogue.js +1570 -0
  381. package/dist/ui/catalogue.js.map +1 -0
  382. package/dist/ui/checkpoints.d.ts +20 -0
  383. package/dist/ui/checkpoints.d.ts.map +1 -0
  384. package/dist/ui/checkpoints.js +118 -0
  385. package/dist/ui/checkpoints.js.map +1 -0
  386. package/dist/ui/components/accordion/accordion.d.ts +22 -0
  387. package/dist/ui/components/accordion/accordion.d.ts.map +1 -0
  388. package/dist/ui/components/accordion/accordion.js +47 -0
  389. package/dist/ui/components/accordion/accordion.js.map +1 -0
  390. package/dist/ui/components/accordion/index.d.ts +2 -0
  391. package/dist/ui/components/accordion/index.d.ts.map +1 -0
  392. package/dist/ui/components/accordion/index.js +2 -0
  393. package/dist/ui/components/accordion/index.js.map +1 -0
  394. package/dist/ui/components/angle-slider/index.d.ts +5 -0
  395. package/dist/ui/components/angle-slider/index.d.ts.map +1 -0
  396. package/dist/ui/components/angle-slider/index.js +7 -0
  397. package/dist/ui/components/angle-slider/index.js.map +1 -0
  398. package/dist/ui/components/async-list/index.d.ts +5 -0
  399. package/dist/ui/components/async-list/index.d.ts.map +1 -0
  400. package/dist/ui/components/async-list/index.js +7 -0
  401. package/dist/ui/components/async-list/index.js.map +1 -0
  402. package/dist/ui/components/avatar/index.d.ts +5 -0
  403. package/dist/ui/components/avatar/index.d.ts.map +1 -0
  404. package/dist/ui/components/avatar/index.js +7 -0
  405. package/dist/ui/components/avatar/index.js.map +1 -0
  406. package/dist/ui/components/badge/badge.d.ts +6 -0
  407. package/dist/ui/components/badge/badge.d.ts.map +1 -0
  408. package/dist/ui/components/badge/badge.js +11 -0
  409. package/dist/ui/components/badge/badge.js.map +1 -0
  410. package/dist/ui/components/badge/index.d.ts +2 -0
  411. package/dist/ui/components/badge/index.d.ts.map +1 -0
  412. package/dist/ui/components/badge/index.js +2 -0
  413. package/dist/ui/components/badge/index.js.map +1 -0
  414. package/dist/ui/components/button/button.d.ts +26 -0
  415. package/dist/ui/components/button/button.d.ts.map +1 -0
  416. package/dist/ui/components/button/button.js +116 -0
  417. package/dist/ui/components/button/button.js.map +1 -0
  418. package/dist/ui/components/button/index.d.ts +2 -0
  419. package/dist/ui/components/button/index.d.ts.map +1 -0
  420. package/dist/ui/components/button/index.js +2 -0
  421. package/dist/ui/components/button/index.js.map +1 -0
  422. package/dist/ui/components/card/card.d.ts +21 -0
  423. package/dist/ui/components/card/card.d.ts.map +1 -0
  424. package/dist/ui/components/card/card.js +41 -0
  425. package/dist/ui/components/card/card.js.map +1 -0
  426. package/dist/ui/components/card/index.d.ts +2 -0
  427. package/dist/ui/components/card/index.d.ts.map +1 -0
  428. package/dist/ui/components/card/index.js +2 -0
  429. package/dist/ui/components/card/index.js.map +1 -0
  430. package/dist/ui/components/carousel/index.d.ts +5 -0
  431. package/dist/ui/components/carousel/index.d.ts.map +1 -0
  432. package/dist/ui/components/carousel/index.js +7 -0
  433. package/dist/ui/components/carousel/index.js.map +1 -0
  434. package/dist/ui/components/cascade-select/index.d.ts +7 -0
  435. package/dist/ui/components/cascade-select/index.d.ts.map +1 -0
  436. package/dist/ui/components/cascade-select/index.js +8 -0
  437. package/dist/ui/components/cascade-select/index.js.map +1 -0
  438. package/dist/ui/components/checkbox/index.d.ts +5 -0
  439. package/dist/ui/components/checkbox/index.d.ts.map +1 -0
  440. package/dist/ui/components/checkbox/index.js +7 -0
  441. package/dist/ui/components/checkbox/index.js.map +1 -0
  442. package/dist/ui/components/clipboard/index.d.ts +5 -0
  443. package/dist/ui/components/clipboard/index.d.ts.map +1 -0
  444. package/dist/ui/components/clipboard/index.js +7 -0
  445. package/dist/ui/components/clipboard/index.js.map +1 -0
  446. package/dist/ui/components/collapsible/collapsible.d.ts +21 -0
  447. package/dist/ui/components/collapsible/collapsible.d.ts.map +1 -0
  448. package/dist/ui/components/collapsible/collapsible.js +39 -0
  449. package/dist/ui/components/collapsible/collapsible.js.map +1 -0
  450. package/dist/ui/components/collapsible/index.d.ts +2 -0
  451. package/dist/ui/components/collapsible/index.d.ts.map +1 -0
  452. package/dist/ui/components/collapsible/index.js +2 -0
  453. package/dist/ui/components/collapsible/index.js.map +1 -0
  454. package/dist/ui/components/color-picker/index.d.ts +7 -0
  455. package/dist/ui/components/color-picker/index.d.ts.map +1 -0
  456. package/dist/ui/components/color-picker/index.js +8 -0
  457. package/dist/ui/components/color-picker/index.js.map +1 -0
  458. package/dist/ui/components/combobox/index.d.ts +7 -0
  459. package/dist/ui/components/combobox/index.d.ts.map +1 -0
  460. package/dist/ui/components/combobox/index.js +8 -0
  461. package/dist/ui/components/combobox/index.js.map +1 -0
  462. package/dist/ui/components/date-input/index.d.ts +7 -0
  463. package/dist/ui/components/date-input/index.d.ts.map +1 -0
  464. package/dist/ui/components/date-input/index.js +8 -0
  465. package/dist/ui/components/date-input/index.js.map +1 -0
  466. package/dist/ui/components/date-picker/index.d.ts +7 -0
  467. package/dist/ui/components/date-picker/index.d.ts.map +1 -0
  468. package/dist/ui/components/date-picker/index.js +8 -0
  469. package/dist/ui/components/date-picker/index.js.map +1 -0
  470. package/dist/ui/components/dialog/dialog.d.ts +44 -0
  471. package/dist/ui/components/dialog/dialog.d.ts.map +1 -0
  472. package/dist/ui/components/dialog/dialog.js +105 -0
  473. package/dist/ui/components/dialog/dialog.js.map +1 -0
  474. package/dist/ui/components/dialog/index.d.ts +2 -0
  475. package/dist/ui/components/dialog/index.d.ts.map +1 -0
  476. package/dist/ui/components/dialog/index.js +2 -0
  477. package/dist/ui/components/dialog/index.js.map +1 -0
  478. package/dist/ui/components/drawer/index.d.ts +5 -0
  479. package/dist/ui/components/drawer/index.d.ts.map +1 -0
  480. package/dist/ui/components/drawer/index.js +7 -0
  481. package/dist/ui/components/drawer/index.js.map +1 -0
  482. package/dist/ui/components/editable/index.d.ts +5 -0
  483. package/dist/ui/components/editable/index.d.ts.map +1 -0
  484. package/dist/ui/components/editable/index.js +7 -0
  485. package/dist/ui/components/editable/index.js.map +1 -0
  486. package/dist/ui/components/file-upload/index.d.ts +5 -0
  487. package/dist/ui/components/file-upload/index.d.ts.map +1 -0
  488. package/dist/ui/components/file-upload/index.js +7 -0
  489. package/dist/ui/components/file-upload/index.js.map +1 -0
  490. package/dist/ui/components/floating-panel/index.d.ts +5 -0
  491. package/dist/ui/components/floating-panel/index.d.ts.map +1 -0
  492. package/dist/ui/components/floating-panel/index.js +7 -0
  493. package/dist/ui/components/floating-panel/index.js.map +1 -0
  494. package/dist/ui/components/hover-card/index.d.ts +5 -0
  495. package/dist/ui/components/hover-card/index.d.ts.map +1 -0
  496. package/dist/ui/components/hover-card/index.js +7 -0
  497. package/dist/ui/components/hover-card/index.js.map +1 -0
  498. package/dist/ui/components/image-cropper/index.d.ts +5 -0
  499. package/dist/ui/components/image-cropper/index.d.ts.map +1 -0
  500. package/dist/ui/components/image-cropper/index.js +7 -0
  501. package/dist/ui/components/image-cropper/index.js.map +1 -0
  502. package/dist/ui/components/index.d.ts +61 -0
  503. package/dist/ui/components/index.d.ts.map +1 -0
  504. package/dist/ui/components/index.js +186 -0
  505. package/dist/ui/components/index.js.map +1 -0
  506. package/dist/ui/components/layout/box.d.ts +11 -0
  507. package/dist/ui/components/layout/box.d.ts.map +1 -0
  508. package/dist/ui/components/layout/box.js +44 -0
  509. package/dist/ui/components/layout/box.js.map +1 -0
  510. package/dist/ui/components/layout/container.d.ts +9 -0
  511. package/dist/ui/components/layout/container.d.ts.map +1 -0
  512. package/dist/ui/components/layout/container.js +38 -0
  513. package/dist/ui/components/layout/container.js.map +1 -0
  514. package/dist/ui/components/layout/flex.d.ts +10 -0
  515. package/dist/ui/components/layout/flex.d.ts.map +1 -0
  516. package/dist/ui/components/layout/flex.js +53 -0
  517. package/dist/ui/components/layout/flex.js.map +1 -0
  518. package/dist/ui/components/layout/grid.d.ts +10 -0
  519. package/dist/ui/components/layout/grid.d.ts.map +1 -0
  520. package/dist/ui/components/layout/grid.js +47 -0
  521. package/dist/ui/components/layout/grid.js.map +1 -0
  522. package/dist/ui/components/layout/index.d.ts +6 -0
  523. package/dist/ui/components/layout/index.d.ts.map +1 -0
  524. package/dist/ui/components/layout/index.js +6 -0
  525. package/dist/ui/components/layout/index.js.map +1 -0
  526. package/dist/ui/components/layout/stack.d.ts +9 -0
  527. package/dist/ui/components/layout/stack.d.ts.map +1 -0
  528. package/dist/ui/components/layout/stack.js +37 -0
  529. package/dist/ui/components/layout/stack.js.map +1 -0
  530. package/dist/ui/components/listbox/index.d.ts +8 -0
  531. package/dist/ui/components/listbox/index.d.ts.map +1 -0
  532. package/dist/ui/components/listbox/index.js +9 -0
  533. package/dist/ui/components/listbox/index.js.map +1 -0
  534. package/dist/ui/components/marquee/index.d.ts +5 -0
  535. package/dist/ui/components/marquee/index.d.ts.map +1 -0
  536. package/dist/ui/components/marquee/index.js +7 -0
  537. package/dist/ui/components/marquee/index.js.map +1 -0
  538. package/dist/ui/components/menu/index.d.ts +2 -0
  539. package/dist/ui/components/menu/index.d.ts.map +1 -0
  540. package/dist/ui/components/menu/index.js +2 -0
  541. package/dist/ui/components/menu/index.js.map +1 -0
  542. package/dist/ui/components/menu/menu.d.ts +23 -0
  543. package/dist/ui/components/menu/menu.d.ts.map +1 -0
  544. package/dist/ui/components/menu/menu.js +45 -0
  545. package/dist/ui/components/menu/menu.js.map +1 -0
  546. package/dist/ui/components/navigation/breadcrumbs.d.ts +19 -0
  547. package/dist/ui/components/navigation/breadcrumbs.d.ts.map +1 -0
  548. package/dist/ui/components/navigation/breadcrumbs.js +90 -0
  549. package/dist/ui/components/navigation/breadcrumbs.js.map +1 -0
  550. package/dist/ui/components/navigation/index.d.ts +6 -0
  551. package/dist/ui/components/navigation/index.d.ts.map +1 -0
  552. package/dist/ui/components/navigation/index.js +6 -0
  553. package/dist/ui/components/navigation/index.js.map +1 -0
  554. package/dist/ui/components/navigation/prose.d.ts +6 -0
  555. package/dist/ui/components/navigation/prose.d.ts.map +1 -0
  556. package/dist/ui/components/navigation/prose.js +11 -0
  557. package/dist/ui/components/navigation/prose.js.map +1 -0
  558. package/dist/ui/components/navigation/sidebar.d.ts +10 -0
  559. package/dist/ui/components/navigation/sidebar.d.ts.map +1 -0
  560. package/dist/ui/components/navigation/sidebar.js +35 -0
  561. package/dist/ui/components/navigation/sidebar.js.map +1 -0
  562. package/dist/ui/components/navigation/toc.d.ts +11 -0
  563. package/dist/ui/components/navigation/toc.d.ts.map +1 -0
  564. package/dist/ui/components/navigation/toc.js +82 -0
  565. package/dist/ui/components/navigation/toc.js.map +1 -0
  566. package/dist/ui/components/navigation-menu/index.d.ts +5 -0
  567. package/dist/ui/components/navigation-menu/index.d.ts.map +1 -0
  568. package/dist/ui/components/navigation-menu/index.js +7 -0
  569. package/dist/ui/components/navigation-menu/index.js.map +1 -0
  570. package/dist/ui/components/number-input/index.d.ts +5 -0
  571. package/dist/ui/components/number-input/index.d.ts.map +1 -0
  572. package/dist/ui/components/number-input/index.js +7 -0
  573. package/dist/ui/components/number-input/index.js.map +1 -0
  574. package/dist/ui/components/pagination/index.d.ts +5 -0
  575. package/dist/ui/components/pagination/index.d.ts.map +1 -0
  576. package/dist/ui/components/pagination/index.js +7 -0
  577. package/dist/ui/components/pagination/index.js.map +1 -0
  578. package/dist/ui/components/password-input/index.d.ts +5 -0
  579. package/dist/ui/components/password-input/index.d.ts.map +1 -0
  580. package/dist/ui/components/password-input/index.js +7 -0
  581. package/dist/ui/components/password-input/index.js.map +1 -0
  582. package/dist/ui/components/pin-input/index.d.ts +5 -0
  583. package/dist/ui/components/pin-input/index.d.ts.map +1 -0
  584. package/dist/ui/components/pin-input/index.js +7 -0
  585. package/dist/ui/components/pin-input/index.js.map +1 -0
  586. package/dist/ui/components/popover/index.d.ts +2 -0
  587. package/dist/ui/components/popover/index.d.ts.map +1 -0
  588. package/dist/ui/components/popover/index.js +2 -0
  589. package/dist/ui/components/popover/index.js.map +1 -0
  590. package/dist/ui/components/popover/popover.d.ts +14 -0
  591. package/dist/ui/components/popover/popover.d.ts.map +1 -0
  592. package/dist/ui/components/popover/popover.js +22 -0
  593. package/dist/ui/components/popover/popover.js.map +1 -0
  594. package/dist/ui/components/presence/index.d.ts +5 -0
  595. package/dist/ui/components/presence/index.d.ts.map +1 -0
  596. package/dist/ui/components/presence/index.js +7 -0
  597. package/dist/ui/components/presence/index.js.map +1 -0
  598. package/dist/ui/components/progress/index.d.ts +5 -0
  599. package/dist/ui/components/progress/index.d.ts.map +1 -0
  600. package/dist/ui/components/progress/index.js +7 -0
  601. package/dist/ui/components/progress/index.js.map +1 -0
  602. package/dist/ui/components/qr-code/index.d.ts +5 -0
  603. package/dist/ui/components/qr-code/index.d.ts.map +1 -0
  604. package/dist/ui/components/qr-code/index.js +7 -0
  605. package/dist/ui/components/qr-code/index.js.map +1 -0
  606. package/dist/ui/components/radio-group/index.d.ts +5 -0
  607. package/dist/ui/components/radio-group/index.d.ts.map +1 -0
  608. package/dist/ui/components/radio-group/index.js +7 -0
  609. package/dist/ui/components/radio-group/index.js.map +1 -0
  610. package/dist/ui/components/rating-group/index.d.ts +5 -0
  611. package/dist/ui/components/rating-group/index.d.ts.map +1 -0
  612. package/dist/ui/components/rating-group/index.js +7 -0
  613. package/dist/ui/components/rating-group/index.js.map +1 -0
  614. package/dist/ui/components/resize-handle/index.d.ts +2 -0
  615. package/dist/ui/components/resize-handle/index.d.ts.map +1 -0
  616. package/dist/ui/components/resize-handle/index.js +2 -0
  617. package/dist/ui/components/resize-handle/index.js.map +1 -0
  618. package/dist/ui/components/resize-handle/resize-handle.d.ts +39 -0
  619. package/dist/ui/components/resize-handle/resize-handle.d.ts.map +1 -0
  620. package/dist/ui/components/resize-handle/resize-handle.js +170 -0
  621. package/dist/ui/components/resize-handle/resize-handle.js.map +1 -0
  622. package/dist/ui/components/scroll-area/index.d.ts +5 -0
  623. package/dist/ui/components/scroll-area/index.d.ts.map +1 -0
  624. package/dist/ui/components/scroll-area/index.js +7 -0
  625. package/dist/ui/components/scroll-area/index.js.map +1 -0
  626. package/dist/ui/components/select/index.d.ts +2 -0
  627. package/dist/ui/components/select/index.d.ts.map +1 -0
  628. package/dist/ui/components/select/index.js +2 -0
  629. package/dist/ui/components/select/index.js.map +1 -0
  630. package/dist/ui/components/select/select.d.ts +40 -0
  631. package/dist/ui/components/select/select.d.ts.map +1 -0
  632. package/dist/ui/components/select/select.js +57 -0
  633. package/dist/ui/components/select/select.js.map +1 -0
  634. package/dist/ui/components/separator/index.d.ts +2 -0
  635. package/dist/ui/components/separator/index.d.ts.map +1 -0
  636. package/dist/ui/components/separator/index.js +2 -0
  637. package/dist/ui/components/separator/index.js.map +1 -0
  638. package/dist/ui/components/separator/separator.d.ts +9 -0
  639. package/dist/ui/components/separator/separator.d.ts.map +1 -0
  640. package/dist/ui/components/separator/separator.js +27 -0
  641. package/dist/ui/components/separator/separator.js.map +1 -0
  642. package/dist/ui/components/signature-pad/index.d.ts +5 -0
  643. package/dist/ui/components/signature-pad/index.d.ts.map +1 -0
  644. package/dist/ui/components/signature-pad/index.js +7 -0
  645. package/dist/ui/components/signature-pad/index.js.map +1 -0
  646. package/dist/ui/components/slider/index.d.ts +5 -0
  647. package/dist/ui/components/slider/index.d.ts.map +1 -0
  648. package/dist/ui/components/slider/index.js +7 -0
  649. package/dist/ui/components/slider/index.js.map +1 -0
  650. package/dist/ui/components/splitter/index.d.ts +5 -0
  651. package/dist/ui/components/splitter/index.d.ts.map +1 -0
  652. package/dist/ui/components/splitter/index.js +7 -0
  653. package/dist/ui/components/splitter/index.js.map +1 -0
  654. package/dist/ui/components/steps/index.d.ts +5 -0
  655. package/dist/ui/components/steps/index.d.ts.map +1 -0
  656. package/dist/ui/components/steps/index.js +7 -0
  657. package/dist/ui/components/steps/index.js.map +1 -0
  658. package/dist/ui/components/switch/index.d.ts +2 -0
  659. package/dist/ui/components/switch/index.d.ts.map +1 -0
  660. package/dist/ui/components/switch/index.js +2 -0
  661. package/dist/ui/components/switch/index.js.map +1 -0
  662. package/dist/ui/components/switch/switch.d.ts +48 -0
  663. package/dist/ui/components/switch/switch.d.ts.map +1 -0
  664. package/dist/ui/components/switch/switch.js +64 -0
  665. package/dist/ui/components/switch/switch.js.map +1 -0
  666. package/dist/ui/components/tabs/index.d.ts +2 -0
  667. package/dist/ui/components/tabs/index.d.ts.map +1 -0
  668. package/dist/ui/components/tabs/index.js +2 -0
  669. package/dist/ui/components/tabs/index.js.map +1 -0
  670. package/dist/ui/components/tabs/tabs.d.ts +22 -0
  671. package/dist/ui/components/tabs/tabs.d.ts.map +1 -0
  672. package/dist/ui/components/tabs/tabs.js +89 -0
  673. package/dist/ui/components/tabs/tabs.js.map +1 -0
  674. package/dist/ui/components/tags-input/index.d.ts +5 -0
  675. package/dist/ui/components/tags-input/index.d.ts.map +1 -0
  676. package/dist/ui/components/tags-input/index.js +7 -0
  677. package/dist/ui/components/tags-input/index.js.map +1 -0
  678. package/dist/ui/components/timer/index.d.ts +7 -0
  679. package/dist/ui/components/timer/index.d.ts.map +1 -0
  680. package/dist/ui/components/timer/index.js +8 -0
  681. package/dist/ui/components/timer/index.js.map +1 -0
  682. package/dist/ui/components/toast/index.d.ts +7 -0
  683. package/dist/ui/components/toast/index.d.ts.map +1 -0
  684. package/dist/ui/components/toast/index.js +8 -0
  685. package/dist/ui/components/toast/index.js.map +1 -0
  686. package/dist/ui/components/toc/index.d.ts +5 -0
  687. package/dist/ui/components/toc/index.d.ts.map +1 -0
  688. package/dist/ui/components/toc/index.js +7 -0
  689. package/dist/ui/components/toc/index.js.map +1 -0
  690. package/dist/ui/components/toggle/index.d.ts +5 -0
  691. package/dist/ui/components/toggle/index.d.ts.map +1 -0
  692. package/dist/ui/components/toggle/index.js +7 -0
  693. package/dist/ui/components/toggle/index.js.map +1 -0
  694. package/dist/ui/components/toggle-group/index.d.ts +5 -0
  695. package/dist/ui/components/toggle-group/index.d.ts.map +1 -0
  696. package/dist/ui/components/toggle-group/index.js +7 -0
  697. package/dist/ui/components/toggle-group/index.js.map +1 -0
  698. package/dist/ui/components/toolbar/index.d.ts +11 -0
  699. package/dist/ui/components/toolbar/index.d.ts.map +1 -0
  700. package/dist/ui/components/toolbar/index.js +18 -0
  701. package/dist/ui/components/toolbar/index.js.map +1 -0
  702. package/dist/ui/components/tooltip/index.d.ts +2 -0
  703. package/dist/ui/components/tooltip/index.d.ts.map +1 -0
  704. package/dist/ui/components/tooltip/index.js +2 -0
  705. package/dist/ui/components/tooltip/index.js.map +1 -0
  706. package/dist/ui/components/tooltip/tooltip.d.ts +14 -0
  707. package/dist/ui/components/tooltip/tooltip.d.ts.map +1 -0
  708. package/dist/ui/components/tooltip/tooltip.js +22 -0
  709. package/dist/ui/components/tooltip/tooltip.js.map +1 -0
  710. package/dist/ui/components/tour/index.d.ts +5 -0
  711. package/dist/ui/components/tour/index.d.ts.map +1 -0
  712. package/dist/ui/components/tour/index.js +7 -0
  713. package/dist/ui/components/tour/index.js.map +1 -0
  714. package/dist/ui/components/tree-view/index.d.ts +7 -0
  715. package/dist/ui/components/tree-view/index.d.ts.map +1 -0
  716. package/dist/ui/components/tree-view/index.js +8 -0
  717. package/dist/ui/components/tree-view/index.js.map +1 -0
  718. package/dist/ui/core/button-behavior.d.ts +3 -0
  719. package/dist/ui/core/button-behavior.d.ts.map +1 -0
  720. package/dist/ui/core/button-behavior.js +50 -0
  721. package/dist/ui/core/button-behavior.js.map +1 -0
  722. package/dist/ui/core/catalogue-element.d.ts +6 -0
  723. package/dist/ui/core/catalogue-element.d.ts.map +1 -0
  724. package/dist/ui/core/catalogue-element.js +28 -0
  725. package/dist/ui/core/catalogue-element.js.map +1 -0
  726. package/dist/ui/core/component-styles.d.ts +2 -0
  727. package/dist/ui/core/component-styles.d.ts.map +1 -0
  728. package/dist/ui/core/component-styles.js +77 -0
  729. package/dist/ui/core/component-styles.js.map +1 -0
  730. package/dist/ui/core/element.d.ts +12 -0
  731. package/dist/ui/core/element.d.ts.map +1 -0
  732. package/dist/ui/core/element.js +57 -0
  733. package/dist/ui/core/element.js.map +1 -0
  734. package/dist/ui/core/events.d.ts +6 -0
  735. package/dist/ui/core/events.d.ts.map +1 -0
  736. package/dist/ui/core/events.js +13 -0
  737. package/dist/ui/core/events.js.map +1 -0
  738. package/dist/ui/core/form-control.d.ts +4 -0
  739. package/dist/ui/core/form-control.d.ts.map +1 -0
  740. package/dist/ui/core/form-control.js +25 -0
  741. package/dist/ui/core/form-control.js.map +1 -0
  742. package/dist/ui/core/index.d.ts +5 -0
  743. package/dist/ui/core/index.d.ts.map +1 -0
  744. package/dist/ui/core/index.js +5 -0
  745. package/dist/ui/core/index.js.map +1 -0
  746. package/dist/ui/core/layout-styles.d.ts +2 -0
  747. package/dist/ui/core/layout-styles.d.ts.map +1 -0
  748. package/dist/ui/core/layout-styles.js +58 -0
  749. package/dist/ui/core/layout-styles.js.map +1 -0
  750. package/dist/ui/core/machine-checkpoints.d.ts +6 -0
  751. package/dist/ui/core/machine-checkpoints.d.ts.map +1 -0
  752. package/dist/ui/core/machine-checkpoints.js +47 -0
  753. package/dist/ui/core/machine-checkpoints.js.map +1 -0
  754. package/dist/ui/core/machine-clock.d.ts +16 -0
  755. package/dist/ui/core/machine-clock.d.ts.map +1 -0
  756. package/dist/ui/core/machine-clock.js +89 -0
  757. package/dist/ui/core/machine-clock.js.map +1 -0
  758. package/dist/ui/core/machine-codec.d.ts +29 -0
  759. package/dist/ui/core/machine-codec.d.ts.map +1 -0
  760. package/dist/ui/core/machine-codec.js +217 -0
  761. package/dist/ui/core/machine-codec.js.map +1 -0
  762. package/dist/ui/core/machine-profiles.d.ts +437 -0
  763. package/dist/ui/core/machine-profiles.d.ts.map +1 -0
  764. package/dist/ui/core/machine-profiles.js +1175 -0
  765. package/dist/ui/core/machine-profiles.js.map +1 -0
  766. package/dist/ui/core/machine-resources.d.ts +6 -0
  767. package/dist/ui/core/machine-resources.d.ts.map +1 -0
  768. package/dist/ui/core/machine-resources.js +46 -0
  769. package/dist/ui/core/machine-resources.js.map +1 -0
  770. package/dist/ui/core/machine.d.ts +29 -0
  771. package/dist/ui/core/machine.d.ts.map +1 -0
  772. package/dist/ui/core/machine.js +111 -0
  773. package/dist/ui/core/machine.js.map +1 -0
  774. package/dist/ui/core/parts.d.ts +4 -0
  775. package/dist/ui/core/parts.d.ts.map +1 -0
  776. package/dist/ui/core/parts.js +33 -0
  777. package/dist/ui/core/parts.js.map +1 -0
  778. package/dist/ui/core/portal.d.ts +11 -0
  779. package/dist/ui/core/portal.d.ts.map +1 -0
  780. package/dist/ui/core/portal.js +71 -0
  781. package/dist/ui/core/portal.js.map +1 -0
  782. package/dist/ui/core/public-machine.d.ts +4 -0
  783. package/dist/ui/core/public-machine.d.ts.map +1 -0
  784. package/dist/ui/core/public-machine.js +26 -0
  785. package/dist/ui/core/public-machine.js.map +1 -0
  786. package/dist/ui/core/resumable-machine.d.ts +13 -0
  787. package/dist/ui/core/resumable-machine.d.ts.map +1 -0
  788. package/dist/ui/core/resumable-machine.js +336 -0
  789. package/dist/ui/core/resumable-machine.js.map +1 -0
  790. package/dist/ui/drivers/bulma.d.ts +3 -0
  791. package/dist/ui/drivers/bulma.d.ts.map +1 -0
  792. package/dist/ui/drivers/bulma.js +249 -0
  793. package/dist/ui/drivers/bulma.js.map +1 -0
  794. package/dist/ui/drivers/daisyui.d.ts +9 -0
  795. package/dist/ui/drivers/daisyui.d.ts.map +1 -0
  796. package/dist/ui/drivers/daisyui.js +107 -0
  797. package/dist/ui/drivers/daisyui.js.map +1 -0
  798. package/dist/ui/drivers/index.d.ts +7 -0
  799. package/dist/ui/drivers/index.d.ts.map +1 -0
  800. package/dist/ui/drivers/index.js +7 -0
  801. package/dist/ui/drivers/index.js.map +1 -0
  802. package/dist/ui/drivers/registry.d.ts +11 -0
  803. package/dist/ui/drivers/registry.d.ts.map +1 -0
  804. package/dist/ui/drivers/registry.js +109 -0
  805. package/dist/ui/drivers/registry.js.map +1 -0
  806. package/dist/ui/drivers/shadcn.d.ts +3 -0
  807. package/dist/ui/drivers/shadcn.d.ts.map +1 -0
  808. package/dist/ui/drivers/shadcn.js +288 -0
  809. package/dist/ui/drivers/shadcn.js.map +1 -0
  810. package/dist/ui/drivers/types.d.ts +43 -0
  811. package/dist/ui/drivers/types.d.ts.map +1 -0
  812. package/dist/ui/drivers/types.js +2 -0
  813. package/dist/ui/drivers/types.js.map +1 -0
  814. package/dist/ui/drivers/unstyled.d.ts +3 -0
  815. package/dist/ui/drivers/unstyled.d.ts.map +1 -0
  816. package/dist/ui/drivers/unstyled.js +226 -0
  817. package/dist/ui/drivers/unstyled.js.map +1 -0
  818. package/dist/ui/engine.d.ts +24 -0
  819. package/dist/ui/engine.d.ts.map +1 -0
  820. package/dist/ui/engine.js +22 -0
  821. package/dist/ui/engine.js.map +1 -0
  822. package/dist/ui/index.d.ts +7 -0
  823. package/dist/ui/index.d.ts.map +1 -0
  824. package/dist/ui/index.js +6 -0
  825. package/dist/ui/index.js.map +1 -0
  826. package/dist/ui/machine-state.d.ts +349 -0
  827. package/dist/ui/machine-state.d.ts.map +1 -0
  828. package/dist/ui/machine-state.js +105 -0
  829. package/dist/ui/machine-state.js.map +1 -0
  830. package/dist/ui/presentation.d.ts +7 -0
  831. package/dist/ui/presentation.d.ts.map +1 -0
  832. package/dist/ui/presentation.js +21 -0
  833. package/dist/ui/presentation.js.map +1 -0
  834. package/dist/ui/render.d.ts +18 -0
  835. package/dist/ui/render.d.ts.map +1 -0
  836. package/dist/ui/render.js +31 -0
  837. package/dist/ui/render.js.map +1 -0
  838. package/dist/ui/resume.d.ts +28 -0
  839. package/dist/ui/resume.d.ts.map +1 -0
  840. package/dist/ui/resume.js +417 -0
  841. package/dist/ui/resume.js.map +1 -0
  842. package/dist/ui/server.d.ts +9 -0
  843. package/dist/ui/server.d.ts.map +1 -0
  844. package/dist/ui/server.js +6 -0
  845. package/dist/ui/server.js.map +1 -0
  846. package/dist/ui/state.d.ts +24 -0
  847. package/dist/ui/state.d.ts.map +1 -0
  848. package/dist/ui/state.js +64 -0
  849. package/dist/ui/state.js.map +1 -0
  850. package/dist/ui-server.d.ts +2 -0
  851. package/dist/ui-server.d.ts.map +1 -0
  852. package/dist/ui-server.js +2 -0
  853. package/dist/ui-server.js.map +1 -0
  854. package/dist/ui.d.ts +2 -0
  855. package/dist/ui.d.ts.map +1 -0
  856. package/dist/ui.js +2 -0
  857. package/dist/ui.js.map +1 -0
  858. package/dist/vite-environments.d.ts +27 -0
  859. package/dist/vite-environments.d.ts.map +1 -0
  860. package/dist/vite-environments.js +63 -0
  861. package/dist/vite-environments.js.map +1 -0
  862. package/dist/vite.d.ts +113 -3
  863. package/dist/vite.d.ts.map +1 -1
  864. package/dist/vite.js +1290 -196
  865. package/dist/vite.js.map +1 -1
  866. package/dist/workflow/browser.d.ts +7 -0
  867. package/dist/workflow/browser.d.ts.map +1 -0
  868. package/dist/workflow/browser.js +60 -0
  869. package/dist/workflow/browser.js.map +1 -0
  870. package/dist/workflow/compiler.d.ts +8 -0
  871. package/dist/workflow/compiler.d.ts.map +1 -0
  872. package/dist/workflow/compiler.js +122 -0
  873. package/dist/workflow/compiler.js.map +1 -0
  874. package/dist/workflow/http.d.ts +20 -0
  875. package/dist/workflow/http.d.ts.map +1 -0
  876. package/dist/workflow/http.js +68 -0
  877. package/dist/workflow/http.js.map +1 -0
  878. package/dist/workflow/index.d.ts +46 -0
  879. package/dist/workflow/index.d.ts.map +1 -0
  880. package/dist/workflow/index.js +91 -0
  881. package/dist/workflow/index.js.map +1 -0
  882. package/dist/workflow/journal.d.ts +9 -0
  883. package/dist/workflow/journal.d.ts.map +1 -0
  884. package/dist/workflow/journal.js +18 -0
  885. package/dist/workflow/journal.js.map +1 -0
  886. package/dist/workflow/node.d.ts +6 -0
  887. package/dist/workflow/node.d.ts.map +1 -0
  888. package/dist/workflow/node.js +24 -0
  889. package/dist/workflow/node.js.map +1 -0
  890. package/dist/workflow/operation.d.ts +23 -0
  891. package/dist/workflow/operation.d.ts.map +1 -0
  892. package/dist/workflow/operation.js +65 -0
  893. package/dist/workflow/operation.js.map +1 -0
  894. package/dist/workflow/protocol.d.ts +36 -0
  895. package/dist/workflow/protocol.d.ts.map +1 -0
  896. package/dist/workflow/protocol.js +45 -0
  897. package/dist/workflow/protocol.js.map +1 -0
  898. package/package.json +158 -27
  899. package/dist/create.d.ts +0 -21
  900. package/dist/create.d.ts.map +0 -1
  901. package/dist/create.js +0 -111
  902. package/dist/create.js.map +0 -1
  903. package/dist/runtime/atom.d.ts +0 -10
  904. package/dist/runtime/atom.d.ts.map +0 -1
  905. package/dist/runtime/atom.js +0 -38
  906. package/dist/runtime/atom.js.map +0 -1
  907. package/dist/ssr/node.d.ts +0 -3
  908. package/dist/ssr/node.d.ts.map +0 -1
  909. package/dist/ssr/node.js +0 -3
  910. package/dist/ssr/node.js.map +0 -1
  911. package/dist/ssr.d.ts +0 -4
  912. package/dist/ssr.d.ts.map +0 -1
  913. package/dist/ssr.js +0 -3
  914. package/dist/ssr.js.map +0 -1
  915. package/templates/basic/README.md +0 -18
  916. package/templates/basic/_gitignore +0 -3
  917. package/templates/basic/components/app-badge.html +0 -1
  918. package/templates/basic/index.html +0 -12
  919. package/templates/basic/islands/counter.ts +0 -13
  920. package/templates/basic/package.json +0 -26
  921. package/templates/basic/pages/about/index.html +0 -5
  922. package/templates/basic/pages/docs/index.md +0 -9
  923. package/templates/basic/pages/index.html +0 -9
  924. package/templates/basic/pages/layout.html +0 -8
  925. package/templates/basic/pnpm-workspace.yaml +0 -5
  926. package/templates/basic/server.mjs +0 -13
  927. package/templates/basic/style.css +0 -1
  928. package/templates/basic/tsconfig.json +0 -13
  929. package/templates/basic/vite.config.ts +0 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/runtime/native.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Schema from "effect/Schema";
3
+ import type { NavigationAdapter } from "./navigation.js";
4
+ export declare class UrlAtomError extends Error {
5
+ readonly key: string;
6
+ readonly cause: unknown;
7
+ readonly _tag = "UrlAtomError";
8
+ constructor(key: string, cause: unknown);
9
+ }
10
+ /** Acquires initialization, updates and registry disposal in the owning Effect scope. */
11
+ export declare function makeNavigationUrlAtom<Value>(navigation: NavigationAdapter, key: string, schema: Schema.Codec<Value, unknown>, initialValue: Value, options?: {
12
+ readonly invalid?: "error" | "default";
13
+ readonly onError?: (error: UrlAtomError) => void;
14
+ }): Effect.Effect<{
15
+ get: () => Value;
16
+ refresh: Effect.Effect<Value, UrlAtomError, never>;
17
+ set: (value: Value, history?: "push" | "replace") => Effect.Effect<undefined, import("./navigation.js").NavigationError | UrlAtomError, never>;
18
+ remove: () => Effect.Effect<undefined, import("./navigation.js").NavigationError | UrlAtomError, never>;
19
+ subscribe: (listener: (value: Value) => void) => () => void;
20
+ }, UrlAtomError, import("effect/Scope").Scope>;
21
+ //# sourceMappingURL=navigation-atom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-atom.d.ts","sourceRoot":"","sources":["../../src/runtime/navigation-atom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,qBAAa,YAAa,SAAQ,KAAK;IAEzB,QAAQ,CAAC,GAAG,EAAE,MAAM;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO;IADzD,QAAQ,CAAC,IAAI,kBAAkB;gBACV,GAAG,EAAE,MAAM,EAAW,KAAK,EAAE,OAAO;CAC1D;AAED,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,EACrF,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,KAAK,EACzD,OAAO,GAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;CAAO;;;iBA4C1C,KAAK,YAAY,MAAM,GAAG,SAAS;;0BACzC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;+CAEjF"}
@@ -0,0 +1,76 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Schema from "effect/Schema";
3
+ import * as Atom from "effect/reactivity/Atom";
4
+ import * as AtomRegistry from "effect/reactivity/AtomRegistry";
5
+ export class UrlAtomError extends Error {
6
+ key;
7
+ cause;
8
+ _tag = "UrlAtomError";
9
+ constructor(key, cause) {
10
+ super(`Invalid URL value for ${key}: ${String(cause)}`);
11
+ this.key = key;
12
+ this.cause = cause;
13
+ }
14
+ }
15
+ /** Acquires initialization, updates and registry disposal in the owning Effect scope. */
16
+ export function makeNavigationUrlAtom(navigation, key, schema, initialValue, options = {}) {
17
+ return Effect.gen(function* () {
18
+ const registry = AtomRegistry.make();
19
+ const atom = Atom.make(initialValue).pipe(Atom.keepAlive);
20
+ let disposed = false;
21
+ let generation = 0;
22
+ const lifetime = new AbortController();
23
+ yield* Effect.addFinalizer(() => Effect.sync(() => { disposed = true; lifetime.abort(); registry.dispose(); }));
24
+ const decode = (href) => Effect.gen(function* () {
25
+ const values = new URL(href).searchParams.getAll(key);
26
+ if (!values.length)
27
+ return initialValue;
28
+ if (values.length > 1)
29
+ return yield* Effect.fail(new UrlAtomError(key, "Repeated parameters are ambiguous"));
30
+ const value = yield* Effect.try({ try: () => JSON.parse(values[0]), catch: cause => new UrlAtomError(key, cause) });
31
+ return yield* Schema.decodeUnknownEffect(schema)(value).pipe(Effect.mapError(cause => new UrlAtomError(key, cause)));
32
+ }).pipe(Effect.catch(error => options.invalid === "default" ? Effect.succeed(initialValue) : Effect.fail(error)));
33
+ const refresh = Effect.gen(function* () {
34
+ const value = yield* decode((yield* navigation.current).url);
35
+ if (!disposed)
36
+ registry.set(atom, value);
37
+ return value;
38
+ });
39
+ yield* refresh;
40
+ yield* navigation.subscribe(change => {
41
+ const version = ++generation;
42
+ void Effect.runPromise(decode(change.destination.url), { signal: lifetime.signal }).then(value => {
43
+ if (!disposed && version === generation)
44
+ registry.set(atom, value);
45
+ }, cause => {
46
+ if (!disposed && version === generation) {
47
+ try {
48
+ options.onError?.(new UrlAtomError(key, cause));
49
+ }
50
+ catch (error) {
51
+ console.error(error);
52
+ }
53
+ }
54
+ });
55
+ });
56
+ const write = (value, history = "replace") => Effect.gen(function* () {
57
+ if (disposed)
58
+ return yield* Effect.fail(new UrlAtomError(key, "URL atom disposed"));
59
+ const encoded = value === undefined ? undefined : yield* Schema.encodeUnknownEffect(schema)(value)
60
+ .pipe(Effect.mapError(cause => new UrlAtomError(key, cause)));
61
+ // Read after encoding: independent writes preserve each other's latest parameters.
62
+ const current = yield* navigation.current;
63
+ const url = new URL(current.url);
64
+ if (encoded === undefined)
65
+ url.searchParams.delete(key);
66
+ else
67
+ url.searchParams.set(key, JSON.stringify(encoded));
68
+ const transition = yield* navigation.navigate({ href: url.href, history, state: current.state });
69
+ yield* transition.finished;
70
+ yield* refresh;
71
+ });
72
+ return { get: () => registry.get(atom), refresh, set: (value, history) => write(value, history),
73
+ remove: () => write(undefined), subscribe: (listener) => registry.subscribe(atom, listener) };
74
+ });
75
+ }
76
+ //# sourceMappingURL=navigation-atom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-atom.js","sourceRoot":"","sources":["../../src/runtime/navigation-atom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAC;AAG/D,MAAM,OAAO,YAAa,SAAQ,KAAK;IAEhB;IAAsB;IADlC,IAAI,GAAG,cAAc,CAAC;IAC/B,YAAqB,GAAW,EAAW,KAAc;QAAI,KAAK,CAAC,yBAAyB,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAAhG,QAAG,GAAH,GAAG,CAAQ;QAAW,UAAK,GAAL,KAAK,CAAS;IAA6D,CAAC;CACxH;AAED,yFAAyF;AACzF,MAAM,UAAU,qBAAqB,CAAQ,UAA6B,EAAE,GAAW,EACrF,MAAoC,EAAE,YAAmB,EACzD,UAAwG,EAAE;IAC1G,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChH,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,YAAY,CAAC;YACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC,CAAC;YAC7G,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAE,CAAY,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAChI,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACvH,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClH,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ;gBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,CAAC,OAAO,CAAC;QACf,KAAK,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACnC,MAAM,OAAO,GAAG,EAAE,UAAU,CAAC;YAC7B,KAAK,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC/F,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,UAAU;oBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;oBACxC,IAAI,CAAC;wBAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAAC,CAAC;gBAClG,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,KAAwB,EAAE,UAA8B,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACvG,IAAI,QAAQ;gBAAE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;iBAC/F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAChE,mFAAmF;YACnF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;YAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,OAAO,KAAK,SAAS;gBAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;gBACnD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACjG,KAAK,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC3B,KAAK,CAAC,CAAC,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAY,EAAE,OAA4B,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;YACzH,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,QAAgC,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;IAC1H,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,61 @@
1
+ import * as Context from "effect/Context";
2
+ import type * as Effect from "effect/Effect";
3
+ import type * as Scope from "effect/Scope";
4
+ export type NavigationKind = "push" | "replace" | "traverse" | "reload";
5
+ /**
6
+ * A frozen copy of one history entry. `state` is a structured clone, so changing it never changes the entry.
7
+ * `index` is `null` when the adapter cannot know the entry's position (entries created outside the app).
8
+ */
9
+ export type NavigationSnapshot = {
10
+ readonly url: string;
11
+ readonly pathname: string;
12
+ readonly search: string;
13
+ readonly hash: string;
14
+ readonly key: string;
15
+ readonly index: number | null;
16
+ readonly state: unknown;
17
+ };
18
+ export type NavigationIntent = {
19
+ readonly href: string;
20
+ /** `"auto"` replaces the current entry when the destination is the current URL and pushes otherwise. Default `"push"`. */
21
+ readonly history?: "auto" | "push" | "replace";
22
+ readonly state?: unknown;
23
+ };
24
+ export type NavigationChange = {
25
+ readonly kind: NavigationKind;
26
+ readonly from: NavigationSnapshot;
27
+ readonly destination: NavigationSnapshot;
28
+ /** Entries moved; `null` when either index is unknown. */
29
+ readonly delta: number | null;
30
+ };
31
+ export declare class NavigationError extends Error {
32
+ readonly reason: "InvalidUrl" | "InvalidState" | "InvalidEntries" | "TraversalUnavailable" | "Unsupported" | "PlatformFailure";
33
+ readonly _tag = "NavigationError";
34
+ constructor(reason: "InvalidUrl" | "InvalidState" | "InvalidEntries" | "TraversalUnavailable" | "Unsupported" | "PlatformFailure", message: string);
35
+ }
36
+ /** Completion is separate from commitment even for adapters that settle both immediately. */
37
+ export type NavigationTransition = {
38
+ readonly change: NavigationChange;
39
+ readonly committed: Effect.Effect<NavigationSnapshot, NavigationError>;
40
+ readonly finished: Effect.Effect<NavigationSnapshot, NavigationError>;
41
+ };
42
+ export type NavigationAdapter = {
43
+ readonly capabilities: {
44
+ readonly interception: boolean;
45
+ readonly precommit: boolean;
46
+ readonly entries: boolean;
47
+ readonly documentNavigation: boolean;
48
+ readonly nativeScroll: boolean;
49
+ };
50
+ readonly current: Effect.Effect<NavigationSnapshot>;
51
+ readonly entries: Effect.Effect<ReadonlyArray<NavigationSnapshot>>;
52
+ readonly navigate: (intent: NavigationIntent) => Effect.Effect<NavigationTransition, NavigationError>;
53
+ readonly traverse: (delta: number) => Effect.Effect<NavigationTransition, NavigationError>;
54
+ /** Whether `traverse(delta)` has an entry to go to: `null` when the adapter cannot tell (History API forward entries). */
55
+ readonly canTraverse: (delta: number) => Effect.Effect<boolean | null>;
56
+ readonly reload: () => Effect.Effect<NavigationTransition, NavigationError>;
57
+ /** Listener lifetime belongs to the caller's scope. Notifications describe committed changes. */
58
+ readonly subscribe: (listener: (change: NavigationChange) => void) => Effect.Effect<void, never, Scope.Scope>;
59
+ };
60
+ export declare const Navigation: Context.Service<NavigationAdapter, NavigationAdapter>;
61
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/runtime/navigation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import * as Context from "effect/Context";
2
+ export class NavigationError extends Error {
3
+ reason;
4
+ _tag = "NavigationError";
5
+ constructor(reason, message) {
6
+ super(message);
7
+ this.reason = reason;
8
+ }
9
+ }
10
+ export const Navigation = Context.Service("FuzorNavigation");
11
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/runtime/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AA+B1C,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAEnB;IADZ,IAAI,GAAG,iBAAiB,CAAC;IAClC,YAAqB,MAAqH,EAAE,OAAe;QACzJ,KAAK,CAAC,OAAO,CAAC,CAAC;QADI,WAAM,GAAN,MAAM,CAA+G;IAE1I,CAAC;CACF;AA2BD,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAoB,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,54 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Scope from "effect/Scope";
3
+ import { type NativeCheckpoint, type NativeCheckpointStore } from "./native.js";
4
+ export type PageScriptCleanup = () => void | Promise<void>;
5
+ export type PageScriptContext = {
6
+ readonly signal: AbortSignal;
7
+ readonly onCleanup: (cleanup: PageScriptCleanup) => void;
8
+ readonly nativeStore?: NativeCheckpointStore;
9
+ readonly route?: string;
10
+ readonly childHosts?: readonly HTMLElement[];
11
+ };
12
+ export type PageScriptModule = {
13
+ readonly mount: (host: HTMLElement, context: PageScriptContext) => void | Promise<void>;
14
+ };
15
+ export type RouteScriptBinding = {
16
+ readonly host: readonly number[];
17
+ readonly id?: string;
18
+ readonly tag?: string;
19
+ readonly key?: string;
20
+ readonly mount?: PageScriptModule["mount"];
21
+ readonly load?: () => Promise<PageScriptModule>;
22
+ };
23
+ export type RouteScriptModule = {
24
+ readonly bindings: readonly RouteScriptBinding[];
25
+ };
26
+ export type PageScriptRegistry = Record<string, () => Promise<RouteScriptModule>>;
27
+ export type PageScriptStatus = "pending" | "active" | "failed" | "disposed";
28
+ export type PageScriptOptions = {
29
+ readonly timeoutMs?: number;
30
+ readonly onError?: (error: PageScriptActivationError, host?: HTMLElement) => void;
31
+ readonly checkpoint?: NativeCheckpoint;
32
+ };
33
+ export type PageScriptController = {
34
+ status(host: HTMLElement): PageScriptStatus | undefined;
35
+ retry(host: HTMLElement): Promise<void>;
36
+ dehydrate(): NativeCheckpoint;
37
+ };
38
+ export declare class PageScriptActivationError extends Error {
39
+ readonly id: string;
40
+ readonly cause: unknown;
41
+ readonly _tag = "PageScriptActivationError";
42
+ constructor(id: string, cause: unknown);
43
+ }
44
+ /** Route entries hold DOM addresses; compiled HTML needs no script markers. */
45
+ export declare function mountPageScriptsEffect(root: ParentNode, registry: PageScriptRegistry, route?: string, options?: PageScriptOptions): Effect.Effect<{
46
+ status: (host: HTMLElement) => PageScriptStatus | undefined;
47
+ retry(host: HTMLElement): Promise<void>;
48
+ dehydrate: () => NativeCheckpoint;
49
+ }, PageScriptActivationError, Scope.Scope>;
50
+ export declare function mountPageScripts(root: ParentNode, registry: PageScriptRegistry, options?: PageScriptOptions & {
51
+ readonly signal?: AbortSignal;
52
+ readonly route?: string;
53
+ }): Promise<(() => Promise<void>) & PageScriptController>;
54
+ //# sourceMappingURL=page-scripts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-scripts.d.ts","sourceRoot":"","sources":["../../src/runtime/page-scripts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,207 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Exit from "effect/Exit";
3
+ import * as Scope from "effect/Scope";
4
+ import { createNativeCheckpointStore } from "./native.js";
5
+ export class PageScriptActivationError extends Error {
6
+ id;
7
+ cause;
8
+ _tag = "PageScriptActivationError";
9
+ constructor(id, cause) {
10
+ super(`Cannot activate page script ${id}: ${String(cause)}`);
11
+ this.id = id;
12
+ this.cause = cause;
13
+ }
14
+ }
15
+ const owners = new WeakMap();
16
+ /** Bound external work without letting a late completion revive a disposed instance. */
17
+ async function bounded(work, signal, timeoutMs) {
18
+ if (signal.aborted)
19
+ throw signal.reason ?? new Error("Page script disposed");
20
+ let timer;
21
+ let abort = () => { };
22
+ const stop = new Promise((_, reject) => {
23
+ abort = () => reject(signal.reason ?? new Error("Page script disposed"));
24
+ signal.addEventListener("abort", abort, { once: true });
25
+ timer = setTimeout(() => reject(new Error("Page script deadline exceeded")), timeoutMs);
26
+ });
27
+ try {
28
+ return await Promise.race([Promise.resolve().then(work), stop]);
29
+ }
30
+ finally {
31
+ clearTimeout(timer);
32
+ signal.removeEventListener("abort", abort);
33
+ }
34
+ }
35
+ /** Route entries hold DOM addresses; compiled HTML needs no script markers. */
36
+ export function mountPageScriptsEffect(root, registry, route = "/", options = {}) {
37
+ return Effect.gen(function* () {
38
+ const timeout = options.timeoutMs ?? 10_000;
39
+ if (!Number.isFinite(timeout) || timeout <= 0)
40
+ throw new Error("Page script timeout must be positive");
41
+ const load = registry[route];
42
+ const nativeStore = createNativeCheckpointStore(options.checkpoint);
43
+ if (!load)
44
+ return { status: () => undefined, retry: async () => { }, dehydrate: nativeStore.dehydrate };
45
+ const module = yield* Effect.tryPromise({ try: signal => bounded(load, signal, timeout), catch: error => new PageScriptActivationError(route, error) });
46
+ const token = {};
47
+ const groups = new Map();
48
+ // Resolve every host before any initializer can change DOM positions.
49
+ for (const binding of module.bindings) {
50
+ let host = root;
51
+ for (const index of binding.host)
52
+ host = host?.children[index];
53
+ if (!host || !("tagName" in host))
54
+ throw new PageScriptActivationError(route, "Compiled script host is missing");
55
+ const element = host;
56
+ if (binding.tag && element.localName !== binding.tag || binding.key && (element.getAttribute("data-fuzor-key") ?? element.id) !== binding.key)
57
+ throw new PageScriptActivationError(binding.id ?? route, "Compiled script host is incompatible with its descriptor");
58
+ if (owners.has(element))
59
+ throw new PageScriptActivationError(binding.id ?? route, "Compiled script host already has an owner");
60
+ const group = groups.get(element) ?? { bindings: [], status: "pending" };
61
+ group.bindings.push(binding);
62
+ groups.set(element, group);
63
+ }
64
+ for (const [host, group] of groups) {
65
+ const parents = [...groups.keys()].filter(parent => parent !== host && parent.contains(host));
66
+ const parent = parents.find(parent => !parents.some(other => other !== parent && parent.contains(other)));
67
+ if (parent)
68
+ group.parent = parent;
69
+ }
70
+ let disposed = false;
71
+ const report = (error, host, id = route) => {
72
+ try {
73
+ (options.onError ?? console.error)(new PageScriptActivationError(id, error), host);
74
+ }
75
+ catch (reportError) {
76
+ console.error(reportError);
77
+ }
78
+ };
79
+ for (const host of groups.keys())
80
+ owners.set(host, token);
81
+ const activate = (host) => {
82
+ const group = groups.get(host);
83
+ if (!group || disposed || group.status === "active" || group.status === "disposed")
84
+ return Promise.resolve();
85
+ if (group.pending)
86
+ return group.pending;
87
+ const lifetime = new AbortController();
88
+ const cleanups = [];
89
+ let stopped = false;
90
+ let stopping;
91
+ const cleanup = async (callback) => {
92
+ try {
93
+ await bounded(callback, new AbortController().signal, timeout);
94
+ }
95
+ catch (error) {
96
+ report(error, host);
97
+ }
98
+ };
99
+ const stop = () => stopping ??= (async () => {
100
+ stopped = true;
101
+ lifetime.abort();
102
+ for (const callback of cleanups.reverse())
103
+ await cleanup(callback);
104
+ cleanups.length = 0;
105
+ })();
106
+ group.stop = stop;
107
+ group.status = "pending";
108
+ const context = { signal: lifetime.signal, nativeStore, route, childHosts: [...groups.keys()].filter(child => child !== host && host.contains(child)), onCleanup(callback) {
109
+ if (stopped)
110
+ void cleanup(callback);
111
+ else
112
+ cleanups.push(callback);
113
+ } };
114
+ group.pending = (async () => {
115
+ try {
116
+ if (group.parent) {
117
+ await activate(group.parent);
118
+ if (groups.get(group.parent)?.status !== "active") {
119
+ group.blocked = true;
120
+ throw new Error("Parent native instance failed to activate");
121
+ }
122
+ }
123
+ delete group.blocked;
124
+ for (const binding of group.bindings) {
125
+ const script = binding.load ? await bounded(binding.load, lifetime.signal, timeout) : binding;
126
+ if (!root.contains(host) && root !== host) {
127
+ await stop();
128
+ group.status = "disposed";
129
+ if (owners.get(host) === token)
130
+ owners.delete(host);
131
+ return;
132
+ }
133
+ if (!script.mount)
134
+ throw new Error("Page script module needs a mount function");
135
+ await bounded(() => script.mount(host, context), lifetime.signal, timeout);
136
+ }
137
+ if (!stopped && !disposed)
138
+ group.status = "active";
139
+ }
140
+ catch (error) {
141
+ const canceled = stopped || disposed;
142
+ await stop();
143
+ if (!disposed)
144
+ group.status = canceled ? "disposed" : "failed";
145
+ if (!canceled)
146
+ report(error, host, group.bindings.map(binding => binding.id ?? route).join(","));
147
+ }
148
+ })().finally(() => { delete group.pending; });
149
+ return group.pending;
150
+ };
151
+ const window = root.ownerDocument?.defaultView ?? root.defaultView;
152
+ const observer = window?.MutationObserver ? new window.MutationObserver(() => {
153
+ for (const [host, group] of groups)
154
+ if (!root.contains(host) && root !== host) {
155
+ group.status = "disposed";
156
+ void group.stop?.().finally(() => { if (owners.get(host) === token)
157
+ owners.delete(host); });
158
+ }
159
+ }) : undefined;
160
+ observer?.observe(root, { childList: true, subtree: true });
161
+ yield* Effect.addFinalizer(() => Effect.promise(async () => {
162
+ disposed = true;
163
+ observer?.disconnect();
164
+ await Promise.all([...groups].map(async ([host, group]) => {
165
+ group.status = "disposed";
166
+ await group.stop?.();
167
+ if (owners.get(host) === token)
168
+ owners.delete(host);
169
+ }));
170
+ }));
171
+ // Start independent hosts together; consecutive scripts on one host retain order.
172
+ yield* Effect.tryPromise({ try: async (signal) => {
173
+ const stop = () => { disposed = true; for (const group of groups.values())
174
+ void group.stop?.(); };
175
+ signal.addEventListener("abort", stop, { once: true });
176
+ try {
177
+ await Promise.all([...groups.keys()].map(activate));
178
+ }
179
+ finally {
180
+ signal.removeEventListener("abort", stop);
181
+ }
182
+ }, catch: error => new PageScriptActivationError(route, error) });
183
+ return { status: host => groups.get(host)?.status, async retry(host) {
184
+ await activate(host);
185
+ if (groups.get(host)?.status === "active")
186
+ await Promise.all([...groups].filter(([child, group]) => host.contains(child) && group.blocked).map(([child]) => activate(child)));
187
+ }, dehydrate: nativeStore.dehydrate };
188
+ });
189
+ }
190
+ export async function mountPageScripts(root, registry, options = {}) {
191
+ const scope = await Effect.runPromise(Scope.make());
192
+ let controller;
193
+ try {
194
+ controller = await Effect.runPromise(mountPageScriptsEffect(root, registry, options.route, options).pipe(Effect.provideService(Scope.Scope, scope)), options);
195
+ }
196
+ catch (error) {
197
+ await Effect.runPromise(Scope.close(scope, Exit.void));
198
+ throw error;
199
+ }
200
+ const stop = () => { options.signal?.removeEventListener("abort", abort); return Effect.runPromise(Scope.close(scope, Exit.void)); };
201
+ const abort = () => { void stop().catch(console.error); };
202
+ options.signal?.addEventListener("abort", abort, { once: true });
203
+ if (options.signal?.aborted)
204
+ await stop();
205
+ return Object.assign(stop, controller);
206
+ }
207
+ //# sourceMappingURL=page-scripts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-scripts.js","sourceRoot":"","sources":["../../src/runtime/page-scripts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /** Explicit hierarchy of absolute, app-relative SPA patterns. Handles are application-owned metadata. */
2
+ export type RouteDefinition = {
3
+ readonly id: string;
4
+ readonly path: string;
5
+ readonly handle?: unknown;
6
+ readonly children?: readonly RouteDefinition[];
7
+ };
8
+ export type ActiveRouteMatch = {
9
+ readonly id: string;
10
+ readonly pathname: string;
11
+ readonly pattern: string;
12
+ readonly params: Readonly<Record<string, string>>;
13
+ readonly handle: unknown;
14
+ };
15
+ /** Match a declared hierarchy; no ancestry is inferred from page filenames or URL segment labels. */
16
+ export declare function makeRouteMatches(tree?: readonly RouteDefinition[]): (pathname: string) => readonly ActiveRouteMatch[];
17
+ //# sourceMappingURL=route-matches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-matches.d.ts","sourceRoot":"","sources":["../../src/runtime/route-matches.ts"],"names":[],"mappings":"AAGA,yGAAyG;AACzG,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CAChD,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,qGAAqG;AACrG,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,SAAS,eAAe,EAAO,IAwB5D,UAAU,MAAM,KAAG,SAAS,gBAAgB,EAAE,CAcvD"}
@@ -0,0 +1,50 @@
1
+ import { makeClientRouteMatcher } from "./client-routes.js";
2
+ import { routeKey } from "../route-path.js";
3
+ /** Match a declared hierarchy; no ancestry is inferred from page filenames or URL segment labels. */
4
+ export function makeRouteMatches(tree = []) {
5
+ const ids = new Set();
6
+ const patterns = new Set();
7
+ const entries = [];
8
+ const visit = (nodes, chain) => {
9
+ for (const source of nodes) {
10
+ const definition = { ...source };
11
+ if (patterns.has(definition.path))
12
+ throw new Error(`Duplicate route pattern: ${definition.path}`);
13
+ patterns.add(definition.path);
14
+ if (!definition.id || ids.has(definition.id))
15
+ throw new Error(`Duplicate or empty route id: ${definition.id}`);
16
+ ids.add(definition.id);
17
+ const parent = chain.at(-1);
18
+ const parentPath = parent?.path.replace(/\/+$/, "");
19
+ if (parentPath && !definition.path.startsWith(`${parentPath}/`))
20
+ throw new Error(`Route ${definition.id} must extend its parent pattern.`);
21
+ if (parent?.path.includes("*"))
22
+ throw new Error("A catch-all route cannot have children.");
23
+ const next = [...chain, definition];
24
+ entries.push({ definition, chain: next });
25
+ if (entries.length > 256)
26
+ throw new Error("At most 256 route definitions are supported.");
27
+ visit(definition.children ?? [], next);
28
+ }
29
+ };
30
+ visit(tree, []);
31
+ const matcher = makeClientRouteMatcher(Object.fromEntries(entries.map(({ definition }, index) => [definition.path, `/${index}/`])));
32
+ const matchers = new Map(entries.map(({ definition }) => [definition.id, makeClientRouteMatcher({ [definition.path]: "/" })]));
33
+ return (pathname) => {
34
+ const key = routeKey(pathname);
35
+ if (!key)
36
+ return Object.freeze([]);
37
+ const selected = matcher(key);
38
+ if (!selected)
39
+ return Object.freeze([]);
40
+ const entry = entries[Number(selected.template.slice(1, -1))];
41
+ const parts = key.split("/").filter(Boolean);
42
+ return Object.freeze(entry.chain.map(definition => {
43
+ const count = definition.path.includes("*") ? parts.length : definition.path.split("/").filter(Boolean).length;
44
+ const pathname = `/${parts.slice(0, count).join("/")}${count ? "/" : ""}`;
45
+ const matched = matchers.get(definition.id)(pathname);
46
+ return Object.freeze({ id: definition.id, pathname, pattern: definition.path, params: matched.params, handle: definition.handle });
47
+ }));
48
+ };
49
+ }
50
+ //# sourceMappingURL=route-matches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-matches.js","sourceRoot":"","sources":["../../src/runtime/route-matches.ts"],"names":[],"mappings":"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"}