@xsynaptic/sonic-ui 0.24.1 → 0.26.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.
Files changed (137) hide show
  1. package/CHANGELOG.md +42 -2
  2. package/README.md +6 -4
  3. package/dist/default/define/region.js +7 -0
  4. package/dist/default/define.js +1 -0
  5. package/dist/default/elements/button.js +3 -0
  6. package/dist/default/elements/dial.js +3 -0
  7. package/dist/default/elements/envelope.js +14 -11
  8. package/dist/default/elements/form-element.js +10 -0
  9. package/dist/default/elements/meter.js +3 -0
  10. package/dist/default/elements/number.js +3 -0
  11. package/dist/default/elements/radio-group.js +4 -1
  12. package/dist/default/elements/readout.js +1 -1
  13. package/dist/default/elements/region-layer.js +253 -0
  14. package/dist/default/elements/region.js +161 -0
  15. package/dist/default/elements/slider.js +3 -0
  16. package/dist/default/elements/sonic-element.js +7 -9
  17. package/dist/default/elements/split.js +2 -2
  18. package/dist/default/elements/toggle.js +4 -4
  19. package/dist/default/elements/value-element.js +21 -3
  20. package/dist/default/elements/value-gestures.js +7 -5
  21. package/dist/default/elements/wave-element.js +15 -3
  22. package/dist/default/elements/waveform.js +38 -2
  23. package/dist/default/elements/wavestrip.js +90 -17
  24. package/dist/default/elements/xy.js +6 -11
  25. package/dist/default/index.js +2 -1
  26. package/dist/default/lib/canvas-surface.js +22 -1
  27. package/dist/default/lib/clock.js +1 -0
  28. package/dist/default/lib/drag-step.js +1 -1
  29. package/dist/default/lib/key-press.js +2 -2
  30. package/dist/default/lib/marker-band.js +40 -29
  31. package/dist/default/lib/region-drag.js +48 -0
  32. package/dist/dev/define/region.d.ts +2 -0
  33. package/dist/dev/define/region.js +8 -0
  34. package/dist/dev/define/region.js.map +1 -0
  35. package/dist/dev/define.d.ts +3 -1
  36. package/dist/dev/define.js +1 -0
  37. package/dist/dev/elements/button.d.ts +1 -0
  38. package/dist/dev/elements/button.js +3 -0
  39. package/dist/dev/elements/button.js.map +1 -1
  40. package/dist/dev/elements/dial.d.ts +1 -0
  41. package/dist/dev/elements/dial.js +3 -0
  42. package/dist/dev/elements/dial.js.map +1 -1
  43. package/dist/dev/elements/envelope.d.ts +1 -0
  44. package/dist/dev/elements/envelope.js +14 -11
  45. package/dist/dev/elements/envelope.js.map +1 -1
  46. package/dist/dev/elements/form-element.d.ts +1 -0
  47. package/dist/dev/elements/form-element.js +10 -0
  48. package/dist/dev/elements/form-element.js.map +1 -1
  49. package/dist/dev/elements/meter.d.ts +1 -0
  50. package/dist/dev/elements/meter.js +3 -0
  51. package/dist/dev/elements/meter.js.map +1 -1
  52. package/dist/dev/elements/number.d.ts +1 -0
  53. package/dist/dev/elements/number.js +3 -0
  54. package/dist/dev/elements/number.js.map +1 -1
  55. package/dist/dev/elements/radio-group.d.ts +1 -0
  56. package/dist/dev/elements/radio-group.js +4 -1
  57. package/dist/dev/elements/radio-group.js.map +1 -1
  58. package/dist/dev/elements/readout.js +1 -1
  59. package/dist/dev/elements/readout.js.map +1 -1
  60. package/dist/dev/elements/region-layer.js +254 -0
  61. package/dist/dev/elements/region-layer.js.map +1 -0
  62. package/dist/dev/elements/region.d.ts +30 -0
  63. package/dist/dev/elements/region.js +169 -0
  64. package/dist/dev/elements/region.js.map +1 -0
  65. package/dist/dev/elements/slider.d.ts +1 -0
  66. package/dist/dev/elements/slider.js +3 -0
  67. package/dist/dev/elements/slider.js.map +1 -1
  68. package/dist/dev/elements/sonic-element.d.ts +2 -0
  69. package/dist/dev/elements/sonic-element.js +8 -10
  70. package/dist/dev/elements/sonic-element.js.map +1 -1
  71. package/dist/dev/elements/split.js +2 -2
  72. package/dist/dev/elements/split.js.map +1 -1
  73. package/dist/dev/elements/toggle.js +4 -4
  74. package/dist/dev/elements/toggle.js.map +1 -1
  75. package/dist/dev/elements/value-element.d.ts +3 -1
  76. package/dist/dev/elements/value-element.js +21 -3
  77. package/dist/dev/elements/value-element.js.map +1 -1
  78. package/dist/dev/elements/value-gestures.js +7 -5
  79. package/dist/dev/elements/value-gestures.js.map +1 -1
  80. package/dist/dev/elements/wave-element.d.ts +8 -1
  81. package/dist/dev/elements/wave-element.js +15 -3
  82. package/dist/dev/elements/wave-element.js.map +1 -1
  83. package/dist/dev/elements/waveform.d.ts +7 -0
  84. package/dist/dev/elements/waveform.js +38 -2
  85. package/dist/dev/elements/waveform.js.map +1 -1
  86. package/dist/dev/elements/wavestrip.d.ts +17 -1
  87. package/dist/dev/elements/wavestrip.js +90 -17
  88. package/dist/dev/elements/wavestrip.js.map +1 -1
  89. package/dist/dev/elements/xy.d.ts +1 -0
  90. package/dist/dev/elements/xy.js +6 -11
  91. package/dist/dev/elements/xy.js.map +1 -1
  92. package/dist/dev/index.d.ts +3 -2
  93. package/dist/dev/index.js +2 -1
  94. package/dist/dev/lib/canvas-surface.js +22 -1
  95. package/dist/dev/lib/canvas-surface.js.map +1 -1
  96. package/dist/dev/lib/clock.js +1 -0
  97. package/dist/dev/lib/clock.js.map +1 -1
  98. package/dist/dev/lib/drag-step.js +1 -1
  99. package/dist/dev/lib/drag-step.js.map +1 -1
  100. package/dist/dev/lib/key-press.js +2 -2
  101. package/dist/dev/lib/key-press.js.map +1 -1
  102. package/dist/dev/lib/marker-band.d.ts +7 -0
  103. package/dist/dev/lib/marker-band.js +40 -29
  104. package/dist/dev/lib/marker-band.js.map +1 -1
  105. package/dist/dev/lib/region-drag.js +49 -0
  106. package/dist/dev/lib/region-drag.js.map +1 -0
  107. package/dist/styles/button.css +23 -13
  108. package/dist/styles/controls.css +1 -0
  109. package/dist/styles/dial.css +41 -24
  110. package/dist/styles/envelope.css +12 -5
  111. package/dist/styles/led.css +8 -8
  112. package/dist/styles/material/arc.css +2 -2
  113. package/dist/styles/material/cap.css +34 -13
  114. package/dist/styles/material/glass.css +1 -1
  115. package/dist/styles/material/groove.css +3 -3
  116. package/dist/styles/material/keycap.css +2 -2
  117. package/dist/styles/material/lens.css +1 -1
  118. package/dist/styles/material/pane.css +20 -6
  119. package/dist/styles/material/readout.css +14 -5
  120. package/dist/styles/material/{bracket.css → reticle.css} +15 -8
  121. package/dist/styles/material/well.css +2 -2
  122. package/dist/styles/material.css +1 -1
  123. package/dist/styles/meter.css +29 -16
  124. package/dist/styles/number.css +3 -2
  125. package/dist/styles/panel.css +3 -3
  126. package/dist/styles/region.css +94 -0
  127. package/dist/styles/ring.css +2 -1
  128. package/dist/styles/screen.css +7 -5
  129. package/dist/styles/segmented.css +5 -4
  130. package/dist/styles/slider.css +24 -15
  131. package/dist/styles/spectrum.css +9 -1
  132. package/dist/styles/switch.css +9 -2
  133. package/dist/styles/toggle.css +5 -4
  134. package/dist/styles/waveform.css +10 -3
  135. package/dist/styles/wavestrip.css +17 -8
  136. package/dist/styles/xy.css +24 -11
  137. package/package.json +3 -2
@@ -6,6 +6,18 @@
6
6
  initial-value: 128px;
7
7
  }
8
8
 
9
+ @property --_sonic-xy-line {
10
+ syntax: '<length>';
11
+ inherits: true;
12
+ initial-value: 1px;
13
+ }
14
+
15
+ @property --_sonic-xy-puck-ring-width {
16
+ syntax: '<length>';
17
+ inherits: true;
18
+ initial-value: 2px;
19
+ }
20
+
9
21
  @layer sonic.control {
10
22
  :is(sonic-xy, .sonic-xy) {
11
23
  --_sonic-xy-size: var(--sonic-xy-size, 8rem);
@@ -43,7 +55,8 @@
43
55
  container-type: size;
44
56
  touch-action: none;
45
57
  cursor: crosshair;
46
- user-select: none;
58
+ -webkit-user-select: none;
59
+ user-select: none;
47
60
  }
48
61
 
49
62
  :disabled > .sonic-xy {
@@ -84,12 +97,12 @@
84
97
  transparent
85
98
  calc(
86
99
  var(--_sonic-xy-x-low) * var(--_sonic-xy-travel-x) + var(--_sonic-xy-puck) / 2 *
87
- sign(var(--_sonic-xy-x-low))
100
+ clamp(0, var(--_sonic-xy-x-low) * 100000, 1)
88
101
  ),
89
102
  var(--_sonic-xy-lit) 0
90
103
  calc(
91
104
  var(--_sonic-xy-x-high) * var(--_sonic-xy-travel-x) + var(--_sonic-xy-puck) / 2 *
92
- (2 - sign(1 - var(--_sonic-xy-x-high)))
105
+ (2 - clamp(0, (1 - var(--_sonic-xy-x-high)) * 100000, 1))
93
106
  ),
94
107
  transparent 0
95
108
  ),
@@ -109,19 +122,19 @@
109
122
  transparent
110
123
  calc(
111
124
  var(--_sonic-xy-y-low) * var(--_sonic-xy-travel-y) + var(--_sonic-xy-puck) / 2 *
112
- sign(var(--_sonic-xy-y-low))
125
+ clamp(0, var(--_sonic-xy-y-low) * 100000, 1)
113
126
  ),
114
127
  var(--_sonic-xy-lit) 0
115
128
  calc(
116
129
  var(--_sonic-xy-y-high) * var(--_sonic-xy-travel-y) + var(--_sonic-xy-puck) / 2 *
117
- (2 - sign(1 - var(--_sonic-xy-y-high)))
130
+ (2 - clamp(0, (1 - var(--_sonic-xy-y-high)) * 100000, 1))
118
131
  ),
119
132
  transparent 0
120
133
  ),
121
134
  var(--_sonic-unlit);
122
135
  }
123
136
 
124
- :is(.sonic-xy-bracket, .sonic-xy-puck) {
137
+ :is(.sonic-xy-reticle, .sonic-xy-puck) {
125
138
  position: absolute;
126
139
  inset: auto auto calc(var(--_sonic-xy-y, 0) * var(--_sonic-xy-travel-y))
127
140
  calc(var(--_sonic-xy-x, 0) * var(--_sonic-xy-travel-x));
@@ -130,8 +143,8 @@
130
143
  border-radius: 50%;
131
144
  }
132
145
 
133
- .sonic-xy-bracket {
134
- --_sonic-bracket-size: var(--_sonic-xy-puck);
146
+ .sonic-xy-reticle {
147
+ --_sonic-reticle-size: var(--_sonic-xy-puck);
135
148
  }
136
149
 
137
150
  .sonic-xy-puck {
@@ -164,7 +177,7 @@
164
177
  }
165
178
 
166
179
  @media (hover: hover) {
167
- :not(:disabled, :state(dragging)) > .sonic-xy > .sonic-xy-puck:hover {
180
+ :not(:disabled) > .sonic-xy:where(:not([data-sonic-dragging])) > .sonic-xy-puck:hover {
168
181
  --_sonic-xy-puck-fill: var(--_sonic-xy-puck-lift);
169
182
  }
170
183
  }
@@ -174,7 +187,7 @@
174
187
  --_sonic-xy-puck-ring: var(--_sonic-focus);
175
188
  }
176
189
 
177
- :state(dragging) > .sonic-xy > .sonic-xy-puck {
190
+ .sonic-xy[data-sonic-dragging] > .sonic-xy-puck {
178
191
  --_sonic-xy-puck-glow: color-mix(
179
192
  in oklab,
180
193
  var(--_sonic-xy-lit) calc(30% * var(--_sonic-relief)),
@@ -212,7 +225,7 @@
212
225
  outline-style: none;
213
226
  }
214
227
 
215
- :state(dragging) > .sonic-xy > .sonic-xy-puck {
228
+ .sonic-xy[data-sonic-dragging] > .sonic-xy-puck {
216
229
  --_sonic-xy-puck-fill: Canvas;
217
230
  --_sonic-xy-puck-edge: var(--_sonic-xy-lit);
218
231
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xsynaptic/sonic-ui",
3
- "version": "0.24.1",
3
+ "version": "0.26.0",
4
4
  "description": "Native custom elements for audio interfaces, skinned with CSS custom properties",
5
5
  "keywords": [
6
6
  "custom-elements",
@@ -58,6 +58,7 @@
58
58
  "./meter.css": "./dist/styles/meter.css",
59
59
  "./number.css": "./dist/styles/number.css",
60
60
  "./panel.css": "./dist/styles/panel.css",
61
+ "./region.css": "./dist/styles/region.css",
61
62
  "./ring.css": "./dist/styles/ring.css",
62
63
  "./screen.css": "./dist/styles/screen.css",
63
64
  "./segmented.css": "./dist/styles/segmented.css",
@@ -81,7 +82,7 @@
81
82
  "typescript": "^6.0.3"
82
83
  },
83
84
  "scripts": {
84
- "build": "tsdown && node ../../scripts/lower-sheets.ts",
85
+ "build": "tsdown && node ../../scripts/compile-sheets.ts",
85
86
  "check-types": "tsc --noEmit"
86
87
  }
87
88
  }