@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
|
@@ -11,8 +11,9 @@ overflow: hidden;
|
|
|
11
11
|
[part="header"] {
|
|
12
12
|
align-items: center;
|
|
13
13
|
|
|
14
|
-
block-size: var(--helix-size-control);
|
|
15
|
-
border-block-end: var(--helix-border-thin) solid
|
|
14
|
+
block-size: var(--drilldown-header-block-size, var(--helix-size-control));
|
|
15
|
+
border-block-end: var(--helix-border-thin) solid
|
|
16
|
+
var(--drilldown-header-border-color, var(--helix-color-border));
|
|
16
17
|
display: flex;
|
|
17
18
|
gap: var(--helix-space-2xs);
|
|
18
19
|
padding-inline: var(--helix-space-2xs);
|
|
@@ -24,7 +25,7 @@ align-items: center;
|
|
|
24
25
|
block-size: var(--helix-size-control-tight);
|
|
25
26
|
border-radius: var(--helix-radii-sm);
|
|
26
27
|
box-sizing: border-box;
|
|
27
|
-
color: var(--helix-color-foreground-muted);
|
|
28
|
+
color: var(--drilldown-back-color, var(--helix-color-foreground-muted));
|
|
28
29
|
cursor: pointer;
|
|
29
30
|
display: flex;
|
|
30
31
|
inline-size: var(--helix-size-control-tight);
|
|
@@ -38,7 +39,10 @@ inline-size: var(--helix-size-icon-tight);
|
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
[part="back"]:hover {
|
|
41
|
-
background-color:
|
|
42
|
+
background-color: var(
|
|
43
|
+
--drilldown-back-hover-background-color,
|
|
44
|
+
color-mix(in oklab, var(--helix-color-foreground) 8%, transparent)
|
|
45
|
+
);
|
|
42
46
|
color: var(--helix-color-foreground);
|
|
43
47
|
}
|
|
44
48
|
|
|
@@ -48,38 +52,47 @@ outline-offset: var(--helix-size-focus-offset);
|
|
|
48
52
|
}
|
|
49
53
|
|
|
50
54
|
[part="title"] {
|
|
51
|
-
color: var(--helix-color-foreground);
|
|
55
|
+
color: var(--drilldown-title-color, var(--helix-color-foreground));
|
|
52
56
|
font-family: var(--helix-font-sans);
|
|
53
|
-
font-size: var(--helix-text-sm);
|
|
54
|
-
font-weight: var(--helix-weight-medium);
|
|
57
|
+
font-size: var(--drilldown-title-font-size, var(--helix-text-sm));
|
|
58
|
+
font-weight: var(--drilldown-title-font-weight, var(--helix-weight-medium));
|
|
55
59
|
overflow: hidden;
|
|
56
60
|
text-overflow: ellipsis;
|
|
57
61
|
white-space: nowrap;
|
|
58
62
|
}
|
|
59
63
|
|
|
60
64
|
[part="page"] {
|
|
61
|
-
|
|
65
|
+
|
|
66
|
+
--_drilldown-sign: 1;
|
|
67
|
+
|
|
68
|
+
padding-block: var(--drilldown-page-padding-block, var(--helix-space-2xs));
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
:host(:dir(rtl)) [part="page"] {
|
|
72
|
+
--_drilldown-sign: -1;
|
|
62
73
|
}
|
|
63
74
|
|
|
64
75
|
:host([data-direction="forward"]) [part="page"] {
|
|
65
|
-
animation: drilldown-forward var(--
|
|
76
|
+
animation: drilldown-forward var(--drilldown-duration, var(--helix-duration-normal))
|
|
77
|
+
var(--helix-easing-decelerate);
|
|
66
78
|
}
|
|
67
79
|
|
|
68
80
|
:host([data-direction="back"]) [part="page"] {
|
|
69
|
-
animation: drilldown-back var(--
|
|
81
|
+
animation: drilldown-back var(--drilldown-duration, var(--helix-duration-normal))
|
|
82
|
+
var(--helix-easing-decelerate);
|
|
70
83
|
}
|
|
71
84
|
|
|
72
85
|
@keyframes drilldown-forward {
|
|
73
86
|
from {
|
|
74
87
|
opacity: 0;
|
|
75
|
-
translate: 12% 0;
|
|
88
|
+
translate: calc(var(--drilldown-travel, 12%) * var(--_drilldown-sign, 1)) 0;
|
|
76
89
|
}
|
|
77
90
|
}
|
|
78
91
|
|
|
79
92
|
@keyframes drilldown-back {
|
|
80
93
|
from {
|
|
81
94
|
opacity: 0;
|
|
82
|
-
translate: -12% 0;
|
|
95
|
+
translate: calc(var(--drilldown-travel, 12%) * var(--_drilldown-sign, 1) * -1) 0;
|
|
83
96
|
}
|
|
84
97
|
}
|
|
85
98
|
|
|
@@ -17,8 +17,18 @@ import type { CSSResultGroup } from 'lit';
|
|
|
17
17
|
* @aliases Panel, Nested list, Drill-in
|
|
18
18
|
* @documentation https://fusion.dev/helix/components/drilldown
|
|
19
19
|
*
|
|
20
|
+
* @cssproperty --drilldown-back-color - Color of the back button's icon.
|
|
21
|
+
* @cssproperty --drilldown-back-hover-background-color - Fill of the back button under the pointer.
|
|
20
22
|
* @cssproperty --drilldown-background-color - Fill behind the pages.
|
|
23
|
+
* @cssproperty --drilldown-duration - How long a page takes to slide in.
|
|
24
|
+
* @cssproperty --drilldown-header-block-size - Height of the bar above a page.
|
|
25
|
+
* @cssproperty --drilldown-header-border-color - Color of the rule under the bar above a page.
|
|
21
26
|
* @cssproperty --drilldown-inline-size - Width of the region.
|
|
27
|
+
* @cssproperty --drilldown-page-padding-block - Space above and below a page's rows.
|
|
28
|
+
* @cssproperty --drilldown-title-color - Color of the page's name.
|
|
29
|
+
* @cssproperty --drilldown-title-font-size - Size of the page's name.
|
|
30
|
+
* @cssproperty --drilldown-title-font-weight - Weight of the page's name.
|
|
31
|
+
* @cssproperty --drilldown-travel - How far a page slides as it arrives, along the line of text.
|
|
22
32
|
*/
|
|
23
33
|
export declare class HelixDrilldown extends HelixHeadlessDrilldown {
|
|
24
34
|
static styles: CSSResultGroup;
|
|
@@ -5,6 +5,7 @@ registerElementEvents({
|
|
|
5
5
|
'helix-app-header': ['helix-scrolled'],
|
|
6
6
|
'helix-aura': ['helix-aura-fallback'],
|
|
7
7
|
'helix-avatar': ['error', 'load'],
|
|
8
|
+
'helix-button': ['helix-press'],
|
|
8
9
|
'helix-callout': ['helix-dismiss'],
|
|
9
10
|
'helix-canvas': [
|
|
10
11
|
'helix-before-move',
|
|
@@ -50,6 +51,7 @@ registerElementEvents({
|
|
|
50
51
|
'helix-before-open',
|
|
51
52
|
'helix-create',
|
|
52
53
|
'helix-filter',
|
|
54
|
+
'helix-load-more',
|
|
53
55
|
'input',
|
|
54
56
|
'toggle',
|
|
55
57
|
],
|
|
@@ -57,10 +59,11 @@ registerElementEvents({
|
|
|
57
59
|
'helix-before-close',
|
|
58
60
|
'helix-before-open',
|
|
59
61
|
'helix-filter',
|
|
62
|
+
'helix-load-more',
|
|
60
63
|
'helix-select',
|
|
61
64
|
'toggle',
|
|
62
65
|
],
|
|
63
|
-
'helix-copy-button': ['helix-copy', 'helix-copy-error'],
|
|
66
|
+
'helix-copy-button': ['helix-copy', 'helix-copy-error', 'helix-press'],
|
|
64
67
|
'helix-data-table': [
|
|
65
68
|
'helix-activate',
|
|
66
69
|
'helix-expand',
|
|
@@ -115,6 +118,7 @@ registerElementEvents({
|
|
|
115
118
|
],
|
|
116
119
|
'helix-heatmap': ['helix-resize'],
|
|
117
120
|
'helix-icon': ['error', 'load'],
|
|
121
|
+
'helix-icon-button': ['helix-press'],
|
|
118
122
|
'helix-image': ['error', 'load'],
|
|
119
123
|
'helix-input': ['change', 'helix-before-change', 'helix-clear', 'input'],
|
|
120
124
|
'helix-kbd': ['helix-shortcut'],
|
|
@@ -129,7 +133,7 @@ registerElementEvents({
|
|
|
129
133
|
],
|
|
130
134
|
'helix-list': ['change', 'helix-action', 'helix-before-change'],
|
|
131
135
|
'helix-list-item': ['helix-action'],
|
|
132
|
-
'helix-listbox': ['change', 'helix-before-change', 'helix-filter', 'input'],
|
|
136
|
+
'helix-listbox': ['change', 'helix-before-change', 'helix-filter', 'helix-load-more', 'input'],
|
|
133
137
|
'helix-map': [
|
|
134
138
|
'change',
|
|
135
139
|
'helix-activate',
|
|
@@ -164,9 +168,12 @@ registerElementEvents({
|
|
|
164
168
|
'helix-object-inspector': [
|
|
165
169
|
'helix-activate',
|
|
166
170
|
'helix-before-activate',
|
|
171
|
+
'helix-before-close',
|
|
172
|
+
'helix-before-open',
|
|
167
173
|
'helix-copy',
|
|
168
174
|
'helix-filter',
|
|
169
175
|
'helix-filtered',
|
|
176
|
+
'toggle',
|
|
170
177
|
],
|
|
171
178
|
'helix-option': ['helix-select'],
|
|
172
179
|
'helix-outline': ['helix-activate'],
|
|
@@ -177,7 +184,7 @@ registerElementEvents({
|
|
|
177
184
|
'helix-qr-code': ['error'],
|
|
178
185
|
'helix-radio': ['helix-select'],
|
|
179
186
|
'helix-radio-group': ['change', 'helix-before-change', 'helix-select', 'input'],
|
|
180
|
-
'helix-rating': ['change', 'helix-before-change', 'helix-clear', 'input'],
|
|
187
|
+
'helix-rating': ['change', 'helix-before-change', 'helix-clear', 'helix-preview', 'input'],
|
|
181
188
|
'helix-sandbox': [
|
|
182
189
|
'helix-before-edit',
|
|
183
190
|
'helix-before-panel-resize',
|
|
@@ -191,6 +198,7 @@ registerElementEvents({
|
|
|
191
198
|
],
|
|
192
199
|
'helix-sandbox-preview': ['helix-console', 'helix-resize'],
|
|
193
200
|
'helix-sandbox-source': ['helix-before-edit', 'helix-caret', 'helix-edit'],
|
|
201
|
+
'helix-sandbox-terminal': ['change', 'helix-before-change'],
|
|
194
202
|
'helix-scroll-area': ['scroll', 'scrollend'],
|
|
195
203
|
'helix-select': [
|
|
196
204
|
'change',
|
|
@@ -198,6 +206,7 @@ registerElementEvents({
|
|
|
198
206
|
'helix-before-close',
|
|
199
207
|
'helix-before-open',
|
|
200
208
|
'helix-filter',
|
|
209
|
+
'helix-load-more',
|
|
201
210
|
'input',
|
|
202
211
|
'toggle',
|
|
203
212
|
],
|
|
@@ -219,7 +228,7 @@ registerElementEvents({
|
|
|
219
228
|
'helix-tabs': ['helix-activate', 'helix-before-activate', 'helix-select'],
|
|
220
229
|
'helix-tag': ['helix-dismiss'],
|
|
221
230
|
'helix-tag-group': ['change', 'helix-before-change', 'helix-dismiss'],
|
|
222
|
-
'helix-textarea': ['change', 'helix-before-change', 'input'],
|
|
231
|
+
'helix-textarea': ['change', 'helix-before-change', 'helix-clear', 'input'],
|
|
223
232
|
'helix-time-input': [
|
|
224
233
|
'change',
|
|
225
234
|
'helix-before-change',
|
|
@@ -241,6 +250,7 @@ registerElementEvents({
|
|
|
241
250
|
'helix-before-open',
|
|
242
251
|
'helix-complete',
|
|
243
252
|
'helix-tour-ask',
|
|
253
|
+
'helix-tour-status',
|
|
244
254
|
'toggle',
|
|
245
255
|
],
|
|
246
256
|
'helix-tour-stop': ['helix-tour-ask'],
|
|
@@ -282,5 +292,5 @@ registerElementEvents({
|
|
|
282
292
|
'helix-video-playlist': ['helix-activate', 'helix-before-activate', 'helix-end'],
|
|
283
293
|
'helix-video-playlist-item': ['helix-select'],
|
|
284
294
|
'helix-video-playlist-menu': ['helix-select'],
|
|
285
|
-
'helix-virtual-list': ['helix-load-more', 'helix-range-change'],
|
|
295
|
+
'helix-virtual-list': ['change', 'helix-before-change', 'helix-load-more', 'helix-range-change'],
|
|
286
296
|
});
|
|
@@ -3,8 +3,8 @@ export const styles = createSheet(`[part="field"] {
|
|
|
3
3
|
align-items: center;
|
|
4
4
|
position: relative;
|
|
5
5
|
background-color: var(--file-input-background-color, var(--helix-color-well));
|
|
6
|
-
border: var(--helix-border-thin) dashed var(--helix-color-border);
|
|
7
|
-
border-radius: var(--helix-radii-sm);
|
|
6
|
+
border: var(--helix-border-thin) dashed var(--file-input-border-color, var(--helix-color-border));
|
|
7
|
+
border-radius: var(--file-input-radius, var(--helix-radii-sm));
|
|
8
8
|
display: flex;
|
|
9
9
|
gap: var(--helix-space-xs);
|
|
10
10
|
justify-content: center;
|
|
@@ -26,8 +26,8 @@ outline: none;
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
[part="field"][data-dropping] {
|
|
29
|
-
background-color: var(--helix-color-primary-subtle);
|
|
30
|
-
border-color: var(--helix-color-primary);
|
|
29
|
+
background-color: var(--file-input-drop-background-color, var(--helix-color-primary-subtle));
|
|
30
|
+
border-color: var(--file-input-drop-border-color, var(--helix-color-primary));
|
|
31
31
|
border-style: solid;
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -56,14 +56,15 @@ padding: var(--helix-space-none);
|
|
|
56
56
|
|
|
57
57
|
[part="file"] {
|
|
58
58
|
align-items: center;
|
|
59
|
-
background-color: var(--helix-color-surface);
|
|
60
|
-
border: var(--helix-border-thin) solid
|
|
61
|
-
border-
|
|
59
|
+
background-color: var(--file-input-file-background-color, var(--helix-color-surface));
|
|
60
|
+
border: var(--helix-border-thin) solid
|
|
61
|
+
var(--file-input-file-border-color, var(--helix-color-border));
|
|
62
|
+
border-radius: var(--file-input-file-radius, var(--helix-radii-sm));
|
|
62
63
|
display: flex;
|
|
63
64
|
gap: var(--helix-space-sm);
|
|
64
65
|
opacity: 1;
|
|
65
|
-
padding-block: var(--helix-space-xs);
|
|
66
|
-
padding-inline: var(--helix-space-sm);
|
|
66
|
+
padding-block: var(--file-input-file-padding-block, var(--helix-space-xs));
|
|
67
|
+
padding-inline: var(--file-input-file-padding-inline, var(--helix-space-sm));
|
|
67
68
|
scale: 1 1;
|
|
68
69
|
transform-origin: top;
|
|
69
70
|
transition:
|
|
@@ -120,7 +121,7 @@ all: unset;
|
|
|
120
121
|
align-items: center;
|
|
121
122
|
border-radius: var(--helix-radii-sm);
|
|
122
123
|
box-sizing: border-box;
|
|
123
|
-
color: var(--helix-color-foreground-muted);
|
|
124
|
+
color: var(--file-input-remove-color, var(--helix-color-foreground-muted));
|
|
124
125
|
cursor: pointer;
|
|
125
126
|
display: flex;
|
|
126
127
|
flex: none;
|
|
@@ -131,7 +132,7 @@ transition: color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
|
131
132
|
}
|
|
132
133
|
|
|
133
134
|
[part="remove"]:hover {
|
|
134
|
-
color: var(--helix-color-danger);
|
|
135
|
+
color: var(--file-input-remove-color-hover, var(--helix-color-danger));
|
|
135
136
|
}
|
|
136
137
|
|
|
137
138
|
[part="remove"]:focus-visible {
|
|
@@ -22,7 +22,18 @@ import '../../tag/index.js';
|
|
|
22
22
|
* @documentation https://fusion.dev/helix/components/file-input
|
|
23
23
|
*
|
|
24
24
|
* @cssproperty --file-input-background-color - Fill behind the field.
|
|
25
|
+
* @cssproperty --file-input-border-color - The field's dashed edge at rest.
|
|
26
|
+
* @cssproperty --file-input-drop-background-color - Fill behind the field while files are dragged over it.
|
|
27
|
+
* @cssproperty --file-input-drop-border-color - The field's edge while files are dragged over it.
|
|
28
|
+
* @cssproperty --file-input-file-background-color - Fill behind each chosen file.
|
|
29
|
+
* @cssproperty --file-input-file-border-color - The edge of each chosen file.
|
|
30
|
+
* @cssproperty --file-input-file-padding-block - Padding above and below each chosen file.
|
|
31
|
+
* @cssproperty --file-input-file-padding-inline - Padding at each side of each chosen file.
|
|
32
|
+
* @cssproperty --file-input-file-radius - Corner radius of each chosen file.
|
|
25
33
|
* @cssproperty --file-input-padding - Padding inside the field.
|
|
34
|
+
* @cssproperty --file-input-radius - Corner radius of the field.
|
|
35
|
+
* @cssproperty --file-input-remove-color - The remove button's icon at rest.
|
|
36
|
+
* @cssproperty --file-input-remove-color-hover - The remove button's icon under the pointer.
|
|
26
37
|
*/
|
|
27
38
|
export declare class HelixFileInput extends HelixHeadlessFileInput {
|
|
28
39
|
static tier: string;
|
|
@@ -6,8 +6,9 @@ export const styles = createSheet(`:host {
|
|
|
6
6
|
[part="field"] {
|
|
7
7
|
align-items: center;
|
|
8
8
|
background-color: var(--filter-input-background-color, var(--helix-color-well));
|
|
9
|
-
border: var(--helix-border-thin) solid
|
|
10
|
-
border-
|
|
9
|
+
border: var(--helix-border-thin) solid
|
|
10
|
+
var(--filter-input-field-border-color, var(--helix-color-border));
|
|
11
|
+
border-radius: var(--filter-input-radius, var(--helix-radii-sm));
|
|
11
12
|
color: var(--helix-color-foreground-subtle);
|
|
12
13
|
display: flex;
|
|
13
14
|
flex-wrap: wrap;
|
|
@@ -15,7 +16,7 @@ gap: var(--helix-space-2xs);
|
|
|
15
16
|
min-block-size: var(--_filter-input-size);
|
|
16
17
|
|
|
17
18
|
padding-block: var(--helix-space-2xs);
|
|
18
|
-
padding-inline: var(--helix-space-xs);
|
|
19
|
+
padding-inline: var(--filter-input-padding-inline, var(--helix-space-xs));
|
|
19
20
|
transition:
|
|
20
21
|
border-color var(--helix-duration-fast) var(--helix-easing-standard),
|
|
21
22
|
background-color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
@@ -66,7 +67,7 @@ align-items: center;
|
|
|
66
67
|
align-self: center;
|
|
67
68
|
border-radius: var(--helix-radii-sm);
|
|
68
69
|
box-sizing: border-box;
|
|
69
|
-
color: var(--helix-color-foreground-subtle);
|
|
70
|
+
color: var(--filter-input-clear-color, var(--helix-color-foreground-subtle));
|
|
70
71
|
cursor: pointer;
|
|
71
72
|
display: flex;
|
|
72
73
|
flex: 0 0 auto;
|
|
@@ -78,7 +79,7 @@ transition: color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
|
78
79
|
|
|
79
80
|
[part="clear"]:hover {
|
|
80
81
|
background-color: color-mix(in oklab, currentcolor 12%, transparent);
|
|
81
|
-
color: var(--helix-color-foreground);
|
|
82
|
+
color: var(--filter-input-clear-color-hover, var(--helix-color-foreground));
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
[part="clear"]:focus-visible {
|
|
@@ -32,9 +32,14 @@ import '../../option/index.js';
|
|
|
32
32
|
* @cssproperty --filter-input-background-color - The fill behind the field.
|
|
33
33
|
* @cssproperty --filter-input-border-color - The color of the suggestion panel's border.
|
|
34
34
|
* @cssproperty --filter-input-border-width - The width of the suggestion panel's border. It follows `--helix-border-floating`.
|
|
35
|
+
* @cssproperty --filter-input-clear-color - The clear button's icon at rest.
|
|
36
|
+
* @cssproperty --filter-input-clear-color-hover - The clear button's icon under the pointer.
|
|
35
37
|
* @cssproperty --filter-input-control-size - The smallest width the text keeps as tokens fill the line. Below it, the text wraps to its own line.
|
|
38
|
+
* @cssproperty --filter-input-field-border-color - The field's edge at rest. Hover, focus, and an error still draw their own.
|
|
36
39
|
* @cssproperty --filter-input-lead-border-color - The color of the line between the leading box and the text.
|
|
40
|
+
* @cssproperty --filter-input-padding-inline - Space at each side of the field, inside its edge.
|
|
37
41
|
* @cssproperty --filter-input-panel-size - The width of the suggestion panel. It matches the field by default.
|
|
42
|
+
* @cssproperty --filter-input-radius - Corner radius of the field.
|
|
38
43
|
* @cssproperty --filter-input-shadow - The shadow under the panel. It follows
|
|
39
44
|
* `--helix-shadow-floating`. The panel can sit over any content, so it has a
|
|
40
45
|
* shadow by default.
|
|
@@ -52,6 +52,15 @@ flex-grow: 999;
|
|
|
52
52
|
min-inline-size: var(--flex-flank-min, 50%);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
:host([layout="switch"]) {
|
|
56
|
+
flex-wrap: wrap;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
:host([layout="switch"]) ::slotted(*) {
|
|
60
|
+
flex-basis: calc((var(--flex-switch-at, 30rem) - 100%) * 999);
|
|
61
|
+
flex-grow: 1;
|
|
62
|
+
}
|
|
63
|
+
|
|
55
64
|
:host([wrap]) {
|
|
56
65
|
flex-wrap: wrap;
|
|
57
66
|
}
|
|
@@ -16,12 +16,18 @@ import type { CSSResultGroup, TemplateResult } from 'lit';
|
|
|
16
16
|
* write wins over the pattern's own value:
|
|
17
17
|
*
|
|
18
18
|
* - `cluster`: items in a wrapping row, centered on one line, such as tags.
|
|
19
|
-
* - `split`: the first item at the start
|
|
20
|
-
* as a title and its actions.
|
|
19
|
+
* - `split`: the first item at the start, the last at the end, and any between
|
|
20
|
+
* them spaced evenly, such as a title and its actions. Put several actions
|
|
21
|
+
* in a flex of their own so they stay together at the end. Wraps when there
|
|
22
|
+
* is no room.
|
|
21
23
|
* - `flank` and `flank-end`: a fixed item beside one that takes the rest, such
|
|
22
24
|
* as an icon and its text, or a field and its button. The item that takes
|
|
23
25
|
* the rest stays at least `--flex-flank-min` wide, and the pair stacks once
|
|
24
26
|
* it cannot.
|
|
27
|
+
* - `switch`: the items share a row while the flex is at least
|
|
28
|
+
* `--flex-switch-at` wide, and each takes a line of its own below that, such
|
|
29
|
+
* as cards that stack on a narrow screen. It answers the width the flex is
|
|
30
|
+
* given, wherever it sits, with no breakpoint to maintain.
|
|
25
31
|
*
|
|
26
32
|
* Flex is presentation only, so it has no headless tier.
|
|
27
33
|
*
|
|
@@ -35,6 +41,7 @@ import type { CSSResultGroup, TemplateResult } from 'lit';
|
|
|
35
41
|
*
|
|
36
42
|
* @cssproperty --flex-flank-min - The narrowest the growing item of a `flank` layout gets before the two stack, as a share of the row. Defaults to `50%`.
|
|
37
43
|
* @cssproperty --flex-flank-size - The width of the fixed item of a `flank` layout. Defaults to its own width.
|
|
44
|
+
* @cssproperty --flex-switch-at - The narrowest a `switch` layout keeps its items in one row, below which each takes a line. Defaults to `30rem`.
|
|
38
45
|
*/
|
|
39
46
|
export declare class HelixFlex extends HelixElement {
|
|
40
47
|
/**
|
|
@@ -94,13 +101,17 @@ export declare class HelixFlex extends HelixElement {
|
|
|
94
101
|
*/
|
|
95
102
|
justifyContent?: 'start' | 'center' | 'end' | 'between' | 'around';
|
|
96
103
|
/**
|
|
97
|
-
* A common layout pattern: `cluster`, `split`, `flank
|
|
104
|
+
* A common layout pattern: `cluster`, `split`, `flank`, `flank-end` or
|
|
105
|
+
* `switch`.
|
|
98
106
|
*
|
|
99
107
|
* Each sets the wrapping, alignment and spread it needs, and an attribute
|
|
100
|
-
* you write as well wins over it. `
|
|
101
|
-
*
|
|
108
|
+
* you write as well wins over it. `split` spreads the items as
|
|
109
|
+
* `justify-content: space-between` does, so a third item sits midway.
|
|
110
|
+
* `flank` holds the first item at its own width and gives the last one the
|
|
111
|
+
* rest, and `flank-end` does the reverse. `switch` puts the items in one
|
|
112
|
+
* row, or one to a line once the flex is narrower than `--flex-switch-at`.
|
|
102
113
|
*/
|
|
103
|
-
layout?: 'cluster' | 'flank' | 'flank-end' | 'split';
|
|
114
|
+
layout?: 'cluster' | 'flank' | 'flank-end' | 'split' | 'switch';
|
|
104
115
|
/**
|
|
105
116
|
* Space between the lines of a wrapping row, or between the items of a
|
|
106
117
|
* column, named on the space scale. Wins over `gap` down the column.
|
|
@@ -40,9 +40,9 @@ inline-size: 100%;
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
[part="panel"] {
|
|
43
|
-
background-color: var(--helix-color-surface);
|
|
43
|
+
background-color: var(--graph-panel-background-color, var(--helix-color-surface));
|
|
44
44
|
border-inline-start: var(--helix-border-thin) solid var(--helix-color-border);
|
|
45
|
-
color: var(--helix-color-foreground);
|
|
45
|
+
color: var(--graph-panel-color, var(--helix-color-foreground));
|
|
46
46
|
display: grid;
|
|
47
47
|
|
|
48
48
|
grid-template-columns: minmax(0, 1fr);
|
|
@@ -377,19 +377,22 @@ align-items: center;
|
|
|
377
377
|
box-sizing: border-box;
|
|
378
378
|
cursor: pointer;
|
|
379
379
|
display: flex;
|
|
380
|
-
font-size: var(--helix-text-sm);
|
|
380
|
+
font-size: var(--graph-note-text, var(--helix-text-sm));
|
|
381
381
|
gap: var(--helix-space-sm);
|
|
382
382
|
min-block-size: var(--helix-size-control-tight);
|
|
383
383
|
padding-block: var(--helix-space-2xs);
|
|
384
|
-
padding-inline: var(--helix-space-xs);
|
|
384
|
+
padding-inline: var(--graph-note-padding-inline, var(--helix-space-xs));
|
|
385
385
|
user-select: none;
|
|
386
386
|
}
|
|
387
387
|
|
|
388
388
|
[part~="note"]:hover,
|
|
389
389
|
[part="list"]:focus-visible [part~="note-cursor"] {
|
|
390
|
-
--_graph-wash:
|
|
390
|
+
--_graph-wash: var(
|
|
391
|
+
--graph-note-hover-color,
|
|
392
|
+
light-dark(
|
|
391
393
|
color-mix(in oklab, var(--helix-color-foreground) 8%, transparent),
|
|
392
394
|
color-mix(in oklab, var(--helix-color-foreground) 12%, transparent)
|
|
395
|
+
)
|
|
393
396
|
);
|
|
394
397
|
|
|
395
398
|
background-image: linear-gradient(var(--_graph-wash), var(--_graph-wash));
|
|
@@ -405,7 +408,7 @@ white-space: nowrap;
|
|
|
405
408
|
}
|
|
406
409
|
|
|
407
410
|
[part="note-relation"] {
|
|
408
|
-
color: var(--helix-color-foreground-muted);
|
|
411
|
+
color: var(--graph-note-relation-color, var(--helix-color-foreground-muted));
|
|
409
412
|
flex: 1 1 0;
|
|
410
413
|
font-size: var(--helix-text-xs);
|
|
411
414
|
min-inline-size: 0;
|
|
@@ -416,11 +419,11 @@ white-space: nowrap;
|
|
|
416
419
|
}
|
|
417
420
|
|
|
418
421
|
[part~="note-selected"] {
|
|
419
|
-
background-color: var(--helix-color-surface-sunken);
|
|
422
|
+
background-color: var(--graph-note-selected-background-color, var(--helix-color-surface-sunken));
|
|
420
423
|
}
|
|
421
424
|
|
|
422
425
|
[part~="note-selected"] [part="note-name"] {
|
|
423
|
-
font-weight: var(--helix-weight-semibold);
|
|
426
|
+
font-weight: var(--graph-note-selected-weight, var(--helix-weight-semibold));
|
|
424
427
|
}
|
|
425
428
|
|
|
426
429
|
[part="header"],
|
|
@@ -20,6 +20,14 @@ import type { CSSResultGroup } from 'lit';
|
|
|
20
20
|
* @cssproperty --graph-background-color - The color behind the drawing while it loads.
|
|
21
21
|
* @cssproperty --graph-block-size - The frame's height, as a length.
|
|
22
22
|
* @cssproperty --graph-border-color - The frame's border color.
|
|
23
|
+
* @cssproperty --graph-note-hover-color - The wash over a note in the list while the pointer is over it, and over the note the keyboard is on.
|
|
24
|
+
* @cssproperty --graph-note-padding-inline - The space at either end of a note in the list.
|
|
25
|
+
* @cssproperty --graph-note-relation-color - The color of how a note stands to the selected one, such as "Linked from Alpha".
|
|
26
|
+
* @cssproperty --graph-note-selected-background-color - The fill behind the selected note, which leads the list.
|
|
27
|
+
* @cssproperty --graph-note-selected-weight - The weight of the selected note's name.
|
|
28
|
+
* @cssproperty --graph-note-text - The size of a note's name in the list.
|
|
29
|
+
* @cssproperty --graph-panel-background-color - The fill behind the search and the list.
|
|
30
|
+
* @cssproperty --graph-panel-color - The text color of the search and the list.
|
|
23
31
|
* @cssproperty --graph-panel-size - The list's width beside the drawing, or over it when opened with `no-panel`.
|
|
24
32
|
* @cssproperty --viewport-control-background-color - The background of the zoom and fullscreen buttons. Map and Canvas use the same property.
|
|
25
33
|
*/
|
|
@@ -19,7 +19,10 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
|
|
|
19
19
|
*
|
|
20
20
|
* **A child can span columns with `data-grid-span`.** `data-grid-span="full"`
|
|
21
21
|
* runs from the first column to the last, such as a heading across a set of
|
|
22
|
-
* cards, and a number from `2` to `6` spans that many columns.
|
|
22
|
+
* cards, and a number from `2` to `6` spans that many columns. A number wider
|
|
23
|
+
* than the grid adds columns of no width beside the real ones, as CSS does,
|
|
24
|
+
* so in a `min` grid, whose count changes with its width, use `full` for a
|
|
25
|
+
* child that must span them all.
|
|
23
26
|
*
|
|
24
27
|
* @since 0.1.0
|
|
25
28
|
* @status stable
|