@fusion.dev/helix 0.23.0 → 0.24.1

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 (108) hide show
  1. package/custom-elements.json +65204 -38241
  2. package/dist/accordion/item/accordion-item.css.js +4 -0
  3. package/dist/announcement/root/announcement-root.css.js +26 -12
  4. package/dist/announcement/root/announcement-root.d.ts +17 -0
  5. package/dist/announcement/root/announcement-root.js +4 -0
  6. package/dist/app-header/root/app-header-root.css.js +6 -0
  7. package/dist/area-chart/index.d.ts +1 -0
  8. package/dist/area-chart/index.js +1 -0
  9. package/dist/area-chart/root/area-chart-root.css.d.ts +1 -0
  10. package/dist/area-chart/root/area-chart-root.css.js +97 -0
  11. package/dist/area-chart/root/area-chart-root.d.ts +38 -0
  12. package/dist/area-chart/root/area-chart-root.js +20 -0
  13. package/dist/bar-chart/root/bar-chart-root.css.js +0 -141
  14. package/dist/bar-chart/root/bar-chart-root.js +2 -1
  15. package/dist/chat/composer/chat-composer.css.js +4 -0
  16. package/dist/chat/message/chat-message.css.js +20 -0
  17. package/dist/chat/root/chat-root.css.js +26 -0
  18. package/dist/code-block/root/code-block-root.css.js +122 -0
  19. package/dist/code-block/root/code-block-root.d.ts +5 -0
  20. package/dist/data-table/root/data-table-root.css.js +21 -3
  21. package/dist/data-table/root/data-table-root.d.ts +1 -0
  22. package/dist/data-table/root/data-table-root.js +1 -0
  23. package/dist/description-list/index.d.ts +2 -0
  24. package/dist/description-list/index.js +2 -0
  25. package/dist/description-list/item/description-list-item.css.d.ts +1 -0
  26. package/dist/description-list/item/description-list-item.css.js +31 -0
  27. package/dist/description-list/item/description-list-item.d.ts +21 -0
  28. package/dist/description-list/item/description-list-item.js +16 -0
  29. package/dist/description-list/root/description-list-root.css.d.ts +1 -0
  30. package/dist/description-list/root/description-list-root.css.js +35 -0
  31. package/dist/description-list/root/description-list-root.d.ts +62 -0
  32. package/dist/description-list/root/description-list-root.js +23 -0
  33. package/dist/donut-chart/root/donut-chart-root.css.js +0 -138
  34. package/dist/donut-chart/root/donut-chart-root.js +2 -1
  35. package/dist/element-events.generated.js +36 -8
  36. package/dist/filter-input/chip/filter-chip.css.d.ts +1 -0
  37. package/dist/filter-input/chip/filter-chip.css.js +85 -0
  38. package/dist/filter-input/chip/filter-chip.d.ts +32 -0
  39. package/dist/filter-input/chip/filter-chip.js +16 -0
  40. package/dist/filter-input/field/filter-field.css.d.ts +1 -0
  41. package/dist/filter-input/field/filter-field.css.js +4 -0
  42. package/dist/filter-input/field/filter-field.d.ts +29 -0
  43. package/dist/filter-input/field/filter-field.js +16 -0
  44. package/dist/filter-input/index.d.ts +4 -0
  45. package/dist/filter-input/index.js +4 -0
  46. package/dist/filter-input/menu/filter-menu.css.d.ts +1 -0
  47. package/dist/filter-input/menu/filter-menu.css.js +4 -0
  48. package/dist/filter-input/menu/filter-menu.d.ts +33 -0
  49. package/dist/filter-input/menu/filter-menu.js +19 -0
  50. package/dist/filter-input/operator/filter-operator.css.d.ts +1 -0
  51. package/dist/filter-input/operator/filter-operator.css.js +4 -0
  52. package/dist/filter-input/operator/filter-operator.d.ts +27 -0
  53. package/dist/filter-input/operator/filter-operator.js +16 -0
  54. package/dist/filter-input/root/filter-input-root.css.js +25 -2
  55. package/dist/filter-input/root/filter-input-root.d.ts +3 -0
  56. package/dist/heatmap/root/heatmap-root.d.ts +1 -0
  57. package/dist/heatmap/root/heatmap-root.js +1 -0
  58. package/dist/index.d.ts +5 -0
  59. package/dist/index.js +5 -0
  60. package/dist/line-chart/root/line-chart-root.css.js +0 -138
  61. package/dist/line-chart/root/line-chart-root.js +2 -1
  62. package/dist/menu/item/menu-item.css.js +8 -2
  63. package/dist/menu/root/menu-root.css.js +4 -0
  64. package/dist/navigation/root/navigation-root.css.js +2 -1
  65. package/dist/notifications/group/notification-group.css.d.ts +1 -0
  66. package/dist/notifications/group/notification-group.css.js +61 -0
  67. package/dist/notifications/group/notification-group.d.ts +37 -0
  68. package/dist/notifications/group/notification-group.js +16 -0
  69. package/dist/notifications/index.d.ts +1 -0
  70. package/dist/notifications/index.js +1 -0
  71. package/dist/notifications/notification/notification.css.js +74 -8
  72. package/dist/notifications/notification/notification.d.ts +25 -0
  73. package/dist/notifications/notification/notification.js +5 -0
  74. package/dist/notifications/root/notifications-root.css.js +8 -0
  75. package/dist/object-inspector/index.d.ts +1 -0
  76. package/dist/object-inspector/index.js +1 -0
  77. package/dist/object-inspector/root/object-inspector-root.css.d.ts +1 -0
  78. package/dist/object-inspector/root/object-inspector-root.css.js +148 -0
  79. package/dist/object-inspector/root/object-inspector-root.d.ts +35 -0
  80. package/dist/object-inspector/root/object-inspector-root.js +18 -0
  81. package/dist/sandbox/root/sandbox-root.d.ts +4 -0
  82. package/dist/sandbox/status-bar/sandbox-status-bar.css.js +1 -1
  83. package/dist/sandbox/toolbar/sandbox-toolbar.css.js +7 -1
  84. package/dist/scatter-chart/index.d.ts +1 -0
  85. package/dist/scatter-chart/index.js +1 -0
  86. package/dist/scatter-chart/root/scatter-chart-root.css.d.ts +1 -0
  87. package/dist/scatter-chart/root/scatter-chart-root.css.js +138 -0
  88. package/dist/scatter-chart/root/scatter-chart-root.d.ts +38 -0
  89. package/dist/scatter-chart/root/scatter-chart-root.js +20 -0
  90. package/dist/shared/chart/tooltip.css.d.ts +1 -0
  91. package/dist/shared/chart/tooltip.css.js +141 -0
  92. package/dist/skip-link/index.d.ts +1 -0
  93. package/dist/skip-link/index.js +1 -0
  94. package/dist/skip-link/root/skip-link-root.css.d.ts +1 -0
  95. package/dist/skip-link/root/skip-link-root.css.js +36 -0
  96. package/dist/skip-link/root/skip-link-root.d.ts +42 -0
  97. package/dist/skip-link/root/skip-link-root.js +17 -0
  98. package/dist/steps/step/step.css.js +4 -0
  99. package/dist/table/column/table-column.css.js +66 -0
  100. package/dist/tag/root/tag-root.d.ts +10 -0
  101. package/dist/text/root/text-root.d.ts +26 -13
  102. package/dist/text/root/text-root.js +3 -0
  103. package/dist/toast/item/toast-item.css.js +9 -4
  104. package/dist/toolbar/root/toolbar-root.css.js +6 -0
  105. package/package.json +6 -6
  106. package/types/jsx.d.ts +4790 -698
  107. package/types/svelte.d.ts +11 -0
  108. package/types/vue.d.ts +907 -51
@@ -70,4 +70,8 @@ display: block;
70
70
  line-height: var(--helix-leading-normal);
71
71
  padding: var(--accordion-item-padding, var(--helix-space-sm) var(--helix-space-md));
72
72
  padding-block-start: 0;
73
+ }
74
+
75
+ :host([chevron-placement="start"]) [part="content-inner"] > slot {
76
+ margin-inline-start: calc(var(--helix-text-md) + var(--helix-space-xs));
73
77
  }`);
@@ -2,10 +2,16 @@ import { createSheet } from '@fusion.dev/helix-core';
2
2
  export const styles = createSheet(`:host {
3
3
 
4
4
  --helix-size-icon: var(--helix-size-icon-sm);
5
+ --helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);
6
+ --helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);
5
7
  --helix-size-control: var(--helix-size-control-sm);
8
+ --helix-size-control-loose: calc(var(--helix-size-control) * 1.2);
9
+ --helix-size-control-tight: calc(var(--helix-size-control) * 0.8);
6
10
 
7
11
  --_announcement-color: var(--helix-color-foreground-muted);
8
12
 
13
+ --_announcement-ground: var(--helix-color-background);
14
+
9
15
  align-items: center;
10
16
  background-color: var(--helix-color-surface-sunken);
11
17
 
@@ -48,35 +54,43 @@ background-image: none;
48
54
  border-block-end-color: var(--helix-color-border);
49
55
  }
50
56
 
51
- :host([tone="surface"]) {
52
- background-color: var(--helix-color-surface);
53
- background-image: none;
54
- border-block-end-color: var(--helix-color-border);
55
- }
56
-
57
57
  :host([tone="primary"]) {
58
58
  --_announcement-color: var(--helix-color-primary);
59
59
  }
60
60
 
61
- :host([tone]:not([tone="neutral"], [tone="surface"])) {
61
+ :host([tone="accent"]) {
62
+ --_announcement-color: var(--helix-color-accent);
63
+ }
64
+
65
+ :host([tone]:not([tone="neutral"])) {
62
66
  background-image: linear-gradient(
63
67
  to right,
64
68
  light-dark(
65
- color-mix(in oklab, var(--_announcement-color) 18%, var(--helix-color-background)),
66
- color-mix(in oklab, var(--_announcement-color) 32%, var(--helix-color-background))
69
+ color-mix(in oklab, var(--_announcement-color) 18%, var(--_announcement-ground)),
70
+ color-mix(in oklab, var(--_announcement-color) 32%, var(--_announcement-ground))
67
71
  ),
68
72
  light-dark(
69
- color-mix(in oklab, var(--_announcement-color) 10%, var(--helix-color-background)),
70
- color-mix(in oklab, var(--_announcement-color) 20%, var(--helix-color-background))
73
+ color-mix(in oklab, var(--_announcement-color) 10%, var(--_announcement-ground)),
74
+ color-mix(in oklab, var(--_announcement-color) 20%, var(--_announcement-ground))
71
75
  )
72
76
  );
73
77
  border-block-end-color: color-mix(
74
78
  in oklab,
75
79
  var(--_announcement-color) 40%,
76
- var(--helix-color-background)
80
+ var(--_announcement-ground)
77
81
  );
78
82
  }
79
83
 
84
+ :host([separation="filled"]) {
85
+ background-color: var(--helix-color-surface-sunken);
86
+ }
87
+
88
+ :host([separation="elevated"]) {
89
+ --_announcement-ground: var(--helix-color-surface);
90
+
91
+ background-color: var(--helix-color-surface);
92
+ }
93
+
80
94
  [part="content"] {
81
95
  flex: 1 1 auto;
82
96
  min-inline-size: 0;
@@ -18,6 +18,23 @@ import type { CSSResultGroup } from 'lit';
18
18
  * @cssproperty --announcement-inset - Inline padding, matched to the page.
19
19
  */
20
20
  export declare class HelixAnnouncement extends HelixHeadlessAnnouncement {
21
+ /**
22
+ * Which rung of the surface ladder the band rides.
23
+ *
24
+ * `filled` is the resting one, a well sunk below the page. `elevated` brings
25
+ * it up to the surface step, for a band that reads as part of the furniture
26
+ * rather than as a slot cut into it.
27
+ *
28
+ * **This was `tone="surface"`**, which put an elevation on the axis that says
29
+ * what a thing means. The band's own doc admitted it, calling `surface` the
30
+ * one value that was not a color. A band can be `info` and elevated at the
31
+ * same time, and two values that can both be true are two axes.
32
+ *
33
+ * Styled and not headless, because a rung of a ladder is paint: the headless
34
+ * tier has no stylesheet to sit a band on. `tone` crosses because meaning
35
+ * survives having nothing to paint with, and it is the only axis that does.
36
+ */
37
+ separation?: 'elevated' | 'filled';
21
38
  static styles: CSSResultGroup;
22
39
  }
23
40
  declare global {
@@ -6,10 +6,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessAnnouncement } from '@fusion.dev/helix-headless/announcement';
9
+ import { property } from 'lit/decorators.js';
9
10
  import { styles } from './announcement-root.css.js';
10
11
  let HelixAnnouncement = class HelixAnnouncement extends HelixHeadlessAnnouncement {
11
12
  static { this.styles = styles; }
12
13
  };
14
+ __decorate([
15
+ property({ reflect: true })
16
+ ], HelixAnnouncement.prototype, "separation", void 0);
13
17
  HelixAnnouncement = __decorate([
14
18
  customElement('helix-announcement')
15
19
  ], HelixAnnouncement);
@@ -2,9 +2,15 @@ import { createSheet } from '@fusion.dev/helix-core';
2
2
  export const styles = createSheet(`:host {
3
3
 
4
4
  --helix-size-checkbox: var(--helix-size-checkbox-sm);
5
+ --helix-size-checkbox-loose: calc(var(--helix-size-checkbox) * 1.2);
6
+ --helix-size-checkbox-tight: calc(var(--helix-size-checkbox) * 0.8);
5
7
 
6
8
  --helix-size-icon: var(--helix-size-icon-sm);
9
+ --helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);
10
+ --helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);
7
11
  --helix-size-control: var(--helix-size-control-sm);
12
+ --helix-size-control-loose: calc(var(--helix-size-control) * 1.2);
13
+ --helix-size-control-tight: calc(var(--helix-size-control) * 0.8);
8
14
  --helix-size-tag: var(--helix-size-tag-sm);
9
15
 
10
16
  background-color: var(--app-header-background-color, var(--helix-color-background));
@@ -0,0 +1 @@
1
+ export * from './root/area-chart-root.js';
@@ -0,0 +1 @@
1
+ export * from './root/area-chart-root.js';
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,97 @@
1
+ import { createSheet } from '@fusion.dev/helix-core';
2
+ export const styles = createSheet(`:host {
3
+ display: grid;
4
+ gap: var(--area-chart-gap, var(--helix-space-2xs));
5
+ position: relative;
6
+ }
7
+
8
+ [part="plot"] {
9
+ block-size: var(--area-chart-block-size, 12em);
10
+ cursor: crosshair;
11
+ position: relative;
12
+ }
13
+
14
+ [part="plot"] svg {
15
+ block-size: 100%;
16
+ inline-size: 100%;
17
+ overflow: visible;
18
+ }
19
+
20
+ [part="area"] {
21
+ fill: color-mix(
22
+ in oklab,
23
+ var(--chart-series) var(--area-chart-fill-strength, 55%),
24
+ var(--helix-color-background)
25
+ );
26
+ stroke: none;
27
+ }
28
+
29
+ [part="line"] {
30
+ stroke: var(--chart-series);
31
+ stroke-linejoin: round;
32
+ stroke-width: var(--area-chart-width, 1.5px);
33
+ vector-effect: non-scaling-stroke;
34
+ }
35
+
36
+ [part="baseline"] {
37
+ stroke: var(--helix-color-border);
38
+ stroke-width: var(--helix-border-thin);
39
+ vector-effect: non-scaling-stroke;
40
+ }
41
+
42
+ [part="gridline"] {
43
+ stroke: var(--area-chart-gridline-color, var(--helix-color-border));
44
+ stroke-opacity: 0.7;
45
+ stroke-width: var(--helix-border-thin);
46
+ vector-effect: non-scaling-stroke;
47
+ }
48
+
49
+ [part="guide"] {
50
+ stroke: var(--helix-color-foreground-muted);
51
+ stroke-dasharray: 3 3;
52
+ stroke-width: var(--helix-border-thin);
53
+ vector-effect: non-scaling-stroke;
54
+ }
55
+
56
+ [part="labels"] {
57
+ display: grid;
58
+ grid-auto-columns: 1fr;
59
+ grid-auto-flow: column;
60
+ }
61
+
62
+ [part="label"] {
63
+ color: var(--helix-color-foreground-muted);
64
+ font-size: var(--helix-text-xs);
65
+ overflow: hidden;
66
+ text-align: center;
67
+ text-overflow: ellipsis;
68
+ white-space: nowrap;
69
+ }
70
+
71
+ [part="summary"] {
72
+ block-size: 1px;
73
+ clip-path: inset(50%);
74
+ inline-size: 1px;
75
+ margin: var(--helix-space-none);
76
+ overflow: hidden;
77
+ position: absolute;
78
+ white-space: nowrap;
79
+ }
80
+
81
+ [part="area"],
82
+ [part="line"] {
83
+ transition: d var(--helix-duration-normal) var(--helix-easing-decelerate);
84
+ }
85
+
86
+ @starting-style {
87
+ [part="area"],
88
+ [part="line"] {
89
+ opacity: 0;
90
+ }
91
+ }
92
+
93
+ @media print {
94
+ :host {
95
+ print-color-adjust: exact;
96
+ }
97
+ }`);
@@ -0,0 +1,38 @@
1
+ import { HelixHeadlessAreaChart } from '@fusion.dev/helix-headless/area-chart';
2
+ import type { CSSResultGroup } from 'lit';
3
+ import '../../tooltip/index.js';
4
+ /**
5
+ * @summary How a total is made up over time, as bands stacked on one another.
6
+ *
7
+ * @description
8
+ * The bands take the series palette in order, the first column at the bottom,
9
+ * so a legend beside the chart names them in the order they are stacked.
10
+ *
11
+ * Each band is a pale fill with its top edge drawn at the series' full color.
12
+ * The fills are mixed toward the page rather than made translucent, because
13
+ * the bands overlap where they are drawn and a translucent one would show the
14
+ * others through it.
15
+ *
16
+ * @since 0.1.0
17
+ * @status experimental
18
+ * @category charts
19
+ * @groups charts
20
+ * @aliases Stacked Area Chart, Composition Chart, Stream Chart
21
+ * @documentation https://helix.fusion.dev/components/area-chart
22
+ *
23
+ * @cssproperty --area-chart-block-size - Height of the drawing.
24
+ * @cssproperty --area-chart-fill-strength - How much of its series' color a band takes, as a percentage mixed toward the page.
25
+ * @cssproperty --area-chart-gap - Space between the drawing and its labels.
26
+ * @cssproperty --area-chart-gridline-color - One rule across the plot, under `gridlines`.
27
+ * @cssproperty --area-chart-width - Thickness of a band's top edge.
28
+ */
29
+ export declare class HelixAreaChart extends HelixHeadlessAreaChart {
30
+ /** The styled tier, so the tooltip this renders is the styled one. */
31
+ static tier: string;
32
+ static styles: CSSResultGroup;
33
+ }
34
+ declare global {
35
+ interface HTMLElementTagNameMap {
36
+ 'helix-area-chart': HelixAreaChart;
37
+ }
38
+ }
@@ -0,0 +1,20 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement } from '@fusion.dev/helix-core';
8
+ import { HelixHeadlessAreaChart } from '@fusion.dev/helix-headless/area-chart';
9
+ import { styles as seriesStyles } from '../../shared/chart/series.css.js';
10
+ import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
11
+ import { styles } from './area-chart-root.css.js';
12
+ import '../../tooltip/index.js';
13
+ let HelixAreaChart = class HelixAreaChart extends HelixHeadlessAreaChart {
14
+ static { this.tier = 'helix-'; }
15
+ static { this.styles = [seriesStyles, tooltipStyles, styles]; }
16
+ };
17
+ HelixAreaChart = __decorate([
18
+ customElement('helix-area-chart')
19
+ ], HelixAreaChart);
20
+ export { HelixAreaChart };
@@ -81,147 +81,6 @@ text-align: end;
81
81
  --_bar-chart-series: var(--chart-series);
82
82
  }
83
83
 
84
- [part="mark"] {
85
- block-size: 1px;
86
- inline-size: 1px;
87
- pointer-events: none;
88
- position: absolute;
89
- }
90
-
91
- [part="tooltip-anchor"] {
92
- inset: 0;
93
- pointer-events: none;
94
- position: absolute;
95
- }
96
-
97
- [part="tooltip-label"] {
98
- display: block;
99
- font-weight: var(--helix-weight-medium);
100
- margin-block-end: var(--helix-space-2xs);
101
- }
102
-
103
- [part="tooltip-cell"] {
104
- align-items: baseline;
105
- column-gap: var(--helix-space-sm);
106
- display: grid;
107
- grid-template-columns: 0.5em minmax(0, 1fr) auto;
108
- }
109
-
110
- [part="tooltip-name"] {
111
- grid-column: 2;
112
-
113
- opacity: 0.72;
114
- }
115
-
116
- [part="tooltip-value"] {
117
- font-variant-numeric: tabular-nums;
118
- grid-column: 3;
119
- }
120
-
121
- [part="tooltip-cell"][data-series]::before {
122
- block-size: 0.5em;
123
- border-radius: var(--helix-radii-full);
124
- content: "";
125
- grid-column: 1;
126
- inline-size: 0.5em;
127
- }
128
-
129
- [part="tooltip-cell"][data-series="1"]::before {
130
- background-color: var(--helix-color-series-1);
131
- }
132
-
133
- [part="tooltip-cell"][data-series="2"]::before {
134
- background-color: var(--helix-color-series-2);
135
- }
136
-
137
- [part="tooltip-cell"][data-series="3"]::before {
138
- background-color: var(--helix-color-series-3);
139
- }
140
-
141
- [part="tooltip-cell"][data-series="4"]::before {
142
- background-color: var(--helix-color-series-4);
143
- }
144
-
145
- [part="tooltip-cell"][data-series="5"]::before {
146
- background-color: var(--helix-color-series-5);
147
- }
148
-
149
- [part="tooltip-cell"][data-series="6"]::before {
150
- background-color: var(--helix-color-series-6);
151
- }
152
-
153
- [part="tooltip-cell"][data-series="7"]::before {
154
- background-color: var(--helix-color-series-7);
155
- }
156
-
157
- [part="tooltip-cell"][data-series="8"]::before {
158
- background-color: var(--helix-color-series-8);
159
- }
160
-
161
- [part="tooltip-cell"][data-series="9"]::before {
162
- background-color: var(--helix-color-series-9);
163
- }
164
-
165
- [part="tooltip-cell"][data-series="10"]::before {
166
- background-color: var(--helix-color-series-10);
167
- }
168
-
169
- [part="tooltip-cell"][data-series="11"]::before {
170
- background-color: var(--helix-color-series-11);
171
- }
172
-
173
- [part="tooltip-cell"][data-series="12"]::before {
174
- background-color: var(--helix-color-series-12);
175
- }
176
-
177
- [part="tooltip-cell"][data-series="13"]::before {
178
- background-color: var(--helix-color-series-13);
179
- }
180
-
181
- [part="tooltip-cell"][data-series="14"]::before {
182
- background-color: var(--helix-color-series-14);
183
- }
184
-
185
- [part="tooltip-cell"][data-series="15"]::before {
186
- background-color: var(--helix-color-series-15);
187
- }
188
-
189
- [part="tooltip-cell"][data-series="16"]::before {
190
- background-color: var(--helix-color-series-16);
191
- }
192
-
193
- [part="tooltip-cell"][data-series="17"]::before {
194
- background-color: var(--helix-color-series-17);
195
- }
196
-
197
- [part="tooltip-cell"][data-series="18"]::before {
198
- background-color: var(--helix-color-series-18);
199
- }
200
-
201
- [part="tooltip-cell"][data-series="19"]::before {
202
- background-color: var(--helix-color-series-19);
203
- }
204
-
205
- [part="tooltip-cell"][data-series="20"]::before {
206
- background-color: var(--helix-color-series-20);
207
- }
208
-
209
- [part="tooltip-cell"][data-series="21"]::before {
210
- background-color: var(--helix-color-series-21);
211
- }
212
-
213
- [part="tooltip-cell"][data-series="22"]::before {
214
- background-color: var(--helix-color-series-22);
215
- }
216
-
217
- [part="tooltip-cell"][data-series="23"]::before {
218
- background-color: var(--helix-color-series-23);
219
- }
220
-
221
- [part="tooltip-cell"][data-series="24"]::before {
222
- background-color: var(--helix-color-series-24);
223
- }
224
-
225
84
  [part="plot"]:has([data-active]) [part="group"]:not([data-active]) {
226
85
  opacity: 0.45;
227
86
  }
@@ -8,6 +8,7 @@ import { customElement, seriesIndex } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessBarChart } from '@fusion.dev/helix-headless/bar-chart';
9
9
  import { property } from 'lit/decorators.js';
10
10
  import { styles as seriesStyles } from '../../shared/chart/series.css.js';
11
+ import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
11
12
  import { styles } from './bar-chart-root.css.js';
12
13
  import '../../tooltip/index.js';
13
14
  let HelixBarChart = class HelixBarChart extends HelixHeadlessBarChart {
@@ -39,7 +40,7 @@ let HelixBarChart = class HelixBarChart extends HelixHeadlessBarChart {
39
40
  mark(bar, 'material', glass.has(at) ? 'glass' : undefined);
40
41
  }
41
42
  }
42
- static { this.styles = [seriesStyles, styles]; }
43
+ static { this.styles = [seriesStyles, tooltipStyles, styles]; }
43
44
  };
44
45
  __decorate([
45
46
  property({ reflect: true })
@@ -47,7 +47,11 @@ justify-content: flex-end;
47
47
  [part="start"],
48
48
  [part="end"] {
49
49
  --helix-size-control: var(--helix-size-control-sm);
50
+ --helix-size-control-loose: calc(var(--helix-size-control) * 1.2);
51
+ --helix-size-control-tight: calc(var(--helix-size-control) * 0.8);
50
52
  --helix-size-icon: var(--helix-size-icon-sm);
53
+ --helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);
54
+ --helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);
51
55
 
52
56
  align-items: center;
53
57
  display: flex;
@@ -66,7 +66,11 @@ pointer-events: auto;
66
66
  [part="actions"] {
67
67
 
68
68
  --helix-size-control: calc(var(--helix-size-control-sm) - var(--helix-space-2xs));
69
+ --helix-size-control-loose: calc(var(--helix-size-control) * 1.2);
70
+ --helix-size-control-tight: calc(var(--helix-size-control) * 0.8);
69
71
  --helix-size-icon: var(--helix-size-icon-sm);
72
+ --helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);
73
+ --helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);
70
74
 
71
75
  align-items: center;
72
76
  display: inline-flex;
@@ -81,6 +85,8 @@ display: none;
81
85
  --helix-size-avatar: var(--helix-size-avatar-sm);
82
86
  --helix-size-tag: var(--helix-size-tag-sm);
83
87
  --helix-size-icon: var(--helix-size-icon-sm);
88
+ --helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);
89
+ --helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);
84
90
 
85
91
  align-items: center;
86
92
  color: var(--helix-color-foreground-muted);
@@ -115,6 +121,15 @@ background-color: transparent;
115
121
  padding-inline: var(--helix-space-none);
116
122
  }
117
123
 
124
+ :host([separation="plain"]) [part="body"] {
125
+ justify-items: stretch;
126
+ max-inline-size: 100%;
127
+ }
128
+
129
+ :host([separation="plain"]) [part="content"] {
130
+ inline-size: auto;
131
+ }
132
+
118
133
  :host([author="me"]) [part="content"] {
119
134
  background-color: var(
120
135
  --chat-message-background-color-me,
@@ -161,6 +176,11 @@ padding-inline: var(--helix-space-xs);
161
176
  --orb-size: var(--helix-size-icon-sm);
162
177
  }
163
178
 
179
+ slot[name="indicator"]::slotted(helix-orb) {
180
+ background-color: transparent;
181
+ padding: var(--helix-space-none);
182
+ }
183
+
164
184
  [part="indicator"] {
165
185
  animation: helix-chat-typing 1.2s infinite ease-in-out;
166
186
  background-image:
@@ -62,7 +62,11 @@ padding-inline: var(--chat-padding-inline, var(--helix-space-md));
62
62
 
63
63
  [part="header"] > [part="actions"] {
64
64
  --helix-size-control: var(--helix-size-control-sm);
65
+ --helix-size-control-loose: calc(var(--helix-size-control) * 1.2);
66
+ --helix-size-control-tight: calc(var(--helix-size-control) * 0.8);
65
67
  --helix-size-icon: var(--helix-size-icon-sm);
68
+ --helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);
69
+ --helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);
66
70
 
67
71
  align-items: center;
68
72
  display: flex;
@@ -112,6 +116,7 @@ var(--helix-border-thin)
112
116
  }
113
117
 
114
118
  [part="empty"],
119
+ [part="history"],
115
120
  [part="loading"] {
116
121
  color: var(--helix-color-foreground-subtle);
117
122
  font-family: var(--helix-font-sans);
@@ -121,6 +126,27 @@ padding-block: var(--helix-space-lg);
121
126
  text-align: center;
122
127
  }
123
128
 
129
+ [part="live"] {
130
+ block-size: 1px;
131
+ clip-path: inset(50%);
132
+ inline-size: 1px;
133
+ overflow: hidden;
134
+ position: absolute;
135
+ white-space: nowrap;
136
+ }
137
+
138
+ [part="log"][data-windowed] {
139
+ gap: var(--helix-space-none);
140
+ }
141
+
142
+ [part="turn"] {
143
+ flex: none;
144
+ }
145
+
146
+ [part="turn"]:not([data-index="0"]) {
147
+ padding-block-start: var(--chat-gap, var(--helix-space-md));
148
+ }
149
+
124
150
  @media print {
125
151
  :host {
126
152
  max-block-size: none;