@xsynaptic/sonic-ui 0.18.0 → 0.20.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/CHANGELOG.md +31 -0
- package/README.md +20 -9
- package/dist/default/elements/button.js +0 -5
- package/dist/default/elements/dial.js +0 -7
- package/dist/default/elements/display-element.js +0 -5
- package/dist/default/elements/envelope.js +0 -6
- package/dist/default/elements/meter.js +0 -1
- package/dist/default/elements/number.js +0 -7
- package/dist/default/elements/segmented.js +0 -5
- package/dist/default/elements/slider.js +0 -7
- package/dist/default/elements/sonic-element.js +3 -1
- package/dist/default/elements/switch.js +0 -1
- package/dist/default/elements/toggle.js +0 -5
- package/dist/default/elements/value-element.js +8 -4
- package/dist/default/elements/wave-element.js +7 -8
- package/dist/default/elements/xy.js +0 -7
- package/dist/default/index.js +2 -1
- package/dist/default/lib/canvas-surface.js +5 -1
- package/dist/default/lib/clock.js +23 -0
- package/dist/default/lib/spoken-duration.js +30 -0
- package/dist/default/lib/waveform-buckets.js +7 -1
- package/dist/dev/elements/button.js +5 -5
- package/dist/dev/elements/button.js.map +1 -1
- package/dist/dev/elements/dial.js +4 -7
- package/dist/dev/elements/dial.js.map +1 -1
- package/dist/dev/elements/display-element.js +1 -5
- package/dist/dev/elements/display-element.js.map +1 -1
- package/dist/dev/elements/envelope.js +4 -6
- package/dist/dev/elements/envelope.js.map +1 -1
- package/dist/dev/elements/meter.js +1 -1
- package/dist/dev/elements/meter.js.map +1 -1
- package/dist/dev/elements/number.js +4 -7
- package/dist/dev/elements/number.js.map +1 -1
- package/dist/dev/elements/segmented.js +5 -5
- package/dist/dev/elements/segmented.js.map +1 -1
- package/dist/dev/elements/slider.js +4 -7
- package/dist/dev/elements/slider.js.map +1 -1
- package/dist/dev/elements/sonic-element.d.ts +6 -16
- package/dist/dev/elements/sonic-element.js +54 -29
- package/dist/dev/elements/sonic-element.js.map +1 -1
- package/dist/dev/elements/split.js.map +1 -1
- package/dist/dev/elements/switch.js +4 -1
- package/dist/dev/elements/switch.js.map +1 -1
- package/dist/dev/elements/toggle.js +5 -5
- package/dist/dev/elements/toggle.js.map +1 -1
- package/dist/dev/elements/value-element.d.ts +6 -0
- package/dist/dev/elements/value-element.js +8 -4
- package/dist/dev/elements/value-element.js.map +1 -1
- package/dist/dev/elements/wave-element.d.ts +2 -1
- package/dist/dev/elements/wave-element.js +11 -8
- package/dist/dev/elements/wave-element.js.map +1 -1
- package/dist/dev/elements/waveform.d.ts +1 -1
- package/dist/dev/elements/xy.js +4 -7
- package/dist/dev/elements/xy.js.map +1 -1
- package/dist/dev/index.d.ts +3 -2
- package/dist/dev/index.js +2 -1
- package/dist/dev/lib/canvas-surface.js +5 -1
- package/dist/dev/lib/canvas-surface.js.map +1 -1
- package/dist/dev/lib/clock.d.ts +5 -0
- package/dist/dev/lib/clock.js +24 -0
- package/dist/dev/lib/clock.js.map +1 -0
- package/dist/dev/lib/mirror-children.js.map +1 -1
- package/dist/dev/lib/owned-control.js.map +1 -1
- package/dist/dev/lib/spoken-duration.js +31 -0
- package/dist/dev/lib/spoken-duration.js.map +1 -0
- package/dist/dev/lib/waveform-buckets.d.ts +2 -2
- package/dist/dev/lib/waveform-buckets.js +7 -1
- package/dist/dev/lib/waveform-buckets.js.map +1 -1
- package/dist/styles/button.css +29 -5
- package/dist/styles/dial.css +10 -9
- package/dist/styles/envelope.css +17 -10
- package/dist/styles/led.css +5 -1
- package/dist/styles/material/arc.css +3 -2
- package/dist/styles/material/bracket.css +3 -3
- package/dist/styles/material/cap.css +38 -13
- package/dist/styles/material/core.css +4 -0
- package/dist/styles/material/glass.css +1 -6
- package/dist/styles/material/groove.css +4 -3
- package/dist/styles/material/keycap.css +3 -2
- package/dist/styles/material/lens.css +1 -1
- package/dist/styles/material/pane.css +7 -13
- package/dist/styles/material/readout.css +6 -6
- package/dist/styles/material/well.css +3 -14
- package/dist/styles/meter.css +2 -7
- package/dist/styles/number.css +5 -1
- package/dist/styles/panel.css +4 -3
- package/dist/styles/ring.css +1 -1
- package/dist/styles/screen.css +6 -4
- package/dist/styles/segmented.css +17 -4
- package/dist/styles/slider.css +9 -3
- package/dist/styles/spectrum.css +8 -9
- package/dist/styles/switch.css +35 -10
- package/dist/styles/toggle.css +14 -7
- package/dist/styles/waveform.css +17 -18
- package/dist/styles/wavestrip.css +12 -25
- package/dist/styles/xy.css +46 -25
- package/package.json +1 -6
- package/dist/default/dat.js +0 -52
- package/dist/dev/dat.d.ts +0 -20
- package/dist/dev/dat.js +0 -53
- package/dist/dev/dat.js.map +0 -1
package/dist/styles/envelope.css
CHANGED
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
.sonic-envelope {
|
|
27
|
-
--_sonic-envelope-radius-ratio: var(--sonic-envelope-radius-ratio, 0.08);
|
|
28
27
|
--_sonic-envelope-inset-ratio: var(--sonic-envelope-inset-ratio, 0.1);
|
|
29
28
|
--_sonic-envelope-handle-ratio: var(--sonic-envelope-handle-ratio, 0.14);
|
|
30
29
|
--_sonic-envelope-handle-stroke-ratio: var(--sonic-envelope-handle-stroke-ratio, 0.025);
|
|
@@ -32,12 +31,16 @@
|
|
|
32
31
|
--_sonic-envelope-curve-ratio: var(--sonic-envelope-curve-ratio, 0.08);
|
|
33
32
|
--_sonic-unit: calc(var(--_sonic-envelope-size) / 64);
|
|
34
33
|
--_sonic-envelope-inset: calc(var(--_sonic-envelope-size) * var(--_sonic-envelope-inset-ratio));
|
|
35
|
-
--_sonic-glass-radius: calc(var(--_sonic-envelope-size) * var(--_sonic-envelope-radius-ratio));
|
|
36
34
|
|
|
35
|
+
/* fallow-ignore-next-line code-duplication -- a plain box restated, since sheets never import each other */
|
|
36
|
+
position: relative;
|
|
37
|
+
display: grid;
|
|
38
|
+
flex-shrink: 0;
|
|
39
|
+
grid-template: minmax(0, 1fr) / minmax(0, 1fr);
|
|
37
40
|
inline-size: calc(var(--_sonic-envelope-size) * var(--_sonic-envelope-aspect-ratio));
|
|
38
41
|
block-size: var(--_sonic-envelope-size);
|
|
39
42
|
container-type: size;
|
|
40
|
-
|
|
43
|
+
user-select: none;
|
|
41
44
|
isolation: isolate;
|
|
42
45
|
}
|
|
43
46
|
|
|
@@ -62,7 +65,6 @@
|
|
|
62
65
|
inset: 0;
|
|
63
66
|
overflow: clip;
|
|
64
67
|
pointer-events: none;
|
|
65
|
-
border-radius: inherit;
|
|
66
68
|
|
|
67
69
|
&[data-sonic-part='curve'] {
|
|
68
70
|
--_sonic-point-size: calc(
|
|
@@ -124,9 +126,9 @@
|
|
|
124
126
|
var(--_sonic-point-halo),
|
|
125
127
|
var(--_sonic-focus-shadow, 0 0 transparent);
|
|
126
128
|
transition:
|
|
127
|
-
background-color
|
|
128
|
-
border-color
|
|
129
|
-
box-shadow
|
|
129
|
+
background-color var(--_sonic-fade-duration) ease-out,
|
|
130
|
+
border-color var(--_sonic-fade-duration) ease-out,
|
|
131
|
+
box-shadow var(--_sonic-fade-duration) ease-out;
|
|
130
132
|
}
|
|
131
133
|
|
|
132
134
|
.sonic-envelope-handle {
|
|
@@ -155,7 +157,7 @@
|
|
|
155
157
|
|
|
156
158
|
:is(.sonic-envelope-curve, .sonic-envelope-handle)[data-sonic-disabled] {
|
|
157
159
|
--_sonic-point-ring: var(--_sonic-unlit);
|
|
158
|
-
--_sonic-point-core: var(--_sonic-
|
|
160
|
+
--_sonic-point-core: var(--_sonic-point-ring);
|
|
159
161
|
|
|
160
162
|
cursor: default;
|
|
161
163
|
}
|
|
@@ -169,7 +171,7 @@
|
|
|
169
171
|
|
|
170
172
|
:is(.sonic-envelope-curve, .sonic-envelope-handle):not([data-sonic-disabled]):active {
|
|
171
173
|
--_sonic-point-ring: var(--_sonic-lit);
|
|
172
|
-
--_sonic-point-core: var(--_sonic-
|
|
174
|
+
--_sonic-point-core: var(--_sonic-point-ring);
|
|
173
175
|
--_sonic-point-halo: color-mix(
|
|
174
176
|
in oklab,
|
|
175
177
|
var(--_sonic-lit) calc(50% * var(--_sonic-relief)),
|
|
@@ -181,7 +183,6 @@
|
|
|
181
183
|
.sonic-envelope {
|
|
182
184
|
--_sonic-lit: Highlight;
|
|
183
185
|
--_sonic-unlit: GrayText;
|
|
184
|
-
--_sonic-glass: Canvas;
|
|
185
186
|
}
|
|
186
187
|
|
|
187
188
|
.sonic-envelope-graph {
|
|
@@ -199,6 +200,12 @@
|
|
|
199
200
|
--_sonic-point-core: Canvas;
|
|
200
201
|
}
|
|
201
202
|
|
|
203
|
+
/* Spelt as the rules above are, to outrank them */
|
|
204
|
+
:is(.sonic-envelope-curve, .sonic-envelope-handle)[data-sonic-disabled],
|
|
205
|
+
:is(.sonic-envelope-curve, .sonic-envelope-handle):not([data-sonic-disabled]):active {
|
|
206
|
+
--_sonic-point-core: Canvas;
|
|
207
|
+
}
|
|
208
|
+
|
|
202
209
|
.sonic-envelope-fill {
|
|
203
210
|
fill: none;
|
|
204
211
|
}
|
package/dist/styles/led.css
CHANGED
|
@@ -117,7 +117,11 @@
|
|
|
117
117
|
&::after {
|
|
118
118
|
background: radial-gradient(
|
|
119
119
|
closest-side,
|
|
120
|
-
color-mix(
|
|
120
|
+
color-mix(
|
|
121
|
+
in oklab,
|
|
122
|
+
var(--_sonic-lit) calc(100% - 45% * var(--_sonic-relief)),
|
|
123
|
+
var(--_sonic-shine)
|
|
124
|
+
),
|
|
121
125
|
var(--_sonic-lit)
|
|
122
126
|
);
|
|
123
127
|
}
|
|
@@ -13,9 +13,10 @@
|
|
|
13
13
|
);
|
|
14
14
|
--_sonic-arc-shade: radial-gradient(
|
|
15
15
|
closest-side,
|
|
16
|
-
rgb(
|
|
16
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.55 * var(--_sonic-relief)))
|
|
17
|
+
calc(100% - var(--_sonic-arc-width)),
|
|
17
18
|
transparent calc(100% - var(--_sonic-arc-width) * 0.4),
|
|
18
|
-
rgb(
|
|
19
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.25 * var(--_sonic-relief))) 100%
|
|
19
20
|
);
|
|
20
21
|
}
|
|
21
22
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
pointer-events: none;
|
|
8
8
|
content: '';
|
|
9
9
|
border: max(1px, 0.06 * var(--_sonic-bracket-size)) solid
|
|
10
|
-
color-mix(in oklab,
|
|
10
|
+
color-mix(in oklab, currentcolor 45%, transparent);
|
|
11
11
|
border-radius: 50%;
|
|
12
12
|
opacity: 0;
|
|
13
13
|
mask: conic-gradient(
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
);
|
|
20
20
|
scale: 0.6;
|
|
21
21
|
transition:
|
|
22
|
-
opacity
|
|
23
|
-
scale
|
|
22
|
+
opacity var(--_sonic-fade-duration) ease-out,
|
|
23
|
+
scale var(--_sonic-fade-duration) ease-out;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
:state(dragging) > * > .sonic-xy-bracket,
|
|
@@ -23,45 +23,70 @@
|
|
|
23
23
|
--_sonic-lit-disabled: color-mix(in oklab, var(--_sonic-ink) 25%, var(--_sonic-unlit));
|
|
24
24
|
--_sonic-skirt: linear-gradient(
|
|
25
25
|
var(--_sonic-light-fall),
|
|
26
|
-
color-mix(
|
|
27
|
-
|
|
26
|
+
color-mix(
|
|
27
|
+
in oklab,
|
|
28
|
+
var(--_sonic-cap) calc(100% - 30% * var(--_sonic-relief)),
|
|
29
|
+
var(--_sonic-shine)
|
|
30
|
+
),
|
|
31
|
+
color-mix(
|
|
32
|
+
in oklab,
|
|
33
|
+
var(--_sonic-cap) calc(100% - 45% * var(--_sonic-relief)),
|
|
34
|
+
var(--_sonic-shade)
|
|
35
|
+
)
|
|
28
36
|
);
|
|
29
37
|
--_sonic-face: linear-gradient(
|
|
30
38
|
var(--_sonic-light-fall),
|
|
31
|
-
color-mix(
|
|
32
|
-
|
|
39
|
+
color-mix(
|
|
40
|
+
in oklab,
|
|
41
|
+
var(--_sonic-cap) calc(100% - 15% * var(--_sonic-relief)),
|
|
42
|
+
var(--_sonic-shade)
|
|
43
|
+
),
|
|
44
|
+
color-mix(
|
|
45
|
+
in oklab,
|
|
46
|
+
var(--_sonic-cap) calc(100% - 10% * var(--_sonic-relief)),
|
|
47
|
+
var(--_sonic-shine)
|
|
48
|
+
)
|
|
33
49
|
);
|
|
34
50
|
--_sonic-sheen: linear-gradient(
|
|
35
51
|
105deg,
|
|
36
52
|
transparent 20%,
|
|
37
|
-
rgb(
|
|
53
|
+
rgb(from var(--_sonic-shine) r g b / calc(0.1 * var(--_sonic-relief))) 45%,
|
|
38
54
|
transparent 55%,
|
|
39
|
-
rgb(
|
|
55
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.06 * var(--_sonic-relief))) 80%
|
|
40
56
|
);
|
|
41
57
|
--_sonic-press-transition:
|
|
42
|
-
scale
|
|
43
|
-
|
|
58
|
+
scale var(--_sonic-press-duration) cubic-bezier(0.4, 0, 0.2, 1),
|
|
59
|
+
translate var(--_sonic-press-duration) cubic-bezier(0.4, 0, 0.2, 1),
|
|
60
|
+
box-shadow var(--_sonic-press-duration) cubic-bezier(0.4, 0, 0.2, 1);
|
|
44
61
|
--_sonic-face-shadow:
|
|
45
62
|
inset var(--_sonic-cast-x) var(--_sonic-cast-y) calc(1.5 * var(--_sonic-unit))
|
|
46
|
-
rgb(
|
|
63
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.35 * var(--_sonic-relief))),
|
|
47
64
|
calc(0.5 * var(--_sonic-cast-x)) calc(0.5 * var(--_sonic-cast-y)) var(--_sonic-unit)
|
|
48
|
-
rgb(
|
|
65
|
+
rgb(from var(--_sonic-shine) r g b / calc(0.12 * var(--_sonic-relief)));
|
|
49
66
|
--_sonic-rim-width: max(1px, round(0.75 * var(--_sonic-unit), var(--_sonic-snap)));
|
|
50
67
|
--_sonic-rim: 0 0 0 var(--_sonic-rim-width)
|
|
51
68
|
var(
|
|
52
69
|
--sonic-cap-edge,
|
|
53
|
-
color-mix(
|
|
70
|
+
color-mix(
|
|
71
|
+
in oklab,
|
|
72
|
+
var(--_sonic-cap) calc(100% - 60% * var(--_sonic-relief)),
|
|
73
|
+
var(--_sonic-shade)
|
|
74
|
+
)
|
|
54
75
|
);
|
|
55
|
-
--_sonic-drop-shade: rgb(
|
|
76
|
+
--_sonic-drop-shade: rgb(from var(--_sonic-shade) r g b / calc(0.65 * var(--_sonic-relief)));
|
|
56
77
|
--_sonic-focus-shadow: 0 0 transparent;
|
|
57
78
|
--_sonic-focus-glow: 0 0 max(4px, 3 * var(--_sonic-unit)) max(1px, 0.5 * var(--_sonic-unit))
|
|
58
79
|
color-mix(in oklab, var(--_sonic-focus) calc(60% * var(--_sonic-focus-strength)), transparent);
|
|
59
80
|
}
|
|
60
81
|
|
|
61
|
-
|
|
82
|
+
.sonic-number {
|
|
62
83
|
--_sonic-ink: var(--_sonic-glass-text);
|
|
63
84
|
}
|
|
64
85
|
|
|
86
|
+
:is(.sonic-waveform, .sonic-wavestrip, .sonic-xy) {
|
|
87
|
+
--_sonic-ink: currentcolor;
|
|
88
|
+
}
|
|
89
|
+
|
|
65
90
|
:is(.sonic-dial, .sonic-slider, .sonic-waveform, .sonic-wavestrip) {
|
|
66
91
|
--_sonic-lit-off: var(
|
|
67
92
|
--sonic-dimmed,
|
|
@@ -32,6 +32,10 @@
|
|
|
32
32
|
) {
|
|
33
33
|
--_sonic-unlit: var(--sonic-unlit, oklch(27.4% 0.005 286deg));
|
|
34
34
|
--_sonic-relief: var(--sonic-relief, 0);
|
|
35
|
+
--_sonic-shade: var(--sonic-shade, #000);
|
|
36
|
+
--_sonic-shine: var(--sonic-shine, #fff);
|
|
37
|
+
--_sonic-press-duration: var(--sonic-press-duration, 60ms);
|
|
38
|
+
--_sonic-fade-duration: var(--sonic-fade-duration, 120ms);
|
|
35
39
|
--_sonic-light-tilt: var(--sonic-light-tilt, 17deg);
|
|
36
40
|
--_sonic-light-fall: calc(180deg - var(--_sonic-light-tilt));
|
|
37
41
|
--_sonic-cast-x: calc(sin(var(--_sonic-light-tilt)) * var(--_sonic-unit));
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
@layer sonic.material {
|
|
2
2
|
:is(
|
|
3
3
|
.sonic-dial-readout,
|
|
4
|
-
.sonic-envelope,
|
|
5
4
|
.sonic-envelope-readout,
|
|
6
5
|
.sonic-number,
|
|
7
6
|
.sonic-screen,
|
|
8
7
|
.sonic-slider-readout,
|
|
9
|
-
.sonic-spectrum,
|
|
10
|
-
.sonic-waveform,
|
|
11
8
|
.sonic-waveform-readout,
|
|
12
|
-
.sonic-wavestrip,
|
|
13
9
|
.sonic-wavestrip-readout,
|
|
14
|
-
.sonic-xy,
|
|
15
10
|
.sonic-xy-readout
|
|
16
11
|
) {
|
|
17
12
|
--_sonic-glass-slab: color-mix(in oklab, var(--_sonic-unlit) 45%, #000);
|
|
@@ -29,7 +24,7 @@
|
|
|
29
24
|
color-mix(
|
|
30
25
|
in oklab,
|
|
31
26
|
var(--_sonic-glass) calc(100% - 12% * var(--_sonic-glass-depth, var(--_sonic-relief))),
|
|
32
|
-
|
|
27
|
+
var(--_sonic-shine)
|
|
33
28
|
),
|
|
34
29
|
var(--_sonic-glass)
|
|
35
30
|
)
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
:is(.sonic-meter, .sonic-slider) {
|
|
3
3
|
--_sonic-groove:
|
|
4
4
|
inset var(--_sonic-cast-x) var(--_sonic-cast-y) calc(0.75 * var(--_sonic-unit))
|
|
5
|
-
rgb(
|
|
6
|
-
inset 0 0 calc(0.5 * var(--_sonic-unit))
|
|
5
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.55 * var(--_sonic-relief))),
|
|
6
|
+
inset 0 0 calc(0.5 * var(--_sonic-unit))
|
|
7
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.3 * var(--_sonic-relief))),
|
|
7
8
|
calc(0.5 * var(--_sonic-cast-x)) calc(0.5 * var(--_sonic-cast-y)) 0
|
|
8
|
-
rgb(
|
|
9
|
+
rgb(from var(--_sonic-shine) r g b / calc(0.06 * var(--_sonic-relief)));
|
|
9
10
|
}
|
|
10
11
|
}
|
|
@@ -18,11 +18,12 @@
|
|
|
18
18
|
);
|
|
19
19
|
--_sonic-engraving: drop-shadow(
|
|
20
20
|
calc(-0.4 * var(--_sonic-cast-x)) calc(-0.4 * var(--_sonic-cast-y))
|
|
21
|
-
calc(0.4 * var(--_sonic-unit))
|
|
21
|
+
calc(0.4 * var(--_sonic-unit))
|
|
22
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.3 * var(--_sonic-relief)))
|
|
22
23
|
)
|
|
23
24
|
drop-shadow(
|
|
24
25
|
calc(0.3 * var(--_sonic-cast-x)) calc(0.3 * var(--_sonic-cast-y)) 0
|
|
25
|
-
rgb(
|
|
26
|
+
rgb(from var(--_sonic-shine) r g b / calc(0.07 * var(--_sonic-relief)))
|
|
26
27
|
);
|
|
27
28
|
}
|
|
28
29
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
:is(.sonic-led, .sonic-meter) {
|
|
3
3
|
--_sonic-lens-glint: linear-gradient(
|
|
4
4
|
var(--_sonic-light-fall),
|
|
5
|
-
rgb(
|
|
5
|
+
rgb(from var(--_sonic-shine) r g b / calc(0.1 * var(--_sonic-relief))),
|
|
6
6
|
transparent 60%
|
|
7
7
|
);
|
|
8
8
|
--_sonic-lens-glass: var(--sonic-lens, color-mix(in oklab, var(--_sonic-unlit) 60%, #000));
|
|
@@ -7,15 +7,7 @@
|
|
|
7
7
|
@layer sonic.material {
|
|
8
8
|
/* A definite cell, so percentage-sized content fills the glass; a canvas sized to its own box would feed back */
|
|
9
9
|
|
|
10
|
-
:is(
|
|
11
|
-
.sonic-envelope,
|
|
12
|
-
.sonic-number,
|
|
13
|
-
.sonic-screen,
|
|
14
|
-
.sonic-spectrum,
|
|
15
|
-
.sonic-waveform,
|
|
16
|
-
.sonic-wavestrip,
|
|
17
|
-
.sonic-xy
|
|
18
|
-
) {
|
|
10
|
+
:is(.sonic-number, .sonic-screen) {
|
|
19
11
|
--_sonic-glass-depth: var(--sonic-glass-depth, var(--_sonic-relief));
|
|
20
12
|
--_sonic-glass-texture: var(--sonic-glass-texture, var(--_sonic-relief));
|
|
21
13
|
--_sonic-glass-pitch: max(2px, round(2 * var(--_sonic-unit), 1px));
|
|
@@ -44,24 +36,25 @@
|
|
|
44
36
|
background:
|
|
45
37
|
linear-gradient(
|
|
46
38
|
var(--_sonic-light-fall),
|
|
47
|
-
rgb(
|
|
39
|
+
rgb(from var(--_sonic-shine) r g b / calc(0.07 * var(--_sonic-glass-depth))),
|
|
48
40
|
transparent 45%
|
|
49
41
|
),
|
|
50
42
|
radial-gradient(
|
|
51
43
|
farthest-corner,
|
|
52
44
|
transparent 55%,
|
|
53
|
-
rgb(
|
|
45
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.4 * var(--_sonic-glass-texture)))
|
|
54
46
|
),
|
|
55
47
|
repeating-linear-gradient(
|
|
56
48
|
to bottom,
|
|
57
|
-
rgb(
|
|
49
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.025 * var(--_sonic-glass-texture))) 0
|
|
58
50
|
calc(var(--_sonic-glass-pitch) / 2),
|
|
59
51
|
transparent 0 var(--_sonic-glass-pitch)
|
|
60
52
|
);
|
|
61
53
|
border-radius: inherit;
|
|
62
54
|
box-shadow:
|
|
63
55
|
var(--_sonic-well),
|
|
64
|
-
inset 0 0 calc(3 * var(--_sonic-glass-depth) * var(--_sonic-unit))
|
|
56
|
+
inset 0 0 calc(3 * var(--_sonic-glass-depth) * var(--_sonic-unit))
|
|
57
|
+
rgb(from var(--_sonic-shade) r g b / 45%);
|
|
65
58
|
}
|
|
66
59
|
|
|
67
60
|
@media (forced-colors: none) {
|
|
@@ -82,6 +75,7 @@
|
|
|
82
75
|
|
|
83
76
|
@media (prefers-reduced-motion: no-preference) {
|
|
84
77
|
&:is(:focus-visible, :focus-within)::before,
|
|
78
|
+
&:has(:state(dragging))::before,
|
|
85
79
|
:state(dragging) > &::before {
|
|
86
80
|
animation: sonic-glass-breathe 3s ease-in-out infinite alternate;
|
|
87
81
|
}
|
|
@@ -46,16 +46,16 @@
|
|
|
46
46
|
border-radius: calc(0.25 * var(--_sonic-readout-size));
|
|
47
47
|
box-shadow:
|
|
48
48
|
calc(2 * var(--_sonic-cast-x)) calc(2 * var(--_sonic-cast-y)) calc(6 * var(--_sonic-unit))
|
|
49
|
-
rgb(
|
|
49
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.55 * var(--_sonic-relief))),
|
|
50
50
|
inset 0 0 0 max(1px, round(var(--_sonic-unit), var(--_sonic-snap)))
|
|
51
|
-
rgb(
|
|
51
|
+
rgb(from var(--_sonic-shine) r g b / calc(0.08 * var(--_sonic-relief)));
|
|
52
52
|
opacity: 0;
|
|
53
53
|
translate: 0 calc(0.15 * var(--_sonic-readout-size));
|
|
54
54
|
transition:
|
|
55
|
-
opacity
|
|
56
|
-
translate
|
|
57
|
-
display
|
|
58
|
-
overlay
|
|
55
|
+
opacity var(--_sonic-fade-duration) ease-out,
|
|
56
|
+
translate var(--_sonic-fade-duration) ease-out,
|
|
57
|
+
display var(--_sonic-fade-duration) allow-discrete,
|
|
58
|
+
overlay var(--_sonic-fade-duration) allow-discrete;
|
|
59
59
|
|
|
60
60
|
/* Grid only while open; engines keep the flip a closed readout took against a filtered ancestor */
|
|
61
61
|
&:popover-open {
|
|
@@ -1,24 +1,13 @@
|
|
|
1
1
|
@layer sonic.material {
|
|
2
|
-
:is(
|
|
3
|
-
.sonic-envelope,
|
|
4
|
-
.sonic-button,
|
|
5
|
-
.sonic-number,
|
|
6
|
-
.sonic-screen,
|
|
7
|
-
.sonic-segmented,
|
|
8
|
-
.sonic-spectrum,
|
|
9
|
-
.sonic-toggle,
|
|
10
|
-
.sonic-waveform,
|
|
11
|
-
.sonic-wavestrip,
|
|
12
|
-
.sonic-xy
|
|
13
|
-
) {
|
|
2
|
+
:is(.sonic-button, .sonic-number, .sonic-screen, .sonic-segmented, .sonic-toggle) {
|
|
14
3
|
--_sonic-well-depth: var(--_sonic-glass-depth, 1);
|
|
15
4
|
--_sonic-well:
|
|
16
5
|
inset calc(var(--_sonic-well-depth) * var(--_sonic-cast-x))
|
|
17
6
|
calc(var(--_sonic-well-depth) * var(--_sonic-cast-y))
|
|
18
7
|
calc(2 * var(--_sonic-well-depth) * var(--_sonic-unit))
|
|
19
|
-
rgb(
|
|
8
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.6 * var(--_sonic-relief))),
|
|
20
9
|
calc(0.5 * var(--_sonic-well-depth) * var(--_sonic-cast-x))
|
|
21
10
|
calc(0.5 * var(--_sonic-well-depth) * var(--_sonic-cast-y)) 0
|
|
22
|
-
rgb(
|
|
11
|
+
rgb(from var(--_sonic-shine) r g b / calc(0.06 * var(--_sonic-relief)));
|
|
23
12
|
}
|
|
24
13
|
}
|
package/dist/styles/meter.css
CHANGED
|
@@ -263,18 +263,13 @@
|
|
|
263
263
|
position: absolute;
|
|
264
264
|
inset: 0;
|
|
265
265
|
content: '';
|
|
266
|
-
background:
|
|
267
|
-
var(--_sonic-light-fall),
|
|
268
|
-
rgb(255 255 255 / calc(0.1 * var(--_sonic-relief))),
|
|
269
|
-
transparent 60%
|
|
270
|
-
)
|
|
271
|
-
0 100% / 100% var(--_sonic-meter-pitch) repeat-y;
|
|
266
|
+
background: var(--_sonic-lens-glint) 0 100% / 100% var(--_sonic-meter-pitch) repeat-y;
|
|
272
267
|
}
|
|
273
268
|
|
|
274
269
|
:state(ladder) > .sonic-meter > .sonic-meter-bar::after {
|
|
275
270
|
background: radial-gradient(
|
|
276
271
|
circle var(--_sonic-meter-ladder-radius),
|
|
277
|
-
rgb(
|
|
272
|
+
rgb(from var(--_sonic-shine) r g b / calc(0.45 * var(--_sonic-relief))),
|
|
278
273
|
transparent
|
|
279
274
|
)
|
|
280
275
|
0 100% / 100% var(--_sonic-meter-pitch) repeat-y;
|
package/dist/styles/number.css
CHANGED
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
|
|
32
32
|
.sonic-number {
|
|
33
33
|
--_sonic-number-radius-ratio: var(--sonic-number-radius-ratio, 0.15);
|
|
34
|
+
--_sonic-number-radius-own: calc(var(--_sonic-number-size) * var(--sonic-number-radius-ratio));
|
|
34
35
|
--_sonic-number-inset-ratio: var(--sonic-number-inset-ratio, 0.2);
|
|
35
36
|
--_sonic-number-text-ratio: var(--sonic-number-text-ratio, 0.45);
|
|
36
37
|
--_sonic-number-travel: var(--sonic-number-travel, 160px);
|
|
@@ -44,7 +45,10 @@
|
|
|
44
45
|
line-height: 1;
|
|
45
46
|
touch-action: pan-x;
|
|
46
47
|
cursor: ns-resize;
|
|
47
|
-
border-radius:
|
|
48
|
+
border-radius: var(
|
|
49
|
+
--_sonic-number-radius-own,
|
|
50
|
+
var(--sonic-radius, calc(var(--_sonic-number-size) * var(--_sonic-number-radius-ratio)))
|
|
51
|
+
);
|
|
48
52
|
box-shadow: var(--_sonic-focus-shadow);
|
|
49
53
|
}
|
|
50
54
|
|
package/dist/styles/panel.css
CHANGED
|
@@ -29,13 +29,14 @@
|
|
|
29
29
|
box-shadow:
|
|
30
30
|
inset var(--_sonic-cast-x) var(--_sonic-cast-y)
|
|
31
31
|
max(var(--_sonic-panel-depth), -1 * var(--_sonic-panel-depth))
|
|
32
|
-
rgb(
|
|
32
|
+
rgb(from var(--_sonic-shine) r g b / calc(0.07 * var(--_sonic-relief))),
|
|
33
33
|
inset calc(-1 * var(--_sonic-cast-x)) calc(-1 * var(--_sonic-cast-y))
|
|
34
34
|
max(var(--_sonic-panel-depth), -1 * var(--_sonic-panel-depth))
|
|
35
|
-
rgb(
|
|
35
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.35 * var(--_sonic-relief))),
|
|
36
36
|
calc(2 * sin(var(--_sonic-light-tilt)) * max(0px, var(--_sonic-panel-depth)))
|
|
37
37
|
calc(2 * cos(var(--_sonic-light-tilt)) * max(0px, var(--_sonic-panel-depth)))
|
|
38
|
-
calc(3 * max(0px, var(--_sonic-panel-depth)))
|
|
38
|
+
calc(3 * max(0px, var(--_sonic-panel-depth)))
|
|
39
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.45 * var(--_sonic-relief)));
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
.sonic-panel-title {
|
package/dist/styles/ring.css
CHANGED
package/dist/styles/screen.css
CHANGED
|
@@ -9,14 +9,16 @@
|
|
|
9
9
|
@layer sonic.control {
|
|
10
10
|
.sonic-screen {
|
|
11
11
|
--_sonic-screen-size: var(--sonic-screen-size, 2.5rem);
|
|
12
|
-
--_sonic-screen-aspect-ratio: var(--sonic-screen-aspect-ratio, 3);
|
|
13
12
|
--_sonic-screen-radius-ratio: var(--sonic-screen-radius-ratio, 0.15);
|
|
13
|
+
--_sonic-screen-radius-own: calc(var(--_sonic-screen-size) * var(--sonic-screen-radius-ratio));
|
|
14
14
|
--_sonic-screen-inset-ratio: var(--sonic-screen-inset-ratio, 0.1);
|
|
15
15
|
--_sonic-unit: calc(var(--_sonic-screen-size) / 32);
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
block-size: var(--_sonic-screen-size);
|
|
17
|
+
min-block-size: var(--_sonic-screen-size);
|
|
19
18
|
padding: calc(var(--_sonic-screen-size) * var(--_sonic-screen-inset-ratio));
|
|
20
|
-
border-radius:
|
|
19
|
+
border-radius: var(
|
|
20
|
+
--_sonic-screen-radius-own,
|
|
21
|
+
var(--sonic-radius, calc(var(--_sonic-screen-size) * var(--_sonic-screen-radius-ratio)))
|
|
22
|
+
);
|
|
21
23
|
}
|
|
22
24
|
}
|
|
@@ -38,11 +38,18 @@
|
|
|
38
38
|
var(--_sonic-segmented-press-scale)
|
|
39
39
|
);
|
|
40
40
|
--_sonic-segmented-font-ratio: var(--sonic-segmented-font-ratio, 0.34);
|
|
41
|
+
--_sonic-segmented-font-own: calc(
|
|
42
|
+
var(--_sonic-segmented-size) * var(--sonic-segmented-font-ratio)
|
|
43
|
+
);
|
|
41
44
|
--_sonic-segmented-padding-ratio: var(--sonic-segmented-padding-ratio, 0.25);
|
|
42
45
|
--_sonic-segmented-icon-ratio: var(--sonic-segmented-icon-ratio, 0.5);
|
|
43
46
|
--_sonic-unit: calc(var(--_sonic-segmented-size) / 32);
|
|
44
|
-
--_sonic-segmented-
|
|
45
|
-
var(--_sonic-segmented-size) * var(--
|
|
47
|
+
--_sonic-segmented-radius-own: calc(
|
|
48
|
+
var(--_sonic-segmented-size) * var(--sonic-segmented-radius-ratio)
|
|
49
|
+
);
|
|
50
|
+
--_sonic-segmented-corner: var(
|
|
51
|
+
--_sonic-segmented-radius-own,
|
|
52
|
+
var(--sonic-radius, calc(var(--_sonic-segmented-size) * var(--_sonic-segmented-radius-ratio)))
|
|
46
53
|
);
|
|
47
54
|
--_sonic-keycap-depth: calc(var(--_sonic-segmented-size) * var(--_sonic-segmented-depth-ratio));
|
|
48
55
|
--_sonic-segmented-gap: calc(var(--_sonic-segmented-size) * var(--_sonic-segmented-gap-ratio));
|
|
@@ -75,14 +82,20 @@
|
|
|
75
82
|
min-inline-size: calc(var(--_sonic-segmented-size) - 2 * var(--_sonic-segmented-gap));
|
|
76
83
|
padding: 0;
|
|
77
84
|
font: inherit;
|
|
78
|
-
font-size:
|
|
85
|
+
font-size: var(
|
|
86
|
+
--_sonic-segmented-font-own,
|
|
87
|
+
var(
|
|
88
|
+
--sonic-legend-font-size,
|
|
89
|
+
calc(var(--_sonic-segmented-size) * var(--_sonic-segmented-font-ratio))
|
|
90
|
+
)
|
|
91
|
+
);
|
|
79
92
|
line-height: 1;
|
|
80
93
|
color: var(--_sonic-ink);
|
|
81
94
|
cursor: pointer;
|
|
82
95
|
background: transparent;
|
|
83
96
|
border: 0;
|
|
84
97
|
border-radius: var(--_sonic-segmented-inner-corner);
|
|
85
|
-
transition: color
|
|
98
|
+
transition: color var(--_sonic-fade-duration) ease-out;
|
|
86
99
|
}
|
|
87
100
|
|
|
88
101
|
.sonic-segmented-option:where([data-sonic-pressed]):not(:disabled),
|
package/dist/styles/slider.css
CHANGED
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
touch-action: var(--sonic-touch-action, pan-y);
|
|
93
93
|
cursor: var(--_sonic-slider-cursor);
|
|
94
94
|
user-select: none;
|
|
95
|
-
transition: --_sonic-slider-groove-ratio
|
|
95
|
+
transition: --_sonic-slider-groove-ratio var(--_sonic-fade-duration) ease-out;
|
|
96
96
|
|
|
97
97
|
@media (prefers-reduced-motion: reduce) {
|
|
98
98
|
transition: none;
|
|
@@ -424,7 +424,13 @@
|
|
|
424
424
|
var(--_sonic-slider-breadth) * var(--_sonic-slider-indicator-ratio)
|
|
425
425
|
);
|
|
426
426
|
--_sonic-slider-bevel: calc(var(--_sonic-slider-breadth) * var(--_sonic-slider-bevel-ratio));
|
|
427
|
-
--_sonic-slider-
|
|
427
|
+
--_sonic-slider-radius-own: calc(
|
|
428
|
+
var(--_sonic-slider-breadth) * var(--sonic-slider-radius-ratio)
|
|
429
|
+
);
|
|
430
|
+
--_sonic-slider-corner: var(
|
|
431
|
+
--_sonic-slider-radius-own,
|
|
432
|
+
var(--sonic-radius, calc(var(--_sonic-slider-breadth) * var(--_sonic-slider-radius-ratio)))
|
|
433
|
+
);
|
|
428
434
|
--_sonic-slider-indicator-inset: calc(
|
|
429
435
|
var(--_sonic-slider-bevel) + var(--_sonic-slider-breadth) * 0.1
|
|
430
436
|
);
|
|
@@ -460,7 +466,7 @@
|
|
|
460
466
|
background: var(--_sonic-slider-indicator);
|
|
461
467
|
border-radius: calc(var(--_sonic-slider-indicator-width) / 2);
|
|
462
468
|
box-shadow: inset 0 0 calc(0.75 * var(--_sonic-unit))
|
|
463
|
-
rgb(
|
|
469
|
+
rgb(from var(--_sonic-shade) r g b / calc(0.55 * var(--_sonic-relief)));
|
|
464
470
|
}
|
|
465
471
|
}
|
|
466
472
|
|
package/dist/styles/spectrum.css
CHANGED
|
@@ -71,22 +71,21 @@
|
|
|
71
71
|
--_sonic-spectrum-lit: var(--_sonic-lit);
|
|
72
72
|
--_sonic-spectrum-hot: var(--_sonic-lit-warning);
|
|
73
73
|
--_sonic-spectrum-clip: var(--_sonic-lit-danger);
|
|
74
|
-
--_sonic-spectrum-grid: color-mix(in oklab,
|
|
74
|
+
--_sonic-spectrum-grid: color-mix(in oklab, currentcolor 20%, transparent);
|
|
75
75
|
--_sonic-spectrum-hot-from: var(--sonic-spectrum-hot-from, -12);
|
|
76
76
|
--_sonic-spectrum-clip-from: var(--sonic-spectrum-clip-from, -3);
|
|
77
77
|
|
|
78
|
+
/* fallow-ignore-next-line code-duplication -- a plain box restated, since sheets never import each other */
|
|
79
|
+
position: relative;
|
|
80
|
+
display: grid;
|
|
81
|
+
flex-shrink: 0;
|
|
82
|
+
grid-template: minmax(0, 1fr) / minmax(0, 1fr);
|
|
78
83
|
inline-size: var(--_sonic-spectrum-length);
|
|
79
84
|
block-size: var(--_sonic-spectrum-size);
|
|
80
|
-
padding: calc(var(--_sonic-spectrum-size) * var(--sonic-spectrum-inset-ratio, 0.06));
|
|
81
85
|
|
|
82
86
|
/* The canvas's backing size would otherwise feed an intrinsically sized parent */
|
|
83
87
|
contain: size;
|
|
84
|
-
|
|
85
|
-
--_sonic-glass-radius: calc(
|
|
86
|
-
var(--_sonic-spectrum-size) * var(--sonic-spectrum-radius-ratio, 0.08)
|
|
87
|
-
);
|
|
88
|
-
|
|
89
|
-
border-radius: var(--_sonic-glass-radius);
|
|
88
|
+
user-select: none;
|
|
90
89
|
}
|
|
91
90
|
|
|
92
91
|
[fill] > .sonic-spectrum,
|
|
@@ -100,7 +99,7 @@
|
|
|
100
99
|
block-size: 100%;
|
|
101
100
|
}
|
|
102
101
|
|
|
103
|
-
/* Opaque, since a system highlight carries alpha that would blend the bars into
|
|
102
|
+
/* Opaque, since a system highlight carries alpha that would blend the bars into what is behind them */
|
|
104
103
|
@media (forced-colors: active) {
|
|
105
104
|
.sonic-spectrum {
|
|
106
105
|
--_sonic-spectrum-lit: rgb(from CanvasText r g b / 100%);
|