@fusion.dev/helix 0.26.0 → 0.30.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 +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
|
@@ -2,6 +2,10 @@ import { createSheet } from '@fusion.dev/helix-core';
|
|
|
2
2
|
export const styles = createSheet(`:host {
|
|
3
3
|
|
|
4
4
|
--_loader-size: var(--helix-size-loader-md);
|
|
5
|
+
|
|
6
|
+
--_loader-breathe: 2.4s;
|
|
7
|
+
--_loader-stroke: 2;
|
|
8
|
+
--_loader-turn: 0.8s;
|
|
5
9
|
color: inherit;
|
|
6
10
|
|
|
7
11
|
display: inline-grid;
|
|
@@ -19,21 +23,21 @@ vertical-align: middle;
|
|
|
19
23
|
}
|
|
20
24
|
|
|
21
25
|
[part="svg"] {
|
|
22
|
-
animation: helix-loader-turn
|
|
26
|
+
animation: helix-loader-turn var(--_loader-turn) linear infinite;
|
|
23
27
|
grid-area: 1 / 1;
|
|
24
28
|
block-size: var(--loader-size, var(--_loader-size));
|
|
25
29
|
inline-size: var(--loader-size, var(--_loader-size));
|
|
26
30
|
}
|
|
27
31
|
|
|
28
32
|
[part="track"] {
|
|
29
|
-
animation: helix-loader-breathe
|
|
33
|
+
animation: helix-loader-breathe var(--_loader-breathe) ease-in-out infinite;
|
|
30
34
|
opacity: 0.18;
|
|
31
35
|
stroke: var(--loader-track-color, currentColor);
|
|
32
|
-
stroke-width:
|
|
36
|
+
stroke-width: var(--_loader-stroke);
|
|
33
37
|
}
|
|
34
38
|
|
|
35
39
|
[part="mark"] {
|
|
36
|
-
animation: helix-loader-breathe-mark
|
|
40
|
+
animation: helix-loader-breathe-mark var(--_loader-breathe) ease-in-out infinite;
|
|
37
41
|
}
|
|
38
42
|
|
|
39
43
|
@keyframes helix-loader-breathe {
|
|
@@ -64,7 +68,7 @@ scale: 1;
|
|
|
64
68
|
stroke: var(--loader-color, currentColor);
|
|
65
69
|
stroke-dasharray: 50, 100;
|
|
66
70
|
stroke-linecap: round;
|
|
67
|
-
stroke-width:
|
|
71
|
+
stroke-width: var(--_loader-stroke);
|
|
68
72
|
}
|
|
69
73
|
|
|
70
74
|
@keyframes helix-loader-turn {
|
|
@@ -19,16 +19,11 @@ display: contents;
|
|
|
19
19
|
max-block-size: var(--menu-max-block-size, var(--floating-available-block-size, none));
|
|
20
20
|
overflow-y: auto;
|
|
21
21
|
|
|
22
|
-
background-color: var(--menu-background-color, var(--helix-color-surface-overlay));
|
|
22
|
+
--_floating-background-color: var(--menu-background-color, var(--helix-color-surface-overlay));
|
|
23
|
+
--_floating-border-color: var(--menu-border-color, var(--helix-color-border));
|
|
24
|
+
--_floating-border-width: var(--menu-border-width, var(--helix-border-floating));
|
|
25
|
+
--_floating-shadow: var(--menu-shadow, var(--helix-shadow-floating));
|
|
23
26
|
|
|
24
|
-
border: var(--menu-border-width, var(--helix-border-floating)) solid
|
|
25
|
-
var(--menu-border-color, var(--helix-color-border));
|
|
26
|
-
|
|
27
|
-
border-radius: var(--helix-radii-sm);
|
|
28
|
-
box-shadow: var(--menu-shadow, var(--helix-shadow-floating));
|
|
29
|
-
|
|
30
|
-
inset: auto;
|
|
31
|
-
margin: var(--helix-space-none);
|
|
32
27
|
min-inline-size: var(--menu-min-inline-size, 12rem);
|
|
33
28
|
|
|
34
29
|
padding-block: var(--helix-space-xs);
|
|
@@ -43,41 +38,6 @@ padding-inline: var(--helix-space-none);
|
|
|
43
38
|
--menu-item-end: calc(var(--helix-size-icon) + var(--helix-space-xs));
|
|
44
39
|
}
|
|
45
40
|
|
|
46
|
-
[part="surface"][hidden] {
|
|
47
|
-
display: none;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
[part="surface"] {
|
|
51
|
-
--_travel: calc(var(--helix-space-2xs) * -1);
|
|
52
|
-
opacity: 0;
|
|
53
|
-
transform: translateY(var(--_travel));
|
|
54
|
-
scale: 0.96;
|
|
55
|
-
transition:
|
|
56
|
-
opacity var(--helix-duration-fast) var(--helix-easing-standard),
|
|
57
|
-
scale var(--helix-duration-fast) var(--helix-easing-emphasized),
|
|
58
|
-
transform var(--helix-duration-fast) var(--helix-easing-emphasized),
|
|
59
|
-
display var(--helix-duration-fast) allow-discrete,
|
|
60
|
-
overlay var(--helix-duration-fast) allow-discrete;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
[part="surface"][data-placement^="top"] {
|
|
64
|
-
--_travel: var(--helix-space-2xs);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
[part="surface"][data-placed] {
|
|
68
|
-
opacity: 1;
|
|
69
|
-
scale: 1;
|
|
70
|
-
transform: none;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
[part="surface"][data-placement^="top"] {
|
|
74
|
-
transform-origin: var(--floating-arrow-x, 50%) 100%;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
[part="surface"][data-placement^="bottom"] {
|
|
78
|
-
transform-origin: var(--floating-arrow-x, 50%) 0;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
41
|
[part="surface"][data-placement^="left"] {
|
|
82
42
|
transform-origin: 100% var(--floating-arrow-y, 50%);
|
|
83
43
|
}
|
|
@@ -86,15 +46,6 @@ transform-origin: 100% var(--floating-arrow-y, 50%);
|
|
|
86
46
|
transform-origin: 0 var(--floating-arrow-y, 50%);
|
|
87
47
|
}
|
|
88
48
|
|
|
89
|
-
@media (prefers-reduced-motion: reduce) {
|
|
90
|
-
[part="surface"],
|
|
91
|
-
[part="surface"][data-placed] {
|
|
92
|
-
scale: 1;
|
|
93
|
-
transform: none;
|
|
94
|
-
transition: none;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
49
|
[part="header"] {
|
|
99
50
|
align-items: center;
|
|
100
51
|
border-block-end: var(--helix-border-thin) solid var(--helix-color-border);
|
|
@@ -153,17 +104,6 @@ display: none;
|
|
|
153
104
|
scale: -1 1;
|
|
154
105
|
}
|
|
155
106
|
|
|
156
|
-
[part="empty"],
|
|
157
|
-
[part="loading"] {
|
|
158
|
-
color: var(--helix-color-foreground-subtle);
|
|
159
|
-
font-family: var(--helix-font-sans);
|
|
160
|
-
font-size: var(--helix-text-sm);
|
|
161
|
-
margin: var(--helix-space-none);
|
|
162
|
-
padding-block: var(--helix-space-md);
|
|
163
|
-
padding-inline: var(--helix-space-sm);
|
|
164
|
-
text-align: center;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
107
|
:host([loading]) [part="surface"] {
|
|
168
108
|
opacity: 0.5;
|
|
169
109
|
}
|
|
@@ -6,9 +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 { HelixHeadlessMenu } from '@fusion.dev/helix-headless/menu';
|
|
9
|
+
import { styles as collectionStateStyles } from '../../shared/collection/state.css.js';
|
|
10
|
+
import { styles as floatingEntranceStyles } from '../../shared/floating/entrance.css.js';
|
|
11
|
+
import { styles as floatingPanelStyles } from '../../shared/floating/panel.css.js';
|
|
9
12
|
import { styles } from './menu-root.css.js';
|
|
10
13
|
let HelixMenu = class HelixMenu extends HelixHeadlessMenu {
|
|
11
|
-
static { this.styles =
|
|
14
|
+
static { this.styles = [
|
|
15
|
+
collectionStateStyles,
|
|
16
|
+
floatingPanelStyles,
|
|
17
|
+
floatingEntranceStyles,
|
|
18
|
+
styles,
|
|
19
|
+
]; }
|
|
12
20
|
};
|
|
13
21
|
HelixMenu = __decorate([
|
|
14
22
|
customElement('helix-menu')
|
|
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { customElement } from '@fusion.dev/helix-core';
|
|
8
8
|
import { HelixHeadlessNotification } from '@fusion.dev/helix-headless/notifications';
|
|
9
9
|
import { property } from 'lit/decorators.js';
|
|
10
|
-
import { styles as glyphStyles } from '../../
|
|
10
|
+
import { styles as glyphStyles } from '../../shared/glyph/glyph.css.js';
|
|
11
11
|
import { styles } from './notification.css.js';
|
|
12
12
|
import '../../format-date/index.js';
|
|
13
13
|
let HelixNotification = class HelixNotification extends HelixHeadlessNotification {
|
|
@@ -78,13 +78,8 @@ outline-offset: var(--helix-size-focus-offset);
|
|
|
78
78
|
|
|
79
79
|
[part="empty"],
|
|
80
80
|
[part="loading"] {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
font-size: var(--helix-text-sm);
|
|
84
|
-
margin: var(--helix-space-none);
|
|
85
|
-
padding-block: var(--helix-space-lg);
|
|
86
|
-
padding-inline: var(--helix-space-md);
|
|
87
|
-
text-align: center;
|
|
81
|
+
--_collection-inset-block: var(--helix-space-lg);
|
|
82
|
+
--_collection-inset-inline: var(--helix-space-md);
|
|
88
83
|
}
|
|
89
84
|
|
|
90
85
|
@media print {
|
|
@@ -6,11 +6,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { customElement } from '@fusion.dev/helix-core';
|
|
8
8
|
import { HelixHeadlessNotifications } from '@fusion.dev/helix-headless/notifications';
|
|
9
|
+
import { styles as collectionStateStyles } from '../../shared/collection/state.css.js';
|
|
9
10
|
import { styles } from './notifications-root.css.js';
|
|
10
11
|
import '../notification/notification.js';
|
|
11
12
|
let HelixNotifications = class HelixNotifications extends HelixHeadlessNotifications {
|
|
12
13
|
static { this.tier = 'helix-'; }
|
|
13
|
-
static { this.styles = styles; }
|
|
14
|
+
static { this.styles = [collectionStateStyles, styles]; }
|
|
14
15
|
};
|
|
15
16
|
HelixNotifications = __decorate([
|
|
16
17
|
customElement('helix-notifications')
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(
|
|
3
|
-
display: flex;
|
|
4
|
-
flex-direction: column;
|
|
5
|
-
gap: var(--helix-space-2xs);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
[part="field"] {
|
|
2
|
+
export const styles = createSheet(`[part="field"] {
|
|
9
3
|
align-items: center;
|
|
10
|
-
background-color: var(--helix-color-well);
|
|
4
|
+
background-color: var(--number-input-background-color, var(--helix-color-well));
|
|
11
5
|
block-size: var(--helix-size-control);
|
|
12
6
|
border: var(--helix-border-thin) solid var(--helix-color-border);
|
|
13
7
|
border-radius: var(--helix-radii-sm);
|
|
@@ -18,27 +12,6 @@ overflow: hidden;
|
|
|
18
12
|
transition: border-color var(--helix-duration-fast) var(--helix-easing-standard);
|
|
19
13
|
}
|
|
20
14
|
|
|
21
|
-
:host(:not(:disabled)) [part="field"]:hover {
|
|
22
|
-
border-color: var(--helix-color-foreground-muted);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
:host(:not(:disabled)) [part="field"]:focus-within {
|
|
26
|
-
border-color: var(--helix-color-primary);
|
|
27
|
-
outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
|
|
28
|
-
outline-offset: 0;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
:host(:state(invalid)) [part="field"],
|
|
32
|
-
:host(:state(invalid)) [part="field"]:hover,
|
|
33
|
-
:host(:state(invalid):focus-within) [part="field"],
|
|
34
|
-
:host(:state(invalid):focus-within) [part="field"]:hover {
|
|
35
|
-
border-color: var(--helix-color-danger);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
:host(:state(invalid):focus-within) [part="field"] {
|
|
39
|
-
outline-color: var(--helix-color-danger);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
15
|
:host(:disabled) [part="field"] {
|
|
43
16
|
cursor: not-allowed;
|
|
44
17
|
opacity: 0.5;
|
|
@@ -49,16 +22,6 @@ background-color: transparent;
|
|
|
49
22
|
}
|
|
50
23
|
|
|
51
24
|
[part="control"] {
|
|
52
|
-
all: unset;
|
|
53
|
-
|
|
54
|
-
box-sizing: border-box;
|
|
55
|
-
color: var(--helix-color-foreground);
|
|
56
|
-
font-family: var(--helix-font-sans);
|
|
57
|
-
font-size: var(--helix-text-sm);
|
|
58
|
-
font-weight: var(--helix-weight-medium);
|
|
59
|
-
inline-size: 100%;
|
|
60
|
-
min-inline-size: 0;
|
|
61
|
-
|
|
62
25
|
font-variant-numeric: tabular-nums;
|
|
63
26
|
padding-inline: var(--helix-space-xs);
|
|
64
27
|
text-align: center;
|
|
@@ -134,7 +97,6 @@ cursor: default;
|
|
|
134
97
|
|
|
135
98
|
@media print {
|
|
136
99
|
:host {
|
|
137
|
-
box-shadow: none;
|
|
138
100
|
print-color-adjust: exact;
|
|
139
101
|
}
|
|
140
102
|
}`);
|
|
@@ -30,6 +30,8 @@ import type { CSSResultGroup } from 'lit';
|
|
|
30
30
|
* @csspart decrement - The control that steps down.
|
|
31
31
|
* @csspart field - The box holding everything.
|
|
32
32
|
* @csspart increment - The control that steps up.
|
|
33
|
+
*
|
|
34
|
+
* @cssproperty --number-input-background-color - Fill behind the number.
|
|
33
35
|
*/
|
|
34
36
|
export declare class HelixNumberInput extends HelixHeadlessNumberInput {
|
|
35
37
|
static styles: CSSResultGroup;
|
|
@@ -7,10 +7,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { customElement } from '@fusion.dev/helix-core';
|
|
8
8
|
import { HelixHeadlessNumberInput } from '@fusion.dev/helix-headless/number-input';
|
|
9
9
|
import { styles as fieldStyles } from '../../shared/field/field.css.js';
|
|
10
|
+
import { styles as fieldFrameStyles } from '../../shared/field/field-frame.css.js';
|
|
10
11
|
import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
|
|
11
12
|
import { styles } from './number-input-root.css.js';
|
|
12
13
|
let HelixNumberInput = class HelixNumberInput extends HelixHeadlessNumberInput {
|
|
13
|
-
static { this.styles = [
|
|
14
|
+
static { this.styles = [
|
|
15
|
+
fieldStyles,
|
|
16
|
+
fieldFrameStyles,
|
|
17
|
+
fieldStackedStyles,
|
|
18
|
+
styles,
|
|
19
|
+
]; }
|
|
14
20
|
};
|
|
15
21
|
HelixNumberInput = __decorate([
|
|
16
22
|
customElement('helix-number-input')
|
package/dist/orb/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './root/orb-root.js';
|
|
2
|
-
export * from './
|
|
2
|
+
export * from './shapes.js';
|
package/dist/orb/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './root/orb-root.js';
|
|
2
|
-
export * from './
|
|
2
|
+
export * from './shapes.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HelixElement } from '@fusion.dev/helix-core';
|
|
2
2
|
import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
|
|
3
|
-
import { type OrbState } from '
|
|
3
|
+
import { type OrbState } from '../shapes.js';
|
|
4
4
|
/**
|
|
5
5
|
* @summary Says what an agent is doing, as a shape rather than a word.
|
|
6
6
|
*
|
|
@@ -37,6 +37,10 @@ import { type OrbState } from './orb-shapes.js';
|
|
|
37
37
|
* **It stops when nobody is looking**, off screen and in a background tab, and
|
|
38
38
|
* `prefers-reduced-motion` gets one still frame rather than an empty box.
|
|
39
39
|
*
|
|
40
|
+
* Styled only, and with behavior, which the tier split does not otherwise
|
|
41
|
+
* allow: the behavior is drawing dots to a canvas, so there is no structure a
|
|
42
|
+
* consumer could restyle and nothing for a headless twin to hold.
|
|
43
|
+
*
|
|
40
44
|
* @since 0.8.0
|
|
41
45
|
* @status experimental
|
|
42
46
|
* @category feedback
|
|
@@ -7,9 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { customElement, HelixElement, hostAria } from '@fusion.dev/helix-core';
|
|
8
8
|
import { html } from 'lit';
|
|
9
9
|
import { property } from 'lit/decorators.js';
|
|
10
|
-
import { readColor } from '
|
|
10
|
+
import { readColor } from '../color.js';
|
|
11
|
+
import { blendStaged, evenSphere, fibonacci, meshFor, ORB_STATES, orbPoint, paramsFor, project, smoother, stateDistance, TRAIL, } from '../shapes.js';
|
|
11
12
|
import { styles } from './orb-root.css.js';
|
|
12
|
-
import { blendStaged, evenSphere, fibonacci, meshFor, ORB_STATES, orbPoint, paramsFor, project, smoother, stateDistance, TRAIL, } from './orb-shapes.js';
|
|
13
13
|
const MORPH_NEAR = 380;
|
|
14
14
|
const MORPH_REACH = 580;
|
|
15
15
|
const LIGHT_Y = 0.36;
|
|
@@ -68,7 +68,7 @@ let HelixOrb = class HelixOrb extends HelixElement {
|
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
|
-
static { this.styles =
|
|
71
|
+
static { this.styles = styles; }
|
|
72
72
|
willUpdate(changed) {
|
|
73
73
|
super.willUpdate(changed);
|
|
74
74
|
const state = ORB_STATES.includes(this.state)
|
|
@@ -123,6 +123,9 @@ display: none;
|
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
:host([variant="chip"]) [part="item"] {
|
|
126
|
+
|
|
127
|
+
--_radio-chip-lift: 2px;
|
|
128
|
+
|
|
126
129
|
align-items: center;
|
|
127
130
|
background-color: var(--helix-color-surface-sunken);
|
|
128
131
|
block-size: var(--radio-chip-size, var(--helix-size-control));
|
|
@@ -143,11 +146,11 @@ translate var(--helix-duration-fast) var(--helix-easing-standard);
|
|
|
143
146
|
background-color: var(--helix-color-surface-inverse);
|
|
144
147
|
box-shadow: var(--helix-shadow-md);
|
|
145
148
|
color: var(--helix-color-foreground-inverse);
|
|
146
|
-
translate: 0 -
|
|
149
|
+
translate: 0 calc(var(--_radio-chip-lift) * -1);
|
|
147
150
|
}
|
|
148
151
|
|
|
149
152
|
:host(:not([disabled])[variant="chip"]) [part="item"]:hover {
|
|
150
|
-
translate: 0 -
|
|
153
|
+
translate: 0 calc(var(--_radio-chip-lift) / -2);
|
|
151
154
|
}
|
|
152
155
|
|
|
153
156
|
:host([variant="chip"]) [part="item"]:focus-visible {
|
|
@@ -76,66 +76,18 @@ white-space: nowrap;
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
[part="surface"] {
|
|
79
|
+
--_floating-border-color: var(--select-border-color, var(--helix-color-border));
|
|
80
|
+
--_floating-border-width: var(--select-border-width, var(--helix-border-floating));
|
|
81
|
+
--_floating-shadow: var(--select-shadow, var(--helix-shadow-floating));
|
|
79
82
|
|
|
80
83
|
--option-radius: var(--helix-radii-none);
|
|
81
84
|
|
|
82
|
-
background-color: var(--helix-color-surface-overlay);
|
|
83
|
-
border-radius: var(--helix-radii-sm);
|
|
84
|
-
box-shadow: var(--select-shadow, var(--helix-shadow-floating));
|
|
85
|
-
|
|
86
85
|
inline-size: var(--floating-anchor-inline-size, 100%);
|
|
87
86
|
min-inline-size: max-content;
|
|
88
87
|
|
|
89
88
|
max-block-size: var(--floating-available-block-size, none);
|
|
90
89
|
padding-block: var(--helix-space-xs);
|
|
91
90
|
padding-inline: var(--helix-space-none);
|
|
92
|
-
|
|
93
|
-
border: var(--select-border-width, var(--helix-border-floating)) solid
|
|
94
|
-
var(--select-border-color, var(--helix-color-border));
|
|
95
|
-
inset: auto;
|
|
96
|
-
margin: var(--helix-space-none);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
[part="surface"] {
|
|
100
|
-
--_travel: calc(var(--helix-space-2xs) * -1);
|
|
101
|
-
opacity: 0;
|
|
102
|
-
transform: translateY(var(--_travel));
|
|
103
|
-
|
|
104
|
-
scale: 0.96;
|
|
105
|
-
|
|
106
|
-
transition:
|
|
107
|
-
opacity var(--helix-duration-fast) var(--helix-easing-standard),
|
|
108
|
-
scale var(--helix-duration-fast) var(--helix-easing-emphasized),
|
|
109
|
-
transform var(--helix-duration-fast) var(--helix-easing-emphasized),
|
|
110
|
-
display var(--helix-duration-fast) allow-discrete,
|
|
111
|
-
overlay var(--helix-duration-fast) allow-discrete;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
[part="surface"][data-placement^="top"] {
|
|
115
|
-
--_travel: var(--helix-space-2xs);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
[part="surface"][data-placed] {
|
|
119
|
-
opacity: 1;
|
|
120
|
-
scale: 1;
|
|
121
|
-
transform: none;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
[part="surface"][data-placement^="top"] {
|
|
125
|
-
transform-origin: var(--floating-arrow-x, 50%) 100%;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
[part="surface"][data-placement^="bottom"] {
|
|
129
|
-
transform-origin: var(--floating-arrow-x, 50%) 0;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
@media (prefers-reduced-motion: reduce) {
|
|
133
|
-
[part="surface"],
|
|
134
|
-
[part="surface"][data-placed] {
|
|
135
|
-
scale: 1;
|
|
136
|
-
transform: none;
|
|
137
|
-
transition: none;
|
|
138
|
-
}
|
|
139
91
|
}
|
|
140
92
|
|
|
141
93
|
[part="indicator"],
|
|
@@ -148,11 +100,6 @@ transition: scale var(--helix-duration-fast) var(--helix-easing-standard);
|
|
|
148
100
|
scale: 1 -1;
|
|
149
101
|
}
|
|
150
102
|
|
|
151
|
-
[part="surface"][hidden],
|
|
152
|
-
[part="surface"]:not(:popover-open) {
|
|
153
|
-
display: none;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
103
|
[part="listbox"]::part(items) {
|
|
157
104
|
background-color: transparent;
|
|
158
105
|
border: none;
|
|
@@ -174,7 +121,6 @@ inline-size: var(--helix-size-icon-tight);
|
|
|
174
121
|
|
|
175
122
|
@media print {
|
|
176
123
|
:host {
|
|
177
|
-
box-shadow: none;
|
|
178
124
|
print-color-adjust: exact;
|
|
179
125
|
}
|
|
180
126
|
}`);
|
|
@@ -9,12 +9,20 @@ import { HelixHeadlessSelect } from '@fusion.dev/helix-headless/select';
|
|
|
9
9
|
import { property } from 'lit/decorators.js';
|
|
10
10
|
import { styles as fieldStyles } from '../../shared/field/field.css.js';
|
|
11
11
|
import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
|
|
12
|
+
import { styles as floatingEntranceStyles } from '../../shared/floating/entrance.css.js';
|
|
13
|
+
import { styles as floatingPanelStyles } from '../../shared/floating/panel.css.js';
|
|
12
14
|
import { styles } from './select-root.css.js';
|
|
13
15
|
import '../../listbox/index.js';
|
|
14
16
|
import '../../option/index.js';
|
|
15
17
|
let HelixSelect = class HelixSelect extends HelixHeadlessSelect {
|
|
16
18
|
static { this.tier = 'helix-'; }
|
|
17
|
-
static { this.styles = [
|
|
19
|
+
static { this.styles = [
|
|
20
|
+
fieldStyles,
|
|
21
|
+
fieldStackedStyles,
|
|
22
|
+
floatingPanelStyles,
|
|
23
|
+
floatingEntranceStyles,
|
|
24
|
+
styles,
|
|
25
|
+
]; }
|
|
18
26
|
};
|
|
19
27
|
__decorate([
|
|
20
28
|
property({ reflect: true })
|
|
@@ -26,9 +26,12 @@ export const styles = createSheet(`:host {
|
|
|
26
26
|
--chart-series-24: var(--helix-color-series-24);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
:host {
|
|
30
|
+
--_chart-stroke: var(--chart-stroke, 2px);
|
|
31
|
+
}
|
|
32
|
+
|
|
29
33
|
@media print {
|
|
30
34
|
:host {
|
|
31
|
-
box-shadow: none;
|
|
32
35
|
print-color-adjust: exact;
|
|
33
36
|
}
|
|
34
37
|
}`);
|