@fusion.dev/helix 0.0.0-dev → 0.0.2

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 (227) hide show
  1. package/custom-elements.json +5565 -5519
  2. package/dist/accordion/item/accordion-item.css.js +1 -19
  3. package/dist/accordion/root/accordion-root.css.js +1 -1
  4. package/dist/accordion/root/accordion-root.d.ts +1 -1
  5. package/dist/accordion/root/accordion-root.js +1 -1
  6. package/dist/announcement/root/announcement-root.css.js +1 -7
  7. package/dist/app-header/root/app-header-root.css.js +1 -7
  8. package/dist/app-header/root/app-header-root.d.ts +20 -23
  9. package/dist/app-header/root/app-header-root.js +4 -4
  10. package/dist/aura/root/aura-axis.d.ts +5 -7
  11. package/dist/aura/root/aura-axis.js +5 -7
  12. package/dist/aura/root/aura-root.css.js +1 -1
  13. package/dist/aura/root/aura-root.d.ts +75 -87
  14. package/dist/aura/root/aura-root.js +100 -109
  15. package/dist/aura/root/aura-shader.d.ts +10 -13
  16. package/dist/aura/root/aura-shader.js +165 -238
  17. package/dist/avatar/group/avatar-group.css.js +1 -1
  18. package/dist/avatar/root/avatar-root.css.js +1 -1
  19. package/dist/badge/root/badge-root.css.js +1 -13
  20. package/dist/badge/root/badge-root.d.ts +4 -5
  21. package/dist/bar-chart/root/bar-chart-root.css.js +1 -13
  22. package/dist/bar-chart/root/bar-chart-root.d.ts +51 -60
  23. package/dist/bar-chart/root/bar-chart-root.js +10 -17
  24. package/dist/blockquote/root/blockquote-root.css.js +1 -1
  25. package/dist/breadcrumbs/breadcrumb/breadcrumb.css.js +1 -7
  26. package/dist/breadcrumbs/root/breadcrumbs-root.css.js +1 -1
  27. package/dist/button/root/button-root.css.js +1 -7
  28. package/dist/button/root/button-root.d.ts +16 -25
  29. package/dist/button/root/button-root.js +3 -3
  30. package/dist/button-group/root/button-group-root.css.js +1 -1
  31. package/dist/button-group/root/button-group-root.d.ts +5 -7
  32. package/dist/callout/root/callout-root.css.js +1 -1
  33. package/dist/callout/root/callout-root.d.ts +4 -4
  34. package/dist/callout/root/callout-root.js +4 -4
  35. package/dist/card/root/card-root.css.js +2 -2
  36. package/dist/card/root/card-root.d.ts +38 -48
  37. package/dist/card/root/card-root.js +8 -11
  38. package/dist/carousel/root/carousel-root.css.js +1 -11
  39. package/dist/carousel/root/carousel-root.d.ts +39 -43
  40. package/dist/carousel/root/carousel-root.js +7 -7
  41. package/dist/chat/composer/chat-composer.css.js +1 -1
  42. package/dist/chat/message/chat-message.css.js +1 -7
  43. package/dist/chat/message/chat-message.d.ts +8 -13
  44. package/dist/chat/root/chat-root.css.js +1 -1
  45. package/dist/checkbox/root/checkbox-root.css.js +1 -14
  46. package/dist/checkbox-group/root/checkbox-group-root.css.js +1 -1
  47. package/dist/code/root/code-root.css.js +9 -7
  48. package/dist/code/root/code-root.d.ts +4 -0
  49. package/dist/code/root/code-root.js +4 -0
  50. package/dist/code-block/root/code-block-root.css.js +1 -1
  51. package/dist/color-input/root/color-input-root.css.js +2 -2
  52. package/dist/color-input/root/color-input-root.js +3 -3
  53. package/dist/color-picker/root/color-picker-root.css.js +1 -9
  54. package/dist/color-picker/root/color-picker-root.js +3 -3
  55. package/dist/combobox/root/combobox-root.css.js +1 -8
  56. package/dist/combobox/root/combobox-root.js +1 -1
  57. package/dist/command/root/command-root.css.js +1 -1
  58. package/dist/copy-button/root/copy-button-root.css.js +1 -1
  59. package/dist/data-table/root/data-table-root.css.js +9 -3
  60. package/dist/data-table/root/data-table-root.d.ts +4 -1
  61. package/dist/data-table/root/data-table-root.js +4 -1
  62. package/dist/date-input/root/date-input-root.css.js +1 -1
  63. package/dist/date-picker/root/date-picker-root.css.js +1 -7
  64. package/dist/date-picker/root/date-picker-root.d.ts +1 -1
  65. package/dist/date-picker/root/date-picker-root.js +1 -1
  66. package/dist/dialog/root/dialog-root.css.js +1 -1
  67. package/dist/dialog/root/dialog-root.d.ts +15 -20
  68. package/dist/dialog/root/dialog-root.js +2 -2
  69. package/dist/divider/root/divider-root.css.js +1 -1
  70. package/dist/donut-chart/root/donut-chart-root.css.js +2 -20
  71. package/dist/donut-chart/root/donut-chart-root.d.ts +14 -19
  72. package/dist/donut-chart/root/donut-chart-root.js +6 -7
  73. package/dist/drawer/root/drawer-root.css.js +1 -11
  74. package/dist/drawer/root/drawer-root.d.ts +3 -7
  75. package/dist/drilldown/item/drilldown-item.css.js +1 -1
  76. package/dist/drilldown/root/drilldown-root.css.js +1 -1
  77. package/dist/element-events.generated.js +1 -1
  78. package/dist/empty/root/empty-root.css.js +1 -1
  79. package/dist/file-input/root/file-input-root.css.js +1 -1
  80. package/dist/file-input/root/file-input-root.js +1 -2
  81. package/dist/flex/root/flex-root.css.js +1 -1
  82. package/dist/flex/root/flex-root.d.ts +6 -6
  83. package/dist/flex/root/flex-root.js +9 -9
  84. package/dist/format-date/root/format-date-root.css.js +1 -1
  85. package/dist/grid/root/grid-root.css.js +1 -1
  86. package/dist/grid/root/grid-root.d.ts +8 -8
  87. package/dist/grid/root/grid-root.js +8 -9
  88. package/dist/heatmap/root/heatmap-root.css.js +2 -2
  89. package/dist/heatmap/root/heatmap-root.d.ts +11 -12
  90. package/dist/heatmap/root/heatmap-root.js +11 -12
  91. package/dist/icon/glyph.css.js +1 -1
  92. package/dist/icon/root/icon-root.css.js +1 -1
  93. package/dist/icon-button/root/icon-button-root.css.js +1 -7
  94. package/dist/icon-button/root/icon-button-root.d.ts +10 -10
  95. package/dist/icon-button/root/icon-button-root.js +4 -4
  96. package/dist/image/root/image-root.css.js +1 -7
  97. package/dist/input/root/input-root.css.js +1 -9
  98. package/dist/kbd/root/kbd-root.css.js +1 -1
  99. package/dist/legend/root/legend-root.css.js +1 -1
  100. package/dist/legend/root/legend-root.d.ts +34 -37
  101. package/dist/legend/root/legend-root.js +10 -10
  102. package/dist/line-chart/root/line-chart-root.css.js +1 -8
  103. package/dist/line-chart/root/line-chart-root.d.ts +6 -9
  104. package/dist/list/item/list-item.css.js +1 -1
  105. package/dist/list/root/list-root.css.js +1 -1
  106. package/dist/list/root/list-root.d.ts +4 -7
  107. package/dist/listbox/root/listbox-root.css.js +3 -3
  108. package/dist/listbox/root/listbox-root.d.ts +2 -0
  109. package/dist/listbox/root/listbox-root.js +2 -0
  110. package/dist/loader/root/loader-root.css.js +1 -1
  111. package/dist/loader/root/loader-root.d.ts +5 -9
  112. package/dist/loader/root/loader-root.js +2 -2
  113. package/dist/megamenu/root/megamenu-root.css.js +3 -2
  114. package/dist/menu/item/menu-item.css.js +1 -7
  115. package/dist/menu/root/menu-root.css.js +1 -1
  116. package/dist/meter/root/meter-root.css.js +1 -14
  117. package/dist/meter/root/meter-root.d.ts +18 -18
  118. package/dist/meter/root/meter-root.js +6 -8
  119. package/dist/mixins/mixin-control-surface/mixin-control-surface.d.ts +1 -1
  120. package/dist/navigation/root/navigation-root.css.js +1 -7
  121. package/dist/notifications/notification/notification.css.js +1 -7
  122. package/dist/notifications/root/notifications-root.css.js +1 -1
  123. package/dist/number-input/root/number-input-root.css.js +1 -9
  124. package/dist/option/group/option-group.css.js +1 -1
  125. package/dist/option/root/option-root.css.js +1 -1
  126. package/dist/outline/root/outline-root.css.js +1 -14
  127. package/dist/outline/root/outline-root.d.ts +1 -1
  128. package/dist/outline/root/outline-root.js +1 -1
  129. package/dist/pagination/root/pagination-root.css.js +1 -12
  130. package/dist/pagination/size/pagination-size.css.js +1 -1
  131. package/dist/pagination/summary/pagination-summary.css.js +1 -1
  132. package/dist/pin-input/root/pin-input-root.css.js +1 -7
  133. package/dist/popover/root/popover-root.css.js +4 -2
  134. package/dist/progress/root/progress-root.css.js +1 -7
  135. package/dist/progress/root/progress-root.d.ts +10 -9
  136. package/dist/qr-code/root/qr-code-root.css.js +1 -1
  137. package/dist/qr-code/root/qr-code-root.d.ts +1 -1
  138. package/dist/qr-code/root/qr-code-root.js +1 -1
  139. package/dist/quote/root/quote-root.css.js +1 -1
  140. package/dist/radio/group/radio-group.css.js +1 -1
  141. package/dist/radio/root/radio-root.css.js +1 -14
  142. package/dist/radio/root/radio-root.d.ts +20 -18
  143. package/dist/radio/root/radio-root.js +5 -6
  144. package/dist/rating/root/rating-root.css.js +1 -1
  145. package/dist/rating/root/rating-root.d.ts +4 -5
  146. package/dist/sandbox/preview/sandbox-preview.css.js +1 -1
  147. package/dist/sandbox/preview/sandbox-preview.d.ts +48 -44
  148. package/dist/sandbox/preview/sandbox-preview.js +63 -50
  149. package/dist/sandbox/root/sandbox-root.css.js +1 -2
  150. package/dist/sandbox/root/sandbox-root.d.ts +50 -59
  151. package/dist/sandbox/root/sandbox-root.js +75 -91
  152. package/dist/sandbox/source/sandbox-source.css.js +1 -1
  153. package/dist/sandbox/source/sandbox-source.d.ts +21 -29
  154. package/dist/sandbox/source/sandbox-source.js +26 -34
  155. package/dist/sandbox/status-bar/sandbox-status-bar.css.js +1 -1
  156. package/dist/sandbox/terminal/sandbox-terminal.css.js +1 -1
  157. package/dist/sandbox/toolbar/sandbox-toolbar.css.js +1 -1
  158. package/dist/scroll-area/root/scroll-area-root.css.js +5 -5
  159. package/dist/select/root/select-root.css.js +2 -15
  160. package/dist/select/root/select-root.d.ts +4 -4
  161. package/dist/select/root/select-root.js +5 -7
  162. package/dist/shared/chart/series.css.js +1 -1
  163. package/dist/shared/chart/terminus.css.js +1 -1
  164. package/dist/shared/field/field-inline.css.js +1 -1
  165. package/dist/shared/field/field-stacked.css.js +1 -1
  166. package/dist/shared/field/field.css.js +1 -1
  167. package/dist/skeleton/root/skeleton-root.css.js +1 -1
  168. package/dist/slider/root/slider-root.css.js +1 -3
  169. package/dist/sparkline/root/sparkline-root.css.js +1 -1
  170. package/dist/sparkline/root/sparkline-root.d.ts +22 -24
  171. package/dist/sparkline/root/sparkline-root.js +6 -6
  172. package/dist/speed-dial/item/speed-dial-item.css.js +1 -7
  173. package/dist/speed-dial/root/speed-dial-root.css.js +1 -1
  174. package/dist/splitter/root/splitter-root.css.js +1 -14
  175. package/dist/stat/group/stat-group.css.js +1 -1
  176. package/dist/stat/root/stat-root.css.js +1 -1
  177. package/dist/steps/root/steps-root.css.js +1 -1
  178. package/dist/steps/step/step.css.js +1 -8
  179. package/dist/steps/step/step.js +1 -1
  180. package/dist/switch/root/switch-root.css.js +1 -8
  181. package/dist/table/cell/table-cell.css.js +1 -1
  182. package/dist/table/column/table-column.css.js +1 -1
  183. package/dist/table/root/table-root.css.js +1 -1
  184. package/dist/table/row/table-row.css.js +1 -1
  185. package/dist/tabs/panel/tab-panel.css.js +1 -1
  186. package/dist/tabs/root/tabs-root.css.js +1 -7
  187. package/dist/tabs/tab/tab.css.js +2 -8
  188. package/dist/tag/root/tag-root.css.js +1 -1
  189. package/dist/tag/root/tag-root.d.ts +10 -19
  190. package/dist/tag/root/tag-root.js +3 -3
  191. package/dist/text/root/text-root.css.js +1 -1
  192. package/dist/text/root/text-root.d.ts +13 -14
  193. package/dist/text/root/text-root.js +6 -6
  194. package/dist/textarea/root/textarea-root.css.js +1 -7
  195. package/dist/time-input/root/time-input-root.css.js +1 -1
  196. package/dist/time-input/root/time-input-root.js +1 -1
  197. package/dist/time-picker/root/time-picker-root.css.js +1 -7
  198. package/dist/time-picker/root/time-picker-root.js +1 -1
  199. package/dist/timeline/item/timeline-item.css.js +1 -1
  200. package/dist/timeline/root/timeline-root.css.js +1 -1
  201. package/dist/toast/item/toast-item.css.js +1 -1
  202. package/dist/toast/root/toast-root.css.js +1 -1
  203. package/dist/toggle/group/toggle-group.css.js +1 -7
  204. package/dist/toggle/group/toggle-group.d.ts +6 -9
  205. package/dist/toggle/root/toggle-root.css.js +1 -1
  206. package/dist/toolbar/root/toolbar-root.css.js +1 -1
  207. package/dist/tooltip/root/tooltip-root.css.js +1 -1
  208. package/dist/tooltip/root/tooltip-root.d.ts +6 -7
  209. package/dist/tour/root/tour-root.css.js +1 -7
  210. package/dist/tour/stop/tour-stop.css.js +2 -2
  211. package/dist/tree/item/tree-item.css.js +1 -17
  212. package/dist/tree/root/tree-root.css.js +1 -1
  213. package/dist/tree/root/tree-root.d.ts +0 -2
  214. package/dist/trend/root/trend-root.css.js +1 -1
  215. package/dist/trend/root/trend-root.d.ts +4 -7
  216. package/dist/trend/root/trend-root.js +4 -7
  217. package/dist/video/root/video-root.css.js +1 -12
  218. package/dist/video/root/video-root.d.ts +3 -8
  219. package/dist/video-playlist/item/video-playlist-item.css.js +1 -7
  220. package/dist/video-playlist/menu/video-playlist-menu.css.js +1 -1
  221. package/dist/video-playlist/root/video-playlist-root.css.js +1 -1
  222. package/dist/virtual-list/root/virtual-list-root.css.js +1 -1
  223. package/elements.css +4 -5
  224. package/helix.css +31 -0
  225. package/jsx.d.ts +11625 -14561
  226. package/package.json +10 -8
  227. package/vue.d.ts +3594 -4231
@@ -1,4 +1,4 @@
1
- // Generated from src/data-table/root/data-table-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/data-table/root/data-table-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`:host {
4
4
  display: block;
@@ -18,7 +18,8 @@ display: contents;
18
18
  }
19
19
 
20
20
  [part="cell"] {
21
- border-block-end: var(--helix-border-thin) solid var(--data-table-rule, var(--helix-color-border));
21
+ border-block-end: var(--helix-border-thin) solid
22
+ var(--data-table-rule-color, var(--helix-color-border));
22
23
  color: var(--data-table-color, var(--helix-color-foreground));
23
24
  font-family: var(--helix-font-sans);
24
25
  font-size: var(--data-table-text, var(--helix-text-sm));
@@ -26,8 +27,13 @@ padding-block: var(--data-table-padding-block, var(--helix-space-sm));
26
27
  padding-inline: var(--data-table-padding-inline, var(--helix-space-sm));
27
28
  }
28
29
 
30
+ [part="row"]:last-of-type [part="cell"] {
31
+ border-block-end-color: transparent;
32
+ }
33
+
29
34
  ::slotted(helix-table-column) {
30
- border-block-end: var(--helix-border-thin) solid var(--data-table-rule, var(--helix-color-border));
35
+ border-block-end: var(--helix-border-thin) solid
36
+ var(--data-table-rule-color, var(--helix-color-border));
31
37
  color: var(--data-table-heading-color, var(--helix-color-foreground-subtle));
32
38
  font-family: var(--helix-font-sans);
33
39
  font-size: var(--data-table-text, var(--helix-text-sm));
@@ -35,7 +35,10 @@ import '../../table/index.js';
35
35
  * @cssproperty --data-table-heading-color - Ink in a heading.
36
36
  * @cssproperty --data-table-padding-block - Space above and below a cell's content.
37
37
  * @cssproperty --data-table-padding-inline - Space either side of a cell's content.
38
- * @cssproperty --data-table-rule - The hairline between rows.
38
+ * @cssproperty --data-table-rule-color - Color of the hairline between rows. A color
39
+ * and not a border: it lands in the color slot of a shorthand, so a whole border
40
+ * written into it produces invalid CSS and drops the rule. Drawn on the cells rather
41
+ * than the row, which is `display: contents` and measures `0px`.
39
42
  * @cssproperty --data-table-text - Type size, headings and cells alike.
40
43
  */
41
44
  export declare class HelixDataTable extends HelixHeadlessDataTable {
@@ -42,7 +42,10 @@ import '../../table/index.js';
42
42
  * @cssproperty --data-table-heading-color - Ink in a heading.
43
43
  * @cssproperty --data-table-padding-block - Space above and below a cell's content.
44
44
  * @cssproperty --data-table-padding-inline - Space either side of a cell's content.
45
- * @cssproperty --data-table-rule - The hairline between rows.
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`.
46
49
  * @cssproperty --data-table-text - Type size, headings and cells alike.
47
50
  */
48
51
  let HelixDataTable = class HelixDataTable extends HelixHeadlessDataTable {
@@ -1,4 +1,4 @@
1
- // Generated from src/date-input/root/date-input-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/date-input/root/date-input-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`[part="field"] {
4
4
  align-items: center;
@@ -1,4 +1,4 @@
1
- // Generated from src/date-picker/root/date-picker-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/date-picker/root/date-picker-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`:host {
4
4
  display: inline-block;
@@ -178,12 +178,6 @@ outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
178
178
  outline-offset: var(--helix-size-focus-offset);
179
179
  }
180
180
 
181
- @media (prefers-reduced-motion: reduce) {
182
- [part="day"] {
183
- transition: none;
184
- }
185
- }
186
-
187
181
  :host(:dir(rtl)) [part="previous"] svg,
188
182
  :host(:dir(rtl)) [part="next"] svg,
189
183
  :host(:dir(rtl)) ::slotted([slot="previous-icon"]),
@@ -11,7 +11,7 @@ import type { CSSResultGroup } from 'lit';
11
11
  * difference is the space between days, which belongs to the track rather than
12
12
  * to a `gap`, so a range can paint across the whole track and stay continuous.
13
13
  *
14
- * Days from the neighbouring months stay in place and stay selectable, marked
14
+ * Days from the neighboring months stay in place and stay selectable, marked
15
15
  * quieter rather than hidden, so the first and last weeks are whole and the
16
16
  * grid reads as a continuous run of dates.
17
17
  *
@@ -18,7 +18,7 @@ import { styles } from './date-picker-root.css.js';
18
18
  * difference is the space between days, which belongs to the track rather than
19
19
  * to a `gap`, so a range can paint across the whole track and stay continuous.
20
20
  *
21
- * Days from the neighbouring months stay in place and stay selectable, marked
21
+ * Days from the neighboring months stay in place and stay selectable, marked
22
22
  * quieter rather than hidden, so the first and last weeks are whole and the
23
23
  * grid reads as a continuous run of dates.
24
24
  *
@@ -1,4 +1,4 @@
1
- // Generated from src/dialog/root/dialog-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/dialog/root/dialog-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`:host {
4
4
  display: contents;
@@ -32,6 +32,19 @@ import type { CSSResultGroup } from 'lit';
32
32
  * @property size - How wide the panel is allowed to be.
33
33
  */
34
34
  export declare class HelixDialog extends HelixHeadlessDialog {
35
+ /**
36
+ * Which way the panel's contents read.
37
+ *
38
+ * One property for the whole panel rather than one per region. The regions are
39
+ * never mixed in practice: a dialog that asks a short question centers its
40
+ * mark, its title, its sentence and its buttons together, and a dialog holding
41
+ * a form runs all four from the start. Three properties would be three ways to
42
+ * write the same two arrangements, and a fourth way to get one of them wrong.
43
+ *
44
+ * Unset is `start` and stays unset, so a reflected default cannot appear on a
45
+ * host whose server output never had it.
46
+ */
47
+ align?: 'center' | 'start';
35
48
  /**
36
49
  * How wide the panel is allowed to be.
37
50
  *
@@ -45,33 +58,15 @@ export declare class HelixDialog extends HelixHeadlessDialog {
45
58
  * rather than assigned here, for the reason `Drawer.placement` gives: this
46
59
  * reflects, and a default would put `size="md"` into markup no consumer wrote.
47
60
  *
48
- * **This was `appearance`, and it was the wrong word.** That word said how a
49
- * thing *reads*, and here it said how wide the panel is, which its own
50
- * description admitted in as many words. It turned out to be the first of
51
- * many: `appearance` held four axes across 21 components and #158 retired it
52
- * entirely, so this rename was that sweep arriving early at one component.
53
- *
54
61
  * `size` is right despite the rule that controls have no size, because that
55
62
  * rule's own test is whether two of them sitting together could legitimately
56
63
  * differ, and it is answering "a ragged row is unwritable". Two dialogs never
57
64
  * sit together. One is on screen at a time, in the top layer, and it is the
58
65
  * region rather than a control in one, which is the same reason `Avatar` and
59
- * `Spinner` keep theirs.
66
+ * `Spinner` keep theirs. Not `appearance`, which says how a thing reads
67
+ * rather than how wide it is.
60
68
  */
61
69
  size?: 'sm' | 'md' | 'lg' | 'full';
62
- /**
63
- * Which way the panel's contents read.
64
- *
65
- * One property for the whole panel rather than one per region. The regions are
66
- * never mixed in practice: a dialog that asks a short question centers its
67
- * mark, its title, its sentence and its buttons together, and a dialog holding
68
- * a form runs all four from the start. Three properties would be three ways to
69
- * write the same two arrangements, and a fourth way to get one of them wrong.
70
- *
71
- * Unset is `start` and stays unset, so a reflected default cannot appear on a
72
- * host whose server output never had it.
73
- */
74
- align?: 'center' | 'start';
75
70
  static styles: CSSResultGroup;
76
71
  }
77
72
  declare global {
@@ -44,10 +44,10 @@ let HelixDialog = class HelixDialog extends HelixHeadlessDialog {
44
44
  };
45
45
  __decorate([
46
46
  property({ reflect: true })
47
- ], HelixDialog.prototype, "size", void 0);
47
+ ], HelixDialog.prototype, "align", void 0);
48
48
  __decorate([
49
49
  property({ reflect: true })
50
- ], HelixDialog.prototype, "align", void 0);
50
+ ], HelixDialog.prototype, "size", void 0);
51
51
  HelixDialog = __decorate([
52
52
  customElement('helix-dialog')
53
53
  ], HelixDialog);
@@ -1,4 +1,4 @@
1
- // Generated from src/divider/root/divider-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/divider/root/divider-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`:host {
4
4
  align-items: center;
@@ -1,4 +1,4 @@
1
- // Generated from src/donut-chart/root/donut-chart-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/donut-chart/root/donut-chart-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`:host {
4
4
  display: grid;
@@ -215,21 +215,10 @@ stroke: var(--chart-series);
215
215
  stroke-width: var(--donut-chart-stroke);
216
216
  }
217
217
 
218
- [part="segment"] {
219
- transition:
220
- stroke var(--helix-duration-fast) var(--helix-easing-decelerate),
221
- stroke-width var(--helix-duration-fast) var(--helix-easing-decelerate);
222
- }
223
-
224
- @media (prefers-reduced-motion: reduce) {
225
- [part="segment"] {
226
- transition: none;
227
- }
228
- }
229
-
230
218
  [part="segment"] {
231
219
  transition:
232
220
  r var(--helix-duration-normal) var(--helix-easing-decelerate),
221
+ stroke var(--helix-duration-fast) var(--helix-easing-decelerate),
233
222
  stroke-dasharray var(--helix-duration-normal) var(--helix-easing-decelerate),
234
223
  stroke-dashoffset var(--helix-duration-normal) var(--helix-easing-decelerate),
235
224
  stroke-width var(--helix-duration-fast) var(--helix-easing-decelerate);
@@ -245,13 +234,6 @@ stroke-dasharray: 0 9999;
245
234
  transition: r var(--helix-duration-normal) var(--helix-easing-decelerate);
246
235
  }
247
236
 
248
- @media (prefers-reduced-motion: reduce) {
249
- [part="segment"],
250
- [part="track"] {
251
- transition: none;
252
- }
253
- }
254
-
255
237
  [part="segment"] {
256
238
  cursor: crosshair;
257
239
  }
@@ -15,13 +15,12 @@ import '../../tooltip/index.js';
15
15
  * A track is drawn under the slices, so a ring whose values do not fill it
16
16
  * still reads as a ring with a gap rather than as a broken arc.
17
17
  *
18
- * **How thick the ring is drawn is `hole`, not a CSS hook.** It was
19
- * `--donut-chart-thickness`, and the stroke's width and the ring's radius have
20
- * to agree: the outer edge is `r + width / 2`, so setting one in CSS and
21
- * deriving the other in markup gives a drawing that is wrong in both. Measured
22
- * with the hook still in place, every ring came out twelve units thick whatever
23
- * its `hole`, so a pie was a small ring with a hole in it and `large` was drawn
24
- * larger than the default.
18
+ * **How thick the ring is drawn is `hole`, not a CSS hook.** The stroke's width
19
+ * and the ring's radius have to agree: the outer edge is `r + width / 2`, so
20
+ * setting one in CSS and deriving the other in markup gives a drawing that is
21
+ * wrong in both. Measured with such a hook in place, every ring came out twelve
22
+ * units thick whatever its `hole`, so a pie was a small ring with a hole in it
23
+ * and `large` was drawn larger than the default.
25
24
  *
26
25
  * @since 0.1.0
27
26
  * @status experimental
@@ -63,17 +62,13 @@ export declare class HelixDonutChart extends HelixHeadlessDonutChart {
63
62
  * page, leaving a boundary in the series' own color, which is the same trade
64
63
  * `BarChart` makes on a column.
65
64
  *
66
- * **This took three values on 25 Aug 2026, and the note it replaces argued it
67
- * could not.** That note was right about the mark: a slice is a stroke on a
68
- * ring, the edge *is* the mark, and there is nothing within it to fade. It
69
- * concluded that `outlined` would mean drawing slices as filled paths instead
70
- * of arcs, and called that changing what a donut is to satisfy a word.
71
- *
72
- * What it did not weigh is that the two can both be there. The arc still draws
73
- * the slice and still carries the animation, and a closed path traces the same
74
- * wedge beside it for anything that needs a boundary. Nothing about the donut
75
- * changed; something was added next to it. See `renderEdge` on the tier below
76
- * for why the dash could not simply be replaced.
65
+ * **A slice is a stroke on a ring, so `outlined` is a second mark rather than
66
+ * a change to the first.** The edge *is* the mark and there is nothing within
67
+ * it to fade, so the arc keeps drawing the slice and carrying the animation
68
+ * and a closed path traces the same wedge beside it. Redrawing slices as
69
+ * filled paths instead of arcs would be changing what a donut is to satisfy a
70
+ * word. See `renderEdge` on the tier below for why the dash could not simply
71
+ * be replaced.
77
72
  *
78
73
  * The value that stays refused is `ghost`, which on a ring is a chart with no
79
74
  * slices.
@@ -99,7 +94,7 @@ export declare class HelixDonutChart extends HelixHeadlessDonutChart {
99
94
  *
100
95
  * **`transparent` is where this one stops.** A mark with no ink is not a
101
96
  * material choice, it is an absent series, and a chart says that by not
102
- * having the datum rather than by painting it invisibly. See 270.
97
+ * having the datum rather than by painting it invisibly.
103
98
  */
104
99
  material?: 'frosted' | 'glass';
105
100
  static styles: CSSResultGroup;
@@ -24,13 +24,12 @@ import '../../tooltip/index.js';
24
24
  * A track is drawn under the slices, so a ring whose values do not fill it
25
25
  * still reads as a ring with a gap rather than as a broken arc.
26
26
  *
27
- * **How thick the ring is drawn is `hole`, not a CSS hook.** It was
28
- * `--donut-chart-thickness`, and the stroke's width and the ring's radius have
29
- * to agree: the outer edge is `r + width / 2`, so setting one in CSS and
30
- * deriving the other in markup gives a drawing that is wrong in both. Measured
31
- * with the hook still in place, every ring came out twelve units thick whatever
32
- * its `hole`, so a pie was a small ring with a hole in it and `large` was drawn
33
- * larger than the default.
27
+ * **How thick the ring is drawn is `hole`, not a CSS hook.** The stroke's width
28
+ * and the ring's radius have to agree: the outer edge is `r + width / 2`, so
29
+ * setting one in CSS and deriving the other in markup gives a drawing that is
30
+ * wrong in both. Measured with such a hook in place, every ring came out twelve
31
+ * units thick whatever its `hole`, so a pie was a small ring with a hole in it
32
+ * and `large` was drawn larger than the default.
34
33
  *
35
34
  * @since 0.1.0
36
35
  * @status experimental
@@ -1,4 +1,4 @@
1
- // Generated from src/drawer/root/drawer-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/drawer/root/drawer-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`:host {
4
4
 
@@ -134,16 +134,6 @@ overflow-y: auto;
134
134
  padding-inline: var(--helix-size-focus-reach);
135
135
  }
136
136
 
137
- @media (prefers-reduced-motion: reduce) {
138
- [part="panel"] {
139
- transition: none;
140
- }
141
-
142
- [part="panel"]::backdrop {
143
- transition: none;
144
- }
145
- }
146
-
147
137
  @media print {
148
138
  :host {
149
139
  display: none;
@@ -47,16 +47,12 @@ export declare class HelixDrawer extends HelixHeadlessDrawer {
47
47
  * translucent ground with no filter is a tint, so a consumer says what it
48
48
  * wants rather than assembling it out of two hooks.
49
49
  *
50
- * A drawer is the case where the pair earns the most, because there is already
51
- * something behind it worth seeing: the page it covers, under its own scrim.
52
- *
53
50
  * Absent is opaque, per the rule that a reflected property takes no default,
54
51
  * so the stylesheet only describes the departure.
55
52
  *
56
- * **`transparent` is where this one stops, and that is the statement 270
57
- * asks for rather than an omission.** A panel that floats over arbitrary page
58
- * content is only readable because it has a ground; dropping it does not make
59
- * a lighter drawer, it makes an unreadable one. `frosted` and `glass` are the
53
+ * **No `transparent`, deliberately.** A panel floating over arbitrary page
54
+ * content is only readable because it has a ground; dropping it makes an
55
+ * unreadable drawer rather than a lighter one. `frosted` and `glass` are the
60
56
  * two honest points here.
61
57
  */
62
58
  material?: 'frosted' | 'glass';
@@ -1,4 +1,4 @@
1
- // Generated from src/drilldown/item/drilldown-item.css by `bun run styles`. Do not edit.
1
+ // Generated from src/drilldown/item/drilldown-item.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`:host {
4
4
  display: block;
@@ -1,4 +1,4 @@
1
- // Generated from src/drilldown/root/drilldown-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/drilldown/root/drilldown-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`:host {
4
4
  background-color: var(--drilldown-background-color, var(--helix-color-surface));
@@ -1,4 +1,4 @@
1
- /* Generated by `bun run element-events` from this package's manifest. Do not edit.
1
+ /* Generated by `bun run gen:element-events` from this package's manifest. Do not edit.
2
2
  *
3
3
  * Which events each tag dispatches, registered so the React prop audit can tell
4
4
  * a handler on the wrong element from one on the right one. See
@@ -1,4 +1,4 @@
1
- // Generated from src/empty/root/empty-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/empty/root/empty-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`:host {
4
4
  align-items: center;
@@ -1,4 +1,4 @@
1
- // Generated from src/file-input/root/file-input-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/file-input/root/file-input-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`[part="field"] {
4
4
  align-items: center;
@@ -8,8 +8,7 @@ import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessFileInput } from '@fusion.dev/helix-headless/file-input';
9
9
  /* Side-effect import, because the tier below renders `<helix-icon>` for each
10
10
  file's remove control and a custom element registers on import. Inherited from
11
- the base along with the template, which is why it is restated here.
12
- `check:composed` enforces it. */
11
+ the base along with the template, which is why it is restated here. */
13
12
  import '../../icon/index.js';
14
13
  import '../../tag/index.js';
15
14
  import { styles as glyphStyles } from '../../icon/glyph.css.js';
@@ -1,4 +1,4 @@
1
- // Generated from src/flex/root/flex-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/flex/root/flex-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`:host {
4
4
  display: flex;
@@ -27,6 +27,10 @@ import type { CSSResultGroup, TemplateResult } from 'lit';
27
27
  * @slot - The items to lay out.
28
28
  */
29
29
  export declare class HelixFlex extends HelixElement {
30
+ /**
31
+ * Alignment across the direction.
32
+ */
33
+ align?: 'start' | 'center' | 'end' | 'stretch' | 'baseline';
30
34
  /**
31
35
  * Whether items run across or down.
32
36
  */
@@ -36,9 +40,9 @@ export declare class HelixFlex extends HelixElement {
36
40
  */
37
41
  gap?: 'none' | '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
38
42
  /**
39
- * Alignment across the direction.
43
+ * Flows with surrounding text instead of taking the full width.
40
44
  */
41
- align?: 'start' | 'center' | 'end' | 'stretch' | 'baseline';
45
+ inline: boolean;
42
46
  /**
43
47
  * Distribution along the direction.
44
48
  */
@@ -47,10 +51,6 @@ export declare class HelixFlex extends HelixElement {
47
51
  * Whether items wrap onto more lines.
48
52
  */
49
53
  wrap: boolean;
50
- /**
51
- * Flows with surrounding text instead of taking the full width.
52
- */
53
- inline: boolean;
54
54
  protected render(): TemplateResult;
55
55
  static styles: CSSResultGroup;
56
56
  }
@@ -37,20 +37,23 @@ import { styles } from './flex-root.css.js';
37
37
  let HelixFlex = class HelixFlex extends HelixElement {
38
38
  constructor() {
39
39
  super(...arguments);
40
- /**
41
- * Whether items wrap onto more lines.
42
- */
43
- this.wrap = false;
44
40
  /**
45
41
  * Flows with surrounding text instead of taking the full width.
46
42
  */
47
43
  this.inline = false;
44
+ /**
45
+ * Whether items wrap onto more lines.
46
+ */
47
+ this.wrap = false;
48
48
  }
49
49
  render() {
50
50
  return html `<slot></slot>`;
51
51
  }
52
52
  static { this.styles = styles; }
53
53
  };
54
+ __decorate([
55
+ property({ reflect: true })
56
+ ], HelixFlex.prototype, "align", void 0);
54
57
  __decorate([
55
58
  property({ reflect: true })
56
59
  ], HelixFlex.prototype, "direction", void 0);
@@ -58,17 +61,14 @@ __decorate([
58
61
  property({ reflect: true })
59
62
  ], HelixFlex.prototype, "gap", void 0);
60
63
  __decorate([
61
- property({ reflect: true })
62
- ], HelixFlex.prototype, "align", void 0);
64
+ property({ reflect: true, type: Boolean })
65
+ ], HelixFlex.prototype, "inline", void 0);
63
66
  __decorate([
64
67
  property({ reflect: true })
65
68
  ], HelixFlex.prototype, "justify", void 0);
66
69
  __decorate([
67
70
  property({ reflect: true, type: Boolean })
68
71
  ], HelixFlex.prototype, "wrap", void 0);
69
- __decorate([
70
- property({ reflect: true, type: Boolean })
71
- ], HelixFlex.prototype, "inline", void 0);
72
72
  HelixFlex = __decorate([
73
73
  customElement('helix-flex')
74
74
  ], HelixFlex);
@@ -1,4 +1,4 @@
1
- // Generated from src/format-date/root/format-date-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/format-date/root/format-date-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`:host {
4
4
  display: inline;
@@ -1,4 +1,4 @@
1
- // Generated from src/grid/root/grid-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/grid/root/grid-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`:host {
4
4
  display: grid;
@@ -22,10 +22,18 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
22
22
  * @cssproperty --grid-columns - An explicit track list, which wins over `min` and `columns`. For a layout of unequal tracks, which neither attribute can say.
23
23
  */
24
24
  export declare class HelixGrid extends HelixElement {
25
+ /**
26
+ * Alignment of each cell within its row.
27
+ */
28
+ align?: 'start' | 'center' | 'end' | 'stretch';
25
29
  /**
26
30
  * Fixed number of equal columns.
27
31
  */
28
32
  columns?: number;
33
+ /**
34
+ * Space between cells, named on the space scale.
35
+ */
36
+ gap?: 'none' | '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
29
37
  /**
30
38
  * Minimum column width, filling as many as fit.
31
39
  *
@@ -33,14 +41,6 @@ export declare class HelixGrid extends HelixElement {
33
41
  * is two intentions in one element.
34
42
  */
35
43
  min: string;
36
- /**
37
- * Space between cells, named on the space scale.
38
- */
39
- gap?: 'none' | '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
40
- /**
41
- * Alignment of each cell within its row.
42
- */
43
- align?: 'start' | 'center' | 'end' | 'stretch';
44
44
  /**
45
45
  * Writes the track list into the shadow root's own stylesheet.
46
46
  *
@@ -91,10 +91,9 @@ let HelixGrid = class HelixGrid extends HelixElement {
91
91
  ? `:host { --_grid-template: repeat(auto-fit, minmax(min(${min}, 100%), 1fr)); }`
92
92
  : '';
93
93
  }
94
- /* `updated` alone, where there was a `firstUpdated` beside it doing the same
95
- thing. Lit puts every initial property into the first `changed`, so a grid
96
- with a `min` ran `applyTemplate` twice on every mount, and one without it
97
- ran it once to write the empty string an empty `<style>` already held. */
94
+ /* `updated` alone, and never a `firstUpdated` beside it. Lit puts every
95
+ initial property into the first `changed`, so the pair runs
96
+ `applyTemplate` twice on every mount of a grid with a `min`. */
98
97
  updated(changed) {
99
98
  super.updated(changed);
100
99
  if (changed.has('min')) {
@@ -107,18 +106,18 @@ let HelixGrid = class HelixGrid extends HelixElement {
107
106
  }
108
107
  static { this.styles = styles; }
109
108
  };
109
+ __decorate([
110
+ property({ reflect: true })
111
+ ], HelixGrid.prototype, "align", void 0);
110
112
  __decorate([
111
113
  property({ reflect: true, type: Number })
112
114
  ], HelixGrid.prototype, "columns", void 0);
113
- __decorate([
114
- property()
115
- ], HelixGrid.prototype, "min", void 0);
116
115
  __decorate([
117
116
  property({ reflect: true })
118
117
  ], HelixGrid.prototype, "gap", void 0);
119
118
  __decorate([
120
- property({ reflect: true })
121
- ], HelixGrid.prototype, "align", void 0);
119
+ property()
120
+ ], HelixGrid.prototype, "min", void 0);
122
121
  HelixGrid = __decorate([
123
122
  customElement('helix-grid')
124
123
  ], HelixGrid);
@@ -1,4 +1,4 @@
1
- // Generated from src/heatmap/root/heatmap-root.css by `bun run styles`. Do not edit.
1
+ // Generated from src/heatmap/root/heatmap-root.css by `turbo run styles`. Do not edit.
2
2
  import { createSheet } from '@fusion.dev/helix-core';
3
3
  export const styles = createSheet(`:host {
4
4
 
@@ -44,7 +44,7 @@ display: grid;
44
44
  gap: var(--heatmap-gap, var(--helix-space-2xs));
45
45
  grid-auto-columns: var(--_heatmap-cell-width);
46
46
  grid-auto-flow: column;
47
- grid-template-rows: repeat(var(--_heatmap-rows, 1), var(--_heatmap-cell-height));
47
+ grid-template-rows: repeat(var(--heatmap-rows, 1), var(--_heatmap-cell-height));
48
48
  justify-content: start;
49
49
 
50
50
  position: relative;