@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,2 @@
1
+ export * from './group/option-group.js';
2
+ export * from './root/option-root.js';
@@ -0,0 +1,2 @@
1
+ export * from './group/option-group.js';
2
+ export * from './root/option-root.js';
@@ -0,0 +1,194 @@
1
+ import { HelixElement } from '@fusion.dev/helix-core';
2
+ import { type PropertyValues, type TemplateResult } from 'lit';
3
+ /**
4
+ * @summary One choice in a listbox.
5
+ *
6
+ * @description
7
+ * **Its own family rather than a part of Select, and the reason is what it
8
+ * belongs to.** `role="option"` requires an owning `role="listbox"`, which is
9
+ * the ARIA contract: an option cannot stand alone. But a Select is *a listbox
10
+ * with a trigger*, a Combobox is *a listbox with a text input*, and a command
11
+ * palette is the same listbox again. The thing an option belongs to is the
12
+ * listbox, not any one control that happens to contain one.
13
+ *
14
+ * That is the difference from `Radio`, which is a part of its group: a radio
15
+ * has exactly one kind of owner, and an option has several.
16
+ *
17
+ * Selection is announced rather than applied, the way a radio's is. The option
18
+ * says it was chosen, the listbox decides whether that stands, and the listbox
19
+ * writes `selected` back. An option that selected itself would be a second
20
+ * answer to which one is chosen.
21
+ *
22
+ * **Nothing here knows about filtering.** A hidden option is hidden by whatever
23
+ * owns it, through `hidden`, because what counts as a match is the listbox's
24
+ * question and differs between a select and a command palette.
25
+ *
26
+ * @since 0.1.0
27
+ * @status experimental
28
+ * @category forms
29
+ * @aliases Item, Choice
30
+ * @documentation https://helix.fusion.dev/components/option
31
+ *
32
+ * @slot - The words naming this choice.
33
+ * @slot end - After them, for a shortcut or a count.
34
+ * @slot start - Before the words, for an icon or an avatar.
35
+ *
36
+ * @event {HelixSelectEvent} helix-select - Fired when this choice is made. Cancelable: refusing it takes the decision and nothing moves.
37
+ *
38
+ * @csspart description - The caption under the words, when there is one.
39
+ * @csspart item - The row.
40
+ * @csspart label - The words.
41
+ * @csspart text - The words and the caption under them, as one column.
42
+ */
43
+ export declare class HelixHeadlessOption extends HelixElement {
44
+ /**
45
+ * Whether this choice can be made.
46
+ */
47
+ disabled: boolean;
48
+ /**
49
+ * A second line under the words, for what the choice actually is.
50
+ *
51
+ * A palette row reads better as a name and a caption than as one sentence
52
+ * carrying both: "Helix" and "the design system" are two facts, and a comma
53
+ * between them makes a reader parse the punctuation to find where the name
54
+ * ends. Matching still reads the label, so what somebody types is matched
55
+ * against the name rather than against prose about it.
56
+ *
57
+ * **A property and not a slot, which is the departure worth explaining.** The
58
+ * area rules say a content property is its slot's fallback, and that holds for
59
+ * a region always drawn: `Avatar`'s initials, `Tooltip`'s text. This one is
60
+ * usually absent, and a wrapped slot generates a box whether or not it is
61
+ * filled, so every option without a caption would carry an empty line. The
62
+ * detection that would avoid it does not exist, `:host(:has())` being invalid
63
+ * and the server having no children to inspect. A property is known at render
64
+ * time, so the component can decline to draw the box at all.
65
+ *
66
+ * It does not reflect, per the rule that payload state stays off the host: a
67
+ * string is not a fact a selector needs.
68
+ */
69
+ description?: string;
70
+ /**
71
+ * Whether this is the option the keyboard is on.
72
+ *
73
+ * Written by the listbox.
74
+ */
75
+ active: boolean;
76
+ /**
77
+ * Whether the markup declared this one chosen, which is what a reset returns to.
78
+ *
79
+ * `<option selected>` reflects to `defaultSelected` and `option.selected` is
80
+ * live state that does not reflect, and those are two different facts. This
81
+ * element has one `selected` doing both jobs, so what is captured here is what
82
+ * the markup said at upgrade, before anything could overwrite it: read the
83
+ * attribute later and the listbox's own writes answer instead.
84
+ *
85
+ * **The deeper half is 302 and is not this.** State reflecting under the
86
+ * declaration's name is the fault `TreeItem` already avoids by mirroring to
87
+ * `data-selected`, and four families here still write `selected` back into a
88
+ * consumer's markup. Splitting them means moving what every stylesheet selects
89
+ * on, which is a change of its own rather than a property being added.
90
+ */
91
+ get defaultSelected(): boolean;
92
+ set defaultSelected(next: boolean);
93
+ /** What the markup said, read once at construction for the reason above. */
94
+ private seeded;
95
+ /**
96
+ * Whether this choice is currently chosen.
97
+ *
98
+ * Written by the listbox.
99
+ */
100
+ selected: boolean;
101
+ /**
102
+ * A shorter name for this choice, for where the row does not fit.
103
+ *
104
+ * `<option label>`'s own meaning: the text a chooser shows when it has less
105
+ * room than the row does, which is what a select's closed trigger has. Empty
106
+ * means the row's own content, which is the common case and is why this is not
107
+ * simply the accessible name.
108
+ */
109
+ label: string;
110
+ /**
111
+ * Identifies this choice, and is what a form submits.
112
+ */
113
+ value: string;
114
+ /**
115
+ * A second destination for this row, taken with the modifier held.
116
+ *
117
+ * **An attribute rather than a second row, which is the whole point.** A
118
+ * palette of eighty-eight components that offered each of them a reference
119
+ * page and a sandbox as separate entries would be a palette of a hundred and
120
+ * seventy-six, and one earns its keep by getting a reader to one thing in
121
+ * three keystrokes. The row already carries the first destination, so the
122
+ * second belongs beside it.
123
+ *
124
+ * Declared here and acted on by whatever owns the list, the same division
125
+ * selection already uses: an option says what it is and the listbox decides
126
+ * what happens. `Command` is the only owner that reads it today, because a
127
+ * select has one destination by definition.
128
+ *
129
+ * Absent is a row with one destination, which is nearly every row.
130
+ */
131
+ alternate: string;
132
+ /**
133
+ * What the second destination is, for a reader who cannot see the footer.
134
+ *
135
+ * A row with two destinations needs both said, or a screen reader is told
136
+ * about one of them and the other is a key nobody mentioned. It goes to
137
+ * `aria-description` rather than into the name: the name is the row's own
138
+ * words and stays what a reader searched for, and the second destination is a
139
+ * fact about what pressing a key would do, which is what a description is.
140
+ */
141
+ alternateLabel: string;
142
+ /**
143
+ * The words, for a listbox that has to match text against them.
144
+ *
145
+ * Read from the rendered content rather than required as a property, because
146
+ * the content is where a consumer naturally puts it and asking for both is
147
+ * asking for two things to disagree.
148
+ *
149
+ * **The default slot's content, not the element's.** This was
150
+ * `this.textContent`, which is every descendant text node an option holds,
151
+ * and an option holds three slots: the words, plus `start` for an icon and
152
+ * `end` for a shortcut or a count. Neither of those is what a reader
153
+ * searched for, and both were being run onto the end of it.
154
+ *
155
+ * **Six things read this and all six were wrong.** The collapsed field of
156
+ * Select and of Combobox show it, the listbox filters on it, Combobox
157
+ * matches typed text against it, completes inline from it, and labels a
158
+ * chosen tag with it. Measured on a font picker whose options carry a
159
+ * two-letter specimen in `end`: the field read `Noto Sans Linear BAg`, and
160
+ * typing `ag` matched 1,892 of 1,893 options, every row containing the
161
+ * sample. An option with a keyboard shortcut in its end slot has the same
162
+ * fault and a worse one, every row carrying one matching every letter of it.
163
+ *
164
+ * A node goes to the default slot when it names no other, which is the rule
165
+ * the platform applies at assignment. Asking the same question here rather
166
+ * than a second one is what stops the two disagreeing. Text nodes are
167
+ * always the default slot's and cannot say otherwise.
168
+ */
169
+ get text(): string;
170
+ /** Makes this choice and announces it. */
171
+ select(): void;
172
+ /**
173
+ * Mirrors the chosen state where a stylesheet can select on it.
174
+ *
175
+ * **A custom state and not the `selected` attribute it used to reflect.** The
176
+ * parent writes this: a listbox choosing a row, a tab strip moving the tab, a
177
+ * radio group answering for its set. Reflected, that put the element's own
178
+ * bookkeeping onto markup a consumer wrote and a consumer's server never sent,
179
+ * which React reconciles and reports as a mismatch, and which a serialized
180
+ * element pasted back declares as a choice nobody made. `ElementInternals`
181
+ * holds it instead, where it is not in the DOM at all.
182
+ *
183
+ * Reading `selected` is unaffected and so is writing it: the attribute still
184
+ * seeds the property, which is what `<helix-option selected>` in a consumer's
185
+ * markup means. What stops is the write back. See 302 and 304.
186
+ */
187
+ protected willUpdate(changed: PropertyValues): void;
188
+ protected render(): TemplateResult;
189
+ }
190
+ declare global {
191
+ interface HTMLElementTagNameMap {
192
+ 'helix-headless-option': HelixHeadlessOption;
193
+ }
194
+ }
@@ -0,0 +1,247 @@
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, HelixSelectEvent } from '@fusion.dev/helix-core';
8
+ import { html, nothing } from 'lit';
9
+ import { property } from 'lit/decorators.js';
10
+ /**
11
+ * @summary One choice in a listbox.
12
+ *
13
+ * @description
14
+ * **Its own family rather than a part of Select, and the reason is what it
15
+ * belongs to.** `role="option"` requires an owning `role="listbox"`, which is
16
+ * the ARIA contract: an option cannot stand alone. But a Select is *a listbox
17
+ * with a trigger*, a Combobox is *a listbox with a text input*, and a command
18
+ * palette is the same listbox again. The thing an option belongs to is the
19
+ * listbox, not any one control that happens to contain one.
20
+ *
21
+ * That is the difference from `Radio`, which is a part of its group: a radio
22
+ * has exactly one kind of owner, and an option has several.
23
+ *
24
+ * Selection is announced rather than applied, the way a radio's is. The option
25
+ * says it was chosen, the listbox decides whether that stands, and the listbox
26
+ * writes `selected` back. An option that selected itself would be a second
27
+ * answer to which one is chosen.
28
+ *
29
+ * **Nothing here knows about filtering.** A hidden option is hidden by whatever
30
+ * owns it, through `hidden`, because what counts as a match is the listbox's
31
+ * question and differs between a select and a command palette.
32
+ *
33
+ * @since 0.1.0
34
+ * @status experimental
35
+ * @category forms
36
+ * @aliases Item, Choice
37
+ * @documentation https://helix.fusion.dev/components/option
38
+ *
39
+ * @slot - The words naming this choice.
40
+ * @slot end - After them, for a shortcut or a count.
41
+ * @slot start - Before the words, for an icon or an avatar.
42
+ *
43
+ * @event {HelixSelectEvent} helix-select - Fired when this choice is made. Cancelable: refusing it takes the decision and nothing moves.
44
+ *
45
+ * @csspart description - The caption under the words, when there is one.
46
+ * @csspart item - The row.
47
+ * @csspart label - The words.
48
+ * @csspart text - The words and the caption under them, as one column.
49
+ */
50
+ let HelixHeadlessOption = class HelixHeadlessOption extends HelixElement {
51
+ constructor() {
52
+ super(...arguments);
53
+ /**
54
+ * Whether this choice can be made.
55
+ */
56
+ this.disabled = false;
57
+ /**
58
+ * Whether this is the option the keyboard is on.
59
+ *
60
+ * Written by the listbox.
61
+ */
62
+ this.active = false;
63
+ /** What the markup said, read once at construction for the reason above. */
64
+ this.seeded = this.hasAttribute('selected');
65
+ /**
66
+ * Whether this choice is currently chosen.
67
+ *
68
+ * Written by the listbox.
69
+ */
70
+ this.selected = false;
71
+ /**
72
+ * A shorter name for this choice, for where the row does not fit.
73
+ *
74
+ * `<option label>`'s own meaning: the text a chooser shows when it has less
75
+ * room than the row does, which is what a select's closed trigger has. Empty
76
+ * means the row's own content, which is the common case and is why this is not
77
+ * simply the accessible name.
78
+ */
79
+ this.label = '';
80
+ /**
81
+ * Identifies this choice, and is what a form submits.
82
+ */
83
+ this.value = '';
84
+ /**
85
+ * A second destination for this row, taken with the modifier held.
86
+ *
87
+ * **An attribute rather than a second row, which is the whole point.** A
88
+ * palette of eighty-eight components that offered each of them a reference
89
+ * page and a sandbox as separate entries would be a palette of a hundred and
90
+ * seventy-six, and one earns its keep by getting a reader to one thing in
91
+ * three keystrokes. The row already carries the first destination, so the
92
+ * second belongs beside it.
93
+ *
94
+ * Declared here and acted on by whatever owns the list, the same division
95
+ * selection already uses: an option says what it is and the listbox decides
96
+ * what happens. `Command` is the only owner that reads it today, because a
97
+ * select has one destination by definition.
98
+ *
99
+ * Absent is a row with one destination, which is nearly every row.
100
+ */
101
+ this.alternate = '';
102
+ /**
103
+ * What the second destination is, for a reader who cannot see the footer.
104
+ *
105
+ * A row with two destinations needs both said, or a screen reader is told
106
+ * about one of them and the other is a key nobody mentioned. It goes to
107
+ * `aria-description` rather than into the name: the name is the row's own
108
+ * words and stays what a reader searched for, and the second destination is a
109
+ * fact about what pressing a key would do, which is what a description is.
110
+ */
111
+ this.alternateLabel = '';
112
+ }
113
+ /**
114
+ * Whether the markup declared this one chosen, which is what a reset returns to.
115
+ *
116
+ * `<option selected>` reflects to `defaultSelected` and `option.selected` is
117
+ * live state that does not reflect, and those are two different facts. This
118
+ * element has one `selected` doing both jobs, so what is captured here is what
119
+ * the markup said at upgrade, before anything could overwrite it: read the
120
+ * attribute later and the listbox's own writes answer instead.
121
+ *
122
+ * **The deeper half is 302 and is not this.** State reflecting under the
123
+ * declaration's name is the fault `TreeItem` already avoids by mirroring to
124
+ * `data-selected`, and four families here still write `selected` back into a
125
+ * consumer's markup. Splitting them means moving what every stylesheet selects
126
+ * on, which is a change of its own rather than a property being added.
127
+ */
128
+ get defaultSelected() {
129
+ return this.seeded;
130
+ }
131
+ set defaultSelected(next) {
132
+ this.seeded = next;
133
+ }
134
+ /**
135
+ * The words, for a listbox that has to match text against them.
136
+ *
137
+ * Read from the rendered content rather than required as a property, because
138
+ * the content is where a consumer naturally puts it and asking for both is
139
+ * asking for two things to disagree.
140
+ *
141
+ * **The default slot's content, not the element's.** This was
142
+ * `this.textContent`, which is every descendant text node an option holds,
143
+ * and an option holds three slots: the words, plus `start` for an icon and
144
+ * `end` for a shortcut or a count. Neither of those is what a reader
145
+ * searched for, and both were being run onto the end of it.
146
+ *
147
+ * **Six things read this and all six were wrong.** The collapsed field of
148
+ * Select and of Combobox show it, the listbox filters on it, Combobox
149
+ * matches typed text against it, completes inline from it, and labels a
150
+ * chosen tag with it. Measured on a font picker whose options carry a
151
+ * two-letter specimen in `end`: the field read `Noto Sans Linear BAg`, and
152
+ * typing `ag` matched 1,892 of 1,893 options, every row containing the
153
+ * sample. An option with a keyboard shortcut in its end slot has the same
154
+ * fault and a worse one, every row carrying one matching every letter of it.
155
+ *
156
+ * A node goes to the default slot when it names no other, which is the rule
157
+ * the platform applies at assignment. Asking the same question here rather
158
+ * than a second one is what stops the two disagreeing. Text nodes are
159
+ * always the default slot's and cannot say otherwise.
160
+ */
161
+ get text() {
162
+ return [...this.childNodes]
163
+ .filter((node) => !(node instanceof Element) || node.slot === '')
164
+ .map((node) => node.textContent ?? '')
165
+ .join('')
166
+ .trim();
167
+ }
168
+ /** Makes this choice and announces it. */
169
+ select() {
170
+ if (this.disabled) {
171
+ return;
172
+ }
173
+ this.dispatchEvent(new HelixSelectEvent({ value: this.value }));
174
+ }
175
+ /**
176
+ * Mirrors the chosen state where a stylesheet can select on it.
177
+ *
178
+ * **A custom state and not the `selected` attribute it used to reflect.** The
179
+ * parent writes this: a listbox choosing a row, a tab strip moving the tab, a
180
+ * radio group answering for its set. Reflected, that put the element's own
181
+ * bookkeeping onto markup a consumer wrote and a consumer's server never sent,
182
+ * which React reconciles and reports as a mismatch, and which a serialized
183
+ * element pasted back declares as a choice nobody made. `ElementInternals`
184
+ * holds it instead, where it is not in the DOM at all.
185
+ *
186
+ * Reading `selected` is unaffected and so is writing it: the attribute still
187
+ * seeds the property, which is what `<helix-option selected>` in a consumer's
188
+ * markup means. What stops is the write back. See 302 and 304.
189
+ */
190
+ willUpdate(changed) {
191
+ super.willUpdate(changed);
192
+ this.toggleState('selected', this.selected);
193
+ }
194
+ render() {
195
+ /* `role` and `aria-selected` on the host through internals, because an
196
+ option's semantics have to be visible to the listbox that owns it and a
197
+ wrapper in here would put a box between them. */
198
+ this.internals.role = 'option';
199
+ this.internals.ariaSelected = String(this.selected);
200
+ this.internals.ariaDisabled = this.disabled ? 'true' : null;
201
+ this.internals.ariaDescription =
202
+ this.alternate !== '' && this.alternateLabel !== '' ? this.alternateLabel : null;
203
+ /* A pointer reaches `select()` the way every other choosable row in this
204
+ library does, from a `@click` in its own template: `Tabs.Tab`,
205
+ `Tree.Item` and `Menu.Item` all bind one. This had none, and nothing else
206
+ listened for a click either, so an option could be chosen with the
207
+ keyboard and not with a mouse. A select was unusable with a pointer for
208
+ as long as it has existed, which nothing caught because every spec for it
209
+ chooses by calling `select()` or by pressing a key. */
210
+ return html `<div part="item" @click=${() => this.select()}>
211
+ <slot name="start"></slot>
212
+ <span part="text">
213
+ <span part="label"><slot></slot></span>
214
+ ${this.description ? html `<span part="description">${this.description}</span>` : nothing}
215
+ </span>
216
+ <slot name="end"></slot>
217
+ </div>`;
218
+ }
219
+ };
220
+ __decorate([
221
+ property({ reflect: true, type: Boolean })
222
+ ], HelixHeadlessOption.prototype, "disabled", void 0);
223
+ __decorate([
224
+ property()
225
+ ], HelixHeadlessOption.prototype, "description", void 0);
226
+ __decorate([
227
+ property({ attribute: 'data-active', reflect: true, type: Boolean })
228
+ ], HelixHeadlessOption.prototype, "active", void 0);
229
+ __decorate([
230
+ property({ type: Boolean })
231
+ ], HelixHeadlessOption.prototype, "selected", void 0);
232
+ __decorate([
233
+ property()
234
+ ], HelixHeadlessOption.prototype, "label", void 0);
235
+ __decorate([
236
+ property()
237
+ ], HelixHeadlessOption.prototype, "value", void 0);
238
+ __decorate([
239
+ property()
240
+ ], HelixHeadlessOption.prototype, "alternate", void 0);
241
+ __decorate([
242
+ property({ attribute: 'alternate-label' })
243
+ ], HelixHeadlessOption.prototype, "alternateLabel", void 0);
244
+ HelixHeadlessOption = __decorate([
245
+ customElement('helix-headless-option')
246
+ ], HelixHeadlessOption);
247
+ export { HelixHeadlessOption };
@@ -0,0 +1 @@
1
+ export * from './root/outline-root.js';
@@ -0,0 +1 @@
1
+ export * from './root/outline-root.js';