@fusion.dev/helix-headless 0.0.0-dev

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 (424) hide show
  1. package/LICENSE +21 -0
  2. package/custom-elements.json +75202 -0
  3. package/dist/accordion/index.d.ts +2 -0
  4. package/dist/accordion/index.js +2 -0
  5. package/dist/accordion/item/accordion-item.d.ts +141 -0
  6. package/dist/accordion/item/accordion-item.js +214 -0
  7. package/dist/accordion/root/accordion-root.d.ts +57 -0
  8. package/dist/accordion/root/accordion-root.js +96 -0
  9. package/dist/announcement/index.d.ts +1 -0
  10. package/dist/announcement/index.js +1 -0
  11. package/dist/announcement/root/announcement-root.d.ts +106 -0
  12. package/dist/announcement/root/announcement-root.js +144 -0
  13. package/dist/app-header/index.d.ts +1 -0
  14. package/dist/app-header/index.js +1 -0
  15. package/dist/app-header/root/app-header-root.d.ts +113 -0
  16. package/dist/app-header/root/app-header-root.js +147 -0
  17. package/dist/avatar/group/avatar-group.d.ts +116 -0
  18. package/dist/avatar/group/avatar-group.js +136 -0
  19. package/dist/avatar/index.d.ts +2 -0
  20. package/dist/avatar/index.js +2 -0
  21. package/dist/avatar/root/avatar-root.d.ts +71 -0
  22. package/dist/avatar/root/avatar-root.js +147 -0
  23. package/dist/badge/index.d.ts +1 -0
  24. package/dist/badge/index.js +1 -0
  25. package/dist/badge/root/badge-root.d.ts +61 -0
  26. package/dist/badge/root/badge-root.js +121 -0
  27. package/dist/bar-chart/index.d.ts +1 -0
  28. package/dist/bar-chart/index.js +1 -0
  29. package/dist/bar-chart/root/bar-chart-root.d.ts +266 -0
  30. package/dist/bar-chart/root/bar-chart-root.js +515 -0
  31. package/dist/blockquote/index.d.ts +1 -0
  32. package/dist/blockquote/index.js +1 -0
  33. package/dist/blockquote/root/blockquote-root.d.ts +51 -0
  34. package/dist/blockquote/root/blockquote-root.js +84 -0
  35. package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +104 -0
  36. package/dist/breadcrumbs/breadcrumb/breadcrumb.js +137 -0
  37. package/dist/breadcrumbs/index.d.ts +2 -0
  38. package/dist/breadcrumbs/index.js +2 -0
  39. package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +77 -0
  40. package/dist/breadcrumbs/root/breadcrumbs-root.js +94 -0
  41. package/dist/button/index.d.ts +1 -0
  42. package/dist/button/index.js +1 -0
  43. package/dist/button/root/button-root.d.ts +251 -0
  44. package/dist/button/root/button-root.js +401 -0
  45. package/dist/button-group/index.d.ts +1 -0
  46. package/dist/button-group/index.js +1 -0
  47. package/dist/button-group/root/button-group-root.d.ts +62 -0
  48. package/dist/button-group/root/button-group-root.js +62 -0
  49. package/dist/callout/index.d.ts +1 -0
  50. package/dist/callout/index.js +1 -0
  51. package/dist/callout/root/callout-root.d.ts +72 -0
  52. package/dist/callout/root/callout-root.js +90 -0
  53. package/dist/card/index.d.ts +1 -0
  54. package/dist/card/index.js +1 -0
  55. package/dist/card/root/card-root.d.ts +54 -0
  56. package/dist/card/root/card-root.js +71 -0
  57. package/dist/carousel/index.d.ts +1 -0
  58. package/dist/carousel/index.js +1 -0
  59. package/dist/carousel/root/carousel-root.d.ts +399 -0
  60. package/dist/carousel/root/carousel-root.js +723 -0
  61. package/dist/chat/composer/chat-composer.d.ts +160 -0
  62. package/dist/chat/composer/chat-composer.js +273 -0
  63. package/dist/chat/index.d.ts +3 -0
  64. package/dist/chat/index.js +3 -0
  65. package/dist/chat/message/chat-message.d.ts +170 -0
  66. package/dist/chat/message/chat-message.js +271 -0
  67. package/dist/chat/root/chat-root.d.ts +216 -0
  68. package/dist/chat/root/chat-root.js +389 -0
  69. package/dist/checkbox/index.d.ts +1 -0
  70. package/dist/checkbox/index.js +1 -0
  71. package/dist/checkbox/root/checkbox-root.d.ts +108 -0
  72. package/dist/checkbox/root/checkbox-root.js +207 -0
  73. package/dist/checkbox-group/index.d.ts +1 -0
  74. package/dist/checkbox-group/index.js +1 -0
  75. package/dist/checkbox-group/root/checkbox-group-root.d.ts +155 -0
  76. package/dist/checkbox-group/root/checkbox-group-root.js +293 -0
  77. package/dist/code/index.d.ts +1 -0
  78. package/dist/code/index.js +1 -0
  79. package/dist/code/root/code-root.d.ts +36 -0
  80. package/dist/code/root/code-root.js +43 -0
  81. package/dist/code-block/index.d.ts +1 -0
  82. package/dist/code-block/index.js +1 -0
  83. package/dist/code-block/root/code-block-root.d.ts +112 -0
  84. package/dist/code-block/root/code-block-root.js +155 -0
  85. package/dist/color-input/index.d.ts +1 -0
  86. package/dist/color-input/index.js +1 -0
  87. package/dist/color-input/root/color-input-root.d.ts +227 -0
  88. package/dist/color-input/root/color-input-root.js +456 -0
  89. package/dist/color-picker/color.d.ts +74 -0
  90. package/dist/color-picker/color.js +238 -0
  91. package/dist/color-picker/index.d.ts +2 -0
  92. package/dist/color-picker/index.js +2 -0
  93. package/dist/color-picker/root/color-picker-root.d.ts +303 -0
  94. package/dist/color-picker/root/color-picker-root.js +576 -0
  95. package/dist/combobox/index.d.ts +1 -0
  96. package/dist/combobox/index.js +1 -0
  97. package/dist/combobox/root/combobox-root.d.ts +396 -0
  98. package/dist/combobox/root/combobox-root.js +808 -0
  99. package/dist/command/index.d.ts +1 -0
  100. package/dist/command/index.js +1 -0
  101. package/dist/command/root/command-root.d.ts +166 -0
  102. package/dist/command/root/command-root.js +353 -0
  103. package/dist/copy-button/index.d.ts +1 -0
  104. package/dist/copy-button/index.js +1 -0
  105. package/dist/copy-button/root/copy-button-root.d.ts +154 -0
  106. package/dist/copy-button/root/copy-button-root.js +225 -0
  107. package/dist/data-table/index.d.ts +2 -0
  108. package/dist/data-table/index.js +2 -0
  109. package/dist/data-table/root/data-table-root.d.ts +392 -0
  110. package/dist/data-table/root/data-table-root.js +729 -0
  111. package/dist/data-table/root/order.d.ts +116 -0
  112. package/dist/data-table/root/order.js +175 -0
  113. package/dist/date-input/index.d.ts +1 -0
  114. package/dist/date-input/index.js +1 -0
  115. package/dist/date-input/root/date-input-root.d.ts +361 -0
  116. package/dist/date-input/root/date-input-root.js +791 -0
  117. package/dist/date-picker/index.d.ts +1 -0
  118. package/dist/date-picker/index.js +1 -0
  119. package/dist/date-picker/root/date-picker-root.d.ts +361 -0
  120. package/dist/date-picker/root/date-picker-root.js +837 -0
  121. package/dist/dialog/index.d.ts +1 -0
  122. package/dist/dialog/index.js +1 -0
  123. package/dist/dialog/root/dialog-root.d.ts +185 -0
  124. package/dist/dialog/root/dialog-root.js +319 -0
  125. package/dist/divider/index.d.ts +1 -0
  126. package/dist/divider/index.js +1 -0
  127. package/dist/divider/root/divider-root.d.ts +68 -0
  128. package/dist/divider/root/divider-root.js +116 -0
  129. package/dist/donut-chart/index.d.ts +1 -0
  130. package/dist/donut-chart/index.js +1 -0
  131. package/dist/donut-chart/root/donut-chart-root.d.ts +209 -0
  132. package/dist/donut-chart/root/donut-chart-root.js +395 -0
  133. package/dist/drawer/index.d.ts +1 -0
  134. package/dist/drawer/index.js +1 -0
  135. package/dist/drawer/root/drawer-root.d.ts +144 -0
  136. package/dist/drawer/root/drawer-root.js +222 -0
  137. package/dist/drilldown/index.d.ts +2 -0
  138. package/dist/drilldown/index.js +2 -0
  139. package/dist/drilldown/item/drilldown-item.d.ts +87 -0
  140. package/dist/drilldown/item/drilldown-item.js +152 -0
  141. package/dist/drilldown/root/drilldown-root.d.ts +115 -0
  142. package/dist/drilldown/root/drilldown-root.js +263 -0
  143. package/dist/element-events.generated.d.ts +1 -0
  144. package/dist/element-events.generated.js +125 -0
  145. package/dist/empty/index.d.ts +1 -0
  146. package/dist/empty/index.js +1 -0
  147. package/dist/empty/root/empty-root.d.ts +47 -0
  148. package/dist/empty/root/empty-root.js +68 -0
  149. package/dist/file-input/index.d.ts +1 -0
  150. package/dist/file-input/index.js +1 -0
  151. package/dist/file-input/root/file-input-root.d.ts +196 -0
  152. package/dist/file-input/root/file-input-root.js +488 -0
  153. package/dist/format-date/index.d.ts +1 -0
  154. package/dist/format-date/index.js +1 -0
  155. package/dist/format-date/root/format-date-root.d.ts +151 -0
  156. package/dist/format-date/root/format-date-root.js +266 -0
  157. package/dist/heatmap/index.d.ts +2 -0
  158. package/dist/heatmap/index.js +2 -0
  159. package/dist/heatmap/root/buckets.d.ts +62 -0
  160. package/dist/heatmap/root/buckets.js +85 -0
  161. package/dist/heatmap/root/heatmap-root.d.ts +330 -0
  162. package/dist/heatmap/root/heatmap-root.js +526 -0
  163. package/dist/icon/index.d.ts +1 -0
  164. package/dist/icon/index.js +1 -0
  165. package/dist/icon/root/icon-root.d.ts +53 -0
  166. package/dist/icon/root/icon-root.js +93 -0
  167. package/dist/icon-button/index.d.ts +1 -0
  168. package/dist/icon-button/index.js +1 -0
  169. package/dist/icon-button/root/icon-button-root.d.ts +40 -0
  170. package/dist/icon-button/root/icon-button-root.js +46 -0
  171. package/dist/image/index.d.ts +1 -0
  172. package/dist/image/index.js +1 -0
  173. package/dist/image/root/image-root.d.ts +213 -0
  174. package/dist/image/root/image-root.js +335 -0
  175. package/dist/index.d.ts +99 -0
  176. package/dist/index.js +99 -0
  177. package/dist/input/index.d.ts +1 -0
  178. package/dist/input/index.js +1 -0
  179. package/dist/input/root/input-root.d.ts +281 -0
  180. package/dist/input/root/input-root.js +472 -0
  181. package/dist/kbd/index.d.ts +1 -0
  182. package/dist/kbd/index.js +1 -0
  183. package/dist/kbd/root/kbd-root.d.ts +98 -0
  184. package/dist/kbd/root/kbd-root.js +230 -0
  185. package/dist/legend/index.d.ts +1 -0
  186. package/dist/legend/index.js +1 -0
  187. package/dist/legend/root/legend-root.d.ts +83 -0
  188. package/dist/legend/root/legend-root.js +125 -0
  189. package/dist/line-chart/index.d.ts +1 -0
  190. package/dist/line-chart/index.js +1 -0
  191. package/dist/line-chart/root/line-chart-root.d.ts +238 -0
  192. package/dist/line-chart/root/line-chart-root.js +365 -0
  193. package/dist/list/index.d.ts +2 -0
  194. package/dist/list/index.js +2 -0
  195. package/dist/list/item/list-item.d.ts +95 -0
  196. package/dist/list/item/list-item.js +148 -0
  197. package/dist/list/root/list-root.d.ts +72 -0
  198. package/dist/list/root/list-root.js +61 -0
  199. package/dist/listbox/index.d.ts +1 -0
  200. package/dist/listbox/index.js +1 -0
  201. package/dist/listbox/root/listbox-root.d.ts +357 -0
  202. package/dist/listbox/root/listbox-root.js +890 -0
  203. package/dist/loader/index.d.ts +1 -0
  204. package/dist/loader/index.js +1 -0
  205. package/dist/loader/root/loader-root.d.ts +52 -0
  206. package/dist/loader/root/loader-root.js +74 -0
  207. package/dist/megamenu/index.d.ts +1 -0
  208. package/dist/megamenu/index.js +1 -0
  209. package/dist/megamenu/root/megamenu-root.d.ts +254 -0
  210. package/dist/megamenu/root/megamenu-root.js +526 -0
  211. package/dist/menu/index.d.ts +2 -0
  212. package/dist/menu/index.js +2 -0
  213. package/dist/menu/item/menu-item.d.ts +231 -0
  214. package/dist/menu/item/menu-item.js +405 -0
  215. package/dist/menu/root/menu-root.d.ts +158 -0
  216. package/dist/menu/root/menu-root.js +422 -0
  217. package/dist/meter/index.d.ts +1 -0
  218. package/dist/meter/index.js +1 -0
  219. package/dist/meter/root/meter-root.d.ts +234 -0
  220. package/dist/meter/root/meter-root.js +316 -0
  221. package/dist/navigation/index.d.ts +1 -0
  222. package/dist/navigation/index.js +1 -0
  223. package/dist/navigation/root/navigation-root.d.ts +55 -0
  224. package/dist/navigation/root/navigation-root.js +130 -0
  225. package/dist/notifications/index.d.ts +2 -0
  226. package/dist/notifications/index.js +2 -0
  227. package/dist/notifications/notification/notification.d.ts +181 -0
  228. package/dist/notifications/notification/notification.js +305 -0
  229. package/dist/notifications/root/notifications-root.d.ts +168 -0
  230. package/dist/notifications/root/notifications-root.js +291 -0
  231. package/dist/number-input/index.d.ts +1 -0
  232. package/dist/number-input/index.js +1 -0
  233. package/dist/number-input/root/number-input-root.d.ts +282 -0
  234. package/dist/number-input/root/number-input-root.js +592 -0
  235. package/dist/option/group/option-group.d.ts +38 -0
  236. package/dist/option/group/option-group.js +58 -0
  237. package/dist/option/index.d.ts +2 -0
  238. package/dist/option/index.js +2 -0
  239. package/dist/option/root/option-root.d.ts +194 -0
  240. package/dist/option/root/option-root.js +247 -0
  241. package/dist/outline/index.d.ts +1 -0
  242. package/dist/outline/index.js +1 -0
  243. package/dist/outline/root/outline-root.d.ts +237 -0
  244. package/dist/outline/root/outline-root.js +519 -0
  245. package/dist/pagination/index.d.ts +3 -0
  246. package/dist/pagination/index.js +3 -0
  247. package/dist/pagination/root/pagination-root.d.ts +390 -0
  248. package/dist/pagination/root/pagination-root.js +695 -0
  249. package/dist/pagination/size/pagination-size.d.ts +127 -0
  250. package/dist/pagination/size/pagination-size.js +232 -0
  251. package/dist/pagination/summary/pagination-summary.d.ts +90 -0
  252. package/dist/pagination/summary/pagination-summary.js +145 -0
  253. package/dist/pin-input/index.d.ts +1 -0
  254. package/dist/pin-input/index.js +1 -0
  255. package/dist/pin-input/root/pin-input-root.d.ts +292 -0
  256. package/dist/pin-input/root/pin-input-root.js +553 -0
  257. package/dist/popover/index.d.ts +1 -0
  258. package/dist/popover/index.js +1 -0
  259. package/dist/popover/root/popover-root.d.ts +108 -0
  260. package/dist/popover/root/popover-root.js +231 -0
  261. package/dist/progress/index.d.ts +1 -0
  262. package/dist/progress/index.js +1 -0
  263. package/dist/progress/root/progress-root.d.ts +125 -0
  264. package/dist/progress/root/progress-root.js +212 -0
  265. package/dist/qr-code/index.d.ts +1 -0
  266. package/dist/qr-code/index.js +1 -0
  267. package/dist/qr-code/root/qr-code-root.d.ts +93 -0
  268. package/dist/qr-code/root/qr-code-root.js +233 -0
  269. package/dist/quote/index.d.ts +1 -0
  270. package/dist/quote/index.js +1 -0
  271. package/dist/quote/root/quote-root.d.ts +36 -0
  272. package/dist/quote/root/quote-root.js +50 -0
  273. package/dist/radio/group/radio-group.d.ts +84 -0
  274. package/dist/radio/group/radio-group.js +170 -0
  275. package/dist/radio/index.d.ts +2 -0
  276. package/dist/radio/index.js +2 -0
  277. package/dist/radio/root/radio-root.d.ts +102 -0
  278. package/dist/radio/root/radio-root.js +151 -0
  279. package/dist/rating/index.d.ts +1 -0
  280. package/dist/rating/index.js +1 -0
  281. package/dist/rating/root/rating-root.d.ts +242 -0
  282. package/dist/rating/root/rating-root.js +484 -0
  283. package/dist/scroll-area/index.d.ts +1 -0
  284. package/dist/scroll-area/index.js +1 -0
  285. package/dist/scroll-area/root/scroll-area-root.d.ts +96 -0
  286. package/dist/scroll-area/root/scroll-area-root.js +215 -0
  287. package/dist/select/index.d.ts +1 -0
  288. package/dist/select/index.js +1 -0
  289. package/dist/select/root/select-root.d.ts +170 -0
  290. package/dist/select/root/select-root.js +419 -0
  291. package/dist/skeleton/index.d.ts +1 -0
  292. package/dist/skeleton/index.js +1 -0
  293. package/dist/skeleton/root/skeleton-root.d.ts +31 -0
  294. package/dist/skeleton/root/skeleton-root.js +42 -0
  295. package/dist/slider/index.d.ts +1 -0
  296. package/dist/slider/index.js +1 -0
  297. package/dist/slider/root/slider-root.d.ts +235 -0
  298. package/dist/slider/root/slider-root.js +488 -0
  299. package/dist/sparkline/index.d.ts +1 -0
  300. package/dist/sparkline/index.js +1 -0
  301. package/dist/sparkline/root/sparkline-root.d.ts +147 -0
  302. package/dist/sparkline/root/sparkline-root.js +278 -0
  303. package/dist/speed-dial/index.d.ts +2 -0
  304. package/dist/speed-dial/index.js +2 -0
  305. package/dist/speed-dial/item/speed-dial-item.d.ts +71 -0
  306. package/dist/speed-dial/item/speed-dial-item.js +113 -0
  307. package/dist/speed-dial/root/speed-dial-root.d.ts +122 -0
  308. package/dist/speed-dial/root/speed-dial-root.js +251 -0
  309. package/dist/splitter/index.d.ts +1 -0
  310. package/dist/splitter/index.js +1 -0
  311. package/dist/splitter/root/splitter-root.d.ts +491 -0
  312. package/dist/splitter/root/splitter-root.js +1030 -0
  313. package/dist/stat/group/stat-group.d.ts +30 -0
  314. package/dist/stat/group/stat-group.js +47 -0
  315. package/dist/stat/index.d.ts +2 -0
  316. package/dist/stat/index.js +2 -0
  317. package/dist/stat/root/stat-root.d.ts +62 -0
  318. package/dist/stat/root/stat-root.js +51 -0
  319. package/dist/steps/index.d.ts +2 -0
  320. package/dist/steps/index.js +2 -0
  321. package/dist/steps/root/steps-root.d.ts +110 -0
  322. package/dist/steps/root/steps-root.js +130 -0
  323. package/dist/steps/step/step.d.ts +139 -0
  324. package/dist/steps/step/step.js +215 -0
  325. package/dist/switch/index.d.ts +1 -0
  326. package/dist/switch/index.js +1 -0
  327. package/dist/switch/root/switch-root.d.ts +74 -0
  328. package/dist/switch/root/switch-root.js +153 -0
  329. package/dist/table/cell/table-cell.d.ts +34 -0
  330. package/dist/table/cell/table-cell.js +52 -0
  331. package/dist/table/column/table-column.d.ts +165 -0
  332. package/dist/table/column/table-column.js +222 -0
  333. package/dist/table/index.d.ts +4 -0
  334. package/dist/table/index.js +4 -0
  335. package/dist/table/root/table-root.d.ts +98 -0
  336. package/dist/table/root/table-root.js +161 -0
  337. package/dist/table/row/table-row.d.ts +27 -0
  338. package/dist/table/row/table-row.js +42 -0
  339. package/dist/tabs/index.d.ts +3 -0
  340. package/dist/tabs/index.js +3 -0
  341. package/dist/tabs/panel/tab-panel.d.ts +67 -0
  342. package/dist/tabs/panel/tab-panel.js +98 -0
  343. package/dist/tabs/root/tabs-root.d.ts +123 -0
  344. package/dist/tabs/root/tabs-root.js +217 -0
  345. package/dist/tabs/tab/tab.d.ts +64 -0
  346. package/dist/tabs/tab/tab.js +116 -0
  347. package/dist/tag/index.d.ts +1 -0
  348. package/dist/tag/index.js +1 -0
  349. package/dist/tag/root/tag-root.d.ts +41 -0
  350. package/dist/tag/root/tag-root.js +67 -0
  351. package/dist/textarea/index.d.ts +1 -0
  352. package/dist/textarea/index.js +1 -0
  353. package/dist/textarea/root/textarea-root.d.ts +215 -0
  354. package/dist/textarea/root/textarea-root.js +380 -0
  355. package/dist/time-input/index.d.ts +1 -0
  356. package/dist/time-input/index.js +1 -0
  357. package/dist/time-input/root/time-input-root.d.ts +322 -0
  358. package/dist/time-input/root/time-input-root.js +661 -0
  359. package/dist/time-picker/index.d.ts +1 -0
  360. package/dist/time-picker/index.js +1 -0
  361. package/dist/time-picker/root/time-picker-root.d.ts +380 -0
  362. package/dist/time-picker/root/time-picker-root.js +669 -0
  363. package/dist/timeline/index.d.ts +2 -0
  364. package/dist/timeline/index.js +2 -0
  365. package/dist/timeline/item/timeline-item.d.ts +81 -0
  366. package/dist/timeline/item/timeline-item.js +128 -0
  367. package/dist/timeline/root/timeline-root.d.ts +52 -0
  368. package/dist/timeline/root/timeline-root.js +72 -0
  369. package/dist/toast/index.d.ts +2 -0
  370. package/dist/toast/index.js +2 -0
  371. package/dist/toast/item/toast-item.d.ts +183 -0
  372. package/dist/toast/item/toast-item.js +345 -0
  373. package/dist/toast/root/toast-root.d.ts +72 -0
  374. package/dist/toast/root/toast-root.js +87 -0
  375. package/dist/toggle/group/toggle-group.d.ts +140 -0
  376. package/dist/toggle/group/toggle-group.js +278 -0
  377. package/dist/toggle/index.d.ts +2 -0
  378. package/dist/toggle/index.js +2 -0
  379. package/dist/toggle/root/toggle-root.d.ts +99 -0
  380. package/dist/toggle/root/toggle-root.js +146 -0
  381. package/dist/toolbar/index.d.ts +1 -0
  382. package/dist/toolbar/index.js +1 -0
  383. package/dist/toolbar/root/toolbar-root.d.ts +105 -0
  384. package/dist/toolbar/root/toolbar-root.js +260 -0
  385. package/dist/tooltip/index.d.ts +1 -0
  386. package/dist/tooltip/index.js +1 -0
  387. package/dist/tooltip/root/tooltip-root.d.ts +388 -0
  388. package/dist/tooltip/root/tooltip-root.js +707 -0
  389. package/dist/tour/index.d.ts +2 -0
  390. package/dist/tour/index.js +2 -0
  391. package/dist/tour/root/tour-root.d.ts +161 -0
  392. package/dist/tour/root/tour-root.js +351 -0
  393. package/dist/tour/stop/tour-stop.d.ts +131 -0
  394. package/dist/tour/stop/tour-stop.js +249 -0
  395. package/dist/tree/index.d.ts +2 -0
  396. package/dist/tree/index.js +2 -0
  397. package/dist/tree/item/tree-item.d.ts +208 -0
  398. package/dist/tree/item/tree-item.js +381 -0
  399. package/dist/tree/root/tree-root.d.ts +88 -0
  400. package/dist/tree/root/tree-root.js +287 -0
  401. package/dist/trend/index.d.ts +1 -0
  402. package/dist/trend/index.js +1 -0
  403. package/dist/trend/root/trend-root.d.ts +67 -0
  404. package/dist/trend/root/trend-root.js +106 -0
  405. package/dist/video/index.d.ts +1 -0
  406. package/dist/video/index.js +1 -0
  407. package/dist/video/root/video-root.d.ts +711 -0
  408. package/dist/video/root/video-root.js +1821 -0
  409. package/dist/video-playlist/index.d.ts +3 -0
  410. package/dist/video-playlist/index.js +3 -0
  411. package/dist/video-playlist/item/video-playlist-item.d.ts +101 -0
  412. package/dist/video-playlist/item/video-playlist-item.js +162 -0
  413. package/dist/video-playlist/menu/video-playlist-menu.d.ts +121 -0
  414. package/dist/video-playlist/menu/video-playlist-menu.js +237 -0
  415. package/dist/video-playlist/root/video-playlist-root.d.ts +108 -0
  416. package/dist/video-playlist/root/video-playlist-root.js +218 -0
  417. package/dist/virtual-list/index.d.ts +1 -0
  418. package/dist/virtual-list/index.js +1 -0
  419. package/dist/virtual-list/root/virtual-list-root.d.ts +121 -0
  420. package/dist/virtual-list/root/virtual-list-root.js +221 -0
  421. package/jsx.d.ts +49767 -0
  422. package/package.json +77 -0
  423. package/svelte.d.ts +129 -0
  424. package/vue.d.ts +9242 -0
@@ -0,0 +1,104 @@
1
+ import { HelixElement } from '@fusion.dev/helix-core';
2
+ import { type PropertyValues, type TemplateResult } from 'lit';
3
+ /**
4
+ * @summary One step in a breadcrumb trail.
5
+ *
6
+ * @description
7
+ * Contributes the separator, the list-item role, and the link itself where one
8
+ * is wanted.
9
+ *
10
+ * **`href` makes the crumb the link.** *Added 19 Aug 2026, reversing the note
11
+ * that said an anchor could not be rendered here.* That note was right that a
12
+ * router cannot reach an anchor inside a shadow root, and wrong that this
13
+ * settles it: the consumer restores the soft navigation by intercepting the
14
+ * click on the way out, which is what `Tree.Item` and `List.Item` both do.
15
+ * What the anchor buys is the whole crumb as a target, Enter, middle click, the
16
+ * status bar, and a trail that works before any JavaScript runs.
17
+ *
18
+ * **And the parent needs it.** A trail that collapses has to rebuild its hidden
19
+ * crumbs somewhere else, which means reading each one's destination. From a
20
+ * property that is a read; from a consumer's slotted markup it is a hunt for an
21
+ * anchor and a guess about which element is the link.
22
+ *
23
+ * A crumb with no `href` is unchanged: the consumer slots whatever they like,
24
+ * including their own anchor, and this renders a plain `<span>` around it.
25
+ *
26
+ * Each item renders its own separator and hides it with `:host(:first-child)`,
27
+ * so the trail needs no index and no coordination from the parent. `:host()`
28
+ * takes a structural pseudo-class, unlike `:has()`, which it rejects.
29
+ *
30
+ * The current page is text, not a link. Linking a page to itself is a known
31
+ * screen-reader annoyance, and `aria-current="page"` on the host is what
32
+ * conveys position.
33
+ *
34
+ * @since 0.1.0
35
+ * @status stable
36
+ * @aliases Crumb
37
+ * @documentation https://helix.fusion.dev/components/breadcrumbs
38
+ *
39
+ * @slot - The step's label. Without an `href` this may be the consumer's own
40
+ * anchor, styled with `data-link="quiet"`, since a slotted anchor belongs to the
41
+ * outer tree and cannot be reached from this component's styles.
42
+ * @slot end - After it, for a count or a mark.
43
+ * @slot separator - Replaces the chevron shown before this item.
44
+ * @slot start - Before the label, for an icon.
45
+ *
46
+ * @csspart link - The crumb itself, which is an `<a>` where `href` is set.
47
+ * @csspart separator - The separator preceding the item.
48
+ * @csspart separator-mark - The glyph between this crumb and the next, where none is slotted.
49
+ */
50
+ export declare class HelixHeadlessBreadcrumb extends HelixElement {
51
+ /**
52
+ * Whether this item is the page the reader is on.
53
+ */
54
+ current: boolean;
55
+ /**
56
+ * Where the crumb goes, and nothing where it is the current page.
57
+ *
58
+ * **Optional and reflected, because a stylesheet does select on it.**
59
+ * `breadcrumb.css` writes `:host(:not([href])) [part="link"]` to take the
60
+ * block padding off a crumb that is not a link, so the attribute is what
61
+ * decides how tall a crumb is. Unreflected, an `href` set from script reached
62
+ * the property, rendered the anchor, and left the host looking unlinked: the
63
+ * crumb drew at 20px where a markup twin drew at 28.
64
+ *
65
+ * *This said the opposite until 27 Aug 2026*, and named the reason as
66
+ * "nothing selects on it", which was not true when it was written. The
67
+ * paragraph is worth keeping because the rest of it is right and is what makes
68
+ * this optional rather than defaulted: an `href` written onto every host would
69
+ * be a link to the current page on every crumb nobody asked to be one. That is
70
+ * the general rule as well, that a reflected property takes no default, so the
71
+ * two agree.
72
+ *
73
+ * Found by the picture comparison rather than by reading: React assigns a
74
+ * matching property instead of an attribute, so every crumb in the React twin
75
+ * of `breadcrumbs/links` lost its padding at once.
76
+ */
77
+ href?: string;
78
+ /**
79
+ * Where the link opens, for the rare crumb that leaves the site.
80
+ */
81
+ target: string;
82
+ /**
83
+ * What the link declares about where it goes.
84
+ *
85
+ * The consumer's decision.
86
+ */
87
+ rel: string;
88
+ protected willUpdate(changed: PropertyValues): void;
89
+ /**
90
+ * The mark between one crumb and the next.
91
+ *
92
+ * The chevron is the slot's own fallback, so replacing it is a matter of
93
+ * filling the slot and costs the consumer no way to opt out of the default.
94
+ * The seam answers the other half: a tier drawing its own separator gets it
95
+ * without reimplementing the crumb, its link and its current-page branch.
96
+ */
97
+ protected renderSeparator(): TemplateResult;
98
+ protected render(): TemplateResult;
99
+ }
100
+ declare global {
101
+ interface HTMLElementTagNameMap {
102
+ 'helix-headless-breadcrumb': HelixHeadlessBreadcrumb;
103
+ }
104
+ }
@@ -0,0 +1,137 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement, HelixElement, hostAria } from '@fusion.dev/helix-core';
8
+ import { caretRight } from '@fusion.dev/helix-icons';
9
+ import { html, nothing } from 'lit';
10
+ import { property } from 'lit/decorators.js';
11
+ import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
12
+ /**
13
+ * @summary One step in a breadcrumb trail.
14
+ *
15
+ * @description
16
+ * Contributes the separator, the list-item role, and the link itself where one
17
+ * is wanted.
18
+ *
19
+ * **`href` makes the crumb the link.** *Added 19 Aug 2026, reversing the note
20
+ * that said an anchor could not be rendered here.* That note was right that a
21
+ * router cannot reach an anchor inside a shadow root, and wrong that this
22
+ * settles it: the consumer restores the soft navigation by intercepting the
23
+ * click on the way out, which is what `Tree.Item` and `List.Item` both do.
24
+ * What the anchor buys is the whole crumb as a target, Enter, middle click, the
25
+ * status bar, and a trail that works before any JavaScript runs.
26
+ *
27
+ * **And the parent needs it.** A trail that collapses has to rebuild its hidden
28
+ * crumbs somewhere else, which means reading each one's destination. From a
29
+ * property that is a read; from a consumer's slotted markup it is a hunt for an
30
+ * anchor and a guess about which element is the link.
31
+ *
32
+ * A crumb with no `href` is unchanged: the consumer slots whatever they like,
33
+ * including their own anchor, and this renders a plain `<span>` around it.
34
+ *
35
+ * Each item renders its own separator and hides it with `:host(:first-child)`,
36
+ * so the trail needs no index and no coordination from the parent. `:host()`
37
+ * takes a structural pseudo-class, unlike `:has()`, which it rejects.
38
+ *
39
+ * The current page is text, not a link. Linking a page to itself is a known
40
+ * screen-reader annoyance, and `aria-current="page"` on the host is what
41
+ * conveys position.
42
+ *
43
+ * @since 0.1.0
44
+ * @status stable
45
+ * @aliases Crumb
46
+ * @documentation https://helix.fusion.dev/components/breadcrumbs
47
+ *
48
+ * @slot - The step's label. Without an `href` this may be the consumer's own
49
+ * anchor, styled with `data-link="quiet"`, since a slotted anchor belongs to the
50
+ * outer tree and cannot be reached from this component's styles.
51
+ * @slot end - After it, for a count or a mark.
52
+ * @slot separator - Replaces the chevron shown before this item.
53
+ * @slot start - Before the label, for an icon.
54
+ *
55
+ * @csspart link - The crumb itself, which is an `<a>` where `href` is set.
56
+ * @csspart separator - The separator preceding the item.
57
+ * @csspart separator-mark - The glyph between this crumb and the next, where none is slotted.
58
+ */
59
+ let HelixHeadlessBreadcrumb = class HelixHeadlessBreadcrumb extends HelixElement {
60
+ constructor() {
61
+ super(...arguments);
62
+ /**
63
+ * Whether this item is the page the reader is on.
64
+ */
65
+ this.current = false;
66
+ /**
67
+ * Where the link opens, for the rare crumb that leaves the site.
68
+ */
69
+ this.target = '';
70
+ /**
71
+ * What the link declares about where it goes.
72
+ *
73
+ * The consumer's decision.
74
+ */
75
+ this.rel = '';
76
+ }
77
+ willUpdate(changed) {
78
+ super.willUpdate(changed);
79
+ // On the host, because the item is an `<ol>` child in the flat tree and the
80
+ // role has to be there for the list to have items. In `willUpdate` rather
81
+ // than `connectedCallback`, which the server never calls.
82
+ hostAria(this.internals, { role: 'listitem' });
83
+ this.internals.ariaCurrent = this.current ? 'page' : null;
84
+ }
85
+ /**
86
+ * The mark between one crumb and the next.
87
+ *
88
+ * The chevron is the slot's own fallback, so replacing it is a matter of
89
+ * filling the slot and costs the consumer no way to opt out of the default.
90
+ * The seam answers the other half: a tier drawing its own separator gets it
91
+ * without reimplementing the crumb, its link and its current-page branch.
92
+ */
93
+ renderSeparator() {
94
+ return html `<slot name="separator"
95
+ ><svg part="separator-mark" fill="currentColor" viewBox=${caretRight.viewBox}>
96
+ ${unsafeSVG(caretRight.content)}
97
+ </svg></slot
98
+ >`;
99
+ }
100
+ render() {
101
+ /* The label and whatever flanks it, which is the same content whether or
102
+ not it is a link. Built once so the two branches below cannot drift. */
103
+ const label = html `<slot name="start"></slot><slot></slot><slot name="end"></slot>`;
104
+ /* The current page is text, not a link, whatever it was given: linking a
105
+ page to itself is a known screen-reader annoyance and `aria-current` is
106
+ what conveys position. So `current` wins over `href` rather than the two
107
+ contradicting each other in the markup. */
108
+ const linked = (this.href ?? '') !== '' && !this.current;
109
+ return html `<span part="separator" aria-hidden="true"
110
+ >${this.renderSeparator()}</span
111
+ >${linked
112
+ ? html `<a
113
+ part="link"
114
+ href=${this.href ?? ''}
115
+ target=${this.target || nothing}
116
+ rel=${this.rel || nothing}
117
+ >${label}</a
118
+ >`
119
+ : html `<span part="link">${label}</span>`}`;
120
+ }
121
+ };
122
+ __decorate([
123
+ property({ reflect: true, type: Boolean })
124
+ ], HelixHeadlessBreadcrumb.prototype, "current", void 0);
125
+ __decorate([
126
+ property({ reflect: true })
127
+ ], HelixHeadlessBreadcrumb.prototype, "href", void 0);
128
+ __decorate([
129
+ property()
130
+ ], HelixHeadlessBreadcrumb.prototype, "target", void 0);
131
+ __decorate([
132
+ property()
133
+ ], HelixHeadlessBreadcrumb.prototype, "rel", void 0);
134
+ HelixHeadlessBreadcrumb = __decorate([
135
+ customElement('helix-headless-breadcrumb')
136
+ ], HelixHeadlessBreadcrumb);
137
+ export { HelixHeadlessBreadcrumb };
@@ -0,0 +1,2 @@
1
+ export * from './breadcrumb/breadcrumb.js';
2
+ export * from './root/breadcrumbs-root.js';
@@ -0,0 +1,2 @@
1
+ export * from './breadcrumb/breadcrumb.js';
2
+ export * from './root/breadcrumbs-root.js';
@@ -0,0 +1,77 @@
1
+ import { HelixElement } from '@fusion.dev/helix-core';
2
+ import { type PropertyValues, type TemplateResult } from 'lit';
3
+ /**
4
+ * @summary Shows the path to the current page.
5
+ *
6
+ * @description
7
+ * The host is the landmark, so `aria-label` on it names the trail directly and
8
+ * there is no property mirroring one. A page may hold more than one navigation,
9
+ * and landmarks are how a screen-reader user chooses between them.
10
+ *
11
+ * `role="list"` is set explicitly on the `<ol>` even though it is already a
12
+ * list: removing the markers with `list-style: none` strips list semantics in
13
+ * Safari, and a breadcrumb trail always removes its markers.
14
+ *
15
+ * Items are slotted rather than wrapped, so they are `<ol>` children in the flat
16
+ * tree and each carries `role="listitem"` itself.
17
+ *
18
+ * **The trail does not measure itself, and the overflow is markup.** It held a
19
+ * `collapse` property, a `ResizeObserver` through `CollapseController`, an
20
+ * `overflowed` getter and a `helix-change` event, all to answer one question:
21
+ * how many crumbs fit. Removed 20 Aug 2026, because the question is the wrong
22
+ * one and answering it cost more than it returned.
23
+ *
24
+ * - **It can never reach the server.** There is no width without a DOM, so the
25
+ * server shipped every crumb and the client removed some after hydrating. A
26
+ * trail that collapses therefore painted wrong on every single load, and the
27
+ * SSR spec asserting "hides no crumb, whatever collapse says" was recording
28
+ * that as correct behavior rather than as the cost it is.
29
+ * - **The consumer already wrote the crumbs.** The measurement hid some, then
30
+ * announced which, so that the consumer could read them back off the element
31
+ * and clone them into menu items. The overflow example spent 32 lines of
32
+ * JavaScript making a round trip out of data that started in its own markup.
33
+ * - **Nobody specifies a breadcrumb in units of fit.** Designs say "keep the
34
+ * root and the current page, fold the middle", which is a fact about depth,
35
+ * or "fold below this width", which is a fact CSS knows. The arithmetic was
36
+ * the only thing that needed a width, and it was wrong three times in one day:
37
+ * the observer watched a container that did not exist yet, the gap between
38
+ * items went uncounted, and the result was still wrong at 34rem.
39
+ *
40
+ * So the trail lays out crumbs and separators, and the consumer writes what
41
+ * folds: a `helix-menu` of `helix-menu-item`s in a crumb, where the gap
42
+ * belongs. Server rendered, no observer, no stylesheet, and correct before the
43
+ * first script runs. A trail that should fold only at some widths is a
44
+ * container query in the consumer's own sheet, which is theirs to write and
45
+ * theirs to leave out.
46
+ *
47
+ * **And the crumbs carry no marker for any of it.** There was an `overflow`
48
+ * property on the crumb, which existed so the controller could tell a control
49
+ * from a step and so the trail could size it. With the controller gone the
50
+ * first use went with it, and the second is better answered by the crumb
51
+ * sizing whatever is slotted into it, which is true of every crumb rather than
52
+ * of one a consumer remembered to mark. What is left is a fact CSS can already
53
+ * see: the crumb with the menu in it is `:has(helix-menu)`, and the middle is
54
+ * `:not(:first-child, [current])`. A marker would be the design rule written
55
+ * twice, once in the HTML and once in the sheet, with nothing keeping the two
56
+ * honest.
57
+ *
58
+ * @since 0.1.0
59
+ * @status stable
60
+ * @category navigation
61
+ * @aliases Breadcrumb, Crumbs
62
+ * @documentation https://helix.fusion.dev/components/breadcrumbs
63
+ *
64
+ * @slot - The trail's items, in order from root to current page, with the
65
+ * crumb holding the fold wherever the gap should appear.
66
+ *
67
+ * @csspart list - The ordered list.
68
+ */
69
+ export declare class HelixHeadlessBreadcrumbs extends HelixElement {
70
+ protected willUpdate(changed: PropertyValues): void;
71
+ protected render(): TemplateResult;
72
+ }
73
+ declare global {
74
+ interface HTMLElementTagNameMap {
75
+ 'helix-headless-breadcrumbs': HelixHeadlessBreadcrumbs;
76
+ }
77
+ }
@@ -0,0 +1,94 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement, HelixElement, hostAria } from '@fusion.dev/helix-core';
8
+ import { html } from 'lit';
9
+ /**
10
+ * @summary Shows the path to the current page.
11
+ *
12
+ * @description
13
+ * The host is the landmark, so `aria-label` on it names the trail directly and
14
+ * there is no property mirroring one. A page may hold more than one navigation,
15
+ * and landmarks are how a screen-reader user chooses between them.
16
+ *
17
+ * `role="list"` is set explicitly on the `<ol>` even though it is already a
18
+ * list: removing the markers with `list-style: none` strips list semantics in
19
+ * Safari, and a breadcrumb trail always removes its markers.
20
+ *
21
+ * Items are slotted rather than wrapped, so they are `<ol>` children in the flat
22
+ * tree and each carries `role="listitem"` itself.
23
+ *
24
+ * **The trail does not measure itself, and the overflow is markup.** It held a
25
+ * `collapse` property, a `ResizeObserver` through `CollapseController`, an
26
+ * `overflowed` getter and a `helix-change` event, all to answer one question:
27
+ * how many crumbs fit. Removed 20 Aug 2026, because the question is the wrong
28
+ * one and answering it cost more than it returned.
29
+ *
30
+ * - **It can never reach the server.** There is no width without a DOM, so the
31
+ * server shipped every crumb and the client removed some after hydrating. A
32
+ * trail that collapses therefore painted wrong on every single load, and the
33
+ * SSR spec asserting "hides no crumb, whatever collapse says" was recording
34
+ * that as correct behavior rather than as the cost it is.
35
+ * - **The consumer already wrote the crumbs.** The measurement hid some, then
36
+ * announced which, so that the consumer could read them back off the element
37
+ * and clone them into menu items. The overflow example spent 32 lines of
38
+ * JavaScript making a round trip out of data that started in its own markup.
39
+ * - **Nobody specifies a breadcrumb in units of fit.** Designs say "keep the
40
+ * root and the current page, fold the middle", which is a fact about depth,
41
+ * or "fold below this width", which is a fact CSS knows. The arithmetic was
42
+ * the only thing that needed a width, and it was wrong three times in one day:
43
+ * the observer watched a container that did not exist yet, the gap between
44
+ * items went uncounted, and the result was still wrong at 34rem.
45
+ *
46
+ * So the trail lays out crumbs and separators, and the consumer writes what
47
+ * folds: a `helix-menu` of `helix-menu-item`s in a crumb, where the gap
48
+ * belongs. Server rendered, no observer, no stylesheet, and correct before the
49
+ * first script runs. A trail that should fold only at some widths is a
50
+ * container query in the consumer's own sheet, which is theirs to write and
51
+ * theirs to leave out.
52
+ *
53
+ * **And the crumbs carry no marker for any of it.** There was an `overflow`
54
+ * property on the crumb, which existed so the controller could tell a control
55
+ * from a step and so the trail could size it. With the controller gone the
56
+ * first use went with it, and the second is better answered by the crumb
57
+ * sizing whatever is slotted into it, which is true of every crumb rather than
58
+ * of one a consumer remembered to mark. What is left is a fact CSS can already
59
+ * see: the crumb with the menu in it is `:has(helix-menu)`, and the middle is
60
+ * `:not(:first-child, [current])`. A marker would be the design rule written
61
+ * twice, once in the HTML and once in the sheet, with nothing keeping the two
62
+ * honest.
63
+ *
64
+ * @since 0.1.0
65
+ * @status stable
66
+ * @category navigation
67
+ * @aliases Breadcrumb, Crumbs
68
+ * @documentation https://helix.fusion.dev/components/breadcrumbs
69
+ *
70
+ * @slot - The trail's items, in order from root to current page, with the
71
+ * crumb holding the fold wherever the gap should appear.
72
+ *
73
+ * @csspart list - The ordered list.
74
+ */
75
+ let HelixHeadlessBreadcrumbs = class HelixHeadlessBreadcrumbs extends HelixElement {
76
+ willUpdate(changed) {
77
+ super.willUpdate(changed);
78
+ // On the host through internals, so the landmark is the element itself and
79
+ // an author's `aria-label` names it without anything being copied inward.
80
+ hostAria(this.internals, { role: 'navigation' });
81
+ }
82
+ render() {
83
+ /* One slot. The crumb holding the fold is one the consumer placed in
84
+ source order, so there is nothing here to position it: the list renders
85
+ what it was given, in the order it was given. */
86
+ return html `<ol part="list" role="list">
87
+ <slot></slot>
88
+ </ol>`;
89
+ }
90
+ };
91
+ HelixHeadlessBreadcrumbs = __decorate([
92
+ customElement('helix-headless-breadcrumbs')
93
+ ], HelixHeadlessBreadcrumbs);
94
+ export { HelixHeadlessBreadcrumbs };
@@ -0,0 +1 @@
1
+ export * from './root/button-root.js';
@@ -0,0 +1 @@
1
+ export * from './root/button-root.js';