@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
|
@@ -47,6 +47,14 @@ list-style-type: upper-roman;
|
|
|
47
47
|
list-style-type: disc;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
+
:host([kind="ordered"]) ::slotted(*) {
|
|
51
|
+
counter-increment: list-item var(--list-step, 1);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
:host([kind="ordered"]) ::slotted(:first-child) {
|
|
55
|
+
counter-set: list-item var(--list-first);
|
|
56
|
+
}
|
|
57
|
+
|
|
50
58
|
:host([marker="rail"]) {
|
|
51
59
|
counter-reset: list-rail;
|
|
52
60
|
|
|
@@ -57,7 +65,11 @@ padding-inline-start: var(--helix-space-none);
|
|
|
57
65
|
--list-item-rail-content: counter(list-rail, var(--list-rail-style, decimal-leading-zero));
|
|
58
66
|
|
|
59
67
|
--list-item-rail-display: block;
|
|
60
|
-
counter-increment: list-rail;
|
|
68
|
+
counter-increment: list-rail var(--list-step, 1);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
:host([marker="rail"]) ::slotted(:first-child) {
|
|
72
|
+
counter-set: list-rail var(--list-first);
|
|
61
73
|
}
|
|
62
74
|
|
|
63
75
|
:host([kind="ordered"][marker="rail"]) ::slotted(*),
|
|
@@ -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;
|
package/dist/menu/index.d.ts
CHANGED
package/dist/menu/index.js
CHANGED
|
@@ -20,6 +20,7 @@ font-weight: var(--helix-weight-medium);
|
|
|
20
20
|
grid-template-columns:
|
|
21
21
|
var(--menu-item-start, 0px)
|
|
22
22
|
minmax(0, 1fr)
|
|
23
|
+
auto
|
|
23
24
|
var(--menu-item-end, 0px);
|
|
24
25
|
|
|
25
26
|
min-block-size: var(--helix-size-control);
|
|
@@ -72,25 +73,59 @@ grid-column: 2;
|
|
|
72
73
|
min-inline-size: 0;
|
|
73
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
|
+
|
|
90
|
+
[part="end"] {
|
|
91
|
+
align-items: center;
|
|
92
|
+
color: var(--menu-item-detail-color, var(--helix-color-foreground-subtle));
|
|
93
|
+
display: flex;
|
|
94
|
+
gap: var(--helix-space-2xs);
|
|
76
95
|
grid-column: 3;
|
|
96
|
+
padding-inline-start: var(--helix-space-sm);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
[part="end"][data-empty] {
|
|
100
|
+
display: none;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
[part="mark"],
|
|
104
|
+
slot[name="check"]::slotted(*),
|
|
105
|
+
slot[name="chevron"]::slotted(*) {
|
|
106
|
+
grid-column: 4;
|
|
107
|
+
grid-row: 1;
|
|
77
108
|
}
|
|
78
109
|
|
|
79
110
|
[part="start"][data-empty] {
|
|
80
111
|
display: none;
|
|
81
112
|
}
|
|
82
113
|
|
|
83
|
-
[part="mark"]
|
|
114
|
+
[part="mark"],
|
|
115
|
+
slot[name="check"]::slotted(*),
|
|
116
|
+
slot[name="chevron"]::slotted(*) {
|
|
84
117
|
block-size: var(--helix-size-icon);
|
|
85
118
|
inline-size: var(--helix-size-icon);
|
|
86
119
|
justify-self: end;
|
|
87
120
|
}
|
|
88
121
|
|
|
89
|
-
svg[part="mark"]
|
|
122
|
+
svg[part="mark"],
|
|
123
|
+
slot[name="chevron"]::slotted(*) {
|
|
90
124
|
color: var(--helix-color-foreground-subtle);
|
|
91
125
|
}
|
|
92
126
|
|
|
93
|
-
:host(:state(checked)) svg[part="mark"]
|
|
127
|
+
:host(:state(checked)) svg[part="mark"],
|
|
128
|
+
slot[name="check"]::slotted(*) {
|
|
94
129
|
color: var(--helix-color-foreground);
|
|
95
130
|
}
|
|
96
131
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HelixHeadlessMenuItem } from '@fusion.dev/helix-headless/menu';
|
|
2
2
|
import type { CSSResultGroup } from 'lit';
|
|
3
|
+
import '../../kbd/index.js';
|
|
3
4
|
/**
|
|
4
5
|
* @summary One row in a menu: a command, a choice, or a way into a submenu.
|
|
5
6
|
*
|
|
@@ -16,11 +17,14 @@ import type { CSSResultGroup } from 'lit';
|
|
|
16
17
|
* @aliases Menu option, Menu row
|
|
17
18
|
* @documentation https://fusion.dev/helix/components/menu
|
|
18
19
|
*
|
|
20
|
+
* @cssproperty --menu-item-description-color - Color of the line under the label.
|
|
21
|
+
* @cssproperty --menu-item-detail-color - Color of the shortcut and the words in the `end` slot.
|
|
19
22
|
* @cssproperty --menu-item-end - Width of the trailing column, including the gap before it, which holds a check mark or a submenu caret.
|
|
20
23
|
* @cssproperty --menu-item-hover-color - Fill under the pointer.
|
|
21
24
|
* @cssproperty --menu-item-start - Width of the leading column, including the gap after it, for a row with more than a mark. The menu sets it for each page, and `0` removes the column.
|
|
22
25
|
*/
|
|
23
26
|
export declare class HelixMenuItem extends HelixHeadlessMenuItem {
|
|
27
|
+
static tier: string;
|
|
24
28
|
static styles: CSSResultGroup;
|
|
25
29
|
}
|
|
26
30
|
declare global {
|
|
@@ -6,8 +6,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { customElement } from '@fusion.dev/helix-core';
|
|
8
8
|
import { HelixHeadlessMenuItem } from '@fusion.dev/helix-headless/menu';
|
|
9
|
+
import '../../kbd/index.js';
|
|
9
10
|
import { styles } from './menu-item.css.js';
|
|
10
11
|
let HelixMenuItem = class HelixMenuItem extends HelixHeadlessMenuItem {
|
|
12
|
+
static { this.tier = 'helix-'; }
|
|
11
13
|
static { this.styles = styles; }
|
|
12
14
|
};
|
|
13
15
|
HelixMenuItem = __decorate([
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
+
export const styles = createSheet(`:host {
|
|
3
|
+
display: block;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
[part="heading"] {
|
|
7
|
+
color: var(--menu-section-heading-color, var(--helix-color-foreground-subtle));
|
|
8
|
+
font-size: var(--helix-text-xs);
|
|
9
|
+
font-weight: var(--helix-weight-medium);
|
|
10
|
+
line-height: var(--helix-leading-normal);
|
|
11
|
+
padding-block: var(--helix-space-xs) var(--helix-space-2xs);
|
|
12
|
+
padding-inline: var(--helix-space-sm);
|
|
13
|
+
user-select: none;
|
|
14
|
+
}`);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { HelixHeadlessMenuSection } from '@fusion.dev/helix-headless/menu';
|
|
2
|
+
import type { CSSResultGroup } from 'lit';
|
|
3
|
+
/**
|
|
4
|
+
* @summary A group of rows in a menu, under a heading.
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* The heading is set in the menu's small type, quieter than the rows, with the
|
|
8
|
+
* rows' own inset, so it reads as the name of what follows.
|
|
9
|
+
*
|
|
10
|
+
* @since 0.1.0
|
|
11
|
+
* @status stable
|
|
12
|
+
* @aliases Menu group, Menu heading
|
|
13
|
+
* @documentation https://fusion.dev/helix/components/menu
|
|
14
|
+
*
|
|
15
|
+
* @cssproperty --menu-section-heading-color - Color of the heading.
|
|
16
|
+
*/
|
|
17
|
+
export declare class HelixMenuSection extends HelixHeadlessMenuSection {
|
|
18
|
+
static styles: CSSResultGroup;
|
|
19
|
+
}
|
|
20
|
+
declare global {
|
|
21
|
+
interface HTMLElementTagNameMap {
|
|
22
|
+
'helix-menu-section': HelixMenuSection;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
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 { HelixHeadlessMenuSection } from '@fusion.dev/helix-headless/menu';
|
|
9
|
+
import { styles } from './menu-section.css.js';
|
|
10
|
+
let HelixMenuSection = class HelixMenuSection extends HelixHeadlessMenuSection {
|
|
11
|
+
static { this.styles = styles; }
|
|
12
|
+
};
|
|
13
|
+
HelixMenuSection = __decorate([
|
|
14
|
+
customElement('helix-menu-section')
|
|
15
|
+
], HelixMenuSection);
|
|
16
|
+
export { HelixMenuSection };
|
|
@@ -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
|
/**
|
|
@@ -6,7 +6,7 @@ display: block;
|
|
|
6
6
|
[part="nav"] {
|
|
7
7
|
align-items: center;
|
|
8
8
|
|
|
9
|
-
block-size: var(--helix-size-control-sm);
|
|
9
|
+
block-size: var(--navigation-block-size, var(--helix-size-control-sm));
|
|
10
10
|
display: flex;
|
|
11
11
|
gap: var(--navigation-gap, var(--helix-space-2xs));
|
|
12
12
|
|
|
@@ -19,7 +19,8 @@ position: relative;
|
|
|
19
19
|
[part="indicator"] {
|
|
20
20
|
background-color: var(--navigation-indicator-color, var(--helix-color-surface-sunken));
|
|
21
21
|
block-size: var(--indicator-block-size, 0);
|
|
22
|
-
border-radius: var(--helix-radii-sm);
|
|
22
|
+
border-radius: var(--navigation-indicator-radius, var(--helix-radii-sm));
|
|
23
|
+
box-shadow: var(--navigation-indicator-shadow, none);
|
|
23
24
|
inline-size: var(--indicator-inline-size, 0);
|
|
24
25
|
inset-block-start: 50%;
|
|
25
26
|
inset-inline-start: 0;
|
|
@@ -14,8 +14,21 @@ import type { CSSResultGroup } from 'lit';
|
|
|
14
14
|
* @aliases Nav, NavList, Tabs
|
|
15
15
|
* @documentation https://fusion.dev/helix/components/navigation
|
|
16
16
|
*
|
|
17
|
+
* @cssproperty --navigation-block-size - Height of the bar in a row. Each destination fills it.
|
|
17
18
|
* @cssproperty --navigation-gap - Space between destinations.
|
|
18
19
|
* @cssproperty --navigation-indicator-color - Fill of the marker on the current destination.
|
|
20
|
+
* @cssproperty --navigation-indicator-radius - Corner radius of the marker.
|
|
21
|
+
* @cssproperty --navigation-indicator-shadow - Shadow under the marker, for a marker that sits
|
|
22
|
+
* raised on the bar.
|
|
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
|
+
* @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.
|
|
19
32
|
*/
|
|
20
33
|
export declare class HelixNavigation extends HelixHeadlessNavigation {
|
|
21
34
|
static styles: CSSResultGroup;
|
|
@@ -71,6 +71,34 @@ transition: color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
|
71
71
|
color: var(--helix-color-foreground);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
+
[part="more"] {
|
|
75
|
+
background: none;
|
|
76
|
+
border: 0;
|
|
77
|
+
border-block-start: var(--helix-border-thin) solid var(--helix-color-border);
|
|
78
|
+
color: var(--helix-color-foreground-muted);
|
|
79
|
+
cursor: pointer;
|
|
80
|
+
font-family: var(--helix-font-sans);
|
|
81
|
+
font-size: var(--helix-text-sm);
|
|
82
|
+
inline-size: 100%;
|
|
83
|
+
padding-block: var(--helix-space-sm);
|
|
84
|
+
transition: color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
[part="more"]:hover {
|
|
88
|
+
color: var(--helix-color-foreground);
|
|
89
|
+
}
|
|
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
|
+
|
|
97
|
+
[part="more"]:focus-visible {
|
|
98
|
+
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
99
|
+
outline-offset: calc(var(--helix-size-focus-offset) * -1);
|
|
100
|
+
}
|
|
101
|
+
|
|
74
102
|
[part="mark-all"]:focus-visible {
|
|
75
103
|
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
76
104
|
outline-offset: var(--helix-size-focus-offset);
|
|
@@ -91,7 +119,8 @@ max-block-size: none;
|
|
|
91
119
|
overflow-y: visible;
|
|
92
120
|
}
|
|
93
121
|
|
|
94
|
-
[part="mark-all"]
|
|
122
|
+
[part="mark-all"],
|
|
123
|
+
[part="more"] {
|
|
95
124
|
display: none;
|
|
96
125
|
}
|
|
97
126
|
}`);
|
|
@@ -25,6 +25,7 @@ import '../notification/notification.js';
|
|
|
25
25
|
* @csspart list - The list itself.
|
|
26
26
|
* @csspart live - A copy of the empty and loading messages, in a live region that screen readers announce when they change. Visually hidden in the styled tier.
|
|
27
27
|
* @csspart mark-all - The control that marks everything read.
|
|
28
|
+
* @csspart more - The button after the list that asks for more, while `load-more` is set and the feed is not loading.
|
|
28
29
|
*
|
|
29
30
|
* @cssproperty --notifications-max-block-size - How tall the feed may get before the list scrolls.
|
|
30
31
|
* @cssproperty --notifications-media-column - Width of the media column that every item keeps when any item in the feed has media.
|
|
@@ -23,7 +23,7 @@ background-color: transparent;
|
|
|
23
23
|
|
|
24
24
|
[part="control"] {
|
|
25
25
|
font-variant-numeric: tabular-nums;
|
|
26
|
-
padding-inline: var(--helix-space-xs);
|
|
26
|
+
padding-inline: var(--number-input-padding-inline, var(--helix-space-xs));
|
|
27
27
|
text-align: center;
|
|
28
28
|
}
|
|
29
29
|
|
|
@@ -46,12 +46,13 @@ padding-inline-end: var(--helix-space-xs);
|
|
|
46
46
|
all: unset;
|
|
47
47
|
align-items: center;
|
|
48
48
|
align-self: stretch;
|
|
49
|
+
background-color: var(--number-input-stepper-background-color, transparent);
|
|
49
50
|
box-sizing: border-box;
|
|
50
|
-
color: var(--helix-color-foreground-muted);
|
|
51
|
+
color: var(--number-input-stepper-color, var(--helix-color-foreground-muted));
|
|
51
52
|
cursor: pointer;
|
|
52
53
|
display: flex;
|
|
53
54
|
flex: none;
|
|
54
|
-
inline-size: var(--helix-size-control);
|
|
55
|
+
inline-size: var(--number-input-stepper-size, var(--helix-size-control));
|
|
55
56
|
justify-content: center;
|
|
56
57
|
transition:
|
|
57
58
|
background-color var(--helix-duration-fast) var(--helix-easing-standard),
|
|
@@ -59,17 +60,19 @@ color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
[part="decrement"] {
|
|
62
|
-
border-inline-end: var(--helix-border-thin) solid
|
|
63
|
+
border-inline-end: var(--helix-border-thin) solid
|
|
64
|
+
var(--number-input-stepper-border-color, var(--helix-color-border));
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
[part="increment"] {
|
|
66
|
-
border-inline-start: var(--helix-border-thin) solid
|
|
68
|
+
border-inline-start: var(--helix-border-thin) solid
|
|
69
|
+
var(--number-input-stepper-border-color, var(--helix-color-border));
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
[part="decrement"]:hover:not(:disabled),
|
|
70
73
|
[part="increment"]:hover:not(:disabled) {
|
|
71
|
-
background-color: var(--helix-color-surface);
|
|
72
|
-
color: var(--helix-color-foreground);
|
|
74
|
+
background-color: var(--number-input-stepper-background-color-hover, var(--helix-color-surface));
|
|
75
|
+
color: var(--number-input-stepper-color-hover, var(--helix-color-foreground));
|
|
73
76
|
}
|
|
74
77
|
|
|
75
78
|
[part="decrement"]:disabled,
|
|
@@ -80,8 +83,8 @@ opacity: 0.4;
|
|
|
80
83
|
|
|
81
84
|
[part="decrement"] svg,
|
|
82
85
|
[part="increment"] svg {
|
|
83
|
-
block-size: var(--helix-size-icon-tight);
|
|
84
|
-
inline-size: var(--helix-size-icon-tight);
|
|
86
|
+
block-size: var(--number-input-stepper-icon-size, var(--helix-size-icon-tight));
|
|
87
|
+
inline-size: var(--number-input-stepper-icon-size, var(--helix-size-icon-tight));
|
|
85
88
|
}
|
|
86
89
|
|
|
87
90
|
:host([scrub]) [part="label"] {
|
|
@@ -34,8 +34,16 @@ import type { CSSResultGroup } from 'lit';
|
|
|
34
34
|
*
|
|
35
35
|
* @cssproperty --number-input-background-color - The fill behind the number.
|
|
36
36
|
* @cssproperty --number-input-border-color - Edge of the field at rest. Hover, focus and an error still draw their own.
|
|
37
|
+
* @cssproperty --number-input-padding-inline - Space at each side of the number, inside the steppers.
|
|
37
38
|
* @cssproperty --number-input-radius - Corner radius of the field.
|
|
38
39
|
* @cssproperty --number-input-size - Height of the field.
|
|
40
|
+
* @cssproperty --number-input-stepper-background-color - Fill behind each stepper button at rest.
|
|
41
|
+
* @cssproperty --number-input-stepper-background-color-hover - Fill behind a stepper button under the pointer.
|
|
42
|
+
* @cssproperty --number-input-stepper-border-color - The rule between each stepper button and the number.
|
|
43
|
+
* @cssproperty --number-input-stepper-color - Icon color of the stepper buttons at rest.
|
|
44
|
+
* @cssproperty --number-input-stepper-color-hover - Icon color of a stepper button under the pointer.
|
|
45
|
+
* @cssproperty --number-input-stepper-icon-size - Width and height of the stepper icons.
|
|
46
|
+
* @cssproperty --number-input-stepper-size - Width of each stepper button.
|
|
39
47
|
*/
|
|
40
48
|
export declare class HelixNumberInput extends HelixHeadlessNumberInput {
|
|
41
49
|
static styles: CSSResultGroup;
|
|
@@ -42,7 +42,31 @@ line-height: var(--helix-leading-normal);
|
|
|
42
42
|
padding-block: var(--helix-space-xs);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
[part="
|
|
45
|
+
[part="search-field"] {
|
|
46
|
+
appearance: none;
|
|
47
|
+
background-color: var(--object-inspector-background-color, var(--helix-color-background));
|
|
48
|
+
border: var(--helix-border-thin) solid
|
|
49
|
+
var(--object-inspector-border-color, var(--helix-color-border));
|
|
50
|
+
border-block-end: none;
|
|
51
|
+
border-start-end-radius: var(--object-inspector-radius, var(--helix-radii-lg));
|
|
52
|
+
border-start-start-radius: var(--object-inspector-radius, var(--helix-radii-lg));
|
|
53
|
+
box-sizing: border-box;
|
|
54
|
+
color: var(--helix-color-foreground);
|
|
55
|
+
font-family: var(--helix-font-sans);
|
|
56
|
+
font-size: var(--helix-text-sm);
|
|
57
|
+
inline-size: 100%;
|
|
58
|
+
margin: 0;
|
|
59
|
+
padding-block: var(--helix-space-xs);
|
|
60
|
+
padding-inline: var(--helix-space-md);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
[part="search-field"]:focus-visible {
|
|
64
|
+
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
65
|
+
outline-offset: calc(var(--helix-size-focus-offset) * -1);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
[part="header"] + [part="search-field"],
|
|
69
|
+
:is([part="header"], [part="search-field"]) ~ [part="frame"] [part="tree"] {
|
|
46
70
|
border-start-end-radius: var(--helix-radii-none);
|
|
47
71
|
border-start-start-radius: var(--helix-radii-none);
|
|
48
72
|
}
|
|
@@ -53,10 +77,6 @@ overflow-y: auto;
|
|
|
53
77
|
overscroll-behavior: contain;
|
|
54
78
|
}
|
|
55
79
|
|
|
56
|
-
[part="tree"]:focus-visible {
|
|
57
|
-
outline: none;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
80
|
[part~="row"] {
|
|
61
81
|
cursor: default;
|
|
62
82
|
overflow: hidden;
|
|
@@ -81,15 +101,22 @@ var(--helix-space-sm)
|
|
|
81
101
|
);
|
|
82
102
|
}
|
|
83
103
|
|
|
84
|
-
[part="tree"]:focus [part~="row-active"] {
|
|
104
|
+
[part="tree"]:focus-within [part~="row-active"] {
|
|
85
105
|
background-color: var(--helix-color-surface-sunken);
|
|
86
106
|
}
|
|
87
107
|
|
|
88
|
-
[part
|
|
108
|
+
[part~="row"]:focus-visible {
|
|
89
109
|
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
90
110
|
outline-offset: calc(var(--helix-size-focus-offset) * -1);
|
|
91
111
|
}
|
|
92
112
|
|
|
113
|
+
[part~="row-match"] {
|
|
114
|
+
background-color: var(
|
|
115
|
+
--object-inspector-match-background-color,
|
|
116
|
+
var(--helix-color-accent-subtle)
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
|
|
93
120
|
[part="toggle"] {
|
|
94
121
|
block-size: 1em;
|
|
95
122
|
color: var(--helix-color-foreground-muted);
|
|
@@ -102,6 +129,10 @@ vertical-align: -0.125em;
|
|
|
102
129
|
color: var(--helix-color-syntax-name);
|
|
103
130
|
}
|
|
104
131
|
|
|
132
|
+
[part~="row-match"] [part="key"] {
|
|
133
|
+
color: var(--helix-color-foreground);
|
|
134
|
+
}
|
|
135
|
+
|
|
105
136
|
[part="string"] {
|
|
106
137
|
color: var(--helix-color-syntax-string);
|
|
107
138
|
}
|