@xsynaptic/sonic-ui 0.27.0 → 0.28.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +1 -0
  3. package/dist/default/define/ticker.js +7 -0
  4. package/dist/default/define.js +1 -0
  5. package/dist/default/elements/sonic-element.js +1 -1
  6. package/dist/default/elements/ticker.js +331 -0
  7. package/dist/default/elements/wavestrip.js +2 -5
  8. package/dist/default/index.js +2 -1
  9. package/dist/default/lib/cancel-zone.js +12 -0
  10. package/dist/default/lib/distribute.js +2 -3
  11. package/dist/default/lib/mirror-children.js +1 -1
  12. package/dist/default/lib/pointer-drag.js +8 -2
  13. package/dist/default/lib/ticker-leg.js +54 -0
  14. package/dist/dev/define/ticker.d.ts +2 -0
  15. package/dist/dev/define/ticker.js +8 -0
  16. package/dist/dev/define/ticker.js.map +1 -0
  17. package/dist/dev/define.d.ts +3 -1
  18. package/dist/dev/define.js +1 -0
  19. package/dist/dev/elements/meter.d.ts +1 -0
  20. package/dist/dev/elements/position-group.d.ts +1 -0
  21. package/dist/dev/elements/sonic-element.d.ts +1 -0
  22. package/dist/dev/elements/sonic-element.js +3 -2
  23. package/dist/dev/elements/sonic-element.js.map +1 -1
  24. package/dist/dev/elements/spectrum.d.ts +1 -0
  25. package/dist/dev/elements/ticker.d.ts +25 -0
  26. package/dist/dev/elements/ticker.js +332 -0
  27. package/dist/dev/elements/ticker.js.map +1 -0
  28. package/dist/dev/elements/value-element.d.ts +1 -0
  29. package/dist/dev/elements/wavestrip.d.ts +1 -0
  30. package/dist/dev/elements/wavestrip.js +2 -5
  31. package/dist/dev/elements/wavestrip.js.map +1 -1
  32. package/dist/dev/index.d.ts +2 -1
  33. package/dist/dev/index.js +2 -1
  34. package/dist/dev/lib/cancel-zone.js +13 -0
  35. package/dist/dev/lib/cancel-zone.js.map +1 -0
  36. package/dist/dev/lib/check-styles.js +20 -12
  37. package/dist/dev/lib/check-styles.js.map +1 -1
  38. package/dist/dev/lib/crossfade.d.ts +1 -0
  39. package/dist/dev/lib/distribute.js +2 -3
  40. package/dist/dev/lib/distribute.js.map +1 -1
  41. package/dist/dev/lib/mirror-children.js +9 -7
  42. package/dist/dev/lib/mirror-children.js.map +1 -1
  43. package/dist/dev/lib/pointer-drag.js +8 -2
  44. package/dist/dev/lib/pointer-drag.js.map +1 -1
  45. package/dist/dev/lib/ticker-leg.js +55 -0
  46. package/dist/dev/lib/ticker-leg.js.map +1 -0
  47. package/dist/styles/controls.css +1 -0
  48. package/dist/styles/dial.css +28 -5
  49. package/dist/styles/material/cap.css +16 -5
  50. package/dist/styles/material/core.css +1 -0
  51. package/dist/styles/slider.css +2 -1
  52. package/dist/styles/switch.css +3 -1
  53. package/dist/styles/ticker.css +115 -0
  54. package/dist/styles/toggle.css +7 -5
  55. package/package.json +3 -2
@@ -0,0 +1,115 @@
1
+ @layer sonic.material, sonic.control;
2
+
3
+ @property --_sonic-ticker-rate {
4
+ syntax: '<length>';
5
+ inherits: false;
6
+ initial-value: 40px;
7
+ }
8
+
9
+ @property --_sonic-ticker-hold {
10
+ syntax: '<time>';
11
+ inherits: false;
12
+ initial-value: 2s;
13
+ }
14
+
15
+ @property --_sonic-ticker-fade {
16
+ syntax: '<length>';
17
+ inherits: false;
18
+ initial-value: 12px;
19
+ }
20
+
21
+ @property --_sonic-ticker-fade-start {
22
+ syntax: '<length>';
23
+ inherits: false;
24
+ initial-value: 0;
25
+ }
26
+
27
+ @property --_sonic-ticker-fade-end {
28
+ syntax: '<length>';
29
+ inherits: false;
30
+ initial-value: 0;
31
+ }
32
+
33
+ @property --_sonic-ticker-cancel-zone {
34
+ syntax: '<length>';
35
+ inherits: false;
36
+ initial-value: 48px;
37
+ }
38
+
39
+ @layer sonic.control {
40
+ :has(> .sonic-ticker):not([hidden]) {
41
+ display: contents;
42
+ }
43
+
44
+ :is(sonic-ticker:not(:defined, [hidden]), .sonic-ticker) {
45
+ display: block;
46
+ min-inline-size: 0;
47
+ max-inline-size: 100%;
48
+ overflow: hidden;
49
+ text-overflow: ellipsis;
50
+ white-space: nowrap;
51
+ }
52
+
53
+ .sonic-ticker {
54
+ --_sonic-ticker-rate: var(--sonic-ticker-rate, 40px);
55
+ --_sonic-ticker-hold: var(--sonic-ticker-hold, 2s);
56
+ --_sonic-ticker-fade: var(--sonic-ticker-fade, 0.75rem);
57
+ --_sonic-ticker-cancel-zone: var(--sonic-cancel-zone, 48px);
58
+
59
+ -webkit-user-select: none;
60
+
61
+ user-select: none;
62
+ }
63
+
64
+ .sonic-ticker[data-sonic-overflowing]:not([disabled] > *) {
65
+ text-overflow: clip;
66
+ touch-action: var(--sonic-touch-action, pan-y);
67
+ -webkit-mask: linear-gradient(
68
+ to right,
69
+ transparent,
70
+ #000 var(--_sonic-ticker-fade-start),
71
+ #000 calc(100% - var(--_sonic-ticker-fade-end)),
72
+ transparent
73
+ );
74
+ mask: linear-gradient(
75
+ to right,
76
+ transparent,
77
+ #000 var(--_sonic-ticker-fade-start),
78
+ #000 calc(100% - var(--_sonic-ticker-fade-end)),
79
+ transparent
80
+ );
81
+ }
82
+
83
+ .sonic-ticker[data-sonic-overflowing]:not([disabled] > *) > .sonic-ticker-tape {
84
+ display: inline-block;
85
+ }
86
+
87
+ .sonic-ticker[data-sonic-overflowing]:not(:any-link *, [disabled] > *) {
88
+ cursor: grab;
89
+ }
90
+
91
+ .sonic-ticker[data-sonic-overflowing][data-sonic-dragging],
92
+ .sonic-ticker[data-sonic-dragging] :any-link {
93
+ cursor: grabbing;
94
+ }
95
+
96
+ @media (prefers-reduced-motion: reduce) {
97
+ .sonic-ticker[data-sonic-overflowing]:not(
98
+ [data-sonic-clipped~='start'],
99
+ [data-sonic-dragging]
100
+ ) {
101
+ text-overflow: ellipsis;
102
+ -webkit-mask: none;
103
+ mask: none;
104
+ }
105
+
106
+ .sonic-ticker[data-sonic-overflowing]:not([data-sonic-clipped~='start'],[data-sonic-dragging]) > .sonic-ticker-tape {
107
+ display: inline;
108
+ }
109
+ }
110
+
111
+ .sonic-ticker:focus-within {
112
+ -webkit-mask: none;
113
+ mask: none;
114
+ }
115
+ }
@@ -96,6 +96,8 @@
96
96
  --_sonic-keycap-corner: max(0px, var(--_sonic-toggle-corner) - var(--_sonic-toggle-gap));
97
97
  --_sonic-keycap-bevel: calc(var(--_sonic-toggle-size) * var(--_sonic-toggle-bevel-ratio));
98
98
  --_sonic-keycap-face-corner: max(0px, var(--_sonic-keycap-corner) - var(--_sonic-keycap-bevel));
99
+ --_sonic-toggle-ease: cubic-bezier(0.34, 1.3, 0.64, 1);
100
+ --_sonic-toggle-duration: 120ms;
99
101
 
100
102
  position: relative;
101
103
  display: inline-grid;
@@ -108,8 +110,8 @@
108
110
  -webkit-user-select: none;
109
111
  user-select: none;
110
112
  transition:
111
- --_sonic-toggle-at 120ms cubic-bezier(0.4, 0, 0.2, 1),
112
- --_sonic-toggle-sink var(--_sonic-press-duration) cubic-bezier(0.4, 0, 0.2, 1);
113
+ --_sonic-toggle-at var(--_sonic-toggle-duration) var(--_sonic-toggle-ease),
114
+ --_sonic-toggle-sink var(--_sonic-press-duration) var(--_sonic-ease);
113
115
  }
114
116
 
115
117
  [orientation='vertical'] > .sonic-toggle {
@@ -124,7 +126,7 @@
124
126
  }
125
127
 
126
128
  .sonic-toggle[data-sonic-dragging] {
127
- transition: --_sonic-toggle-sink var(--_sonic-press-duration) cubic-bezier(0.4, 0, 0.2, 1);
129
+ transition: --_sonic-toggle-sink var(--_sonic-press-duration) var(--_sonic-ease);
128
130
  }
129
131
 
130
132
  [data-sonic-lit='ok'] > .sonic-toggle:has(> [role='switch']),
@@ -221,8 +223,8 @@
221
223
  translate: calc(var(--_sonic-toggle-along-x) * var(--_sonic-toggle-throw))
222
224
  calc(var(--_sonic-toggle-along-y) * var(--_sonic-toggle-throw) + var(--_sonic-toggle-sink));
223
225
  transition:
224
- scale var(--_sonic-press-duration) cubic-bezier(0.4, 0, 0.2, 1),
225
- box-shadow var(--_sonic-press-duration) cubic-bezier(0.4, 0, 0.2, 1);
226
+ scale var(--_sonic-press-duration) var(--_sonic-ease),
227
+ box-shadow var(--_sonic-press-duration) var(--_sonic-ease);
226
228
  }
227
229
 
228
230
  .sonic-toggle-cap > .sonic-led {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xsynaptic/sonic-ui",
3
- "version": "0.27.0",
3
+ "version": "0.28.1",
4
4
  "description": "Native custom elements for audio interfaces, skinned with CSS custom properties",
5
5
  "keywords": [
6
6
  "custom-elements",
@@ -65,6 +65,7 @@
65
65
  "./slider.css": "./dist/styles/slider.css",
66
66
  "./spectrum.css": "./dist/styles/spectrum.css",
67
67
  "./switch.css": "./dist/styles/switch.css",
68
+ "./ticker.css": "./dist/styles/ticker.css",
68
69
  "./toggle.css": "./dist/styles/toggle.css",
69
70
  "./waveform.css": "./dist/styles/waveform.css",
70
71
  "./wavestrip.css": "./dist/styles/wavestrip.css",
@@ -78,7 +79,7 @@
78
79
  ],
79
80
  "devDependencies": {
80
81
  "publint": "^0.3.25",
81
- "tsdown": "^0.23.0",
82
+ "tsdown": "^0.23.1",
82
83
  "typescript": "^6.0.3"
83
84
  },
84
85
  "scripts": {