@xsynaptic/sonic-ui 0.19.0 → 0.21.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 +37 -0
- package/README.md +27 -112
- package/dist/default/elements/button.js +2 -1
- package/dist/default/elements/field-gesture.js +3 -0
- package/dist/default/elements/sonic-element.js +1 -1
- package/dist/default/elements/split.js +3 -1
- package/dist/default/elements/switch.js +5 -3
- package/dist/default/elements/toggle.js +10 -5
- package/dist/default/elements/value-entry.js +5 -18
- package/dist/default/elements/waveform.js +15 -4
- package/dist/default/elements/xy.js +33 -5
- package/dist/default/lib/canvas-surface.js +5 -1
- package/dist/default/lib/double-press.js +30 -0
- package/dist/dev/elements/button.js +5 -11
- package/dist/dev/elements/button.js.map +1 -1
- package/dist/dev/elements/dial.js +2 -12
- 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 +2 -15
- package/dist/dev/elements/envelope.js.map +1 -1
- package/dist/dev/elements/field-gesture.js +3 -0
- package/dist/dev/elements/field-gesture.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 +1 -13
- package/dist/dev/elements/number.js.map +1 -1
- package/dist/dev/elements/segmented.js +3 -10
- package/dist/dev/elements/segmented.js.map +1 -1
- package/dist/dev/elements/slider.js +2 -12
- package/dist/dev/elements/slider.js.map +1 -1
- package/dist/dev/elements/sonic-element.d.ts +1 -22
- package/dist/dev/elements/sonic-element.js +7 -34
- package/dist/dev/elements/sonic-element.js.map +1 -1
- package/dist/dev/elements/split.js +3 -1
- package/dist/dev/elements/split.js.map +1 -1
- package/dist/dev/elements/switch.js +7 -8
- package/dist/dev/elements/switch.js.map +1 -1
- package/dist/dev/elements/toggle.js +13 -15
- package/dist/dev/elements/toggle.js.map +1 -1
- package/dist/dev/elements/value-entry.js +5 -18
- package/dist/dev/elements/value-entry.js.map +1 -1
- package/dist/dev/elements/wave-element.js +2 -12
- package/dist/dev/elements/wave-element.js.map +1 -1
- package/dist/dev/elements/waveform.d.ts +2 -0
- package/dist/dev/elements/waveform.js +15 -4
- package/dist/dev/elements/waveform.js.map +1 -1
- package/dist/dev/elements/xy.d.ts +4 -0
- package/dist/dev/elements/xy.js +35 -17
- package/dist/dev/elements/xy.js.map +1 -1
- package/dist/dev/lib/canvas-surface.js +5 -1
- package/dist/dev/lib/canvas-surface.js.map +1 -1
- package/dist/dev/lib/double-press.js +31 -0
- package/dist/dev/lib/double-press.js.map +1 -0
- package/dist/skins/amber.css +0 -1
- package/dist/skins/ivory.css +0 -1
- package/dist/skins/lime.css +0 -1
- package/dist/skins/slate.css +0 -1
- package/dist/styles/button.css +1 -0
- package/dist/styles/dial.css +1 -1
- package/dist/styles/envelope.css +16 -14
- package/dist/styles/led.css +7 -19
- package/dist/styles/material/bracket.css +1 -1
- package/dist/styles/material/cap.css +27 -4
- package/dist/styles/material/core.css +9 -1
- package/dist/styles/material/glass.css +1 -7
- package/dist/styles/material/lens.css +18 -1
- package/dist/styles/material/pane.css +2 -12
- package/dist/styles/material/readout.css +7 -1
- package/dist/styles/material/well.css +8 -12
- package/dist/styles/meter.css +6 -4
- package/dist/styles/number.css +8 -9
- package/dist/styles/screen.css +1 -3
- package/dist/styles/spectrum.css +8 -22
- package/dist/styles/toggle.css +4 -0
- package/dist/styles/waveform.css +12 -24
- package/dist/styles/wavestrip.css +12 -33
- package/dist/styles/xy.css +30 -28
- package/package.json +1 -1
package/dist/styles/toggle.css
CHANGED
|
@@ -261,6 +261,7 @@
|
|
|
261
261
|
.sonic-toggle-position:focus-visible {
|
|
262
262
|
outline: var(--sonic-focus-outline, 2px solid transparent);
|
|
263
263
|
outline-offset: var(--sonic-focus-outline-offset, -2px);
|
|
264
|
+
border-radius: var(--_sonic-toggle-corner);
|
|
264
265
|
}
|
|
265
266
|
|
|
266
267
|
.sonic-toggle-position:disabled {
|
|
@@ -452,6 +453,9 @@
|
|
|
452
453
|
|
|
453
454
|
@media (forced-colors: active) {
|
|
454
455
|
.sonic-toggle {
|
|
456
|
+
--_sonic-lit-ok: Mark;
|
|
457
|
+
--_sonic-lit-warning: Highlight;
|
|
458
|
+
--_sonic-lit-danger: Mark;
|
|
455
459
|
--_sonic-skirt: CanvasText;
|
|
456
460
|
--_sonic-face: CanvasText;
|
|
457
461
|
--_sonic-rim: 0 0 0 var(--_sonic-rim-width) Canvas;
|
package/dist/styles/waveform.css
CHANGED
|
@@ -91,11 +91,7 @@
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
.sonic-waveform {
|
|
94
|
-
--_sonic-waveform-inset: calc(
|
|
95
|
-
var(--_sonic-waveform-size) * var(--sonic-waveform-inset-ratio, 0)
|
|
96
|
-
);
|
|
97
94
|
--_sonic-unit: calc(var(--_sonic-waveform-size) / 48);
|
|
98
|
-
--_sonic-glass-depth: var(--sonic-glass-depth, calc(0.6 * var(--_sonic-relief)));
|
|
99
95
|
--_sonic-waveform-line: var(
|
|
100
96
|
--sonic-waveform-playhead-width,
|
|
101
97
|
max(1px, round(var(--_sonic-unit), var(--_sonic-snap)))
|
|
@@ -129,28 +125,20 @@
|
|
|
129
125
|
var(--_sonic-waveform-label-inset)
|
|
130
126
|
);
|
|
131
127
|
|
|
128
|
+
/* fallow-ignore-next-line code-duplication -- a plain box restated, since sheets never import each other */
|
|
129
|
+
position: relative;
|
|
130
|
+
display: grid;
|
|
131
|
+
flex-shrink: 0;
|
|
132
|
+
grid-template: minmax(0, 1fr) / minmax(0, 1fr);
|
|
132
133
|
inline-size: var(--_sonic-waveform-length);
|
|
133
134
|
block-size: var(--_sonic-waveform-size);
|
|
134
|
-
padding: var(--_sonic-waveform-inset);
|
|
135
135
|
container-type: size;
|
|
136
136
|
|
|
137
137
|
/* A label riding in from the far side would otherwise widen the page */
|
|
138
138
|
overflow: hidden;
|
|
139
139
|
touch-action: var(--sonic-touch-action, pan-y);
|
|
140
140
|
cursor: grab;
|
|
141
|
-
|
|
142
|
-
--_sonic-waveform-radius-own: calc(
|
|
143
|
-
var(--_sonic-waveform-size) * var(--sonic-waveform-radius-ratio)
|
|
144
|
-
);
|
|
145
|
-
--_sonic-glass-radius: var(
|
|
146
|
-
--_sonic-waveform-radius-own,
|
|
147
|
-
var(
|
|
148
|
-
--sonic-radius,
|
|
149
|
-
calc(var(--_sonic-waveform-size) * var(--sonic-waveform-radius-ratio, 0.08))
|
|
150
|
-
)
|
|
151
|
-
);
|
|
152
|
-
|
|
153
|
-
border-radius: var(--_sonic-glass-radius);
|
|
141
|
+
user-select: none;
|
|
154
142
|
box-shadow: var(--_sonic-focus-shadow);
|
|
155
143
|
}
|
|
156
144
|
|
|
@@ -181,15 +169,15 @@
|
|
|
181
169
|
|
|
182
170
|
.sonic-waveform-scrim {
|
|
183
171
|
position: absolute;
|
|
184
|
-
inset:
|
|
172
|
+
inset: 0;
|
|
185
173
|
pointer-events: none;
|
|
186
174
|
background: var(--sonic-waveform-scrim, none);
|
|
187
175
|
}
|
|
188
176
|
|
|
189
177
|
:is(.sonic-waveform-playhead, .sonic-waveform-ghost) {
|
|
190
178
|
position: absolute;
|
|
191
|
-
inset-block:
|
|
192
|
-
inset-inline-start: calc(var(--_sonic-waveform-
|
|
179
|
+
inset-block: 0;
|
|
180
|
+
inset-inline-start: calc(var(--_sonic-waveform-line) / -2);
|
|
193
181
|
inline-size: var(--_sonic-waveform-line);
|
|
194
182
|
pointer-events: none;
|
|
195
183
|
translate: 50cqi;
|
|
@@ -205,8 +193,8 @@
|
|
|
205
193
|
|
|
206
194
|
.sonic-waveform-label {
|
|
207
195
|
position: absolute;
|
|
208
|
-
inset-block-end:
|
|
209
|
-
inset-inline-start:
|
|
196
|
+
inset-block-end: var(--_sonic-waveform-label-lift);
|
|
197
|
+
inset-inline-start: 0;
|
|
210
198
|
padding: 0.2em 0.35em;
|
|
211
199
|
margin: -0.2em -0.35em;
|
|
212
200
|
font-family: var(--sonic-waveform-label-font, inherit);
|
|
@@ -227,7 +215,7 @@
|
|
|
227
215
|
filter: opacity(0.5);
|
|
228
216
|
}
|
|
229
217
|
|
|
230
|
-
/* Opaque, since a system highlight carries alpha that would blend the wave into
|
|
218
|
+
/* Opaque, since a system highlight carries alpha that would blend the wave into what is behind it */
|
|
231
219
|
@media (forced-colors: active) {
|
|
232
220
|
.sonic-waveform {
|
|
233
221
|
--_sonic-waveform-wave: rgb(from CanvasText r g b / 100%);
|
|
@@ -110,9 +110,6 @@
|
|
|
110
110
|
--_sonic-wavestrip-groove-ratio: var(--sonic-wavestrip-groove-ratio, 0.15);
|
|
111
111
|
--_sonic-wavestrip-groove-size: var(--sonic-wavestrip-groove-size, 0px);
|
|
112
112
|
--_sonic-wavestrip-marker-ratio: var(--sonic-wavestrip-marker-ratio, 0.065);
|
|
113
|
-
--_sonic-wavestrip-inset: calc(
|
|
114
|
-
var(--_sonic-wavestrip-size) * var(--sonic-wavestrip-inset-ratio, 0)
|
|
115
|
-
);
|
|
116
113
|
--_sonic-unit: calc(var(--_sonic-wavestrip-size) / 32);
|
|
117
114
|
--_sonic-wavestrip-lit: var(--_sonic-lit);
|
|
118
115
|
--_sonic-marker-size: var(
|
|
@@ -136,25 +133,17 @@
|
|
|
136
133
|
--_sonic-wavestrip-played: var(--_sonic-wavestrip-lit);
|
|
137
134
|
--_sonic-wavestrip-scrub: var(--sonic-scrub, color-mix(in oklab, var(--_sonic-lit) 55%, #fff));
|
|
138
135
|
|
|
136
|
+
/* fallow-ignore-next-line code-duplication -- a plain box restated, since sheets never import each other */
|
|
137
|
+
position: relative;
|
|
138
|
+
display: grid;
|
|
139
|
+
flex-shrink: 0;
|
|
140
|
+
grid-template: minmax(0, 1fr) / minmax(0, 1fr);
|
|
139
141
|
inline-size: var(--_sonic-wavestrip-length);
|
|
140
142
|
block-size: var(--_sonic-wavestrip-size);
|
|
141
|
-
padding: var(--_sonic-wavestrip-inset);
|
|
142
143
|
container-type: size;
|
|
143
144
|
touch-action: var(--sonic-touch-action, pan-y);
|
|
144
145
|
cursor: ew-resize;
|
|
145
|
-
|
|
146
|
-
--_sonic-wavestrip-radius-own: calc(
|
|
147
|
-
var(--_sonic-wavestrip-size) * var(--sonic-wavestrip-radius-ratio)
|
|
148
|
-
);
|
|
149
|
-
--_sonic-glass-radius: var(
|
|
150
|
-
--_sonic-wavestrip-radius-own,
|
|
151
|
-
var(
|
|
152
|
-
--sonic-radius,
|
|
153
|
-
calc(var(--_sonic-wavestrip-size) * var(--sonic-wavestrip-radius-ratio, 0.15))
|
|
154
|
-
)
|
|
155
|
-
);
|
|
156
|
-
|
|
157
|
-
border-radius: var(--_sonic-glass-radius);
|
|
146
|
+
user-select: none;
|
|
158
147
|
box-shadow: var(--_sonic-focus-shadow);
|
|
159
148
|
}
|
|
160
149
|
|
|
@@ -177,12 +166,11 @@
|
|
|
177
166
|
display: block;
|
|
178
167
|
inline-size: 100%;
|
|
179
168
|
block-size: 100%;
|
|
180
|
-
border-radius: max(0px, var(--_sonic-glass-radius) - var(--_sonic-wavestrip-inset));
|
|
181
169
|
}
|
|
182
170
|
|
|
183
171
|
.sonic-wavestrip-markers {
|
|
184
172
|
position: absolute;
|
|
185
|
-
inset:
|
|
173
|
+
inset: 0;
|
|
186
174
|
pointer-events: none;
|
|
187
175
|
}
|
|
188
176
|
|
|
@@ -195,7 +183,7 @@
|
|
|
195
183
|
--_sonic-marker-colour: color-mix(
|
|
196
184
|
in oklab,
|
|
197
185
|
var(--_sonic-marker, var(--_sonic-marker-default)) 45%,
|
|
198
|
-
|
|
186
|
+
transparent
|
|
199
187
|
);
|
|
200
188
|
}
|
|
201
189
|
}
|
|
@@ -207,12 +195,11 @@
|
|
|
207
195
|
block-size: var(--_sonic-marker-size);
|
|
208
196
|
background: var(--_sonic-marker-colour);
|
|
209
197
|
border-radius: 50%;
|
|
210
|
-
box-shadow: 0 0 0 var(--_sonic-marker-edge) var(--
|
|
198
|
+
box-shadow: 0 0 0 var(--_sonic-marker-edge) var(--sonic-wavestrip-marker-edge, transparent);
|
|
211
199
|
}
|
|
212
200
|
|
|
213
201
|
.sonic-wavestrip-region {
|
|
214
|
-
inset: calc(
|
|
215
|
-
calc(var(--_sonic-marker-from, 0) * 100%);
|
|
202
|
+
inset: 0 auto 0 calc(var(--_sonic-marker-from, 0) * 100%);
|
|
216
203
|
box-sizing: border-box;
|
|
217
204
|
inline-size: calc((var(--_sonic-marker-to, 0) - var(--_sonic-marker-from, 0)) * 100%);
|
|
218
205
|
background: color-mix(in oklab, var(--_sonic-marker-colour) 16%, transparent);
|
|
@@ -222,23 +209,15 @@
|
|
|
222
209
|
|
|
223
210
|
/* Bare `block-start` spans the viewport; `translate` belongs to the open transition */
|
|
224
211
|
.sonic-wavestrip-readout {
|
|
225
|
-
--_sonic-wavestrip-readout-inset: calc(
|
|
226
|
-
var(--_sonic-wavestrip-inset) + var(--_sonic-wavestrip-readout-at, 0) * 100cqi
|
|
227
|
-
);
|
|
228
|
-
|
|
229
212
|
inset-inline: 0;
|
|
230
213
|
justify-self: start;
|
|
231
214
|
position-area: block-start center;
|
|
232
215
|
transform: translateX(
|
|
233
|
-
clamp(
|
|
234
|
-
0px,
|
|
235
|
-
var(--_sonic-wavestrip-readout-inset) - 50%,
|
|
236
|
-
100cqi + 2 * var(--_sonic-wavestrip-inset) - 100%
|
|
237
|
-
)
|
|
216
|
+
clamp(0px, var(--_sonic-wavestrip-readout-at, 0) * 100cqi - 50%, 100cqi - 100%)
|
|
238
217
|
);
|
|
239
218
|
}
|
|
240
219
|
|
|
241
|
-
/* Opaque, since a system highlight carries alpha that would blend the bars into
|
|
220
|
+
/* Opaque, since a system highlight carries alpha that would blend the bars into what is behind them */
|
|
242
221
|
@media (forced-colors: active) {
|
|
243
222
|
.sonic-wavestrip {
|
|
244
223
|
--_sonic-wavestrip-lit: Highlight;
|
package/dist/styles/xy.css
CHANGED
|
@@ -25,33 +25,30 @@
|
|
|
25
25
|
|
|
26
26
|
.sonic-xy {
|
|
27
27
|
--_sonic-xy-puck-ratio: var(--sonic-xy-puck-ratio, 0.2);
|
|
28
|
-
--_sonic-xy-radius-ratio: var(--sonic-xy-radius-ratio, 0.06);
|
|
29
|
-
--_sonic-xy-inset-ratio: var(--sonic-xy-inset-ratio, 0.04);
|
|
30
28
|
--_sonic-unit: calc(var(--_sonic-xy-size) / 96);
|
|
31
29
|
--_sonic-xy-lit: var(--_sonic-lit);
|
|
30
|
+
--_sonic-xy-puck-core: var(--_sonic-xy-lit);
|
|
32
31
|
--_sonic-xy-cursor: grab;
|
|
33
32
|
--_sonic-xy-puck: calc(var(--_sonic-xy-size) * var(--_sonic-xy-puck-ratio));
|
|
34
|
-
--_sonic-xy-
|
|
35
|
-
--_sonic-xy-travel-
|
|
36
|
-
--_sonic-xy-travel-y: calc(100cqb - 2 * var(--_sonic-xy-inset) - var(--_sonic-xy-puck));
|
|
33
|
+
--_sonic-xy-travel-x: calc(100cqi - var(--_sonic-xy-puck));
|
|
34
|
+
--_sonic-xy-travel-y: calc(100cqb - var(--_sonic-xy-puck));
|
|
37
35
|
|
|
36
|
+
/* fallow-ignore-next-line code-duplication -- a plain box restated, since sheets never import each other */
|
|
37
|
+
position: relative;
|
|
38
|
+
display: grid;
|
|
39
|
+
flex-shrink: 0;
|
|
40
|
+
grid-template: minmax(0, 1fr) / minmax(0, 1fr);
|
|
38
41
|
inline-size: calc(var(--_sonic-xy-size) * var(--_sonic-xy-aspect-ratio));
|
|
39
42
|
block-size: var(--_sonic-xy-size);
|
|
40
43
|
container-type: size;
|
|
41
44
|
touch-action: none;
|
|
42
45
|
cursor: crosshair;
|
|
43
|
-
|
|
44
|
-
--_sonic-xy-radius-own: calc(var(--_sonic-xy-size) * var(--sonic-xy-radius-ratio));
|
|
45
|
-
--_sonic-glass-radius: var(
|
|
46
|
-
--_sonic-xy-radius-own,
|
|
47
|
-
var(--sonic-radius, calc(var(--_sonic-xy-size) * var(--_sonic-xy-radius-ratio)))
|
|
48
|
-
);
|
|
49
|
-
|
|
50
|
-
border-radius: var(--_sonic-glass-radius);
|
|
46
|
+
user-select: none;
|
|
51
47
|
}
|
|
52
48
|
|
|
53
49
|
:disabled > .sonic-xy {
|
|
54
50
|
--_sonic-xy-lit: var(--_sonic-lit-disabled);
|
|
51
|
+
--_sonic-xy-puck-core: color-mix(in oklab, var(--_sonic-ink) 25%, var(--_sonic-unlit-solid));
|
|
55
52
|
--_sonic-xy-cursor: default;
|
|
56
53
|
|
|
57
54
|
cursor: default;
|
|
@@ -65,7 +62,7 @@
|
|
|
65
62
|
--_sonic-xy-y-high: max(var(--_sonic-xy-y-origin, 0), var(--_sonic-xy-y, 0));
|
|
66
63
|
|
|
67
64
|
position: absolute;
|
|
68
|
-
inset:
|
|
65
|
+
inset: 0;
|
|
69
66
|
pointer-events: none;
|
|
70
67
|
|
|
71
68
|
&::before,
|
|
@@ -127,9 +124,8 @@
|
|
|
127
124
|
|
|
128
125
|
:is(.sonic-xy-bracket, .sonic-xy-puck) {
|
|
129
126
|
position: absolute;
|
|
130
|
-
inset: auto auto
|
|
131
|
-
calc(var(--_sonic-xy-
|
|
132
|
-
calc(var(--_sonic-xy-inset) + var(--_sonic-xy-x, 0) * var(--_sonic-xy-travel-x));
|
|
127
|
+
inset: auto auto calc(var(--_sonic-xy-y, 0) * var(--_sonic-xy-travel-y))
|
|
128
|
+
calc(var(--_sonic-xy-x, 0) * var(--_sonic-xy-travel-x));
|
|
133
129
|
inline-size: var(--_sonic-xy-puck);
|
|
134
130
|
block-size: var(--_sonic-xy-puck);
|
|
135
131
|
border-radius: 50%;
|
|
@@ -140,11 +136,12 @@
|
|
|
140
136
|
}
|
|
141
137
|
|
|
142
138
|
.sonic-xy-puck {
|
|
143
|
-
--_sonic-xy-puck-fill: var(--_sonic-xy-
|
|
139
|
+
--_sonic-xy-puck-fill: var(--_sonic-xy-puck-core);
|
|
144
140
|
--_sonic-xy-puck-edge: var(--_sonic-xy-puck-fill);
|
|
145
141
|
--_sonic-xy-puck-lift: color-mix(in oklab, var(--_sonic-xy-lit) 85%, #fff);
|
|
146
142
|
--_sonic-xy-puck-glow: transparent;
|
|
147
|
-
--_sonic-xy-puck-ring:
|
|
143
|
+
--_sonic-xy-puck-ring: transparent;
|
|
144
|
+
--_sonic-xy-puck-ring-width: max(2px, round(0.08 * var(--_sonic-xy-puck), var(--_sonic-snap)));
|
|
148
145
|
|
|
149
146
|
cursor: var(--_sonic-xy-cursor);
|
|
150
147
|
filter: drop-shadow(0 0 calc(0.15 * var(--_sonic-xy-puck)) var(--_sonic-xy-puck-glow));
|
|
@@ -154,15 +151,16 @@
|
|
|
154
151
|
position: absolute;
|
|
155
152
|
inset: 25%;
|
|
156
153
|
pointer-events: none;
|
|
154
|
+
outline: var(--_sonic-xy-puck-ring-width) solid var(--_sonic-xy-puck-ring);
|
|
155
|
+
outline-offset: var(--_sonic-xy-puck-ring-width);
|
|
157
156
|
content: '';
|
|
158
157
|
background: var(--_sonic-xy-puck-fill);
|
|
159
158
|
border: max(1px, 0.08 * var(--_sonic-xy-puck)) solid var(--_sonic-xy-puck-edge);
|
|
160
159
|
border-radius: 50%;
|
|
161
|
-
box-shadow: var(--_sonic-xy-puck-ring);
|
|
162
160
|
transition:
|
|
163
161
|
background-color var(--_sonic-fade-duration) ease-out,
|
|
164
162
|
border-color var(--_sonic-fade-duration) ease-out,
|
|
165
|
-
|
|
163
|
+
outline-color var(--_sonic-fade-duration) ease-out;
|
|
166
164
|
}
|
|
167
165
|
}
|
|
168
166
|
|
|
@@ -174,14 +172,10 @@
|
|
|
174
172
|
|
|
175
173
|
.sonic-xy-puck:has(> :focus-visible:not([data-sonic-pointer-focus])) {
|
|
176
174
|
--_sonic-xy-puck-fill: var(--_sonic-xy-puck-lift);
|
|
177
|
-
--_sonic-xy-puck-ring:
|
|
178
|
-
0 0 0 max(2px, round(0.08 * var(--_sonic-xy-puck), var(--_sonic-snap))) var(--_sonic-glass),
|
|
179
|
-
0 0 0 max(4px, round(0.16 * var(--_sonic-xy-puck), var(--_sonic-snap))) var(--_sonic-focus);
|
|
175
|
+
--_sonic-xy-puck-ring: var(--_sonic-focus);
|
|
180
176
|
}
|
|
181
177
|
|
|
182
178
|
:state(dragging) > .sonic-xy > .sonic-xy-puck {
|
|
183
|
-
--_sonic-xy-puck-fill: var(--_sonic-glass);
|
|
184
|
-
--_sonic-xy-puck-edge: var(--_sonic-xy-lit);
|
|
185
179
|
--_sonic-xy-puck-glow: color-mix(
|
|
186
180
|
in oklab,
|
|
187
181
|
var(--_sonic-xy-lit) calc(30% * var(--_sonic-relief)),
|
|
@@ -200,7 +194,6 @@
|
|
|
200
194
|
.sonic-xy {
|
|
201
195
|
--_sonic-lit: Highlight;
|
|
202
196
|
--_sonic-unlit: GrayText;
|
|
203
|
-
--_sonic-glass: Canvas;
|
|
204
197
|
}
|
|
205
198
|
|
|
206
199
|
.sonic-xy-field {
|
|
@@ -211,9 +204,18 @@
|
|
|
211
204
|
--_sonic-xy-puck-fill: CanvasText;
|
|
212
205
|
--_sonic-xy-puck-lift: CanvasText;
|
|
213
206
|
--_sonic-xy-puck-glow: transparent;
|
|
214
|
-
--_sonic-xy-puck-ring: 0 0 transparent;
|
|
215
207
|
|
|
216
208
|
forced-color-adjust: none;
|
|
209
|
+
|
|
210
|
+
/* The axis's own outline is the focus here */
|
|
211
|
+
&::before {
|
|
212
|
+
outline-style: none;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
:state(dragging) > .sonic-xy > .sonic-xy-puck {
|
|
217
|
+
--_sonic-xy-puck-fill: Canvas;
|
|
218
|
+
--_sonic-xy-puck-edge: var(--_sonic-xy-lit);
|
|
217
219
|
}
|
|
218
220
|
|
|
219
221
|
.sonic-xy-axis {
|