@fusion.dev/helix 0.26.0 → 0.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +6072 -2074
- package/dist/accordion/root/accordion-root.css.js +1 -2
- package/dist/announcement/root/announcement-root.css.js +0 -1
- package/dist/area-chart/root/area-chart-root.css.js +2 -1
- package/dist/area-chart/root/area-chart-root.d.ts +1 -1
- package/dist/aura/{root/aura-axis.d.ts → axis.d.ts} +2 -2
- package/dist/aura/root/aura-root.d.ts +5 -1
- package/dist/aura/root/aura-root.js +3 -3
- package/dist/avatar/root/avatar-root.css.js +1 -1
- package/dist/bar-chart/root/bar-chart-root.css.js +2 -2
- package/dist/bar-chart/root/bar-chart-root.d.ts +1 -1
- package/dist/blockquote/root/blockquote-root.css.js +1 -2
- package/dist/breadcrumbs/root/breadcrumbs-root.css.js +1 -1
- package/dist/callout/root/callout-root.css.js +0 -1
- package/dist/carousel/root/carousel-root.css.js +0 -1
- package/dist/chat/message/chat-message.css.js +4 -1
- package/dist/chat/root/chat-root.css.js +5 -1
- package/dist/chat/root/chat-root.js +2 -1
- package/dist/checkbox/root/checkbox-root.css.js +1 -1
- package/dist/checkbox/root/checkbox-root.d.ts +4 -3
- package/dist/checkbox-group/root/checkbox-group-root.css.js +0 -1
- package/dist/code/root/code-root.css.js +0 -1
- package/dist/code-block/root/code-block-root.css.js +0 -1
- package/dist/color-input/root/color-input-root.css.js +5 -82
- package/dist/color-input/root/color-input-root.js +11 -1
- package/dist/color-picker/root/color-picker-root.js +1 -1
- package/dist/combobox/root/combobox-root.css.js +4 -83
- package/dist/combobox/root/combobox-root.js +12 -1
- package/dist/data-table/root/data-table-root.css.js +0 -8
- package/dist/data-table/root/data-table-root.js +2 -1
- package/dist/date-input/root/date-input-root.css.js +4 -80
- package/dist/date-input/root/date-input-root.js +12 -1
- package/dist/divider/root/divider-root.css.js +1 -1
- package/dist/donut-chart/root/donut-chart-root.css.js +3 -2
- package/dist/drilldown/root/drilldown-root.css.js +0 -11
- package/dist/drilldown/root/drilldown-root.js +2 -1
- package/dist/empty/root/empty-root.css.js +1 -2
- package/dist/file-input/root/file-input-root.css.js +3 -21
- package/dist/file-input/root/file-input-root.js +9 -2
- package/dist/filter-input/root/filter-input-root.css.js +4 -82
- package/dist/filter-input/root/filter-input-root.js +7 -1
- package/dist/flex/root/flex-root.css.js +1 -1
- package/dist/grid/root/grid-root.css.js +1 -1
- package/dist/icon/root/icon-root.css.js +1 -1
- package/dist/image/root/image-root.css.js +1 -1
- package/dist/input/root/input-root.css.js +0 -32
- package/dist/input/root/input-root.js +9 -2
- package/dist/legend/root/legend-root.css.js +1 -2
- package/dist/line-chart/root/line-chart-root.css.js +2 -2
- package/dist/line-chart/root/line-chart-root.d.ts +3 -1
- package/dist/list/root/list-root.css.js +1 -1
- package/dist/listbox/root/listbox-root.css.js +2 -8
- package/dist/listbox/root/listbox-root.js +7 -1
- package/dist/loader/root/loader-root.css.js +9 -5
- package/dist/menu/root/menu-root.css.js +4 -64
- package/dist/menu/root/menu-root.js +9 -1
- package/dist/meter/root/meter-root.css.js +0 -1
- package/dist/notifications/group/notification-group.css.js +1 -0
- package/dist/notifications/notification/notification.js +1 -1
- package/dist/notifications/root/notifications-root.css.js +2 -7
- package/dist/notifications/root/notifications-root.js +2 -1
- package/dist/number-input/root/number-input-root.css.js +2 -40
- package/dist/number-input/root/number-input-root.d.ts +2 -0
- package/dist/number-input/root/number-input-root.js +7 -1
- package/dist/option/root/option-root.css.js +0 -1
- package/dist/orb/index.d.ts +1 -1
- package/dist/orb/index.js +1 -1
- package/dist/orb/root/orb-root.d.ts +5 -1
- package/dist/orb/root/orb-root.js +3 -3
- package/dist/outline/root/outline-root.css.js +1 -1
- package/dist/pin-input/root/pin-input-root.css.js +0 -1
- package/dist/progress/root/progress-root.css.js +0 -1
- package/dist/qr-code/root/qr-code-root.css.js +1 -1
- package/dist/quote/root/quote-root.css.js +1 -2
- package/dist/radio/root/radio-root.css.js +5 -2
- package/dist/rating/root/rating-root.css.js +0 -1
- package/dist/scroll-area/root/scroll-area-root.css.js +0 -2
- package/dist/select/root/select-root.css.js +3 -57
- package/dist/select/root/select-root.js +9 -1
- package/dist/shared/chart/series.css.js +4 -1
- package/dist/shared/chart/tooltip.css.js +1 -96
- package/dist/shared/collection/state.css.js +11 -0
- package/dist/shared/field/field-frame.css.d.ts +1 -0
- package/dist/shared/field/field-frame.css.js +36 -0
- package/dist/shared/field/field.css.js +0 -6
- package/dist/shared/floating/entrance.css.d.ts +1 -0
- package/dist/shared/floating/entrance.css.js +39 -0
- package/dist/shared/floating/panel.css.d.ts +1 -0
- package/dist/shared/floating/panel.css.js +18 -0
- package/dist/shared/glyph/glyph.css.d.ts +1 -0
- package/dist/sparkline/root/sparkline-root.css.js +0 -1
- package/dist/speed-dial/root/speed-dial-root.js +1 -1
- package/dist/splitter/root/splitter-root.css.js +0 -2
- package/dist/stat/root/stat-root.css.js +1 -1
- package/dist/steps/root/steps-root.css.js +1 -1
- package/dist/switch/root/switch-root.css.js +0 -1
- package/dist/table/cell/table-cell.d.ts +4 -3
- package/dist/table/root/table-root.css.js +1 -13
- package/dist/table/root/table-root.js +2 -1
- package/dist/table/row/table-row.d.ts +4 -3
- package/dist/tabs/panel/tab-panel.d.ts +3 -3
- package/dist/tabs/root/tabs-root.css.js +0 -1
- package/dist/tabs/tab/tab.d.ts +4 -3
- package/dist/tag/root/tag-root.css.js +1 -1
- package/dist/text/root/text-root.css.js +1 -1
- package/dist/textarea/root/textarea-root.css.js +2 -36
- package/dist/textarea/root/textarea-root.js +7 -1
- package/dist/time-input/root/time-input-root.css.js +7 -82
- package/dist/time-input/root/time-input-root.js +12 -1
- package/dist/time-picker/root/time-picker-root.css.js +0 -1
- package/dist/timeline/root/timeline-root.css.js +1 -1
- package/dist/tooltip/root/tooltip-root.css.js +1 -0
- package/dist/tour/stop/tour-stop.css.js +7 -6
- package/dist/tree/root/tree-root.css.js +1 -12
- package/dist/tree/root/tree-root.js +2 -1
- package/dist/trend/root/trend-root.css.js +1 -1
- package/dist/trend/root/trend-root.js +1 -1
- package/dist/video/root/video-root.css.js +11 -8
- package/dist/video/root/video-root.js +1 -1
- package/dist/video-playlist/menu/video-playlist-menu.js +1 -1
- package/dist/virtual-list/root/virtual-list-root.css.js +0 -2
- package/package.json +9 -8
- package/types/jsx.d.ts +493 -405
- package/types/vue.d.ts +142 -129
- /package/dist/aura/{root/aura-axis.js → axis.js} +0 -0
- /package/dist/aura/{root/aura-shader.d.ts → shader.d.ts} +0 -0
- /package/dist/aura/{root/aura-shader.js → shader.js} +0 -0
- /package/dist/orb/{root/orb-color.d.ts → color.d.ts} +0 -0
- /package/dist/orb/{root/orb-color.js → color.js} +0 -0
- /package/dist/orb/{root/orb-shapes.d.ts → shapes.d.ts} +0 -0
- /package/dist/orb/{root/orb-shapes.js → shapes.js} +0 -0
- /package/dist/{icon/glyph.css.d.ts → shared/collection/state.css.d.ts} +0 -0
- /package/dist/{icon → shared/glyph}/glyph.css.js +0 -0
|
@@ -15,28 +15,6 @@ background-color var(--helix-duration-fast) var(--helix-easing-standard),
|
|
|
15
15
|
border-color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
[part="control"] {
|
|
19
|
-
all: unset;
|
|
20
|
-
box-sizing: border-box;
|
|
21
|
-
color: var(--helix-color-foreground);
|
|
22
|
-
flex: 1 1 auto;
|
|
23
|
-
font-family: var(--helix-font-sans);
|
|
24
|
-
font-size: var(--helix-text-md);
|
|
25
|
-
font-weight: var(--helix-weight-medium);
|
|
26
|
-
min-inline-size: 0;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
:host(:not(:disabled)) [part="field"]:hover {
|
|
30
|
-
border-color: var(--helix-color-primary);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
:host(:focus-within) [part="field"],
|
|
34
|
-
:host(:focus-within) [part="field"]:hover {
|
|
35
|
-
border-color: var(--helix-color-primary);
|
|
36
|
-
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
37
|
-
outline-offset: 0;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
18
|
[part="trigger"] {
|
|
41
19
|
all: unset;
|
|
42
20
|
block-size: var(--helix-size-icon);
|
|
@@ -64,53 +42,15 @@ outline-offset: var(--helix-size-focus-offset);
|
|
|
64
42
|
}
|
|
65
43
|
|
|
66
44
|
[part="surface"] {
|
|
67
|
-
|
|
68
|
-
border: var(--date-input-border-width, var(--helix-border-floating))
|
|
69
|
-
var(--date-input-
|
|
70
|
-
|
|
71
|
-
box-shadow: var(--date-input-shadow, var(--helix-shadow-floating));
|
|
45
|
+
--_floating-border-color: var(--date-input-border-color, var(--helix-color-border));
|
|
46
|
+
--_floating-border-width: var(--date-input-border-width, var(--helix-border-floating));
|
|
47
|
+
--_floating-shadow: var(--date-input-shadow, var(--helix-shadow-floating));
|
|
48
|
+
|
|
72
49
|
inline-size: max-content;
|
|
73
|
-
inset: auto;
|
|
74
|
-
margin: var(--helix-space-none);
|
|
75
50
|
padding: var(--helix-space-sm);
|
|
76
51
|
position: absolute;
|
|
77
52
|
}
|
|
78
53
|
|
|
79
|
-
[part="surface"] {
|
|
80
|
-
--_travel: calc(var(--helix-space-2xs) * -1);
|
|
81
|
-
opacity: 0;
|
|
82
|
-
transform: translateY(var(--_travel));
|
|
83
|
-
scale: 0.96;
|
|
84
|
-
transition:
|
|
85
|
-
opacity var(--helix-duration-fast) var(--helix-easing-standard),
|
|
86
|
-
scale var(--helix-duration-fast) var(--helix-easing-emphasized),
|
|
87
|
-
transform var(--helix-duration-fast) var(--helix-easing-emphasized),
|
|
88
|
-
display var(--helix-duration-fast) allow-discrete,
|
|
89
|
-
overlay var(--helix-duration-fast) allow-discrete;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
[part="surface"][data-placement^="top"] {
|
|
93
|
-
--_travel: var(--helix-space-2xs);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
[part="surface"][data-placed] {
|
|
97
|
-
opacity: 1;
|
|
98
|
-
scale: 1;
|
|
99
|
-
transform: none;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
[part="surface"][data-placement^="top"] {
|
|
103
|
-
transform-origin: var(--floating-arrow-x, 50%) 100%;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
[part="surface"][data-placement^="bottom"] {
|
|
107
|
-
transform-origin: var(--floating-arrow-x, 50%) 0;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
[part="surface"][hidden] {
|
|
111
|
-
display: none;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
54
|
:host(:disabled) [part="field"] {
|
|
115
55
|
color: var(--helix-color-foreground-subtle);
|
|
116
56
|
}
|
|
@@ -125,13 +65,6 @@ cursor: not-allowed;
|
|
|
125
65
|
[part="trigger"] {
|
|
126
66
|
transition: none;
|
|
127
67
|
}
|
|
128
|
-
|
|
129
|
-
[part="surface"],
|
|
130
|
-
[part="surface"][data-placed] {
|
|
131
|
-
scale: 1;
|
|
132
|
-
transform: none;
|
|
133
|
-
transition: none;
|
|
134
|
-
}
|
|
135
68
|
}
|
|
136
69
|
|
|
137
70
|
[part="date"] {
|
|
@@ -144,17 +77,8 @@ flex-basis: 0;
|
|
|
144
77
|
min-inline-size: var(--helix-size-icon-loose);
|
|
145
78
|
}
|
|
146
79
|
|
|
147
|
-
:host(:state(invalid)) [part="field"],
|
|
148
|
-
:host(:state(invalid)) [part="field"]:hover,
|
|
149
|
-
:host(:state(invalid):focus-within) [part="field"],
|
|
150
|
-
:host(:state(invalid):focus-within) [part="field"]:hover {
|
|
151
|
-
border-color: var(--helix-color-danger);
|
|
152
|
-
outline-color: var(--helix-color-danger);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
80
|
@media print {
|
|
156
81
|
:host {
|
|
157
|
-
box-shadow: none;
|
|
158
82
|
print-color-adjust: exact;
|
|
159
83
|
}
|
|
160
84
|
}`);
|
|
@@ -9,12 +9,23 @@ import { HelixHeadlessDateInput } from '@fusion.dev/helix-headless/date-input';
|
|
|
9
9
|
import '../../date-picker/index.js';
|
|
10
10
|
import '../../tag/index.js';
|
|
11
11
|
import { styles as fieldStyles } from '../../shared/field/field.css.js';
|
|
12
|
+
import { styles as fieldFrameStyles } from '../../shared/field/field-frame.css.js';
|
|
12
13
|
import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
|
|
14
|
+
import { styles as floatingEntranceStyles } from '../../shared/floating/entrance.css.js';
|
|
15
|
+
import { styles as floatingPanelStyles } from '../../shared/floating/panel.css.js';
|
|
13
16
|
import { styles as tagRowStyles } from '../../shared/tags/tags.css.js';
|
|
14
17
|
import { styles } from './date-input-root.css.js';
|
|
15
18
|
let HelixDateInput = class HelixDateInput extends HelixHeadlessDateInput {
|
|
16
19
|
static { this.tier = 'helix-'; }
|
|
17
|
-
static { this.styles = [
|
|
20
|
+
static { this.styles = [
|
|
21
|
+
fieldStyles,
|
|
22
|
+
fieldFrameStyles,
|
|
23
|
+
fieldStackedStyles,
|
|
24
|
+
tagRowStyles,
|
|
25
|
+
floatingPanelStyles,
|
|
26
|
+
floatingEntranceStyles,
|
|
27
|
+
styles,
|
|
28
|
+
]; }
|
|
18
29
|
};
|
|
19
30
|
HelixDateInput = __decorate([
|
|
20
31
|
customElement('helix-date-input')
|
|
@@ -56,9 +56,11 @@ translate: -50% -50%;
|
|
|
56
56
|
|
|
57
57
|
box-sizing: border-box;
|
|
58
58
|
|
|
59
|
+
--_donut-chart-ring: 80;
|
|
60
|
+
|
|
59
61
|
container-type: inline-size;
|
|
60
62
|
display: grid;
|
|
61
|
-
inline-size: calc(100% * (
|
|
63
|
+
inline-size: calc(100% * (var(--_donut-chart-ring) - var(--donut-chart-stroke, 16)) / 100);
|
|
62
64
|
place-items: center;
|
|
63
65
|
text-align: center;
|
|
64
66
|
}
|
|
@@ -128,7 +130,6 @@ font-size: 6.5cqi;
|
|
|
128
130
|
|
|
129
131
|
@media print {
|
|
130
132
|
:host {
|
|
131
|
-
box-shadow: none;
|
|
132
133
|
print-color-adjust: exact;
|
|
133
134
|
}
|
|
134
135
|
}
|
|
@@ -102,17 +102,6 @@ animation: none;
|
|
|
102
102
|
scale: -1 1;
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
[part="empty"],
|
|
106
|
-
[part="loading"] {
|
|
107
|
-
color: var(--helix-color-foreground-subtle);
|
|
108
|
-
font-family: var(--helix-font-sans);
|
|
109
|
-
font-size: var(--helix-text-sm);
|
|
110
|
-
margin: var(--helix-space-none);
|
|
111
|
-
padding-block: var(--helix-space-md);
|
|
112
|
-
padding-inline: var(--helix-space-sm);
|
|
113
|
-
text-align: center;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
105
|
:host([loading]) [part="page"] {
|
|
117
106
|
opacity: 0.5;
|
|
118
107
|
}
|
|
@@ -6,9 +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 { HelixHeadlessDrilldown } from '@fusion.dev/helix-headless/drilldown';
|
|
9
|
+
import { styles as collectionStateStyles } from '../../shared/collection/state.css.js';
|
|
9
10
|
import { styles } from './drilldown-root.css.js';
|
|
10
11
|
let HelixDrilldown = class HelixDrilldown extends HelixHeadlessDrilldown {
|
|
11
|
-
static { this.styles = styles; }
|
|
12
|
+
static { this.styles = [collectionStateStyles, styles]; }
|
|
12
13
|
};
|
|
13
14
|
HelixDrilldown = __decorate([
|
|
14
15
|
customElement('helix-drilldown')
|
|
@@ -21,13 +21,8 @@ opacity: 0;
|
|
|
21
21
|
position: absolute;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
:host {
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
[part="field"]:has([part="control"]:focus-visible) {
|
|
29
|
-
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
30
|
-
outline-offset: 0;
|
|
24
|
+
:host(:focus-within) [part="field"]:not(:focus-within) {
|
|
25
|
+
outline: none;
|
|
31
26
|
}
|
|
32
27
|
|
|
33
28
|
[part="field"][data-dropping] {
|
|
@@ -55,7 +50,7 @@ display: flex;
|
|
|
55
50
|
flex-direction: column;
|
|
56
51
|
gap: var(--helix-space-2xs);
|
|
57
52
|
list-style: none;
|
|
58
|
-
margin-block: var(--helix-space-
|
|
53
|
+
margin-block: var(--helix-space-2xs) 0;
|
|
59
54
|
padding: var(--helix-space-none);
|
|
60
55
|
}
|
|
61
56
|
|
|
@@ -154,10 +149,6 @@ color: var(--helix-color-foreground-subtle);
|
|
|
154
149
|
cursor: not-allowed;
|
|
155
150
|
}
|
|
156
151
|
|
|
157
|
-
:host(:not(:disabled)) [part="field"]:hover {
|
|
158
|
-
border-color: var(--helix-color-foreground-muted);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
152
|
@media (prefers-reduced-motion: reduce) {
|
|
162
153
|
[part="field"],
|
|
163
154
|
[part="file"],
|
|
@@ -177,17 +168,8 @@ scale: 1 1;
|
|
|
177
168
|
color: var(--helix-color-foreground-muted);
|
|
178
169
|
}
|
|
179
170
|
|
|
180
|
-
:host(:state(invalid)) [part="field"],
|
|
181
|
-
:host(:state(invalid)) [part="field"]:hover,
|
|
182
|
-
:host(:state(invalid):focus-within) [part="field"],
|
|
183
|
-
:host(:state(invalid):focus-within) [part="field"]:hover {
|
|
184
|
-
border-color: var(--helix-color-danger);
|
|
185
|
-
outline-color: var(--helix-color-danger);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
171
|
@media print {
|
|
189
172
|
:host {
|
|
190
|
-
box-shadow: none;
|
|
191
173
|
print-color-adjust: exact;
|
|
192
174
|
}
|
|
193
175
|
}`);
|
|
@@ -8,13 +8,20 @@ import { customElement } from '@fusion.dev/helix-core';
|
|
|
8
8
|
import { HelixHeadlessFileInput } from '@fusion.dev/helix-headless/file-input';
|
|
9
9
|
import '../../icon/index.js';
|
|
10
10
|
import '../../tag/index.js';
|
|
11
|
-
import { styles as glyphStyles } from '../../icon/glyph.css.js';
|
|
12
11
|
import { styles as fieldStyles } from '../../shared/field/field.css.js';
|
|
12
|
+
import { styles as fieldFrameStyles } from '../../shared/field/field-frame.css.js';
|
|
13
13
|
import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
|
|
14
|
+
import { styles as glyphStyles } from '../../shared/glyph/glyph.css.js';
|
|
14
15
|
import { styles } from './file-input-root.css.js';
|
|
15
16
|
let HelixFileInput = class HelixFileInput extends HelixHeadlessFileInput {
|
|
16
17
|
static { this.tier = 'helix-'; }
|
|
17
|
-
static { this.styles = [
|
|
18
|
+
static { this.styles = [
|
|
19
|
+
glyphStyles,
|
|
20
|
+
fieldStyles,
|
|
21
|
+
fieldFrameStyles,
|
|
22
|
+
fieldStackedStyles,
|
|
23
|
+
styles,
|
|
24
|
+
]; }
|
|
18
25
|
};
|
|
19
26
|
HelixFileInput = __decorate([
|
|
20
27
|
customElement('helix-file-input')
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
2
|
export const styles = createSheet(`:host {
|
|
3
3
|
--_filter-input-size: var(--filter-input-size, var(--helix-size-control));
|
|
4
|
-
display: flex;
|
|
5
|
-
flex-direction: column;
|
|
6
|
-
gap: var(--helix-space-2xs);
|
|
7
4
|
}
|
|
8
5
|
|
|
9
6
|
[part="field"] {
|
|
@@ -24,39 +21,13 @@ border-color var(--helix-duration-fast) var(--helix-easing-standard),
|
|
|
24
21
|
background-color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
25
22
|
}
|
|
26
23
|
|
|
27
|
-
:host(:not(:disabled)) [part="field"]:hover {
|
|
28
|
-
border-color: var(--helix-color-primary);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
:host(:focus-within) [part="field"],
|
|
32
|
-
:host(:focus-within) [part="field"]:hover {
|
|
33
|
-
border-color: var(--helix-color-primary);
|
|
34
|
-
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
35
|
-
outline-offset: 0;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
:host(:state(invalid)) [part="field"],
|
|
39
|
-
:host(:state(invalid)) [part="field"]:hover,
|
|
40
|
-
:host(:state(invalid):focus-within) [part="field"],
|
|
41
|
-
:host(:state(invalid):focus-within) [part="field"]:hover {
|
|
42
|
-
border-color: var(--helix-color-danger);
|
|
43
|
-
outline-color: var(--helix-color-danger);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
24
|
::slotted([slot="tags"]) {
|
|
47
25
|
flex: 0 0 auto;
|
|
48
26
|
max-inline-size: 100%;
|
|
49
27
|
}
|
|
50
28
|
|
|
51
29
|
[part="control"] {
|
|
52
|
-
all: unset;
|
|
53
|
-
box-sizing: border-box;
|
|
54
|
-
color: var(--helix-color-foreground);
|
|
55
30
|
flex: 1 1 var(--filter-input-control-size, 6ch);
|
|
56
|
-
font-family: var(--helix-font-sans);
|
|
57
|
-
font-size: var(--helix-text-sm);
|
|
58
|
-
font-weight: var(--helix-weight-medium);
|
|
59
|
-
min-inline-size: 0;
|
|
60
31
|
}
|
|
61
32
|
|
|
62
33
|
[part="lead"] {
|
|
@@ -122,21 +93,17 @@ opacity: 0.5;
|
|
|
122
93
|
|
|
123
94
|
@media print {
|
|
124
95
|
:host {
|
|
125
|
-
box-shadow: none;
|
|
126
96
|
print-color-adjust: exact;
|
|
127
97
|
}
|
|
128
98
|
}
|
|
129
99
|
|
|
130
100
|
[part="surface"] {
|
|
131
|
-
|
|
132
|
-
border: var(--filter-input-border-width, var(--helix-border-floating))
|
|
133
|
-
var(--filter-input-
|
|
134
|
-
|
|
135
|
-
box-shadow: var(--filter-input-shadow, var(--helix-shadow-floating));
|
|
101
|
+
--_floating-border-color: var(--filter-input-border-color, var(--helix-color-border));
|
|
102
|
+
--_floating-border-width: var(--filter-input-border-width, var(--helix-border-floating));
|
|
103
|
+
--_floating-shadow: var(--filter-input-shadow, var(--helix-shadow-floating));
|
|
104
|
+
|
|
136
105
|
box-sizing: border-box;
|
|
137
106
|
inline-size: var(--filter-input-panel-size, var(--floating-anchor-inline-size, 100%));
|
|
138
|
-
inset: auto;
|
|
139
|
-
margin: var(--helix-space-none);
|
|
140
107
|
|
|
141
108
|
max-block-size: var(--floating-available-block-size, 20rem);
|
|
142
109
|
min-inline-size: max-content;
|
|
@@ -144,49 +111,4 @@ overflow-y: auto;
|
|
|
144
111
|
padding-block: var(--helix-space-2xs);
|
|
145
112
|
padding-inline: var(--helix-space-none);
|
|
146
113
|
position: absolute;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
[part="surface"] {
|
|
150
|
-
--_travel: calc(var(--helix-space-2xs) * -1);
|
|
151
|
-
|
|
152
|
-
opacity: 0;
|
|
153
|
-
scale: 0.96;
|
|
154
|
-
transform: translateY(var(--_travel));
|
|
155
|
-
transition:
|
|
156
|
-
opacity var(--helix-duration-fast) var(--helix-easing-standard),
|
|
157
|
-
scale var(--helix-duration-fast) var(--helix-easing-emphasized),
|
|
158
|
-
transform var(--helix-duration-fast) var(--helix-easing-emphasized),
|
|
159
|
-
display var(--helix-duration-fast) allow-discrete,
|
|
160
|
-
overlay var(--helix-duration-fast) allow-discrete;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
[part="surface"][data-placement^="top"] {
|
|
164
|
-
--_travel: var(--helix-space-2xs);
|
|
165
|
-
|
|
166
|
-
transform-origin: var(--floating-arrow-x, 50%) 100%;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
[part="surface"][data-placement^="bottom"] {
|
|
170
|
-
transform-origin: var(--floating-arrow-x, 50%) 0;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
[part="surface"][data-placed] {
|
|
174
|
-
opacity: 1;
|
|
175
|
-
scale: 1;
|
|
176
|
-
transform: none;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
[part="surface"][hidden],
|
|
180
|
-
[part="surface"]:not(:popover-open) {
|
|
181
|
-
display: none;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
@media (prefers-reduced-motion: reduce) {
|
|
185
|
-
|
|
186
|
-
[part="surface"],
|
|
187
|
-
[part="surface"][data-placed] {
|
|
188
|
-
scale: 1;
|
|
189
|
-
transform: none;
|
|
190
|
-
transition: none;
|
|
191
|
-
}
|
|
192
114
|
}`);
|
|
@@ -8,17 +8,23 @@ import { customElement } from '@fusion.dev/helix-core';
|
|
|
8
8
|
import { HelixHeadlessFilterInput } from '@fusion.dev/helix-headless/filter-input';
|
|
9
9
|
import '../../icon/index.js';
|
|
10
10
|
import '../../option/index.js';
|
|
11
|
-
import { styles as glyphStyles } from '../../icon/glyph.css.js';
|
|
12
11
|
import { styles as fieldStyles } from '../../shared/field/field.css.js';
|
|
12
|
+
import { styles as fieldFrameStyles } from '../../shared/field/field-frame.css.js';
|
|
13
13
|
import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
|
|
14
|
+
import { styles as floatingEntranceStyles } from '../../shared/floating/entrance.css.js';
|
|
15
|
+
import { styles as floatingPanelStyles } from '../../shared/floating/panel.css.js';
|
|
16
|
+
import { styles as glyphStyles } from '../../shared/glyph/glyph.css.js';
|
|
14
17
|
import { styles as tagRowStyles } from '../../shared/tags/tags.css.js';
|
|
15
18
|
import { styles } from './filter-input-root.css.js';
|
|
16
19
|
let HelixFilterInput = class HelixFilterInput extends HelixHeadlessFilterInput {
|
|
17
20
|
static { this.styles = [
|
|
18
21
|
glyphStyles,
|
|
19
22
|
fieldStyles,
|
|
23
|
+
fieldFrameStyles,
|
|
20
24
|
fieldStackedStyles,
|
|
21
25
|
tagRowStyles,
|
|
26
|
+
floatingPanelStyles,
|
|
27
|
+
floatingEntranceStyles,
|
|
22
28
|
styles,
|
|
23
29
|
]; }
|
|
24
30
|
};
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
2
|
export const styles = createSheet(`:host {
|
|
3
3
|
--_input-size: var(--input-size, var(--helix-size-control));
|
|
4
|
-
display: flex;
|
|
5
|
-
flex-direction: column;
|
|
6
|
-
gap: var(--helix-space-2xs);
|
|
7
4
|
}
|
|
8
5
|
|
|
9
6
|
[part="field"] {
|
|
@@ -21,36 +18,8 @@ border-color var(--helix-duration-fast) var(--helix-easing-standard),
|
|
|
21
18
|
background-color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
22
19
|
}
|
|
23
20
|
|
|
24
|
-
:host(:not(:disabled)) [part="field"]:hover {
|
|
25
|
-
border-color: var(--helix-color-primary);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
:host(:focus-within) [part="field"],
|
|
29
|
-
:host(:focus-within) [part="field"]:hover {
|
|
30
|
-
border-color: var(--helix-color-primary);
|
|
31
|
-
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
32
|
-
outline-offset: 0;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
:host(:state(invalid)) [part="field"],
|
|
36
|
-
:host(:state(invalid)) [part="field"]:hover,
|
|
37
|
-
:host(:state(invalid):focus-within) [part="field"],
|
|
38
|
-
:host(:state(invalid):focus-within) [part="field"]:hover {
|
|
39
|
-
border-color: var(--helix-color-danger);
|
|
40
|
-
outline-color: var(--helix-color-danger);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
21
|
[part="control"] {
|
|
44
|
-
all: unset;
|
|
45
|
-
|
|
46
|
-
box-sizing: border-box;
|
|
47
22
|
block-size: 100%;
|
|
48
|
-
color: var(--helix-color-foreground);
|
|
49
|
-
flex: 1 1 auto;
|
|
50
|
-
font-family: var(--helix-font-sans);
|
|
51
|
-
font-size: var(--helix-text-sm);
|
|
52
|
-
font-weight: var(--helix-weight-medium);
|
|
53
|
-
min-inline-size: 0;
|
|
54
23
|
}
|
|
55
24
|
|
|
56
25
|
[part="control"]::-webkit-search-cancel-button {
|
|
@@ -107,7 +76,6 @@ color: var(--helix-color-foreground);
|
|
|
107
76
|
|
|
108
77
|
@media print {
|
|
109
78
|
:host {
|
|
110
|
-
box-shadow: none;
|
|
111
79
|
print-color-adjust: exact;
|
|
112
80
|
}
|
|
113
81
|
}`);
|
|
@@ -7,12 +7,19 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { customElement } from '@fusion.dev/helix-core';
|
|
8
8
|
import { HelixHeadlessInput } from '@fusion.dev/helix-headless/input';
|
|
9
9
|
import '../../icon/index.js';
|
|
10
|
-
import { styles as glyphStyles } from '../../icon/glyph.css.js';
|
|
11
10
|
import { styles as fieldStyles } from '../../shared/field/field.css.js';
|
|
11
|
+
import { styles as fieldFrameStyles } from '../../shared/field/field-frame.css.js';
|
|
12
12
|
import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
|
|
13
|
+
import { styles as glyphStyles } from '../../shared/glyph/glyph.css.js';
|
|
13
14
|
import { styles } from './input-root.css.js';
|
|
14
15
|
let HelixInput = class HelixInput extends HelixHeadlessInput {
|
|
15
|
-
static { this.styles = [
|
|
16
|
+
static { this.styles = [
|
|
17
|
+
glyphStyles,
|
|
18
|
+
fieldStyles,
|
|
19
|
+
fieldFrameStyles,
|
|
20
|
+
fieldStackedStyles,
|
|
21
|
+
styles,
|
|
22
|
+
]; }
|
|
16
23
|
};
|
|
17
24
|
HelixInput = __decorate([
|
|
18
25
|
customElement('helix-input')
|
|
@@ -76,13 +76,12 @@ color-mix(in oklab, var(--chart-series) calc(var(--_legend-through, 1) * 100%),
|
|
|
76
76
|
--_legend-through: calc(0.62 * var(--helix-material-opacity));
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
[part="entry"][data-material="frosted"],
|
|
80
79
|
:host([material="frosted"]) [part="entry"]:not([data-material]) [part="swatch"] {
|
|
81
80
|
--_legend-through: calc(0.88 * var(--helix-material-opacity));
|
|
82
81
|
}
|
|
83
82
|
|
|
84
83
|
@media print {
|
|
85
84
|
:host {
|
|
86
|
-
|
|
85
|
+
print-color-adjust: economy;
|
|
87
86
|
}
|
|
88
87
|
}`);
|
|
@@ -21,7 +21,8 @@ overflow: visible;
|
|
|
21
21
|
[part="line"] {
|
|
22
22
|
stroke-linecap: round;
|
|
23
23
|
stroke-linejoin: round;
|
|
24
|
-
|
|
24
|
+
|
|
25
|
+
stroke-width: var(--line-chart-width, var(--_chart-stroke));
|
|
25
26
|
vector-effect: non-scaling-stroke;
|
|
26
27
|
}
|
|
27
28
|
|
|
@@ -117,7 +118,6 @@ fill: var(--line-chart-band-color, var(--helix-color-surface-sunken));
|
|
|
117
118
|
|
|
118
119
|
@media print {
|
|
119
120
|
:host {
|
|
120
|
-
box-shadow: none;
|
|
121
121
|
print-color-adjust: exact;
|
|
122
122
|
}
|
|
123
123
|
}
|
|
@@ -24,12 +24,14 @@ import '../../tooltip/index.js';
|
|
|
24
24
|
* @aliases Time Series, Trend Chart, Multi-line Chart
|
|
25
25
|
* @documentation https://helix.fusion.dev/components/line-chart
|
|
26
26
|
*
|
|
27
|
+
* @cssproperty --chart-stroke - Thickness of a series drawn as a line, here and on Area
|
|
28
|
+
* Chart's top edge and Bar Chart's `lines`. Each family's own width hook overrides it.
|
|
27
29
|
* @cssproperty --line-chart-area-opacity - How much of a line's color its wash takes.
|
|
28
30
|
* @cssproperty --line-chart-band-color - The slot the pointer is resting in.
|
|
29
31
|
* @cssproperty --line-chart-block-size - Height of the drawing.
|
|
30
32
|
* @cssproperty --line-chart-gap - Space between the drawing and its labels.
|
|
31
33
|
* @cssproperty --line-chart-gridline-color - One rule across the plot, under `gridlines`.
|
|
32
|
-
* @cssproperty --line-chart-width - Thickness of a line
|
|
34
|
+
* @cssproperty --line-chart-width - Thickness of a line, over `--chart-stroke`.
|
|
33
35
|
*/
|
|
34
36
|
export declare class HelixLineChart extends HelixHeadlessLineChart {
|
|
35
37
|
/**
|
|
@@ -44,13 +44,8 @@ cursor: not-allowed;
|
|
|
44
44
|
|
|
45
45
|
[part="empty"],
|
|
46
46
|
[part="loading"] {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
font-size: var(--helix-text-sm);
|
|
50
|
-
margin: var(--helix-space-none);
|
|
51
|
-
padding-block: var(--helix-space-xs);
|
|
52
|
-
padding-inline: var(--helix-space-xs);
|
|
53
|
-
text-align: center;
|
|
47
|
+
--_collection-inset-block: var(--helix-space-xs);
|
|
48
|
+
--_collection-inset-inline: var(--helix-space-xs);
|
|
54
49
|
}
|
|
55
50
|
|
|
56
51
|
[part="filter-icon"] {
|
|
@@ -103,7 +98,6 @@ opacity: 0.5;
|
|
|
103
98
|
|
|
104
99
|
@media print {
|
|
105
100
|
:host {
|
|
106
|
-
box-shadow: none;
|
|
107
101
|
print-color-adjust: exact;
|
|
108
102
|
}
|
|
109
103
|
}`);
|
|
@@ -6,11 +6,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { customElement } from '@fusion.dev/helix-core';
|
|
8
8
|
import { HelixHeadlessListbox } from '@fusion.dev/helix-headless/listbox';
|
|
9
|
+
import { styles as collectionStateStyles } from '../../shared/collection/state.css.js';
|
|
9
10
|
import { styles as fieldStyles } from '../../shared/field/field.css.js';
|
|
10
11
|
import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
|
|
11
12
|
import { styles } from './listbox-root.css.js';
|
|
12
13
|
let HelixListbox = class HelixListbox extends HelixHeadlessListbox {
|
|
13
|
-
static { this.styles = [
|
|
14
|
+
static { this.styles = [
|
|
15
|
+
collectionStateStyles,
|
|
16
|
+
fieldStyles,
|
|
17
|
+
fieldStackedStyles,
|
|
18
|
+
styles,
|
|
19
|
+
]; }
|
|
14
20
|
};
|
|
15
21
|
HelixListbox = __decorate([
|
|
16
22
|
customElement('helix-listbox')
|