@sigx/zero-daisyui 0.5.0 → 0.6.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 (106) hide show
  1. package/README.md +61 -1
  2. package/dist/audit.json +6763 -3228
  3. package/dist/components.d.ts +14 -2
  4. package/dist/components.js +1 -0
  5. package/dist/css/components/accordion.css +26 -2
  6. package/dist/css/components/alert.css +2 -0
  7. package/dist/css/components/avatar.css +2 -0
  8. package/dist/css/components/badge.css +2 -0
  9. package/dist/css/components/box.css +2 -0
  10. package/dist/css/components/breadcrumbs.css +2 -0
  11. package/dist/css/components/button.css +2 -0
  12. package/dist/css/components/card.css +2 -0
  13. package/dist/css/components/carousel.css +2 -0
  14. package/dist/css/components/center.css +2 -0
  15. package/dist/css/components/chat.css +2 -0
  16. package/dist/css/components/checkbox-group.css +98 -0
  17. package/dist/css/components/checkbox.css +10 -0
  18. package/dist/css/components/collapsible.css +16 -2
  19. package/dist/css/components/combobox.css +36 -1
  20. package/dist/css/components/container.css +2 -0
  21. package/dist/css/components/countdown.css +2 -0
  22. package/dist/css/components/dialog.css +2 -0
  23. package/dist/css/components/diff.css +7 -0
  24. package/dist/css/components/divider.css +2 -0
  25. package/dist/css/components/drawer.css +2 -0
  26. package/dist/css/components/empty-state.css +2 -0
  27. package/dist/css/components/field.css +2 -0
  28. package/dist/css/components/file-upload.css +34 -0
  29. package/dist/css/components/grid.css +2 -0
  30. package/dist/css/components/indicator.css +2 -0
  31. package/dist/css/components/input.css +137 -0
  32. package/dist/css/components/join.css +2 -0
  33. package/dist/css/components/kbd.css +2 -0
  34. package/dist/css/components/menu.css +2 -0
  35. package/dist/css/components/nav-list.css +2 -0
  36. package/dist/css/components/navbar.css +2 -0
  37. package/dist/css/components/number-input.css +2 -0
  38. package/dist/css/components/pagination.css +6 -0
  39. package/dist/css/components/popover.css +2 -0
  40. package/dist/css/components/progress.css +2 -0
  41. package/dist/css/components/radial-progress.css +2 -0
  42. package/dist/css/components/radio-group.css +10 -4
  43. package/dist/css/components/rating-group.css +2 -0
  44. package/dist/css/components/select.css +54 -1
  45. package/dist/css/components/skeleton.css +2 -0
  46. package/dist/css/components/slider.css +154 -25
  47. package/dist/css/components/spacer.css +2 -0
  48. package/dist/css/components/spinner.css +2 -0
  49. package/dist/css/components/stack.css +2 -0
  50. package/dist/css/components/stats.css +68 -16
  51. package/dist/css/components/status.css +2 -0
  52. package/dist/css/components/steps.css +2 -0
  53. package/dist/css/components/swap.css +2 -0
  54. package/dist/css/components/switch.css +23 -0
  55. package/dist/css/components/table.css +7 -0
  56. package/dist/css/components/tabs.css +15 -0
  57. package/dist/css/components/textarea.css +2 -0
  58. package/dist/css/components/timeline.css +3 -0
  59. package/dist/css/components/toast.css +2 -0
  60. package/dist/css/components/toggle-group.css +2 -0
  61. package/dist/css/components/toggle.css +2 -0
  62. package/dist/css/components/tooltip.css +2 -0
  63. package/dist/css/components/tree-view.css +6 -0
  64. package/dist/css/index.css +688 -64
  65. package/dist/css/tokens.css +13 -13
  66. package/dist/lynx/components/accordion.css +5 -0
  67. package/dist/lynx/components/alert.css +20 -0
  68. package/dist/lynx/components/button.css +5 -0
  69. package/dist/lynx/components/checkbox-group.css +209 -0
  70. package/dist/lynx/components/checkbox.css +8 -0
  71. package/dist/lynx/components/combobox.css +46 -0
  72. package/dist/lynx/components/diff.css +5 -0
  73. package/dist/lynx/components/drawer.css +4 -0
  74. package/dist/lynx/components/file-upload.css +47 -0
  75. package/dist/lynx/components/input.css +178 -0
  76. package/dist/lynx/components/number-input.css +8 -0
  77. package/dist/lynx/components/pagination.css +16 -0
  78. package/dist/lynx/components/progress.css +4 -4
  79. package/dist/lynx/components/radio-group.css +8 -0
  80. package/dist/lynx/components/rating-group.css +3 -3
  81. package/dist/lynx/components/select.css +58 -0
  82. package/dist/lynx/components/slider.css +106 -25
  83. package/dist/lynx/components/stats.css +146 -16
  84. package/dist/lynx/components/steps.css +4 -0
  85. package/dist/lynx/components/switch.css +4 -0
  86. package/dist/lynx/components/table.css +5 -0
  87. package/dist/lynx/components/tabs.css +13 -0
  88. package/dist/lynx/components/timeline.css +26 -0
  89. package/dist/lynx/components/toggle.css +5 -0
  90. package/dist/lynx/components/tree-view.css +4 -0
  91. package/dist/lynx/index.css +984 -94
  92. package/dist/lynx/manifest.json +40 -5
  93. package/dist/lynx/tokens.css +4 -4
  94. package/dist/manifest.json +38 -3
  95. package/dist/recipes.d.ts +7 -0
  96. package/dist/recipes.d.ts.map +1 -1
  97. package/dist/recipes.js +638 -60
  98. package/dist/recipes.js.map +1 -1
  99. package/dist/register.d.ts +9 -0
  100. package/dist/report.json +597 -211
  101. package/dist/tokens.d.ts.map +1 -1
  102. package/dist/tokens.js +18 -4
  103. package/dist/tokens.js.map +1 -1
  104. package/package.json +5 -5
  105. package/src/recipes.ts +647 -61
  106. package/src/tokens.ts +18 -4
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="input"][data-part="root"] {
3
5
  --input-accent: var(--color-base-content);
@@ -25,6 +27,7 @@
25
27
  [data-scope="input"][data-part="control"] {
26
28
  display: inline-flex;
27
29
  align-items: stretch;
30
+ gap: var(--space-2xs);
28
31
  box-sizing: border-box;
29
32
  height: calc(var(--size-field) * 12);
30
33
  background: var(--color-base-100);
@@ -73,6 +76,92 @@
73
76
  color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
74
77
  }
75
78
 
79
+ [data-scope="input"][data-part="adornment"] {
80
+ display: inline-flex;
81
+ align-items: center;
82
+ flex: none;
83
+ color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
84
+ font-size: var(--text-sm);
85
+ line-height: var(--leading-none);
86
+ }
87
+
88
+ [data-scope="input"][data-part="adornment"][data-placement="start"] {
89
+ order: -1;
90
+ padding-inline-start: var(--space-md);
91
+ }
92
+
93
+ [data-scope="input"][data-part="adornment"][data-placement="end"] {
94
+ order: 1;
95
+ padding-inline-end: var(--space-md);
96
+ }
97
+
98
+ [data-scope="input"][data-part="clear-trigger"] {
99
+ appearance: none;
100
+ border: none;
101
+ background: transparent;
102
+ color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
103
+ border-radius: 9999px;
104
+ align-self: center;
105
+ flex: none;
106
+ order: 1;
107
+ margin-inline-end: var(--space-xs);
108
+ padding: var(--space-2xs) var(--space-xs);
109
+ font-size: var(--text-sm);
110
+ font-weight: var(--weight-semibold);
111
+ line-height: var(--leading-none);
112
+ cursor: pointer;
113
+ }
114
+
115
+ [data-scope="input"][data-part="clear-trigger"]:hover:not([data-disabled]) {
116
+ color: var(--color-base-content);
117
+ background: var(--color-base-200);
118
+ }
119
+
120
+ [data-scope="input"][data-part="clear-trigger"][data-disabled] {
121
+ cursor: not-allowed;
122
+ }
123
+
124
+ [data-scope="input"][data-part="clear-trigger"][data-focus-visible] {
125
+ outline: 2px solid var(--color-base-content);
126
+ outline-offset: 2px;
127
+ }
128
+
129
+ [data-scope="input"][data-part="visibility-trigger"] {
130
+ appearance: none;
131
+ border: none;
132
+ background: transparent;
133
+ color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
134
+ border-radius: 9999px;
135
+ align-self: center;
136
+ flex: none;
137
+ order: 1;
138
+ margin-inline-end: var(--space-xs);
139
+ padding: var(--space-2xs) var(--space-xs);
140
+ font-size: var(--text-sm);
141
+ font-weight: var(--weight-semibold);
142
+ line-height: var(--leading-none);
143
+ cursor: pointer;
144
+ }
145
+
146
+ [data-scope="input"][data-part="visibility-trigger"][data-state="on"] {
147
+ color: var(--color-base-content);
148
+ background: var(--color-base-200);
149
+ }
150
+
151
+ [data-scope="input"][data-part="visibility-trigger"]:hover:not([data-disabled]) {
152
+ color: var(--color-base-content);
153
+ background: var(--color-base-200);
154
+ }
155
+
156
+ [data-scope="input"][data-part="visibility-trigger"][data-disabled] {
157
+ cursor: not-allowed;
158
+ }
159
+
160
+ [data-scope="input"][data-part="visibility-trigger"][data-focus-visible] {
161
+ outline: 2px solid var(--color-base-content);
162
+ outline-offset: 2px;
163
+ }
164
+
76
165
  [data-scope="input"][data-part="root"][data-color="primary"] {
77
166
  --input-accent: var(--color-primary);
78
167
  }
@@ -114,6 +203,18 @@
114
203
  font-size: var(--text-xs);
115
204
  padding: var(--space-2xs) var(--space-xs);
116
205
  }
206
+
207
+ [data-scope="input"][data-part="adornment"] {
208
+ font-size: var(--text-xs);
209
+ }
210
+
211
+ [data-scope="input"][data-part="clear-trigger"] {
212
+ font-size: var(--text-xs);
213
+ }
214
+
215
+ [data-scope="input"][data-part="visibility-trigger"] {
216
+ font-size: var(--text-xs);
217
+ }
117
218
  }
118
219
 
119
220
  @scope ([data-scope="input"][data-part="root"][data-size="sm"]) to ([data-scope="input"][data-part="root"]) {
@@ -125,6 +226,18 @@
125
226
  font-size: var(--text-xs);
126
227
  padding: var(--space-xs) var(--space-sm);
127
228
  }
229
+
230
+ [data-scope="input"][data-part="adornment"] {
231
+ font-size: var(--text-xs);
232
+ }
233
+
234
+ [data-scope="input"][data-part="clear-trigger"] {
235
+ font-size: var(--text-xs);
236
+ }
237
+
238
+ [data-scope="input"][data-part="visibility-trigger"] {
239
+ font-size: var(--text-xs);
240
+ }
128
241
  }
129
242
 
130
243
  @scope ([data-scope="input"][data-part="root"][data-size="lg"]) to ([data-scope="input"][data-part="root"]) {
@@ -136,6 +249,18 @@
136
249
  font-size: var(--text-md);
137
250
  padding: var(--space-md) var(--space-lg);
138
251
  }
252
+
253
+ [data-scope="input"][data-part="adornment"] {
254
+ font-size: var(--text-md);
255
+ }
256
+
257
+ [data-scope="input"][data-part="clear-trigger"] {
258
+ font-size: var(--text-md);
259
+ }
260
+
261
+ [data-scope="input"][data-part="visibility-trigger"] {
262
+ font-size: var(--text-md);
263
+ }
139
264
  }
140
265
 
141
266
  @scope ([data-scope="input"][data-part="root"][data-size="xl"]) to ([data-scope="input"][data-part="root"]) {
@@ -147,5 +272,17 @@
147
272
  font-size: var(--text-lg);
148
273
  padding: var(--space-lg) var(--space-xl);
149
274
  }
275
+
276
+ [data-scope="input"][data-part="adornment"] {
277
+ font-size: var(--text-lg);
278
+ }
279
+
280
+ [data-scope="input"][data-part="clear-trigger"] {
281
+ font-size: var(--text-lg);
282
+ }
283
+
284
+ [data-scope="input"][data-part="visibility-trigger"] {
285
+ font-size: var(--text-lg);
286
+ }
150
287
  }
151
288
  }
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="join"][data-part="root"] {
3
5
  display: inline-flex;
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="kbd"][data-part="root"] {
3
5
  --kbd-fill: var(--color-base-200);
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="menu"][data-part="trigger"] {
3
5
  appearance: none;
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="nav-list"][data-part="root"] {
3
5
  --nav-accent: var(--color-base-content);
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="navbar"][data-part="root"] {
3
5
  display: flex;
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="number-input"][data-part="root"] {
3
5
  --number-input-accent: var(--color-base-content);
@@ -1,15 +1,21 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="pagination"][data-part="root"] {
3
5
  --pg-accent: var(--color-primary);
4
6
  --pg-accent-content: var(--color-primary-content);
5
7
  --pg-size: calc(var(--size-field) * 10);
6
8
  --pg-font: var(--text-sm);
9
+ --pg-ring-room: 4px;
7
10
  }
8
11
 
9
12
  [data-scope="pagination"][data-part="root"] {
10
13
  display: flex;
11
14
  align-items: center;
12
15
  gap: var(--space-2xs);
16
+ overflow-x: auto;
17
+ padding: var(--pg-ring-room);
18
+ scroll-padding-inline: var(--pg-ring-room);
13
19
  }
14
20
 
15
21
  [data-scope="pagination"][data-part="item"] {
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="popover"][data-part="trigger"] {
3
5
  appearance: none;
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="progress"][data-part="root"] {
3
5
  --progress-accent: color-mix(in oklab, var(--color-primary) 90%, var(--color-primary-content));
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="radial-progress"][data-part="root"] {
3
5
  --radial-size: calc(var(--size-selector) * 16);
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="radio-group"][data-part="root"] {
3
5
  --radio-size: calc(var(--size-selector) * 6);
@@ -11,10 +13,6 @@
11
13
  gap: var(--space-md);
12
14
  }
13
15
 
14
- [data-scope="radio-group"][data-part="root"][data-invalid] [data-part="item-control"] {
15
- border-color: var(--color-error);
16
- }
17
-
18
16
  [data-scope="radio-group"][data-part="label"] {
19
17
  font-size: var(--text-sm);
20
18
  font-weight: var(--weight-semibold);
@@ -31,6 +29,10 @@
31
29
  cursor: pointer;
32
30
  }
33
31
 
32
+ [data-scope="radio-group"][data-part="item"][data-readonly] {
33
+ cursor: default;
34
+ }
35
+
34
36
  [data-scope="radio-group"][data-part="item"][data-disabled] {
35
37
  opacity: var(--disabled-opacity);
36
38
  cursor: not-allowed;
@@ -58,6 +60,10 @@
58
60
  animation: var(--duration-fast) var(--ease-standard) zero-daisy-radio;
59
61
  }
60
62
 
63
+ [data-scope="radio-group"][data-part="item-control"][data-invalid] {
64
+ border-color: var(--color-error);
65
+ }
66
+
61
67
  [data-scope="radio-group"][data-part="item-control"][data-focus-visible] {
62
68
  outline: 2px solid var(--radio-accent);
63
69
  outline-offset: 2px;
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="rating-group"][data-part="root"] {
3
5
  --rating-size: calc(var(--size-selector) * 6);
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="select"][data-part="root"] {
3
5
  --select-accent: var(--color-primary);
@@ -6,6 +8,7 @@
6
8
  [data-scope="select"][data-part="root"] {
7
9
  display: inline-flex;
8
10
  flex-direction: column;
11
+ position: relative;
9
12
  }
10
13
 
11
14
  [data-scope="select"][data-part="trigger"] {
@@ -33,6 +36,10 @@
33
36
  border-color: var(--color-base-content);
34
37
  }
35
38
 
39
+ [data-scope="select"][data-part="trigger"][data-readonly] {
40
+ cursor: default;
41
+ }
42
+
36
43
  [data-scope="select"][data-part="trigger"][data-disabled] {
37
44
  opacity: var(--disabled-opacity);
38
45
  cursor: not-allowed;
@@ -64,6 +71,43 @@
64
71
  transform: rotate(180deg);
65
72
  }
66
73
 
74
+ [data-scope="select"][data-part="root"]:has(> [data-scope="select"][data-part="clear-trigger"]) [data-scope="select"][data-part="indicator"] {
75
+ margin-inline-start: calc(var(--space-2xl) + var(--space-sm));
76
+ }
77
+
78
+ [data-scope="select"][data-part="clear-trigger"] {
79
+ appearance: none;
80
+ position: absolute;
81
+ inset-block: 0;
82
+ margin-block: auto;
83
+ block-size: min(1.5rem, 100%);
84
+ min-inline-size: 1.5rem;
85
+ inset-inline-end: calc(var(--size-field) * 4 + 1em + var(--space-xs));
86
+ display: inline-flex;
87
+ align-items: center;
88
+ justify-content: center;
89
+ padding: 0 var(--space-xs);
90
+ border: none;
91
+ background: transparent;
92
+ color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
93
+ font: inherit;
94
+ font-size: var(--text-sm);
95
+ line-height: var(--leading-none);
96
+ border-radius: var(--radius-field);
97
+ cursor: pointer;
98
+ transition: background var(--duration-fast) var(--ease-standard);
99
+ }
100
+
101
+ [data-scope="select"][data-part="clear-trigger"]:hover:not([data-disabled]) {
102
+ background: var(--color-base-200);
103
+ color: var(--color-base-content);
104
+ }
105
+
106
+ [data-scope="select"][data-part="clear-trigger"][data-focus-visible] {
107
+ outline: 2px solid var(--color-base-content);
108
+ outline-offset: 2px;
109
+ }
110
+
67
111
  [data-scope="select"][data-part="popup"] {
68
112
  opacity: 0;
69
113
  transform: translateY(-4px);
@@ -74,7 +118,10 @@
74
118
  border-radius: var(--radius-box);
75
119
  box-shadow: var(--shadow-lg);
76
120
  padding: var(--space-md);
77
- min-width: 13rem;
121
+ min-width: var(--anchor-width, 13rem);
122
+ box-sizing: border-box;
123
+ max-height: min(20rem, var(--available-height, 20rem));
124
+ overflow-y: auto;
78
125
  }
79
126
 
80
127
  [data-scope="select"][data-part="popup"][data-state="open"] {
@@ -128,6 +175,12 @@
128
175
  color: var(--select-accent);
129
176
  }
130
177
 
178
+ [data-scope="select"][data-part="separator"] {
179
+ height: var(--border);
180
+ margin: var(--space-sm) var(--space-md);
181
+ background: var(--color-base-300);
182
+ }
183
+
131
184
  [data-scope="select"][data-part="root"][data-color="primary"] {
132
185
  --select-accent: var(--color-primary);
133
186
  }
@@ -1,3 +1,5 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="skeleton"][data-part="root"] {
3
5
  --skeleton-fill: var(--color-base-300);
@@ -1,6 +1,10 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
1
3
  @layer zero.recipes {
2
4
  [data-scope="slider"][data-part="root"] {
3
5
  --slider-accent: var(--color-primary);
6
+ --slider-track-size: calc(var(--size-selector) * 3);
7
+ --slider-thumb-size: calc(var(--size-selector) * 6);
4
8
  }
5
9
 
6
10
  [data-scope="slider"][data-part="root"] {
@@ -14,15 +18,32 @@
14
18
  opacity: var(--disabled-opacity);
15
19
  }
16
20
 
21
+ [data-scope="slider"][data-part="root"][data-orientation="vertical"] {
22
+ width: auto;
23
+ align-items: center;
24
+ --slider-length: calc(var(--size-selector) * 40);
25
+ }
26
+
17
27
  [data-scope="slider"][data-part="label"] {
18
28
  font-size: var(--text-sm);
19
29
  font-weight: var(--weight-semibold);
20
30
  }
21
31
 
22
32
  [data-scope="slider"][data-part="control"] {
33
+ appearance: none;
23
34
  width: 100%;
24
- accent-color: var(--slider-accent);
35
+ height: var(--slider-thumb-size);
36
+ margin: 0;
37
+ background: transparent;
25
38
  cursor: pointer;
39
+ outline: none;
40
+ accent-color: var(--slider-accent);
41
+ --slider-fill: color-mix(in oklab, var(--slider-accent) 90%, var(--color-base-content));
42
+ --slider-track: linear-gradient(to right, var(--slider-fill) var(--slider-percent, 50%), var(--color-base-300) 0);
43
+ }
44
+
45
+ [data-scope="slider"][data-part="control"][data-readonly] {
46
+ cursor: default;
26
47
  }
27
48
 
28
49
  [data-scope="slider"][data-part="control"][data-disabled] {
@@ -35,34 +56,105 @@
35
56
  }
36
57
 
37
58
  [data-scope="slider"][data-part="control"][data-invalid] {
38
- accent-color: var(--color-error);
59
+ --slider-accent: var(--color-error);
60
+ }
61
+
62
+ [data-scope="slider"][data-part="control"]::-webkit-slider-runnable-track {
63
+ height: var(--slider-track-size);
64
+ border-radius: var(--radius-selector);
65
+ background: var(--slider-track);
66
+ }
67
+
68
+ [data-scope="slider"][data-part="control"]::-webkit-slider-thumb {
69
+ appearance: none;
70
+ box-sizing: border-box;
71
+ width: var(--slider-thumb-size);
72
+ height: var(--slider-thumb-size);
73
+ margin-top: calc((var(--slider-track-size) - var(--slider-thumb-size)) / 2);
74
+ border-radius: calc(var(--radius-selector) + min(0.25rem, var(--radius-selector) * 3));
75
+ border: 0.25rem solid var(--slider-fill);
76
+ background: var(--color-base-100);
77
+ box-shadow: 0 -1px var(--depth-shade) inset, 0 8px 0 -4px var(--depth-sheen) inset;
78
+ }
79
+
80
+ [data-scope="slider"][data-part="control"]::-moz-range-track {
81
+ height: var(--slider-track-size);
82
+ border-radius: var(--radius-selector);
83
+ background: var(--slider-track);
84
+ }
85
+
86
+ [data-scope="slider"][data-part="control"]::-moz-range-thumb {
87
+ box-sizing: border-box;
88
+ width: var(--slider-thumb-size);
89
+ height: var(--slider-thumb-size);
90
+ border-radius: calc(var(--radius-selector) + min(0.25rem, var(--radius-selector) * 3));
91
+ border: 0.25rem solid var(--slider-fill);
92
+ background: var(--color-base-100);
93
+ box-shadow: 0 -1px var(--depth-shade) inset, 0 8px 0 -4px var(--depth-sheen) inset;
94
+ }
95
+
96
+ [data-scope="slider"][data-part="control"][data-orientation="vertical"] {
97
+ width: var(--slider-thumb-size);
98
+ height: var(--slider-length);
99
+ --slider-track: linear-gradient(to top, var(--slider-fill) var(--slider-percent, 50%), var(--color-base-300) 0);
100
+ }
101
+
102
+ [data-scope="slider"][data-part="control"][data-orientation="vertical"]::-webkit-slider-runnable-track {
103
+ width: var(--slider-track-size);
104
+ height: auto;
105
+ }
106
+
107
+ [data-scope="slider"][data-part="control"][data-orientation="vertical"]::-webkit-slider-thumb {
108
+ margin-top: 0;
109
+ margin-block-start: calc((var(--slider-track-size) - var(--slider-thumb-size)) / 2);
110
+ }
111
+
112
+ [data-scope="slider"][data-part="control"][data-orientation="vertical"]::-moz-range-track {
113
+ width: var(--slider-track-size);
114
+ height: 100%;
39
115
  }
40
116
 
41
117
  [data-scope="slider"][data-part="track"] {
42
- height: calc(var(--size-selector) * 2);
43
- margin-block: calc(var(--size-selector) * 1.5);
118
+ height: var(--slider-track-size);
119
+ margin-block: calc((var(--slider-thumb-size) - var(--slider-track-size)) / 2);
44
120
  border-radius: 9999px;
45
121
  background: var(--color-base-300);
46
122
  cursor: pointer;
47
123
  }
48
124
 
125
+ [data-scope="slider"][data-part="track"][data-readonly] {
126
+ cursor: default;
127
+ }
128
+
49
129
  [data-scope="slider"][data-part="track"][data-disabled] {
50
130
  cursor: not-allowed;
51
131
  }
52
132
 
133
+ [data-scope="slider"][data-part="track"][data-orientation="vertical"] {
134
+ width: var(--slider-track-size);
135
+ height: var(--slider-length);
136
+ margin-block: 0;
137
+ margin-inline: calc((var(--slider-thumb-size) - var(--slider-track-size)) / 2);
138
+ }
139
+
53
140
  [data-scope="slider"][data-part="range"] {
54
141
  height: 100%;
55
142
  border-radius: 9999px;
56
143
  background: color-mix(in oklab, var(--slider-accent) 90%, var(--color-base-content));
57
144
  }
58
145
 
146
+ [data-scope="slider"][data-part="range"][data-orientation="vertical"] {
147
+ inset-inline-start: 0;
148
+ width: 100%;
149
+ }
150
+
59
151
  [data-scope="slider"][data-part="thumb"] {
60
152
  box-sizing: border-box;
61
- width: calc(var(--size-selector) * 5);
62
- height: calc(var(--size-selector) * 5);
153
+ width: var(--slider-thumb-size);
154
+ height: var(--slider-thumb-size);
63
155
  inset-block-start: 50%;
64
156
  translate: 0 -50%;
65
- margin-inline-start: calc(var(--size-selector) * -2.5);
157
+ margin-inline-start: calc(var(--slider-thumb-size) / -2);
66
158
  border-radius: 9999px;
67
159
  background: color-mix(in oklab, var(--slider-accent) 90%, var(--color-base-content));
68
160
  cursor: pointer;
@@ -75,12 +167,24 @@
75
167
  outline-offset: 2px;
76
168
  }
77
169
 
170
+ [data-scope="slider"][data-part="thumb"][data-readonly] {
171
+ cursor: default;
172
+ }
173
+
78
174
  [data-scope="slider"][data-part="thumb"][data-disabled] {
79
175
  cursor: not-allowed;
80
176
  }
81
177
 
178
+ [data-scope="slider"][data-part="thumb"][data-orientation="vertical"] {
179
+ inset-block-start: auto;
180
+ inset-inline-start: 50%;
181
+ translate: none;
182
+ margin-inline-start: calc(var(--slider-thumb-size) / -2);
183
+ margin-block-end: calc(var(--slider-thumb-size) / -2);
184
+ }
185
+
82
186
  [data-scope="slider"][data-part="mark"] {
83
- padding-block-start: calc(var(--size-selector) * 2 + var(--space-2xs));
187
+ padding-block-start: calc(var(--slider-track-size) + var(--space-2xs));
84
188
  font-size: var(--text-xs);
85
189
  line-height: 1;
86
190
  white-space: nowrap;
@@ -93,10 +197,25 @@
93
197
  inset-block-start: 0;
94
198
  inset-inline-start: -1px;
95
199
  width: 2px;
96
- height: calc(var(--size-selector) * 2);
200
+ height: var(--slider-track-size);
97
201
  background: var(--color-base-content);
98
202
  }
99
203
 
204
+ [data-scope="slider"][data-part="mark"][data-orientation="vertical"] {
205
+ inset-inline-start: 0;
206
+ padding-block-start: 0;
207
+ padding-inline-start: calc(var(--slider-track-size) + var(--space-2xs));
208
+ translate: 0 50%;
209
+ }
210
+
211
+ [data-scope="slider"][data-part="mark"][data-orientation="vertical"]::before {
212
+ inset-block-start: 50%;
213
+ inset-inline-start: 0;
214
+ width: var(--slider-track-size);
215
+ height: 2px;
216
+ translate: 0 -50%;
217
+ }
218
+
100
219
  [data-scope="slider"][data-part="value-text"] {
101
220
  font-size: var(--text-xs);
102
221
  opacity: 0.6;
@@ -138,21 +257,33 @@
138
257
  --slider-accent: var(--color-error);
139
258
  }
140
259
 
141
- @scope ([data-scope="slider"][data-part="root"][data-size="xs"]) to ([data-scope="slider"][data-part="root"]) {
142
- [data-scope="slider"][data-part="control"] {
143
- height: calc(var(--size-selector) * 3);
144
- }
260
+ [data-scope="slider"][data-part="root"][data-size="xs"] {
261
+ --slider-track-size: calc(var(--size-selector) * 2);
262
+ --slider-thumb-size: calc(var(--size-selector) * 4);
263
+ }
264
+
265
+ [data-scope="slider"][data-part="root"][data-size="sm"] {
266
+ --slider-track-size: calc(var(--size-selector) * 2.5);
267
+ --slider-thumb-size: calc(var(--size-selector) * 5);
268
+ }
269
+
270
+ [data-scope="slider"][data-part="root"][data-size="lg"] {
271
+ --slider-track-size: calc(var(--size-selector) * 3.5);
272
+ --slider-thumb-size: calc(var(--size-selector) * 7);
273
+ }
274
+
275
+ [data-scope="slider"][data-part="root"][data-size="xl"] {
276
+ --slider-track-size: calc(var(--size-selector) * 4);
277
+ --slider-thumb-size: calc(var(--size-selector) * 8);
278
+ }
145
279
 
280
+ @scope ([data-scope="slider"][data-part="root"][data-size="xs"]) to ([data-scope="slider"][data-part="root"]) {
146
281
  [data-scope="slider"][data-part="label"] {
147
282
  font-size: var(--text-xs);
148
283
  }
149
284
  }
150
285
 
151
286
  @scope ([data-scope="slider"][data-part="root"][data-size="sm"]) to ([data-scope="slider"][data-part="root"]) {
152
- [data-scope="slider"][data-part="control"] {
153
- height: calc(var(--size-selector) * 4);
154
- }
155
-
156
287
  [data-scope="slider"][data-part="label"] {
157
288
  font-size: var(--text-sm);
158
289
  }
@@ -171,22 +302,20 @@
171
302
  }
172
303
 
173
304
  @scope ([data-scope="slider"][data-part="root"][data-size="lg"]) to ([data-scope="slider"][data-part="root"]) {
174
- [data-scope="slider"][data-part="control"] {
175
- height: calc(var(--size-selector) * 7);
176
- }
177
-
178
305
  [data-scope="slider"][data-part="label"] {
179
306
  font-size: var(--text-md);
180
307
  }
181
308
  }
182
309
 
183
310
  @scope ([data-scope="slider"][data-part="root"][data-size="xl"]) to ([data-scope="slider"][data-part="root"]) {
184
- [data-scope="slider"][data-part="control"] {
185
- height: calc(var(--size-selector) * 8);
186
- }
187
-
188
311
  [data-scope="slider"][data-part="label"] {
189
312
  font-size: var(--text-lg);
190
313
  }
191
314
  }
315
+
316
+ @media (forced-colors: active) {
317
+ [data-scope="slider"][data-part="control"] {
318
+ appearance: auto;
319
+ }
320
+ }
192
321
  }