@xsynaptic/sonic-ui 0.10.4 → 0.13.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 (119) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +39 -15
  3. package/dist/default/define/toggle.js +7 -0
  4. package/dist/default/define.js +1 -0
  5. package/dist/default/elements/button.js +7 -1
  6. package/dist/default/elements/dial.js +7 -1
  7. package/dist/default/elements/display-element.js +5 -1
  8. package/dist/default/elements/envelope.js +6 -1
  9. package/dist/default/elements/meter.js +1 -1
  10. package/dist/default/elements/number.js +7 -1
  11. package/dist/default/elements/position-group.js +163 -0
  12. package/dist/default/elements/radio-group.js +34 -12
  13. package/dist/default/elements/segmented.js +5 -1
  14. package/dist/default/elements/slider.js +7 -1
  15. package/dist/default/elements/sonic-element.js +1 -1
  16. package/dist/default/elements/switch.js +34 -168
  17. package/dist/default/elements/toggle.js +193 -0
  18. package/dist/default/elements/value-element.js +3 -0
  19. package/dist/default/elements/value-gestures.js +7 -0
  20. package/dist/default/elements/wave-element.js +8 -1
  21. package/dist/default/elements/waveform.js +159 -13
  22. package/dist/default/elements/wavestrip.js +4 -0
  23. package/dist/default/elements/xy.js +7 -1
  24. package/dist/default/index.js +2 -1
  25. package/dist/default/lib/key-press.js +27 -0
  26. package/dist/default/lib/toggle-travel.js +19 -0
  27. package/dist/default/lib/zoom-gesture.js +19 -0
  28. package/dist/dev/define/toggle.d.ts +2 -0
  29. package/dist/dev/define/toggle.js +8 -0
  30. package/dist/dev/define/toggle.js.map +1 -0
  31. package/dist/dev/define.d.ts +3 -1
  32. package/dist/dev/define.js +1 -0
  33. package/dist/dev/elements/button.js +7 -1
  34. package/dist/dev/elements/button.js.map +1 -1
  35. package/dist/dev/elements/dial.js +7 -1
  36. package/dist/dev/elements/dial.js.map +1 -1
  37. package/dist/dev/elements/display-element.js +5 -1
  38. package/dist/dev/elements/display-element.js.map +1 -1
  39. package/dist/dev/elements/envelope.js +6 -1
  40. package/dist/dev/elements/envelope.js.map +1 -1
  41. package/dist/dev/elements/meter.js +1 -1
  42. package/dist/dev/elements/meter.js.map +1 -1
  43. package/dist/dev/elements/number.js +7 -1
  44. package/dist/dev/elements/number.js.map +1 -1
  45. package/dist/dev/elements/position-group.d.ts +38 -0
  46. package/dist/dev/elements/position-group.js +164 -0
  47. package/dist/dev/elements/position-group.js.map +1 -0
  48. package/dist/dev/elements/radio-group.d.ts +4 -0
  49. package/dist/dev/elements/radio-group.js +34 -12
  50. package/dist/dev/elements/radio-group.js.map +1 -1
  51. package/dist/dev/elements/segmented.js +5 -1
  52. package/dist/dev/elements/segmented.js.map +1 -1
  53. package/dist/dev/elements/slider.js +7 -1
  54. package/dist/dev/elements/slider.js.map +1 -1
  55. package/dist/dev/elements/sonic-element.d.ts +16 -1
  56. package/dist/dev/elements/sonic-element.js +27 -5
  57. package/dist/dev/elements/sonic-element.js.map +1 -1
  58. package/dist/dev/elements/switch.d.ts +4 -19
  59. package/dist/dev/elements/switch.js +34 -168
  60. package/dist/dev/elements/switch.js.map +1 -1
  61. package/dist/dev/elements/toggle.d.ts +21 -0
  62. package/dist/dev/elements/toggle.js +201 -0
  63. package/dist/dev/elements/toggle.js.map +1 -0
  64. package/dist/dev/elements/value-element.d.ts +1 -0
  65. package/dist/dev/elements/value-element.js +3 -0
  66. package/dist/dev/elements/value-element.js.map +1 -1
  67. package/dist/dev/elements/value-gestures.js +7 -0
  68. package/dist/dev/elements/value-gestures.js.map +1 -1
  69. package/dist/dev/elements/wave-element.js +8 -1
  70. package/dist/dev/elements/wave-element.js.map +1 -1
  71. package/dist/dev/elements/waveform.d.ts +11 -1
  72. package/dist/dev/elements/waveform.js +159 -13
  73. package/dist/dev/elements/waveform.js.map +1 -1
  74. package/dist/dev/elements/wavestrip.d.ts +1 -0
  75. package/dist/dev/elements/wavestrip.js +4 -0
  76. package/dist/dev/elements/wavestrip.js.map +1 -1
  77. package/dist/dev/elements/xy.js +7 -1
  78. package/dist/dev/elements/xy.js.map +1 -1
  79. package/dist/dev/index.d.ts +3 -2
  80. package/dist/dev/index.js +2 -1
  81. package/dist/dev/lib/key-press.js +28 -0
  82. package/dist/dev/lib/key-press.js.map +1 -0
  83. package/dist/dev/lib/toggle-travel.js +20 -0
  84. package/dist/dev/lib/toggle-travel.js.map +1 -0
  85. package/dist/dev/lib/zoom-gesture.js +20 -0
  86. package/dist/dev/lib/zoom-gesture.js.map +1 -0
  87. package/dist/styles/button.css +5 -3
  88. package/dist/styles/controls.css +1 -0
  89. package/dist/styles/dial.css +3 -1
  90. package/dist/styles/envelope.css +3 -1
  91. package/dist/styles/led.css +19 -14
  92. package/dist/styles/material/arc.css +21 -0
  93. package/dist/styles/material/bracket.css +31 -0
  94. package/dist/styles/material/cap.css +179 -0
  95. package/dist/styles/material/core.css +103 -0
  96. package/dist/styles/material/glass.css +62 -0
  97. package/dist/styles/material/groove.css +10 -0
  98. package/dist/styles/material/keycap.css +95 -0
  99. package/dist/styles/material/lens.css +11 -0
  100. package/dist/styles/material/pane.css +97 -0
  101. package/dist/styles/material/readout.css +87 -0
  102. package/dist/styles/material/scale.css +30 -0
  103. package/dist/styles/material/value.css +43 -0
  104. package/dist/styles/material/well.css +24 -0
  105. package/dist/styles/material.css +15 -745
  106. package/dist/styles/meter.css +10 -7
  107. package/dist/styles/number.css +3 -1
  108. package/dist/styles/panel.css +3 -1
  109. package/dist/styles/ring.css +3 -1
  110. package/dist/styles/screen.css +3 -1
  111. package/dist/styles/segmented.css +11 -5
  112. package/dist/styles/slider.css +3 -1
  113. package/dist/styles/spectrum.css +5 -3
  114. package/dist/styles/switch.css +9 -3
  115. package/dist/styles/toggle.css +483 -0
  116. package/dist/styles/waveform.css +3 -1
  117. package/dist/styles/wavestrip.css +3 -1
  118. package/dist/styles/xy.css +3 -1
  119. package/package.json +3 -1
@@ -1,3 +1,5 @@
1
+ @layer sonic.material, sonic.control;
2
+
1
3
  @property --_sonic-meter-size {
2
4
  syntax: '<length>';
3
5
  inherits: true;
@@ -16,7 +18,7 @@
16
18
  initial-value: 4px;
17
19
  }
18
20
 
19
- @layer sonic {
21
+ @layer sonic.control {
20
22
  :is(sonic-meter, .sonic-meter) {
21
23
  --_sonic-meter-size: var(--sonic-meter-size, 0.5rem);
22
24
  --_sonic-meter-length: var(--sonic-meter-length, 8rem);
@@ -290,8 +292,9 @@
290
292
  background: linear-gradient(
291
293
  var(--_sonic-meter-toward),
292
294
  color-mix(in oklab, var(--_sonic-lit) 12%, var(--_sonic-unlit)) 0 var(--_sonic-meter-hot-at),
293
- color-mix(in oklab, var(--_sonic-hot) 12%, var(--_sonic-unlit)) 0 var(--_sonic-meter-clip-at),
294
- color-mix(in oklab, var(--_sonic-clip) 12%, var(--_sonic-unlit)) 0
295
+ color-mix(in oklab, var(--_sonic-lit-warning) 12%, var(--_sonic-unlit)) 0
296
+ var(--_sonic-meter-clip-at),
297
+ color-mix(in oklab, var(--_sonic-lit-danger) 12%, var(--_sonic-unlit)) 0
295
298
  );
296
299
  }
297
300
 
@@ -318,8 +321,8 @@
318
321
  background: linear-gradient(
319
322
  var(--_sonic-meter-toward),
320
323
  var(--_sonic-lit) 0 var(--_sonic-meter-hot-at),
321
- var(--_sonic-hot) 0 var(--_sonic-meter-clip-at),
322
- var(--_sonic-clip) 0
324
+ var(--_sonic-lit-warning) 0 var(--_sonic-meter-clip-at),
325
+ var(--_sonic-lit-danger) 0
323
326
  );
324
327
  mask:
325
328
  linear-gradient(
@@ -347,8 +350,8 @@
347
350
  content: '';
348
351
  background: radial-gradient(
349
352
  closest-side,
350
- color-mix(in oklab, var(--_sonic-clip) 55%, #fff),
351
- var(--_sonic-clip)
353
+ color-mix(in oklab, var(--_sonic-lit-danger) 55%, #fff),
354
+ var(--_sonic-lit-danger)
352
355
  );
353
356
  border-radius: inherit;
354
357
  opacity: var(--_sonic-meter-clipped, 0);
@@ -1,3 +1,5 @@
1
+ @layer sonic.material, sonic.control;
2
+
1
3
  @property --_sonic-number-size {
2
4
  syntax: '<length>';
3
5
  inherits: true;
@@ -10,7 +12,7 @@
10
12
  initial-value: 160px;
11
13
  }
12
14
 
13
- @layer sonic {
15
+ @layer sonic.control {
14
16
  :is(sonic-number, .sonic-number) {
15
17
  --_sonic-number-size: var(--sonic-number-size, 1.75rem);
16
18
  --_sonic-number-aspect-ratio: var(--sonic-number-aspect-ratio, 3);
@@ -1,3 +1,5 @@
1
+ @layer sonic.material, sonic.control;
2
+
1
3
  @property --_sonic-panel-depth {
2
4
  syntax: '<length>';
3
5
  inherits: true;
@@ -10,7 +12,7 @@
10
12
  initial-value: 12px;
11
13
  }
12
14
 
13
- @layer sonic {
15
+ @layer sonic.control {
14
16
  :is(.sonic-panel, .sonic-panel-title, .sonic-panel-rule) {
15
17
  --_sonic-panel-line: color-mix(in oklab, currentcolor 20%, transparent);
16
18
  }
@@ -1,10 +1,12 @@
1
+ @layer sonic.material, sonic.control;
2
+
1
3
  @property --_sonic-ring-size {
2
4
  syntax: '<length>';
3
5
  inherits: true;
4
6
  initial-value: 40px;
5
7
  }
6
8
 
7
- @layer sonic {
9
+ @layer sonic.control {
8
10
  .sonic-ring {
9
11
  --_sonic-ring-size: var(--sonic-ring-size, 2.5rem);
10
12
  --_sonic-ring-ratio: var(--sonic-ring-ratio, 0.075);
@@ -1,10 +1,12 @@
1
+ @layer sonic.material, sonic.control;
2
+
1
3
  @property --_sonic-screen-size {
2
4
  syntax: '<length>';
3
5
  inherits: true;
4
6
  initial-value: 40px;
5
7
  }
6
8
 
7
- @layer sonic {
9
+ @layer sonic.control {
8
10
  .sonic-screen {
9
11
  --_sonic-screen-size: var(--sonic-screen-size, 2.5rem);
10
12
  --_sonic-screen-aspect-ratio: var(--sonic-screen-aspect-ratio, 3);
@@ -1,10 +1,12 @@
1
+ @layer sonic.material, sonic.control;
2
+
1
3
  @property --_sonic-segmented-size {
2
4
  syntax: '<length>';
3
5
  inherits: true;
4
6
  initial-value: 32px;
5
7
  }
6
8
 
7
- @layer sonic {
9
+ @layer sonic.control {
8
10
  :is(sonic-segmented, .sonic-segmented) {
9
11
  --_sonic-segmented-size: var(--sonic-segmented-size, 2rem);
10
12
  }
@@ -78,7 +80,7 @@
78
80
  transition: color 120ms ease-out;
79
81
  }
80
82
 
81
- .sonic-segmented-option:where([data-sonic-pressed], :focus-visible:active):not(:disabled),
83
+ .sonic-segmented-option:where([data-sonic-pressed]):not(:disabled),
82
84
  .sonic-segmented-option[aria-checked='true'] {
83
85
  --_sonic-keycap-shift: calc(var(--_sonic-keycap-depth) / 2);
84
86
  --_sonic-keycap-scale: var(--_sonic-segmented-press-scale);
@@ -88,7 +90,7 @@
88
90
  .sonic-segmented-option[aria-checked='true'] {
89
91
  --_sonic-keycap-glow: var(--_sonic-keycap-lit-glow);
90
92
 
91
- color: var(--_sonic-lit);
93
+ color: var(--_sonic-legend-lit, var(--_sonic-lit));
92
94
  background: var(--_sonic-segmented-well-lit);
93
95
  box-shadow: var(--_sonic-well);
94
96
  }
@@ -115,12 +117,16 @@
115
117
  }
116
118
 
117
119
  .sonic-segmented-option[aria-checked='true']:not(:disabled):focus-visible {
118
- color: var(--sonic-lit-hover, var(--_sonic-lit));
120
+ --_sonic-legend-lit-from: var(--sonic-lit-hover, var(--_sonic-lit));
121
+
122
+ color: var(--_sonic-legend-lit, var(--_sonic-legend-lit-from));
119
123
  }
120
124
 
121
125
  @media (hover: hover) {
122
126
  .sonic-segmented-option[aria-checked='true']:not(:disabled):hover {
123
- color: var(--sonic-lit-hover, var(--_sonic-lit));
127
+ --_sonic-legend-lit-from: var(--sonic-lit-hover, var(--_sonic-lit));
128
+
129
+ color: var(--_sonic-legend-lit, var(--_sonic-legend-lit-from));
124
130
  }
125
131
  }
126
132
 
@@ -1,3 +1,5 @@
1
+ @layer sonic.material, sonic.control;
2
+
1
3
  @property --_sonic-slider-size {
2
4
  syntax: '<length>';
3
5
  inherits: true;
@@ -22,7 +24,7 @@
22
24
  initial-value: 0;
23
25
  }
24
26
 
25
- @layer sonic {
27
+ @layer sonic.control {
26
28
  :is(sonic-slider, .sonic-slider) {
27
29
  --_sonic-slider-size: var(--sonic-slider-size, 2rem);
28
30
  --_sonic-slider-length: var(--sonic-slider-length, 8rem);
@@ -1,3 +1,5 @@
1
+ @layer sonic.material, sonic.control;
2
+
1
3
  @property --_sonic-spectrum-size {
2
4
  syntax: '<length>';
3
5
  inherits: true;
@@ -46,7 +48,7 @@
46
48
  initial-value: -3;
47
49
  }
48
50
 
49
- @layer sonic {
51
+ @layer sonic.control {
50
52
  :is(sonic-spectrum, .sonic-spectrum) {
51
53
  --_sonic-spectrum-size: var(--sonic-spectrum-size, 6rem);
52
54
  --_sonic-spectrum-length: var(--sonic-spectrum-length, 20rem);
@@ -67,8 +69,8 @@
67
69
  .sonic-spectrum {
68
70
  --_sonic-unit: calc(var(--_sonic-spectrum-size) / 48);
69
71
  --_sonic-spectrum-lit: var(--_sonic-lit);
70
- --_sonic-spectrum-hot: var(--_sonic-hot);
71
- --_sonic-spectrum-clip: var(--_sonic-clip);
72
+ --_sonic-spectrum-hot: var(--_sonic-lit-warning);
73
+ --_sonic-spectrum-clip: var(--_sonic-lit-danger);
72
74
  --_sonic-spectrum-grid: color-mix(in oklab, var(--_sonic-glass-text) 20%, transparent);
73
75
  --_sonic-spectrum-hot-from: var(--sonic-spectrum-hot-from, -12);
74
76
  --_sonic-spectrum-clip-from: var(--sonic-spectrum-clip-from, -3);
@@ -1,3 +1,5 @@
1
+ @layer sonic.material, sonic.control;
2
+
1
3
  @property --_sonic-switch-size {
2
4
  syntax: '<length>';
3
5
  inherits: true;
@@ -10,7 +12,7 @@
10
12
  initial-value: 0;
11
13
  }
12
14
 
13
- @layer sonic {
15
+ @layer sonic.control {
14
16
  :is(sonic-switch, .sonic-switch) {
15
17
  --_sonic-switch-size: var(--sonic-switch-size, 2rem);
16
18
  }
@@ -127,6 +129,10 @@
127
129
  }
128
130
  }
129
131
 
132
+ .sonic-switch-position:disabled > .sonic-switch-label {
133
+ color: color-mix(in oklab, currentcolor 30%, transparent);
134
+ }
135
+
130
136
  .sonic-switch[data-sonic-position-count] {
131
137
  & > :is(.sonic-switch-bushing, .sonic-switch-bat) {
132
138
  grid-area: 2 / 1 / -2 / 2;
@@ -350,7 +356,7 @@
350
356
  --_sonic-focus-shadow: var(--_sonic-focus-glow);
351
357
  }
352
358
 
353
- .sonic-switch:has(> .sonic-switch-position:disabled) {
359
+ .sonic-switch:not(:has(> .sonic-switch-position:not(:disabled))) {
354
360
  --_sonic-switch-disabled: color-mix(
355
361
  in oklab,
356
362
  var(--_sonic-ink) 30%,
@@ -371,7 +377,7 @@
371
377
  --_sonic-switch-metal-shade: CanvasText;
372
378
  }
373
379
 
374
- .sonic-switch:has(> .sonic-switch-position:disabled) {
380
+ .sonic-switch:not(:has(> .sonic-switch-position:not(:disabled))) {
375
381
  --_sonic-switch-metal: GrayText;
376
382
  --_sonic-switch-metal-shade: GrayText;
377
383
  }