@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 @@
1
+ export * from './root/dialog-root.js';
@@ -0,0 +1 @@
1
+ export * from './root/dialog-root.js';
@@ -0,0 +1,185 @@
1
+ import { CommandController, HelixElement } from '@fusion.dev/helix-core';
2
+ import { type PropertyValues, type TemplateResult } from 'lit';
3
+ declare const HelixHeadlessDialog_base: (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerOpenInterface) & typeof HelixElement;
4
+ /**
5
+ * @summary A modal window, on the platform's own dialog.
6
+ *
7
+ * @description
8
+ * A real `<dialog>` opened with `showModal()`, not a div with a role and a
9
+ * hand-built trap. The platform gives four things that are each a day's work to
10
+ * reimplement and easy to get subtly wrong: the top layer, so the dialog is
11
+ * above everything regardless of what `z-index` anyone else wrote; a real
12
+ * backdrop; Escape; and inert-behind, so the page underneath is not reachable
13
+ * by pointer, keyboard, or a screen reader's virtual cursor.
14
+ *
15
+ * **`open` drives `showModal()`, and every way it can close comes back through
16
+ * `requestOpen`.** A native dialog can close from three directions: the
17
+ * property, Escape, and a `<form method="dialog">` submit inside it. Left
18
+ * alone, two of those would shut the dialog while the consumer's state still
19
+ * said open, which is the bug that makes a modal impossible to reopen. Escape
20
+ * is intercepted and routed through the request, so `preventDefault()` on the
21
+ * `helix-before-close` refuses it; a close that happens anyway is reflected back.
22
+ *
23
+ * **Nothing here traps focus.** `showModal()` does it, and better: `inert` on
24
+ * the rest of the document is something no JavaScript trap can achieve.
25
+ * `FocusTrapController` stays for the surfaces that are not modal.
26
+ *
27
+ * The regions are bare slots rather than wrappers, for the reason the card's
28
+ * are: an unassigned `<slot>` is `display: contents` and generates no box, so a
29
+ * dialog with no footer has no empty band where one would be.
30
+ *
31
+ * Opened declaratively with the platform's invoker attributes:
32
+ *
33
+ * ```html
34
+ * <helix-button commandfor="confirm" command="--show">Delete…</helix-button>
35
+ * <helix-dialog id="confirm">…</helix-dialog>
36
+ * ```
37
+ *
38
+ * `--show`, `--close` and `--toggle`. Custom commands rather than the built-in
39
+ * `show-modal`, because those are defined against native elements and do
40
+ * nothing when pointed at a custom one.
41
+ *
42
+ * @since 0.1.0
43
+ * @status stable
44
+ * @category overlays
45
+ * @aliases Modal, Lightbox, Sheet
46
+ * @documentation https://helix.fusion.dev/components/dialog
47
+ *
48
+ * @slot - The dialog's content.
49
+ * @slot footer - The actions.
50
+ * @slot header - The title, and anything beside it.
51
+ * @slot icon - A single mark above the title, for a dialog that warns.
52
+ *
53
+ * @event {Event} close - Relayed, because the platform's own does not escape.
54
+ * @event {HelixBeforeCloseEvent} helix-before-close - Fired before it closes, and cancelable.
55
+ * @event {HelixBeforeOpenEvent} helix-before-open - Fired before it opens, and cancelable.
56
+ * @event {Event} toggle - Says the state moved, carrying `newState` and `oldState`.
57
+ *
58
+ * @csspart dialog - The native dialog element.
59
+ */
60
+ export declare class HelixHeadlessDialog extends HelixHeadlessDialog_base {
61
+ /**
62
+ * Accessible name for the dialog.
63
+ */
64
+ label: string;
65
+ /**
66
+ * Whether Escape can close it.
67
+ *
68
+ * Off for a dialog that must be answered. It does not disable the close
69
+ * control a consumer slots in: refusing to be dismissed is not the same as
70
+ * refusing to be closed, and a dialog with no way out at all is a trap.
71
+ *
72
+ * Escape *and* a press on the backdrop, which it now genuinely means. The
73
+ * sentence said both for a long time while nothing listened for a backdrop
74
+ * press, so it promised a behavior a consumer would have written their
75
+ * markup around; the fix then was to narrow the sentence, and the fix now is
76
+ * to build the half that was missing.
77
+ *
78
+ * A persistent dialog does not ignore that press. It answers it: see
79
+ * `refuse`, which is the only way a dialog that will not be dismissed can say
80
+ * so at the moment a reader asks.
81
+ */
82
+ persistent: boolean;
83
+ protected readonly commands: CommandController;
84
+ /**
85
+ * Which close requests the browser answers on its own.
86
+ *
87
+ * `<dialog closedby>`, forwarded, and safe to forward because every path it
88
+ * opens still comes back through this element: a close request fires `cancel`
89
+ * first, `handleCancel` prevents it, and `requestOpen` decides. So
90
+ * `closedby="any"` gains light dismiss without giving up the refusal, which is
91
+ * the property this component exists to keep.
92
+ *
93
+ * Absent by default, which is the platform's `auto` and this library's rule
94
+ * that a resting value is an attribute's absence.
95
+ */
96
+ closedBy?: 'any' | 'closerequest' | 'none';
97
+ /**
98
+ * What the dialog closed with, the way `<dialog>` reports it.
99
+ *
100
+ * **The whole point of a `<dialog>` returning a value is lost behind a shadow
101
+ * boundary**, which is where this one is: the platform's contract is
102
+ * `close(value)` then read `returnValue`, and a consumer could do neither
103
+ * because `querySelector` does not reach the element. A confirmation asking
104
+ * which button was pressed is the ordinary case and had no answer.
105
+ *
106
+ * Held here as well as on the element, so a value set before the first render
107
+ * survives to it and a consumer reading one back gets what they wrote.
108
+ */
109
+ get returnValue(): string;
110
+ set returnValue(value: string);
111
+ /** What a value set before the element existed is kept in. */
112
+ private returned;
113
+ /** The native dialog, or nothing where there is no DOM to hold one. */
114
+ private get dialog();
115
+ /** Moves focus into the dialog and makes the rest of the page inert. */
116
+ show(): void;
117
+ /**
118
+ * Asks to close, which a consumer may refuse.
119
+ *
120
+ * Takes what the dialog closed with, the way `<dialog>.close(value)` does, so
121
+ * the button that dismissed it can say which one it was. Set before the
122
+ * request rather than after, because a `close` listener reads `returnValue`
123
+ * and would otherwise read the previous one.
124
+ *
125
+ * Not set where the request is refused, since nothing closed and a value
126
+ * saying it did would outlive the refusal.
127
+ */
128
+ close(returnValue?: string): void;
129
+ /**
130
+ * Escape, intercepted so it is a request rather than an act.
131
+ *
132
+ * The native `cancel` event fires before the dialog closes, so preventing it
133
+ * leaves the dialog open and lets `requestOpen` decide. Without this a reader
134
+ * pressing Escape would close a dialog its consumer had said was open, and
135
+ * the two would disagree until something else moved.
136
+ */
137
+ private readonly handleCancel;
138
+ /**
139
+ * A close that happened anyway, reflected back.
140
+ *
141
+ * `<form method="dialog">` closes the dialog directly and there is no event
142
+ * to prevent. Rather than fight it, the state follows: the dialog is shut, so
143
+ * saying otherwise would be a lie the next `showModal()` would trip over.
144
+ */
145
+ private readonly handleClose;
146
+ protected willUpdate(changed: PropertyValues): void;
147
+ protected updated(changed: PropertyValues): void;
148
+ /** Opens once anything slotted has had its first render. See `updated`. */
149
+ private openWhenSlotted;
150
+ /**
151
+ * A press on the backdrop, which lands on the dialog element itself.
152
+ *
153
+ * **The target alone is not enough here, where it is for `Drawer`.** A modal
154
+ * `<dialog>` attributes backdrop clicks to itself, which is the usual trick,
155
+ * and this panel also carries `--dialog-padding` of padding: a press in that
156
+ * padding has the same target as a press on the backdrop, so the trick alone
157
+ * closes a dialog when a reader clicks just inside its own edge. The drawer
158
+ * escapes that because its panel is flush against the window and its content
159
+ * fills it. So the point is compared against the panel's box.
160
+ */
161
+ private readonly handleBackdrop;
162
+ /**
163
+ * Says no to a dismissal, by moving.
164
+ *
165
+ * A persistent dialog that ignores a press on the backdrop is
166
+ * indistinguishable from one that did not notice, and a reader's next move is
167
+ * to press again harder. A short swell and settle is the smallest thing that
168
+ * reads as "I heard you, and no": it is the same gesture a native alert makes
169
+ * on macOS and the one every reader has already been taught.
170
+ *
171
+ * An attribute for the length of the animation rather than a class, cleared
172
+ * on `animationend`, so the styled tier decides what refusing looks like and
173
+ * this decides only when it happens. Removed first so a second press
174
+ * restarts it: without that, pressing twice does nothing the second time,
175
+ * which is the impression the whole thing exists to avoid.
176
+ */
177
+ private refuse;
178
+ protected render(): TemplateResult;
179
+ }
180
+ declare global {
181
+ interface HTMLElementTagNameMap {
182
+ 'helix-headless-dialog': HelixHeadlessDialog;
183
+ }
184
+ }
185
+ export {};
@@ -0,0 +1,319 @@
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 { CommandController, customElement, HelixElement, hostAria, MixinControllerOpen, } from '@fusion.dev/helix-core';
8
+ import { html, nothing } from 'lit';
9
+ import { property } from 'lit/decorators.js';
10
+ /**
11
+ * @summary A modal window, on the platform's own dialog.
12
+ *
13
+ * @description
14
+ * A real `<dialog>` opened with `showModal()`, not a div with a role and a
15
+ * hand-built trap. The platform gives four things that are each a day's work to
16
+ * reimplement and easy to get subtly wrong: the top layer, so the dialog is
17
+ * above everything regardless of what `z-index` anyone else wrote; a real
18
+ * backdrop; Escape; and inert-behind, so the page underneath is not reachable
19
+ * by pointer, keyboard, or a screen reader's virtual cursor.
20
+ *
21
+ * **`open` drives `showModal()`, and every way it can close comes back through
22
+ * `requestOpen`.** A native dialog can close from three directions: the
23
+ * property, Escape, and a `<form method="dialog">` submit inside it. Left
24
+ * alone, two of those would shut the dialog while the consumer's state still
25
+ * said open, which is the bug that makes a modal impossible to reopen. Escape
26
+ * is intercepted and routed through the request, so `preventDefault()` on the
27
+ * `helix-before-close` refuses it; a close that happens anyway is reflected back.
28
+ *
29
+ * **Nothing here traps focus.** `showModal()` does it, and better: `inert` on
30
+ * the rest of the document is something no JavaScript trap can achieve.
31
+ * `FocusTrapController` stays for the surfaces that are not modal.
32
+ *
33
+ * The regions are bare slots rather than wrappers, for the reason the card's
34
+ * are: an unassigned `<slot>` is `display: contents` and generates no box, so a
35
+ * dialog with no footer has no empty band where one would be.
36
+ *
37
+ * Opened declaratively with the platform's invoker attributes:
38
+ *
39
+ * ```html
40
+ * <helix-button commandfor="confirm" command="--show">Delete…</helix-button>
41
+ * <helix-dialog id="confirm">…</helix-dialog>
42
+ * ```
43
+ *
44
+ * `--show`, `--close` and `--toggle`. Custom commands rather than the built-in
45
+ * `show-modal`, because those are defined against native elements and do
46
+ * nothing when pointed at a custom one.
47
+ *
48
+ * @since 0.1.0
49
+ * @status stable
50
+ * @category overlays
51
+ * @aliases Modal, Lightbox, Sheet
52
+ * @documentation https://helix.fusion.dev/components/dialog
53
+ *
54
+ * @slot - The dialog's content.
55
+ * @slot footer - The actions.
56
+ * @slot header - The title, and anything beside it.
57
+ * @slot icon - A single mark above the title, for a dialog that warns.
58
+ *
59
+ * @event {Event} close - Relayed, because the platform's own does not escape.
60
+ * @event {HelixBeforeCloseEvent} helix-before-close - Fired before it closes, and cancelable.
61
+ * @event {HelixBeforeOpenEvent} helix-before-open - Fired before it opens, and cancelable.
62
+ * @event {Event} toggle - Says the state moved, carrying `newState` and `oldState`.
63
+ *
64
+ * @csspart dialog - The native dialog element.
65
+ */
66
+ let HelixHeadlessDialog = class HelixHeadlessDialog extends MixinControllerOpen(HelixElement) {
67
+ constructor() {
68
+ super(...arguments);
69
+ /**
70
+ * Accessible name for the dialog.
71
+ */
72
+ this.label = '';
73
+ /**
74
+ * Whether Escape can close it.
75
+ *
76
+ * Off for a dialog that must be answered. It does not disable the close
77
+ * control a consumer slots in: refusing to be dismissed is not the same as
78
+ * refusing to be closed, and a dialog with no way out at all is a trap.
79
+ *
80
+ * Escape *and* a press on the backdrop, which it now genuinely means. The
81
+ * sentence said both for a long time while nothing listened for a backdrop
82
+ * press, so it promised a behavior a consumer would have written their
83
+ * markup around; the fix then was to narrow the sentence, and the fix now is
84
+ * to build the half that was missing.
85
+ *
86
+ * A persistent dialog does not ignore that press. It answers it: see
87
+ * `refuse`, which is the only way a dialog that will not be dismissed can say
88
+ * so at the moment a reader asks.
89
+ */
90
+ this.persistent = false;
91
+ /* Opened and closed from anywhere on the page, without a line of script:
92
+ `<helix-button commandfor="…" command="--show">`. See `CommandController`
93
+ for why this is the platform's invoker rather than a `data-` recipe. */
94
+ this.commands = new CommandController(this, {
95
+ commands: {
96
+ '--close': () => this.close(),
97
+ '--show': () => this.show(),
98
+ '--toggle': () => this.toggleOpen(),
99
+ },
100
+ });
101
+ /** What a value set before the element existed is kept in. */
102
+ this.returned = '';
103
+ /**
104
+ * Escape, intercepted so it is a request rather than an act.
105
+ *
106
+ * The native `cancel` event fires before the dialog closes, so preventing it
107
+ * leaves the dialog open and lets `requestOpen` decide. Without this a reader
108
+ * pressing Escape would close a dialog its consumer had said was open, and
109
+ * the two would disagree until something else moved.
110
+ */
111
+ this.handleCancel = (event) => {
112
+ event.preventDefault();
113
+ if (this.persistent) {
114
+ return;
115
+ }
116
+ this.requestOpen(false);
117
+ };
118
+ /**
119
+ * A close that happened anyway, reflected back.
120
+ *
121
+ * `<form method="dialog">` closes the dialog directly and there is no event
122
+ * to prevent. Rather than fight it, the state follows: the dialog is shut, so
123
+ * saying otherwise would be a lie the next `showModal()` would trip over.
124
+ */
125
+ this.handleClose = (event) => {
126
+ if (this.open) {
127
+ this.requestOpen(false);
128
+ }
129
+ /* And under the platform's own name, from the host. `close` on a `<dialog>`
130
+ neither bubbles nor is composed, so the one the browser just fired reaches
131
+ nobody outside this shadow root, which is the same reason `Avatar` relays
132
+ `load`. Announced after the state has moved, so a consumer binding
133
+ `onClose` reads a dialog that is already shut.
134
+
135
+ `cancel` is deliberately not relayed. `handleCancel` prevents it so that
136
+ Escape is a request rather than an act, so the native one never completes:
137
+ relaying it would announce a dismissal that was refused. See 296. */
138
+ this.relayNativeEvent(event);
139
+ };
140
+ /**
141
+ * A press on the backdrop, which lands on the dialog element itself.
142
+ *
143
+ * **The target alone is not enough here, where it is for `Drawer`.** A modal
144
+ * `<dialog>` attributes backdrop clicks to itself, which is the usual trick,
145
+ * and this panel also carries `--dialog-padding` of padding: a press in that
146
+ * padding has the same target as a press on the backdrop, so the trick alone
147
+ * closes a dialog when a reader clicks just inside its own edge. The drawer
148
+ * escapes that because its panel is flush against the window and its content
149
+ * fills it. So the point is compared against the panel's box.
150
+ */
151
+ this.handleBackdrop = (event) => {
152
+ const panel = this.dialog;
153
+ if (!panel || event.target !== panel) {
154
+ return;
155
+ }
156
+ const box = panel.getBoundingClientRect();
157
+ if (event.clientX >= box.left &&
158
+ event.clientX <= box.right &&
159
+ event.clientY >= box.top &&
160
+ event.clientY <= box.bottom) {
161
+ return;
162
+ }
163
+ if (this.persistent) {
164
+ this.refuse();
165
+ return;
166
+ }
167
+ this.requestOpen(false);
168
+ };
169
+ }
170
+ /**
171
+ * What the dialog closed with, the way `<dialog>` reports it.
172
+ *
173
+ * **The whole point of a `<dialog>` returning a value is lost behind a shadow
174
+ * boundary**, which is where this one is: the platform's contract is
175
+ * `close(value)` then read `returnValue`, and a consumer could do neither
176
+ * because `querySelector` does not reach the element. A confirmation asking
177
+ * which button was pressed is the ordinary case and had no answer.
178
+ *
179
+ * Held here as well as on the element, so a value set before the first render
180
+ * survives to it and a consumer reading one back gets what they wrote.
181
+ */
182
+ get returnValue() {
183
+ return this.dialog?.returnValue ?? this.returned;
184
+ }
185
+ set returnValue(value) {
186
+ this.returned = value;
187
+ const dialog = this.dialog;
188
+ if (dialog) {
189
+ dialog.returnValue = value;
190
+ }
191
+ }
192
+ /** The native dialog, or nothing where there is no DOM to hold one. */
193
+ get dialog() {
194
+ return this.renderRoot?.querySelector('dialog') ?? null;
195
+ }
196
+ /** Moves focus into the dialog and makes the rest of the page inert. */
197
+ show() {
198
+ this.requestOpen(true);
199
+ }
200
+ /**
201
+ * Asks to close, which a consumer may refuse.
202
+ *
203
+ * Takes what the dialog closed with, the way `<dialog>.close(value)` does, so
204
+ * the button that dismissed it can say which one it was. Set before the
205
+ * request rather than after, because a `close` listener reads `returnValue`
206
+ * and would otherwise read the previous one.
207
+ *
208
+ * Not set where the request is refused, since nothing closed and a value
209
+ * saying it did would outlive the refusal.
210
+ */
211
+ close(returnValue) {
212
+ const previous = this.returnValue;
213
+ if (returnValue !== undefined) {
214
+ this.returnValue = returnValue;
215
+ }
216
+ if (!this.requestOpen(false) && returnValue !== undefined) {
217
+ this.returnValue = previous;
218
+ }
219
+ }
220
+ willUpdate(changed) {
221
+ super.willUpdate(changed);
222
+ hostAria(this.internals, { label: this.label });
223
+ }
224
+ updated(changed) {
225
+ super.updated(changed);
226
+ /* After render, because the element has to exist to be opened, and only on
227
+ a difference: `showModal()` on an open dialog throws, and `close()` on a
228
+ shut one fires a second `close` event. */
229
+ const dialog = this.dialog;
230
+ if (!dialog) {
231
+ return;
232
+ }
233
+ if (this.open && !dialog.open) {
234
+ /* **After the slotted elements have rendered, or the modal focuses
235
+ itself.** `showModal()` moves focus to the first focusable descendant,
236
+ and a custom element that has not rendered its shadow yet has none: the
237
+ browser falls back to the dialog. Markup never showed this, the parser
238
+ having upgraded everything before this element's first update, and
239
+ React does: it creates and connects the dialog before the chat inside
240
+ it has rendered, so a `default-open` dialog opened with focus on the
241
+ dialog rather than on the field, measured against the markup twin.
242
+
243
+ Awaited only for children that are Lit elements and only on the way
244
+ open; a dialog with no such children resolves on the same microtask and
245
+ is unchanged. */
246
+ void this.openWhenSlotted(dialog);
247
+ }
248
+ else if (!this.open && dialog.open) {
249
+ dialog.close();
250
+ }
251
+ }
252
+ /** Opens once anything slotted has had its first render. See `updated`. */
253
+ async openWhenSlotted(dialog) {
254
+ await Promise.all([...this.children]
255
+ .map((one) => one.updateComplete)
256
+ .filter((one) => one instanceof Promise));
257
+ /* Re-checked, because both facts can have moved while that resolved. */
258
+ if (this.open && !dialog.open && this.isConnected) {
259
+ dialog.showModal();
260
+ }
261
+ }
262
+ /**
263
+ * Says no to a dismissal, by moving.
264
+ *
265
+ * A persistent dialog that ignores a press on the backdrop is
266
+ * indistinguishable from one that did not notice, and a reader's next move is
267
+ * to press again harder. A short swell and settle is the smallest thing that
268
+ * reads as "I heard you, and no": it is the same gesture a native alert makes
269
+ * on macOS and the one every reader has already been taught.
270
+ *
271
+ * An attribute for the length of the animation rather than a class, cleared
272
+ * on `animationend`, so the styled tier decides what refusing looks like and
273
+ * this decides only when it happens. Removed first so a second press
274
+ * restarts it: without that, pressing twice does nothing the second time,
275
+ * which is the impression the whole thing exists to avoid.
276
+ */
277
+ refuse() {
278
+ const panel = this.dialog;
279
+ if (!panel) {
280
+ return;
281
+ }
282
+ panel.removeAttribute('data-refused');
283
+ // Read forces the removal to land before the attribute goes back on, or the
284
+ // two happen in one frame and the animation never restarts.
285
+ void panel.offsetWidth;
286
+ panel.setAttribute('data-refused', '');
287
+ panel.addEventListener('animationend', () => panel.removeAttribute('data-refused'), {
288
+ once: true,
289
+ });
290
+ }
291
+ render() {
292
+ return html `<dialog
293
+ part="dialog"
294
+ closedby=${this.closedBy ?? nothing}
295
+ aria-label=${this.label || 'Dialog'}
296
+ @cancel=${this.handleCancel}
297
+ @click=${this.handleBackdrop}
298
+ @close=${this.handleClose}
299
+ >
300
+ <slot name="icon"></slot>
301
+ <slot name="header"></slot>
302
+ <slot></slot>
303
+ <slot name="footer"></slot>
304
+ </dialog>`;
305
+ }
306
+ };
307
+ __decorate([
308
+ property()
309
+ ], HelixHeadlessDialog.prototype, "label", void 0);
310
+ __decorate([
311
+ property({ reflect: true, type: Boolean })
312
+ ], HelixHeadlessDialog.prototype, "persistent", void 0);
313
+ __decorate([
314
+ property({ attribute: 'closedby', reflect: true })
315
+ ], HelixHeadlessDialog.prototype, "closedBy", void 0);
316
+ HelixHeadlessDialog = __decorate([
317
+ customElement('helix-headless-dialog')
318
+ ], HelixHeadlessDialog);
319
+ export { HelixHeadlessDialog };
@@ -0,0 +1 @@
1
+ export * from './root/divider-root.js';
@@ -0,0 +1 @@
1
+ export * from './root/divider-root.js';
@@ -0,0 +1,68 @@
1
+ import { HelixElement } from '@fusion.dev/helix-core';
2
+ import { type PropertyValues, type TemplateResult } from 'lit';
3
+ /**
4
+ * @summary Separates content into groups with a rule.
5
+ *
6
+ * @description
7
+ * The separator role lives on the rule inside the shadow root rather than on
8
+ * the host. A role does not need to cross the shadow boundary the way an IDREF
9
+ * does, and putting it on the rendered element means the semantics are in the
10
+ * server's markup with no attribute written during a lifecycle the server never
11
+ * runs.
12
+ *
13
+ * Use `orientation="vertical"` between items on one line, such as inside a
14
+ * toolbar. A vertical divider stretches to its flex parent rather than setting
15
+ * a height of its own.
16
+ *
17
+ * @since 0.1.0
18
+ * @status stable
19
+ * @category layout
20
+ * @aliases Separator, Rule
21
+ * @documentation https://helix.fusion.dev/components/divider
22
+ *
23
+ * @slot - Content set into the rule, such as the word between two sections.
24
+ *
25
+ * @csspart content - What is set into it.
26
+ * @csspart line - The rule itself, or each half of it where something is set in.
27
+ */
28
+ export declare class HelixHeadlessDivider extends HelixElement {
29
+ /**
30
+ * Which way the rule runs.
31
+ */
32
+ orientation?: 'horizontal' | 'vertical';
33
+ /**
34
+ * Whether the rule is announced as a separator.
35
+ *
36
+ * Off by default, and out of the accessibility tree. Most rules on a page
37
+ * separate nothing: they underline a heading or close a section that space
38
+ * had already closed, and announcing every one as a separator is noise a
39
+ * screen-reader user has to walk past.
40
+ *
41
+ * An opt-in, not a `decorative` opt-out, because a boolean attribute cannot
42
+ * be turned off: `decorative="false"` parses as `true`, which would put the
43
+ * quiet default out of reach from HTML and leave it settable only as a
44
+ * property. An opt-in is absent by default, which every reflected property
45
+ * here has to be.
46
+ */
47
+ announced: boolean;
48
+ /**
49
+ * Marks the middle region when nothing has been set into it.
50
+ *
51
+ * A divider with no content has to be one continuous line, and the space
52
+ * either side of the content is what would break it. `:empty` cannot answer
53
+ * this and neither can `:host(:has(...))`, which is invalid CSS dropped at
54
+ * parse time: `check:selectors` caught exactly that rule here, written in
55
+ * this file, by an author who had already read the note saying so.
56
+ *
57
+ * On the region inside the shadow root rather than on the host, because an
58
+ * attribute written onto the host is a change to markup the consumer rendered.
59
+ */
60
+ private markEmpty;
61
+ protected updated(changed: PropertyValues): void;
62
+ protected render(): TemplateResult;
63
+ }
64
+ declare global {
65
+ interface HTMLElementTagNameMap {
66
+ 'helix-headless-divider': HelixHeadlessDivider;
67
+ }
68
+ }