@xsynaptic/sonic-ui 0.6.0 → 0.8.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/README.md +4 -0
- package/dist/default/define/spectrum.js +7 -0
- package/dist/default/define.js +1 -0
- package/dist/default/elements/button.js +33 -4
- package/dist/default/elements/dial.js +5 -1
- package/dist/default/elements/display-element.js +77 -0
- package/dist/default/elements/envelope.js +15 -3
- 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 +82 -3
- package/dist/default/elements/sonic-element.js +2 -67
- package/dist/default/elements/spectrum.js +230 -0
- package/dist/default/elements/switch.js +1 -1
- package/dist/default/elements/value-element.js +81 -91
- package/dist/default/elements/wave-element.js +59 -9
- package/dist/default/elements/waveform.js +56 -10
- package/dist/default/elements/wavestrip.js +45 -21
- package/dist/default/elements/xy.js +3 -2
- package/dist/default/index.js +2 -1
- package/dist/default/lib/canvas-surface.js +7 -4
- package/dist/default/lib/frame-timeline.js +2 -2
- package/dist/default/lib/hover-preview.js +46 -0
- package/dist/default/lib/marker-rider.js +7 -4
- package/dist/default/lib/mirror-children.js +64 -0
- package/dist/default/lib/owned-control.js +10 -0
- package/dist/default/lib/pointer-drag.js +7 -2
- package/dist/default/lib/spectrum-columns.js +74 -0
- package/dist/default/lib/spectrum-levels.js +55 -0
- package/dist/default/lib/strip-scene.js +12 -1
- package/dist/default/lib/time-regions.js +8 -1
- package/dist/dev/define/spectrum.d.ts +2 -0
- package/dist/dev/define/spectrum.js +8 -0
- package/dist/dev/define/spectrum.js.map +1 -0
- package/dist/dev/define.d.ts +3 -1
- package/dist/dev/define.js +1 -0
- package/dist/dev/elements/button.d.ts +2 -0
- package/dist/dev/elements/button.js +33 -4
- 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/display-element.d.ts +29 -0
- package/dist/dev/elements/display-element.js +78 -0
- package/dist/dev/elements/display-element.js.map +1 -0
- package/dist/dev/elements/envelope.js +15 -3
- 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 +9 -0
- package/dist/dev/elements/slider.js +82 -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/spectrum.d.ts +59 -0
- package/dist/dev/elements/spectrum.js +231 -0
- package/dist/dev/elements/spectrum.js.map +1 -0
- package/dist/dev/elements/switch.js +1 -1
- package/dist/dev/elements/value-element.d.ts +8 -6
- package/dist/dev/elements/value-element.js +81 -91
- package/dist/dev/elements/value-element.js.map +1 -1
- package/dist/dev/elements/wave-element.d.ts +8 -2
- package/dist/dev/elements/wave-element.js +59 -9
- package/dist/dev/elements/wave-element.js.map +1 -1
- package/dist/dev/elements/waveform.d.ts +12 -4
- package/dist/dev/elements/waveform.js +56 -10
- package/dist/dev/elements/waveform.js.map +1 -1
- package/dist/dev/elements/wavestrip.d.ts +7 -0
- package/dist/dev/elements/wavestrip.js +45 -21
- package/dist/dev/elements/wavestrip.js.map +1 -1
- package/dist/dev/elements/xy.js +3 -2
- package/dist/dev/elements/xy.js.map +1 -1
- package/dist/dev/index.d.ts +4 -1
- package/dist/dev/index.js +2 -1
- package/dist/dev/lib/canvas-surface.d.ts +4 -3
- package/dist/dev/lib/canvas-surface.js +7 -4
- package/dist/dev/lib/canvas-surface.js.map +1 -1
- package/dist/dev/lib/frame-timeline.js +2 -2
- package/dist/dev/lib/frame-timeline.js.map +1 -1
- package/dist/dev/lib/hover-preview.js +47 -0
- package/dist/dev/lib/hover-preview.js.map +1 -0
- package/dist/dev/lib/marker-rider.js +7 -4
- package/dist/dev/lib/marker-rider.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/pointer-drag.js +7 -2
- package/dist/dev/lib/pointer-drag.js.map +1 -1
- package/dist/dev/lib/spectrum-columns.js +75 -0
- package/dist/dev/lib/spectrum-columns.js.map +1 -0
- package/dist/dev/lib/spectrum-levels.js +56 -0
- package/dist/dev/lib/spectrum-levels.js.map +1 -0
- package/dist/dev/lib/strip-scene.js +12 -1
- package/dist/dev/lib/strip-scene.js.map +1 -1
- package/dist/dev/lib/time-regions.js +8 -1
- package/dist/dev/lib/time-regions.js.map +1 -1
- package/dist/skins/flat.css +2 -1
- package/dist/styles/button.css +28 -1
- package/dist/styles/controls.css +1 -0
- package/dist/styles/envelope.css +30 -30
- package/dist/styles/led.css +18 -2
- package/dist/styles/material.css +90 -29
- package/dist/styles/meter.css +22 -18
- package/dist/styles/panel.css +2 -1
- package/dist/styles/slider.css +42 -5
- package/dist/styles/spectrum.css +105 -0
- package/dist/styles/switch.css +10 -7
- package/dist/styles/waveform.css +38 -16
- package/dist/styles/wavestrip.css +22 -4
- package/dist/styles/xy.css +14 -30
- package/package.json +2 -1
package/dist/styles/waveform.css
CHANGED
|
@@ -34,12 +34,24 @@
|
|
|
34
34
|
initial-value: rgb(96 96 104);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
@property --_sonic-waveform-
|
|
37
|
+
@property --_sonic-waveform-ends {
|
|
38
38
|
syntax: '<color>';
|
|
39
39
|
inherits: true;
|
|
40
40
|
initial-value: rgb(96 96 104);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
@property --_sonic-waveform-placeholder {
|
|
44
|
+
syntax: '<color>';
|
|
45
|
+
inherits: true;
|
|
46
|
+
initial-value: rgb(96 96 104);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@property --_sonic-waveform-label-fade {
|
|
50
|
+
syntax: '<number>';
|
|
51
|
+
inherits: true;
|
|
52
|
+
initial-value: 0.25;
|
|
53
|
+
}
|
|
54
|
+
|
|
43
55
|
@property --_sonic-waveform-marker {
|
|
44
56
|
syntax: '<color>';
|
|
45
57
|
inherits: true;
|
|
@@ -69,18 +81,21 @@
|
|
|
69
81
|
var(--_sonic-waveform-size) * var(--sonic-waveform-inset-ratio, 0.06)
|
|
70
82
|
);
|
|
71
83
|
--_sonic-unit: calc(var(--_sonic-waveform-size) / 48);
|
|
72
|
-
--_sonic-waveform-line: max(1px, var(--_sonic-unit));
|
|
84
|
+
--_sonic-waveform-line: var(--sonic-waveform-playhead-width, max(1px, var(--_sonic-unit)));
|
|
73
85
|
--_sonic-waveform-lit: var(--_sonic-lit);
|
|
74
86
|
--_sonic-waveform-wave: var(--_sonic-waveform-lit);
|
|
75
87
|
--_sonic-waveform-wave-edge: var(
|
|
76
88
|
--sonic-waveform-edge,
|
|
77
|
-
color-mix(in oklab, var(--_sonic-waveform-lit)
|
|
89
|
+
color-mix(in oklab, var(--_sonic-waveform-lit) calc(100% - 55% * var(--_sonic-relief)), #000)
|
|
78
90
|
);
|
|
79
|
-
--_sonic-waveform-grid: var(--_sonic-etch);
|
|
80
|
-
--_sonic-waveform-
|
|
91
|
+
--_sonic-waveform-grid: var(--sonic-waveform-grid, var(--_sonic-etch));
|
|
92
|
+
--_sonic-waveform-ends: var(--sonic-waveform-ends, var(--_sonic-etch));
|
|
93
|
+
--_sonic-waveform-placeholder: var(--sonic-waveform-placeholder, var(--_sonic-etch));
|
|
81
94
|
--_sonic-waveform-marker: var(--sonic-marker, var(--_sonic-ink));
|
|
95
|
+
--_sonic-waveform-label: var(--sonic-waveform-label, var(--_sonic-waveform-marker));
|
|
96
|
+
--_sonic-waveform-label-fade: var(--sonic-waveform-label-fade-ratio, 0.25);
|
|
82
97
|
--_sonic-waveform-label-inset: calc(
|
|
83
|
-
var(--_sonic-waveform-size) * var(--sonic-waveform-label-inset-ratio, 0.
|
|
98
|
+
var(--_sonic-waveform-size) * var(--sonic-waveform-label-inset-ratio, 0.04)
|
|
84
99
|
);
|
|
85
100
|
|
|
86
101
|
inline-size: var(--_sonic-waveform-length);
|
|
@@ -90,7 +105,7 @@
|
|
|
90
105
|
|
|
91
106
|
/* A label riding in from the far side would otherwise widen the page */
|
|
92
107
|
overflow: hidden;
|
|
93
|
-
touch-action: pan-y;
|
|
108
|
+
touch-action: var(--sonic-touch-action, pan-y);
|
|
94
109
|
cursor: grab;
|
|
95
110
|
|
|
96
111
|
--_sonic-glass-radius: calc(
|
|
@@ -101,6 +116,11 @@
|
|
|
101
116
|
box-shadow: var(--_sonic-focus-shadow);
|
|
102
117
|
}
|
|
103
118
|
|
|
119
|
+
[fill] > .sonic-waveform,
|
|
120
|
+
sonic-waveform[fill]:not(:defined, [hidden]) {
|
|
121
|
+
block-size: 100%;
|
|
122
|
+
}
|
|
123
|
+
|
|
104
124
|
:state(dragging) > .sonic-waveform {
|
|
105
125
|
cursor: grabbing;
|
|
106
126
|
}
|
|
@@ -131,31 +151,32 @@
|
|
|
131
151
|
}
|
|
132
152
|
|
|
133
153
|
.sonic-waveform-playhead {
|
|
134
|
-
background: var(--_sonic-ink);
|
|
154
|
+
background: var(--sonic-waveform-playhead, var(--_sonic-ink));
|
|
135
155
|
}
|
|
136
156
|
|
|
137
157
|
.sonic-waveform-ghost {
|
|
138
|
-
background: var(--_sonic-etch);
|
|
158
|
+
background: var(--sonic-waveform-ghost, var(--_sonic-etch));
|
|
139
159
|
}
|
|
140
160
|
|
|
141
161
|
.sonic-waveform-label {
|
|
142
162
|
position: absolute;
|
|
143
163
|
inset-block-end: calc(var(--_sonic-waveform-inset) + var(--_sonic-waveform-label-inset));
|
|
144
164
|
inset-inline-start: var(--_sonic-waveform-inset);
|
|
165
|
+
padding: 0.2em 0.35em;
|
|
166
|
+
margin: -0.2em -0.35em;
|
|
167
|
+
font-family: var(--sonic-waveform-label-font, inherit);
|
|
145
168
|
font-size: calc(var(--_sonic-waveform-size) * var(--sonic-waveform-label-font-ratio, 0.13));
|
|
146
169
|
line-height: 1;
|
|
147
|
-
color: var(--_sonic-marker, var(--_sonic-waveform-
|
|
170
|
+
color: var(--_sonic-marker, var(--_sonic-waveform-label));
|
|
148
171
|
white-space: nowrap;
|
|
149
172
|
text-shadow: var(--sonic-waveform-label-shadow, none);
|
|
150
173
|
pointer-events: none;
|
|
174
|
+
background: var(--sonic-waveform-label-scrim, none);
|
|
175
|
+
border-radius: 0.2em;
|
|
151
176
|
}
|
|
152
177
|
|
|
153
178
|
.sonic-waveform-label[data-sonic-dimmed] {
|
|
154
|
-
color: color-mix(
|
|
155
|
-
in oklab,
|
|
156
|
-
var(--_sonic-marker, var(--_sonic-waveform-marker)) 50%,
|
|
157
|
-
transparent
|
|
158
|
-
);
|
|
179
|
+
color: color-mix(in oklab, var(--_sonic-marker, var(--_sonic-waveform-label)) 50%, transparent);
|
|
159
180
|
}
|
|
160
181
|
|
|
161
182
|
/* Opaque, since a system highlight carries alpha that would blend the wave into the glass */
|
|
@@ -164,7 +185,8 @@
|
|
|
164
185
|
--_sonic-waveform-wave: rgb(from CanvasText r g b / 100%);
|
|
165
186
|
--_sonic-waveform-wave-edge: rgb(from CanvasText r g b / 100%);
|
|
166
187
|
--_sonic-waveform-grid: rgb(from GrayText r g b / 100%);
|
|
167
|
-
--_sonic-waveform-
|
|
188
|
+
--_sonic-waveform-ends: rgb(from GrayText r g b / 100%);
|
|
189
|
+
--_sonic-waveform-placeholder: rgb(from GrayText r g b / 100%);
|
|
168
190
|
--_sonic-waveform-marker: rgb(from CanvasText r g b / 100%);
|
|
169
191
|
}
|
|
170
192
|
|
|
@@ -28,6 +28,12 @@
|
|
|
28
28
|
initial-value: 0.5;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
@property --_sonic-wavestrip-groove-ratio {
|
|
32
|
+
syntax: '<number>';
|
|
33
|
+
inherits: true;
|
|
34
|
+
initial-value: 0.15;
|
|
35
|
+
}
|
|
36
|
+
|
|
31
37
|
@property --_sonic-wavestrip-wave {
|
|
32
38
|
syntax: '<color>';
|
|
33
39
|
inherits: true;
|
|
@@ -93,6 +99,7 @@
|
|
|
93
99
|
--_sonic-wavestrip-bar-pitch: var(--sonic-wavestrip-bar-pitch, 3px);
|
|
94
100
|
--_sonic-wavestrip-bar-gap-ratio: var(--sonic-wavestrip-bar-gap-ratio, 0.33);
|
|
95
101
|
--_sonic-wavestrip-bar-radius-ratio: var(--sonic-wavestrip-bar-radius-ratio, 0.5);
|
|
102
|
+
--_sonic-wavestrip-groove-ratio: var(--sonic-wavestrip-groove-ratio, 0.15);
|
|
96
103
|
--_sonic-wavestrip-marker-ratio: var(--sonic-wavestrip-marker-ratio, 0.065);
|
|
97
104
|
--_sonic-wavestrip-inset: calc(
|
|
98
105
|
var(--_sonic-wavestrip-size) * var(--sonic-wavestrip-inset-ratio, 0.1)
|
|
@@ -118,7 +125,7 @@
|
|
|
118
125
|
block-size: var(--_sonic-wavestrip-size);
|
|
119
126
|
padding: var(--_sonic-wavestrip-inset);
|
|
120
127
|
container-type: size;
|
|
121
|
-
touch-action: pan-y;
|
|
128
|
+
touch-action: var(--sonic-touch-action, pan-y);
|
|
122
129
|
cursor: ew-resize;
|
|
123
130
|
|
|
124
131
|
--_sonic-glass-radius: calc(
|
|
@@ -129,6 +136,11 @@
|
|
|
129
136
|
box-shadow: var(--_sonic-focus-shadow);
|
|
130
137
|
}
|
|
131
138
|
|
|
139
|
+
[fill] > .sonic-wavestrip,
|
|
140
|
+
sonic-wavestrip[fill]:not(:defined, [hidden]) {
|
|
141
|
+
block-size: 100%;
|
|
142
|
+
}
|
|
143
|
+
|
|
132
144
|
[dimmed] > .sonic-wavestrip {
|
|
133
145
|
--_sonic-wavestrip-lit: var(--_sonic-lit-off);
|
|
134
146
|
}
|
|
@@ -191,10 +203,16 @@
|
|
|
191
203
|
var(--_sonic-wavestrip-inset) + var(--_sonic-wavestrip-readout-at, 0) * 100cqi
|
|
192
204
|
);
|
|
193
205
|
|
|
194
|
-
inset-inline:
|
|
195
|
-
|
|
196
|
-
justify-self: center;
|
|
206
|
+
inset-inline: 0;
|
|
207
|
+
justify-self: start;
|
|
197
208
|
position-area: block-start center;
|
|
209
|
+
transform: translateX(
|
|
210
|
+
clamp(
|
|
211
|
+
0px,
|
|
212
|
+
var(--_sonic-wavestrip-readout-inset) - 50%,
|
|
213
|
+
100cqi + 2 * var(--_sonic-wavestrip-inset) - 100%
|
|
214
|
+
)
|
|
215
|
+
);
|
|
198
216
|
}
|
|
199
217
|
|
|
200
218
|
/* Opaque, since a system highlight carries alpha that would blend the bars into the glass */
|
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 {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xsynaptic/sonic-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Native custom elements for audio interfaces, skinned with CSS custom properties",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"custom-elements",
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
"./screen.css": "./dist/styles/screen.css",
|
|
67
67
|
"./segmented.css": "./dist/styles/segmented.css",
|
|
68
68
|
"./slider.css": "./dist/styles/slider.css",
|
|
69
|
+
"./spectrum.css": "./dist/styles/spectrum.css",
|
|
69
70
|
"./switch.css": "./dist/styles/switch.css",
|
|
70
71
|
"./waveform.css": "./dist/styles/waveform.css",
|
|
71
72
|
"./wavestrip.css": "./dist/styles/wavestrip.css",
|