@xsynaptic/sonic-ui 0.6.0 → 0.6.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/dist/default/elements/button.js +3 -2
- package/dist/default/elements/dial.js +5 -1
- package/dist/default/elements/envelope.js +14 -2
- package/dist/default/elements/meter.js +1 -1
- package/dist/default/elements/radio-group.js +3 -2
- package/dist/default/elements/readout-claim.js +0 -29
- package/dist/default/elements/scale.js +43 -0
- package/dist/default/elements/slider.js +16 -3
- package/dist/default/elements/sonic-element.js +2 -67
- package/dist/default/elements/switch.js +1 -1
- package/dist/default/elements/value-element.js +35 -83
- package/dist/default/elements/wavestrip.js +42 -4
- package/dist/default/elements/xy.js +2 -1
- package/dist/default/lib/mirror-children.js +64 -0
- package/dist/default/lib/owned-control.js +10 -0
- package/dist/default/lib/time-regions.js +4 -1
- package/dist/dev/elements/button.js +3 -2
- package/dist/dev/elements/button.js.map +1 -1
- package/dist/dev/elements/dial.js +5 -1
- package/dist/dev/elements/dial.js.map +1 -1
- package/dist/dev/elements/envelope.js +14 -2
- package/dist/dev/elements/envelope.js.map +1 -1
- package/dist/dev/elements/meter.js +1 -1
- package/dist/dev/elements/radio-group.js +3 -2
- package/dist/dev/elements/radio-group.js.map +1 -1
- package/dist/dev/elements/readout-claim.js +0 -29
- package/dist/dev/elements/readout-claim.js.map +1 -1
- package/dist/dev/elements/scale.js +44 -0
- package/dist/dev/elements/scale.js.map +1 -0
- package/dist/dev/elements/slider.d.ts +3 -0
- package/dist/dev/elements/slider.js +16 -3
- package/dist/dev/elements/slider.js.map +1 -1
- package/dist/dev/elements/sonic-element.d.ts +0 -8
- package/dist/dev/elements/sonic-element.js +3 -90
- package/dist/dev/elements/sonic-element.js.map +1 -1
- package/dist/dev/elements/switch.js +1 -1
- package/dist/dev/elements/value-element.d.ts +3 -5
- package/dist/dev/elements/value-element.js +35 -83
- package/dist/dev/elements/value-element.js.map +1 -1
- package/dist/dev/elements/wavestrip.d.ts +4 -0
- package/dist/dev/elements/wavestrip.js +42 -4
- package/dist/dev/elements/wavestrip.js.map +1 -1
- package/dist/dev/elements/xy.js +2 -1
- package/dist/dev/elements/xy.js.map +1 -1
- package/dist/dev/lib/mirror-children.js +80 -0
- package/dist/dev/lib/mirror-children.js.map +1 -0
- package/dist/dev/lib/owned-control.js +23 -0
- package/dist/dev/lib/owned-control.js.map +1 -0
- package/dist/dev/lib/time-regions.js +4 -1
- package/dist/dev/lib/time-regions.js.map +1 -1
- package/dist/skins/flat.css +2 -1
- package/dist/styles/button.css +21 -0
- package/dist/styles/envelope.css +30 -30
- package/dist/styles/led.css +18 -2
- package/dist/styles/material.css +72 -26
- package/dist/styles/panel.css +2 -1
- package/dist/styles/switch.css +10 -7
- package/dist/styles/xy.css +14 -30
- package/package.json +1 -1
package/dist/styles/material.css
CHANGED
|
@@ -150,6 +150,10 @@
|
|
|
150
150
|
color-mix(in oklab, var(--_sonic-focus) 60%, transparent);
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
+
:is(.sonic-number, .sonic-waveform, .sonic-wavestrip, .sonic-xy) {
|
|
154
|
+
--_sonic-ink: var(--_sonic-glass-text);
|
|
155
|
+
}
|
|
156
|
+
|
|
153
157
|
:is(.sonic-dial, .sonic-number, .sonic-slider, .sonic-waveform, .sonic-wavestrip) {
|
|
154
158
|
--_sonic-detent-zone: var(--sonic-detent-zone, 8px);
|
|
155
159
|
}
|
|
@@ -179,18 +183,42 @@
|
|
|
179
183
|
.sonic-xy,
|
|
180
184
|
.sonic-xy-readout
|
|
181
185
|
) {
|
|
182
|
-
--_sonic-glass:
|
|
186
|
+
--_sonic-glass-slab: color-mix(in oklab, var(--_sonic-unlit) 45%, #000);
|
|
187
|
+
--_sonic-glass-base: var(
|
|
188
|
+
--sonic-glass,
|
|
189
|
+
color-mix(
|
|
190
|
+
in oklab,
|
|
191
|
+
var(--_sonic-glass-slab) calc(100% * var(--_sonic-relief)),
|
|
192
|
+
light-dark(oklch(97% 0.003 286deg), var(--_sonic-glass-slab))
|
|
193
|
+
)
|
|
194
|
+
);
|
|
195
|
+
--_sonic-glass: var(--_sonic-glass-base);
|
|
183
196
|
--_sonic-glass-fill: radial-gradient(
|
|
184
197
|
closest-side,
|
|
185
|
-
color-mix(
|
|
198
|
+
color-mix(
|
|
199
|
+
in oklab,
|
|
200
|
+
var(--_sonic-glass) calc(100% - 12% * var(--_sonic-glass-depth, var(--_sonic-relief))),
|
|
201
|
+
#fff
|
|
202
|
+
),
|
|
186
203
|
var(--_sonic-glass)
|
|
187
204
|
)
|
|
188
205
|
var(--_sonic-glass);
|
|
189
206
|
--_sonic-glass-text: var(
|
|
190
207
|
--sonic-glass-text,
|
|
191
|
-
color-mix(
|
|
208
|
+
color-mix(
|
|
209
|
+
in oklab,
|
|
210
|
+
var(--_sonic-glass) 20%,
|
|
211
|
+
oklch(from var(--_sonic-glass) clamp(0, (0.6 - l) * 1000, 1) 0 0deg / 100%)
|
|
212
|
+
)
|
|
213
|
+
);
|
|
214
|
+
|
|
215
|
+
/* Invalid with the token unset, so the default takes over */
|
|
216
|
+
--_sonic-glass-edge-set: 1px solid var(--sonic-glass-edge);
|
|
217
|
+
--_sonic-glass-edge: var(
|
|
218
|
+
--_sonic-glass-edge-set,
|
|
219
|
+
calc(1px * (1 - var(--_sonic-relief))) solid
|
|
220
|
+
color-mix(in oklab, currentcolor 35%, transparent)
|
|
192
221
|
);
|
|
193
|
-
--_sonic-glass-edge: 1px solid var(--sonic-glass-edge);
|
|
194
222
|
|
|
195
223
|
/* Glass is forced to Canvas like the page, so only a border shows its edge */
|
|
196
224
|
@media (forced-colors: active) {
|
|
@@ -279,25 +307,6 @@
|
|
|
279
307
|
}
|
|
280
308
|
}
|
|
281
309
|
|
|
282
|
-
@media (forced-colors: none) {
|
|
283
|
-
/* A query reads the parent, or a pseudo-element's own element: on a readout itself, 0 leaves the warp on */
|
|
284
|
-
@container style(--sonic-relief: 1) and (not style(--sonic-glass-texture: 0)) {
|
|
285
|
-
:is(.sonic-number, .sonic-screen),
|
|
286
|
-
:is(.sonic-envelope, .sonic-waveform, .sonic-wavestrip, .sonic-xy)::after {
|
|
287
|
-
filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='w' x='-0.3' y='-0.3' width='1.6' height='1.6' primitiveUnits='objectBoundingBox' color-interpolation-filters='sRGB'%3E%3CfeFlood x='0' y='0' width='1' height='1' flood-color='%23000'/%3E%3CfeFlood x='.5' y='0' width='.5' height='1' flood-color='%23f00' result='r'/%3E%3CfeFlood x='0' y='.5' width='1' height='.5' flood-color='%230f0' result='g'/%3E%3CfeFlood x='0' y='0' width='1' height='1' flood-color='%23000' result='k'/%3E%3CfeComposite in='r' in2='g' operator='arithmetic' k2='1' k3='1' result='h'/%3E%3CfeMerge x='0' y='0' width='1' height='1'%3E%3CfeMergeNode in='k'/%3E%3CfeMergeNode in='h'/%3E%3C/feMerge%3E%3CfeGaussianBlur x='0' y='0' width='1' height='1' stdDeviation='0.25'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1'/%3E%3CfeComponentTransfer result='a'%3E%3CfeFuncR type='table' tableValues='0 0.052 0.172 0.25 0.312 0.364 0.412 0.457 0.5 0.543 0.588 0.636 0.688 0.75 0.828 0.948 1'/%3E%3CfeFuncG type='table' tableValues='0 0.052 0.172 0.25 0.312 0.364 0.412 0.457 0.5 0.543 0.588 0.636 0.688 0.75 0.828 0.948 1'/%3E%3C/feComponentTransfer%3E%3CfeComponentTransfer%3E%3CfeFuncR type='table' tableValues='1 0.563 0.25 0.063 0 0.063 0.25 0.563 1'/%3E%3CfeFuncG type='table' tableValues='1 0.563 0.25 0.063 0 0.063 0.25 0.563 1'/%3E%3C/feComponentTransfer%3E%3CfeColorMatrix values='.5 .5 0 0 0 .5 .5 0 0 0 0 0 0 0 0 0 0 0 0 1'/%3E%3CfeComponentTransfer result='f'%3E%3CfeFuncR type='gamma' amplitude='0.333' exponent='2'/%3E%3CfeFuncG type='gamma' exponent='2'/%3E%3C/feComponentTransfer%3E%3CfeComposite in='a' in2='f' operator='arithmetic' k1='1' k3='-.5' k4='.5' result='m'/%3E%3CfeFlood flood-color='%23808080'/%3E%3CfeMerge result='n'%3E%3CfeMergeNode/%3E%3CfeMergeNode in='m'/%3E%3C/feMerge%3E%3CfeDisplacementMap in='SourceGraphic' in2='n' scale='0.016' xChannelSelector='R' yChannelSelector='G'/%3E%3C/filter%3E%3C/svg%3E#w");
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
:is(.sonic-envelope, .sonic-waveform, .sonic-wavestrip, .sonic-xy)::after {
|
|
291
|
-
--_sonic-glass-bend: calc(0.008 * hypot(100cqi, 100cqb));
|
|
292
|
-
|
|
293
|
-
inset: calc(-1 * var(--_sonic-glass-bend));
|
|
294
|
-
border: var(--_sonic-glass-bend) solid rgb(0 0 0 / 50%);
|
|
295
|
-
border-radius: calc(var(--_sonic-glass-radius) + var(--_sonic-glass-bend));
|
|
296
|
-
clip-path: inset(var(--_sonic-glass-bend) round var(--_sonic-glass-radius));
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
|
|
301
310
|
:is(
|
|
302
311
|
.sonic-envelope,
|
|
303
312
|
.sonic-button,
|
|
@@ -382,7 +391,11 @@
|
|
|
382
391
|
place-items: center;
|
|
383
392
|
background: var(--_sonic-skirt);
|
|
384
393
|
border-radius: var(--_sonic-keycap-corner);
|
|
385
|
-
box-shadow:
|
|
394
|
+
box-shadow:
|
|
395
|
+
var(--_sonic-keycap-drop),
|
|
396
|
+
var(--_sonic-rim),
|
|
397
|
+
0 0 0 max(1px, 0.75 * var(--_sonic-unit)) var(--_sonic-blank-edge, transparent),
|
|
398
|
+
var(--_sonic-focus-shadow);
|
|
386
399
|
scale: var(--_sonic-keycap-scale);
|
|
387
400
|
translate: 0 var(--_sonic-keycap-shift);
|
|
388
401
|
transition: var(--_sonic-press-transition);
|
|
@@ -403,6 +416,36 @@
|
|
|
403
416
|
}
|
|
404
417
|
}
|
|
405
418
|
|
|
419
|
+
.sonic-xy-bracket,
|
|
420
|
+
.sonic-envelope-bracket::before {
|
|
421
|
+
box-sizing: border-box;
|
|
422
|
+
inline-size: var(--_sonic-bracket-size);
|
|
423
|
+
block-size: var(--_sonic-bracket-size);
|
|
424
|
+
pointer-events: none;
|
|
425
|
+
content: '';
|
|
426
|
+
border: max(1px, 0.06 * var(--_sonic-bracket-size)) solid
|
|
427
|
+
color-mix(in oklab, var(--_sonic-glass-text) 45%, transparent);
|
|
428
|
+
border-radius: 50%;
|
|
429
|
+
opacity: 0;
|
|
430
|
+
mask: conic-gradient(
|
|
431
|
+
from 10deg,
|
|
432
|
+
#000 0 70deg,
|
|
433
|
+
transparent 0 180deg,
|
|
434
|
+
#000 0 250deg,
|
|
435
|
+
transparent 0
|
|
436
|
+
);
|
|
437
|
+
scale: 0.6;
|
|
438
|
+
transition:
|
|
439
|
+
opacity 120ms ease-out,
|
|
440
|
+
scale 120ms ease-out;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
:state(dragging) > * > .sonic-xy-bracket,
|
|
444
|
+
:state(dragging) > * > .sonic-envelope-bracket::before {
|
|
445
|
+
opacity: calc(1 - var(--_sonic-relief));
|
|
446
|
+
scale: 1;
|
|
447
|
+
}
|
|
448
|
+
|
|
406
449
|
:is(.sonic-meter, .sonic-slider) {
|
|
407
450
|
--_sonic-groove:
|
|
408
451
|
inset var(--_sonic-cast-x) var(--_sonic-cast-y) calc(0.75 * var(--_sonic-unit))
|
|
@@ -455,6 +498,7 @@
|
|
|
455
498
|
.sonic-xy-readout
|
|
456
499
|
) {
|
|
457
500
|
--_sonic-unit: calc(var(--_sonic-readout-size) / 32);
|
|
501
|
+
--_sonic-glass: var(--sonic-readout-glass, var(--_sonic-glass-base));
|
|
458
502
|
|
|
459
503
|
box-sizing: border-box;
|
|
460
504
|
place-items: center;
|
|
@@ -471,6 +515,7 @@
|
|
|
471
515
|
font-variant-numeric: tabular-nums;
|
|
472
516
|
line-height: 1;
|
|
473
517
|
color: var(--_sonic-glass-text);
|
|
518
|
+
white-space: nowrap;
|
|
474
519
|
pointer-events: none;
|
|
475
520
|
cursor: default;
|
|
476
521
|
user-select: none;
|
|
@@ -567,13 +612,14 @@
|
|
|
567
612
|
}
|
|
568
613
|
|
|
569
614
|
& > .sonic-scale-tick {
|
|
570
|
-
background: var(--_sonic-etch);
|
|
615
|
+
background: var(--sonic-scale, var(--_sonic-etch));
|
|
571
616
|
}
|
|
572
617
|
}
|
|
573
618
|
|
|
574
619
|
@media (forced-colors: active) {
|
|
575
|
-
.sonic-scale-tick {
|
|
620
|
+
:is(.sonic-dial-scale, .sonic-slider-scale) > .sonic-scale-tick {
|
|
576
621
|
forced-color-adjust: none;
|
|
622
|
+
background: var(--_sonic-etch);
|
|
577
623
|
}
|
|
578
624
|
|
|
579
625
|
:is(
|
package/dist/styles/panel.css
CHANGED
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
--_sonic-panel-radius: var(--sonic-panel-radius, 0.75rem);
|
|
21
21
|
--_sonic-unit: var(--_sonic-panel-depth);
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
color: var(--sonic-panel-text, inherit);
|
|
24
|
+
background: var(--sonic-panel, color-mix(in oklab, currentcolor 3%, transparent));
|
|
24
25
|
border: 1px solid var(--_sonic-panel-line);
|
|
25
26
|
border-radius: var(--_sonic-panel-radius);
|
|
26
27
|
box-shadow:
|
package/dist/styles/switch.css
CHANGED
|
@@ -230,13 +230,16 @@
|
|
|
230
230
|
inline-size: calc(var(--_sonic-switch-size) * var(--_sonic-switch-bushing-ratio));
|
|
231
231
|
aspect-ratio: 1;
|
|
232
232
|
pointer-events: none;
|
|
233
|
-
background:
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
233
|
+
background: var(
|
|
234
|
+
--sonic-well,
|
|
235
|
+
radial-gradient(
|
|
236
|
+
closest-side,
|
|
237
|
+
color-mix(in oklab, var(--_sonic-cap) calc(100% - 70% * var(--_sonic-relief)), #000) 0 42%,
|
|
238
|
+
var(--_sonic-switch-bushing-shade) 48%,
|
|
239
|
+
var(--_sonic-cap) 70%,
|
|
240
|
+
color-mix(in oklab, var(--_sonic-cap) calc(100% - 25% * var(--_sonic-relief)), #fff) 88%,
|
|
241
|
+
var(--_sonic-switch-bushing-shade)
|
|
242
|
+
)
|
|
240
243
|
);
|
|
241
244
|
border-radius: 50%;
|
|
242
245
|
box-shadow:
|
package/dist/styles/xy.css
CHANGED
|
@@ -119,23 +119,28 @@
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
+
:is(.sonic-xy-bracket, .sonic-xy-puck) {
|
|
123
|
+
position: absolute;
|
|
124
|
+
inset: auto auto
|
|
125
|
+
calc(var(--_sonic-xy-inset) + var(--_sonic-xy-y, 0) * var(--_sonic-xy-travel-y))
|
|
126
|
+
calc(var(--_sonic-xy-inset) + var(--_sonic-xy-x, 0) * var(--_sonic-xy-travel-x));
|
|
127
|
+
inline-size: var(--_sonic-xy-puck);
|
|
128
|
+
block-size: var(--_sonic-xy-puck);
|
|
129
|
+
border-radius: 50%;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.sonic-xy-bracket {
|
|
133
|
+
--_sonic-bracket-size: var(--_sonic-xy-puck);
|
|
134
|
+
}
|
|
135
|
+
|
|
122
136
|
.sonic-xy-puck {
|
|
123
137
|
--_sonic-xy-puck-fill: var(--_sonic-xy-lit);
|
|
124
138
|
--_sonic-xy-puck-edge: var(--_sonic-xy-puck-fill);
|
|
125
|
-
--_sonic-xy-puck-bracket: transparent;
|
|
126
|
-
--_sonic-xy-puck-bracket-scale: 0.6;
|
|
127
139
|
--_sonic-xy-puck-lift: color-mix(in oklab, var(--_sonic-xy-lit) 85%, #fff);
|
|
128
140
|
--_sonic-xy-puck-glow: transparent;
|
|
129
141
|
--_sonic-xy-puck-ring: 0 0 transparent;
|
|
130
142
|
|
|
131
|
-
position: absolute;
|
|
132
|
-
inset: auto auto
|
|
133
|
-
calc(var(--_sonic-xy-inset) + var(--_sonic-xy-y, 0) * var(--_sonic-xy-travel-y))
|
|
134
|
-
calc(var(--_sonic-xy-inset) + var(--_sonic-xy-x, 0) * var(--_sonic-xy-travel-x));
|
|
135
|
-
inline-size: var(--_sonic-xy-puck);
|
|
136
|
-
block-size: var(--_sonic-xy-puck);
|
|
137
143
|
cursor: var(--_sonic-xy-cursor);
|
|
138
|
-
border-radius: 50%;
|
|
139
144
|
filter: drop-shadow(0 0 calc(0.15 * var(--_sonic-xy-puck)) var(--_sonic-xy-puck-glow));
|
|
140
145
|
transition: filter 120ms ease-out;
|
|
141
146
|
|
|
@@ -153,21 +158,6 @@
|
|
|
153
158
|
border-color 120ms ease-out,
|
|
154
159
|
box-shadow 120ms ease-out;
|
|
155
160
|
}
|
|
156
|
-
|
|
157
|
-
&::after {
|
|
158
|
-
position: absolute;
|
|
159
|
-
inset: 4%;
|
|
160
|
-
pointer-events: none;
|
|
161
|
-
content: '';
|
|
162
|
-
border: max(1px, 0.08 * var(--_sonic-xy-puck)) solid var(--_sonic-xy-puck-bracket);
|
|
163
|
-
border-block-start-color: transparent;
|
|
164
|
-
border-radius: 50%;
|
|
165
|
-
rotate: 45deg;
|
|
166
|
-
scale: var(--_sonic-xy-puck-bracket-scale);
|
|
167
|
-
transition:
|
|
168
|
-
border-color 120ms ease-out,
|
|
169
|
-
scale 120ms ease-out;
|
|
170
|
-
}
|
|
171
161
|
}
|
|
172
162
|
|
|
173
163
|
@media (hover: hover) {
|
|
@@ -191,12 +181,6 @@
|
|
|
191
181
|
var(--_sonic-xy-lit) calc(45% * var(--_sonic-relief)),
|
|
192
182
|
transparent
|
|
193
183
|
);
|
|
194
|
-
--_sonic-xy-puck-bracket: color-mix(
|
|
195
|
-
in oklab,
|
|
196
|
-
var(--_sonic-xy-lit) calc(100% * (1 - var(--_sonic-relief))),
|
|
197
|
-
transparent
|
|
198
|
-
);
|
|
199
|
-
--_sonic-xy-puck-bracket-scale: 1;
|
|
200
184
|
}
|
|
201
185
|
|
|
202
186
|
.sonic-xy-axis {
|