@xsynaptic/sonic-ui 0.24.0 → 0.25.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/CHANGELOG.md +34 -2
- package/README.md +5 -3
- package/dist/default/define/region.js +7 -0
- package/dist/default/define.js +1 -0
- package/dist/default/elements/envelope.js +11 -11
- package/dist/default/elements/form-element.js +10 -0
- package/dist/default/elements/readout.js +3 -2
- package/dist/default/elements/region-layer.js +251 -0
- package/dist/default/elements/region.js +157 -0
- package/dist/default/elements/sonic-element.js +26 -4
- package/dist/default/elements/split.js +2 -2
- package/dist/default/elements/toggle.js +2 -2
- package/dist/default/elements/value-element.js +9 -5
- package/dist/default/elements/value-gestures.js +7 -5
- package/dist/default/elements/wave-element.js +12 -3
- package/dist/default/elements/waveform.js +38 -2
- package/dist/default/elements/wavestrip.js +90 -17
- package/dist/default/elements/xy.js +3 -11
- package/dist/default/index.js +2 -1
- package/dist/default/lib/clock.js +1 -0
- package/dist/default/lib/drag-step.js +1 -1
- package/dist/default/lib/marker-band.js +40 -29
- package/dist/default/lib/region-drag.js +48 -0
- package/dist/default/lib/spoken-duration.js +3 -0
- package/dist/dev/define/region.d.ts +2 -0
- package/dist/dev/define/region.js +8 -0
- package/dist/dev/define/region.js.map +1 -0
- package/dist/dev/define.d.ts +3 -1
- package/dist/dev/define.js +1 -0
- package/dist/dev/elements/envelope.js +11 -11
- package/dist/dev/elements/envelope.js.map +1 -1
- package/dist/dev/elements/form-element.d.ts +1 -0
- package/dist/dev/elements/form-element.js +10 -0
- package/dist/dev/elements/form-element.js.map +1 -1
- package/dist/dev/elements/readout.js +3 -2
- package/dist/dev/elements/readout.js.map +1 -1
- package/dist/dev/elements/region-layer.js +252 -0
- package/dist/dev/elements/region-layer.js.map +1 -0
- package/dist/dev/elements/region.d.ts +29 -0
- package/dist/dev/elements/region.js +165 -0
- package/dist/dev/elements/region.js.map +1 -0
- package/dist/dev/elements/sonic-element.d.ts +1 -0
- package/dist/dev/elements/sonic-element.js +27 -5
- package/dist/dev/elements/sonic-element.js.map +1 -1
- package/dist/dev/elements/split.js +2 -2
- package/dist/dev/elements/split.js.map +1 -1
- package/dist/dev/elements/toggle.js +2 -2
- package/dist/dev/elements/toggle.js.map +1 -1
- package/dist/dev/elements/value-element.d.ts +3 -1
- package/dist/dev/elements/value-element.js +9 -5
- package/dist/dev/elements/value-element.js.map +1 -1
- package/dist/dev/elements/value-gestures.js +7 -5
- package/dist/dev/elements/value-gestures.js.map +1 -1
- package/dist/dev/elements/wave-element.d.ts +7 -1
- package/dist/dev/elements/wave-element.js +12 -3
- package/dist/dev/elements/wave-element.js.map +1 -1
- package/dist/dev/elements/waveform.d.ts +7 -0
- package/dist/dev/elements/waveform.js +38 -2
- package/dist/dev/elements/waveform.js.map +1 -1
- package/dist/dev/elements/wavestrip.d.ts +17 -1
- package/dist/dev/elements/wavestrip.js +90 -17
- package/dist/dev/elements/wavestrip.js.map +1 -1
- package/dist/dev/elements/xy.js +3 -11
- 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/clock.js +1 -0
- package/dist/dev/lib/clock.js.map +1 -1
- package/dist/dev/lib/drag-step.js +1 -1
- package/dist/dev/lib/drag-step.js.map +1 -1
- package/dist/dev/lib/marker-band.d.ts +7 -0
- package/dist/dev/lib/marker-band.js +40 -29
- package/dist/dev/lib/marker-band.js.map +1 -1
- package/dist/dev/lib/region-drag.js +49 -0
- package/dist/dev/lib/region-drag.js.map +1 -0
- package/dist/dev/lib/spoken-duration.js +3 -0
- package/dist/dev/lib/spoken-duration.js.map +1 -1
- package/dist/styles/button.css +42 -15
- package/dist/styles/controls.css +1 -0
- package/dist/styles/dial.css +48 -33
- package/dist/styles/envelope.css +7 -6
- package/dist/styles/led.css +28 -13
- package/dist/styles/material/arc.css +2 -2
- package/dist/styles/material/cap.css +25 -15
- package/dist/styles/material/core.css +53 -1
- package/dist/styles/material/glass.css +12 -2
- package/dist/styles/material/groove.css +3 -3
- package/dist/styles/material/keycap.css +5 -5
- package/dist/styles/material/lens.css +1 -1
- package/dist/styles/material/pane.css +21 -11
- package/dist/styles/material/readout.css +23 -10
- package/dist/styles/material/{bracket.css → reticle.css} +15 -8
- package/dist/styles/material/scale.css +4 -4
- package/dist/styles/material/value.css +12 -3
- package/dist/styles/material/well.css +2 -2
- package/dist/styles/material.css +1 -1
- package/dist/styles/meter.css +24 -11
- package/dist/styles/number.css +2 -1
- package/dist/styles/panel.css +5 -6
- package/dist/styles/region.css +88 -0
- package/dist/styles/ring.css +5 -4
- package/dist/styles/screen.css +7 -5
- package/dist/styles/segmented.css +8 -7
- package/dist/styles/slider.css +40 -32
- package/dist/styles/spectrum.css +9 -1
- package/dist/styles/switch.css +52 -53
- package/dist/styles/toggle.css +33 -38
- package/dist/styles/waveform.css +5 -4
- package/dist/styles/wavestrip.css +15 -12
- package/dist/styles/xy.css +19 -19
- package/package.json +3 -2
package/dist/styles/switch.css
CHANGED
|
@@ -60,17 +60,21 @@
|
|
|
60
60
|
grid-template: var(--_sonic-switch-size) / var(--_sonic-switch-size);
|
|
61
61
|
place-items: center;
|
|
62
62
|
line-height: 1;
|
|
63
|
-
user-select: none;
|
|
63
|
+
-webkit-user-select: none;
|
|
64
|
+
user-select: none;
|
|
64
65
|
transition: --_sonic-switch-at 90ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
66
|
+
}
|
|
65
67
|
|
|
66
68
|
@media (prefers-reduced-motion: reduce) {
|
|
69
|
+
|
|
70
|
+
.sonic-switch {
|
|
67
71
|
transition: none;
|
|
72
|
+
}
|
|
68
73
|
}
|
|
69
74
|
|
|
70
|
-
|
|
75
|
+
.sonic-switch > * {
|
|
71
76
|
grid-area: 1 / 1;
|
|
72
77
|
}
|
|
73
|
-
}
|
|
74
78
|
|
|
75
79
|
[orientation='horizontal'] > .sonic-switch {
|
|
76
80
|
--_sonic-switch-along-x: 1;
|
|
@@ -99,20 +103,20 @@
|
|
|
99
103
|
cursor: pointer;
|
|
100
104
|
background: transparent;
|
|
101
105
|
border: 0;
|
|
106
|
+
}
|
|
102
107
|
|
|
103
|
-
|
|
108
|
+
.sonic-switch-position:disabled {
|
|
104
109
|
cursor: default;
|
|
105
110
|
}
|
|
106
111
|
|
|
107
|
-
|
|
112
|
+
.sonic-switch-position:focus-visible {
|
|
108
113
|
outline: var(--sonic-focus-outline, 2px solid transparent);
|
|
109
114
|
outline-offset: var(--sonic-focus-outline-offset, -2px);
|
|
110
115
|
}
|
|
111
116
|
|
|
112
|
-
|
|
117
|
+
.sonic-switch-position:has([data-sonic-momentary]) {
|
|
113
118
|
touch-action: none;
|
|
114
119
|
}
|
|
115
|
-
}
|
|
116
120
|
|
|
117
121
|
.sonic-switch[data-sonic-position-count] > .sonic-switch-position::after {
|
|
118
122
|
inset-block: 0;
|
|
@@ -128,71 +132,68 @@
|
|
|
128
132
|
.sonic-switch-label {
|
|
129
133
|
padding: calc(var(--_sonic-switch-size) * 0.12);
|
|
130
134
|
white-space: nowrap;
|
|
135
|
+
}
|
|
131
136
|
|
|
132
|
-
|
|
137
|
+
.sonic-switch-label svg {
|
|
133
138
|
display: block;
|
|
134
139
|
inline-size: 1em;
|
|
135
140
|
block-size: 1em;
|
|
136
141
|
}
|
|
137
|
-
}
|
|
138
142
|
|
|
139
143
|
.sonic-switch-position:disabled > .sonic-switch-label {
|
|
140
144
|
color: var(--sonic-ink-disabled, color-mix(in oklab, currentcolor 30%, transparent));
|
|
141
145
|
}
|
|
142
|
-
|
|
143
|
-
.sonic-switch[data-sonic-position-count] {
|
|
144
|
-
& > :is(.sonic-switch-bushing, .sonic-switch-bat) {
|
|
146
|
+
.sonic-switch[data-sonic-position-count] > :is(.sonic-switch-bushing,.sonic-switch-bat) {
|
|
145
147
|
grid-area: 2 / 1 / -2 / 2;
|
|
146
148
|
}
|
|
147
149
|
|
|
148
|
-
|
|
150
|
+
.sonic-switch[data-sonic-position-count] > .sonic-switch-position {
|
|
149
151
|
grid-template: subgrid / subgrid;
|
|
150
152
|
}
|
|
151
|
-
}
|
|
152
153
|
|
|
153
154
|
.sonic-switch[data-sonic-position-count='2'] {
|
|
154
155
|
grid-template:
|
|
155
156
|
auto repeat(2, calc(var(--_sonic-switch-size) / 2)) auto /
|
|
156
157
|
minmax(var(--_sonic-switch-size), auto);
|
|
158
|
+
}
|
|
157
159
|
|
|
158
|
-
|
|
160
|
+
.sonic-switch[data-sonic-position-count='2'] > .sonic-switch-position {
|
|
159
161
|
grid-area: 1 / 1 / 3 / 2;
|
|
162
|
+
}
|
|
160
163
|
|
|
161
|
-
|
|
164
|
+
:is(.sonic-switch[data-sonic-position-count='2'] > .sonic-switch-position):last-child {
|
|
162
165
|
grid-area: 3 / 1 / 5 / 2;
|
|
166
|
+
}
|
|
163
167
|
|
|
164
|
-
|
|
168
|
+
:is(.sonic-switch[data-sonic-position-count='2'] > .sonic-switch-position):last-child > .sonic-switch-label {
|
|
165
169
|
grid-row: 2;
|
|
166
170
|
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
171
|
|
|
171
172
|
.sonic-switch[data-sonic-position-count='3'] {
|
|
172
173
|
grid-template:
|
|
173
174
|
auto repeat(3, calc(var(--_sonic-switch-size) / 3)) auto /
|
|
174
175
|
minmax(var(--_sonic-switch-size), auto) auto;
|
|
176
|
+
}
|
|
175
177
|
|
|
176
|
-
|
|
178
|
+
.sonic-switch[data-sonic-position-count='3'] > .sonic-switch-position {
|
|
177
179
|
grid-area: 1 / 1 / 3 / 2;
|
|
180
|
+
}
|
|
178
181
|
|
|
179
|
-
|
|
182
|
+
:is(.sonic-switch[data-sonic-position-count='3'] > .sonic-switch-position):last-child {
|
|
180
183
|
grid-area: 4 / 1 / 6 / 2;
|
|
184
|
+
}
|
|
181
185
|
|
|
182
|
-
|
|
186
|
+
:is(.sonic-switch[data-sonic-position-count='3'] > .sonic-switch-position):last-child > .sonic-switch-label {
|
|
183
187
|
grid-row: 2;
|
|
184
188
|
}
|
|
185
|
-
}
|
|
186
189
|
|
|
187
|
-
|
|
190
|
+
:is(.sonic-switch[data-sonic-position-count='3'] > .sonic-switch-position):nth-child(2 of .sonic-switch-position) {
|
|
188
191
|
grid-area: 3 / 1 / 4 / 3;
|
|
192
|
+
}
|
|
189
193
|
|
|
190
|
-
|
|
194
|
+
:is(.sonic-switch[data-sonic-position-count='3'] > .sonic-switch-position):nth-child(2 of .sonic-switch-position) > .sonic-switch-label {
|
|
191
195
|
grid-column: 2;
|
|
192
196
|
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
197
|
|
|
197
198
|
[orientation='horizontal']
|
|
198
199
|
> .sonic-switch[data-sonic-position-count]
|
|
@@ -204,45 +205,45 @@
|
|
|
204
205
|
grid-template:
|
|
205
206
|
minmax(var(--_sonic-switch-size), auto) /
|
|
206
207
|
auto repeat(2, calc(var(--_sonic-switch-size) / 2)) auto;
|
|
208
|
+
}
|
|
207
209
|
|
|
208
|
-
|
|
210
|
+
:is([orientation='horizontal'] > .sonic-switch[data-sonic-position-count='2']) > .sonic-switch-position {
|
|
209
211
|
grid-area: 1 / 1 / 2 / 3;
|
|
212
|
+
}
|
|
210
213
|
|
|
211
|
-
|
|
214
|
+
:is(:is([orientation='horizontal'] > .sonic-switch[data-sonic-position-count='2']) > .sonic-switch-position):last-child {
|
|
212
215
|
grid-area: 1 / 3 / 2 / 5;
|
|
216
|
+
}
|
|
213
217
|
|
|
214
|
-
|
|
218
|
+
:is(:is([orientation='horizontal'] > .sonic-switch[data-sonic-position-count='2']) > .sonic-switch-position):last-child > .sonic-switch-label {
|
|
215
219
|
grid-area: 1 / 2;
|
|
216
220
|
}
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
221
|
|
|
221
222
|
[orientation='horizontal'] > .sonic-switch[data-sonic-position-count='3'] {
|
|
222
223
|
grid-template:
|
|
223
224
|
minmax(var(--_sonic-switch-size), auto) auto /
|
|
224
225
|
auto repeat(3, calc(var(--_sonic-switch-size) / 3)) auto;
|
|
226
|
+
}
|
|
225
227
|
|
|
226
|
-
|
|
228
|
+
:is([orientation='horizontal'] > .sonic-switch[data-sonic-position-count='3']) > .sonic-switch-position {
|
|
227
229
|
grid-area: 1 / 1 / 2 / 3;
|
|
230
|
+
}
|
|
228
231
|
|
|
229
|
-
|
|
232
|
+
:is(:is([orientation='horizontal'] > .sonic-switch[data-sonic-position-count='3']) > .sonic-switch-position):last-child {
|
|
230
233
|
grid-area: 1 / 4 / 2 / 6;
|
|
234
|
+
}
|
|
231
235
|
|
|
232
|
-
|
|
236
|
+
:is(:is([orientation='horizontal'] > .sonic-switch[data-sonic-position-count='3']) > .sonic-switch-position):last-child > .sonic-switch-label {
|
|
233
237
|
grid-area: 1 / 2;
|
|
234
238
|
}
|
|
235
|
-
}
|
|
236
239
|
|
|
237
|
-
|
|
240
|
+
:is(:is([orientation='horizontal'] > .sonic-switch[data-sonic-position-count='3']) > .sonic-switch-position):nth-child(2 of .sonic-switch-position) {
|
|
238
241
|
grid-area: 1 / 3 / 3 / 4;
|
|
242
|
+
}
|
|
239
243
|
|
|
240
|
-
|
|
244
|
+
:is(:is([orientation='horizontal'] > .sonic-switch[data-sonic-position-count='3']) > .sonic-switch-position):nth-child(2 of .sonic-switch-position) > .sonic-switch-label {
|
|
241
245
|
grid-area: 2 / 1;
|
|
242
246
|
}
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
247
|
|
|
247
248
|
.sonic-switch-bushing {
|
|
248
249
|
--_sonic-switch-bushing-shade: color-mix(
|
|
@@ -325,9 +326,9 @@
|
|
|
325
326
|
calc((1 + var(--_sonic-switch-lean)) * var(--_sonic-cast-y)) calc(1.5 * var(--_sonic-unit))
|
|
326
327
|
var(--_sonic-drop-shade)
|
|
327
328
|
);
|
|
329
|
+
}
|
|
328
330
|
|
|
329
|
-
|
|
330
|
-
&::after {
|
|
331
|
+
.sonic-switch-bat::before,.sonic-switch-bat::after {
|
|
331
332
|
position: absolute;
|
|
332
333
|
inset: 0;
|
|
333
334
|
margin: auto;
|
|
@@ -338,7 +339,7 @@
|
|
|
338
339
|
box-shadow: 0 0 0 var(--_sonic-switch-outline) var(--_sonic-switch-rim);
|
|
339
340
|
}
|
|
340
341
|
|
|
341
|
-
|
|
342
|
+
.sonic-switch-bat::before {
|
|
342
343
|
--_sonic-switch-shaft-top: calc(
|
|
343
344
|
var(--_sonic-switch-pivot) + var(--_sonic-switch-along-y) *
|
|
344
345
|
min(0px, var(--_sonic-switch-throw))
|
|
@@ -362,20 +363,19 @@
|
|
|
362
363
|
calc(-1 * var(--_sonic-switch-shaft-top));
|
|
363
364
|
}
|
|
364
365
|
|
|
365
|
-
|
|
366
|
+
.sonic-switch-bat::after {
|
|
366
367
|
inline-size: var(--_sonic-switch-ball);
|
|
367
368
|
block-size: var(--_sonic-switch-ball);
|
|
368
369
|
background-position: calc((var(--_sonic-switch-ball) - var(--_sonic-switch-size)) / 2)
|
|
369
370
|
calc((var(--_sonic-switch-ball) - var(--_sonic-switch-size)) / 2);
|
|
370
371
|
box-shadow:
|
|
371
372
|
inset 0 0 calc(1.5 * var(--_sonic-unit)) calc(0.4 * var(--_sonic-unit))
|
|
372
|
-
|
|
373
|
+
color-mix(in srgb, var(--_sonic-shade) calc(30% * var(--_sonic-relief)), transparent),
|
|
373
374
|
0 0 0 var(--_sonic-switch-outline) var(--_sonic-switch-rim),
|
|
374
375
|
var(--_sonic-focus-shadow);
|
|
375
376
|
translate: calc(var(--_sonic-switch-along-x) * var(--_sonic-switch-throw))
|
|
376
377
|
calc(var(--_sonic-switch-along-y) * var(--_sonic-switch-throw));
|
|
377
378
|
}
|
|
378
|
-
}
|
|
379
379
|
|
|
380
380
|
.sonic-switch:has(> .sonic-switch-position:focus-visible) {
|
|
381
381
|
--_sonic-focus-shadow: var(--_sonic-focus-glow);
|
|
@@ -414,13 +414,12 @@
|
|
|
414
414
|
|
|
415
415
|
.sonic-switch-bat {
|
|
416
416
|
filter: none;
|
|
417
|
+
}
|
|
417
418
|
|
|
418
|
-
|
|
419
|
-
&::after {
|
|
419
|
+
.sonic-switch-bat::before,.sonic-switch-bat::after {
|
|
420
420
|
background: var(--_sonic-switch-metal);
|
|
421
421
|
box-shadow: none;
|
|
422
422
|
}
|
|
423
|
-
}
|
|
424
423
|
|
|
425
424
|
.sonic-switch-position:focus-visible {
|
|
426
425
|
outline-offset: 2px;
|
package/dist/styles/toggle.css
CHANGED
|
@@ -105,7 +105,8 @@
|
|
|
105
105
|
grid-auto-flow: column;
|
|
106
106
|
line-height: 1;
|
|
107
107
|
touch-action: pan-y;
|
|
108
|
-
user-select: none;
|
|
108
|
+
-webkit-user-select: none;
|
|
109
|
+
user-select: none;
|
|
109
110
|
transition:
|
|
110
111
|
--_sonic-toggle-at 120ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
111
112
|
--_sonic-toggle-sink var(--_sonic-press-duration) cubic-bezier(0.4, 0, 0.2, 1);
|
|
@@ -222,8 +223,9 @@
|
|
|
222
223
|
transition:
|
|
223
224
|
scale var(--_sonic-press-duration) cubic-bezier(0.4, 0, 0.2, 1),
|
|
224
225
|
box-shadow var(--_sonic-press-duration) cubic-bezier(0.4, 0, 0.2, 1);
|
|
226
|
+
}
|
|
225
227
|
|
|
226
|
-
|
|
228
|
+
.sonic-toggle-cap > .sonic-led {
|
|
227
229
|
--_sonic-led-size: var(
|
|
228
230
|
--sonic-led-size,
|
|
229
231
|
calc(var(--_sonic-toggle-size) * var(--_sonic-toggle-led-ratio))
|
|
@@ -233,10 +235,9 @@
|
|
|
233
235
|
box-shadow: inset 0 0 0 max(1px, 0.1 * var(--_sonic-led-size)) var(--_sonic-toggle-led-ring);
|
|
234
236
|
}
|
|
235
237
|
|
|
236
|
-
|
|
238
|
+
.sonic-toggle-cap > * {
|
|
237
239
|
color: var(--_sonic-toggle-legend);
|
|
238
240
|
}
|
|
239
|
-
}
|
|
240
241
|
|
|
241
242
|
.sonic-toggle-position {
|
|
242
243
|
position: relative;
|
|
@@ -313,11 +314,11 @@
|
|
|
313
314
|
translate: calc(var(--_sonic-toggle-along-x) * var(--_sonic-toggle-ride))
|
|
314
315
|
calc(var(--_sonic-toggle-along-y) * var(--_sonic-toggle-ride) + var(--_sonic-toggle-sink));
|
|
315
316
|
transition: opacity var(--_sonic-fade-duration) ease-out;
|
|
317
|
+
}
|
|
316
318
|
|
|
317
|
-
|
|
319
|
+
.sonic-toggle-legend > * {
|
|
318
320
|
filter: var(--_sonic-engraving);
|
|
319
321
|
}
|
|
320
|
-
}
|
|
321
322
|
|
|
322
323
|
:is(.sonic-toggle-cap, .sonic-toggle-legend) > svg {
|
|
323
324
|
display: block;
|
|
@@ -331,25 +332,23 @@
|
|
|
331
332
|
|
|
332
333
|
.sonic-toggle-position[aria-checked='true']:has([data-sonic-lit]) > .sonic-toggle-legend {
|
|
333
334
|
color: var(--_sonic-toggle-legend-lit);
|
|
335
|
+
}
|
|
334
336
|
|
|
335
|
-
|
|
337
|
+
:is(.sonic-toggle-position[aria-checked='true']:has([data-sonic-lit]) > .sonic-toggle-legend) > * {
|
|
336
338
|
filter: var(--_sonic-engraving) var(--_sonic-legend-glow);
|
|
337
339
|
}
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
[legends='outside'] > .sonic-toggle[data-sonic-position-count] {
|
|
341
|
-
& > :is(.sonic-toggle-well, .sonic-toggle-cap) {
|
|
340
|
+
:is([legends='outside'] > .sonic-toggle[data-sonic-position-count]) > :is(.sonic-toggle-well,.sonic-toggle-cap) {
|
|
342
341
|
grid-area: 1 / 2 / 2 / -2;
|
|
343
342
|
}
|
|
344
343
|
|
|
345
|
-
|
|
344
|
+
:is([legends='outside'] > .sonic-toggle[data-sonic-position-count]) > .sonic-toggle-position {
|
|
346
345
|
display: grid;
|
|
347
346
|
grid-area: 1 / 1 / 2 / 3;
|
|
348
347
|
grid-template: subgrid / subgrid;
|
|
349
348
|
place-items: center;
|
|
350
349
|
}
|
|
351
350
|
|
|
352
|
-
|
|
351
|
+
:is([legends='outside'] > .sonic-toggle[data-sonic-position-count]) > .sonic-toggle-position > .sonic-toggle-legend {
|
|
353
352
|
position: static;
|
|
354
353
|
display: block;
|
|
355
354
|
inline-size: auto;
|
|
@@ -360,86 +359,82 @@
|
|
|
360
359
|
pointer-events: auto;
|
|
361
360
|
opacity: 1;
|
|
362
361
|
translate: none;
|
|
362
|
+
}
|
|
363
363
|
|
|
364
|
-
|
|
364
|
+
:is(:is([legends='outside'] > .sonic-toggle[data-sonic-position-count]) > .sonic-toggle-position > .sonic-toggle-legend) > * {
|
|
365
365
|
filter: none;
|
|
366
366
|
}
|
|
367
|
-
}
|
|
368
367
|
|
|
369
|
-
|
|
368
|
+
:is([legends='outside'] > .sonic-toggle[data-sonic-position-count]) > .sonic-toggle-position:disabled > .sonic-toggle-legend {
|
|
370
369
|
color: var(--sonic-ink-disabled, color-mix(in oklab, currentcolor 30%, transparent));
|
|
371
370
|
}
|
|
372
371
|
|
|
373
|
-
|
|
372
|
+
:is([legends='outside'] > .sonic-toggle[data-sonic-position-count]) > .sonic-toggle-position:last-child > .sonic-toggle-legend {
|
|
374
373
|
grid-column: 2;
|
|
375
374
|
}
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
[legends='outside'][orientation='vertical'] > .sonic-toggle[data-sonic-position-count] {
|
|
379
|
-
& > :is(.sonic-toggle-well, .sonic-toggle-cap) {
|
|
375
|
+
:is([legends='outside'][orientation='vertical'] > .sonic-toggle[data-sonic-position-count]) > :is(.sonic-toggle-well,.sonic-toggle-cap) {
|
|
380
376
|
grid-area: 2 / 1 / -2 / 2;
|
|
381
377
|
}
|
|
382
378
|
|
|
383
|
-
|
|
379
|
+
:is([legends='outside'][orientation='vertical'] > .sonic-toggle[data-sonic-position-count]) > .sonic-toggle-position {
|
|
384
380
|
grid-area: 1 / 1 / 3 / 2;
|
|
385
381
|
}
|
|
386
382
|
|
|
387
|
-
|
|
383
|
+
:is([legends='outside'][orientation='vertical'] > .sonic-toggle[data-sonic-position-count]) > .sonic-toggle-position:last-child > .sonic-toggle-legend {
|
|
388
384
|
grid-area: 2 / 1;
|
|
389
385
|
}
|
|
390
|
-
}
|
|
391
386
|
|
|
392
387
|
[legends='outside'] > .sonic-toggle[data-sonic-position-count='2'] {
|
|
393
388
|
grid-template: var(--_sonic-toggle-size) / auto repeat(2, var(--_sonic-toggle-slice)) auto;
|
|
389
|
+
}
|
|
394
390
|
|
|
395
|
-
|
|
391
|
+
:is([legends='outside'] > .sonic-toggle[data-sonic-position-count='2']) > .sonic-toggle-position:last-child {
|
|
396
392
|
grid-area: 1 / 3 / 2 / 5;
|
|
397
393
|
}
|
|
398
|
-
}
|
|
399
394
|
|
|
400
395
|
[legends='outside'] > .sonic-toggle[data-sonic-position-count='3'] {
|
|
401
396
|
grid-template: var(--_sonic-toggle-size) auto / auto repeat(3, var(--_sonic-toggle-slice)) auto;
|
|
397
|
+
}
|
|
402
398
|
|
|
403
|
-
|
|
399
|
+
:is([legends='outside'] > .sonic-toggle[data-sonic-position-count='3']) > .sonic-toggle-position:last-child {
|
|
404
400
|
grid-area: 1 / 4 / 2 / 6;
|
|
405
401
|
}
|
|
406
402
|
|
|
407
|
-
|
|
403
|
+
:is([legends='outside'] > .sonic-toggle[data-sonic-position-count='3']) > .sonic-toggle-position:nth-child(2 of .sonic-toggle-position) {
|
|
408
404
|
grid-area: 1 / 3 / 3 / 4;
|
|
405
|
+
}
|
|
409
406
|
|
|
410
|
-
|
|
407
|
+
:is(:is([legends='outside'] > .sonic-toggle[data-sonic-position-count='3']) > .sonic-toggle-position:nth-child(2 of .sonic-toggle-position)) > .sonic-toggle-legend {
|
|
411
408
|
grid-row: 2;
|
|
412
409
|
}
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
410
|
|
|
416
411
|
[legends='outside'][orientation='vertical'] > .sonic-toggle[data-sonic-position-count='2'] {
|
|
417
412
|
grid-template:
|
|
418
413
|
auto repeat(2, var(--_sonic-toggle-slice)) auto /
|
|
419
414
|
minmax(var(--_sonic-toggle-size), auto);
|
|
415
|
+
}
|
|
420
416
|
|
|
421
|
-
|
|
417
|
+
:is([legends='outside'][orientation='vertical'] > .sonic-toggle[data-sonic-position-count='2']) > .sonic-toggle-position:last-child {
|
|
422
418
|
grid-area: 3 / 1 / 5 / 2;
|
|
423
419
|
}
|
|
424
|
-
}
|
|
425
420
|
|
|
426
421
|
[legends='outside'][orientation='vertical'] > .sonic-toggle[data-sonic-position-count='3'] {
|
|
427
422
|
grid-template:
|
|
428
423
|
auto repeat(3, var(--_sonic-toggle-slice)) auto /
|
|
429
424
|
minmax(var(--_sonic-toggle-size), auto) auto;
|
|
425
|
+
}
|
|
430
426
|
|
|
431
|
-
|
|
427
|
+
:is([legends='outside'][orientation='vertical'] > .sonic-toggle[data-sonic-position-count='3']) > .sonic-toggle-position:last-child {
|
|
432
428
|
grid-area: 4 / 1 / 6 / 2;
|
|
433
429
|
}
|
|
434
430
|
|
|
435
|
-
|
|
431
|
+
:is([legends='outside'][orientation='vertical'] > .sonic-toggle[data-sonic-position-count='3']) > .sonic-toggle-position:nth-child(2 of .sonic-toggle-position) {
|
|
436
432
|
grid-area: 3 / 1 / 4 / 3;
|
|
433
|
+
}
|
|
437
434
|
|
|
438
|
-
|
|
435
|
+
:is(:is([legends='outside'][orientation='vertical'] > .sonic-toggle[data-sonic-position-count='3']) > .sonic-toggle-position:nth-child(2 of .sonic-toggle-position)) > .sonic-toggle-legend {
|
|
439
436
|
grid-area: 1 / 2;
|
|
440
437
|
}
|
|
441
|
-
}
|
|
442
|
-
}
|
|
443
438
|
|
|
444
439
|
@media (prefers-reduced-motion: reduce) {
|
|
445
440
|
.sonic-toggle,
|
package/dist/styles/waveform.css
CHANGED
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
--_sonic-waveform-lit: var(--_sonic-lit);
|
|
136
136
|
--_sonic-waveform-wave: var(--_sonic-waveform-lit);
|
|
137
137
|
--_sonic-waveform-shade: var(--_sonic-shade);
|
|
138
|
-
--_sonic-waveform-shade-clear:
|
|
138
|
+
--_sonic-waveform-shade-clear: color-mix(in srgb, var(--_sonic-shade) 0%, transparent);
|
|
139
139
|
--_sonic-waveform-edge-shade: var(--sonic-waveform-edge-shade, 0);
|
|
140
140
|
--_sonic-waveform-band-opacity: calc(
|
|
141
141
|
var(--sonic-waveform-band-opacity, 1) * var(--_sonic-waveform-band-dim, 1)
|
|
@@ -175,7 +175,8 @@
|
|
|
175
175
|
overflow: hidden;
|
|
176
176
|
touch-action: var(--sonic-touch-action, pan-y);
|
|
177
177
|
cursor: grab;
|
|
178
|
-
user-select: none;
|
|
178
|
+
-webkit-user-select: none;
|
|
179
|
+
user-select: none;
|
|
179
180
|
box-shadow: var(--_sonic-focus-shadow);
|
|
180
181
|
}
|
|
181
182
|
|
|
@@ -280,12 +281,12 @@
|
|
|
280
281
|
|
|
281
282
|
.sonic-waveform-label {
|
|
282
283
|
color: CanvasText;
|
|
284
|
+
}
|
|
283
285
|
|
|
284
|
-
|
|
286
|
+
.sonic-waveform-label[data-sonic-dimmed] {
|
|
285
287
|
color: GrayText;
|
|
286
288
|
filter: none;
|
|
287
289
|
}
|
|
288
|
-
}
|
|
289
290
|
|
|
290
291
|
.sonic-waveform-playhead {
|
|
291
292
|
background: CanvasText;
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
--_sonic-marker-step: calc(var(--_sonic-marker-size) + var(--_sonic-marker-edge));
|
|
124
124
|
--_sonic-marker-default: var(--sonic-marker, var(--_sonic-ink));
|
|
125
125
|
--_sonic-wavestrip-wave: var(
|
|
126
|
-
--sonic-
|
|
126
|
+
--sonic-unplayed,
|
|
127
127
|
color-mix(in oklab, var(--_sonic-ink) 30%, var(--_sonic-unlit))
|
|
128
128
|
);
|
|
129
129
|
--_sonic-wavestrip-buffered: var(
|
|
@@ -143,8 +143,8 @@
|
|
|
143
143
|
container-type: size;
|
|
144
144
|
touch-action: var(--sonic-touch-action, pan-y);
|
|
145
145
|
cursor: ew-resize;
|
|
146
|
-
user-select: none;
|
|
147
|
-
|
|
146
|
+
-webkit-user-select: none;
|
|
147
|
+
user-select: none;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
[fill] > .sonic-wavestrip,
|
|
@@ -166,9 +166,10 @@
|
|
|
166
166
|
display: block;
|
|
167
167
|
inline-size: 100%;
|
|
168
168
|
block-size: 100%;
|
|
169
|
+
box-shadow: var(--_sonic-focus-shadow);
|
|
169
170
|
}
|
|
170
171
|
|
|
171
|
-
.sonic-wavestrip-markers {
|
|
172
|
+
:is(.sonic-wavestrip-markers, .sonic-wavestrip-regions) {
|
|
172
173
|
position: absolute;
|
|
173
174
|
inset: 0;
|
|
174
175
|
pointer-events: none;
|
|
@@ -178,24 +179,26 @@
|
|
|
178
179
|
--_sonic-marker-colour: var(--_sonic-marker, var(--_sonic-marker-default));
|
|
179
180
|
|
|
180
181
|
position: absolute;
|
|
182
|
+
}
|
|
181
183
|
|
|
182
|
-
|
|
184
|
+
[data-sonic-dimmed]:is(.sonic-wavestrip-marker,.sonic-wavestrip-region) {
|
|
183
185
|
--_sonic-marker-colour: color-mix(
|
|
184
186
|
in oklab,
|
|
185
187
|
var(--_sonic-marker, var(--_sonic-marker-default)) 45%,
|
|
186
188
|
transparent
|
|
187
189
|
);
|
|
188
190
|
}
|
|
189
|
-
}
|
|
190
191
|
|
|
191
192
|
.sonic-wavestrip-marker {
|
|
192
193
|
inset: calc(var(--_sonic-marker-lane, 0) * var(--_sonic-marker-step)) auto auto
|
|
193
194
|
calc(var(--_sonic-marker-from, 0) * 100% - var(--_sonic-marker-size) / 2);
|
|
194
195
|
inline-size: var(--_sonic-marker-size);
|
|
195
196
|
block-size: var(--_sonic-marker-size);
|
|
196
|
-
|
|
197
|
+
color: var(--_sonic-marker-colour);
|
|
198
|
+
background: var(--_sonic-marker-paint, var(--_sonic-marker-colour));
|
|
197
199
|
border-radius: 50%;
|
|
198
|
-
box-shadow: 0 0 0 var(--_sonic-marker-edge)
|
|
200
|
+
box-shadow: 0 0 0 var(--_sonic-marker-edge)
|
|
201
|
+
var(--_sonic-marker-paint, var(--sonic-wavestrip-marker-edge, transparent));
|
|
199
202
|
}
|
|
200
203
|
|
|
201
204
|
.sonic-wavestrip-region {
|
|
@@ -233,15 +236,15 @@
|
|
|
233
236
|
--_sonic-marker-colour: CanvasText;
|
|
234
237
|
|
|
235
238
|
forced-color-adjust: none;
|
|
239
|
+
}
|
|
236
240
|
|
|
237
|
-
|
|
241
|
+
[data-sonic-dimmed]:is(.sonic-wavestrip-marker,.sonic-wavestrip-region) {
|
|
238
242
|
--_sonic-marker-colour: GrayText;
|
|
239
243
|
}
|
|
240
|
-
}
|
|
241
244
|
|
|
242
245
|
.sonic-wavestrip-marker {
|
|
243
|
-
background: var(--_sonic-marker-colour);
|
|
244
|
-
box-shadow: 0 0 0 var(--_sonic-marker-edge) Canvas;
|
|
246
|
+
background: var(--_sonic-marker-paint, var(--_sonic-marker-colour));
|
|
247
|
+
box-shadow: 0 0 0 var(--_sonic-marker-edge) var(--_sonic-marker-paint, Canvas);
|
|
245
248
|
}
|
|
246
249
|
|
|
247
250
|
.sonic-wavestrip-region {
|
package/dist/styles/xy.css
CHANGED
|
@@ -43,7 +43,8 @@
|
|
|
43
43
|
container-type: size;
|
|
44
44
|
touch-action: none;
|
|
45
45
|
cursor: crosshair;
|
|
46
|
-
user-select: none;
|
|
46
|
+
-webkit-user-select: none;
|
|
47
|
+
user-select: none;
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
:disabled > .sonic-xy {
|
|
@@ -64,14 +65,14 @@
|
|
|
64
65
|
position: absolute;
|
|
65
66
|
inset: 0;
|
|
66
67
|
pointer-events: none;
|
|
68
|
+
}
|
|
67
69
|
|
|
68
|
-
|
|
69
|
-
&::after {
|
|
70
|
+
.sonic-xy-field::before,.sonic-xy-field::after {
|
|
70
71
|
position: absolute;
|
|
71
72
|
content: '';
|
|
72
73
|
}
|
|
73
74
|
|
|
74
|
-
|
|
75
|
+
.sonic-xy-field::before {
|
|
75
76
|
inset: auto 0
|
|
76
77
|
calc(
|
|
77
78
|
var(--_sonic-xy-y, 0) * var(--_sonic-xy-travel-y) +
|
|
@@ -84,19 +85,19 @@
|
|
|
84
85
|
transparent
|
|
85
86
|
calc(
|
|
86
87
|
var(--_sonic-xy-x-low) * var(--_sonic-xy-travel-x) + var(--_sonic-xy-puck) / 2 *
|
|
87
|
-
|
|
88
|
+
clamp(0, var(--_sonic-xy-x-low) * 100000, 1)
|
|
88
89
|
),
|
|
89
90
|
var(--_sonic-xy-lit) 0
|
|
90
91
|
calc(
|
|
91
92
|
var(--_sonic-xy-x-high) * var(--_sonic-xy-travel-x) + var(--_sonic-xy-puck) / 2 *
|
|
92
|
-
(2 -
|
|
93
|
+
(2 - clamp(0, (1 - var(--_sonic-xy-x-high)) * 100000, 1))
|
|
93
94
|
),
|
|
94
95
|
transparent 0
|
|
95
96
|
),
|
|
96
97
|
var(--_sonic-unlit);
|
|
97
98
|
}
|
|
98
99
|
|
|
99
|
-
|
|
100
|
+
.sonic-xy-field::after {
|
|
100
101
|
inset: 0 auto 0
|
|
101
102
|
calc(
|
|
102
103
|
var(--_sonic-xy-x, 0) * var(--_sonic-xy-travel-x) +
|
|
@@ -109,20 +110,19 @@
|
|
|
109
110
|
transparent
|
|
110
111
|
calc(
|
|
111
112
|
var(--_sonic-xy-y-low) * var(--_sonic-xy-travel-y) + var(--_sonic-xy-puck) / 2 *
|
|
112
|
-
|
|
113
|
+
clamp(0, var(--_sonic-xy-y-low) * 100000, 1)
|
|
113
114
|
),
|
|
114
115
|
var(--_sonic-xy-lit) 0
|
|
115
116
|
calc(
|
|
116
117
|
var(--_sonic-xy-y-high) * var(--_sonic-xy-travel-y) + var(--_sonic-xy-puck) / 2 *
|
|
117
|
-
(2 -
|
|
118
|
+
(2 - clamp(0, (1 - var(--_sonic-xy-y-high)) * 100000, 1))
|
|
118
119
|
),
|
|
119
120
|
transparent 0
|
|
120
121
|
),
|
|
121
122
|
var(--_sonic-unlit);
|
|
122
123
|
}
|
|
123
|
-
}
|
|
124
124
|
|
|
125
|
-
:is(.sonic-xy-
|
|
125
|
+
:is(.sonic-xy-reticle, .sonic-xy-puck) {
|
|
126
126
|
position: absolute;
|
|
127
127
|
inset: auto auto calc(var(--_sonic-xy-y, 0) * var(--_sonic-xy-travel-y))
|
|
128
128
|
calc(var(--_sonic-xy-x, 0) * var(--_sonic-xy-travel-x));
|
|
@@ -131,8 +131,8 @@
|
|
|
131
131
|
border-radius: 50%;
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
.sonic-xy-
|
|
135
|
-
--_sonic-
|
|
134
|
+
.sonic-xy-reticle {
|
|
135
|
+
--_sonic-reticle-size: var(--_sonic-xy-puck);
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
.sonic-xy-puck {
|
|
@@ -146,8 +146,9 @@
|
|
|
146
146
|
cursor: var(--_sonic-xy-cursor);
|
|
147
147
|
filter: drop-shadow(0 0 calc(0.15 * var(--_sonic-xy-puck)) var(--_sonic-xy-puck-glow));
|
|
148
148
|
transition: filter var(--_sonic-fade-duration) ease-out;
|
|
149
|
+
}
|
|
149
150
|
|
|
150
|
-
|
|
151
|
+
.sonic-xy-puck::before {
|
|
151
152
|
position: absolute;
|
|
152
153
|
inset: 25%;
|
|
153
154
|
pointer-events: none;
|
|
@@ -162,7 +163,6 @@
|
|
|
162
163
|
border-color var(--_sonic-fade-duration) ease-out,
|
|
163
164
|
outline-color var(--_sonic-fade-duration) ease-out;
|
|
164
165
|
}
|
|
165
|
-
}
|
|
166
166
|
|
|
167
167
|
@media (hover: hover) {
|
|
168
168
|
:not(:disabled, :state(dragging)) > .sonic-xy > .sonic-xy-puck:hover {
|
|
@@ -208,10 +208,10 @@
|
|
|
208
208
|
forced-color-adjust: none;
|
|
209
209
|
|
|
210
210
|
/* The axis's own outline is the focus here */
|
|
211
|
-
|
|
211
|
+
}
|
|
212
|
+
.sonic-xy-puck::before {
|
|
212
213
|
outline-style: none;
|
|
213
214
|
}
|
|
214
|
-
}
|
|
215
215
|
|
|
216
216
|
:state(dragging) > .sonic-xy > .sonic-xy-puck {
|
|
217
217
|
--_sonic-xy-puck-fill: Canvas;
|
|
@@ -224,10 +224,10 @@
|
|
|
224
224
|
|
|
225
225
|
.sonic-xy-axis:focus-visible {
|
|
226
226
|
outline-offset: 2px;
|
|
227
|
+
}
|
|
227
228
|
|
|
228
|
-
|
|
229
|
+
.sonic-xy-axis[data-sonic-pointer-focus]:focus-visible {
|
|
229
230
|
outline-style: none;
|
|
230
231
|
}
|
|
231
|
-
}
|
|
232
232
|
}
|
|
233
233
|
}
|