@typlog/ui 0.10.0 → 0.11.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 (36) hide show
  1. package/dist/addons.css +113 -0
  2. package/dist/addons.d.ts +48 -0
  3. package/dist/addons.js +442 -0
  4. package/dist/components/accordion.css +149 -0
  5. package/dist/components/avatar.css +131 -0
  6. package/dist/components/badge.css +75 -0
  7. package/dist/{base.css → components/base.css} +726 -832
  8. package/dist/components/button.css +317 -0
  9. package/dist/components/card.css +86 -0
  10. package/dist/components/checkbox.css +90 -0
  11. package/dist/components/collapsible.css +27 -0
  12. package/dist/components/combobox.css +388 -0
  13. package/dist/components/dialog.css +488 -0
  14. package/dist/components/dropdown.css +204 -0
  15. package/dist/components/editable.css +34 -0
  16. package/dist/components/icon.css +109 -0
  17. package/dist/components/inputs.css +570 -0
  18. package/dist/components/inset.css +73 -0
  19. package/dist/components/pagination.css +299 -0
  20. package/dist/components/popover.css +69 -0
  21. package/dist/components/quota.css +14 -0
  22. package/dist/components/radio.css +211 -0
  23. package/dist/components/scrollarea.css +107 -0
  24. package/dist/components/select.css +308 -0
  25. package/dist/components/separator.css +26 -0
  26. package/dist/components/spinner.css +36 -0
  27. package/dist/components/switch.css +176 -0
  28. package/dist/components/table.css +198 -0
  29. package/dist/components/tabs.css +122 -0
  30. package/dist/components/toggle.css +188 -0
  31. package/dist/components/tooltip.css +37 -0
  32. package/dist/components.css +3548 -0
  33. package/dist/{index.d.ts → components.d.ts} +131 -107
  34. package/dist/{index.js → components.js} +323 -681
  35. package/package.json +28 -14
  36. package/dist/style.css +0 -10463
@@ -0,0 +1,3548 @@
1
+
2
+ .ui-Avatar {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ vertical-align: middle;
7
+ -webkit-user-select: none;
8
+ -moz-user-select: none;
9
+ user-select: none;
10
+ width: var(--avatar-size);
11
+ height: var(--avatar-size);
12
+ flex-shrink: 0;
13
+ }
14
+ .ui-Avatar > img {
15
+ width: 100%;
16
+ height: 100%;
17
+ -o-object-fit: cover;
18
+ object-fit: cover;
19
+ border-radius: inherit;
20
+ }
21
+ .ui-Avatar > span {
22
+ font-family: var(--default-font-family);
23
+ font-weight: var(--font-weight-medium);
24
+ font-style: normal;
25
+ z-index: 0;
26
+ width: 100%;
27
+ height: 100%;
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ line-height: 1;
32
+ border-radius: inherit;
33
+ text-transform: uppercase;
34
+ }
35
+ .ui-Avatar > span.r-count-1 {
36
+ font-size: var(--avatar-fallback-one-letter-font-size);
37
+ }
38
+ .ui-Avatar > span.r-count-2 {
39
+ font-size: var(--avatar-fallback-two-letters-font-size, var(--avatar-fallback-one-letter-font-size));
40
+ }
41
+ .ui-Avatar:where(.r-size-1) {
42
+ --avatar-size: var(--space-5);
43
+ --avatar-fallback-one-letter-font-size: var(--font-size-2);
44
+ --avatar-fallback-two-letters-font-size: var(--font-size-1);
45
+ --avatar-ring-width: 1px;
46
+ --avatar-ring-offset: 1px;
47
+ border-radius: max(var(--radius-2), var(--radius-full));
48
+ letter-spacing: var(--letter-spacing-1);
49
+ }
50
+ .ui-Avatar:where(.r-size-2) {
51
+ --avatar-size: var(--space-6);
52
+ --avatar-fallback-one-letter-font-size: var(--font-size-3);
53
+ --avatar-fallback-two-letters-font-size: var(--font-size-2);
54
+ --avatar-ring-width: 2px;
55
+ --avatar-ring-offset: 2px;
56
+ border-radius: max(var(--radius-2), var(--radius-full));
57
+ letter-spacing: var(--letter-spacing-2);
58
+ }
59
+ .ui-Avatar:where(.r-size-3) {
60
+ --avatar-size: var(--space-7);
61
+ --avatar-fallback-one-letter-font-size: var(--font-size-4);
62
+ --avatar-fallback-two-letters-font-size: var(--font-size-3);
63
+ --avatar-ring-width: 2px;
64
+ --avatar-ring-offset: 2px;
65
+ border-radius: max(var(--radius-3), var(--radius-full));
66
+ letter-spacing: var(--letter-spacing-3);
67
+ }
68
+ .ui-Avatar:where(.r-size-4) {
69
+ --avatar-size: var(--space-8);
70
+ --avatar-fallback-one-letter-font-size: var(--font-size-5);
71
+ --avatar-fallback-two-letters-font-size: var(--font-size-4);
72
+ --avatar-ring-width: 2px;
73
+ --avatar-ring-offset: 2px;
74
+ border-radius: max(var(--radius-3), var(--radius-full));
75
+ letter-spacing: var(--letter-spacing-4);
76
+ }
77
+ .ui-Avatar:where(.r-size-5) {
78
+ --avatar-size: var(--space-9);
79
+ --avatar-fallback-one-letter-font-size: var(--font-size-6);
80
+ --avatar-ring-width: 3px;
81
+ --avatar-ring-offset: 2px;
82
+ border-radius: max(var(--radius-4), var(--radius-full));
83
+ letter-spacing: var(--letter-spacing-6);
84
+ }
85
+ .ui-Avatar:where(.r-size-6) {
86
+ --avatar-size: 80px;
87
+ --avatar-fallback-one-letter-font-size: var(--font-size-7);
88
+ --avatar-ring-width: 3px;
89
+ --avatar-ring-offset: 3px;
90
+ border-radius: max(var(--radius-5), var(--radius-full));
91
+ letter-spacing: var(--letter-spacing-7);
92
+ }
93
+ .ui-Avatar:where(.r-size-7) {
94
+ --avatar-size: 96px;
95
+ --avatar-fallback-one-letter-font-size: var(--font-size-7);
96
+ --avatar-ring-width: 3px;
97
+ --avatar-ring-offset: 3px;
98
+ border-radius: max(var(--radius-5), var(--radius-full));
99
+ letter-spacing: var(--letter-spacing-7);
100
+ }
101
+ .ui-Avatar:where(.r-size-8) {
102
+ --avatar-size: 128px;
103
+ --avatar-fallback-one-letter-font-size: var(--font-size-8);
104
+ --avatar-ring-width: 4px;
105
+ --avatar-ring-offset: 3px;
106
+ border-radius: max(var(--radius-6), var(--radius-full));
107
+ letter-spacing: var(--letter-spacing-8);
108
+ }
109
+ .ui-Avatar:where(.r-size-9) {
110
+ --avatar-size: 160px;
111
+ --avatar-fallback-one-letter-font-size: var(--font-size-9);
112
+ --avatar-ring-width: 4px;
113
+ --avatar-ring-offset: 4px;
114
+ border-radius: max(var(--radius-6), var(--radius-full));
115
+ letter-spacing: var(--letter-spacing-9);
116
+ }
117
+ .ui-Avatar:where(.r-variant-ring) {
118
+ outline-color: var(--accent-9);
119
+ outline-width: var(--avatar-ring-width);
120
+ outline-offset: var(--avatar-ring-offset);
121
+ outline-style: solid;
122
+ }
123
+ .ui-Avatar:where(.r-variant-ring) > span,
124
+ .ui-Avatar:where(.r-variant-solid) > span {
125
+ background-color: var(--accent-9);
126
+ color: var(--accent-contrast);
127
+ }
128
+ .ui-Avatar:where(.r-variant-soft) > span {
129
+ background-color: var(--accent-a3);
130
+ color: var(--accent-a11);
131
+ }
132
+
133
+ .ui-Badge {
134
+ display: inline-flex;
135
+ align-items: center;
136
+ white-space: nowrap;
137
+ font-weight: var(--font-weight-medium);
138
+ font-style: normal;
139
+ flex-shrink: 0;
140
+ line-height: 1;
141
+ height: -moz-fit-content;
142
+ height: fit-content;
143
+ }
144
+ .ui-Badge:where(.r-size-1) {
145
+ font-size: var(--font-size-1);
146
+ line-height: var(--line-height-1);
147
+ letter-spacing: var(--letter-spacing-1);
148
+ padding: calc(var(--space-1) * 0.5) calc(var(--space-1) * 1.5);
149
+ gap: calc(var(--space-1) * 1.5);
150
+ border-radius: max(var(--radius-1), var(--radius-full));
151
+ }
152
+ .ui-Badge:where(.r-size-2) {
153
+ font-size: var(--font-size-1);
154
+ line-height: var(--line-height-1);
155
+ letter-spacing: var(--letter-spacing-1);
156
+ padding: var(--space-1) var(--space-2);
157
+ gap: calc(var(--space-1) * 1.5);
158
+ border-radius: max(var(--radius-2), var(--radius-full));
159
+ }
160
+ .ui-Badge:where(.r-size-3) {
161
+ font-size: var(--font-size-2);
162
+ line-height: var(--line-height-2);
163
+ letter-spacing: var(--letter-spacing-2);
164
+ padding: var(--space-1) calc(var(--space-2) * 1.25);
165
+ gap: var(--space-2);
166
+ border-radius: max(var(--radius-2), var(--radius-full));
167
+ }
168
+ .ui-Badge:where(.r-variant-solid) {
169
+ background-color: var(--accent-9);
170
+ color: var(--accent-contrast);
171
+ }
172
+ .ui-Badge:where(.r-variant-solid):where(.r-high-contrast) {
173
+ background-color: var(--accent-12);
174
+ color: var(--gray-1);
175
+ }
176
+ .ui-Badge:where(.r-variant-solid)::-moz-selection {
177
+ background-color: var(--accent-7);
178
+ color: var(--accent-12);
179
+ }
180
+ .ui-Badge:where(.r-variant-solid)::selection {
181
+ background-color: var(--accent-7);
182
+ color: var(--accent-12);
183
+ }
184
+ .ui-Badge:where(.r-variant-soft) {
185
+ background-color: var(--accent-a3);
186
+ color: var(--accent-a11);
187
+ }
188
+ .ui-Badge:where(.r-variant-soft):where(.r-high-contrast) {
189
+ color: var(--accent-12);
190
+ }
191
+ .ui-Badge:where(.r-variant-surface) {
192
+ background-color: var(--accent-surface);
193
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
194
+ color: var(--accent-a11);
195
+ }
196
+ .ui-Badge:where(.r-variant-surface):where(.r-high-contrast) {
197
+ color: var(--accent-12);
198
+ }
199
+ .ui-Badge:where(.r-variant-outline) {
200
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
201
+ color: var(--accent-a11);
202
+ }
203
+ .ui-Badge:where(.r-variant-outline):where(.r-high-contrast) {
204
+ box-shadow: inset 0 0 0 1px var(--accent-a7), inset 0 0 0 1px var(--gray-a11);
205
+ color: var(--accent-12);
206
+ }
207
+
208
+ .ui-Inset {
209
+ box-sizing: border-box;
210
+ --margin-top: 0px;
211
+ --margin-right: 0px;
212
+ --margin-bottom: 0px;
213
+ --margin-left: 0px;
214
+ overflow: hidden;
215
+ margin-top: var(--margin-top-override);
216
+ margin-right: var(--margin-right-override);
217
+ margin-bottom: var(--margin-bottom-override);
218
+ margin-left: var(--margin-left-override);
219
+ }
220
+ .ui-Inset > * {
221
+ --margin-top-override: initial;
222
+ --margin-right-override: initial;
223
+ --margin-bottom-override: initial;
224
+ --margin-left-override: initial;
225
+ }
226
+ .ui-Inset:where(.r-clip-border-box) {
227
+ --inset-border-radius-calc: calc(var(--inset-border-radius, 0px) - var(--inset-border-width, 0px));
228
+ --inset-padding-top-calc: var(--inset-padding-top, 0px);
229
+ --inset-padding-right-calc: var(--inset-padding-right, 0px);
230
+ --inset-padding-bottom-calc: var(--inset-padding-bottom, 0px);
231
+ --inset-padding-left-calc: var(--inset-padding-left, 0px);
232
+ }
233
+ .ui-Inset:where(.r-clip-padding-box) {
234
+ --inset-border-radius-calc: var(--inset-border-radius, 0px);
235
+ --inset-padding-top-calc: calc(var(--inset-padding-top, 0px) + var(--inset-border-width, 0px));
236
+ --inset-padding-right-calc: calc(var(--inset-padding-right, 0px) + var(--inset-border-width, 0px));
237
+ --inset-padding-bottom-calc: calc(var(--inset-padding-bottom, 0px) + var(--inset-border-width, 0px));
238
+ --inset-padding-left-calc: calc(var(--inset-padding-left, 0px) + var(--inset-border-width, 0px));
239
+ }
240
+ .ui-Inset:where(.inset-top) {
241
+ --margin-top-override: calc(var(--margin-top) - var(--inset-padding-top-calc));
242
+ --margin-right-override: calc(var(--margin-right) - var(--inset-padding-right-calc));
243
+ --margin-bottom-override: var(--margin-bottom);
244
+ --margin-left-override: calc(var(--margin-left) - var(--inset-padding-left-calc));
245
+ border-top-left-radius: var(--inset-border-radius-calc);
246
+ border-top-right-radius: var(--inset-border-radius-calc);
247
+ border-bottom-left-radius: 0px;
248
+ border-bottom-right-radius: 0px;
249
+ }
250
+ .ui-Inset:where(.inset-bottom) {
251
+ --margin-top-override: var(--margin-top);
252
+ --margin-right-override: calc(var(--margin-right) - var(--inset-padding-right-calc));
253
+ --margin-bottom-override: calc(var(--margin-bottom) - var(--inset-padding-bottom-calc));
254
+ --margin-left-override: calc(var(--margin-left) - var(--inset-padding-left-calc));
255
+ border-top-left-radius: 0px;
256
+ border-top-right-radius: 0px;
257
+ border-bottom-left-radius: var(--inset-border-radius-calc);
258
+ border-bottom-right-radius: var(--inset-border-radius-calc);
259
+ }
260
+ .ui-Inset:where(.inset-left) {
261
+ --margin-top-override: calc(var(--margin-top) - var(--inset-padding-top-calc));
262
+ --margin-bottom-override: calc(var(--margin-bottom) - var(--inset-padding-bottom-calc));
263
+ --margin-left-override: calc(var(--margin-left) - var(--inset-padding-left-calc));
264
+ --margin-right-override: var(--margin-right);
265
+ border-top-left-radius: var(--inset-border-radius-calc);
266
+ border-top-right-radius: 0px;
267
+ border-bottom-left-radius: var(--inset-border-radius-calc);
268
+ border-bottom-right-radius: 0px;
269
+ }
270
+ .ui-Inset:where(.inset-right) {
271
+ --margin-top-override: calc(var(--margin-top) - var(--inset-padding-top-calc));
272
+ --margin-right-override: calc(var(--margin-right) - var(--inset-padding-right-calc));
273
+ --margin-bottom-override: calc(var(--margin-bottom) - var(--inset-padding-bottom-calc));
274
+ --margin-left-override: var(--margin-left);
275
+ border-top-left-radius: 0px;
276
+ border-top-right-radius: var(--inset-border-radius-calc);
277
+ border-bottom-left-radius: 0px;
278
+ border-bottom-right-radius: var(--inset-border-radius-calc);
279
+ }
280
+
281
+ .ui-Card {
282
+ display: block;
283
+ position: relative;
284
+ overflow: hidden;
285
+ font-style: normal;
286
+ text-align: start;
287
+ box-sizing: border-box;
288
+ border-radius: var(--card-border-radius);
289
+ padding: var(--card-padding);
290
+ border-color: var(--card-border-color, var(--gray-a5));
291
+ border-width: var(--card-border-width, 1px);
292
+ border-style: solid;
293
+ --inset-padding-top: var(--card-padding);
294
+ --inset-padding-right: var(--card-padding);
295
+ --inset-padding-bottom: var(--card-padding);
296
+ --inset-padding-left: var(--card-padding);
297
+ }
298
+ .ui-Card:where(:-moz-any-link, button, label):where(:hover) {
299
+ --card-border-color: var(--gray-a7);
300
+ }
301
+ .ui-Card:where(:any-link, button, label):where(:hover) {
302
+ --card-border-color: var(--gray-a7);
303
+ }
304
+ .ui-Card:where(:-moz-any-link, button, label):where(:focus-visible) {
305
+ --card-border-color: var(--focus-8);
306
+ box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
307
+ }
308
+ .ui-Card:where(:any-link, button, label):where(:focus-visible) {
309
+ --card-border-color: var(--focus-8);
310
+ box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
311
+ }
312
+ .ui-Card:where(.r-size-1) {
313
+ --card-padding: var(--space-3);
314
+ --card-border-radius: max(var(--radius-4), var(--radius-full));
315
+ }
316
+ .ui-Card:where(.r-size-2) {
317
+ --card-padding: var(--space-4);
318
+ --card-border-radius: max(var(--radius-4), var(--radius-full));
319
+ }
320
+ .ui-Card:where(.r-size-3) {
321
+ --card-padding: var(--space-5);
322
+ --card-border-radius: max(var(--radius-5), var(--radius-full));
323
+ }
324
+ .ui-Card:where(.r-size-4) {
325
+ --card-padding: var(--space-6);
326
+ --card-border-radius: max(var(--radius-5), var(--radius-full));
327
+ }
328
+ .ui-Card:where(.r-size-5) {
329
+ --card-padding: var(--space-8);
330
+ --card-border-radius: max(var(--radius-6), var(--radius-full));
331
+ }
332
+ .ui-Card:where(.r-variant-soft) {
333
+ border-color: var(--gray-2);
334
+ background-color: var(--gray-2);
335
+ }
336
+ .ui-Card:where(.r-variant-soft):where(:-moz-any-link, button, label):where(:hover) {
337
+ border-color: var(--gray-a5);
338
+ }
339
+ .ui-Card:where(.r-variant-soft):where(:any-link, button, label):where(:hover) {
340
+ border-color: var(--gray-a5);
341
+ }
342
+
343
+ .ui-CardHead {
344
+ display: flex;
345
+ align-items: center;
346
+ justify-content: space-between;
347
+ margin-left: calc(0px - var(--card-padding));
348
+ margin-right: calc(0px - var(--card-padding));
349
+ margin-top: calc(0px - var(--card-padding));
350
+ padding: var(--card-padding);
351
+ --card-head-border-color: var(--card-border-color, var(--gray-a5));
352
+ border-bottom: 1px solid var(--card-head-border-color);
353
+ }
354
+ .ui-CardHead:where(:-moz-any-link, button, label):where(:hover) {
355
+ background-color: var(--accent-a3);
356
+ }
357
+ .ui-CardHead:where(:any-link, button, label):where(:hover) {
358
+ background-color: var(--accent-a3);
359
+ }
360
+ .ui-CardHead:where(:-moz-any-link, button, label):where(:focus-visible) {
361
+ background-color: var(--accent-a4);
362
+ }
363
+ .ui-CardHead:where(:any-link, button, label):where(:focus-visible) {
364
+ background-color: var(--accent-a4);
365
+ }
366
+
367
+ .ui-Button {
368
+ display: inline-flex;
369
+ align-items: center;
370
+ justify-content: center;
371
+ flex-shrink: 0;
372
+ -webkit-user-select: none;
373
+ -moz-user-select: none;
374
+ user-select: none;
375
+ vertical-align: top;
376
+ font-style: normal;
377
+ font-weight: var(--button-font-weight);
378
+ text-align: center;
379
+ white-space: nowrap;
380
+ height: var(--button-height);
381
+ padding-left: var(--button-padding-x);
382
+ padding-right: var(--button-padding-x);
383
+ }
384
+ .ui-Button:where(.r-variant-ghost) {
385
+ --button-font-weight: var(--font-weight-regular);
386
+ }
387
+ .ui-Button:where(:not(.r-variant-ghost)) {
388
+ --button-font-weight: var(--font-weight-medium);
389
+ }
390
+ .ui-Button:where([data-disabled]) {
391
+ cursor: not-allowed;
392
+ }
393
+ .ui-Button:where(.r-size-1) {
394
+ gap: var(--space-1);
395
+ font-size: var(--font-size-1);
396
+ line-height: var(--line-height-1);
397
+ letter-spacing: var(--letter-spacing-1);
398
+ border-radius: max(var(--radius-1), var(--radius-full));
399
+ --button-height: var(--space-5);
400
+ --button-padding-x: var(--space-2);
401
+ }
402
+ .ui-Button:where(.r-size-1):where(.r-variant-ghost) {
403
+ --button-ghost-padding-y: var(--space-1);
404
+ }
405
+ .ui-Button:where(.r-size-2) {
406
+ gap: var(--space-2);
407
+ font-size: var(--font-size-2);
408
+ line-height: var(--line-height-2);
409
+ letter-spacing: var(--letter-spacing-2);
410
+ border-radius: max(var(--radius-2), var(--radius-full));
411
+ --button-height: var(--space-6);
412
+ --button-padding-x: var(--space-3);
413
+ }
414
+ .ui-Button:where(.r-size-2):where(.r-variant-ghost) {
415
+ gap: var(--space-1);
416
+ --button-padding-x: var(--space-2);
417
+ --button-ghost-padding-y: var(--space-1);
418
+ }
419
+ .ui-Button:where(.r-size-3) {
420
+ gap: var(--space-3);
421
+ font-size: var(--font-size-3);
422
+ line-height: var(--line-height-3);
423
+ letter-spacing: var(--letter-spacing-3);
424
+ border-radius: max(var(--radius-3), var(--radius-full));
425
+ --button-height: var(--space-7);
426
+ --button-padding-x: var(--space-4);
427
+ }
428
+ .ui-Button:where(.r-size-3):where(.r-variant-ghost) {
429
+ gap: var(--space-2);
430
+ --button-padding-x: var(--space-3);
431
+ --button-ghost-padding-y: calc(var(--space-1) * 1.5);
432
+ }
433
+ .ui-Button:where(.r-size-4) {
434
+ gap: var(--space-3);
435
+ font-size: var(--font-size-4);
436
+ line-height: var(--line-height-4);
437
+ letter-spacing: var(--letter-spacing-4);
438
+ border-radius: max(var(--radius-4), var(--radius-full));
439
+ --button-height: var(--space-8);
440
+ --button-padding-x: var(--space-5);
441
+ }
442
+ .ui-Button:where(.r-size-4):where(.r-variant-ghost) {
443
+ gap: var(--space-2);
444
+ --button-padding-x: var(--space-4);
445
+ --button-ghost-padding-y: var(--space-2);
446
+ }
447
+
448
+ /* solid */
449
+ .ui-root {
450
+ --button-solid-active-filter: brightness(0.92) saturate(1.1);
451
+ --button-solid-high-contrast-hover-filter: contrast(0.88) saturate(1.1) brightness(1.1);
452
+ }
453
+ :is(.dark, .dark-theme) .ui-root {
454
+ --button-solid-active-filter: brightness(1.08);
455
+ --button-solid-high-contrast-hover-filter: contrast(0.88) saturate(1.3) brightness(1.18);
456
+ }
457
+ .ui-Button:where(.r-variant-solid) {
458
+ background-color: var(--accent-9);
459
+ color: var(--accent-contrast);
460
+ }
461
+ @media (hover: hover) {
462
+ .ui-Button:where(.r-variant-solid):where(:hover) {
463
+ background-color: var(--accent-10);
464
+ }
465
+ }
466
+ .ui-Button:where(.r-variant-solid):where(:focus-visible) {
467
+ outline: 2px solid var(--focus-8);
468
+ outline-offset: 2px;
469
+ }
470
+ .ui-Button:where(.r-variant-solid):where(:active) {
471
+ background-color: var(--accent-10);
472
+ filter: var(--button-solid-active-filter);
473
+ }
474
+ .ui-Button:where(.r-variant-solid):where(.r-high-contrast) {
475
+ background-color: var(--accent-12);
476
+ color: var(--gray-1);
477
+ }
478
+ @media (hover: hover) {
479
+ .ui-Button:where(.r-variant-solid):where(.r-high-contrast:hover) {
480
+ background-color: var(--accent-12);
481
+ filter: var(--button-solid-high-contrast-hover-filter);
482
+ }
483
+ }
484
+ .ui-Button:where(.r-variant-solid):where([data-disabled]) {
485
+ color: var(--gray-a8);
486
+ background-color: var(--gray-a3);
487
+ outline: none;
488
+ filter: none;
489
+ }
490
+
491
+ /* soft / ghost */
492
+ .ui-Button:where(.r-variant-soft, .r-variant-ghost) {
493
+ color: var(--accent-a11);
494
+ }
495
+ .ui-Button:where(.r-variant-soft, .r-variant-ghost):where(.r-high-contrast) {
496
+ color: var(--accent-12);
497
+ }
498
+ .ui-Button:where(.r-variant-soft):where([data-disabled]) {
499
+ color: var(--gray-a8);
500
+ background-color: var(--gray-a3);
501
+ }
502
+ .ui-Button:where(.r-variant-soft) {
503
+ background-color: var(--accent-a3);
504
+ }
505
+ @media (hover: hover) {
506
+ .ui-Button:where(.r-variant-soft):where(:hover) {
507
+ background-color: var(--accent-a4);
508
+ }
509
+ }
510
+ .ui-Button:where(.r-variant-soft):where(:focus-visible) {
511
+ outline: 2px solid var(--accent-8);
512
+ outline-offset: -1px;
513
+ }
514
+ .ui-Button:where(.r-variant-soft):where(:active) {
515
+ background-color: var(--accent-a5);
516
+ }
517
+ .ui-Button:where(.r-variant-soft):where([data-disabled]) {
518
+ color: var(--gray-a8);
519
+ background-color: var(--gray-a3);
520
+ }
521
+ .ui-Button:where(.r-variant-ghost) {
522
+ padding: var(--button-ghost-padding-y) var(--button-ghost-padding-x);
523
+ }
524
+ @media (hover: hover) {
525
+ .ui-Button:where(.r-variant-ghost):where(:hover) {
526
+ background-color: var(--accent-a3);
527
+ }
528
+ }
529
+ .ui-Button:where(.r-variant-ghost):where(:focus-visible) {
530
+ outline: 2px solid var(--focus-8);
531
+ outline-offset: -1px;
532
+ }
533
+ .ui-Button:where(.r-variant-ghost):where(:active) {
534
+ background-color: var(--accent-a4);
535
+ }
536
+ .ui-Button:where(.r-variant-ghost):where([data-disabled]) {
537
+ color: var(--gray-a8);
538
+ background-color: transparent;
539
+ }
540
+
541
+ /* classic */
542
+ .ui-Button:where(.r-variant-classic) {
543
+ box-shadow: var(--shadow-2);
544
+ background-color: var(--color-background);
545
+ }
546
+ .ui-Button:where(.r-variant-classic):where(.r-high-contrast) {
547
+ color: var(--gray-12);
548
+ box-shadow: 0 0 0 1px var(--gray-a6), 0 1px 1px 0 var(--black-a4), 0 2px 1px -1px var(--black-a2), 0 1px 3px 0 var(--black-a1);
549
+ }
550
+ @media (hover: hover) {
551
+ .ui-Button:where(.r-variant-classic):where(:hover) {
552
+ color: var(--accent-a11);
553
+ background-color: var(--gray-a2);
554
+ }
555
+ .ui-Button:where(.r-variant-classic):where(.r-high-contrast):where(:hover) {
556
+ color: var(--accent-12);
557
+ }
558
+ }
559
+ .ui-Button:where(.r-variant-classic):where(:focus-visible) {
560
+ outline: 2px solid var(--focus-8);
561
+ outline-offset: 2px;
562
+ }
563
+ .ui-Button:where(.r-variant-classic):where(:active:not([data-disabled])) {
564
+ box-shadow: var(--shadow-1);
565
+ }
566
+ .ui-Button:where(.r-variant-classic):where([data-disabled]) {
567
+ color: var(--gray-a10);
568
+ background-color: var(--gray-a2);
569
+ }
570
+
571
+ /* outline */
572
+ .ui-Button:where(.r-variant-outline) {
573
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
574
+ color: var(--accent-a11);
575
+ }
576
+ @media (hover: hover) {
577
+ .ui-Button:where(.r-variant-outline):where(:hover) {
578
+ background-color: var(--accent-a2);
579
+ }
580
+ }
581
+ .ui-Button:where(.r-variant-outline):where(:focus-visible) {
582
+ outline: 2px solid var(--focus-8);
583
+ outline-offset: -1px;
584
+ }
585
+ .ui-Button:where(.r-variant-outline):where(.r-high-contrast) {
586
+ box-shadow: inset 0 0 0 1px var(--accent-a7), inset 0 0 0 1px var(--gray-a11);
587
+ color: var(--accent-12);
588
+ }
589
+ .ui-Button:where(.r-variant-outline):where(:active) {
590
+ background-color: var(--accent-a4);
591
+ }
592
+ .ui-Button:where(.r-variant-outline):where([data-disabled]) {
593
+ color: var(--gray-a8);
594
+ box-shadow: inset 0 0 0 1px var(--gray-a7);
595
+ background-color: transparent;
596
+ }
597
+
598
+ /* surface */
599
+ .ui-Button:where(.r-variant-surface) {
600
+ background-color: var(--accent-surface);
601
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
602
+ color: var(--accent-a11);
603
+ }
604
+ @media (hover: hover) {
605
+ .ui-Button:where(.r-variant-surface):where(:hover) {
606
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
607
+ }
608
+ }
609
+ .ui-Button:where(.r-variant-surface):where(:focus-visible) {
610
+ outline: 2px solid var(--focus-8);
611
+ outline-offset: -1px;
612
+ }
613
+ .ui-Button:where(.r-variant-surface):where(.r-high-contrast) {
614
+ color: var(--accent-12);
615
+ }
616
+ .ui-Button:where(.r-variant-surface):where(:active) {
617
+ background-color: var(--accent-a4);
618
+ }
619
+ .ui-Button:where(.r-variant-surface):where([data-disabled]) {
620
+ color: var(--gray-a8);
621
+ box-shadow: inset 0 0 0 1px var(--gray-a6);
622
+ background-color: var(--gray-a2);
623
+ }
624
+
625
+ .ui-Button.ui-IconButton:where(:not(.r-variant-ghost)) {
626
+ height: var(--button-height);
627
+ width: var(--button-height);
628
+ padding: 0;
629
+ }
630
+ .ui-IconButton:where(.r-variant-ghost) {
631
+ padding: var(--icon-button-ghost-padding);
632
+ }
633
+ .ui-IconButton:where(.r-size-1) {
634
+ --icon-button-ghost-padding: var(--space-1);
635
+ }
636
+ .ui-IconButton:where(.r-size-2) {
637
+ --icon-button-ghost-padding: calc(var(--space-1) * 1.5);
638
+ }
639
+ .ui-IconButton:where(.r-size-3) {
640
+ --icon-button-ghost-padding: var(--space-2);
641
+ }
642
+ .ui-IconButton:where(.r-size-4) {
643
+ --icon-button-ghost-padding: var(--space-3);
644
+ }
645
+
646
+ .ui-SocialButton {
647
+ background-color: var(--social-button-background-color);
648
+ color: var(--social-button-text-color);
649
+ box-shadow: 0px 1px 2px 0px #0A0D120D, 0px -2px 0px 0px #0A0D120D inset, 0px 0px 0px 1px #0A0D122E inset;
650
+ --social-button-background-color: black;
651
+ --social-button-text-color: white;
652
+ --social-button-hover-filter: brightness(0.92) saturate(1.1);
653
+ }
654
+ @media (hover: hover) {
655
+ .ui-SocialButton:where(:hover) {
656
+ filter: var(--social-button-hover-filter);
657
+ }
658
+ }
659
+ .ui-SocialButton:where(.r-brand-google) {
660
+ background-color: var(--color-background);
661
+ --social-button-text-color: var(--gray-12);
662
+ }
663
+ .ui-SocialButton:where(.r-brand-facebook) {
664
+ --social-button-background-color: #1877F2;
665
+ }
666
+ .ui-SocialButton:where(.r-brand-github) {
667
+ --social-button-background-color: #333;
668
+ }
669
+ .ui-SocialButton:where(.r-brand-slack) {
670
+ --social-button-background-color: #611f69;
671
+ }
672
+ .ui-SocialButton:where(:focus-visible) {
673
+ outline: 2px solid var(--focus-8);
674
+ outline-offset: 2px;
675
+ }
676
+ .ui-SocialButton:where(:active) {
677
+ box-shadow: var(--shadow-1);
678
+ }
679
+ .ui-SocialButton:where([data-disabled]) {
680
+ color: var(--gray-a10);
681
+ background-color: var(--gray-a2);
682
+ }
683
+
684
+ .ui-root {
685
+ --scrollarea-scrollbar-horizontal-margin-top: var(--space-1);
686
+ --scrollarea-scrollbar-horizontal-margin-bottom: var(--space-1);
687
+ --scrollarea-scrollbar-horizontal-margin-left: var(--space-1);
688
+ --scrollarea-scrollbar-horizontal-margin-right: var(--space-1);
689
+ --scrollarea-scrollbar-vertical-margin-top: var(--space-1);
690
+ --scrollarea-scrollbar-vertical-margin-bottom: var(--space-1);
691
+ --scrollarea-scrollbar-vertical-margin-left: var(--space-1);
692
+ --scrollarea-scrollbar-vertical-margin-right: var(--space-1);
693
+ }
694
+ .ui-ScrollArea {
695
+ display: flex;
696
+ flex-direction: column;
697
+ overflow: hidden;
698
+ width: 100%;
699
+ height: 100%;
700
+ }
701
+ .ui-ScrollAreaViewport {
702
+ display: flex;
703
+ flex-direction: column;
704
+ width: 100%;
705
+ height: 100%;
706
+ }
707
+ .ui-ScrollAreaViewport:where(:focus-visible) + :where(.ui-ScrollAreaViewportFocusRing) {
708
+ position: absolute;
709
+ inset: 0;
710
+ pointer-events: none;
711
+ outline: 2px solid var(--focus-8);
712
+ outline-offset: -2px;
713
+ }
714
+ .ui-ScrollAreaViewport:where(:has(.ui-ScrollAreaScrollbar[data-orientation='horizontal'])) {
715
+ overscroll-behavior-x: contain;
716
+ }
717
+ .ui-ScrollAreaScrollbar {
718
+ display: flex;
719
+ -webkit-user-select: none;
720
+ -moz-user-select: none;
721
+ user-select: none;
722
+ touch-action: none;
723
+ }
724
+ .ui-ScrollAreaScrollbar:where([data-orientation='vertical']) {
725
+ flex-direction: column;
726
+ width: var(--scrollarea-scrollbar-size);
727
+ }
728
+ .ui-ScrollAreaScrollbar:where([data-orientation='horizontal']) {
729
+ flex-direction: row;
730
+ height: var(--scrollarea-scrollbar-size);
731
+ }
732
+ .ui-ScrollAreaThumb {
733
+ position: relative;
734
+ }
735
+ .ui-ScrollAreaThumb::before {
736
+ content: '';
737
+ position: absolute;
738
+ top: 50%;
739
+ left: 50%;
740
+ transform: translate(-50%, -50%);
741
+ width: 100%;
742
+ height: 100%;
743
+ min-width: var(--space-4);
744
+ min-height: var(--space-4);
745
+ }
746
+ .ui-ScrollAreaScrollbar:where([data-size="1"]) {
747
+ --scrollarea-scrollbar-size: var(--space-1);
748
+ --scrollarea-scrollbar-border-radius: max(var(--radius-1), var(--radius-full));
749
+ }
750
+ .ui-ScrollAreaScrollbar:where([data-size="2"]) {
751
+ --scrollarea-scrollbar-size: var(--space-2);
752
+ --scrollarea-scrollbar-border-radius: max(var(--radius-1), var(--radius-full));
753
+ }
754
+ .ui-ScrollAreaScrollbar:where([data-size="3"]) {
755
+ --scrollarea-scrollbar-size: var(--space-3);
756
+ --scrollarea-scrollbar-border-radius: max(var(--radius-1), var(--radius-full));
757
+ }
758
+ .ui-ScrollAreaScrollbar {
759
+ background-color: var(--gray-a3);
760
+ border-radius: var(--scrollarea-scrollbar-border-radius);
761
+ animation-duration: 120ms;
762
+ animation-timing-function: ease-out;
763
+ }
764
+ .ui-ScrollAreaScrollbar:where([data-state='visible']) {
765
+ animation-name: ui-fade-in;
766
+ }
767
+ .ui-ScrollAreaScrollbar:where([data-state='hidden']) {
768
+ animation-name: ui-fade-out;
769
+ }
770
+ .ui-ScrollAreaScrollbar:where([data-orientation='horizontal']) {
771
+ margin-top: var(--scrollarea-scrollbar-horizontal-margin-top);
772
+ margin-bottom: var(--scrollarea-scrollbar-horizontal-margin-bottom);
773
+ margin-left: var(--scrollarea-scrollbar-horizontal-margin-left);
774
+ margin-right: var(--scrollarea-scrollbar-horizontal-margin-right);
775
+ }
776
+ .ui-ScrollAreaScrollbar:where([data-orientation='vertical']) {
777
+ margin-top: var(--scrollarea-scrollbar-vertical-margin-top);
778
+ margin-bottom: var(--scrollarea-scrollbar-vertical-margin-bottom);
779
+ margin-left: var(--scrollarea-scrollbar-vertical-margin-left);
780
+ margin-right: var(--scrollarea-scrollbar-vertical-margin-right);
781
+ }
782
+ .ui-ScrollAreaThumb {
783
+ background-color: var(--gray-a8);
784
+ border-radius: inherit;
785
+ transition: background-color 100ms;
786
+ }
787
+ .ui-ScrollAreaThumb:hover {
788
+ background-color: var(--gray-a9);
789
+ }
790
+
791
+ .ui-DialogOverlay {
792
+ position: fixed;
793
+ inset: 0;
794
+ }
795
+ .ui-DialogOverlay::before {
796
+ position: fixed;
797
+ content: '';
798
+ inset: 0;
799
+ background-color: var(--color-overlay);
800
+ }
801
+ .ui-DialogScroll {
802
+ display: flex;
803
+ overflow: auto;
804
+ position: absolute;
805
+ inset: 0;
806
+ }
807
+ .ui-DialogScrollPadding {
808
+ flex-grow: 1;
809
+ margin: auto;
810
+ padding-top: var(--space-6);
811
+ padding-bottom: max(var(--space-6), 6vh);
812
+ padding-left: var(--space-4);
813
+ padding-right: var(--space-4);
814
+ }
815
+ .ui-DialogScrollPadding[data-align="start"] {
816
+ margin-top: 0;
817
+ }
818
+ .ui-DialogScrollPadding[data-align="center"] {
819
+ margin-top: auto;
820
+ }
821
+ .ui-DialogContent {
822
+ margin: auto;
823
+ width: 100%;
824
+ max-height: calc(100vh - var(--space-6) * 2);
825
+ position: relative;
826
+ box-sizing: border-box;
827
+ overflow: auto;
828
+ text-align: left;
829
+
830
+ --inset-padding-top: var(--dialog-content-padding);
831
+ --inset-padding-right: var(--dialog-content-padding);
832
+ --inset-padding-bottom: var(--dialog-content-padding);
833
+ --inset-padding-left: var(--dialog-content-padding);
834
+ padding: var(--dialog-content-padding);
835
+ box-sizing: border-box;
836
+
837
+ background-color: var(--color-panel-solid);
838
+ box-shadow: var(--shadow-6);
839
+ outline: none;
840
+ }
841
+ .ui-DialogContent[data-size="1"] {
842
+ --dialog-content-padding: var(--space-3);
843
+ border-radius: var(--radius-4);
844
+ }
845
+ .ui-DialogContent[data-size="2"] {
846
+ --dialog-content-padding: var(--space-4);
847
+ border-radius: var(--radius-4);
848
+ }
849
+ .ui-DialogContent[data-size="3"] {
850
+ --dialog-content-padding: var(--space-5);
851
+ border-radius: var(--radius-5);
852
+ }
853
+ .ui-DialogContent[data-size="4"] {
854
+ --dialog-content-padding: var(--space-6);
855
+ border-radius: var(--radius-5);
856
+ }
857
+ @media (prefers-reduced-motion: no-preference) {
858
+ @keyframes ui-dialog-overlay-no-op {
859
+ from {
860
+ opacity: 1;
861
+ }
862
+ to {
863
+ opacity: 1;
864
+ }
865
+ }
866
+ @keyframes ui-dialog-content-show {
867
+ from {
868
+ opacity: 0;
869
+ transform: translateY(5px) scale(0.97);
870
+ }
871
+ to {
872
+ opacity: 1;
873
+ transform: translateY(0px) scale(1);
874
+ }
875
+ }
876
+ @keyframes ui-dialog-content-hide {
877
+ from {
878
+ opacity: 1;
879
+ transform: translateY(0px) scale(1);
880
+ }
881
+ to {
882
+ opacity: 0;
883
+ transform: translateY(5px) scale(0.99);
884
+ }
885
+ }
886
+ .ui-DialogOverlay[data-state='closed'] {
887
+ animation: ui-dialog-overlay-no-op 160ms cubic-bezier(0.16, 1, 0.3, 1);
888
+ }
889
+ .ui-DialogOverlay[data-state='open']::before {
890
+ animation: ui-fade-in 200ms cubic-bezier(0.16, 1, 0.3, 1);
891
+ }
892
+ .ui-DialogOverlay[data-state='closed']::before {
893
+ animation: ui-fade-out 160ms cubic-bezier(0.16, 1, 0.3, 1);
894
+ }
895
+ .ui-DialogContent[data-state='open'] {
896
+ animation: ui-dialog-content-show 200ms cubic-bezier(0.16, 1, 0.3, 1);
897
+ }
898
+ .ui-DialogContent[data-state='closed'] {
899
+ animation: ui-dialog-content-hide 100ms cubic-bezier(0.16, 1, 0.3, 1);
900
+ }
901
+ }
902
+ .ui-DialogContent > h2[id^="reka-dialog-title"] {
903
+ font-size: var(--font-size-5);
904
+ font-weight: var(--font-weight-bold);
905
+ line-height: var(--line-height-4);
906
+ margin-bottom: var(--space-3);
907
+ }
908
+ .ui-DialogContent > p[id^="reka-dialog-description"] {
909
+ font-size: var(--font-size-2);
910
+ line-height: var(--line-height-2);
911
+ letter-spacing: var(--letter-spacing-2);
912
+ }
913
+
914
+ .ui-DialogHead {
915
+ position: sticky;
916
+ top: calc(0px - var(--inset-padding-top-calc));
917
+ display: flex;
918
+ justify-content: space-between;
919
+ align-items: center;
920
+ margin-top: calc(0px - var(--inset-padding-top-calc));
921
+ padding: calc(var(--dialog-content-padding) / 2) var(--dialog-content-padding);
922
+ border-bottom: 1px solid var(--gray-a4);
923
+ background-color: var(--color-background);
924
+ z-index: 1;
925
+ }
926
+
927
+ .ui-MenuContent {
928
+ --scrollarea-scrollbar-vertical-margin-top: var(--menu-content-padding);
929
+ --scrollarea-scrollbar-vertical-margin-bottom: var(--menu-content-padding);
930
+ --scrollarea-scrollbar-horizontal-margin-left: var(--menu-content-padding);
931
+ --scrollarea-scrollbar-horizontal-margin-right: var(--menu-content-padding);
932
+
933
+ display: flex;
934
+ flex-direction: column;
935
+ box-sizing: border-box;
936
+ overflow: hidden;
937
+
938
+ --menu-bg: var(--color-panel-solid);
939
+ box-shadow: var(--shadow-5);
940
+ background-color: var(--menu-bg);
941
+ }
942
+ .ui-MenuViewport {
943
+ flex: 1 1 0%;
944
+ display: flex;
945
+ flex-direction: column;
946
+ overflow: auto;
947
+ padding: var(--menu-content-padding);
948
+ box-sizing: border-box;
949
+ }
950
+ :where(.ui-MenuContent:has(.rt-ScrollAreaScrollbar[data-orientation='vertical'])) .ui-MenuViewport {
951
+ padding-right: var(--space-3);
952
+ }
953
+ .ui-MenuContent:where([data-size="1"]) {
954
+ --menu-content-padding: var(--space-1);
955
+ --menu-item-padding-left: calc(var(--space-5) / 1.2);
956
+ --menu-item-padding-right: var(--space-2);
957
+ --menu-item-height: var(--space-5);
958
+ border-radius: var(--radius-3);
959
+ }
960
+ .ui-MenuContent:where([data-size="2"]) {
961
+ --menu-content-padding: var(--space-2);
962
+ --menu-item-padding-left: var(--space-3);
963
+ --menu-item-padding-right: var(--space-3);
964
+ --menu-item-height: var(--space-6);
965
+ border-radius: var(--radius-4);
966
+ }
967
+
968
+ .ui-MenuItem {
969
+ display: flex;
970
+ align-items: center;
971
+ gap: var(--space-2);
972
+ height: var(--menu-item-height);
973
+ padding-left: var(--menu-item-padding-left);
974
+ padding-right: var(--menu-item-padding-right);
975
+ box-sizing: border-box;
976
+ position: relative;
977
+ outline: none;
978
+ scroll-margin: var(--menu-content-padding) 0;
979
+ -webkit-user-select: none;
980
+ -moz-user-select: none;
981
+ user-select: none;
982
+ cursor: default;
983
+ color: var(--gray-a11);
984
+ }
985
+ .ui-MenuShortcut {
986
+ display: flex;
987
+ align-items: center;
988
+ margin-left: auto;
989
+ padding-left: var(--space-4);
990
+ }
991
+ .ui-MenuItem:where([data-accent-color]) {
992
+ color: var(--accent-a11);
993
+ }
994
+ .ui-MenuItem:where([data-disabled]) {
995
+ color: var(--gray-a8);
996
+ }
997
+ .ui-MenuItem:where([data-disabled], [data-highlighted]) :where(.ui-MenuShortcut) {
998
+ color: inherit;
999
+ }
1000
+ .ui-MenuItem:where([data-size="1"]) {
1001
+ font-size: var(--font-size-1);
1002
+ line-height: var(--line-height-1);
1003
+ letter-spacing: var(--letter-spacing-1);
1004
+ border-radius: var(--radius-1);
1005
+ }
1006
+ .ui-MenuItem:where([data-size="2"]) {
1007
+ font-size: var(--font-size-2);
1008
+ line-height: var(--line-height-2);
1009
+ letter-spacing: var(--letter-spacing-2);
1010
+ border-radius: var(--radius-2);
1011
+ }
1012
+ .ui-MenuItem:where([data-variant="solid"]):where([data-highlighted]) {
1013
+ background-color: var(--accent-9);
1014
+ color: var(--accent-contrast);
1015
+ }
1016
+ .ui-MenuItem:where([data-variant="solid"]):where([data-high-contrast]):where([data-highlighted]) {
1017
+ background-color: var(--accent-12);
1018
+ color: var(--accent-1);
1019
+ }
1020
+ .ui-MenuItem:where([data-variant="soft"]):where([data-highlighted]) {
1021
+ background-color: var(--accent-a4);
1022
+ }
1023
+
1024
+ .ui-PopoverContent {
1025
+ --inset-padding-top: var(--popover-content-padding);
1026
+ --inset-padding-right: var(--popover-content-padding);
1027
+ --inset-padding-bottom: var(--popover-content-padding);
1028
+ --inset-padding-left: var(--popover-content-padding);
1029
+
1030
+ background-color: var(--color-panel-solid);
1031
+ box-shadow: var(--shadow-5);
1032
+ min-width: var(--reka-popover-trigger-width);
1033
+ max-width: var(--reka-popover-content-available-width);
1034
+ outline: 0;
1035
+ overflow: auto;
1036
+ position: relative;
1037
+ padding: var(--popover-content-padding);
1038
+ box-sizing: border-box;
1039
+ transform-origin: var(--reka-popover-content-transform-origin);
1040
+ }
1041
+ .ui-PopoverContent:where([data-size="1"]) {
1042
+ --popover-content-padding: var(--space-3);
1043
+ border-radius: var(--radius-4);
1044
+ }
1045
+ .ui-PopoverContent:where([data-size="2"]) {
1046
+ --popover-content-padding: var(--space-4);
1047
+ border-radius: var(--radius-4);
1048
+ }
1049
+ .ui-PopoverContent:where([data-size="3"]) {
1050
+ --popover-content-padding: var(--space-5);
1051
+ border-radius: var(--radius-5);
1052
+ }
1053
+ .ui-PopoverContent:where([data-size="4"]) {
1054
+ --popover-content-padding: var(--space-6);
1055
+ border-radius: var(--radius-5);
1056
+ }
1057
+ @media (prefers-reduced-motion: no-preference) {
1058
+ .ui-PopperContent {
1059
+ animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
1060
+ }
1061
+ .ui-PopperContent:where([data-state='open']) {
1062
+ animation-duration: 160ms;
1063
+ }
1064
+ .ui-PopperContent:where([data-state='open']):where([data-side='top']) {
1065
+ animation-name: ui-slide-from-top, ui-fade-in;
1066
+ }
1067
+ .ui-PopperContent:where([data-state='open']):where([data-side='bottom']) {
1068
+ animation-name: ui-slide-from-bottom, ui-fade-in;
1069
+ }
1070
+ .ui-PopperContent:where([data-state='open']):where([data-side='left']) {
1071
+ animation-name: ui-slide-from-left, ui-fade-in;
1072
+ }
1073
+ .ui-PopperContent:where([data-state='open']):where([data-side='right']) {
1074
+ animation-name: ui-slide-from-right, ui-fade-in;
1075
+ }
1076
+ .ui-PopperContent:where([data-state='closed']) {
1077
+ animation-duration: 100ms;
1078
+ }
1079
+ .ui-PopperContent:where([data-state='closed']):where([data-side='top']) {
1080
+ animation-name: ui-slide-from-top, ui-fade-out;
1081
+ }
1082
+ .ui-PopperContent:where([data-state='closed']):where([data-side='bottom']) {
1083
+ animation-name: ui-slide-from-bottom, ui-fade-out;
1084
+ }
1085
+ .ui-PopperContent:where([data-state='closed']):where([data-side='left']) {
1086
+ animation-name: ui-slide-from-left, ui-fade-out;
1087
+ }
1088
+ .ui-PopperContent:where([data-state='closed']):where([data-side='right']) {
1089
+ animation-name: ui-slide-from-right, ui-fade-out;
1090
+ }
1091
+ }
1092
+
1093
+ .ui-root {
1094
+ --switch-disabled-blend-mode: multiply;
1095
+ --switch-high-contrast-checked-color-overlay: var(--black-a8);
1096
+ --switch-high-contrast-checked-active-before-filter: contrast(0.82) saturate(1.2) brightness(1.16);
1097
+ --switch-surface-checked-active-filter: brightness(0.92) saturate(1.1);
1098
+ }
1099
+ :is(.dark, .dark-theme) .ui-root {
1100
+ --switch-disabled-blend-mode: screen;
1101
+ --switch-high-contrast-checked-color-overlay: transparent;
1102
+ --switch-high-contrast-checked-active-before-filter: brightness(1.08);
1103
+ --switch-surface-checked-active-filter: brightness(1.08);
1104
+ }
1105
+ .ui-Switch {
1106
+ position: relative;
1107
+ display: inline-flex;
1108
+ align-items: center;
1109
+ vertical-align: top;
1110
+ flex-shrink: 0;
1111
+ outline: none;
1112
+
1113
+ height: var(--switch-height);
1114
+ --switch-width: calc(var(--switch-height) * 1.75);
1115
+ --switch-thumb-inset: 1px;
1116
+ --switch-thumb-size: calc(var(--switch-height) - var(--switch-thumb-inset) * 2);
1117
+ --switch-thumb-translate-x: calc(var(--switch-width) - var(--switch-height));
1118
+ }
1119
+ .ui-Switch::before {
1120
+ content: '';
1121
+ display: block;
1122
+ width: var(--switch-width);
1123
+ height: var(--switch-height);
1124
+ border-radius: var(--switch-border-radius);
1125
+ transition: background-position, background-color, box-shadow, filter;
1126
+ transition-timing-function: linear, ease-in-out, ease-in-out, ease-in-out;
1127
+ background-repeat: no-repeat;
1128
+ background-size: calc(var(--switch-width) * 2 + var(--switch-height)) 100%;
1129
+ }
1130
+ .ui-Switch:where([data-state='unchecked'])::before {
1131
+ transition-duration: 120ms, 140ms, 140ms, 140ms;
1132
+ background-position-x: 100%;
1133
+ }
1134
+ .ui-Switch:where([data-state='checked'])::before {
1135
+ transition-duration: 160ms, 140ms, 140ms, 140ms;
1136
+ background-position: 0%;
1137
+ }
1138
+ .ui-Switch:where(:active)::before {
1139
+ transition-duration: 30ms;
1140
+ }
1141
+ .ui-Switch:where(:focus-visible)::before {
1142
+ outline: 2px solid var(--focus-8);
1143
+ outline-offset: 2px;
1144
+ }
1145
+ .ui-Switch::before {
1146
+ cursor: default;
1147
+ }
1148
+ .ui-Switch:where([data-disabled])::before {
1149
+ cursor: not-allowed;
1150
+ }
1151
+ .ui-SwitchThumb {
1152
+ background-color: white;
1153
+ position: absolute;
1154
+ left: var(--switch-thumb-inset);
1155
+ width: var(--switch-thumb-size);
1156
+ height: var(--switch-thumb-size);
1157
+ border-radius: calc(var(--switch-border-radius) - var(--switch-thumb-inset));
1158
+ transition: transform 140ms cubic-bezier(0.45, 0.05, 0.55, 0.95), box-shadow 140ms ease-in-out;
1159
+ }
1160
+ .ui-SwitchThumb:where([data-state='checked']) {
1161
+ transform: translateX(var(--switch-thumb-translate-x));
1162
+ }
1163
+ .ui-Switch:where(.r-size-1) {
1164
+ --switch-height: var(--space-4);
1165
+ --switch-border-radius: max(var(--radius-1), var(--radius-thumb));
1166
+ }
1167
+ .ui-Switch:where(.r-size-2) {
1168
+ --switch-height: calc(var(--space-5) * 5 / 6);
1169
+ --switch-border-radius: max(var(--radius-2), var(--radius-thumb));
1170
+ }
1171
+ .ui-Switch:where(.r-size-3) {
1172
+ --switch-height: var(--space-5);
1173
+ --switch-border-radius: max(var(--radius-2), var(--radius-thumb));
1174
+ }
1175
+ .ui-Switch:where(.r-variant-surface)::before {
1176
+ background-color: var(--gray-a3);
1177
+ background-image: linear-gradient(to right, var(--accent-track) 40%, transparent 60%);
1178
+ box-shadow: inset 0 0 0 1px var(--gray-a5);
1179
+ }
1180
+ .ui-Switch:where(.r-variant-surface):where(:active)::before {
1181
+ background-color: var(--gray-a4);
1182
+ }
1183
+ .ui-Switch:where(.r-variant-surface):where([data-state='checked']:active)::before {
1184
+ filter: var(--switch-surface-checked-active-filter);
1185
+ }
1186
+ .ui-Switch:where(.r-variant-surface):where(.r-high-contrast)::before {
1187
+ background-image:
1188
+ linear-gradient(to right, var(--switch-high-contrast-checked-color-overlay) 40%, transparent 60%),
1189
+ linear-gradient(to right, var(--accent-track) 40%, transparent 60%);
1190
+ }
1191
+ .ui-Switch:where(.r-variant-surface):where(.r-high-contrast):where([data-state='checked']:active)::before {
1192
+ filter: var(--switch-high-contrast-checked-active-before-filter);
1193
+ }
1194
+ .ui-Switch:where(.r-variant-surface):where([data-disabled]) {
1195
+ mix-blend-mode: var(--switch-disabled-blend-mode);
1196
+ }
1197
+ .ui-Switch:where(.r-variant-surface):where([data-disabled])::before {
1198
+ filter: none;
1199
+ background-image: none;
1200
+ background-color: var(--gray-a3);
1201
+ box-shadow: inset 0 0 0 1px var(--gray-a3);
1202
+ }
1203
+ .ui-Switch:where(.r-variant-surface) .ui-SwitchThumb:where([data-state='unchecked']) {
1204
+ box-shadow: 0 0 1px 1px var(--black-a2), 0 1px 1px var(--black-a1), 0 2px 4px -1px var(--black-a1);
1205
+ }
1206
+ .ui-Switch:where(.r-variant-surface) .ui-SwitchThumb:where([data-state='checked']) {
1207
+ box-shadow: 0 1px 3px var(--black-a2), 0 2px 4px -1px var(--black-a1), 0 0 0 1px var(--black-a1),
1208
+ 0 0 0 1px var(--accent-a4), -1px 0 1px var(--black-a2);
1209
+ }
1210
+ .ui-Switch:where(.r-variant-surface):where(.r-high-contrast) .ui-SwitchThumb:where([data-state='checked']) {
1211
+ box-shadow: 0 1px 3px var(--black-a2), 0 2px 4px -1px var(--black-a1), 0 0 0 1px var(--black-a2),
1212
+ -1px 0 1px var(--black-a2);
1213
+ }
1214
+ .ui-Switch:where(.r-variant-surface) .ui-SwitchThumb:where([data-disabled]) {
1215
+ background-color: var(--gray-2);
1216
+ box-shadow: 0 0 0 1px var(--gray-a2), 0 1px 3px var(--black-a1);
1217
+ transition: none;
1218
+ }
1219
+ .ui-Switch:where(.r-variant-soft)::before {
1220
+ background-image:
1221
+ linear-gradient(to right, var(--accent-a4) 40%, transparent 60%),
1222
+ linear-gradient(to right, var(--accent-a4) 40%, transparent 60%),
1223
+ linear-gradient(to right, var(--accent-a4) 40%, var(--white-a1) 60%),
1224
+ linear-gradient(to right, var(--gray-a2) 40%, var(--gray-a3) 60%);
1225
+ }
1226
+ .ui-Switch:where(.r-variant-soft):where([data-state='unchecked'])::before {
1227
+ background-color: var(--gray-a3);
1228
+ }
1229
+ .ui-Switch:where(.r-variant-soft):where(:active)::before {
1230
+ background-color: var(--gray-a4);
1231
+ }
1232
+ .ui-Switch:where(.r-variant-soft):where(.r-high-contrast)::before {
1233
+ background-image:
1234
+ linear-gradient(to right, var(--switch-high-contrast-checked-color-overlay) 40%, transparent 60%),
1235
+ linear-gradient(to right, var(--accent-a6) 40%, transparent 60%),
1236
+ linear-gradient(to right, var(--accent-a6) 40%, transparent 60%),
1237
+ linear-gradient(to right, var(--accent-a6) 40%, var(--white-a1) 60%),
1238
+ linear-gradient(to right, var(--accent-a3) 40%, var(--gray-a3) 60%);
1239
+ }
1240
+ .ui-Switch:where(.r-variant-soft):where(.r-high-contrast):where([data-state='checked']:active)::before {
1241
+ filter: var(--switch-high-contrast-checked-active-before-filter);
1242
+ }
1243
+ .ui-Switch:where(.r-variant-soft):where([data-disabled]) {
1244
+ mix-blend-mode: var(--switch-disabled-blend-mode);
1245
+ }
1246
+ .ui-Switch:where(.r-variant-soft):where([data-disabled])::before {
1247
+ filter: none;
1248
+ background-image: none;
1249
+ background-color: var(--gray-a4);
1250
+ }
1251
+ .ui-Switch:where(.r-variant-soft) .ui-SwitchThumb {
1252
+ filter: saturate(0.45);
1253
+ }
1254
+ .ui-Switch:where(.r-variant-soft) .ui-SwitchThumb:where([data-state='unchecked']) {
1255
+ box-shadow: 0 0 0 1px var(--black-a1), 0 1px 3px var(--black-a1), 0 1px 3px var(--black-a1),
1256
+ 0 2px 4px -1px var(--black-a1);
1257
+ }
1258
+ .ui-Switch:where(.r-variant-soft) .ui-SwitchThumb:where([data-state='checked']) {
1259
+ box-shadow: 0 0 0 1px var(--black-a1), 0 1px 3px var(--black-a2), 0 1px 3px var(--accent-a3),
1260
+ 0 2px 4px -1px var(--accent-a3);
1261
+ }
1262
+ .ui-Switch:where(.r-variant-soft) .ui-SwitchThumb:where([data-disabled]) {
1263
+ filter: none;
1264
+ background-color: var(--gray-2);
1265
+ box-shadow: 0 0 0 1px var(--gray-a2), 0 1px 3px var(--black-a1);
1266
+ transition: none;
1267
+ }
1268
+
1269
+ .ui-Checkbox {
1270
+ position: relative;
1271
+ display: inline-flex;
1272
+ align-items: center;
1273
+ justify-content: center;
1274
+ vertical-align: top;
1275
+ flex-shrink: 0;
1276
+ cursor: default;
1277
+ height: var(--checkbox-size);
1278
+ border-radius: var(--checkbox-border-radius);
1279
+ }
1280
+ .ui-Checkbox::before {
1281
+ content: '';
1282
+ display: block;
1283
+ height: var(--checkbox-size);
1284
+ width: var(--checkbox-size);
1285
+ border-radius: var(--checkbox-border-radius);
1286
+ }
1287
+ .ui-Checkbox:where(:focus-visible)::before {
1288
+ outline: 2px solid var(--focus-8);
1289
+ outline-offset: 2px;
1290
+ }
1291
+ .ui-Checkbox:where(:disabled) {
1292
+ cursor: not-allowed;
1293
+ }
1294
+ .ui-Checkbox:where(:disabled)::before {
1295
+ background-color: var(--gray-a3);
1296
+ }
1297
+ .ui-CheckboxIndicator {
1298
+ position: absolute;
1299
+ width: var(--checkbox-indicator-size);
1300
+ height: var(--checkbox-indicator-size);
1301
+ transform: translate(-50%, -50%);
1302
+ top: 50%;
1303
+ left: 50%;
1304
+ }
1305
+ .ui-Checkbox:where(.r-size-1) {
1306
+ --checkbox-size: calc(var(--space-4) * 0.875);
1307
+ --checkbox-indicator-size: calc(9px * var(--scaling));
1308
+ --checkbox-border-radius: calc(var(--radius-1) * 0.875);
1309
+ }
1310
+ .ui-Checkbox:where(.r-size-2) {
1311
+ --checkbox-size: var(--space-4);
1312
+ --checkbox-indicator-size: calc(10px * var(--scaling));
1313
+ --checkbox-border-radius: var(--radius-1);
1314
+ }
1315
+ .ui-Checkbox:where(.r-size-3) {
1316
+ --checkbox-size: calc(var(--space-4) * 1.25);
1317
+ --checkbox-indicator-size: calc(12px * var(--scaling));
1318
+ --checkbox-border-radius: calc(var(--radius-1) * 1.25);
1319
+ }
1320
+ .ui-Checkbox:where(.r-variant-surface):where([data-state='unchecked'])::before {
1321
+ background-color: var(--color-surface);
1322
+ box-shadow: inset 0 0 0 1px var(--gray-a7);
1323
+ }
1324
+ .ui-Checkbox:where(.r-variant-surface):where([data-state='checked'], [data-state='indeterminate'])::before {
1325
+ background-color: var(--accent-indicator);
1326
+ }
1327
+ .ui-Checkbox:where(.r-variant-surface):where([data-state='checked'], [data-state='indeterminate']) .ui-CheckboxIndicator {
1328
+ color: var(--accent-contrast);
1329
+ }
1330
+ .ui-Checkbox:where(.r-variant-surface):where(.r-high-contrast):where([data-state='checked'], [data-state='indeterminate'])::before {
1331
+ background-color: var(--accent-12);
1332
+ }
1333
+ .ui-Checkbox:where(.r-variant-surface):where(.r-high-contrast):where([data-state='checked'], [data-state='indeterminate']) .ui-CheckboxIndicator {
1334
+ color: var(--accent-1);
1335
+ }
1336
+ .ui-Checkbox:where(.r-variant-surface):disabled:where([data-state='checked'], [data-state='indeterminate'])::before {
1337
+ box-shadow: inset 0 0 0 1px var(--gray-a6);
1338
+ background-color: transparent;
1339
+ }
1340
+ .ui-Checkbox:where(.r-variant-surface):disabled:where([data-state='checked'], [data-state='indeterminate']) .ui-CheckboxIndicator {
1341
+ color: var(--gray-a8);
1342
+ }
1343
+ .ui-Checkbox:where(.r-variant-soft)::before {
1344
+ background-color: var(--accent-a5);
1345
+ }
1346
+ .ui-Checkbox:where(.r-variant-soft):where([data-state='checked'], [data-state='indeterminate']) .ui-CheckboxIndicator {
1347
+ color: var(--accent-a11);
1348
+ }
1349
+ .ui-Checkbox:where(.r-variant-soft):where(.r-high-contrast):where([data-state='checked'], [data-state='indeterminate']) .ui-CheckboxIndicator {
1350
+ color: var(--accent-12);
1351
+ }
1352
+ .ui-Checkbox:where(.r-variant-soft):disabled::before {
1353
+ background-color: var(--gray-a3);
1354
+ }
1355
+ .ui-Checkbox:where(.r-variant-soft):disabled .ui-CheckboxIndicator {
1356
+ color: var(--gray-a8);
1357
+ }
1358
+
1359
+ .ui-Toggle {
1360
+ position: relative;
1361
+ display: inline-flex;
1362
+ align-items: center;
1363
+ justify-content: center;
1364
+ vertical-align: top;
1365
+ flex-shrink: 0;
1366
+ width: var(--toggle-size);
1367
+ height: var(--toggle-size);
1368
+ }
1369
+ .ui-Toggle:where(.r-size-1) {
1370
+ border-radius: max(var(--radius-1), var(--radius-full));
1371
+ --toggle-size: var(--space-5);
1372
+ }
1373
+ .ui-Toggle:where(.r-size-2) {
1374
+ border-radius: max(var(--radius-2), var(--radius-full));
1375
+ --toggle-size: var(--space-6);
1376
+ }
1377
+ .ui-Toggle:where(.r-size-3) {
1378
+ border-radius: max(var(--radius-3), var(--radius-full));
1379
+ --toggle-size: var(--space-7);
1380
+ }
1381
+
1382
+ /** soft */
1383
+ .ui-Toggle:where(.r-variant-soft) {
1384
+ background-color: var(--color-panel-translucent);
1385
+ box-shadow: var(--shadow-2);
1386
+ }
1387
+ @media (hover: hover) {
1388
+ .ui-Toggle:where(.r-variant-soft):where(:hover) {
1389
+ background-color: var(--accent-a2);
1390
+ }
1391
+ }
1392
+ .ui-Toggle:where(.r-variant-soft):where(:focus-visible) {
1393
+ outline: 2px solid var(--accent-8);
1394
+ outline-offset: -1px;
1395
+ }
1396
+ .ui-Toggle:where(.r-variant-soft):where([data-disabled]) {
1397
+ color: var(--gray-a8);
1398
+ background-color: var(--gray-a3);
1399
+ }
1400
+ .ui-Toggle:where(.r-variant-soft):where([data-state="on"]) {
1401
+ background-color: var(--accent-a3);
1402
+ box-shadow: var(--shadow-1);
1403
+ }
1404
+
1405
+ /** solid & ghost*/
1406
+ .ui-Toggle:where(.r-variant-solid) {
1407
+ background-color: var(--color-panel-solid);
1408
+ box-shadow: var(--shadow-2);
1409
+ }
1410
+ @media (hover: hover) {
1411
+ .ui-Toggle:where(.r-variant-solid, .r-variant-ghost):where(:hover) {
1412
+ background-color: var(--accent-a3);
1413
+ }
1414
+ }
1415
+ .ui-Toggle:where(.r-variant-solid, .r-variant-ghost):where(:focus-visible) {
1416
+ outline: 2px solid var(--focus-8);
1417
+ outline-offset: 2px;
1418
+ }
1419
+ .ui-Toggle:where(.r-variant-solid):where([data-disabled]) {
1420
+ color: var(--gray-a8);
1421
+ background-color: var(--gray-a3);
1422
+ }
1423
+ .ui-Toggle:where(.r-variant-ghost):where([data-disabled]) {
1424
+ color: var(--gray-a8);
1425
+ background-color: transparent;
1426
+ }
1427
+ .ui-Toggle:where(.r-variant-solid):where([data-state="on"]) {
1428
+ background-color: var(--accent-9);
1429
+ color: var(--accent-contrast);
1430
+ box-shadow: var(--shadow-1);
1431
+ }
1432
+ .ui-Toggle:where(.r-variant-ghost):where([data-state="on"]) {
1433
+ background-color: var(--accent-a3);
1434
+ box-shadow: var(--shadow-1);
1435
+ }
1436
+ .ui-Toggle:where(.r-variant-solid, .r-variant-ghost):where(.r-high-contrast):where([data-state="on"]) {
1437
+ background-color: var(--accent-12);
1438
+ color: var(--gray-1);
1439
+ }
1440
+
1441
+ .ui-ToggleGroupRoot {
1442
+ position: relative;
1443
+ display: inline-flex;
1444
+ align-items: center;
1445
+ justify-content: center;
1446
+ vertical-align: top;
1447
+ flex-shrink: 0;
1448
+ height: var(--toggle-size);
1449
+ }
1450
+ .ui-ToggleGroupRoot:where(.r-size-1) {
1451
+ --toggle-radius: max(var(--radius-1), var(--radius-full));
1452
+ --toggle-size: var(--space-5);
1453
+ }
1454
+ .ui-ToggleGroupRoot:where(.r-size-2) {
1455
+ --toggle-radius: max(var(--radius-2), var(--radius-full));
1456
+ --toggle-size: var(--space-6);
1457
+ }
1458
+ .ui-ToggleGroupRoot:where(.r-size-3) {
1459
+ --toggle-radius: max(var(--radius-3), var(--radius-full));
1460
+ --toggle-size: var(--space-7);
1461
+ }
1462
+ .ui-ToggleGroupRoot:where(.r-variant-solid) {
1463
+ border-radius: var(--toggle-radius);
1464
+ background-color: var(--color-panel-solid);
1465
+ box-shadow: var(--shadow-2);
1466
+ }
1467
+ .ui-ToggleGroupRoot:where(.r-variant-soft) {
1468
+ border-radius: var(--toggle-radius);
1469
+ background-color: var(--color-panel-translucent);
1470
+ box-shadow: var(--shadow-2);
1471
+ }
1472
+ .ui-ToggleGroupRoot:where(.r-variant-ghost) {
1473
+ gap: calc(var(--space-1) / 2);
1474
+ }
1475
+
1476
+ .ui-ToggleGroupItem {
1477
+ position: relative;
1478
+ display: inline-flex;
1479
+ align-items: center;
1480
+ justify-content: center;
1481
+ vertical-align: top;
1482
+ flex-shrink: 0;
1483
+ width: var(--toggle-size);
1484
+ height: var(--toggle-size);
1485
+ }
1486
+ .ui-ToggleGroupItem:where(:first-child) {
1487
+ border-top-left-radius: var(--toggle-radius);
1488
+ border-bottom-left-radius: var(--toggle-radius);
1489
+ }
1490
+ .ui-ToggleGroupItem:where(:last-child) {
1491
+ border-top-right-radius: var(--toggle-radius);
1492
+ border-bottom-right-radius: var(--toggle-radius);
1493
+ }
1494
+ .ui-ToggleGroupRoot:where(.r-variant-ghost) :where(.ui-ToggleGroupItem) {
1495
+ border-radius: var(--toggle-radius);
1496
+ }
1497
+
1498
+ /** soft */
1499
+ @media (hover: hover) {
1500
+ .ui-ToggleGroupRoot:where(.r-variant-soft) :where(.ui-ToggleGroupItem:hover) {
1501
+ background-color: var(--accent-a2);
1502
+ }
1503
+ }
1504
+ .ui-ToggleGroupRoot:where(.r-variant-soft) :where(.ui-ToggleGroupItem:focus-visible) {
1505
+ outline: 2px solid var(--accent-8);
1506
+ outline-offset: -1px;
1507
+ }
1508
+ .ui-ToggleGroupRoot:where(.r-variant-soft) :where(.ui-ToggleGroupItem[data-disabled]) {
1509
+ color: var(--gray-a8);
1510
+ background-color: var(--gray-a3);
1511
+ }
1512
+ .ui-ToggleGroupRoot:where(.r-variant-soft) :where(.ui-ToggleGroupItem[data-state="on"]) {
1513
+ background-color: var(--accent-a4);
1514
+ }
1515
+
1516
+ /** solid & ghost */
1517
+ @media (hover: hover) {
1518
+ .ui-ToggleGroupRoot:where(.r-variant-solid, .r-variant-ghost) :where(.ui-ToggleGroupItem:hover) {
1519
+ background-color: var(--accent-a3);
1520
+ }
1521
+ }
1522
+ .ui-ToggleGroupRoot:where(.r-variant-solid, .r-variant-ghost) :where(.ui-ToggleGroupItem:focus-visible) {
1523
+ outline: 2px solid var(--focus-8);
1524
+ outline-offset: 2px;
1525
+ }
1526
+ .ui-ToggleGroupRoot:where(.r-variant-solid) :where(.ui-ToggleGroupItem[data-disabled]) {
1527
+ color: var(--gray-a8);
1528
+ background-color: var(--gray-a3);
1529
+ }
1530
+ .ui-ToggleGroupRoot:where(.r-variant-ghost) :where(.ui-ToggleGroupItem[data-disabled]) {
1531
+ color: var(--gray-a8);
1532
+ background-color: transparent;
1533
+ }
1534
+ .ui-ToggleGroupRoot:where(.r-variant-solid) :where(.ui-ToggleGroupItem[data-state="on"]) {
1535
+ background-color: var(--accent-9);
1536
+ color: var(--accent-contrast);
1537
+ box-shadow: var(--shadow-1);
1538
+ }
1539
+ .ui-ToggleGroupRoot:where(.r-variant-ghost) :where(.ui-ToggleGroupItem[data-state="on"]) {
1540
+ background-color: var(--accent-a4);
1541
+ }
1542
+ .ui-ToggleGroupRoot:where(.r-variant-solid, .r-variant-ghost):where(.r-high-contrast) :where(.ui-ToggleGroupItem[data-state="on"]) {
1543
+ background-color: var(--accent-12);
1544
+ color: var(--gray-1);
1545
+ }
1546
+
1547
+ .ui-TextField {
1548
+ display: flex;
1549
+ align-items: stretch;
1550
+ font-weight: var(--font-weight-regular);
1551
+ font-style: normal;
1552
+ text-align: start;
1553
+ box-sizing: border-box;
1554
+ height: var(--text-field-height);
1555
+ padding: var(--text-field-border-width);
1556
+ border-radius: var(--text-field-border-radius);
1557
+ }
1558
+ @supports selector(:has(*)) {
1559
+ .ui-TextField:where(:has(input[type=file])) {
1560
+ align-items: center;
1561
+ }
1562
+ }
1563
+ .ui-TextField::-moz-selection {
1564
+ background-color: var(--text-field-selection-color);
1565
+ }
1566
+ .ui-TextField::selection {
1567
+ background-color: var(--text-field-selection-color);
1568
+ }
1569
+ .ui-TextFieldInput {
1570
+ text-align: inherit;
1571
+ border: none;
1572
+ padding: 0;
1573
+ width: 100%;
1574
+ font-size: 1em;
1575
+ background-color: transparent;
1576
+ border-radius: calc(var(--text-field-border-radius) - var(--text-field-border-width));
1577
+ text-indent: var(--text-field-padding);
1578
+ cursor: auto;
1579
+ }
1580
+ .ui-TextFieldInput:focus {
1581
+ outline: none;
1582
+ box-shadow: none;
1583
+ }
1584
+ .ui-TextFieldInput:where([type=file]) {
1585
+ font-size: 0.875em;
1586
+ background-color: transparent;
1587
+ text-indent: calc(var(--text-field-padding) / 2);
1588
+ }
1589
+ .ui-TextFieldInput:where([type=date], [type=datetime-local], [type=time], [type=week], [type=month]) {
1590
+ text-indent: 0;
1591
+ padding-left: var(--text-field-padding);
1592
+ padding-right: var(--text-field-padding);
1593
+ }
1594
+ .ui-TextFieldInput::-webkit-inner-spin-button {
1595
+ -webkit-appearance: none;
1596
+ appearance: none;
1597
+ }
1598
+ .ui-TextFieldInput::-webkit-search-cancel-button {
1599
+ -webkit-appearance: none;
1600
+ appearance: none;
1601
+ }
1602
+ .ui-TextFieldInput::-moz-selection {
1603
+ background-color: var(--text-field-selection-color);
1604
+ }
1605
+ .ui-TextFieldInput::selection {
1606
+ background-color: var(--text-field-selection-color);
1607
+ }
1608
+ .ui-TextFieldInput::-webkit-calendar-picker-indicator {
1609
+ box-sizing: content-box;
1610
+ width: var(--text-field-native-icon-size);
1611
+ height: var(--text-field-native-icon-size);
1612
+ padding: var(--space-1);
1613
+ margin-left: 0;
1614
+ margin-right: calc(var(--space-1) * -1);
1615
+ border-radius: calc(var(--text-field-border-radius) - 2px);
1616
+ }
1617
+ .ui-TextFieldInput:where(:not([type=time]))::-webkit-calendar-picker-indicator {
1618
+ margin-left: var(--space-1);
1619
+ }
1620
+ .ui-TextFieldInput::-webkit-calendar-picker-indicator:where(:hover) {
1621
+ background-color: var(--gray-a3);
1622
+ }
1623
+ .ui-TextFieldInput::-webkit-calendar-picker-indicator:where(:focus-visible) {
1624
+ outline: 2px solid var(--text-field-focus-color);
1625
+ }
1626
+ .ui-TextFieldInput::-webkit-datetime-edit-ampm-field:where(:focus),
1627
+ .ui-TextFieldInput::-webkit-datetime-edit-day-field:where(:focus),
1628
+ .ui-TextFieldInput::-webkit-datetime-edit-hour-field:where(:focus),
1629
+ .ui-TextFieldInput::-webkit-datetime-edit-millisecond-field:where(:focus),
1630
+ .ui-TextFieldInput::-webkit-datetime-edit-minute-field:where(:focus),
1631
+ .ui-TextFieldInput::-webkit-datetime-edit-month-field:where(:focus),
1632
+ .ui-TextFieldInput::-webkit-datetime-edit-second-field:where(:focus),
1633
+ .ui-TextFieldInput::-webkit-datetime-edit-week-field:where(:focus),
1634
+ .ui-TextFieldInput::-webkit-datetime-edit-year-field:where(:focus) {
1635
+ background-color: var(--text-field-selection-color);
1636
+ color: inherit;
1637
+ outline: none;
1638
+ }
1639
+ .ui-TextFieldInput:where(:-webkit-autofill) {
1640
+ /* Reliably removes native autofill colors */
1641
+ -webkit-background-clip: text;
1642
+ background-clip: text;
1643
+ -webkit-text-fill-color: var(--gray-12);
1644
+ }
1645
+ .ui-TextFieldInput:where(:autofill) {
1646
+ /* Reliably removes native autofill colors */
1647
+ -webkit-background-clip: text;
1648
+ background-clip: text;
1649
+ -webkit-text-fill-color: var(--gray-12);
1650
+ }
1651
+ .ui-TextFieldSlot {
1652
+ box-sizing: border-box;
1653
+ flex-shrink: 0;
1654
+ display: flex;
1655
+ align-items: center;
1656
+ cursor: text;
1657
+ gap: var(--space-2);
1658
+ padding-left: var(--text-field-slot-padding);
1659
+ padding-right: var(--text-field-slot-padding);
1660
+ }
1661
+ .ui-TextFieldSlot:where([data-side=left]) {
1662
+ order: -1;
1663
+ margin-left: calc(var(--text-field-border-width) * -1);
1664
+ margin-right: 0;
1665
+ }
1666
+ .ui-TextFieldSlot:where([data-side=right]) {
1667
+ order: 0;
1668
+ margin-left: 0;
1669
+ margin-right: calc(var(--text-field-border-width) * -1);
1670
+ }
1671
+ .ui-TextFieldInput:where(:has(~ .ui-TextFieldSlot:not([data-side=right]))) {
1672
+ text-indent: 0;
1673
+ padding-left: 0;
1674
+ border-top-left-radius: 0;
1675
+ border-bottom-left-radius: 0;
1676
+ }
1677
+ .ui-TextFieldInput:where(:has(~ .ui-TextFieldSlot[data-side=right],
1678
+ ~ .ui-TextFieldSlot:not([data-side=right]) ~ .ui-TextFieldSlot:not([data-side=left]))) {
1679
+ padding-right: 0;
1680
+ border-top-right-radius: 0;
1681
+ border-bottom-right-radius: 0;
1682
+ }
1683
+ .ui-TextField:where(.r-size-1) {
1684
+ --text-field-height: var(--space-5);
1685
+ --text-field-padding: calc(var(--space-1) * 1.5 - var(--text-field-border-width));
1686
+ --text-field-border-radius: max(var(--radius-2), var(--radius-full));
1687
+ --text-field-native-icon-size: var(--space-3);
1688
+ --text-field-slot-padding: var(--space-1);
1689
+ font-size: var(--font-size-1);
1690
+ letter-spacing: var(--letter-spacing-1);
1691
+ }
1692
+ .ui-TextField:where(.r-size-1) :where(.ui-TextFieldInput) {
1693
+ /* Reset size 2 padding bottom */
1694
+ padding-bottom: 0px;
1695
+ /* Safari credentials autofill icon */
1696
+ }
1697
+ .ui-TextField:where(.r-size-1) :where(.ui-TextFieldInput)::-webkit-textfield-decoration-container {
1698
+ padding-right: 0px;
1699
+ margin-right: -2px;
1700
+ }
1701
+ .ui-TextField:where(.r-size-2) {
1702
+ --text-field-height: var(--space-6);
1703
+ --text-field-padding: calc(var(--space-2) - var(--text-field-border-width));
1704
+ --text-field-border-radius: max(var(--radius-2), var(--radius-full));
1705
+ --text-field-native-icon-size: var(--space-4);
1706
+ --text-field-slot-padding: var(--space-2);
1707
+ font-size: var(--font-size-2);
1708
+ letter-spacing: var(--letter-spacing-2);
1709
+ }
1710
+ .ui-TextField:where(.r-size-2) :where(.ui-TextFieldInput) {
1711
+ /* Avoid 1px baseline jitter when layout around the text field is subpixel-sized (e.g. vh units). */
1712
+ /* Works because as of Nov 2023, Chrome computes input text bounding box height as 16.5px on @2x screens. */
1713
+ padding-bottom: 0.5px;
1714
+ /* Safari credentials autofill icon */
1715
+ }
1716
+ .ui-TextField:where(.r-size-2) :where(.ui-TextFieldInput)::-webkit-textfield-decoration-container {
1717
+ padding-right: 2px;
1718
+ margin-right: 0px;
1719
+ }
1720
+ .ui-TextField:where(.r-size-3) {
1721
+ --text-field-height: var(--space-7);
1722
+ --text-field-padding: calc(var(--space-3) - var(--text-field-border-width));
1723
+ --text-field-border-radius: max(var(--radius-3), var(--radius-full));
1724
+ --text-field-native-icon-size: var(--space-4);
1725
+ --text-field-slot-padding: var(--space-3);
1726
+ font-size: var(--font-size-3);
1727
+ letter-spacing: var(--letter-spacing-3);
1728
+ }
1729
+ .ui-TextField:where(.r-size-3) :where(.ui-TextFieldInput) {
1730
+ /* Reset size 2 padding bottom */
1731
+ padding-bottom: 0px;
1732
+ /* Safari credentials autofill icon */
1733
+ }
1734
+ .ui-TextField:where(.r-size-3) :where(.ui-TextFieldInput)::-webkit-textfield-decoration-container {
1735
+ padding-right: 5px;
1736
+ margin-right: 0px;
1737
+ }
1738
+ .ui-TextField:where(.r-size-3) :where(.ui-TextFieldSlot) {
1739
+ gap: var(--space-3);
1740
+ }
1741
+ .ui-TextField:where(.r-variant-surface) {
1742
+ --text-field-selection-color: var(--focus-a5);
1743
+ --text-field-focus-color: var(--focus-a8);
1744
+ --text-field-border-width: 1px;
1745
+ --text-field-border-color: var(--gray-a7);
1746
+ /* Blend inner shadow with page background */
1747
+ background-clip: content-box;
1748
+ background-color: var(--color-surface);
1749
+ box-sizing: border-box;
1750
+ border: var(--text-field-border-width) solid var(--text-field-border-color);
1751
+ color: var(--gray-12);
1752
+ }
1753
+ @supports selector(:has(*)) {
1754
+ .ui-TextField:where(.r-variant-surface):where(:has(.ui-TextFieldInput:focus)) {
1755
+ --text-field-border-color: var(--text-field-focus-color);
1756
+ box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
1757
+ }
1758
+ }
1759
+ @supports not selector(:has(*)) {
1760
+ .ui-TextField:where(.r-variant-surface):where(:focus-within) {
1761
+ --text-field-border-color: var(--text-field-focus-color);
1762
+ box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
1763
+ }
1764
+ }
1765
+ .ui-TextField:where(.r-variant-surface) :where(.ui-TextFieldInput)::-moz-placeholder {
1766
+ color: var(--gray-a10);
1767
+ }
1768
+ .ui-TextField:where(.r-variant-surface) :where(.ui-TextFieldInput)::placeholder {
1769
+ color: var(--gray-a10);
1770
+ }
1771
+ .ui-TextField:where(.r-variant-surface) :where(.ui-TextFieldSlot) {
1772
+ color: var(--gray-a11);
1773
+ }
1774
+ .ui-TextField:where(.r-variant-surface) :where(.ui-TextFieldSlot):where([data-accent-color]) {
1775
+ color: var(--accent-a11);
1776
+ }
1777
+ .ui-TextField:where(.r-variant-surface):where(:has(.ui-TextFieldInput:where(:-webkit-autofill):not(:disabled, :read-only:not([type=file])))) {
1778
+ /* Blend with focus color */
1779
+ background-image: linear-gradient(var(--focus-a2), var(--focus-a2));
1780
+ border-color: var(--gray-a5);
1781
+ }
1782
+ .ui-TextField:where(.r-variant-surface):where(:has(.ui-TextFieldInput:where(:autofill):not(:disabled, :-moz-read-only:not([type=file])))) {
1783
+ /* Blend with focus color */
1784
+ background-image: linear-gradient(var(--focus-a2), var(--focus-a2));
1785
+ border-color: var(--gray-a5);
1786
+ }
1787
+ .ui-TextField:where(.r-variant-surface):where(:has(.ui-TextFieldInput:where(:autofill):not(:disabled, :read-only:not([type=file])))) {
1788
+ /* Blend with focus color */
1789
+ background-image: linear-gradient(var(--focus-a2), var(--focus-a2));
1790
+ border-color: var(--gray-a5);
1791
+ }
1792
+ .ui-TextField:where(.r-variant-surface):where(:has(.ui-TextFieldInput:where(:disabled, :-moz-read-only:not([type=file])))) {
1793
+ /* Blend with grey */
1794
+ background-image: linear-gradient(var(--gray-a2), var(--gray-a2));
1795
+ border-color: var(--gray-a6);
1796
+ }
1797
+ .ui-TextField:where(.r-variant-surface):where(:has(.ui-TextFieldInput:where(:disabled, :read-only:not([type=file])))) {
1798
+ /* Blend with grey */
1799
+ background-image: linear-gradient(var(--gray-a2), var(--gray-a2));
1800
+ border-color: var(--gray-a6);
1801
+ }
1802
+
1803
+ /* soft */
1804
+ .ui-TextField:where(.r-variant-soft) {
1805
+ --text-field-selection-color: var(--accent-a5);
1806
+ --text-field-focus-color: var(--accent-8);
1807
+ --text-field-border-width: 0px;
1808
+ background-color: var(--accent-a3);
1809
+ color: var(--accent-12);
1810
+ /* prettier-ignore */
1811
+ }
1812
+ @supports selector(:has(*)) {
1813
+ .ui-TextField:where(.r-variant-soft):where(:has(.ui-TextFieldInput:focus)) {
1814
+ outline: 2px solid var(--text-field-focus-color);
1815
+ outline-offset: -1px;
1816
+ }
1817
+ }
1818
+ @supports not selector(:has(*)) {
1819
+ .ui-TextField:where(.r-variant-soft):where(:focus-within) {
1820
+ outline: 2px solid var(--text-field-focus-color);
1821
+ outline-offset: -1px;
1822
+ }
1823
+ }
1824
+ .ui-TextField:where(.r-variant-soft) :where(.ui-TextFieldInput)::-moz-placeholder {
1825
+ color: var(--accent-12);
1826
+ opacity: 0.6;
1827
+ }
1828
+ .ui-TextField:where(.r-variant-soft) :where(.ui-TextFieldInput)::placeholder {
1829
+ color: var(--accent-12);
1830
+ opacity: 0.6;
1831
+ }
1832
+ .ui-TextField:where(.r-variant-soft) :where(.ui-TextFieldSlot) {
1833
+ color: var(--accent-12);
1834
+ }
1835
+ .ui-TextField:where(.r-variant-soft) :where(.ui-TextFieldSlot):where([data-accent-color]) {
1836
+ color: var(--accent-a11);
1837
+ }
1838
+ .ui-TextField:where(.r-variant-soft):where(:has(.ui-TextFieldInput:where(:-webkit-autofill):not(:disabled, :read-only:not([type=file])))) {
1839
+ /* Use gray autofill color when component color is gray */
1840
+ box-shadow: inset 0 0 0 1px var(--accent-a5), inset 0 0 0 1px var(--gray-a4);
1841
+ }
1842
+ .ui-TextField:where(.r-variant-soft):where(:has(.ui-TextFieldInput:where(:autofill):not(:disabled, :-moz-read-only:not([type=file])))) {
1843
+ /* Use gray autofill color when component color is gray */
1844
+ box-shadow: inset 0 0 0 1px var(--accent-a5), inset 0 0 0 1px var(--gray-a4);
1845
+ }
1846
+ .ui-TextField:where(.r-variant-soft):where(:has(.ui-TextFieldInput:where(:autofill):not(:disabled, :read-only:not([type=file])))) {
1847
+ /* Use gray autofill color when component color is gray */
1848
+ box-shadow: inset 0 0 0 1px var(--accent-a5), inset 0 0 0 1px var(--gray-a4);
1849
+ }
1850
+ .ui-TextField:where(.r-variant-soft):where(:has(.ui-TextFieldInput:where(:disabled, :-moz-read-only:not([type=file])))) {
1851
+ background-color: var(--gray-a3);
1852
+ }
1853
+ .ui-TextField:where(.r-variant-soft):where(:has(.ui-TextFieldInput:where(:disabled, :read-only:not([type=file])))) {
1854
+ background-color: var(--gray-a3);
1855
+ }
1856
+
1857
+ /* all disabled and read-only text fields */
1858
+ .ui-TextFieldInput:where(:disabled, :-moz-read-only:not([type=file])) {
1859
+ cursor: text;
1860
+ color: var(--gray-a11);
1861
+ /* Safari */
1862
+ -webkit-text-fill-color: var(--gray-a11);
1863
+ }
1864
+ .ui-TextFieldInput:where(:disabled, :read-only:not([type=file])) {
1865
+ cursor: text;
1866
+ color: var(--gray-a11);
1867
+ /* Safari */
1868
+ -webkit-text-fill-color: var(--gray-a11);
1869
+ }
1870
+ .ui-TextFieldInput:where(:disabled, :read-only)::-moz-placeholder {
1871
+ opacity: 0.5;
1872
+ }
1873
+ .ui-TextFieldInput:where(:disabled, :-moz-read-only)::placeholder {
1874
+ opacity: 0.5;
1875
+ }
1876
+ .ui-TextFieldInput:where(:disabled, :read-only)::placeholder {
1877
+ opacity: 0.5;
1878
+ }
1879
+ .ui-TextFieldInput:where(:disabled, :read-only):where(:-moz-placeholder) {
1880
+ cursor: var(--cursor-disabled);
1881
+ }
1882
+ .ui-TextFieldInput:where(:disabled, :-moz-read-only):where(:placeholder-shown) {
1883
+ cursor: var(--cursor-disabled);
1884
+ }
1885
+ .ui-TextFieldInput:where(:disabled, :read-only):where(:placeholder-shown) {
1886
+ cursor: var(--cursor-disabled);
1887
+ }
1888
+ .ui-TextFieldInput:where(:disabled, :read-only):where(:-moz-placeholder) ~ :where(.ui-TextFieldSlot) {
1889
+ cursor: var(--cursor-disabled);
1890
+ }
1891
+ .ui-TextFieldInput:where(:disabled, :-moz-read-only):where(:placeholder-shown) ~ :where(.ui-TextFieldSlot) {
1892
+ cursor: var(--cursor-disabled);
1893
+ }
1894
+ .ui-TextFieldInput:where(:disabled, :read-only):where(:placeholder-shown) ~ :where(.ui-TextFieldSlot) {
1895
+ cursor: var(--cursor-disabled);
1896
+ }
1897
+ .ui-TextField:where(:has(.ui-TextFieldInput:where(:disabled, :-moz-read-only:not([type=file])))) {
1898
+ --text-field-selection-color: var(--gray-a5);
1899
+ --text-field-focus-color: var(--gray-8);
1900
+ }
1901
+ .ui-TextField:where(:has(.ui-TextFieldInput:where(:disabled, :read-only:not([type=file])))) {
1902
+ --text-field-selection-color: var(--gray-a5);
1903
+ --text-field-focus-color: var(--gray-8);
1904
+ }
1905
+
1906
+ .ui-TextArea {
1907
+ display: flex;
1908
+ flex-direction: column;
1909
+ box-sizing: border-box;
1910
+ font-weight: var(--font-weight-regular);
1911
+ font-style: normal;
1912
+ text-align: start;
1913
+ overflow: hidden;
1914
+ padding: var(--text-area-border-width);
1915
+ width: 100%;
1916
+ }
1917
+ .ui-TextAreaInput {
1918
+ border-radius: inherit;
1919
+ resize: none;
1920
+ display: block;
1921
+ width: 100%;
1922
+ flex-grow: 1;
1923
+ cursor: auto;
1924
+ border: none;
1925
+ padding: var(--text-area-padding-y) var(--text-area-padding-x);
1926
+ font-size: 1em;
1927
+ background-color: transparent;
1928
+ }
1929
+ .ui-TextAreaInput:focus {
1930
+ outline: none;
1931
+ box-shadow: none;
1932
+ }
1933
+ .ui-TextAreaInput::-webkit-scrollbar {
1934
+ width: var(--space-3);
1935
+ height: var(--space-3);
1936
+ }
1937
+ .ui-TextAreaInput::-webkit-scrollbar-track,
1938
+ .ui-TextAreaInput::-webkit-scrollbar-thumb {
1939
+ background-clip: content-box;
1940
+ border: var(--space-1) solid transparent;
1941
+ border-radius: var(--space-3);
1942
+ }
1943
+ .ui-TextAreaInput::-webkit-scrollbar-track {
1944
+ background-color: var(--gray-a3);
1945
+ }
1946
+ .ui-TextAreaInput::-webkit-scrollbar-thumb {
1947
+ background-color: var(--gray-a8);
1948
+ }
1949
+ .ui-TextAreaInput:where(:not(:disabled))::-webkit-scrollbar-thumb:hover {
1950
+ background-color: var(--gray-a9);
1951
+ }
1952
+ .ui-TextArea:where(.r-size-1) {
1953
+ min-height: var(--space-8);
1954
+ border-radius: var(--radius-2);
1955
+ }
1956
+ .ui-TextArea:where(.r-size-1) .ui-TextAreaInput {
1957
+ --text-area-padding-y: calc(var(--space-1) - var(--text-area-border-width));
1958
+ --text-area-padding-x: calc(var(--space-1) * 1.5 - var(--text-area-border-width));
1959
+ font-size: var(--font-size-1);
1960
+ line-height: var(--line-height-1);
1961
+ letter-spacing: var(--letter-spacing-1);
1962
+ }
1963
+ .ui-TextArea:where(.r-size-2) {
1964
+ min-height: var(--space-9);
1965
+ border-radius: var(--radius-2);
1966
+ }
1967
+ .ui-TextArea:where(.r-size-2) .ui-TextAreaInput {
1968
+ --text-area-padding-y: calc(var(--space-1) * 1.5 - var(--text-area-border-width));
1969
+ --text-area-padding-x: calc(var(--space-2) - var(--text-area-border-width));
1970
+ font-size: var(--font-size-2);
1971
+ line-height: var(--line-height-2);
1972
+ letter-spacing: var(--letter-spacing-2);
1973
+ }
1974
+ .ui-TextArea:where(.r-size-3) {
1975
+ min-height: 80px;
1976
+ border-radius: var(--radius-3);
1977
+ }
1978
+ .ui-TextArea:where(.r-size-3) .ui-TextAreaInput {
1979
+ --text-area-padding-y: calc(var(--space-2) - var(--text-area-border-width));
1980
+ --text-area-padding-x: calc(var(--space-3) - var(--text-area-border-width));
1981
+ font-size: var(--font-size-3);
1982
+ line-height: var(--line-height-3);
1983
+ letter-spacing: var(--letter-spacing-3);
1984
+ }
1985
+ .ui-TextArea:where(.r-variant-surface) {
1986
+ --text-area-border-width: 1px;
1987
+ --text-area-border-color: var(--gray-a7);
1988
+ /* Blend inner shadow with page background */
1989
+ background-clip: content-box;
1990
+ background-color: var(--color-surface);
1991
+ border: var(--text-area-border-width) solid var(--text-area-border-color);
1992
+ color: var(--gray-12);
1993
+ }
1994
+ .ui-TextArea:where(.r-variant-surface):where(:focus-within) {
1995
+ --text-area-border-color: var(--focus-a8);
1996
+ box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
1997
+ }
1998
+ .ui-TextArea:where(.r-variant-surface) .ui-TextAreaInput::-moz-placeholder {
1999
+ color: var(--gray-a10);
2000
+ }
2001
+ .ui-TextArea:where(.r-variant-surface) .ui-TextAreaInput::placeholder {
2002
+ color: var(--gray-a10);
2003
+ }
2004
+ .ui-TextArea:where(.r-variant-surface) .ui-TextAreaInput:where(:disabled, :-moz-read-only) {
2005
+ background-image: linear-gradient(var(--gray-a2), var(--gray-a2));
2006
+ box-shadow: inset 0 0 0 var(--text-area-border-width) var(--gray-a6);
2007
+ }
2008
+ .ui-TextArea:where(.r-variant-surface) .ui-TextAreaInput:where(:disabled, :read-only) {
2009
+ background-image: linear-gradient(var(--gray-a2), var(--gray-a2));
2010
+ box-shadow: inset 0 0 0 var(--text-area-border-width) var(--gray-a6);
2011
+ }
2012
+ .ui-TextArea:where(.r-variant-soft) {
2013
+ --text-area-border-width: 0px;
2014
+ background-color: var(--accent-a3);
2015
+ color: var(--accent-12);
2016
+ }
2017
+ .ui-TextArea:where(.r-variant-soft):where(:focus-within) {
2018
+ outline: 2px solid var(--accent-8);
2019
+ outline-offset: -1px;
2020
+ }
2021
+ .ui-TextArea:where(.r-variant-soft) .ui-TextAreaInput::-moz-selection {
2022
+ background-color: var(--accent-a5);
2023
+ }
2024
+ .ui-TextArea:where(.r-variant-soft) .ui-TextAreaInput::selection {
2025
+ background-color: var(--accent-a5);
2026
+ }
2027
+ .ui-TextArea:where(.r-variant-soft) .ui-TextAreaInput::-moz-placeholder {
2028
+ color: var(--accent-12);
2029
+ opacity: 0.65;
2030
+ }
2031
+ .ui-TextArea:where(.r-variant-soft) .ui-TextAreaInput::placeholder {
2032
+ color: var(--accent-12);
2033
+ opacity: 0.65;
2034
+ }
2035
+ .ui-TextArea:where(.r-variant-soft) .ui-TextAreaInput:where(:disabled, :-moz-read-only) {
2036
+ background-image: linear-gradient(var(--gray-a2), var(--gray-a2));
2037
+ box-shadow: inset 0 0 0 var(--text-area-border-width) var(--gray-a6);
2038
+ }
2039
+ .ui-TextArea:where(.r-variant-soft) .ui-TextAreaInput:where(:disabled, :read-only) {
2040
+ background-image: linear-gradient(var(--gray-a2), var(--gray-a2));
2041
+ box-shadow: inset 0 0 0 var(--text-area-border-width) var(--gray-a6);
2042
+ }
2043
+
2044
+ .ui-ColorField {
2045
+ display: inline-flex;
2046
+ align-items: center;
2047
+ justify-content: center;
2048
+ width: var(--color-field-size);
2049
+ height: var(--color-field-size);
2050
+ border-radius: var(--color-field-radius);
2051
+ }
2052
+ .ui-ColorField:where(.r-size-1) {
2053
+ --color-field-size: var(--space-5);
2054
+ --color-field-radius: max(var(--radius-2), var(--radius-full));
2055
+ --color-field-border-width: 1px;
2056
+ }
2057
+ .ui-ColorField:where(.r-size-2) {
2058
+ --color-field-size: var(--space-6);
2059
+ --color-field-radius: max(var(--radius-2), var(--radius-full));
2060
+ --color-field-border-width: 2px;
2061
+ }
2062
+ .ui-ColorField:where(.r-size-3) {
2063
+ --color-field-size: var(--space-7);
2064
+ --color-field-radius: max(var(--radius-3), var(--radius-full));
2065
+ --color-field-border-width: 3px;
2066
+ }
2067
+ .ui-ColorField:where(.r-variant-solid) {
2068
+ --color-input-size: var(--color-field-size);
2069
+ --color-input-radius: var(--color-field-radius);
2070
+ }
2071
+ .ui-ColorField:where(.r-variant-ring) {
2072
+ --color-input-size: calc(var(--color-field-size) - var(--color-field-border-width) * 4);
2073
+ --color-input-radius: calc(var(--color-field-radius) - 2px);
2074
+ border: var(--color-field-border-width) solid var(--color-field-border-color);
2075
+ }
2076
+ .ui-ColorFieldInput {
2077
+ -webkit-appearance: none;
2078
+ -moz-appearance: none;
2079
+ appearance: none;
2080
+ border: none;
2081
+ cursor: pointer;
2082
+ padding: 0;
2083
+ width: var(--color-input-size);
2084
+ height: var(--color-input-size);
2085
+ border-radius: var(--color-input-radius);
2086
+ }
2087
+ .ui-ColorFieldInput::-webkit-color-swatch-wrapper {
2088
+ padding: 0;
2089
+ border-radius: var(--color-input-radius);
2090
+ }
2091
+ .ui-ColorFieldInput::-webkit-color-swatch {
2092
+ border: none;
2093
+ border-radius: var(--color-input-radius);
2094
+ }
2095
+ .ui-ColorFieldInput::-moz-color-swatch {
2096
+ border: none;
2097
+ border-radius: var(--color-input-radius);
2098
+ }
2099
+ @supports selector(:has(*)) {
2100
+ .ui-ColorField:where(:has(.ui-ColorFieldInput:focus)) {
2101
+ --text-field-border-color: var(--text-field-focus-color);
2102
+ box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
2103
+ }
2104
+ }
2105
+ :where(.ui-TextFieldSlot[data-side="left"]) .ui-ColorField {
2106
+ margin-left: calc(0px - var(--text-field-slot-padding) / 2);
2107
+ }
2108
+ :where(.ui-TextFieldSlot[data-side="right"]) .ui-ColorField {
2109
+ margin-right: calc(0px - var(--text-field-slot-padding) / 2);
2110
+ }
2111
+ :where(.ui-TextFieldSlot) .ui-ColorField,
2112
+ :where(.ui-TextFieldSlot) .ui-ColorFieldInput {
2113
+ width: calc(var(--color-field-size) - var(--text-field-padding));
2114
+ height: calc(var(--color-field-size) - var(--text-field-padding));
2115
+ }
2116
+
2117
+ .ui-SelectContent {
2118
+ --scrollarea-scrollbar-vertical-margin-top: var(--select-content-padding);
2119
+ --scrollarea-scrollbar-vertical-margin-bottom: var(--select-content-padding);
2120
+ --scrollarea-scrollbar-horizontal-margin-left: var(--select-content-padding);
2121
+ --scrollarea-scrollbar-horizontal-margin-right: var(--select-content-padding);
2122
+
2123
+ overflow: hidden;
2124
+ box-shadow: var(--shadow-5);
2125
+ background-color: var(--color-panel-solid);
2126
+ box-sizing: border-box;
2127
+ }
2128
+ .ui-SelectContent:where([data-side]) {
2129
+ min-width: var(--reka-select-trigger-width);
2130
+ max-width: var(--reka-select-content-available-width);
2131
+ max-height: var(--reka-select-content-available-height);
2132
+ transform-origin: var(--reka-select-content-transform-origin);
2133
+ }
2134
+ .ui-SelectViewport {
2135
+ box-sizing: border-box;
2136
+ padding: var(--select-content-padding);
2137
+ }
2138
+ .ui-SelectContent:has(.ui-ScrollAreaScrollbar[data-orientation='vertical']) .ui-SelectViewport {
2139
+ padding-right: var(--space-3);
2140
+ }
2141
+ .ui-SelectContent:where(.r-size-1) {
2142
+ --select-content-padding: var(--space-1);
2143
+ --select-item-height: var(--space-5);
2144
+ --select-item-indicator-width: calc(var(--space-5) / 1.2);
2145
+ --select-separator-margin-right: var(--space-2);
2146
+ border-radius: var(--radius-3);
2147
+ }
2148
+ .ui-SelectContent:where(.r-size-2),
2149
+ .ui-SelectContent:where(.r-size-3) {
2150
+ --select-content-padding: var(--space-2);
2151
+ --select-item-height: var(--space-6);
2152
+ --select-item-indicator-width: var(--space-5);
2153
+ --select-separator-margin-right: var(--space-3);
2154
+ border-radius: var(--radius-4);
2155
+ }
2156
+
2157
+ .ui-SelectTrigger {
2158
+ display: inline-flex;
2159
+ align-items: center;
2160
+ justify-content: space-between;
2161
+ flex-shrink: 0;
2162
+ -webkit-user-select: none;
2163
+ -moz-user-select: none;
2164
+ user-select: none;
2165
+ vertical-align: top;
2166
+ font-weight: var(--font-weight-regular);
2167
+ font-style: normal;
2168
+ text-align: start;
2169
+ color: var(--gray-12);
2170
+ }
2171
+ .ui-SelectTriggerInner {
2172
+ overflow: hidden;
2173
+ text-overflow: ellipsis;
2174
+ white-space: nowrap;
2175
+ }
2176
+ .ui-SelectIcon {
2177
+ flex-shrink: 0;
2178
+ }
2179
+ .ui-SelectTrigger:where(:not(.r-variant-ghost)).ui-SelectIcon {
2180
+ opacity: 0.9;
2181
+ }
2182
+ .ui-SelectTrigger:where(:not(.r-variant-ghost)) {
2183
+ box-sizing: border-box;
2184
+ height: var(--select-trigger-height);
2185
+ }
2186
+ .ui-SelectTrigger:where(.r-variant-ghost) {
2187
+ box-sizing: content-box;
2188
+ height: -moz-fit-content;
2189
+ height: fit-content;
2190
+ padding: var(--select-trigger-ghost-padding-y) var(--select-trigger-ghost-padding-x);
2191
+ margin: calc(0px - var(--select-trigger-ghost-padding-y)) calc(0px - var(--select-trigger-ghost-padding-x));
2192
+ }
2193
+ .ui-SelectTrigger:where(.r-size-1) {
2194
+ --select-trigger-height: var(--space-5);
2195
+ gap: var(--space-1);
2196
+ font-size: var(--font-size-1);
2197
+ line-height: var(--line-height-1);
2198
+ letter-spacing: var(--letter-spacing-1);
2199
+ border-radius: max(var(--radius-1), var(--radius-full));
2200
+ }
2201
+ .ui-SelectTrigger:where(.r-size-1):where(.r-variant-ghost) {
2202
+ --select-trigger-ghost-padding-x: var(--space-2);
2203
+ --select-trigger-ghost-padding-y: var(--space-1);
2204
+ }
2205
+ .ui-SelectTrigger:where(.r-size-1):where(:not(.r-variant-ghost)) {
2206
+ padding-left: var(--space-2);
2207
+ padding-right: var(--space-2);
2208
+ }
2209
+ .ui-SelectTrigger:where(.r-size-2) {
2210
+ --select-trigger-height: var(--space-6);
2211
+ gap: calc(var(--space-1) * 1.5);
2212
+ font-size: var(--font-size-2);
2213
+ line-height: var(--line-height-2);
2214
+ letter-spacing: var(--letter-spacing-2);
2215
+ border-radius: max(var(--radius-2), var(--radius-full));
2216
+ }
2217
+ .ui-SelectTrigger:where(.r-size-1):where(.r-variant-ghost) {
2218
+ --select-trigger-ghost-padding-x: var(--space-2);
2219
+ --select-trigger-ghost-padding-y: var(--space-1);
2220
+ }
2221
+ .ui-SelectTrigger:where(.r-size-2):where(:not(.r-variant-ghost)) {
2222
+ padding-left: var(--space-3);
2223
+ padding-right: var(--space-3);
2224
+ }
2225
+ .ui-SelectTrigger:where(.r-size-3) {
2226
+ --select-trigger-height: var(--space-7);
2227
+ gap: var(--space-2);
2228
+ font-size: var(--font-size-3);
2229
+ line-height: var(--line-height-3);
2230
+ letter-spacing: var(--letter-spacing-3);
2231
+ border-radius: max(var(--radius-3), var(--radius-full));
2232
+ }
2233
+ .ui-SelectTrigger:where(.r-size-3):where(.r-variant-ghost) {
2234
+ --select-trigger-ghost-padding-x: var(--space-3);
2235
+ --select-trigger-ghost-padding-y: calc(var(--space-1) * 1.5);
2236
+ }
2237
+ .ui-SelectTrigger:where(.r-size-3):where(:not(.r-variant-ghost)) {
2238
+ padding-left: var(--space-4);
2239
+ padding-right: var(--space-4);
2240
+ }
2241
+ .ui-SelectTrigger:where(.r-size-3) .ui-SelectIcon {
2242
+ width: 11px;
2243
+ height: 11px;
2244
+ }
2245
+ .ui-SelectTrigger:where(.r-variant-surface) {
2246
+ --select-trigger-border-width: 1px;
2247
+ --select-trigger-border-color: var(--gray-a7);
2248
+ outline: 0;
2249
+ color: var(--gray-12);
2250
+ background-color: var(--color-surface);
2251
+ border: var(--select-trigger-border-width) solid var(--select-trigger-border-color);
2252
+ }
2253
+ .ui-SelectTrigger:where(.r-variant-surface):where(:focus-visible) {
2254
+ --select-trigger-border-color: var(--focus-a8);
2255
+ box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
2256
+ }
2257
+ @media (hover: hover) {
2258
+ .ui-SelectTrigger:where(.r-variant-surface):hover {
2259
+ --select-trigger-border-color: var(--gray-a8);
2260
+ }
2261
+ }
2262
+ .ui-SelectTrigger:where(.r-variant-surface):where([data-state='open']) {
2263
+ --select-trigger-border-color: var(--gray-a8);
2264
+ }
2265
+ .ui-SelectTrigger:where(.r-variant-surface):where(:disabled) {
2266
+ color: var(--gray-a11);
2267
+ background-color: var(--gray-a2);
2268
+ --select-trigger-border-color: var(--gray-a6);
2269
+ }
2270
+ .ui-SelectTrigger:where(.r-variant-surface):where([data-placeholder]) .ui-SelectTriggerInner {
2271
+ color: var(--gray-a10);
2272
+ }
2273
+ .ui-SelectTrigger:where(.r-variant-soft),
2274
+ .ui-SelectTrigger:where(.r-variant-ghost) {
2275
+ color: var(--accent-12);
2276
+ }
2277
+ .ui-SelectTrigger:where(.r-variant-soft):where(:focus-visible),
2278
+ .ui-SelectTrigger:where(.r-variant-ghost):where(:focus-visible) {
2279
+ outline: 2px solid var(--focus-8);
2280
+ outline-offset: -1px;
2281
+ }
2282
+ .ui-SelectTrigger:where(.r-variant-soft):where([data-placeholder]) .ui-SelectTriggerInner,
2283
+ .ui-SelectTrigger:where(.r-variant-ghost):where([data-placeholder]) .ui-SelectTriggerInner {
2284
+ color: var(--accent-12);
2285
+ opacity: 0.6;
2286
+ }
2287
+ .ui-SelectTrigger:where(.r-variant-soft) {
2288
+ background-color: var(--accent-a3);
2289
+ }
2290
+ @media (hover: hover) {
2291
+ .ui-SelectTrigger:where(.r-variant-soft):hover {
2292
+ background-color: var(--accent-a4);
2293
+ }
2294
+ }
2295
+ .ui-SelectTrigger:where(.r-variant-soft):where([data-state='open']) {
2296
+ background-color: var(--accent-a4);
2297
+ }
2298
+ .ui-SelectTrigger:where(.r-variant-soft):where(:focus-visible) {
2299
+ outline-color: var(--accent-8);
2300
+ }
2301
+ .ui-SelectTrigger:where(.r-variant-soft):where(:disabled) {
2302
+ color: var(--gray-a11);
2303
+ background-color: var(--gray-a3);
2304
+ }
2305
+ @media (hover: hover) {
2306
+ .ui-SelectTrigger:where(.r-variant-ghost):hover {
2307
+ background-color: var(--accent-a3);
2308
+ }
2309
+ }
2310
+ .ui-SelectTrigger:where(.r-variant-ghost):where([data-state='open']) {
2311
+ background-color: var(--accent-a3);
2312
+ }
2313
+ .ui-SelectTrigger:where(.r-variant-ghost):where(:disabled) {
2314
+ color: var(--gray-a11);
2315
+ background-color: transparent;
2316
+ }
2317
+ .ui-SelectTrigger:where(:disabled) .ui-SelectIcon {
2318
+ color: var(--gray-a9);
2319
+ }
2320
+
2321
+ .ui-SelectItem {
2322
+ display: flex;
2323
+ align-items: center;
2324
+ height: var(--select-item-height);
2325
+ padding-left: var(--select-item-indicator-width);
2326
+ padding-right: var(--select-item-indicator-width);
2327
+ position: relative;
2328
+ box-sizing: border-box;
2329
+ outline: none;
2330
+ scroll-margin: var(--select-content-padding) 0;
2331
+ -webkit-user-select: none;
2332
+ -moz-user-select: none;
2333
+ user-select: none;
2334
+ cursor: default;
2335
+ }
2336
+ .ui-SelectItem:where([data-disabled]) {
2337
+ cursor: not-allowed;
2338
+ }
2339
+ .ui-SelectItemIndicator {
2340
+ position: absolute;
2341
+ left: 0;
2342
+ width: var(--select-item-indicator-width);
2343
+ display: inline-flex;
2344
+ align-items: center;
2345
+ justify-content: center;
2346
+ }
2347
+ .ui-SelectItem:where([data-disabled]) {
2348
+ color: var(--gray-a8);
2349
+ }
2350
+ :where(.r-size-1) .ui-SelectItem {
2351
+ font-size: var(--font-size-1);
2352
+ line-height: var(--line-height-1);
2353
+ letter-spacing: var(--letter-spacing-1);
2354
+ border-radius: var(--radius-1);
2355
+ }
2356
+ :where(.r-size-1) .ui-SelectItemIndicatorIcon {
2357
+ width: calc(8px * var(--scaling));
2358
+ height: calc(8px * var(--scaling));
2359
+ }
2360
+ :where(.r-size-2) .ui-SelectItem {
2361
+ line-height: var(--line-height-2);
2362
+ border-radius: var(--radius-2);
2363
+ font-size: var(--font-size-2);
2364
+ letter-spacing: var(--letter-spacing-2);
2365
+ }
2366
+ :where(.r-size-2) .ui-SelectItemIndicatorIcon,
2367
+ :where(.r-size-3) .ui-SelectItemIndicatorIcon {
2368
+ width: calc(10px * var(--scaling));
2369
+ height: calc(10px * var(--scaling));
2370
+ }
2371
+ :where(.r-size-3) .ui-SelectItem {
2372
+ line-height: var(--line-height-2);
2373
+ border-radius: var(--radius-2);
2374
+ font-size: var(--font-size-3);
2375
+ letter-spacing: var(--letter-spacing-3);
2376
+ }
2377
+ :where(.r-variant-solid) .ui-SelectItem[data-highlighted] {
2378
+ background-color: var(--accent-9);
2379
+ color: var(--accent-contrast);
2380
+ }
2381
+ :where(.r-variant-solid):where(.r-high-contrast) .ui-SelectItem[data-highlighted] {
2382
+ background-color: var(--accent-12);
2383
+ color: var(--accent-1);
2384
+ }
2385
+ :where(.r-variant-soft) .ui-SelectItem[data-highlighted] {
2386
+ background-color: var(--accent-a4);
2387
+ }
2388
+
2389
+ .ui-SelectLabel {
2390
+ display: flex;
2391
+ align-items: center;
2392
+ height: var(--select-item-height);
2393
+ padding-left: var(--select-item-indicator-width);
2394
+ padding-right: var(--select-item-indicator-width);
2395
+ color: var(--gray-a10);
2396
+ -webkit-user-select: none;
2397
+ -moz-user-select: none;
2398
+ user-select: none;
2399
+ cursor: default;
2400
+ }
2401
+ .ui-SelectItem + .ui-SelectLabel {
2402
+ margin-top: var(--space-2);
2403
+ }
2404
+ :where(.r-size-1) .ui-SelectLabel {
2405
+ font-size: var(--font-size-1);
2406
+ letter-spacing: var(--letter-spacing-1);
2407
+ line-height: var(--line-height-1);
2408
+ }
2409
+ :where(.r-size-2) .ui-SelectLabel,
2410
+ :where(.r-size-3) .ui-SelectLabel {
2411
+ font-size: var(--font-size-2);
2412
+ letter-spacing: var(--letter-spacing-2);
2413
+ line-height: var(--line-height-2);
2414
+ }
2415
+
2416
+ .ui-SelectSeparator {
2417
+ height: 1px;
2418
+ margin-top: var(--space-2);
2419
+ margin-bottom: var(--space-2);
2420
+ margin-left: var(--select-item-indicator-width);
2421
+ margin-right: var(--select-separator-margin-right);
2422
+ background-color: var(--gray-a6);
2423
+ }
2424
+
2425
+ .ui-ComboboxField {
2426
+ display: flex;
2427
+ align-items: stretch;
2428
+ font-weight: var(--font-weight-regular);
2429
+ font-style: normal;
2430
+ text-align: start;
2431
+ box-sizing: border-box;
2432
+ height: var(--combobox-field-height);
2433
+ padding: var(--combobox-field-border-width);
2434
+ border-radius: var(--combobox-field-border-radius);
2435
+ }
2436
+ .ui-ComboboxField:where([data-multiple="true"]) {
2437
+ height: auto;
2438
+ }
2439
+ .ui-ComboboxField::-moz-selection {
2440
+ background-color: var(--combobox-field-selection-color);
2441
+ }
2442
+ .ui-ComboboxField::selection {
2443
+ background-color: var(--combobox-field-selection-color);
2444
+ }
2445
+ .ui-ComboboxValues {
2446
+ display: flex;
2447
+ padding: calc(var(--space-1) / 2);
2448
+ gap: var(--space-1);
2449
+ align-items: center;
2450
+ flex-wrap: wrap;
2451
+ flex-grow: 1;
2452
+ }
2453
+ .ui-ComboboxValuesItem {
2454
+ display: flex;
2455
+ gap: var(--space-1);
2456
+ align-items: center;
2457
+ height: calc(var(--combobox-field-height) - var(--space-1) * 2);
2458
+ padding: var(--combobox-field-padding);
2459
+ border-radius: calc(var(--combobox-field-border-radius) - var(--combobox-field-border-width));
2460
+ background-color: var(--accent-a9);
2461
+ color: var(--accent-contrast);
2462
+ }
2463
+ .ui-ComboboxValuesItem:where([aria-current="true"]) {
2464
+ background-color: var(--red-a9);
2465
+ }
2466
+ .ui-ComboboxInput {
2467
+ text-align: inherit;
2468
+ border: none;
2469
+ padding: 0;
2470
+ width: 100%;
2471
+ font-size: 1em;
2472
+ background-color: transparent;
2473
+ border-radius: calc(var(--combobox-field-border-radius) - var(--combobox-field-border-width));
2474
+ text-indent: var(--combobox-field-padding);
2475
+ height: calc(var(--combobox-field-height) - var(--space-1));
2476
+ cursor: auto;
2477
+ }
2478
+ .ui-ComboboxField:where([data-multiple="true"]) :where(.ui-ComboboxInput) {
2479
+ text-indent: calc(var(--combobox-field-padding) / 2);
2480
+ height: calc(var(--combobox-field-height) - var(--space-1) * 2);
2481
+ }
2482
+ .ui-ComboboxValues :where(.ui-ComboboxInput) {
2483
+ width: auto;
2484
+ }
2485
+ .ui-ComboboxInput:focus {
2486
+ outline: none;
2487
+ box-shadow: none;
2488
+ }
2489
+ .ui-ComboboxInput::-moz-selection {
2490
+ background-color: var(--combobox-field-selection-color);
2491
+ }
2492
+ .ui-ComboboxInput::selection {
2493
+ background-color: var(--combobox-field-selection-color);
2494
+ }
2495
+ .ui-ComboboxInput:where(:-webkit-autofill) {
2496
+ /* Reliably removes native autofill colors */
2497
+ -webkit-background-clip: text;
2498
+ background-clip: text;
2499
+ -webkit-text-fill-color: var(--gray-12);
2500
+ }
2501
+ .ui-ComboboxInput:where(:autofill) {
2502
+ /* Reliably removes native autofill colors */
2503
+ -webkit-background-clip: text;
2504
+ background-clip: text;
2505
+ -webkit-text-fill-color: var(--gray-12);
2506
+ }
2507
+ .ui-ComboboxTrigger {
2508
+ box-sizing: border-box;
2509
+ flex-shrink: 0;
2510
+ display: flex;
2511
+ align-items: center;
2512
+ cursor: pointer;
2513
+ order: 0;
2514
+ margin-left: 0;
2515
+ margin-right: calc(var(--combobox-field-border-width) * -1);
2516
+ height: calc(var(--combobox-field-height) - 4px);
2517
+ }
2518
+ :where(.r-size-1) .ui-ComboboxField {
2519
+ --combobox-field-height: var(--space-5);
2520
+ --combobox-field-padding: calc(var(--space-1) * 1.5 - var(--combobox-field-border-width));
2521
+ --combobox-field-border-radius: max(var(--radius-2), var(--radius-full));
2522
+ --combobox-field-native-icon-size: var(--space-3);
2523
+ font-size: var(--font-size-1);
2524
+ letter-spacing: var(--letter-spacing-1);
2525
+ }
2526
+ :where(.r-size-1) .ui-ComboboxField :where(.ui-ComboboxTrigger) {
2527
+ gap: var(--space-2);
2528
+ padding-left: var(--space-1);
2529
+ padding-right: var(--space-1);
2530
+ }
2531
+ :where(.r-size-1) .ui-ComboboxField :where(.ui-ComboboxInput) {
2532
+ /* Reset size 2 padding bottom */
2533
+ padding-bottom: 0px;
2534
+ /* Safari credentials autofill icon */
2535
+ }
2536
+ :where(.r-size-1) .ui-ComboboxField :where(.ui-ComboboxInput)::-webkit-textfield-decoration-container {
2537
+ padding-right: 0px;
2538
+ margin-right: -2px;
2539
+ }
2540
+ :where(.r-size-2) .ui-ComboboxField {
2541
+ --combobox-field-height: var(--space-6);
2542
+ --combobox-field-padding: calc(var(--space-2) - var(--combobox-field-border-width));
2543
+ --combobox-field-border-radius: max(var(--radius-2), var(--radius-full));
2544
+ --combobox-field-native-icon-size: var(--space-4);
2545
+ font-size: var(--font-size-2);
2546
+ letter-spacing: var(--letter-spacing-2);
2547
+ }
2548
+ :where(.r-size-2) .ui-ComboboxField :where(.ui-ComboboxInput) {
2549
+ /* Avoid 1px baseline jitter when layout around the text field is subpixel-sized (e.g. vh units). */
2550
+ /* Works because as of Nov 2023, Chrome computes input text bounding box height as 16.5px on @2x screens. */
2551
+ padding-bottom: 0.5px;
2552
+ /* Safari credentials autofill icon */
2553
+ }
2554
+ :where(.r-size-2) .ui-ComboboxField :where(.ui-ComboboxInput)::-webkit-textfield-decoration-container {
2555
+ padding-right: 2px;
2556
+ margin-right: 0px;
2557
+ }
2558
+ :where(.r-size-2) .ui-ComboboxField :where(.ui-ComboboxTrigger) {
2559
+ gap: var(--space-2);
2560
+ padding-left: var(--space-2);
2561
+ padding-right: var(--space-2);
2562
+ }
2563
+ :where(.r-size-3) .ui-ComboboxField {
2564
+ --combobox-field-height: var(--space-7);
2565
+ --combobox-field-padding: calc(var(--space-3) - var(--combobox-field-border-width));
2566
+ --combobox-field-border-radius: max(var(--radius-3), var(--radius-full));
2567
+ --combobox-field-native-icon-size: var(--space-4);
2568
+ font-size: var(--font-size-3);
2569
+ letter-spacing: var(--letter-spacing-3);
2570
+ }
2571
+ :where(.r-size-3) .ui-ComboboxField :where(.ui-ComboboxInput) {
2572
+ /* Reset size 2 padding bottom */
2573
+ padding-bottom: 0px;
2574
+ /* Safari credentials autofill icon */
2575
+ }
2576
+ :where(.r-size-3) .ui-ComboboxField :where(.ui-ComboboxInput)::-webkit-textfield-decoration-container {
2577
+ padding-right: 5px;
2578
+ margin-right: 0px;
2579
+ }
2580
+ :where(.r-size-3) .ui-ComboboxField :where(.ui-ComboboxTrigger) {
2581
+ gap: var(--space-3);
2582
+ padding-left: var(--space-3);
2583
+ padding-right: var(--space-3);
2584
+ }
2585
+ .ui-ComboboxField:where(.r-variant-surface) {
2586
+ --combobox-field-selection-color: var(--focus-a5);
2587
+ --combobox-field-focus-color: var(--focus-a8);
2588
+ --combobox-field-border-width: 1px;
2589
+ --combobox-field-border-color: var(--gray-a7);
2590
+ /* Blend inner shadow with page background */
2591
+ background-clip: content-box;
2592
+ background-color: var(--color-surface);
2593
+ box-sizing: border-box;
2594
+ border: var(--combobox-field-border-width) solid var(--combobox-field-border-color);
2595
+ color: var(--gray-12);
2596
+ }
2597
+ @supports selector(:has(*)) {
2598
+ .ui-ComboboxField:where(.r-variant-surface):where(:has(.ui-ComboboxInput:focus)) {
2599
+ --combobox-field-border-color: var(--combobox-field-focus-color);
2600
+ box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
2601
+ }
2602
+ }
2603
+ @supports not selector(:has(*)) {
2604
+ .ui-ComboboxField:where(.r-variant-surface):where(:focus-within) {
2605
+ --combobox-field-border-color: var(--combobox-field-focus-color);
2606
+ box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
2607
+ }
2608
+ }
2609
+ .ui-ComboboxField:where(.r-variant-surface) :where(.ui-ComboboxInput)::-moz-placeholder {
2610
+ color: var(--gray-a10);
2611
+ }
2612
+ .ui-ComboboxField:where(.r-variant-surface) :where(.ui-ComboboxInput)::placeholder {
2613
+ color: var(--gray-a10);
2614
+ }
2615
+ .ui-ComboboxField:where(.r-variant-surface) :where(.ui-ComboboxTrigger) {
2616
+ color: var(--gray-a11);
2617
+ }
2618
+ /* soft */
2619
+ .ui-ComboboxField:where(.r-variant-soft) {
2620
+ --combobox-field-selection-color: var(--accent-a5);
2621
+ --combobox-field-focus-color: var(--accent-8);
2622
+ --combobox-field-border-width: 0px;
2623
+ background-color: var(--accent-a3);
2624
+ color: var(--accent-12);
2625
+ /* prettier-ignore */
2626
+ }
2627
+ @supports selector(:has(*)) {
2628
+ .ui-ComboboxField:where(.r-variant-soft):where(:has(.ui-ComboboxInput:focus)) {
2629
+ outline: 2px solid var(--combobox-field-focus-color);
2630
+ outline-offset: -1px;
2631
+ }
2632
+ }
2633
+ @supports not selector(:has(*)) {
2634
+ .ui-ComboboxField:where(.r-variant-soft):where(:focus-within) {
2635
+ outline: 2px solid var(--combobox-field-focus-color);
2636
+ outline-offset: -1px;
2637
+ }
2638
+ }
2639
+ .ui-ComboboxField:where(.r-variant-soft) :where(.ui-ComboboxInput)::-moz-placeholder {
2640
+ color: var(--accent-12);
2641
+ opacity: 0.6;
2642
+ }
2643
+ .ui-ComboboxField:where(.r-variant-soft) :where(.ui-ComboboxInput)::placeholder {
2644
+ color: var(--accent-12);
2645
+ opacity: 0.6;
2646
+ }
2647
+ .ui-ComboboxField:where(.r-variant-soft) :where(.ui-ComboboxTrigger) {
2648
+ color: var(--accent-12);
2649
+ }
2650
+ .ui-ComboboxInput:where(:disabled, :read-only)::-moz-placeholder {
2651
+ opacity: 0.5;
2652
+ }
2653
+ .ui-ComboboxInput:where(:disabled, :-moz-read-only)::placeholder {
2654
+ opacity: 0.5;
2655
+ }
2656
+ .ui-ComboboxInput:where(:disabled, :read-only)::placeholder {
2657
+ opacity: 0.5;
2658
+ }
2659
+ .ui-ComboboxInput:where(:disabled, :read-only):where(:-moz-placeholder) {
2660
+ cursor: var(--cursor-disabled);
2661
+ }
2662
+ .ui-ComboboxInput:where(:disabled, :-moz-read-only):where(:placeholder-shown) {
2663
+ cursor: var(--cursor-disabled);
2664
+ }
2665
+ .ui-ComboboxInput:where(:disabled, :read-only):where(:placeholder-shown) {
2666
+ cursor: var(--cursor-disabled);
2667
+ }
2668
+ .ui-ComboboxInput:where(:disabled, :read-only):where(:-moz-placeholder) ~ :where(.ui-ComboboxTrigger) {
2669
+ cursor: var(--cursor-disabled);
2670
+ }
2671
+ .ui-ComboboxInput:where(:disabled, :-moz-read-only):where(:placeholder-shown) ~ :where(.ui-ComboboxTrigger) {
2672
+ cursor: var(--cursor-disabled);
2673
+ }
2674
+ .ui-ComboboxInput:where(:disabled, :read-only):where(:placeholder-shown) ~ :where(.ui-ComboboxTrigger) {
2675
+ cursor: var(--cursor-disabled);
2676
+ }
2677
+
2678
+ .ui-ComboboxContent {
2679
+ --scrollarea-scrollbar-vertical-margin-top: var(--combobox-content-padding);
2680
+ --scrollarea-scrollbar-vertical-margin-bottom: var(--combobox-content-padding);
2681
+ --scrollarea-scrollbar-horizontal-margin-left: var(--combobox-content-padding);
2682
+ --scrollarea-scrollbar-horizontal-margin-right: var(--combobox-content-padding);
2683
+
2684
+ overflow: hidden;
2685
+ box-shadow: var(--shadow-5);
2686
+ background-color: var(--color-panel-solid);
2687
+ box-sizing: border-box;
2688
+ }
2689
+ .ui-ComboboxContent:where([data-side]) {
2690
+ min-width: var(--reka-combobox-trigger-width);
2691
+ max-width: var(--reka-combobox-content-available-width);
2692
+ max-height: var(--reka-combobox-content-available-height);
2693
+ transform-origin: var(--reka-combobox-content-transform-origin);
2694
+ }
2695
+ .ui-ComboboxViewport {
2696
+ box-sizing: border-box;
2697
+ padding: var(--combobox-content-padding);
2698
+ }
2699
+ .ui-ComboboxContent:has(.ui-ScrollAreaScrollbar[data-orientation='vertical']) .ui-ComboboxViewport {
2700
+ padding-right: var(--space-3);
2701
+ }
2702
+ .ui-ComboboxContent:where(.r-size-1) {
2703
+ --combobox-content-padding: var(--space-1);
2704
+ --combobox-item-height: var(--space-5);
2705
+ --combobox-item-indicator-width: calc(var(--space-5) / 1.2);
2706
+ --combobox-separator-margin-right: var(--space-2);
2707
+ border-radius: var(--radius-3);
2708
+ }
2709
+ .ui-ComboboxContent:where(.r-size-2),
2710
+ .ui-ComboboxContent:where(.r-size-3) {
2711
+ --combobox-content-padding: var(--space-2);
2712
+ --combobox-item-height: var(--space-6);
2713
+ --combobox-item-indicator-width: var(--space-5);
2714
+ --combobox-separator-margin-right: var(--space-3);
2715
+ border-radius: var(--radius-4);
2716
+ }
2717
+
2718
+ .ui-ComboboxItem {
2719
+ display: flex;
2720
+ align-items: center;
2721
+ height: var(--combobox-item-height);
2722
+ padding-left: var(--combobox-item-indicator-width);
2723
+ padding-right: var(--combobox-item-indicator-width);
2724
+ position: relative;
2725
+ box-sizing: border-box;
2726
+ outline: none;
2727
+ scroll-margin: var(--combobox-content-padding) 0;
2728
+ -webkit-user-select: none;
2729
+ -moz-user-select: none;
2730
+ user-select: none;
2731
+ cursor: default;
2732
+ }
2733
+ .ui-ComboboxItem:where([data-disabled]) {
2734
+ cursor: not-allowed;
2735
+ }
2736
+ .ui-ComboboxItemIndicator {
2737
+ position: absolute;
2738
+ left: 0;
2739
+ width: var(--combobox-item-indicator-width);
2740
+ display: inline-flex;
2741
+ align-items: center;
2742
+ justify-content: center;
2743
+ }
2744
+ .ui-ComboboxItem:where([data-disabled]) {
2745
+ color: var(--gray-a8);
2746
+ }
2747
+ :where(.r-size-1) .ui-ComboboxItem {
2748
+ font-size: var(--font-size-1);
2749
+ line-height: var(--line-height-1);
2750
+ letter-spacing: var(--letter-spacing-1);
2751
+ border-radius: var(--radius-1);
2752
+ }
2753
+ :where(.r-size-1) .ui-ComboboxItemIndicatorIcon {
2754
+ width: calc(8px * var(--scaling));
2755
+ height: calc(8px * var(--scaling));
2756
+ }
2757
+ :where(.r-size-2) .ui-ComboboxItem {
2758
+ line-height: var(--line-height-2);
2759
+ border-radius: var(--radius-2);
2760
+ font-size: var(--font-size-2);
2761
+ letter-spacing: var(--letter-spacing-2);
2762
+ }
2763
+ :where(.r-size-2) .ui-ComboboxItemIndicatorIcon,
2764
+ :where(.r-size-3) .ui-ComboboxItemIndicatorIcon {
2765
+ width: calc(10px * var(--scaling));
2766
+ height: calc(10px * var(--scaling));
2767
+ }
2768
+ :where(.r-size-3) .ui-ComboboxItem {
2769
+ line-height: var(--line-height-2);
2770
+ border-radius: var(--radius-2);
2771
+ font-size: var(--font-size-3);
2772
+ letter-spacing: var(--letter-spacing-3);
2773
+ }
2774
+ :where(.r-variant-solid) .ui-ComboboxItem[data-highlighted] {
2775
+ background-color: var(--accent-9);
2776
+ color: var(--accent-contrast);
2777
+ }
2778
+ :where(.r-variant-solid):where(.r-high-contrast) .ui-ComboboxItem[data-highlighted] {
2779
+ background-color: var(--accent-12);
2780
+ color: var(--accent-1);
2781
+ }
2782
+ :where(.r-variant-soft) .ui-ComboboxItem[data-highlighted] {
2783
+ background-color: var(--accent-a4);
2784
+ }
2785
+
2786
+ .ui-ComboboxLabel {
2787
+ display: flex;
2788
+ align-items: center;
2789
+ height: var(--combobox-item-height);
2790
+ padding-left: calc(var(--combobox-item-indicator-width) / 2);
2791
+ padding-right: var(--combobox-item-indicator-width);
2792
+ color: var(--gray-a10);
2793
+ -webkit-user-select: none;
2794
+ -moz-user-select: none;
2795
+ user-select: none;
2796
+ cursor: default;
2797
+ }
2798
+ .ui-SelectItem + .ui-ComboboxLabel {
2799
+ margin-top: var(--space-2);
2800
+ }
2801
+ :where(.r-size-1) .ui-ComboboxLabel {
2802
+ font-size: var(--font-size-1);
2803
+ letter-spacing: var(--letter-spacing-1);
2804
+ line-height: var(--line-height-1);
2805
+ }
2806
+ :where(.r-size-2) .ui-ComboboxLabel,
2807
+ :where(.r-size-3) .ui-ComboboxLabel {
2808
+ font-size: var(--font-size-2);
2809
+ letter-spacing: var(--letter-spacing-2);
2810
+ line-height: var(--line-height-2);
2811
+ }
2812
+
2813
+ .ui-Radio {
2814
+ position: relative;
2815
+ display: inline-flex;
2816
+ align-items: center;
2817
+ justify-content: center;
2818
+ vertical-align: top;
2819
+ flex-shrink: 0;
2820
+ cursor: default;
2821
+ width: var(--radio-size);
2822
+ height: var(--radio-size);
2823
+ border: none;
2824
+ box-shadow: none;
2825
+ }
2826
+ .ui-Radio:checked {
2827
+ /* reset for tailwind */
2828
+ background-image: none;
2829
+ }
2830
+ .ui-Radio:focus {
2831
+ /* reset for tailwind */
2832
+ box-shadow: none;
2833
+ }
2834
+ .ui-Radio:where(:disabled, [data-disabled]) {
2835
+ cursor: not-allowed;
2836
+ }
2837
+ .ui-Radio::before {
2838
+ content: '';
2839
+ display: block;
2840
+ height: var(--radio-size);
2841
+ width: var(--radio-size);
2842
+ border-radius: 100%;
2843
+ }
2844
+ .ui-Radio::after {
2845
+ pointer-events: none;
2846
+ position: absolute;
2847
+ height: var(--radio-size);
2848
+ width: var(--radio-size);
2849
+ border-radius: 100%;
2850
+ /* Scale via transform to achieve perfect sub-pixel positioning */
2851
+ transform: scale(0.4);
2852
+ }
2853
+ .ui-Radio:where(:checked, [data-state='checked'])::after {
2854
+ content: '';
2855
+ }
2856
+ .ui-Radio:where(:focus-visible)::before {
2857
+ outline: 2px solid var(--focus-8);
2858
+ outline-offset: 2px;
2859
+ }
2860
+ .ui-Radio:where(.r-size-1) {
2861
+ --radio-size: calc(var(--space-4) * 0.875);
2862
+ }
2863
+ .ui-Radio:where(.r-size-2) {
2864
+ --radio-size: var(--space-4);
2865
+ }
2866
+ .ui-Radio:where(.r-size-3) {
2867
+ --radio-size: calc(var(--space-4) * 1.25);
2868
+ }
2869
+ .ui-Radio:where(.r-variant-surface):where(:not(:checked), [data-state='unchecked'])::before {
2870
+ background-color: var(--color-surface);
2871
+ box-shadow: inset 0 0 0 1px var(--gray-a7);
2872
+ }
2873
+ .ui-Radio:where(.r-variant-surface):where(:checked, [data-state='checked'])::before {
2874
+ background-color: var(--accent-indicator);
2875
+ }
2876
+ .ui-Radio:where(.r-variant-surface)::after {
2877
+ background-color: var(--accent-contrast);
2878
+ }
2879
+ .ui-Radio:where(.r-variant-surface):where(.r-high-contrast):where(:checked, [data-state='checked'])::before {
2880
+ background-color: var(--accent-12);
2881
+ }
2882
+ .ui-Radio:where(.r-variant-surface):where(.r-high-contrast)::after {
2883
+ background-color: var(--accent-1);
2884
+ }
2885
+ .ui-Radio:where(.r-variant-surface):where(:disabled, [data-disabled])::before {
2886
+ box-shadow: inset 0 0 0 1px var(--gray-a6);
2887
+ background-color: var(--gray-a3);
2888
+ }
2889
+ .ui-Radio:where(.r-variant-surface):where(:disabled, [data-disabled])::after {
2890
+ background-color: var(--gray-a8);
2891
+ }
2892
+ .ui-Radio:where(.r-variant-soft)::before {
2893
+ background-color: var(--accent-a4);
2894
+ }
2895
+ .ui-Radio:where(.r-variant-soft)::after {
2896
+ background-color: var(--accent-a11);
2897
+ }
2898
+ .ui-Radio:where(.r-variant-soft):where(.r-high-contrast)::after {
2899
+ background-color: var(--accent-12);
2900
+ }
2901
+ .ui-Radio:where(.r-variant-soft):where(:focus-visible)::before {
2902
+ outline-color: var(--accent-a8);
2903
+ }
2904
+ .ui-Radio:where(.r-variant-soft):where(:disabled, [data-disabled])::before {
2905
+ background-color: var(--gray-a3);
2906
+ }
2907
+ .ui-Radio:where(.r-variant-soft):where(:disabled, [data-disabled])::after {
2908
+ background-color: var(--gray-a8);
2909
+ }
2910
+
2911
+ .ui-RadioGroupItem {
2912
+ display: flex;
2913
+ align-items: center;
2914
+ gap: .5em;
2915
+ width: -moz-fit-content;
2916
+ width: fit-content;
2917
+ }
2918
+
2919
+ .ui-RadioCardsItem .ui-Card {
2920
+ width: 100%;
2921
+ height: 100%;
2922
+ }
2923
+ .ui-RadioCardsItem:where([data-state="checked"]) .ui-Card {
2924
+ --card-border-color: var(--accent-10);
2925
+ box-shadow: 0 0 0 1px var(--accent-10);
2926
+ }
2927
+
2928
+ .ui-RadioTabsList {
2929
+ display: flex;
2930
+ align-items: center;
2931
+ box-sizing: border-box;
2932
+ background-color: var(--gray-a3);
2933
+ padding: var(--radio-tabs-list-padding);
2934
+ border-radius: var(--radio-tabs-list-radius);
2935
+ }
2936
+ .ui-RadioTabsList:where(.r-size-1) {
2937
+ --radio-tabs-list-padding: var(--space-1);
2938
+ --radio-tabs-list-radius: var(--radius-2);
2939
+ --radio-tabs-item-padding: 3px 6px;
2940
+ --radio-tabs-item-radius: var(--radius-1);
2941
+ }
2942
+ .ui-RadioTabsList:where(.r-size-2) {
2943
+ --radio-tabs-list-padding: var(--space-1);
2944
+ --radio-tabs-list-radius: var(--radius-4);
2945
+ --radio-tabs-item-padding: 4px 8px;
2946
+ --radio-tabs-item-radius: var(--radius-2);
2947
+ }
2948
+ .ui-RadioTabsList [role="radio"] {
2949
+ display: flex;
2950
+ flex-grow: 1;
2951
+ justify-content: center;
2952
+ align-items: center;
2953
+ padding: var(--radio-tabs-item-padding);
2954
+ border-radius: var(--radio-tabs-item-radius);
2955
+ }
2956
+ .ui-RadioTabsList [data-state="checked"] {
2957
+ color: var(--gray-12);
2958
+ background-color: var(--color-background);
2959
+ box-shadow: var(--shadow-2);
2960
+ }
2961
+
2962
+ .ui-TabList {
2963
+ position: relative;
2964
+ display: flex;
2965
+ justify-content: flex-start;
2966
+ overflow-x: auto;
2967
+ white-space: nowrap;
2968
+ font-style: normal;
2969
+ scrollbar-width: none;
2970
+ box-shadow: inset 0 -1px 0 0 var(--gray-a5);
2971
+ }
2972
+ .ui-TabsIndicator {
2973
+ position: absolute;
2974
+ left: 0;
2975
+ bottom: 0;
2976
+ height: 2px;
2977
+ transition-property: width, transform;
2978
+ transition-duration: 300ms;
2979
+ width: var(--reka-tabs-indicator-size);
2980
+ background-color: var(--accent-indicator);
2981
+ transform: translateX(var(--reka-tabs-indicator-position));
2982
+ }
2983
+ .ui-TabList::-webkit-scrollbar {
2984
+ display: none;
2985
+ }
2986
+ .ui-TabList:where(.r-size-1) {
2987
+ font-size: var(--font-size-1);
2988
+ line-height: var(--line-height-1);
2989
+ letter-spacing: var(--letter-spacing-1);
2990
+ --tab-height: var(--space-6);
2991
+ --tab-padding-x: var(--space-1);
2992
+ --tab-inner-padding-x: var(--space-1);
2993
+ --tab-inner-height: var(--space-5);
2994
+ --tab-inner-border-radius: var(--radius-1);
2995
+ }
2996
+ .ui-TabList:where(.r-size-2) {
2997
+ font-size: var(--font-size-2);
2998
+ line-height: var(--line-height-2);
2999
+ letter-spacing: var(--letter-spacing-2);
3000
+ --tab-height: var(--space-7);
3001
+ --tab-padding-x: var(--space-2);
3002
+ --tab-inner-padding-x: var(--space-2);
3003
+ --tab-inner-height: calc(var(--space-6) - var(--space-1));
3004
+ --tab-inner-border-radius: var(--radius-2);
3005
+ }
3006
+ :where(.ui-TabList.r-high-contrast) .ui-TabsIndicator {
3007
+ background-color: var(--accent-12);
3008
+ }
3009
+
3010
+ .ui-root {
3011
+ --tab-active-letter-spacing: -0.01em;
3012
+ --tab-active-word-spacing: 0em;
3013
+ --tab-inactive-letter-spacing: 0em;
3014
+ --tab-inactive-word-spacing: 0em;
3015
+ }
3016
+ .ui-TabTrigger {
3017
+ display: flex;
3018
+ align-items: center;
3019
+ justify-content: center;
3020
+ flex-shrink: 0;
3021
+ position: relative;
3022
+ -webkit-user-select: none;
3023
+ -moz-user-select: none;
3024
+ user-select: none;
3025
+ box-sizing: border-box;
3026
+ height: var(--tab-height);
3027
+ padding-left: var(--tab-padding-x);
3028
+ padding-right: var(--tab-padding-x);
3029
+ color: var(--gray-a11);
3030
+ outline: none;
3031
+ }
3032
+ .ui-TabTrigger:disabled {
3033
+ color: var(--gray-a8);
3034
+ border-color: currentColor;
3035
+ }
3036
+ .ui-TabTriggerInner,
3037
+ .ui-TabTriggerInnerHidden {
3038
+ display: flex;
3039
+ align-items: center;
3040
+ justify-content: center;
3041
+ box-sizing: border-box;
3042
+ height: var(--tab-inner-height);
3043
+ padding-left: var(--tab-inner-padding-x);
3044
+ padding-right: var(--tab-inner-padding-x);
3045
+ border-radius: var(--tab-inner-border-radius);
3046
+ }
3047
+ .ui-TabTriggerInner {
3048
+ position: absolute;
3049
+ }
3050
+ :where(.ui-TabTrigger[data-state='inactive']) .ui-TabTriggerInner {
3051
+ letter-spacing: var(--tab-inactive-letter-spacing);
3052
+ word-spacing: var(--tab-inactive-word-spacing);
3053
+ }
3054
+ :where(.ui-TabTrigger[data-state='active']) .ui-TabTriggerInner {
3055
+ font-weight: var(--font-weight-medium);
3056
+ letter-spacing: var(--tab-active-letter-spacing);
3057
+ word-spacing: var(--tab-active-word-spacing);
3058
+ }
3059
+ .ui-TabTriggerInnerHidden {
3060
+ visibility: hidden;
3061
+ font-weight: var(--font-weight-medium);
3062
+ letter-spacing: var(--tab-active-letter-spacing);
3063
+ word-spacing: var(--tab-active-word-spacing);
3064
+ }
3065
+ @media (hover: hover) {
3066
+ .ui-TabTrigger:where(:hover) {
3067
+ color: var(--gray-12);
3068
+ }
3069
+ .ui-TabTrigger:where(:not(:disabled):hover) :where(.ui-TabTriggerInner) {
3070
+ background-color: var(--gray-a3);
3071
+ }
3072
+ .ui-TabTrigger:where(:focus-visible:hover) :where(.ui-TabTriggerInner) {
3073
+ background-color: var(--accent-a3);
3074
+ }
3075
+ }
3076
+ .ui-TabTrigger:where([data-state='active']) {
3077
+ color: var(--gray-12);
3078
+ }
3079
+ .ui-TabTrigger:where(:focus-visible) :where(.ui-TabTriggerInner) {
3080
+ outline: 2px solid var(--focus-8);
3081
+ outline-offset: -2px;
3082
+ }
3083
+
3084
+ .ui-Editable:where(.r-size-1) {
3085
+ --editable-padding-x: var(--space-1);
3086
+ --editable-border-radius: max(var(--radius-2), var(--radius-full));
3087
+ }
3088
+ .ui-Editable:where(.r-size-2) {
3089
+ --editable-padding-x: var(--space-2);
3090
+ --editable-border-radius: max(var(--radius-2), var(--radius-full));
3091
+ }
3092
+ .ui-Editable:where(.r-size-3) {
3093
+ --editable-padding-x: var(--space-3);
3094
+ --editable-border-radius: max(var(--radius-3), var(--radius-full));
3095
+ }
3096
+ .ui-EditableArea {
3097
+ padding-left: var(--editable-padding-x);
3098
+ padding-right: var(--editable-padding-x);
3099
+ border-radius: var(--editable-border-radius);
3100
+ overflow: hidden;
3101
+ text-overflow: ellipsis;
3102
+ }
3103
+ .ui-EditableArea:where([data-focused]),
3104
+ .ui-EditableArea:where(:hover) {
3105
+ background-color: var(--accent-a3);
3106
+ }
3107
+ .ui-EditablePreview {
3108
+ white-space: pre;
3109
+ -webkit-user-select: none;
3110
+ -moz-user-select: none;
3111
+ user-select: none;
3112
+ }
3113
+ .ui-EditableInput {
3114
+ outline: none;
3115
+ max-width: 100%;
3116
+ }
3117
+
3118
+ .ui-AccordionRoot {
3119
+ overflow: hidden;
3120
+ }
3121
+ .ui-AccordionRoot:where(.r-size-1) {
3122
+ --accordion-padding: var(--space-3);
3123
+ --accordion-trigger-font-size: var(--font-size-3);
3124
+ --accordion-content-font-size: var(--font-size-2);
3125
+ }
3126
+ .ui-AccordionRoot:where(.r-size-2) {
3127
+ --accordion-padding: var(--space-4);
3128
+ --accordion-trigger-font-size: var(--font-size-4);
3129
+ --accordion-content-font-size: var(--font-size-3);
3130
+ }
3131
+ .ui-AccordionRoot:where(.r-size-3) {
3132
+ --accordion-padding: var(--space-5);
3133
+ --accordion-trigger-font-size: var(--font-size-5);
3134
+ --accordion-content-font-size: var(--font-size-4);
3135
+ }
3136
+
3137
+ .ui-AccordionItem + .ui-AccordionItem {
3138
+ border-top: 1px solid var(--gray-a5);
3139
+ }
3140
+
3141
+ @keyframes accordion-down {
3142
+ from {
3143
+ height: 0;
3144
+ }
3145
+ to {
3146
+ height: var(--reka-accordion-content-height);
3147
+ }
3148
+ }
3149
+ @keyframes accordion-up {
3150
+ from {
3151
+ height: var(--reka-accordion-content-height);
3152
+ }
3153
+ to {
3154
+ height: 0;
3155
+ }
3156
+ }
3157
+ .ui-AccordionContent {
3158
+ overflow: hidden;
3159
+ font-weight: var(--font-weight-regular);
3160
+ font-size: var(--accordion-content-font-size);
3161
+ }
3162
+ .ui-AccordionContent:where([data-state="open"]) {
3163
+ animation: accordion-down 0.2s ease-out;
3164
+ }
3165
+ .ui-AccordionContent:where([data-state="closed"]) {
3166
+ animation: accordion-up 0.2s ease-out;
3167
+ }
3168
+ .ui-AccordionContentInner {
3169
+ padding-bottom: var(--accordion-padding);
3170
+ }
3171
+
3172
+ .ui-PlusMinusIcon {
3173
+ position: relative;
3174
+ width: var(--plus-minus-icon-size);
3175
+ height: var(--plus-minus-icon-size);
3176
+ cursor: pointer;
3177
+ display: inline-block;
3178
+ --plus-minus-icon-color: var(--gray-11);
3179
+ }
3180
+ .ui-PlusMinusIcon:where([data-accent-color]) {
3181
+ --plus-minus-icon-color: var(--accent-9);
3182
+ }
3183
+ .ui-PlusMinusIcon:where(.r-size-1) {
3184
+ --plus-minus-icon-size: var(--font-size-3);
3185
+ --plus-minus-line-width: 1px;
3186
+ }
3187
+ .ui-PlusMinusIcon:where(.r-size-2) {
3188
+ --plus-minus-icon-size: var(--font-size-4);
3189
+ --plus-minus-line-width: 1px;
3190
+ }
3191
+ .ui-PlusMinusIcon:where(.r-size-3) {
3192
+ --plus-minus-icon-size: var(--font-size-5);
3193
+ --plus-minus-line-width: 2px;
3194
+ }
3195
+ .ui-PlusMinusIcon:where(.r-size-4) {
3196
+ --plus-minus-icon-size: var(--font-size-6);
3197
+ --plus-minus-line-width: 2px;
3198
+ }
3199
+ .ui-PlusMinusIcon-1,
3200
+ .ui-PlusMinusIcon-2 {
3201
+ position: absolute;
3202
+ background-color: var(--plus-minus-icon-color);
3203
+ border-radius: 2px;
3204
+ transition: transform 0.3s, opacity 0.3s;
3205
+ }
3206
+ .ui-PlusMinusIcon-1 {
3207
+ top: 50%;
3208
+ left: 0;
3209
+ width: 100%;
3210
+ height: var(--plus-minus-line-width);
3211
+ transform: translateY(-50%) rotate(0deg);
3212
+ }
3213
+ .ui-PlusMinusIcon-2 {
3214
+ top: 0;
3215
+ left: 50%;
3216
+ width: var(--plus-minus-line-width);
3217
+ height: 100%;
3218
+ transform: translateX(-50%) rotate(0deg);
3219
+ }
3220
+ :where([data-state="open"]) .ui-PlusMinusIcon-1,
3221
+ :where([aria-plus-minused="true"]) .ui-PlusMinusIcon-1 {
3222
+ transform: translateY(-50%) rotate(180deg);
3223
+ }
3224
+ :where([data-state="open"]) .ui-PlusMinusIcon-2,
3225
+ :where([aria-plus-minused="true"]) .ui-PlusMinusIcon-2 {
3226
+ transform: translateX(-50%) rotate(90deg);
3227
+ opacity: 0;
3228
+ height: 0;
3229
+ }
3230
+
3231
+ .ui-ChevronIcon {
3232
+ transition: transform 0.2s ease;
3233
+ }
3234
+ .ui-ChevronIcon:where([data-arrow-transform="down-up"]) {
3235
+ transform: rotate(90deg);
3236
+ }
3237
+ .ui-ChevronIcon:where([data-arrow-transform="up-down"]) {
3238
+ transform: rotate(-90deg);
3239
+ }
3240
+ :where([data-state="open"]) .ui-ChevronIcon:where([data-arrow-transform="right-down"]),
3241
+ :where([data-state="open"]) .ui-ChevronIcon:where([data-arrow-transform="up-down"]) {
3242
+ transform: rotate(90deg);
3243
+ }
3244
+ :where([data-state="open"]) .ui-ChevronIcon:where([data-arrow-transform="right-up"]),
3245
+ :where([data-state="open"]) .ui-ChevronIcon:where([data-arrow-transform="down-up"]) {
3246
+ transform: rotate(-90deg);
3247
+ }
3248
+
3249
+ .ui-AccordionTrigger {
3250
+ display: flex;
3251
+ align-items: center;
3252
+ justify-content: space-between;
3253
+ width: 100%;
3254
+ cursor: pointer;
3255
+ -webkit-user-select: none;
3256
+ -moz-user-select: none;
3257
+ user-select: none;
3258
+ font-size: var(--accordion-trigger-font-size);
3259
+ padding-top: var(--accordion-padding);
3260
+ padding-bottom: var(--accordion-padding);
3261
+ font-weight: var(--font-weight-medium);
3262
+ }
3263
+ .ui-AccordionTrigger:hover {
3264
+ text-decoration: underline;
3265
+ }
3266
+
3267
+ @keyframes collapsible-down {
3268
+ from {
3269
+ height: 0;
3270
+ }
3271
+ to {
3272
+ height: var(--reka-collapsible-content-height);
3273
+ }
3274
+ }
3275
+ @keyframes collapsible-up {
3276
+ from {
3277
+ height: var(--reka-collapsible-content-height);
3278
+ }
3279
+ to {
3280
+ height: 0;
3281
+ }
3282
+ }
3283
+ .ui-CollapsibleContent {
3284
+ overflow: hidden;
3285
+ font-weight: var(--font-weight-regular);
3286
+ }
3287
+ .ui-CollapsibleContent:where([data-state="open"]) {
3288
+ animation: collapsible-down 0.2s ease-out;
3289
+ }
3290
+ .ui-CollapsibleContent:where([data-state="closed"]) {
3291
+ animation: collapsible-up 0.2s ease-out;
3292
+ }
3293
+
3294
+ .ui-Pagination {
3295
+ display: flex;
3296
+ align-items: center;
3297
+ }
3298
+ .ui-Pagination:where(.r-size-1) {
3299
+ gap: var(--space-1);
3300
+ }
3301
+ .ui-Pagination:where(.r-size-2) {
3302
+ gap: var(--space-2);
3303
+ }
3304
+ .ui-Pagination:where(.r-size-3) {
3305
+ gap: var(--space-3);
3306
+ }
3307
+ .ui-Pagination:where(.r-size-4) {
3308
+ gap: var(--space-4);
3309
+ }
3310
+ .ui-Pagination:where(.r-variant-ghost) {
3311
+ gap: 0;
3312
+ }
3313
+
3314
+ .ui-TableContent {
3315
+ --table-row-background-color: transparent;
3316
+ --table-row-box-shadow: inset 0 -1px var(--gray-a5);
3317
+
3318
+ width: 100%;
3319
+ text-align: left;
3320
+ vertical-align: top;
3321
+ border-collapse: collapse;
3322
+ border-radius: calc(var(--table-border-radius) - 1px);
3323
+ border-spacing: 0;
3324
+ box-sizing: border-box;
3325
+
3326
+ /* Makes "height: 100%" work on content inside cells */
3327
+ height: 0;
3328
+ }
3329
+ .ui-TableContent tr {
3330
+ color: var(--gray-12);
3331
+ }
3332
+ .ui-TableContent td,
3333
+ .ui-TableContent th {
3334
+ background-color: var(--table-row-background-color);
3335
+ box-shadow: var(--table-row-box-shadow);
3336
+ box-sizing: border-box;
3337
+ padding: var(--table-cell-padding);
3338
+ min-height: var(--table-cell-min-height);
3339
+ }
3340
+ .ui-TableContent thead th {
3341
+ font-weight: var(--font-weight-semibold);
3342
+ }
3343
+ .ui-TableContent tbody th {
3344
+ font-weight: var(--font-weight-regular);
3345
+ }
3346
+ .ui-TableContent button {
3347
+ vertical-align: middle;
3348
+ }
3349
+ .ui-Table[data-size="1"] {
3350
+ --table-border-radius: var(--radius-3);
3351
+ --table-cell-padding: var(--space-2);
3352
+ --table-cell-min-height: calc(36px * var(--scaling));
3353
+ }
3354
+ .ui-Table[data-size="1"] .ui-TableContent {
3355
+ font-size: var(--font-size-2);
3356
+ line-height: var(--line-height-2);
3357
+ }
3358
+ .ui-Table[data-size="2"] {
3359
+ --table-border-radius: var(--radius-4);
3360
+ --table-cell-padding: var(--space-3);
3361
+ --table-cell-min-height: calc(44px * var(--scaling));
3362
+ }
3363
+ .ui-Table[data-size="2"] .ui-TableContent {
3364
+ font-size: var(--font-size-2);
3365
+ line-height: var(--line-height-2);
3366
+ }
3367
+ .ui-Table[data-size="3"] {
3368
+ --table-border-radius: var(--radius-4);
3369
+ --table-cell-padding: var(--space-3) var(--space-4);
3370
+ --table-cell-min-height: var(--space-8);
3371
+ }
3372
+ .ui-Table[data-size="3"] .ui-TableContent {
3373
+ font-size: var(--font-size-3);
3374
+ line-height: var(--line-height-3);
3375
+ }
3376
+ .ui-Table:where([data-variant="surface"]) {
3377
+ box-sizing: border-box;
3378
+ border: 1px solid var(--gray-a5);
3379
+ border-radius: var(--table-border-radius);
3380
+ background-color: var(--color-panel);
3381
+ -webkit-backdrop-filter: var(--backdrop-filter-panel);
3382
+ backdrop-filter: var(--backdrop-filter-panel);
3383
+ background-clip: padding-box;
3384
+ position: relative;
3385
+ }
3386
+ @supports (box-shadow: 0 0 0 1px color-mix(in oklab, white, black)) {
3387
+ .ui-Table:where([data-variant="surface"]) {
3388
+ border-color: color-mix(in oklab, var(--gray-a5), var(--gray-6));
3389
+ }
3390
+ }
3391
+ .ui-Table:where([data-variant="surface"]) .ui-TableContent {
3392
+ overflow: hidden;
3393
+ }
3394
+ .ui-Table:where([data-variant="surface"]) thead {
3395
+ --table-row-background-color: var(--gray-a2);
3396
+ }
3397
+ .ui-Table:where([data-variant="surface"]) tbody :where(tr:last-child) {
3398
+ --table-row-box-shadow: none;
3399
+ }
3400
+ .ui-Table:where([data-variant="ghost"]) {
3401
+ --scrollarea-scrollbar-horizontal-margin-left: 0;
3402
+ --scrollarea-scrollbar-horizontal-margin-right: 0;
3403
+ }
3404
+
3405
+ .ui-Separator {
3406
+ display: block;
3407
+ box-sizing: border-box;
3408
+ background-color: var(--accent-a6);
3409
+ }
3410
+ .ui-Separator[aria-orientation="horizontal"] {
3411
+ width: var(--separator-size, auto);
3412
+ height: 1px;
3413
+ }
3414
+ .ui-Separator[aria-orientation="vertical"] {
3415
+ width: 1px;
3416
+ height: var(--separator-size, auto);
3417
+ }
3418
+ .ui-Separator:where(.r-size-1) {
3419
+ --separator-size: var(--space-4);
3420
+ }
3421
+ .ui-Separator:where(.r-size-2) {
3422
+ --separator-size: var(--space-6);
3423
+ }
3424
+ .ui-Separator:where(.r-size-3) {
3425
+ --separator-size: var(--space-9);
3426
+ }
3427
+ .ui-Separator:where(.r-size-4) {
3428
+ --separator-size: 100%;
3429
+ }
3430
+
3431
+ .ui-Tooltip {
3432
+ box-sizing: border-box;
3433
+ padding: var(--space-1) var(--space-2);
3434
+ background-color: var(--gray-12);
3435
+ border-radius: var(--radius-2);
3436
+ transform-origin: var(--reka-tooltip-content-transform-origin);
3437
+ animation-duration: 140ms;
3438
+ animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
3439
+ }
3440
+ @media (prefers-reduced-motion: no-preference) {
3441
+ .ui-Tooltip:where([data-state='delayed-open']):where([data-side='top']) {
3442
+ animation-name: ui-slide-from-top, ui-fade-in;
3443
+ }
3444
+ .ui-Tooltip:where([data-state='delayed-open']):where([data-side='bottom']) {
3445
+ animation-name: ui-slide-from-bottom, ui-fade-in;
3446
+ }
3447
+ .ui-Tooltip:where([data-state='delayed-open']):where([data-side='left']) {
3448
+ animation-name: ui-slide-from-left, ui-fade-in;
3449
+ }
3450
+ .ui-Tooltip:where([data-state='delayed-open']):where([data-side='right']) {
3451
+ animation-name: ui-slide-from-right, ui-fade-in;
3452
+ }
3453
+ }
3454
+ .ui-TooltipText {
3455
+ color: var(--gray-1);
3456
+ -webkit-user-select: none;
3457
+ -moz-user-select: none;
3458
+ user-select: none;
3459
+ cursor: default;
3460
+ font-size: var(--font-size-1);
3461
+ line-height: var(--line-height-1);
3462
+ letter-spacing: var(--letter-spacing-1);
3463
+ }
3464
+ .ui-TooltipArrow {
3465
+ fill: var(--gray-12);
3466
+ }
3467
+
3468
+ .ui-Quota {
3469
+ position: relative;
3470
+ overflow: hidden;
3471
+ border-radius: var(--radius-full);
3472
+ width: 100%;
3473
+ height: var(--space-2);
3474
+ background-color: var(--slate-4);
3475
+ }
3476
+ .ui-QuotaValue {
3477
+ border-radius: var(--radius-full);
3478
+ width: 100%;
3479
+ height: 100%;
3480
+ }
3481
+
3482
+ .ui-Spinner {
3483
+ color: var(--gray-10);
3484
+ }
3485
+ .ui-Spinner:where(.r-size-1) {
3486
+ font-size: var(--space-3);
3487
+ }
3488
+ .ui-Spinner:where(.r-size-2) {
3489
+ font-size: var(--space-4);
3490
+ }
3491
+ .ui-Spinner:where(.r-size-3) {
3492
+ font-size: calc(1.25 * var(--space-4));
3493
+ }
3494
+
3495
+ .ui-SavingIndicator {
3496
+ display: inline-flex;
3497
+ align-items: center;
3498
+ }
3499
+ .ui-SavingIndicator > svg {
3500
+ vertical-align: middle;
3501
+ }
3502
+ .ui-SavingIndicator:where([data-status="saving"]) {
3503
+ color: var(--gray-10);
3504
+ }
3505
+ .ui-SavingIndicator:where([data-status="saved"]) {
3506
+ color: var(--green-10);
3507
+ }
3508
+ .ui-SavingIndicator:where(.r-size-1) {
3509
+ font-size: var(--space-3);
3510
+ }
3511
+ .ui-SavingIndicator:where(.r-size-2) {
3512
+ font-size: var(--space-4);
3513
+ }
3514
+ .ui-SavingIndicator:where(.r-size-3) {
3515
+ font-size: calc(1.25 * var(--space-4));
3516
+ }
3517
+
3518
+ .ui-IconCircle {
3519
+ display: inline-flex;
3520
+ align-items: center;
3521
+ justify-content: center;
3522
+ font-weight: var(--font-weight-medium);
3523
+ border-radius: var(--radius-full);
3524
+ box-sizing: border-box;
3525
+ -webkit-user-select: none;
3526
+ -moz-user-select: none;
3527
+ user-select: none;
3528
+ cursor: default;
3529
+ background-color: var(--accent-a3);
3530
+ color: var(--accent-11);
3531
+ font-size: var(--icon-circle-size);
3532
+ padding: var(--icon-circle-padding);
3533
+ }
3534
+ .ui-IconCircle:where(.r-size-1) {
3535
+ --icon-circle-size: 10px;
3536
+ --icon-circle-padding: 2px;
3537
+ }
3538
+ .ui-IconCircle:where(.r-size-2) {
3539
+ --icon-circle-size: 12px;
3540
+ --icon-circle-padding: 3px;
3541
+ }
3542
+ .ui-IconCircle:where(.r-size-3) {
3543
+ --icon-circle-size: 14px;
3544
+ --icon-circle-padding: 4px;
3545
+ }
3546
+ .ui-IconCircle:where(.r-variant-glow) {
3547
+ box-shadow: 0 0 0 calc(var(--icon-circle-padding) - 1px) var(--accent-a2);
3548
+ }