@fusion.dev/helix 0.145.0 → 0.146.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.
- package/custom-elements.json +7841 -3357
- package/dist/accordion/item/accordion-item.css.js +12 -8
- package/dist/accordion/item/accordion-item.d.ts +8 -0
- package/dist/aura/root/aura-root.css.js +3 -0
- package/dist/aura/root/aura-root.d.ts +21 -9
- package/dist/aura/root/aura-root.js +23 -12
- package/dist/badge/root/badge-root.css.js +86 -16
- package/dist/badge/root/badge-root.d.ts +18 -0
- package/dist/badge/root/badge-root.js +6 -0
- package/dist/blockquote/root/blockquote-root.css.js +2 -2
- package/dist/blockquote/root/blockquote-root.d.ts +2 -0
- package/dist/breadcrumbs/root/breadcrumbs-root.css.js +23 -0
- package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +1 -0
- package/dist/button/root/button-root.css.js +4 -3
- package/dist/button/root/button-root.d.ts +2 -0
- package/dist/callout/root/callout-root.css.js +4 -3
- package/dist/callout/root/callout-root.d.ts +6 -2
- package/dist/card/root/card-root.d.ts +6 -0
- package/dist/chat/message/chat-message.css.js +0 -62
- package/dist/chat/message/chat-message.js +2 -1
- package/dist/chat/root/chat-root.css.js +7 -0
- package/dist/chat/root/chat-root.d.ts +2 -0
- package/dist/chat/root/chat-root.js +2 -1
- package/dist/chat/typing.css.d.ts +1 -0
- package/dist/chat/typing.css.js +62 -0
- package/dist/checkbox/root/checkbox-root.css.js +15 -0
- package/dist/checkbox/root/checkbox-root.d.ts +2 -1
- package/dist/code/root/code-root.css.js +2 -2
- package/dist/code/root/code-root.d.ts +2 -0
- package/dist/code-block/root/code-block-root.css.js +24 -0
- package/dist/code-block/root/code-block-root.d.ts +2 -1
- package/dist/color-input/root/color-input-root.css.js +10 -0
- package/dist/color-picker/root/color-picker-root.css.js +8 -0
- package/dist/color-picker/root/color-picker-root.d.ts +1 -0
- package/dist/copy-button/root/copy-button-root.css.js +15 -6
- package/dist/copy-button/root/copy-button-root.d.ts +7 -0
- package/dist/data-table/root/data-table-root.css.js +14 -7
- package/dist/data-table/root/data-table-root.d.ts +5 -0
- package/dist/date-input/root/date-input-root.css.js +10 -0
- package/dist/donut-chart/root/donut-chart-root.css.js +19 -0
- package/dist/donut-chart/root/donut-chart-root.d.ts +3 -0
- package/dist/drawer/root/drawer-root.css.js +47 -0
- package/dist/drawer/root/drawer-root.d.ts +5 -0
- package/dist/drilldown/item/drilldown-item.css.js +6 -6
- package/dist/drilldown/item/drilldown-item.d.ts +6 -0
- package/dist/drilldown/root/drilldown-root.css.js +25 -12
- package/dist/drilldown/root/drilldown-root.d.ts +10 -0
- package/dist/element-events.generated.js +15 -5
- package/dist/file-input/root/file-input-root.css.js +12 -11
- package/dist/file-input/root/file-input-root.d.ts +11 -0
- package/dist/filter-input/root/filter-input-root.css.js +6 -5
- package/dist/filter-input/root/filter-input-root.d.ts +5 -0
- package/dist/flex/root/flex-root.css.js +9 -0
- package/dist/flex/root/flex-root.d.ts +17 -6
- package/dist/graph/root/graph-root.css.js +11 -8
- package/dist/graph/root/graph-root.d.ts +8 -0
- package/dist/grid/root/grid-root.d.ts +4 -1
- package/dist/heatmap/root/heatmap-root.css.js +2 -1
- package/dist/icon-button/root/icon-button-root.css.js +68 -13
- package/dist/icon-button/root/icon-button-root.d.ts +4 -0
- package/dist/kbd/root/kbd-root.css.js +27 -0
- package/dist/kbd/root/kbd-root.d.ts +2 -0
- package/dist/lightbox/item/lightbox-item.css.js +4 -0
- package/dist/lightbox/root/lightbox-root.css.js +41 -0
- package/dist/line-chart/root/line-chart-root.css.js +16 -0
- package/dist/line-chart/root/line-chart-root.d.ts +2 -0
- package/dist/listbox/root/listbox-root.css.js +9 -0
- package/dist/listbox/root/listbox-root.d.ts +1 -0
- package/dist/loader/root/loader-root.css.js +3 -3
- package/dist/loader/root/loader-root.d.ts +2 -0
- package/dist/megamenu/root/megamenu-root.css.js +16 -13
- package/dist/megamenu/root/megamenu-root.d.ts +11 -0
- package/dist/menu/item/menu-item.css.js +25 -4
- package/dist/menu/item/menu-item.d.ts +1 -0
- package/dist/meter/root/meter-root.css.js +6 -3
- package/dist/meter/root/meter-root.d.ts +1 -0
- package/dist/navigation/root/navigation-root.d.ts +7 -0
- package/dist/notifications/root/notifications-root.css.js +6 -0
- package/dist/number-input/root/number-input-root.css.js +12 -9
- package/dist/number-input/root/number-input-root.d.ts +8 -0
- package/dist/object-inspector/root/object-inspector-root.css.js +2 -6
- package/dist/option/root/option-root.css.js +1 -1
- package/dist/orb/root/orb-root.d.ts +14 -6
- package/dist/orb/root/orb-root.js +16 -27
- package/dist/pin-input/root/pin-input-root.css.js +4 -4
- package/dist/pin-input/root/pin-input-root.d.ts +4 -0
- package/dist/progress/root/progress-root.css.js +4 -2
- package/dist/progress/root/progress-root.d.ts +1 -0
- package/dist/qr-code/root/qr-code-root.css.js +11 -0
- package/dist/quote/root/quote-root.css.js +3 -0
- package/dist/quote/root/quote-root.d.ts +2 -0
- package/dist/radio/root/radio-root.css.js +16 -0
- package/dist/radio/root/radio-root.d.ts +2 -1
- package/dist/sandbox/frame.d.ts +3 -2
- package/dist/sandbox/frame.js +19 -5
- package/dist/sandbox/index.d.ts +1 -0
- package/dist/sandbox/source/sandbox-source.css.js +70 -0
- package/dist/sandbox/source/sandbox-source.d.ts +34 -0
- package/dist/sandbox/source/sandbox-source.js +15 -0
- package/dist/sandbox/terminal/sandbox-terminal.d.ts +10 -2
- package/dist/sandbox/terminal/sandbox-terminal.js +18 -5
- package/dist/sandbox/tokens.d.ts +39 -0
- package/dist/sandbox/tokens.js +9 -0
- package/dist/scatter-chart/root/scatter-chart-root.css.js +9 -0
- package/dist/scatter-chart/root/scatter-chart-root.d.ts +2 -0
- package/dist/skeleton/root/skeleton-root.css.js +11 -11
- package/dist/skeleton/root/skeleton-root.d.ts +1 -0
- package/dist/skip-link/root/skip-link-root.css.js +12 -0
- package/dist/skip-link/root/skip-link-root.d.ts +3 -3
- package/dist/slider/root/slider-root.css.js +26 -0
- package/dist/sparkline/root/sparkline-root.css.js +49 -0
- package/dist/sparkline/root/sparkline-root.d.ts +6 -0
- package/dist/sparkline/root/sparkline-root.js +2 -1
- package/dist/speed-dial/item/speed-dial-item.css.js +7 -6
- package/dist/speed-dial/item/speed-dial-item.d.ts +3 -0
- package/dist/speed-dial/root/speed-dial-root.css.js +10 -5
- package/dist/speed-dial/root/speed-dial-root.d.ts +7 -1
- package/dist/speed-dial/root/speed-dial-root.js +0 -1
- package/dist/stat/root/stat-root.css.js +4 -0
- package/dist/steps/root/steps-root.css.js +28 -0
- package/dist/steps/root/steps-root.d.ts +5 -0
- package/dist/tabs/root/tabs-root.css.js +2 -2
- package/dist/tabs/root/tabs-root.d.ts +4 -0
- package/dist/tabs/tab/tab.css.js +16 -9
- package/dist/tabs/tab/tab.d.ts +7 -0
- package/dist/tag/group/tag-group.css.js +6 -0
- package/dist/text/clamp.d.ts +5 -2
- package/dist/text/clamp.js +3 -1
- package/dist/text/root/text-root.css.js +0 -6
- package/dist/text/root/text-root.d.ts +2 -1
- package/dist/textarea/root/textarea-root.css.js +27 -0
- package/dist/time-input/root/time-input-root.css.js +12 -0
- package/dist/time-picker/root/time-picker-root.css.js +1 -1
- package/dist/toast/item/toast-item.css.js +10 -0
- package/dist/toast/root/toast-root.d.ts +1 -0
- package/dist/toast/root/toast-root.js +1 -0
- package/dist/toggle/group/toggle-group.css.js +10 -7
- package/dist/toggle/group/toggle-group.d.ts +6 -1
- package/dist/toggle/root/toggle-root.d.ts +6 -0
- package/dist/toolbar/root/toolbar-root.css.js +1 -0
- package/dist/toolbar/root/toolbar-root.d.ts +2 -0
- package/dist/tooltip/root/tooltip-root.css.js +5 -5
- package/dist/tooltip/root/tooltip-root.d.ts +4 -0
- package/dist/tree/item/tree-item.css.js +19 -9
- package/dist/tree/item/tree-item.d.ts +9 -0
- package/dist/trend/root/trend-root.css.js +3 -5
- package/dist/trend/root/trend-root.d.ts +2 -2
- package/dist/virtual-list/root/virtual-list-root.css.js +14 -0
- package/dist/virtual-list/root/virtual-list-root.d.ts +7 -1
- package/lint.json +1 -1
- package/package.json +9 -9
- package/types/jsx.d.ts +4289 -631
- package/types/vue.d.ts +1296 -127
|
@@ -60,7 +60,10 @@ var(--helix-color-foreground)
|
|
|
60
60
|
|
|
61
61
|
[part="button"] {
|
|
62
62
|
align-items: center;
|
|
63
|
-
background-color: var(
|
|
63
|
+
background-color: var(
|
|
64
|
+
--_icon-button-pressed-fill,
|
|
65
|
+
var(--icon-button-background-color, transparent)
|
|
66
|
+
);
|
|
64
67
|
block-size: var(--_icon-button-size);
|
|
65
68
|
border: var(--helix-border-thin) solid transparent;
|
|
66
69
|
|
|
@@ -77,7 +80,10 @@ border-start-start-radius: var(
|
|
|
77
80
|
--button-radius-start,
|
|
78
81
|
var(--icon-button-radius, var(--helix-radii-sm))
|
|
79
82
|
);
|
|
80
|
-
color: var(
|
|
83
|
+
color: var(
|
|
84
|
+
--_icon-button-pressed-ink,
|
|
85
|
+
var(--icon-button-foreground-color, var(--_icon-button-ink))
|
|
86
|
+
);
|
|
81
87
|
cursor: pointer;
|
|
82
88
|
display: inline-flex;
|
|
83
89
|
|
|
@@ -92,13 +98,24 @@ color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
|
92
98
|
|
|
93
99
|
:host(:not(:disabled)) [part="button"]:hover {
|
|
94
100
|
background-color: var(
|
|
101
|
+
--_icon-button-pressed-fill,
|
|
102
|
+
var(
|
|
95
103
|
--icon-button-background-color-hover,
|
|
96
104
|
var(
|
|
97
105
|
--icon-button-background-color,
|
|
98
106
|
color-mix(in oklab, var(--_icon-button-tone) 8%, transparent)
|
|
99
107
|
)
|
|
108
|
+
)
|
|
109
|
+
);
|
|
110
|
+
color: var(
|
|
111
|
+
--_icon-button-pressed-ink,
|
|
112
|
+
var(--icon-button-foreground-color, var(--_icon-button-ink-hover))
|
|
100
113
|
);
|
|
101
|
-
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
:host(:not(:disabled)) [part="button"]:active {
|
|
117
|
+
--_icon-button-pressed-fill: var(--icon-button-background-color-active);
|
|
118
|
+
--_icon-button-pressed-ink: var(--icon-button-foreground-color-active);
|
|
102
119
|
}
|
|
103
120
|
|
|
104
121
|
:host([shape="circle"]) [part="button"] {
|
|
@@ -123,55 +140,91 @@ outline-offset: var(--helix-size-focus-offset);
|
|
|
123
140
|
}
|
|
124
141
|
|
|
125
142
|
:host([emphasis="solid"]) [part="button"] {
|
|
126
|
-
background-color: var(
|
|
143
|
+
background-color: var(
|
|
144
|
+
--_icon-button-pressed-fill,
|
|
145
|
+
var(--icon-button-background-color, var(--_icon-button-fill))
|
|
146
|
+
);
|
|
127
147
|
border-color: transparent;
|
|
128
|
-
color: var(
|
|
148
|
+
color: var(
|
|
149
|
+
--_icon-button-pressed-ink,
|
|
150
|
+
var(--icon-button-foreground-color, var(--_icon-button-on-tone))
|
|
151
|
+
);
|
|
129
152
|
}
|
|
130
153
|
:host(:not(:disabled)[emphasis="solid"]) [part="button"]:hover {
|
|
131
154
|
background-color: var(
|
|
155
|
+
--_icon-button-pressed-fill,
|
|
156
|
+
var(
|
|
132
157
|
--icon-button-background-color-hover,
|
|
133
158
|
var(--icon-button-background-color, var(--_icon-button-fill-hover))
|
|
159
|
+
)
|
|
160
|
+
);
|
|
161
|
+
color: var(
|
|
162
|
+
--_icon-button-pressed-ink,
|
|
163
|
+
var(--icon-button-foreground-color, var(--_icon-button-on-tone))
|
|
134
164
|
);
|
|
135
|
-
color: var(--icon-button-foreground-color, var(--_icon-button-on-tone));
|
|
136
165
|
}
|
|
137
166
|
|
|
138
167
|
:host([emphasis="outlined"]) [part="button"] {
|
|
139
168
|
background-color: var(
|
|
169
|
+
--_icon-button-pressed-fill,
|
|
170
|
+
var(
|
|
140
171
|
--icon-button-background-color,
|
|
141
172
|
color-mix(in oklab, var(--_icon-button-tone) 6%, transparent)
|
|
173
|
+
)
|
|
142
174
|
);
|
|
143
175
|
border-color: var(--_icon-button-edge);
|
|
144
|
-
color: var(
|
|
176
|
+
color: var(
|
|
177
|
+
--_icon-button-pressed-ink,
|
|
178
|
+
var(--icon-button-foreground-color, var(--_icon-button-tone))
|
|
179
|
+
);
|
|
145
180
|
}
|
|
146
181
|
:host(:not(:disabled)[emphasis="outlined"]) [part="button"]:hover {
|
|
147
182
|
background-color: var(
|
|
183
|
+
--_icon-button-pressed-fill,
|
|
184
|
+
var(
|
|
148
185
|
--icon-button-background-color-hover,
|
|
149
186
|
var(
|
|
150
187
|
--icon-button-background-color,
|
|
151
188
|
color-mix(in oklab, var(--_icon-button-tone) 12%, transparent)
|
|
152
189
|
)
|
|
190
|
+
)
|
|
191
|
+
);
|
|
192
|
+
color: var(
|
|
193
|
+
--_icon-button-pressed-ink,
|
|
194
|
+
var(--icon-button-foreground-color, var(--_icon-button-tone))
|
|
153
195
|
);
|
|
154
|
-
color: var(--icon-button-foreground-color, var(--_icon-button-tone));
|
|
155
196
|
}
|
|
156
197
|
|
|
157
198
|
:host([emphasis="subtle"]) [part="button"] {
|
|
158
199
|
background-color: var(
|
|
200
|
+
--_icon-button-pressed-fill,
|
|
201
|
+
var(
|
|
159
202
|
--icon-button-background-color,
|
|
160
203
|
color-mix(in oklab, var(--_icon-button-tone) 14%, transparent)
|
|
204
|
+
)
|
|
161
205
|
);
|
|
162
206
|
border-color: transparent;
|
|
163
|
-
color: var(
|
|
207
|
+
color: var(
|
|
208
|
+
--_icon-button-pressed-ink,
|
|
209
|
+
var(--icon-button-foreground-color, var(--_icon-button-tone))
|
|
210
|
+
);
|
|
164
211
|
}
|
|
165
212
|
|
|
166
213
|
:host(:not(:disabled)[emphasis="subtle"]) [part="button"]:hover {
|
|
167
214
|
background-color: var(
|
|
215
|
+
--_icon-button-pressed-fill,
|
|
216
|
+
var(
|
|
168
217
|
--icon-button-background-color-hover,
|
|
169
218
|
var(
|
|
170
219
|
--icon-button-background-color,
|
|
171
220
|
color-mix(in oklab, var(--_icon-button-tone) 22%, transparent)
|
|
172
221
|
)
|
|
222
|
+
)
|
|
223
|
+
);
|
|
224
|
+
color: var(
|
|
225
|
+
--_icon-button-pressed-ink,
|
|
226
|
+
var(--icon-button-foreground-color, var(--_icon-button-tone))
|
|
173
227
|
);
|
|
174
|
-
color: var(--icon-button-foreground-color, var(--_icon-button-tone));
|
|
175
228
|
}
|
|
176
229
|
|
|
177
230
|
:host(:disabled) [part="button"] {
|
|
@@ -189,10 +242,12 @@ visibility: hidden;
|
|
|
189
242
|
}
|
|
190
243
|
|
|
191
244
|
:host(:state(pending)) [part="button"]::after {
|
|
192
|
-
animation: helix-icon-button-turn var(--_icon-button-turn)
|
|
245
|
+
animation: helix-icon-button-turn var(--icon-button-spinner-duration, var(--_icon-button-turn))
|
|
246
|
+
linear infinite;
|
|
193
247
|
block-size: var(--icon-button-spinner-size, 1.15em);
|
|
194
|
-
border: var(--helix-border-thick) solid
|
|
195
|
-
|
|
248
|
+
border: var(--helix-border-thick) solid
|
|
249
|
+
color-mix(in oklab, var(--icon-button-spinner-color, currentColor) 30%, transparent);
|
|
250
|
+
border-block-start-color: var(--icon-button-spinner-color, currentColor);
|
|
196
251
|
border-radius: var(--helix-radii-full);
|
|
197
252
|
box-sizing: border-box;
|
|
198
253
|
content: "";
|
|
@@ -25,11 +25,15 @@ declare const HelixIconButton_base: (new (...args: any[]) => import("../../share
|
|
|
25
25
|
* @csspart live - The live region that says `pending-label` when the button becomes pending under focus. It is clipped out of view and still read.
|
|
26
26
|
*
|
|
27
27
|
* @cssproperty --icon-button-background-color - Fill behind the button, in every state.
|
|
28
|
+
* @cssproperty --icon-button-background-color-active - Fill behind the button while it is pressed. Without it, a press shows the fill of the state under it.
|
|
28
29
|
* @cssproperty --icon-button-background-color-hover - Fill behind the button under the pointer. Without it, `--icon-button-background-color` also applies on hover.
|
|
29
30
|
* @cssproperty --icon-button-foreground-color - Icon color.
|
|
31
|
+
* @cssproperty --icon-button-foreground-color-active - Icon color while the button is pressed. Without it, a press shows the color of the state under it.
|
|
30
32
|
* @cssproperty --icon-button-radius - Corner radius of the control, which a group flattens through `--button-radius-start` and `--button-radius-end`.
|
|
31
33
|
* @cssproperty --icon-button-shadow - Shadow of a raised icon button.
|
|
32
34
|
* @cssproperty --icon-button-size - Edge length of the control.
|
|
35
|
+
* @cssproperty --icon-button-spinner-color - Color of the ring a pending button turns. It follows the icon's color.
|
|
36
|
+
* @cssproperty --icon-button-spinner-duration - How long the ring takes to turn once.
|
|
33
37
|
* @cssproperty --icon-button-spinner-size - Size of the ring a pending button turns.
|
|
34
38
|
*
|
|
35
39
|
* @cssstate pending - The button is pending: `pending` is set. A ring turns over its hidden icon.
|
|
@@ -39,6 +39,33 @@ padding-inline: var(--_kbd-inset);
|
|
|
39
39
|
padding-block-start: var(--helix-border-thin);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
:host([caps]) [part="kbd"] {
|
|
43
|
+
background-color: transparent;
|
|
44
|
+
border: 0;
|
|
45
|
+
box-shadow: none;
|
|
46
|
+
gap: var(--kbd-gap, var(--helix-space-2xs));
|
|
47
|
+
min-inline-size: 0;
|
|
48
|
+
padding: 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
:host([caps]) [part="key"] {
|
|
52
|
+
align-items: center;
|
|
53
|
+
background-color: var(--kbd-background-color, var(--helix-color-surface-sunken));
|
|
54
|
+
block-size: var(--_kbd-height);
|
|
55
|
+
border: var(--helix-border-thin) solid var(--kbd-border-color, var(--helix-color-border));
|
|
56
|
+
border-radius: var(--helix-radii-sm);
|
|
57
|
+
box-shadow: inset 0 -1px 0 0 var(--kbd-border-color, var(--helix-color-border));
|
|
58
|
+
display: inline-flex;
|
|
59
|
+
justify-content: center;
|
|
60
|
+
min-inline-size: var(--_kbd-height);
|
|
61
|
+
padding-block-start: var(--helix-border-thin);
|
|
62
|
+
padding-inline: var(--_kbd-inset);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
[part="separator"] {
|
|
66
|
+
color: var(--kbd-separator-color, var(--helix-color-foreground-muted));
|
|
67
|
+
}
|
|
68
|
+
|
|
42
69
|
@media print {
|
|
43
70
|
:host {
|
|
44
71
|
box-shadow: none;
|
|
@@ -18,6 +18,8 @@ import type { CSSResultGroup } from 'lit';
|
|
|
18
18
|
*
|
|
19
19
|
* @cssproperty --kbd-background-color - The fill of the key.
|
|
20
20
|
* @cssproperty --kbd-border-color - The color of the key's border and its bottom edge.
|
|
21
|
+
* @cssproperty --kbd-gap - The space between two keys of a chord under `caps`.
|
|
22
|
+
* @cssproperty --kbd-separator-color - The color of the `+` between two keys of a chord under `caps`.
|
|
21
23
|
*/
|
|
22
24
|
export declare class HelixKbd extends HelixHeadlessKbd {
|
|
23
25
|
static styles: CSSResultGroup;
|
|
@@ -114,6 +114,27 @@ block-size: var(--helix-size-icon);
|
|
|
114
114
|
inline-size: var(--helix-size-icon);
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
+
[part="previous"] ::slotted(*),
|
|
118
|
+
[part="next"] ::slotted(*),
|
|
119
|
+
[part="dismiss"] ::slotted(*) {
|
|
120
|
+
--icon-size: var(--helix-size-icon);
|
|
121
|
+
|
|
122
|
+
block-size: var(--helix-size-icon);
|
|
123
|
+
inline-size: var(--helix-size-icon);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
:host(:state(zoomable)) [part="dialog"] {
|
|
127
|
+
touch-action: none;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
:host(:state(zoomable)) [part="viewport"] {
|
|
131
|
+
cursor: zoom-in;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
:host(:state(zoomed)) [part="viewport"] {
|
|
135
|
+
cursor: grab;
|
|
136
|
+
}
|
|
137
|
+
|
|
117
138
|
[part="previous"]:hover,
|
|
118
139
|
[part="next"]:hover,
|
|
119
140
|
[part="dismiss"]:hover {
|
|
@@ -133,6 +154,25 @@ cursor: default;
|
|
|
133
154
|
opacity: 0.4;
|
|
134
155
|
}
|
|
135
156
|
|
|
157
|
+
[part="counter"] {
|
|
158
|
+
background-color: var(--helix-color-surface-overlay);
|
|
159
|
+
border-radius: var(--helix-radii-full);
|
|
160
|
+
box-shadow: var(--helix-shadow-md);
|
|
161
|
+
color: var(--lightbox-foreground, var(--helix-color-foreground));
|
|
162
|
+
font-family: var(--helix-font-sans);
|
|
163
|
+
font-size: var(--helix-text-sm);
|
|
164
|
+
font-variant-numeric: tabular-nums;
|
|
165
|
+
inset-block-start: var(--lightbox-padding, var(--helix-space-md));
|
|
166
|
+
inset-inline-start: var(--lightbox-padding, var(--helix-space-md));
|
|
167
|
+
line-height: var(--helix-leading-tight);
|
|
168
|
+
padding: var(--helix-space-2xs) var(--helix-space-sm);
|
|
169
|
+
position: absolute;
|
|
170
|
+
transition:
|
|
171
|
+
opacity var(--helix-duration-fast) var(--helix-easing-standard),
|
|
172
|
+
visibility var(--helix-duration-fast) var(--helix-easing-standard);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
:host(:state(idle)) [part="counter"],
|
|
136
176
|
:host(:state(idle)) [part="previous"],
|
|
137
177
|
:host(:state(idle)) [part="next"],
|
|
138
178
|
:host(:state(idle)) [part="dismiss"] {
|
|
@@ -141,6 +181,7 @@ visibility: hidden;
|
|
|
141
181
|
}
|
|
142
182
|
|
|
143
183
|
@media (prefers-reduced-motion: reduce) {
|
|
184
|
+
[part="counter"],
|
|
144
185
|
[part="previous"],
|
|
145
186
|
[part="next"],
|
|
146
187
|
[part="dismiss"] {
|
|
@@ -61,6 +61,22 @@ stroke: var(--chart-series);
|
|
|
61
61
|
color: var(--chart-series);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
+
[part~="marker"] {
|
|
65
|
+
background-color: var(--chart-series);
|
|
66
|
+
block-size: var(--line-chart-marker-size, 6px);
|
|
67
|
+
border-radius: var(--helix-radii-full);
|
|
68
|
+
box-shadow: 0 0 0 var(--helix-border-thin)
|
|
69
|
+
var(--line-chart-marker-ring-color, var(--helix-color-background));
|
|
70
|
+
inline-size: var(--line-chart-marker-size, 6px);
|
|
71
|
+
pointer-events: none;
|
|
72
|
+
position: absolute;
|
|
73
|
+
translate: -50% -50%;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
:host(:dir(rtl)) [part~="marker"] {
|
|
77
|
+
translate: 50% -50%;
|
|
78
|
+
}
|
|
79
|
+
|
|
64
80
|
:host([terminus="ring"]) [part="svg"] {
|
|
65
81
|
mask-composite: intersect;
|
|
66
82
|
mask-image: var(--_line-chart-holes);
|
|
@@ -38,6 +38,8 @@ import '../../tooltip/index.js';
|
|
|
38
38
|
* @cssproperty --line-chart-block-size - Height of the drawing.
|
|
39
39
|
* @cssproperty --line-chart-gap - Space between the drawing and its labels.
|
|
40
40
|
* @cssproperty --line-chart-gridline-color - Color of the rules drawn across the plot under `gridlines`.
|
|
41
|
+
* @cssproperty --line-chart-marker-ring-color - Color of the ring round the mark on a reading, which matches the page. Change it when the chart sits on another surface.
|
|
42
|
+
* @cssproperty --line-chart-marker-size - Size of the mark on a reading, under `markers`.
|
|
41
43
|
* @cssproperty --line-chart-width - Thickness of a line. Overrides `--chart-stroke`.
|
|
42
44
|
*/
|
|
43
45
|
export declare class HelixLineChart extends HelixHeadlessLineChart {
|
|
@@ -48,6 +48,15 @@ cursor: not-allowed;
|
|
|
48
48
|
--_collection-inset-inline: var(--helix-space-xs);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
+
[part="error"] {
|
|
52
|
+
color: var(--listbox-error-color, var(--helix-color-danger));
|
|
53
|
+
font-family: var(--helix-font-sans);
|
|
54
|
+
font-size: var(--helix-text-sm);
|
|
55
|
+
margin: var(--helix-space-none);
|
|
56
|
+
padding: var(--helix-space-xs);
|
|
57
|
+
text-align: center;
|
|
58
|
+
}
|
|
59
|
+
|
|
51
60
|
[part="filter-icon"] {
|
|
52
61
|
align-items: center;
|
|
53
62
|
color: var(--helix-color-foreground-subtle);
|
|
@@ -19,6 +19,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
19
19
|
*
|
|
20
20
|
* @cssproperty --listbox-background-color - The panel's fill. Set it to `transparent` when the list is already inside a panel.
|
|
21
21
|
* @cssproperty --listbox-border - The panel's border, as a shorthand. Set it to `none` when the list is already inside a panel.
|
|
22
|
+
* @cssproperty --listbox-error-color - The color of the line shown while `load-error` is set.
|
|
22
23
|
* @cssproperty --listbox-max-block-size - Maximum height of the list before it scrolls.
|
|
23
24
|
*/
|
|
24
25
|
export declare class HelixListbox extends HelixHeadlessListbox {
|
|
@@ -23,7 +23,7 @@ vertical-align: middle;
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
[part="svg"] {
|
|
26
|
-
animation: helix-loader-turn var(--_loader-turn) linear infinite;
|
|
26
|
+
animation: helix-loader-turn var(--loader-duration, var(--_loader-turn)) linear infinite;
|
|
27
27
|
grid-area: 1 / 1;
|
|
28
28
|
block-size: var(--loader-size, var(--_loader-size));
|
|
29
29
|
inline-size: var(--loader-size, var(--_loader-size));
|
|
@@ -33,7 +33,7 @@ inline-size: var(--loader-size, var(--_loader-size));
|
|
|
33
33
|
animation: helix-loader-breathe var(--_loader-breathe) ease-in-out infinite;
|
|
34
34
|
opacity: 0.18;
|
|
35
35
|
stroke: var(--loader-track-color, currentColor);
|
|
36
|
-
stroke-width: var(--_loader-stroke);
|
|
36
|
+
stroke-width: var(--loader-track-width, var(--_loader-stroke));
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
[part="mark"] {
|
|
@@ -68,7 +68,7 @@ scale: 1;
|
|
|
68
68
|
stroke: var(--loader-color, currentColor);
|
|
69
69
|
stroke-dasharray: 50, 100;
|
|
70
70
|
stroke-linecap: round;
|
|
71
|
-
stroke-width: var(--_loader-stroke);
|
|
71
|
+
stroke-width: var(--loader-track-width, var(--_loader-stroke));
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
@keyframes helix-loader-turn {
|
|
@@ -20,8 +20,10 @@ import type { CSSResultGroup } from 'lit';
|
|
|
20
20
|
* @documentation https://fusion.dev/helix/components/loader
|
|
21
21
|
*
|
|
22
22
|
* @cssproperty --loader-color - Color of the moving arc.
|
|
23
|
+
* @cssproperty --loader-duration - How long one turn of the arc takes, 0.8s by default. With motion reduced the turn slows to a crawl whatever this says.
|
|
23
24
|
* @cssproperty --loader-size - Diameter. Defaults to the size token that `size` picks, which is 1.5rem at the default density.
|
|
24
25
|
* @cssproperty --loader-track-color - Color of the circle behind the arc.
|
|
26
|
+
* @cssproperty --loader-track-width - Width of the arc and the circle behind it, in units of a 24-unit drawing. Defaults to 2.
|
|
25
27
|
*/
|
|
26
28
|
export declare class HelixLoader extends HelixHeadlessLoader {
|
|
27
29
|
/**
|
|
@@ -8,23 +8,23 @@ all: unset;
|
|
|
8
8
|
box-sizing: border-box;
|
|
9
9
|
|
|
10
10
|
align-items: center;
|
|
11
|
-
border-radius: var(--helix-radii-sm);
|
|
12
|
-
color: var(--helix-color-foreground-muted);
|
|
11
|
+
border-radius: var(--megamenu-trigger-radius, var(--helix-radii-sm));
|
|
12
|
+
color: var(--megamenu-trigger-color, var(--helix-color-foreground-muted));
|
|
13
13
|
cursor: pointer;
|
|
14
14
|
display: inline-flex;
|
|
15
15
|
font-family: var(--helix-font-sans);
|
|
16
|
-
font-size: var(--helix-text-sm);
|
|
17
|
-
font-weight: var(--helix-weight-medium);
|
|
16
|
+
font-size: var(--megamenu-trigger-font-size, var(--helix-text-sm));
|
|
17
|
+
font-weight: var(--megamenu-trigger-font-weight, var(--helix-weight-medium));
|
|
18
18
|
gap: var(--helix-space-2xs);
|
|
19
19
|
min-block-size: var(--helix-size-control-tight);
|
|
20
|
-
padding-inline: var(--helix-space-xs);
|
|
20
|
+
padding-inline: var(--megamenu-trigger-padding-inline, var(--helix-space-xs));
|
|
21
21
|
transition:
|
|
22
22
|
background-color var(--helix-duration-fast) var(--helix-easing-standard),
|
|
23
23
|
color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
[part="trigger"]:hover {
|
|
27
|
-
color: var(--helix-color-foreground);
|
|
27
|
+
color: var(--megamenu-trigger-hover-color, var(--helix-color-foreground));
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
[part="trigger"]:focus-visible {
|
|
@@ -33,8 +33,11 @@ outline-offset: var(--helix-size-focus-offset);
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
[part="trigger"][aria-expanded="true"] {
|
|
36
|
-
background-color:
|
|
37
|
-
|
|
36
|
+
background-color: var(
|
|
37
|
+
--megamenu-trigger-open-background-color,
|
|
38
|
+
color-mix(in oklab, var(--helix-color-foreground) 8%, transparent)
|
|
39
|
+
);
|
|
40
|
+
color: var(--megamenu-trigger-open-color, var(--helix-color-foreground));
|
|
38
41
|
}
|
|
39
42
|
|
|
40
43
|
[part="surface"] {
|
|
@@ -52,7 +55,7 @@ box-sizing: border-box;
|
|
|
52
55
|
clip-path: inset(0 calc(var(--helix-space-xl) * -1) 100% calc(var(--helix-space-xl) * -1));
|
|
53
56
|
|
|
54
57
|
display: grid;
|
|
55
|
-
gap: var(--helix-space-xl);
|
|
58
|
+
gap: var(--megamenu-gap, var(--helix-space-xl));
|
|
56
59
|
grid-auto-columns: minmax(var(--megamenu-column-size, 15rem), 1fr);
|
|
57
60
|
grid-auto-flow: column;
|
|
58
61
|
|
|
@@ -60,12 +63,12 @@ inline-size: max-content;
|
|
|
60
63
|
margin: var(--helix-space-none);
|
|
61
64
|
|
|
62
65
|
max-inline-size: min(var(--megamenu-size, 52rem), calc(100% - var(--helix-space-xl) * 2));
|
|
63
|
-
padding: var(--helix-space-md);
|
|
66
|
+
padding: var(--megamenu-padding, var(--helix-space-md));
|
|
64
67
|
|
|
65
68
|
transition:
|
|
66
|
-
clip-path var(--helix-duration-slow) var(--helix-easing-decelerate),
|
|
67
|
-
display var(--helix-duration-slow) allow-discrete,
|
|
68
|
-
overlay var(--helix-duration-slow) allow-discrete;
|
|
69
|
+
clip-path var(--megamenu-duration, var(--helix-duration-slow)) var(--helix-easing-decelerate),
|
|
70
|
+
display var(--megamenu-duration, var(--helix-duration-slow)) allow-discrete,
|
|
71
|
+
overlay var(--megamenu-duration, var(--helix-duration-slow)) allow-discrete;
|
|
69
72
|
}
|
|
70
73
|
|
|
71
74
|
[part="surface"]:popover-open {
|
|
@@ -20,10 +20,21 @@ import type { CSSResultGroup } from 'lit';
|
|
|
20
20
|
* `--helix-border-floating`, which is `0` unless a theme changes it, so the panel stands out
|
|
21
21
|
* by its shadow.
|
|
22
22
|
* @cssproperty --megamenu-column-size - The minimum width of a column before the grid wraps.
|
|
23
|
+
* @cssproperty --megamenu-duration - How long the panel takes to open and close.
|
|
23
24
|
* @cssproperty --megamenu-full-size - The maximum width of the band's contents, which are centered in it.
|
|
25
|
+
* @cssproperty --megamenu-gap - The space between the panel's columns.
|
|
26
|
+
* @cssproperty --megamenu-padding - The space inside the card's edge.
|
|
24
27
|
* @cssproperty --megamenu-shadow - The shadow under the panel. Follows `--helix-shadow-floating`,
|
|
25
28
|
* so the panel has a shadow by default, because it sits over content you cannot predict.
|
|
26
29
|
* @cssproperty --megamenu-size - The maximum width of the panel.
|
|
30
|
+
* @cssproperty --megamenu-trigger-color - The trigger's text color at rest.
|
|
31
|
+
* @cssproperty --megamenu-trigger-font-size - The size of the trigger's text.
|
|
32
|
+
* @cssproperty --megamenu-trigger-font-weight - The weight of the trigger's text.
|
|
33
|
+
* @cssproperty --megamenu-trigger-hover-color - The trigger's text color under the pointer.
|
|
34
|
+
* @cssproperty --megamenu-trigger-open-background-color - The trigger's fill while its panel is open.
|
|
35
|
+
* @cssproperty --megamenu-trigger-open-color - The trigger's text color while its panel is open.
|
|
36
|
+
* @cssproperty --megamenu-trigger-padding-inline - The space either side of the trigger's text.
|
|
37
|
+
* @cssproperty --megamenu-trigger-radius - The trigger's corners.
|
|
27
38
|
*/
|
|
28
39
|
export declare class HelixMegamenu extends HelixHeadlessMegamenu {
|
|
29
40
|
static styles: CSSResultGroup;
|
|
@@ -73,6 +73,20 @@ grid-column: 2;
|
|
|
73
73
|
min-inline-size: 0;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
+
slot[name="description"] {
|
|
77
|
+
color: var(--menu-item-description-color, var(--helix-color-foreground-subtle));
|
|
78
|
+
display: block;
|
|
79
|
+
font-weight: var(--helix-weight-regular);
|
|
80
|
+
grid-column: 2;
|
|
81
|
+
grid-row: 2;
|
|
82
|
+
min-inline-size: 0;
|
|
83
|
+
padding-block-end: var(--helix-space-2xs);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
slot[name="description"][data-empty] {
|
|
87
|
+
display: none;
|
|
88
|
+
}
|
|
89
|
+
|
|
76
90
|
[part="end"] {
|
|
77
91
|
align-items: center;
|
|
78
92
|
color: var(--menu-item-detail-color, var(--helix-color-foreground-subtle));
|
|
@@ -86,25 +100,32 @@ padding-inline-start: var(--helix-space-sm);
|
|
|
86
100
|
display: none;
|
|
87
101
|
}
|
|
88
102
|
|
|
89
|
-
[part="mark"]
|
|
103
|
+
[part="mark"],
|
|
104
|
+
slot[name="check"]::slotted(*),
|
|
105
|
+
slot[name="chevron"]::slotted(*) {
|
|
90
106
|
grid-column: 4;
|
|
107
|
+
grid-row: 1;
|
|
91
108
|
}
|
|
92
109
|
|
|
93
110
|
[part="start"][data-empty] {
|
|
94
111
|
display: none;
|
|
95
112
|
}
|
|
96
113
|
|
|
97
|
-
[part="mark"]
|
|
114
|
+
[part="mark"],
|
|
115
|
+
slot[name="check"]::slotted(*),
|
|
116
|
+
slot[name="chevron"]::slotted(*) {
|
|
98
117
|
block-size: var(--helix-size-icon);
|
|
99
118
|
inline-size: var(--helix-size-icon);
|
|
100
119
|
justify-self: end;
|
|
101
120
|
}
|
|
102
121
|
|
|
103
|
-
svg[part="mark"]
|
|
122
|
+
svg[part="mark"],
|
|
123
|
+
slot[name="chevron"]::slotted(*) {
|
|
104
124
|
color: var(--helix-color-foreground-subtle);
|
|
105
125
|
}
|
|
106
126
|
|
|
107
|
-
:host(:state(checked)) svg[part="mark"]
|
|
127
|
+
:host(:state(checked)) svg[part="mark"],
|
|
128
|
+
slot[name="check"]::slotted(*) {
|
|
108
129
|
color: var(--helix-color-foreground);
|
|
109
130
|
}
|
|
110
131
|
|
|
@@ -17,6 +17,7 @@ import '../../kbd/index.js';
|
|
|
17
17
|
* @aliases Menu option, Menu row
|
|
18
18
|
* @documentation https://fusion.dev/helix/components/menu
|
|
19
19
|
*
|
|
20
|
+
* @cssproperty --menu-item-description-color - Color of the line under the label.
|
|
20
21
|
* @cssproperty --menu-item-detail-color - Color of the shortcut and the words in the `end` slot.
|
|
21
22
|
* @cssproperty --menu-item-end - Width of the trailing column, including the gap before it, which holds a check mark or a submenu caret.
|
|
22
23
|
* @cssproperty --menu-item-hover-color - Fill under the pointer.
|
|
@@ -60,8 +60,10 @@ inline-size: 100%;
|
|
|
60
60
|
scale: var(--meter-fraction, 0) 1;
|
|
61
61
|
transform-origin: left center;
|
|
62
62
|
transition:
|
|
63
|
-
background-color var(--
|
|
64
|
-
|
|
63
|
+
background-color var(--meter-transition-duration, var(--helix-duration-normal))
|
|
64
|
+
var(--helix-easing-standard),
|
|
65
|
+
scale var(--meter-transition-duration, var(--helix-duration-normal))
|
|
66
|
+
var(--helix-easing-decelerate);
|
|
65
67
|
}
|
|
66
68
|
|
|
67
69
|
:host(:dir(rtl)) [part~="indicator"] {
|
|
@@ -158,7 +160,8 @@ scale: none;
|
|
|
158
160
|
stroke: var(--_meter-hue);
|
|
159
161
|
stroke-dasharray: var(--meter-along) 100;
|
|
160
162
|
stroke-linecap: round;
|
|
161
|
-
transition: stroke-dasharray var(--
|
|
163
|
+
transition: stroke-dasharray var(--meter-transition-duration, var(--helix-duration-normal))
|
|
164
|
+
var(--helix-easing-standard);
|
|
162
165
|
}
|
|
163
166
|
|
|
164
167
|
:host([shape="arc"]) [part="tick"],
|
|
@@ -50,6 +50,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
50
50
|
* @cssproperty --meter-size - The thickness of the bar.
|
|
51
51
|
* @cssproperty --meter-tick-color - The color of the mark at each threshold.
|
|
52
52
|
* @cssproperty --meter-track-color - The color of the groove behind the fill.
|
|
53
|
+
* @cssproperty --meter-transition-duration - How long the fill takes to move to a new reading, and to change its color. `0s` moves it at once.
|
|
53
54
|
*/
|
|
54
55
|
export declare class HelixMeter extends HelixHeadlessMeter {
|
|
55
56
|
/**
|
|
@@ -22,6 +22,13 @@ import type { CSSResultGroup } from 'lit';
|
|
|
22
22
|
* raised on the bar.
|
|
23
23
|
* @cssproperty --navigation-item-color - Text color of a destination that is not the current one. Read by the page's stylesheet, which styles the links you slot.
|
|
24
24
|
* @cssproperty --navigation-item-current-color - Text color of the current destination, the one marked `aria-current="page"`.
|
|
25
|
+
* @cssproperty --navigation-item-current-font-weight - Weight of the current destination's text.
|
|
26
|
+
* @cssproperty --navigation-item-font-size - Size of a destination's text.
|
|
27
|
+
* @cssproperty --navigation-item-font-weight - Weight of a destination's text.
|
|
28
|
+
* @cssproperty --navigation-item-hover-background-color - Background of a destination under the pointer.
|
|
29
|
+
* @cssproperty --navigation-item-hover-color - Text color of a destination under the pointer.
|
|
30
|
+
* @cssproperty --navigation-item-padding-inline - Space either side of a destination's text.
|
|
31
|
+
* @cssproperty --navigation-item-radius - Corner radius of a destination, which its hover background follows.
|
|
25
32
|
*/
|
|
26
33
|
export declare class HelixNavigation extends HelixHeadlessNavigation {
|
|
27
34
|
static styles: CSSResultGroup;
|
|
@@ -88,6 +88,12 @@ transition: color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
|
88
88
|
color: var(--helix-color-foreground);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
+
[part="more"][aria-disabled="true"],
|
|
92
|
+
[part="more"][aria-disabled="true"]:hover {
|
|
93
|
+
color: var(--helix-color-foreground-subtle);
|
|
94
|
+
cursor: default;
|
|
95
|
+
}
|
|
96
|
+
|
|
91
97
|
[part="more"]:focus-visible {
|
|
92
98
|
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
93
99
|
outline-offset: calc(var(--helix-size-focus-offset) * -1);
|