@fusion.dev/helix 0.144.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 +17914 -4368
- package/dist/accordion/item/accordion-item.css.js +25 -10
- package/dist/accordion/item/accordion-item.d.ts +10 -0
- package/dist/aura/palette.d.ts +38 -0
- package/dist/aura/palette.js +22 -0
- package/dist/aura/root/aura-root.css.js +27 -3
- package/dist/aura/root/aura-root.d.ts +61 -14
- package/dist/aura/root/aura-root.js +40 -23
- 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/breadcrumb/breadcrumb.css.js +7 -7
- package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +5 -0
- package/dist/breadcrumbs/root/breadcrumbs-root.css.js +24 -1
- package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +4 -0
- package/dist/breadcrumbs/root/breadcrumbs-root.js +2 -0
- package/dist/button/root/button-root.css.js +4 -3
- package/dist/button/root/button-root.d.ts +2 -0
- package/dist/button-group/root/button-group-root.d.ts +3 -0
- package/dist/callout/root/callout-root.css.js +4 -3
- package/dist/callout/root/callout-root.d.ts +6 -2
- package/dist/canvas/root/canvas-root.css.js +1 -0
- package/dist/card/root/card-root.d.ts +6 -0
- package/dist/carousel/root/carousel-root.css.js +17 -1
- 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 +70 -0
- package/dist/data-table/root/data-table-root.d.ts +6 -0
- package/dist/date-input/root/date-input-root.css.js +10 -0
- package/dist/description-list/item/description-list-item.css.js +11 -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 +8 -7
- package/dist/drilldown/item/drilldown-item.d.ts +6 -0
- package/dist/drilldown/root/drilldown-root.css.js +27 -13
- package/dist/drilldown/root/drilldown-root.d.ts +10 -0
- package/dist/element-events.generated.js +72 -13
- 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 +143 -9
- package/dist/flex/root/flex-root.d.ts +62 -5
- package/dist/flex/root/flex-root.js +17 -1
- 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.css.js +114 -11
- package/dist/grid/root/grid-root.d.ts +40 -0
- package/dist/grid/root/grid-root.js +13 -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/list/item/list-item.css.js +21 -1
- package/dist/list/item/list-item.d.ts +3 -0
- package/dist/list/root/list-root.css.js +13 -1
- 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/index.d.ts +1 -0
- package/dist/menu/index.js +1 -0
- package/dist/menu/item/menu-item.css.js +39 -4
- package/dist/menu/item/menu-item.d.ts +4 -0
- package/dist/menu/item/menu-item.js +2 -0
- package/dist/menu/section/menu-section.css.d.ts +1 -0
- package/dist/menu/section/menu-section.css.js +14 -0
- package/dist/menu/section/menu-section.d.ts +24 -0
- package/dist/menu/section/menu-section.js +16 -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.css.js +3 -2
- package/dist/navigation/root/navigation-root.d.ts +13 -0
- package/dist/notifications/root/notifications-root.css.js +30 -1
- package/dist/notifications/root/notifications-root.d.ts +1 -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 +38 -7
- package/dist/object-inspector/root/object-inspector-root.d.ts +4 -1
- package/dist/object-inspector/root/object-inspector-root.js +2 -1
- package/dist/option/root/option-root.css.js +1 -1
- package/dist/orb/index.d.ts +1 -1
- package/dist/orb/index.js +1 -1
- package/dist/orb/root/orb-root.d.ts +40 -6
- package/dist/orb/root/orb-root.js +29 -11
- package/dist/outline/root/outline-root.css.js +10 -0
- package/dist/outline/root/outline-root.d.ts +7 -0
- 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 +64 -0
- package/dist/sandbox/frame.js +146 -0
- package/dist/sandbox/index.d.ts +2 -0
- package/dist/sandbox/index.js +1 -0
- package/dist/sandbox/levels.d.ts +10 -0
- package/dist/sandbox/levels.js +5 -0
- package/dist/sandbox/root/sandbox-root.d.ts +3 -0
- package/dist/sandbox/root/sandbox-root.js +13 -3
- package/dist/sandbox/source/sandbox-source.css.js +70 -0
- package/dist/sandbox/source/sandbox-source.d.ts +35 -0
- package/dist/sandbox/source/sandbox-source.js +22 -3
- package/dist/sandbox/terminal/sandbox-terminal.css.js +39 -0
- package/dist/sandbox/terminal/sandbox-terminal.d.ts +50 -1
- package/dist/sandbox/terminal/sandbox-terminal.js +61 -4
- 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/scroll-area/root/scroll-area-root.css.js +83 -1
- package/dist/scroll-area/root/scroll-area-root.d.ts +6 -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 +20 -8
- package/dist/skip-link/root/skip-link-root.d.ts +12 -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 +18 -10
- package/dist/speed-dial/item/speed-dial-item.d.ts +7 -0
- package/dist/speed-dial/root/speed-dial-root.css.js +17 -8
- package/dist/speed-dial/root/speed-dial-root.d.ts +16 -1
- package/dist/speed-dial/root/speed-dial-root.js +4 -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/steps/step/step.js +2 -1
- package/dist/table/root/table-root.css.js +18 -0
- package/dist/table/root/table-root.d.ts +6 -0
- package/dist/table/root/table-root.js +2 -0
- package/dist/table/row/table-row.css.js +18 -0
- package/dist/table/row/table-row.d.ts +2 -0
- package/dist/table/row/table-row.js +2 -0
- package/dist/tabs/panel/tab-panel.css.js +5 -1
- package/dist/tabs/root/tabs-root.css.js +58 -3
- package/dist/tabs/root/tabs-root.d.ts +4 -0
- package/dist/tabs/tab/tab.css.js +21 -10
- 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 +11 -0
- package/dist/text/clamp.js +3 -0
- package/dist/text/root/text-root.css.js +79 -45
- package/dist/text/root/text-root.d.ts +49 -7
- package/dist/text/root/text-root.js +17 -11
- 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/timeline/group/timeline-group.css.d.ts +1 -0
- package/dist/timeline/group/timeline-group.css.js +32 -0
- package/dist/timeline/group/timeline-group.d.ts +25 -0
- package/dist/timeline/group/timeline-group.js +16 -0
- package/dist/timeline/index.d.ts +1 -0
- package/dist/timeline/index.js +1 -0
- package/dist/timeline/item/timeline-item.css.js +43 -16
- package/dist/timeline/root/timeline-root.css.js +56 -0
- package/dist/timeline/root/timeline-root.d.ts +26 -0
- package/dist/timeline/root/timeline-root.js +7 -0
- 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 +4 -0
- package/dist/toolbar/root/toolbar-root.d.ts +5 -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 +89 -7
- package/dist/tree/item/tree-item.d.ts +19 -0
- package/dist/trend/root/trend-root.css.js +3 -5
- package/dist/trend/root/trend-root.d.ts +2 -2
- package/dist/video/root/video-root.css.js +6 -0
- package/dist/video/root/video-root.d.ts +3 -0
- package/dist/virtual-list/root/virtual-list-root.css.js +19 -0
- package/dist/virtual-list/root/virtual-list-root.d.ts +10 -3
- package/lint.json +1 -1
- package/package.json +9 -9
- package/types/jsx.d.ts +8253 -1233
- package/types/svelte.d.ts +2 -0
- package/types/vue.d.ts +2357 -312
|
@@ -13,8 +13,10 @@ outline: none;
|
|
|
13
13
|
[part="row"] {
|
|
14
14
|
|
|
15
15
|
align-items: center;
|
|
16
|
-
|
|
17
|
-
color: var(--
|
|
16
|
+
|
|
17
|
+
background-color: var(--_tree-row-fill, transparent);
|
|
18
|
+
border-radius: var(--tree-row-radius, var(--helix-radii-sm));
|
|
19
|
+
color: var(--_tree-row-ink, var(--tree-row-color, var(--helix-color-foreground-muted)));
|
|
18
20
|
cursor: pointer;
|
|
19
21
|
display: flex;
|
|
20
22
|
|
|
@@ -50,7 +52,10 @@ var(--_tree-reserve, calc(var(--_tree-chevron) + var(--helix-space-2xs)))
|
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
[part="row"]:has([part="toggle"]) {
|
|
53
|
-
color: var(
|
|
55
|
+
color: var(
|
|
56
|
+
--_tree-row-ink,
|
|
57
|
+
var(--_tree-heading-ink, var(--tree-row-color, var(--helix-color-foreground-muted)))
|
|
58
|
+
);
|
|
54
59
|
font-size: var(--_tree-heading-text, var(--_tree-text, var(--helix-text-sm)));
|
|
55
60
|
font-weight: var(--helix-weight-medium);
|
|
56
61
|
letter-spacing: var(--_tree-heading-tracking, var(--helix-tracking-normal));
|
|
@@ -65,13 +70,18 @@ slot[name="children"]::slotted(*) {
|
|
|
65
70
|
}
|
|
66
71
|
|
|
67
72
|
[part="row"]:hover {
|
|
68
|
-
background-color: var(--helix-color-surface-raised);
|
|
69
|
-
color: var(--helix-color-foreground);
|
|
73
|
+
background-color: var(--tree-row-hover-background-color, var(--helix-color-surface-raised));
|
|
74
|
+
color: var(--tree-row-hover-color, var(--helix-color-foreground));
|
|
70
75
|
}
|
|
71
76
|
|
|
72
77
|
:host(:state(selected)) [part="row"] {
|
|
73
|
-
background-color: var(--helix-color-surface-sunken);
|
|
74
|
-
color: var(--helix-color-foreground);
|
|
78
|
+
background-color: var(--tree-row-selected-background-color, var(--helix-color-surface-sunken));
|
|
79
|
+
color: var(--tree-row-selected-color, var(--helix-color-foreground));
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
:host(:state(checked)) [part="row"] {
|
|
83
|
+
--_tree-row-fill: var(--tree-row-checked-background-color, transparent);
|
|
84
|
+
--_tree-row-ink: var(--tree-row-checked-color);
|
|
75
85
|
}
|
|
76
86
|
|
|
77
87
|
[part="item"]:focus-visible [part="row"],
|
|
@@ -166,4 +176,76 @@ grid-template-rows: 0fr;
|
|
|
166
176
|
align-self: center;
|
|
167
177
|
margin-inline-start: var(--tree-chevron-gap, var(--helix-space-none));
|
|
168
178
|
order: var(--tree-chevron-order, 0);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
slot[name="chevron"]::slotted(*) {
|
|
182
|
+
align-self: center;
|
|
183
|
+
block-size: var(--_tree-chevron);
|
|
184
|
+
color: var(--helix-color-foreground-subtle);
|
|
185
|
+
flex: 0 0 auto;
|
|
186
|
+
inline-size: var(--_tree-chevron);
|
|
187
|
+
margin-inline-start: var(--tree-chevron-gap, var(--helix-space-none));
|
|
188
|
+
order: var(--tree-chevron-order, 0);
|
|
189
|
+
transform: rotate(-90deg);
|
|
190
|
+
transition: transform var(--helix-duration-fast) var(--helix-easing-standard);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
:host(:dir(rtl)) slot[name="chevron"]::slotted(*) {
|
|
194
|
+
transform: rotate(90deg);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
:host(:state(open)) slot[name="chevron"]::slotted(*) {
|
|
198
|
+
transform: rotate(0deg);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
[part~="checkbox"] {
|
|
202
|
+
align-self: center;
|
|
203
|
+
background-color: var(--tree-checkbox-background-color, var(--helix-color-background));
|
|
204
|
+
block-size: var(--tree-checkbox-size, var(--_tree-chevron));
|
|
205
|
+
border: var(--helix-border-thin) solid
|
|
206
|
+
var(--tree-checkbox-border-color, var(--helix-color-border));
|
|
207
|
+
border-radius: var(--helix-radii-sm);
|
|
208
|
+
color: var(--tree-checkbox-mark-color, var(--helix-color-foreground));
|
|
209
|
+
display: grid;
|
|
210
|
+
flex: 0 0 auto;
|
|
211
|
+
inline-size: var(--tree-checkbox-size, var(--_tree-chevron));
|
|
212
|
+
place-items: center;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
[part~="checkbox-checked"],
|
|
216
|
+
[part~="checkbox-mixed"] {
|
|
217
|
+
border-color: var(--tree-checkbox-border-color, var(--helix-color-foreground));
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
[part~="checkbox"] svg {
|
|
221
|
+
block-size: 80%;
|
|
222
|
+
inline-size: 80%;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
:host([disabled]) [part="row"] {
|
|
226
|
+
cursor: not-allowed;
|
|
227
|
+
opacity: var(--tree-row-disabled-opacity, 0.5);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
:host([disabled]) [part="row"]:hover {
|
|
231
|
+
background-color: transparent;
|
|
232
|
+
color: var(--tree-row-color, var(--helix-color-foreground-muted));
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
:host(:state(loading)) [part="toggle"],
|
|
236
|
+
:host(:state(loading)) slot[name="chevron"]::slotted(*) {
|
|
237
|
+
animation: tree-loading var(--helix-duration-slow) var(--helix-easing-standard) infinite alternate;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
@keyframes tree-loading {
|
|
241
|
+
to {
|
|
242
|
+
opacity: 0.3;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
@media (prefers-reduced-motion: reduce) {
|
|
247
|
+
:host(:state(loading)) [part="toggle"],
|
|
248
|
+
:host(:state(loading)) slot[name="chevron"]::slotted(*) {
|
|
249
|
+
animation: none;
|
|
250
|
+
}
|
|
169
251
|
}`);
|
|
@@ -16,19 +16,38 @@ import type { CSSResultGroup } from 'lit';
|
|
|
16
16
|
* @documentation https://fusion.dev/helix/components/tree
|
|
17
17
|
*
|
|
18
18
|
* @slot - The item's label.
|
|
19
|
+
* @slot chevron - Replaces the expand and collapse mark of a branch. A slotted icon is sized and
|
|
20
|
+
* turned like the drawn one.
|
|
19
21
|
* @slot children - Nested items, which make this a branch.
|
|
20
22
|
*
|
|
21
23
|
* @event {HelixSelectEvent} helix-select - Fired when the item is chosen, and cancelable. Canceling it changes nothing.
|
|
22
24
|
*
|
|
25
|
+
* @csspart checkbox - The check mark's box, in a tree with `selection-mode="multiple"`.
|
|
26
|
+
* @csspart checkbox-checked - The check mark's box while the item is checked.
|
|
27
|
+
* @csspart checkbox-mixed - The check mark's box while some of a branch's items are checked.
|
|
23
28
|
* @csspart group - The container for nested items.
|
|
24
29
|
* @csspart item - The node, and the focus target.
|
|
25
30
|
* @csspart label - The label text.
|
|
26
31
|
* @csspart row - The clickable label row.
|
|
27
32
|
* @csspart toggle - The expand and collapse control.
|
|
28
33
|
*
|
|
34
|
+
* @cssproperty --tree-checkbox-background-color - Fill of the check mark's box.
|
|
35
|
+
* @cssproperty --tree-checkbox-border-color - Border of the check mark's box.
|
|
36
|
+
* @cssproperty --tree-checkbox-mark-color - Color of the check, and of the bar of a partly checked
|
|
37
|
+
* branch.
|
|
38
|
+
* @cssproperty --tree-checkbox-size - Size of the check mark's box. Follows the chevron's size.
|
|
29
39
|
* @cssproperty --tree-chevron-size - Size of the chevron, and the gutter a leaf reserves.
|
|
30
40
|
* @cssproperty --tree-gap - Space between rows.
|
|
31
41
|
* @cssproperty --tree-indent - Indent added per level.
|
|
42
|
+
* @cssproperty --tree-row-checked-background-color - Fill of a checked row, in a tree with `selection-mode="multiple"`. Unset, the box alone marks it.
|
|
43
|
+
* @cssproperty --tree-row-checked-color - Text color of a checked row, in a tree with `selection-mode="multiple"`.
|
|
44
|
+
* @cssproperty --tree-row-color - Text color of a row at rest.
|
|
45
|
+
* @cssproperty --tree-row-disabled-opacity - How faint a disabled row is drawn.
|
|
46
|
+
* @cssproperty --tree-row-hover-background-color - Fill of a row under the pointer.
|
|
47
|
+
* @cssproperty --tree-row-hover-color - Text color of a row under the pointer.
|
|
48
|
+
* @cssproperty --tree-row-radius - Corners of a row's fill.
|
|
49
|
+
* @cssproperty --tree-row-selected-background-color - Fill of the chosen row, in a tree of one choice.
|
|
50
|
+
* @cssproperty --tree-row-selected-color - Text color of the chosen row, in a tree of one choice.
|
|
32
51
|
* @cssproperty --tree-row-size - Minimum height of a row, so rows with and without an icon match.
|
|
33
52
|
*/
|
|
34
53
|
export declare class HelixTreeItem extends HelixHeadlessTreeItem {
|
|
@@ -18,20 +18,18 @@ color: var(--trend-color, var(--_trend-color));
|
|
|
18
18
|
--icon-size: var(--trend-icon-size, 1em);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
slot[name
|
|
21
|
+
slot[name$="icon"]::slotted(*) {
|
|
22
22
|
--icon-size: var(--trend-icon-size, 1em);
|
|
23
23
|
|
|
24
24
|
block-size: var(--trend-icon-size, 1em);
|
|
25
25
|
inline-size: var(--trend-icon-size, 1em);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
:host(
|
|
29
|
-
:host([direction="down"][good="down"]) {
|
|
28
|
+
:host(:state(better)) {
|
|
30
29
|
--_trend-color: var(--trend-better-color, var(--helix-color-success));
|
|
31
30
|
}
|
|
32
31
|
|
|
33
|
-
:host(
|
|
34
|
-
:host([direction="down"][good="up"]) {
|
|
32
|
+
:host(:state(worse)) {
|
|
35
33
|
--_trend-color: var(--trend-worse-color, var(--helix-color-danger));
|
|
36
34
|
}
|
|
37
35
|
|
|
@@ -13,7 +13,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
13
13
|
* no surface for material, and no area for a wash. The text weight comes from
|
|
14
14
|
* `Text` and the size from the region.
|
|
15
15
|
*
|
|
16
|
-
* The meaning axis is derived: `
|
|
16
|
+
* The meaning axis is derived: `movement` and `good` resolve to success,
|
|
17
17
|
* danger, or muted, so you state the metric's polarity once. There is no
|
|
18
18
|
* `tone`, because a declared tone could disagree with the arrow.
|
|
19
19
|
*
|
|
@@ -27,7 +27,7 @@ import type { CSSResultGroup } from 'lit';
|
|
|
27
27
|
* @cssproperty --trend-better-color - Color of a move that `good` says is an improvement.
|
|
28
28
|
* @cssproperty --trend-color - Color of the arrow. Setting it overrides the color that `good` sets.
|
|
29
29
|
* @cssproperty --trend-gap - Space between the arrow, the metric and the label.
|
|
30
|
-
* @cssproperty --trend-icon-size - Size of the arrow, or of a glyph in the
|
|
30
|
+
* @cssproperty --trend-icon-size - Size of the arrow, or of a glyph in one of the icon slots.
|
|
31
31
|
* @cssproperty --trend-label-color - Color of the label.
|
|
32
32
|
* @cssproperty --trend-neutral-color - Color of a trend that `good` does not judge, or one that did not move.
|
|
33
33
|
* @cssproperty --trend-worse-color - Color of a move that `good` says is a setback.
|
|
@@ -104,6 +104,12 @@ min-block-size: var(--helix-size-icon-loose);
|
|
|
104
104
|
min-inline-size: var(--helix-size-icon-loose);
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
+
slot[name$="-icon"]::slotted(*) {
|
|
108
|
+
block-size: var(--icon-size, var(--helix-size-icon));
|
|
109
|
+
flex: 0 0 auto;
|
|
110
|
+
inline-size: var(--icon-size, var(--helix-size-icon));
|
|
111
|
+
}
|
|
112
|
+
|
|
107
113
|
[part="controls"] :where(a, button):focus-visible,
|
|
108
114
|
[part="scrubber"]:focus-visible,
|
|
109
115
|
[part="volume"]:focus-visible {
|
|
@@ -15,6 +15,9 @@ import '../../menu/index.js';
|
|
|
15
15
|
* shows again when the pointer moves, and whenever anything inside it has
|
|
16
16
|
* focus, so you can reach it with the keyboard. A paused video keeps its bar.
|
|
17
17
|
*
|
|
18
|
+
* An icon put in one of the `-icon` slots is drawn at the size of the glyph it
|
|
19
|
+
* replaces, and in the control's color.
|
|
20
|
+
*
|
|
18
21
|
* @since 0.1.0
|
|
19
22
|
* @status stable
|
|
20
23
|
* @category media
|
|
@@ -12,6 +12,25 @@ overscroll-behavior: contain;
|
|
|
12
12
|
padding-inline: var(--helix-size-focus-reach);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
::slotted([data-index]:focus-visible) {
|
|
16
|
+
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
17
|
+
outline-offset: calc(var(--helix-size-focus-offset) * -1);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
::slotted([aria-selected="true"]) {
|
|
21
|
+
background-color: var(
|
|
22
|
+
--virtual-list-selected-background-color,
|
|
23
|
+
var(--helix-color-primary-subtle)
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
[part="loading"] {
|
|
28
|
+
color: var(--virtual-list-loading-color, var(--helix-color-foreground-muted));
|
|
29
|
+
font-size: var(--helix-text-sm);
|
|
30
|
+
padding: var(--virtual-list-loading-padding, var(--helix-space-sm));
|
|
31
|
+
text-align: center;
|
|
32
|
+
}
|
|
33
|
+
|
|
15
34
|
[part="after"],
|
|
16
35
|
[part="before"] {
|
|
17
36
|
flex: none;
|
|
@@ -4,9 +4,12 @@ import type { CSSResultGroup } from 'lit';
|
|
|
4
4
|
* @summary A list that renders only the rows of a long set that are on screen.
|
|
5
5
|
*
|
|
6
6
|
* @description
|
|
7
|
-
* The styled tier styles
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* The styled tier styles the scrolling box and draws the focus ring on the row
|
|
8
|
+
* holding focus. Rows are your markup in the light DOM, so your stylesheet
|
|
9
|
+
* styles them the same as any other content, and a rule of yours on a row wins
|
|
10
|
+
* over the ring. While `loading` is set, a muted, centered row after the last
|
|
11
|
+
* item says "Loading more". In a list with `selection-mode`, a chosen row takes
|
|
12
|
+
* the fill a chosen List row takes.
|
|
10
13
|
*
|
|
11
14
|
* @category layout
|
|
12
15
|
* @since 0.1.0
|
|
@@ -15,9 +18,13 @@ import type { CSSResultGroup } from 'lit';
|
|
|
15
18
|
*
|
|
16
19
|
* @csspart after - The space that stands in for the rows below the rendered ones.
|
|
17
20
|
* @csspart before - The space that stands in for the rows above the rendered ones.
|
|
21
|
+
* @csspart loading - The row after the last item while `loading` is set.
|
|
18
22
|
* @csspart viewport - The scrolling box.
|
|
19
23
|
*
|
|
20
24
|
* @cssproperty --virtual-list-block-size - How tall the scrolling box is.
|
|
25
|
+
* @cssproperty --virtual-list-loading-color - The color of the text in the row drawn while `loading` is set.
|
|
26
|
+
* @cssproperty --virtual-list-loading-padding - The space around the text in the row drawn while `loading` is set.
|
|
27
|
+
* @cssproperty --virtual-list-selected-background-color - The fill behind a chosen row, in a list with `selection-mode`.
|
|
21
28
|
*/
|
|
22
29
|
export declare class HelixVirtualList extends HelixHeadlessVirtualList {
|
|
23
30
|
static styles: CSSResultGroup;
|