@fusion.dev/helix 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/custom-elements.json +256 -256
  2. package/dist/accordion/item/accordion-item.css.js +0 -1
  3. package/dist/accordion/item/accordion-item.js +0 -29
  4. package/dist/accordion/root/accordion-root.css.js +0 -1
  5. package/dist/accordion/root/accordion-root.js +0 -20
  6. package/dist/announcement/root/announcement-root.css.js +0 -1
  7. package/dist/announcement/root/announcement-root.js +0 -16
  8. package/dist/app-header/root/app-header-root.css.js +0 -1
  9. package/dist/app-header/root/app-header-root.js +0 -45
  10. package/dist/aura/root/aura-axis.js +0 -58
  11. package/dist/aura/root/aura-root.css.js +0 -1
  12. package/dist/aura/root/aura-root.js +0 -520
  13. package/dist/aura/root/aura-shader.js +0 -35
  14. package/dist/avatar/group/avatar-group.css.js +0 -1
  15. package/dist/avatar/group/avatar-group.js +0 -24
  16. package/dist/avatar/root/avatar-root.css.js +0 -1
  17. package/dist/avatar/root/avatar-root.js +0 -23
  18. package/dist/badge/root/badge-root.css.js +0 -1
  19. package/dist/badge/root/badge-root.d.ts +2 -6
  20. package/dist/badge/root/badge-root.js +0 -18
  21. package/dist/bar-chart/root/bar-chart-root.css.js +0 -1
  22. package/dist/bar-chart/root/bar-chart-root.js +0 -50
  23. package/dist/blockquote/root/blockquote-root.css.js +0 -1
  24. package/dist/blockquote/root/blockquote-root.js +0 -17
  25. package/dist/breadcrumbs/breadcrumb/breadcrumb.css.js +0 -1
  26. package/dist/breadcrumbs/breadcrumb/breadcrumb.js +0 -28
  27. package/dist/breadcrumbs/root/breadcrumbs-root.css.js +0 -1
  28. package/dist/breadcrumbs/root/breadcrumbs-root.js +0 -19
  29. package/dist/button/root/button-root.css.js +0 -1
  30. package/dist/button/root/button-root.js +0 -38
  31. package/dist/button-group/root/button-group-root.css.js +0 -1
  32. package/dist/button-group/root/button-group-root.js +0 -24
  33. package/dist/callout/root/callout-root.css.js +0 -1
  34. package/dist/callout/root/callout-root.js +0 -26
  35. package/dist/card/root/card-root.css.js +0 -1
  36. package/dist/card/root/card-root.js +0 -45
  37. package/dist/carousel/root/carousel-root.css.js +0 -1
  38. package/dist/carousel/root/carousel-root.js +0 -24
  39. package/dist/chat/composer/chat-composer.css.js +0 -1
  40. package/dist/chat/composer/chat-composer.js +0 -26
  41. package/dist/chat/message/chat-message.css.js +0 -1
  42. package/dist/chat/message/chat-message.js +0 -29
  43. package/dist/chat/root/chat-root.css.js +0 -1
  44. package/dist/chat/root/chat-root.js +0 -38
  45. package/dist/checkbox/root/checkbox-root.css.js +0 -1
  46. package/dist/checkbox/root/checkbox-root.js +0 -26
  47. package/dist/checkbox-group/root/checkbox-group-root.css.js +0 -1
  48. package/dist/checkbox-group/root/checkbox-group-root.js +0 -15
  49. package/dist/code/root/code-root.css.js +0 -1
  50. package/dist/code/root/code-root.js +0 -21
  51. package/dist/code-block/root/code-block-root.css.js +0 -1
  52. package/dist/code-block/root/code-block-root.js +0 -19
  53. package/dist/color-input/root/color-input-root.css.js +0 -1
  54. package/dist/color-input/root/color-input-root.js +0 -42
  55. package/dist/color-picker/root/color-picker-root.css.js +0 -1
  56. package/dist/color-picker/root/color-picker-root.js +0 -42
  57. package/dist/combobox/root/combobox-root.css.js +0 -1
  58. package/dist/combobox/root/combobox-root.js +0 -28
  59. package/dist/command/root/command-root.css.js +0 -1
  60. package/dist/command/root/command-root.js +0 -21
  61. package/dist/copy-button/root/copy-button-root.css.js +0 -1
  62. package/dist/copy-button/root/copy-button-root.js +0 -14
  63. package/dist/data-table/root/data-table-root.css.js +0 -1
  64. package/dist/data-table/root/data-table-root.js +0 -39
  65. package/dist/date-input/root/date-input-root.css.js +0 -1
  66. package/dist/date-input/root/date-input-root.js +0 -38
  67. package/dist/date-picker/root/date-picker-root.css.js +0 -1
  68. package/dist/date-picker/root/date-picker-root.js +0 -28
  69. package/dist/dialog/root/dialog-root.css.js +0 -1
  70. package/dist/dialog/root/dialog-root.js +0 -31
  71. package/dist/divider/root/divider-root.css.js +0 -1
  72. package/dist/divider/root/divider-root.js +0 -24
  73. package/dist/donut-chart/root/donut-chart-root.css.js +0 -1
  74. package/dist/donut-chart/root/donut-chart-root.js +0 -49
  75. package/dist/drawer/root/drawer-root.css.js +0 -1
  76. package/dist/drawer/root/drawer-root.js +0 -38
  77. package/dist/drilldown/item/drilldown-item.css.js +0 -1
  78. package/dist/drilldown/item/drilldown-item.js +0 -15
  79. package/dist/drilldown/root/drilldown-root.css.js +0 -1
  80. package/dist/drilldown/root/drilldown-root.js +0 -23
  81. package/dist/element-events.generated.js +0 -5
  82. package/dist/empty/root/empty-root.css.js +0 -1
  83. package/dist/empty/root/empty-root.js +0 -16
  84. package/dist/file-input/root/file-input-root.css.js +0 -1
  85. package/dist/file-input/root/file-input-root.js +0 -30
  86. package/dist/flex/root/flex-root.css.js +0 -1
  87. package/dist/flex/root/flex-root.js +0 -32
  88. package/dist/format-date/root/format-date-root.css.js +0 -1
  89. package/dist/format-date/root/format-date-root.js +0 -17
  90. package/dist/grid/root/grid-root.css.js +0 -1
  91. package/dist/grid/root/grid-root.js +0 -69
  92. package/dist/heatmap/root/heatmap-root.css.js +0 -1
  93. package/dist/heatmap/root/heatmap-root.d.ts +9 -11
  94. package/dist/heatmap/root/heatmap-root.js +0 -73
  95. package/dist/icon/glyph.css.js +0 -1
  96. package/dist/icon/root/icon-root.css.js +0 -1
  97. package/dist/icon/root/icon-root.js +0 -19
  98. package/dist/icon-button/root/icon-button-root.css.js +0 -1
  99. package/dist/icon-button/root/icon-button-root.js +0 -35
  100. package/dist/image/root/image-root.css.js +0 -1
  101. package/dist/image/root/image-root.js +0 -28
  102. package/dist/index.js +0 -5
  103. package/dist/input/root/input-root.css.js +0 -1
  104. package/dist/input/root/input-root.js +0 -28
  105. package/dist/kbd/root/kbd-root.css.js +0 -1
  106. package/dist/kbd/root/kbd-root.js +0 -20
  107. package/dist/legend/root/legend-root.css.js +0 -1
  108. package/dist/legend/root/legend-root.js +0 -35
  109. package/dist/line-chart/root/line-chart-root.css.js +0 -1
  110. package/dist/line-chart/root/line-chart-root.js +0 -47
  111. package/dist/list/item/list-item.css.js +0 -1
  112. package/dist/list/item/list-item.js +0 -38
  113. package/dist/list/root/list-root.css.js +0 -1
  114. package/dist/list/root/list-root.js +0 -23
  115. package/dist/listbox/root/listbox-root.css.js +0 -1
  116. package/dist/listbox/root/listbox-root.js +0 -22
  117. package/dist/loader/root/loader-root.css.js +0 -1
  118. package/dist/loader/root/loader-root.js +0 -19
  119. package/dist/megamenu/root/megamenu-root.css.js +0 -1
  120. package/dist/megamenu/root/megamenu-root.js +0 -24
  121. package/dist/menu/item/menu-item.css.js +0 -1
  122. package/dist/menu/item/menu-item.js +0 -16
  123. package/dist/menu/root/menu-root.css.js +0 -1
  124. package/dist/menu/root/menu-root.js +0 -26
  125. package/dist/meter/root/meter-root.css.js +0 -1
  126. package/dist/meter/root/meter-root.js +0 -50
  127. package/dist/mixins/mixin-control-surface/mixin-control-surface.js +0 -3
  128. package/dist/navigation/root/navigation-root.css.js +0 -1
  129. package/dist/navigation/root/navigation-root.js +0 -18
  130. package/dist/notifications/notification/notification.css.js +0 -1
  131. package/dist/notifications/notification/notification.js +0 -53
  132. package/dist/notifications/root/notifications-root.css.js +0 -1
  133. package/dist/notifications/root/notifications-root.js +0 -31
  134. package/dist/number-input/root/number-input-root.css.js +0 -1
  135. package/dist/number-input/root/number-input-root.js +0 -31
  136. package/dist/option/group/option-group.css.js +0 -1
  137. package/dist/option/group/option-group.js +0 -13
  138. package/dist/option/root/option-root.css.js +0 -1
  139. package/dist/option/root/option-root.js +0 -20
  140. package/dist/outline/root/outline-root.css.js +0 -1
  141. package/dist/outline/root/outline-root.js +0 -21
  142. package/dist/pagination/root/pagination-root.css.js +0 -1
  143. package/dist/pagination/root/pagination-root.js +0 -49
  144. package/dist/pagination/size/pagination-size.css.js +0 -1
  145. package/dist/pagination/size/pagination-size.js +0 -25
  146. package/dist/pagination/summary/pagination-summary.css.js +0 -1
  147. package/dist/pagination/summary/pagination-summary.js +0 -13
  148. package/dist/pin-input/root/pin-input-root.css.js +0 -1
  149. package/dist/pin-input/root/pin-input-root.js +0 -27
  150. package/dist/popover/root/popover-root.css.js +0 -1
  151. package/dist/popover/root/popover-root.js +0 -30
  152. package/dist/progress/root/progress-root.css.js +0 -1
  153. package/dist/progress/root/progress-root.js +0 -25
  154. package/dist/qr-code/root/qr-code-root.css.js +0 -1
  155. package/dist/qr-code/root/qr-code-root.js +0 -27
  156. package/dist/quote/root/quote-root.css.js +0 -1
  157. package/dist/quote/root/quote-root.js +0 -15
  158. package/dist/radio/group/radio-group.css.js +0 -1
  159. package/dist/radio/group/radio-group.js +0 -16
  160. package/dist/radio/root/radio-root.css.js +0 -1
  161. package/dist/radio/root/radio-root.js +0 -46
  162. package/dist/rating/root/rating-root.css.js +0 -1
  163. package/dist/rating/root/rating-root.js +0 -22
  164. package/dist/sandbox/index.js +0 -14
  165. package/dist/sandbox/preview/sandbox-preview.css.js +0 -1
  166. package/dist/sandbox/preview/sandbox-preview.js +0 -182
  167. package/dist/sandbox/root/sandbox-root.css.js +0 -1
  168. package/dist/sandbox/root/sandbox-root.js +1 -295
  169. package/dist/sandbox/source/sandbox-source.css.js +0 -1
  170. package/dist/sandbox/source/sandbox-source.js +0 -77
  171. package/dist/sandbox/status-bar/sandbox-status-bar.css.js +0 -1
  172. package/dist/sandbox/status-bar/sandbox-status-bar.js +0 -38
  173. package/dist/sandbox/terminal/sandbox-terminal.css.js +0 -1
  174. package/dist/sandbox/terminal/sandbox-terminal.js +0 -54
  175. package/dist/sandbox/toolbar/sandbox-toolbar.css.js +0 -1
  176. package/dist/sandbox/toolbar/sandbox-toolbar.js +0 -29
  177. package/dist/scroll-area/root/scroll-area-root.css.js +0 -1
  178. package/dist/scroll-area/root/scroll-area-root.js +0 -24
  179. package/dist/select/root/select-root.css.js +0 -1
  180. package/dist/select/root/select-root.js +0 -33
  181. package/dist/shared/chart/series.css.js +0 -1
  182. package/dist/shared/chart/terminus.css.js +0 -1
  183. package/dist/shared/field/field-inline.css.js +0 -1
  184. package/dist/shared/field/field-stacked.css.js +0 -1
  185. package/dist/shared/field/field.css.js +0 -1
  186. package/dist/skeleton/root/skeleton-root.css.js +0 -1
  187. package/dist/skeleton/root/skeleton-root.js +0 -18
  188. package/dist/slider/root/slider-root.css.js +0 -1
  189. package/dist/slider/root/slider-root.js +0 -32
  190. package/dist/sparkline/root/sparkline-root.css.js +0 -1
  191. package/dist/sparkline/root/sparkline-root.js +0 -40
  192. package/dist/speed-dial/item/speed-dial-item.css.js +0 -1
  193. package/dist/speed-dial/item/speed-dial-item.js +0 -16
  194. package/dist/speed-dial/root/speed-dial-root.css.js +0 -1
  195. package/dist/speed-dial/root/speed-dial-root.js +0 -16
  196. package/dist/splitter/root/splitter-root.css.js +0 -1
  197. package/dist/splitter/root/splitter-root.js +0 -50
  198. package/dist/stat/group/stat-group.css.js +0 -1
  199. package/dist/stat/group/stat-group.js +0 -19
  200. package/dist/stat/root/stat-root.css.js +0 -1
  201. package/dist/stat/root/stat-root.js +0 -17
  202. package/dist/steps/root/steps-root.css.js +0 -1
  203. package/dist/steps/root/steps-root.js +0 -26
  204. package/dist/steps/step/step.css.js +0 -1
  205. package/dist/steps/step/step.js +0 -12
  206. package/dist/switch/root/switch-root.css.js +0 -1
  207. package/dist/switch/root/switch-root.js +0 -32
  208. package/dist/table/cell/table-cell.css.js +0 -1
  209. package/dist/table/cell/table-cell.js +0 -14
  210. package/dist/table/column/table-column.css.js +0 -1
  211. package/dist/table/column/table-column.js +0 -13
  212. package/dist/table/root/table-root.css.js +0 -1
  213. package/dist/table/root/table-root.js +0 -19
  214. package/dist/table/row/table-row.css.js +0 -1
  215. package/dist/table/row/table-row.js +0 -14
  216. package/dist/tabs/panel/tab-panel.css.js +0 -1
  217. package/dist/tabs/panel/tab-panel.js +0 -16
  218. package/dist/tabs/root/tabs-root.css.js +0 -1
  219. package/dist/tabs/root/tabs-root.js +0 -19
  220. package/dist/tabs/tab/tab.css.js +0 -1
  221. package/dist/tabs/tab/tab.js +0 -16
  222. package/dist/tag/root/tag-root.css.js +0 -1
  223. package/dist/tag/root/tag-root.js +0 -25
  224. package/dist/text/root/text-root.css.js +0 -1
  225. package/dist/text/root/text-root.js +0 -48
  226. package/dist/textarea/root/textarea-root.css.js +0 -1
  227. package/dist/textarea/root/textarea-root.js +0 -17
  228. package/dist/time-input/root/time-input-root.css.js +0 -1
  229. package/dist/time-input/root/time-input-root.js +0 -31
  230. package/dist/time-picker/root/time-picker-root.css.js +0 -1
  231. package/dist/time-picker/root/time-picker-root.js +0 -29
  232. package/dist/timeline/item/timeline-item.css.js +0 -1
  233. package/dist/timeline/item/timeline-item.js +0 -17
  234. package/dist/timeline/root/timeline-root.css.js +0 -1
  235. package/dist/timeline/root/timeline-root.js +0 -15
  236. package/dist/toast/item/toast-item.css.js +0 -1
  237. package/dist/toast/item/toast-item.js +0 -21
  238. package/dist/toast/root/toast-root.css.js +0 -1
  239. package/dist/toast/root/toast-root.js +0 -27
  240. package/dist/toggle/group/toggle-group.css.js +0 -1
  241. package/dist/toggle/group/toggle-group.js +0 -25
  242. package/dist/toggle/root/toggle-root.css.js +0 -1
  243. package/dist/toggle/root/toggle-root.js +0 -18
  244. package/dist/toolbar/root/toolbar-root.css.js +0 -1
  245. package/dist/toolbar/root/toolbar-root.js +0 -19
  246. package/dist/tooltip/root/tooltip-root.css.js +0 -1
  247. package/dist/tooltip/root/tooltip-root.js +0 -22
  248. package/dist/tour/root/tour-root.css.js +0 -1
  249. package/dist/tour/root/tour-root.js +0 -14
  250. package/dist/tour/stop/tour-stop.css.js +0 -1
  251. package/dist/tour/stop/tour-stop.js +0 -22
  252. package/dist/tree/item/tree-item.css.js +0 -1
  253. package/dist/tree/item/tree-item.js +0 -34
  254. package/dist/tree/root/tree-root.css.js +0 -1
  255. package/dist/tree/root/tree-root.js +0 -27
  256. package/dist/trend/root/trend-root.css.js +0 -1
  257. package/dist/trend/root/trend-root.js +0 -34
  258. package/dist/video/root/video-root.css.js +0 -1
  259. package/dist/video/root/video-root.js +0 -37
  260. package/dist/video-playlist/item/video-playlist-item.css.js +0 -1
  261. package/dist/video-playlist/item/video-playlist-item.js +0 -15
  262. package/dist/video-playlist/menu/video-playlist-menu.css.js +0 -1
  263. package/dist/video-playlist/menu/video-playlist-menu.js +0 -36
  264. package/dist/video-playlist/root/video-playlist-root.css.js +0 -1
  265. package/dist/video-playlist/root/video-playlist-root.js +0 -16
  266. package/dist/virtual-list/root/virtual-list-root.css.js +0 -1
  267. package/dist/virtual-list/root/virtual-list-root.js +0 -21
  268. package/jsx.d.ts +1538 -2818
  269. package/package.json +7 -7
  270. package/vue.d.ts +3 -7
@@ -8,35 +8,6 @@ import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessChatMessage } from '@fusion.dev/helix-headless/chat';
9
9
  import { property } from 'lit/decorators.js';
10
10
  import { styles } from './chat-message.css.js';
11
- /**
12
- * @summary One turn in a conversation, and what has happened to it.
13
- *
14
- * @description
15
- * **`author="me"` is the one piece of paint that says whose turn it is**, and it
16
- * says it by which edge the turn sits against. Everything else about a turn is
17
- * the same on both sides, because two bubble styles is two components.
18
- *
19
- * A failure is the only state that takes a tone, because it is the one a reader
20
- * has to find rather than notice. `streaming` is left alone: the text arriving
21
- * is the signal, and decorating it competes with the thing it is decorating.
22
- *
23
- * @since 0.1.0
24
- * @status experimental
25
- * @category feedback
26
- * @documentation https://helix.fusion.dev/components/chat
27
- *
28
- * @slot - What was said.
29
- * @slot actions - What can be done with it.
30
- * @slot avatar - Who said it.
31
- *
32
- * @csspart content - What was said.
33
- * @csspart meta - The time and the state together.
34
- *
35
- * @cssproperty --chat-message-background-color - Fill behind a turn.
36
- * @cssproperty --chat-message-background-color-me - Fill behind the reader's own turns.
37
- * @cssproperty --chat-message-color - Ink in a turn.
38
- * @cssproperty --chat-message-measure - How wide a turn may get before it wraps.
39
- */
40
11
  let HelixChatMessage = class HelixChatMessage extends HelixHeadlessChatMessage {
41
12
  static { this.tier = 'helix-'; }
42
13
  static { this.styles = styles; }
@@ -1,4 +1,3 @@
1
- // Generated from src/chat/root/chat-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`:host {
4
3
  display: grid;
@@ -9,44 +9,6 @@ import { HelixHeadlessChat } from '@fusion.dev/helix-headless/chat';
9
9
  import { styles } from './chat-root.css.js';
10
10
  import '../composer/chat-composer.js';
11
11
  import '../message/chat-message.js';
12
- /**
13
- * @summary A conversation: the turns, and where the reader is in them.
14
- *
15
- * @description
16
- * Three regions stacked, and only the transcript scrolls: a composer that slid
17
- * away as the reader scrolled up to re-read would be the thing they were about
18
- * to type into.
19
- *
20
- * **The transcript keeps its turns at the bottom when there are too few to fill
21
- * it**, which is what a conversation looks like. A new one starting at the top
22
- * of an empty column reads as a document.
23
- *
24
- * The way back sits over the transcript rather than in the column, so offering
25
- * it does not move what the reader is reading, which is the whole point of
26
- * offering it.
27
- *
28
- * @since 0.1.0
29
- * @status experimental
30
- * @category feedback
31
- * @documentation https://helix.fusion.dev/components/chat
32
- *
33
- * @slot - The turns, as `helix-chat-message` children.
34
- * @slot composer - Below the transcript, where the reader writes.
35
- * @slot header - Above the transcript.
36
- * @slot resume - The way back to the bottom.
37
- * @slot status - Beside the composer: somebody typing, connection lost.
38
- *
39
- * @csspart composer - The region the composer sits in.
40
- * @csspart log - The transcript, which is the thing that scrolls.
41
- *
42
- * @cssproperty --chat-gap - Space between turns.
43
- * @cssproperty --chat-max-block-size - How tall the conversation may get before the transcript scrolls.
44
- * @cssproperty --chat-padding-inline - Space either side of every region.
45
- * @cssproperty --chat-resume-border-color - The edge around the way back.
46
- * @cssproperty --chat-resume-border-width - How thick that edge is, for a surface over content.
47
- * @cssproperty --chat-resume-shadow - The lift under the way back, which floats over the transcript.
48
- * @cssproperty --chat-rule - The hairline under the header.
49
- */
50
12
  let HelixChat = class HelixChat extends HelixHeadlessChat {
51
13
  static { this.tier = 'helix-'; }
52
14
  static { this.styles = styles; }
@@ -1,4 +1,3 @@
1
- // Generated from src/checkbox/root/checkbox-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`:host {
4
3
  display: inline-flex;
@@ -10,32 +10,6 @@ import { property } from 'lit/decorators.js';
10
10
  import { styles as fieldStyles } from '../../shared/field/field.css.js';
11
11
  import { styles as fieldInlineStyles } from '../../shared/field/field-inline.css.js';
12
12
  import { styles } from './checkbox-root.css.js';
13
- /**
14
- * @summary A box that is ticked, or not, or neither.
15
- *
16
- * @description
17
- * The box is the native input, restyled rather than replaced, so the tick and
18
- * the indeterminate dash are the browser's own and the control stays a control
19
- * for anything reading the page.
20
- *
21
- * The label sits beside it and the whole thing is the click target, which is
22
- * what a native `<label>` wrapping a checkbox gives and what a reader expects.
23
- *
24
- * @since 0.1.0
25
- * @status experimental
26
- * @category forms
27
- * @aliases Tickbox, Toggle
28
- * @documentation https://helix.fusion.dev/components/checkbox
29
- *
30
- * @cssproperty --checkbox-background-color - Fill of an unticked box.
31
- * @cssproperty --checkbox-border-color - Edge of the box, in every state.
32
- * @cssproperty --checkbox-card-background-color - Fill behind a card-shaped choice.
33
- * @cssproperty --checkbox-card-border-color - Edge around one.
34
- * @cssproperty --checkbox-card-padding - Inset of the card appearance.
35
- * @cssproperty --checkbox-checked-color - Fill of a ticked box.
36
- * @cssproperty --checkbox-mark-color - Ink the tick is drawn in.
37
- * @cssproperty --checkbox-size - Width and height of the box.
38
- */
39
13
  let HelixCheckbox = class HelixCheckbox extends HelixHeadlessCheckbox {
40
14
  static { this.styles = [fieldStyles, fieldInlineStyles, styles]; }
41
15
  };
@@ -1,4 +1,3 @@
1
- // Generated from src/checkbox-group/root/checkbox-group-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`:host {
4
3
  display: flex;
@@ -10,21 +10,6 @@ import { property } from 'lit/decorators.js';
10
10
  import { styles as fieldStyles } from '../../shared/field/field.css.js';
11
11
  import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
12
12
  import { styles } from './checkbox-group-root.css.js';
13
- /**
14
- * @summary Groups related checkboxes, and reports them as one set.
15
- *
16
- * @description
17
- * A column by default, which is what a list of choices wants: the eye scans one
18
- * line per answer rather than hunting along a row.
19
- *
20
- * @since 0.1.0
21
- * @status stable
22
- * @category forms
23
- * @aliases Checkbox list, Multi-select
24
- * @documentation https://helix.fusion.dev/components/checkbox-group
25
- *
26
- * @cssproperty --checkbox-group-gap - Space between the boxes.
27
- */
28
13
  let HelixCheckboxGroup = class HelixCheckboxGroup extends HelixHeadlessCheckboxGroup {
29
14
  static { this.styles = [fieldStyles, fieldStackedStyles, styles]; }
30
15
  };
@@ -1,4 +1,3 @@
1
- // Generated from src/code/root/code-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`:host {
4
3
  display: inline;
@@ -7,27 +7,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessCode } from '@fusion.dev/helix-headless/code';
9
9
  import { styles } from './code-root.css.js';
10
- /**
11
- * @summary A fragment of code inside a line of prose.
12
- *
13
- * @description
14
- * A step down the scale, because a monospace face reads larger than the prose
15
- * around it at the same nominal size. `--code-size` overrides it.
16
- *
17
- * @since 0.1.0
18
- * @status stable
19
- * @category typography
20
- * @documentation https://helix.fusion.dev/components/code
21
- *
22
- * @cssproperty --code-background-color - Fill behind the fragment. Defaults to a 6%
23
- * wash of the ink, which composites the same against a light page and a dark one.
24
- * @cssproperty --code-foreground-color - The fragment's ink. Defaults to the prose's
25
- * own, pulled back towards `foreground-muted`.
26
- * @cssproperty --code-padding - Space either side of the fragment. Defaults to half
27
- * of `space-2xs`, which is what keeps a bracket beside the chip rather than a space
28
- * away from it.
29
- * @cssproperty --code-size - The fragment's size. Defaults to `text-sm`.
30
- */
31
10
  let HelixCode = class HelixCode extends HelixHeadlessCode {
32
11
  static { this.styles = styles; }
33
12
  };
@@ -1,4 +1,3 @@
1
- // Generated from src/code-block/root/code-block-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`:host {
4
3
  display: flex;
@@ -8,25 +8,6 @@ import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessCodeBlock } from '@fusion.dev/helix-headless/code-block';
9
9
  import { styles } from './code-block-root.css.js';
10
10
  import '../../copy-button/index.js';
11
- /**
12
- * @summary A block of code, with somewhere to put its name and a way to take it.
13
- *
14
- * @description
15
- * The header sits above the code rather than floating on it. Overlaid, which is
16
- * the usual build, the copy button covers the first line, which is the one line
17
- * of a snippet a reader is most likely to be reading.
18
- *
19
- * @since 0.1.0
20
- * @status stable
21
- * @category typography
22
- * @documentation https://helix.fusion.dev/components/code-block
23
- *
24
- * @cssproperty --code-block-backdrop - A filter over what shows through the block and its header, for a translucent ground.
25
- * @cssproperty --code-block-background-color - The ground behind the code, for a block that is not on the page.
26
- * @cssproperty --code-block-border-color - The line around the block and its header.
27
- * @cssproperty --code-block-header-background-color - The ground behind the name, where it should not be `surface-raised`.
28
- * @cssproperty --code-block-radius - The corner on the header's top and the block's bottom, which are one shape.
29
- */
30
11
  let HelixCodeBlock = class HelixCodeBlock extends HelixHeadlessCodeBlock {
31
12
  static { this.tier = 'helix-'; }
32
13
  static { this.styles = styles; }
@@ -1,4 +1,3 @@
1
- // Generated from src/color-input/root/color-input-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`:host {
4
3
  display: block;
@@ -6,52 +6,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessColorInput } from '@fusion.dev/helix-headless/color-input';
9
- /* Side-effect import, because the tier below renders `<helix-color-picker>` and
10
- a custom element registers on import. Inherited from the base along with the
11
- template, which is why it has to be restated here: this file has no
12
- `<helix-color-picker>` in it to remind anyone. */
13
9
  import '../../color-picker/index.js';
14
10
  import { styles as fieldStyles } from '../../shared/field/field.css.js';
15
11
  import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
16
12
  import { styles } from './color-input-root.css.js';
17
- /**
18
- * @summary A color, typed in any syntax or picked from a panel.
19
- *
20
- * @description
21
- * The frame is the field rather than the input, so the trigger sits inside the
22
- * same box as the text and the focus ring is drawn once around the whole
23
- * control.
24
- *
25
- * **The trigger fills the trailing end rather than sitting in it as an icon.** A
26
- * color field has one thing to show and it is a color, so the swatch takes the
27
- * height of the control and reads as a block of it. It is the one field here
28
- * whose trailing affordance is the value itself: Date Input's calendar mark
29
- * stands for an action, and an action stretched to field height is a large icon
30
- * and nothing more.
31
- *
32
- * **The panel has no padding, and clips instead.** The square runs to its edge
33
- * and takes the panel's rounded corners from being clipped by it, rather than
34
- * sitting inset with a band of overlay showing on all four sides. The picker
35
- * pads its own lower rows.
36
- *
37
- * @since 0.1.0
38
- * @status experimental
39
- * @category forms
40
- * @aliases ColorField, ColourInput, InputColor
41
- * @documentation https://helix.fusion.dev/components/color-input
42
- *
43
- * @cssproperty --color-input-background-color - Fill behind the field.
44
- * @cssproperty --color-input-border-color - Color of the panel's edge.
45
- * @cssproperty --color-input-border-width - Width of the panel's edge. Follows
46
- * `--helix-border-floating`, which is `0`, so the panel is told apart by its lift unless a
47
- * theme says otherwise.
48
- * @cssproperty --color-input-panel-size - Width of the panel, and so of the square.
49
- * @cssproperty --color-input-shadow - Lift under the panel. Follows
50
- * `--helix-shadow-floating`: a floating surface sits over content nobody can predict, so it
51
- * keeps a lift by default.
52
- * @cssproperty --color-input-swatch-radius - Corner radius of that block.
53
- * @cssproperty --color-input-swatch-size - Edge length of the block in `appearance="swatch"`.
54
- */
55
13
  let HelixColorInput = class HelixColorInput extends HelixHeadlessColorInput {
56
14
  static { this.tier = 'helix-'; }
57
15
  static { this.styles = [fieldStyles, fieldStackedStyles, styles]; }
@@ -1,4 +1,3 @@
1
- // Generated from src/color-picker/root/color-picker-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`:host {
4
3
  display: block;
@@ -6,54 +6,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessColorPicker } from '@fusion.dev/helix-headless/color-picker';
9
- /* Side-effect imports, because the tier below renders each of these tags and a
10
- custom element registers on import. Inherited from the base along with the
11
- template, which is why they have to be restated here: this file has none of
12
- the tags in it to remind anyone. */
13
9
  import '../../button/index.js';
14
10
  import '../../button-group/index.js';
15
11
  import '../../icon/index.js';
16
12
  import '../../slider/index.js';
17
13
  import { styles as glyphStyles } from '../../icon/glyph.css.js';
18
14
  import { styles } from './color-picker-root.css.js';
19
- /**
20
- * @summary Picks a color, from a square and two ramps.
21
- *
22
- * @description
23
- * **The square is painted in three layers, not composited from elements**: the
24
- * hue underneath, white sliding in from the left to take the saturation out,
25
- * black rising from the bottom to take the brightness out. One element, one
26
- * declaration, and it repaints as the hue moves because the hue is a custom
27
- * property the tier below writes.
28
- *
29
- * **The two range inputs over it are invisible and still there.** Not
30
- * `display: none` and not `visibility: hidden`, either of which would take them
31
- * out of the tab order and out of the accessibility tree, which is the entire
32
- * reason a square built this way is reachable at all. They carry
33
- * `pointer-events: none` so the square answers the pointer itself, and the focus
34
- * ring is drawn on the square rather than on them, so it lands where the reader
35
- * is looking.
36
- *
37
- * **Every chip sits on a checkerboard.** A color with alpha painted on a solid
38
- * background is just a different color, and the one thing a preview owes a
39
- * reader is the difference between "pale blue" and "blue, half transparent".
40
- *
41
- * No padding and no surface of its own. Flat on a page it takes the space it is
42
- * given, and in Color Input's panel the panel supplies both: a picker that
43
- * brought its own card would be a card inside a card there.
44
- *
45
- * @since 0.1.0
46
- * @status experimental
47
- * @category forms
48
- * @aliases Color, ColorArea, Swatch picker
49
- * @documentation https://helix.fusion.dev/components/color-picker
50
- *
51
- * @cssproperty --color-picker-grid-radius - Corner radius of the square.
52
- * @cssproperty --color-picker-grid-ratio - Aspect ratio of the square.
53
- * @cssproperty --color-picker-padding - Inset of the rows under the square, and the bottom.
54
- * @cssproperty --color-picker-sample-size - Edge length of the chip that copies the value.
55
- * @cssproperty --color-picker-swatch-size - Edge length of one preset.
56
- */
57
15
  let HelixColorPicker = class HelixColorPicker extends HelixHeadlessColorPicker {
58
16
  static { this.tier = 'helix-'; }
59
17
  static { this.styles = [glyphStyles, styles]; }
@@ -1,4 +1,3 @@
1
- // Generated from src/combobox/root/combobox-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`:host {
4
3
  display: flex;
@@ -6,39 +6,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessCombobox } from '@fusion.dev/helix-headless/combobox';
9
- /* Side-effect import, because the tier below renders `<helix-listbox>` and a
10
- custom element registers on import. Inherited from the base along with the
11
- template, which is why it is restated here: this file has no `<helix-listbox>`
12
- in it to remind anyone. */
13
9
  import '../../listbox/index.js';
14
10
  import '../../tag/index.js';
15
11
  import { styles as fieldStyles } from '../../shared/field/field.css.js';
16
12
  import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
17
13
  import { styles } from './combobox-root.css.js';
18
- /**
19
- * @summary A field that filters a list as it is typed into.
20
- *
21
- * @description
22
- * The frame is the field rather than the input, so the caret, the marks and the
23
- * focus ring are drawn once around the whole control, which is the arrangement
24
- * Input, Color Input and Date Input all take.
25
- *
26
- * @since 0.1.0
27
- * @status experimental
28
- * @category forms
29
- * @aliases Autocomplete, Typeahead, Search select
30
- * @documentation https://helix.fusion.dev/components/combobox
31
- *
32
- * @cssproperty --combobox-background-color - Fill behind the field.
33
- * @cssproperty --combobox-border-color - Color of the panel's edge.
34
- * @cssproperty --combobox-border-width - Width of the panel's edge. Follows
35
- * `--helix-border-floating`, which is `0`, so the panel is told apart by its lift unless a
36
- * theme says otherwise.
37
- * @cssproperty --combobox-control-size - Smallest the text field shrinks to
38
- * @cssproperty --combobox-panel-size - Width of the panel. Follows the field by default.
39
- * @cssproperty --combobox-shadow - Lift under the panel. Follows `--helix-shadow-floating`: a
40
- * floating surface sits over content nobody can predict, so it keeps a lift by default.
41
- */
42
14
  let HelixCombobox = class HelixCombobox extends HelixHeadlessCombobox {
43
15
  static { this.tier = 'helix-'; }
44
16
  static { this.styles = [fieldStyles, fieldStackedStyles, styles]; }
@@ -1,4 +1,3 @@
1
- // Generated from src/command/root/command-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`helix-dialog::part(dialog) {
4
3
  align-self: start;
@@ -6,30 +6,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessCommand } from '@fusion.dev/helix-headless/command';
9
- /* Side-effect imports: this renders both, and a custom element registers on
10
- import, so a consumer importing this family alone would otherwise get two
11
- inert unknown elements. */
12
9
  import '../../dialog/index.js';
13
10
  import '../../listbox/index.js';
14
11
  import { styles } from './command-root.css.js';
15
- /**
16
- * @summary A list of commands, opened from anywhere and filtered by typing.
17
- *
18
- * @description
19
- * The palette is a dialog holding a filterable listbox, so what this tier adds
20
- * is where that dialog sits and how the list reads inside it. It opens against
21
- * the top of the window rather than centered, which is where every palette a
22
- * reader has used opens: a list that grows and shrinks as it is filtered would
23
- * otherwise walk up and down the screen under the words being typed.
24
- *
25
- * @since 0.1.0
26
- * @status stable
27
- * @category navigation
28
- * @documentation https://helix.fusion.dev/components/command
29
- *
30
- * @cssproperty --command-list-size - How tall the list grows before it scrolls.
31
- * @cssproperty --command-size - How wide the palette is. Defaults to `40rem`.
32
- */
33
12
  let HelixCommand = class HelixCommand extends HelixHeadlessCommand {
34
13
  static { this.tier = 'helix-'; }
35
14
  static { this.styles = styles; }
@@ -1,4 +1,3 @@
1
- // Generated from src/copy-button/root/copy-button-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`[part="button"] {
4
3
  display: inline-grid;
@@ -10,20 +10,6 @@ import { HelixIconButton } from '../../icon-button/root/icon-button-root.js';
10
10
  import { MixinControlSurface } from '../../mixins/mixin-control-surface/mixin-control-surface.js';
11
11
  import { styles } from './copy-button-root.css.js';
12
12
  import '../../tooltip/index.js';
13
- /**
14
- * @summary A button that puts a string on the clipboard and says it did.
15
- *
16
- * @description
17
- * Takes the icon button's square box, then stacks its two faces in one grid
18
- * cell so the press never changes the button's size. See the stylesheet: a
19
- * control that resizes under the pointer at the moment a reader is looking at
20
- * it for reassurance reads as a second, accidental press.
21
- *
22
- * @since 0.1.0
23
- * @status experimental
24
- * @category actions
25
- * @documentation https://helix.fusion.dev/components/copy-button
26
- */
27
13
  let HelixCopyButton = class HelixCopyButton extends MixinControlSurface(HelixHeadlessCopyButton) {
28
14
  static { this.tier = 'helix-'; }
29
15
  static { this.styles = [HelixIconButton.styles, styles].flat(); }
@@ -1,4 +1,3 @@
1
- // Generated from src/data-table/root/data-table-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`:host {
4
3
  display: block;
@@ -9,45 +9,6 @@ import { HelixHeadlessDataTable } from '@fusion.dev/helix-headless/data-table';
9
9
  import { styles } from './data-table-root.css.js';
10
10
  import '../../pagination/index.js';
11
11
  import '../../table/index.js';
12
- /**
13
- * @summary A table that owns a result: rows as data, with sort, filter and paging.
14
- *
15
- * @description
16
- * Hairline rules between rows and no fill, per the rule that depth comes from a
17
- * single border rather than from elevation. A header band would be elevation
18
- * spelled differently, so the headings are weight and color instead.
19
- *
20
- * The grid scrolls its own box and the toolbar and footer sit outside it: a
21
- * search field that slides sideways when a reader scrolls the columns is a
22
- * search field they lose.
23
- *
24
- * **The cell values do not server-render**, which is the headless tier's
25
- * limitation and worth repeating where a consumer chooses between the two: use
26
- * `helix-table` where the content has to be in the served HTML.
27
- *
28
- * @since 0.1.0
29
- * @status experimental
30
- * @category data
31
- * @documentation https://helix.fusion.dev/components/data-table
32
- *
33
- * @slot - The columns, declared as `helix-table-column` children.
34
- * @slot footer - Below the grid, replacing the pagination this would otherwise draw.
35
- * @slot toolbar - Above the grid, for a search field or actions.
36
- *
37
- * @csspart cell - One cell.
38
- * @csspart table - The grid.
39
- *
40
- * @cssproperty --data-table-color - Ink in a cell.
41
- * @cssproperty --data-table-columns - Track list for the columns, which wins over the one the columns worked out.
42
- * @cssproperty --data-table-heading-color - Ink in a heading.
43
- * @cssproperty --data-table-padding-block - Space above and below a cell's content.
44
- * @cssproperty --data-table-padding-inline - Space either side of a cell's content.
45
- * @cssproperty --data-table-rule-color - Color of the hairline between rows. A color
46
- * and not a border: it lands in the color slot of a shorthand, so a whole border
47
- * written into it produces invalid CSS and drops the rule. Drawn on the cells rather
48
- * than the row, which is `display: contents` and measures `0px`.
49
- * @cssproperty --data-table-text - Type size, headings and cells alike.
50
- */
51
12
  let HelixDataTable = class HelixDataTable extends HelixHeadlessDataTable {
52
13
  static { this.tier = 'helix-'; }
53
14
  static { this.styles = styles; }
@@ -1,4 +1,3 @@
1
- // Generated from src/date-input/root/date-input-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`[part="field"] {
4
3
  align-items: center;
@@ -6,49 +6,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessDateInput } from '@fusion.dev/helix-headless/date-input';
9
- /* Side-effect import, because the headless tier's template names `helix-date-picker`
10
- rather than the base tag, and a custom element registers on import. Without it
11
- a consumer importing this one family got a panel with an unknown element in
12
- it: `helix-headless-date-picker` was registered by the tier below and the tag being
13
- rendered was not, so the calendar was an empty inert box. It only ever looked
14
- right because the sandbox imports the whole barrel. Same arrangement Select
15
- uses for its listbox and Pagination for its select. */
16
9
  import '../../date-picker/index.js';
17
10
  import '../../tag/index.js';
18
11
  import { styles as fieldStyles } from '../../shared/field/field.css.js';
19
12
  import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
20
13
  import { styles } from './date-input-root.css.js';
21
- /**
22
- * @summary A date, typed or picked from a calendar.
23
- *
24
- * @description
25
- * The frame is the field rather than the input, so the trigger sits inside the
26
- * same box as the text and the focus ring is drawn once around the whole
27
- * control. The trigger is a mark within that box rather than a button beside it:
28
- * a second frame inside the first is two controls where a reader sees one.
29
- *
30
- * The calendar is the real `helix-date-picker`, in a panel with no border of its
31
- * own. A surface over the page is told apart by its shadow and by what it
32
- * covers, and a line around it as well reads as a box drawn around something
33
- * already separate.
34
- *
35
- * Height comes from the region, like every other control: `data-density` on
36
- * whatever holds it.
37
- *
38
- * @since 0.1.0
39
- * @status experimental
40
- * @category forms
41
- * @aliases DatePicker, DateField, InputDate
42
- * @documentation https://helix.fusion.dev/components/date-input
43
- *
44
- * @cssproperty --date-input-background-color - Fill behind the field.
45
- * @cssproperty --date-input-border-color - Color of the panel's edge.
46
- * @cssproperty --date-input-border-width - Width of the panel's edge. Follows
47
- * `--helix-border-floating`, which is `0`, so the panel is told apart by its lift unless a
48
- * theme says otherwise.
49
- * @cssproperty --date-input-shadow - Lift under the panel. Follows `--helix-shadow-floating`:
50
- * a floating surface sits over content nobody can predict, so it keeps a lift by default.
51
- */
52
14
  let HelixDateInput = class HelixDateInput extends HelixHeadlessDateInput {
53
15
  static { this.tier = 'helix-'; }
54
16
  static { this.styles = [fieldStyles, fieldStackedStyles, styles]; }
@@ -1,4 +1,3 @@
1
- // Generated from src/date-picker/root/date-picker-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`:host {
4
3
  display: inline-block;
@@ -7,34 +7,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessDatePicker } from '@fusion.dev/helix-headless/date-picker';
9
9
  import { styles } from './date-picker-root.css.js';
10
- /**
11
- * @summary Shows a month, and takes a date from it.
12
- *
13
- * @description
14
- * Six week rows always, so the grid keeps one height and a month change does
15
- * not move whatever sits beneath it.
16
- *
17
- * The column track is wider than the day, and the day is centered in it. The
18
- * difference is the space between days, which belongs to the track rather than
19
- * to a `gap`, so a range can paint across the whole track and stay continuous.
20
- *
21
- * Days from the neighboring months stay in place and stay selectable, marked
22
- * quieter rather than hidden, so the first and last weeks are whole and the
23
- * grid reads as a continuous run of dates.
24
- *
25
- * @since 0.1.0
26
- * @status experimental
27
- * @category forms
28
- * @aliases Calendar, Date grid, Month view
29
- * @documentation https://helix.fusion.dev/components/date-picker
30
- *
31
- * @cssproperty --date-picker-columns - Months per row. Two unless there is only one.
32
- * @cssproperty --date-picker-day-size - Width and height of a day.
33
- * @cssproperty --date-picker-range-color - Band behind the days in a range.
34
- * @cssproperty --date-picker-row-size - Height of a week row.
35
- * @cssproperty --date-picker-selected-color - Fill behind a selected day.
36
- * @cssproperty --date-picker-track-size - Width of a column, which is what sets the space between days.
37
- */
38
10
  let HelixDatePicker = class HelixDatePicker extends HelixHeadlessDatePicker {
39
11
  static { this.styles = styles; }
40
12
  };
@@ -1,4 +1,3 @@
1
- // Generated from src/dialog/root/dialog-root.css by `turbo run styles`. Do not edit.
2
1
  import { createSheet } from '@fusion.dev/helix-core';
3
2
  export const styles = createSheet(`:host {
4
3
  display: contents;