@typlog/ui 0.12.2 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/components.css CHANGED
@@ -149,18 +149,20 @@
149
149
  box-shadow: inset 0 0 1px var(--accent-a8);
150
150
  }
151
151
 
152
+ @layer components {
152
153
  .ui-Badge {
153
- display: inline-flex;
154
- align-items: center;
155
- white-space: nowrap;
156
- font-weight: var(--font-weight-medium);
157
- font-style: normal;
158
- flex-shrink: 0;
159
- line-height: 1;
160
- height: -moz-fit-content;
161
- height: fit-content;
162
- width: -moz-fit-content;
163
- width: fit-content;
154
+ display: inline-flex;
155
+ align-items: center;
156
+ white-space: nowrap;
157
+ font-weight: var(--font-weight-medium);
158
+ font-style: normal;
159
+ flex-shrink: 0;
160
+ line-height: 1;
161
+ height: -moz-fit-content;
162
+ height: fit-content;
163
+ width: -moz-fit-content;
164
+ width: fit-content;
165
+ }
164
166
  }
165
167
  .ui-Badge:where(.r-size-1) {
166
168
  font-size: var(--font-size-1);
@@ -265,22 +267,29 @@
265
267
  .ui-Card:where(.r-variant-soft):where(:any-link, button, label):where(:hover) {
266
268
  border-color: var(--gray-a5);
267
269
  }
270
+ @layer components {
268
271
  .ui-Button {
269
- display: inline-flex;
270
- align-items: center;
271
- justify-content: center;
272
- flex-shrink: 0;
273
- -webkit-user-select: none;
274
- -moz-user-select: none;
275
- user-select: none;
276
- vertical-align: top;
277
- font-style: normal;
278
- font-weight: var(--button-font-weight);
279
- text-align: center;
280
- white-space: nowrap;
281
- height: var(--button-height);
282
- padding-left: var(--button-padding-x);
283
- padding-right: var(--button-padding-x);
272
+ display: inline-flex;
273
+ align-items: center;
274
+ justify-content: center;
275
+ flex-shrink: 0;
276
+ -webkit-user-select: none;
277
+ -moz-user-select: none;
278
+ user-select: none;
279
+ vertical-align: top;
280
+ font-style: normal;
281
+ font-weight: var(--button-font-weight);
282
+ text-align: center;
283
+ white-space: nowrap;
284
+ height: var(--button-height);
285
+ padding-left: var(--button-padding-x);
286
+ padding-right: var(--button-padding-x);
287
+ gap: var(--button-gap);
288
+ font-size: var(--button-font-size);
289
+ line-height: var(--button-line-height);
290
+ letter-spacing: var(--button-letter-spacing);
291
+ border-radius: var(--button-radius);
292
+ }
284
293
  }
285
294
  .ui-Button:where(.r-variant-ghost) {
286
295
  --button-font-weight: var(--font-weight-regular);
@@ -288,15 +297,15 @@
288
297
  .ui-Button:where(:not(.r-variant-ghost)) {
289
298
  --button-font-weight: var(--font-weight-medium);
290
299
  }
291
- .ui-Button:where([data-disabled]) {
300
+ .ui-Button:where(:disabled, [data-disabled]) {
292
301
  cursor: not-allowed;
293
302
  }
294
303
  .ui-Button:where(.r-size-1) {
295
- gap: var(--space-1);
296
- font-size: var(--font-size-1);
297
- line-height: var(--line-height-1);
298
- letter-spacing: var(--letter-spacing-1);
299
- border-radius: max(var(--radius-1), var(--radius-full));
304
+ --button-gap: var(--space-1);
305
+ --button-font-size: var(--font-size-1);
306
+ --button-line-height: var(--line-height-1);
307
+ --button-letter-spacing: var(--letter-spacing-1);
308
+ --button-radius: max(var(--radius-1), var(--radius-full));
300
309
  --button-height: var(--space-5);
301
310
  --button-padding-x: var(--space-2);
302
311
  }
@@ -304,44 +313,44 @@
304
313
  --button-ghost-padding-y: var(--space-1);
305
314
  }
306
315
  .ui-Button:where(.r-size-2) {
307
- gap: var(--space-2);
308
- font-size: var(--font-size-2);
309
- line-height: var(--line-height-2);
310
- letter-spacing: var(--letter-spacing-2);
311
- border-radius: max(var(--radius-2), var(--radius-full));
316
+ --button-gap: var(--space-2);
317
+ --button-font-size: var(--font-size-2);
318
+ --button-line-height: var(--line-height-2);
319
+ --button-letter-spacing: var(--letter-spacing-2);
320
+ --button-radius: max(var(--radius-2), var(--radius-full));
312
321
  --button-height: var(--space-6);
313
322
  --button-padding-x: var(--space-3);
314
323
  }
315
324
  .ui-Button:where(.r-size-2):where(.r-variant-ghost) {
316
- gap: var(--space-1);
325
+ --button-gap: var(--space-1);
317
326
  --button-padding-x: var(--space-2);
318
327
  --button-ghost-padding-y: var(--space-1);
319
328
  }
320
329
  .ui-Button:where(.r-size-3) {
321
- gap: var(--space-3);
322
- font-size: var(--font-size-3);
323
- line-height: var(--line-height-3);
324
- letter-spacing: var(--letter-spacing-3);
325
- border-radius: max(var(--radius-3), var(--radius-full));
330
+ --button-gap: var(--space-3);
331
+ --button-font-size: var(--font-size-3);
332
+ --button-line-height: var(--line-height-3);
333
+ --button-letter-spacing: var(--letter-spacing-3);
334
+ --button-radius: max(var(--radius-3), var(--radius-full));
326
335
  --button-height: var(--space-7);
327
336
  --button-padding-x: var(--space-4);
328
337
  }
329
338
  .ui-Button:where(.r-size-3):where(.r-variant-ghost) {
330
- gap: var(--space-2);
339
+ --button-gap: var(--space-2);
331
340
  --button-padding-x: var(--space-3);
332
341
  --button-ghost-padding-y: calc(var(--space-1) * 1.5);
333
342
  }
334
343
  .ui-Button:where(.r-size-4) {
335
- gap: var(--space-3);
336
- font-size: var(--font-size-4);
337
- line-height: var(--line-height-4);
338
- letter-spacing: var(--letter-spacing-4);
339
- border-radius: max(var(--radius-4), var(--radius-full));
344
+ --button-gap: var(--space-3);
345
+ --button-font-size: var(--font-size-4);
346
+ --button-line-height: var(--line-height-4);
347
+ --button-letter-spacing: var(--letter-spacing-4);
348
+ --button-radius: max(var(--radius-4), var(--radius-full));
340
349
  --button-height: var(--space-8);
341
350
  --button-padding-x: var(--space-5);
342
351
  }
343
352
  .ui-Button:where(.r-size-4):where(.r-variant-ghost) {
344
- gap: var(--space-2);
353
+ --button-gap: var(--space-2);
345
354
  --button-padding-x: var(--space-4);
346
355
  --button-ghost-padding-y: var(--space-2);
347
356
  }
@@ -382,7 +391,7 @@
382
391
  filter: var(--button-solid-high-contrast-hover-filter);
383
392
  }
384
393
  }
385
- .ui-Button:where(.r-variant-solid):where([data-disabled]) {
394
+ .ui-Button:where(.r-variant-solid):where(:disabled, [data-disabled]) {
386
395
  color: var(--gray-a8);
387
396
  background-color: var(--gray-a3);
388
397
  outline: none;
@@ -411,7 +420,7 @@
411
420
  .ui-Button:where(.r-variant-soft):where(:active) {
412
421
  background-color: var(--accent-a5);
413
422
  }
414
- .ui-Button:where(.r-variant-soft):where([data-disabled]) {
423
+ .ui-Button:where(.r-variant-soft):where(:disabled, [data-disabled]) {
415
424
  color: var(--gray-a8);
416
425
  background-color: var(--gray-a3);
417
426
  }
@@ -430,7 +439,7 @@
430
439
  .ui-Button:where(.r-variant-ghost):where(:active) {
431
440
  background-color: var(--accent-a4);
432
441
  }
433
- .ui-Button:where(.r-variant-ghost):where([data-disabled]) {
442
+ .ui-Button:where(.r-variant-ghost):where(:disabled, [data-disabled]) {
434
443
  color: var(--gray-a8);
435
444
  background-color: transparent;
436
445
  }
@@ -457,10 +466,10 @@
457
466
  outline: 2px solid var(--focus-8);
458
467
  outline-offset: 2px;
459
468
  }
460
- .ui-Button:where(.r-variant-classic):where(:active:not([data-disabled])) {
469
+ .ui-Button:where(.r-variant-classic):where(:active:not(:disabled, [data-disabled])) {
461
470
  box-shadow: var(--shadow-1);
462
471
  }
463
- .ui-Button:where(.r-variant-classic):where([data-disabled]) {
472
+ .ui-Button:where(.r-variant-classic):where(:disabled, [data-disabled]) {
464
473
  color: var(--gray-a10);
465
474
  background-color: var(--gray-a2);
466
475
  }
@@ -486,7 +495,7 @@
486
495
  .ui-Button:where(.r-variant-outline):where(:active) {
487
496
  background-color: var(--accent-a4);
488
497
  }
489
- .ui-Button:where(.r-variant-outline):where([data-disabled]) {
498
+ .ui-Button:where(.r-variant-outline):where(:disabled, [data-disabled]) {
490
499
  color: var(--gray-a8);
491
500
  box-shadow: inset 0 0 0 1px var(--gray-a7);
492
501
  background-color: transparent;
@@ -513,7 +522,7 @@
513
522
  .ui-Button:where(.r-variant-surface):where(:active) {
514
523
  background-color: var(--accent-a4);
515
524
  }
516
- .ui-Button:where(.r-variant-surface):where([data-disabled]) {
525
+ .ui-Button:where(.r-variant-surface):where(:disabled, [data-disabled]) {
517
526
  color: var(--gray-a8);
518
527
  box-shadow: inset 0 0 0 1px var(--gray-a6);
519
528
  background-color: var(--gray-a2);
@@ -541,12 +550,14 @@
541
550
  --scrollarea-scrollbar-vertical-margin-left: var(--space-1);
542
551
  --scrollarea-scrollbar-vertical-margin-right: var(--space-1);
543
552
  }
553
+ @layer components {
544
554
  .ui-ScrollArea {
545
- display: flex;
546
- flex-direction: column;
547
- overflow: hidden;
548
- width: 100%;
549
- height: 100%;
555
+ display: flex;
556
+ flex-direction: column;
557
+ overflow: hidden;
558
+ width: 100%;
559
+ height: 100%;
560
+ }
550
561
  }
551
562
  .ui-ScrollAreaViewport {
552
563
  display: flex;
@@ -554,6 +565,13 @@
554
565
  width: 100%;
555
566
  height: 100%;
556
567
  }
568
+ .ui-ScrollAreaViewport > div {
569
+ display: block;
570
+ min-width: -moz-fit-content;
571
+ min-width: fit-content;
572
+ width: 100%;
573
+ flex-grow: 1;
574
+ }
557
575
  .ui-ScrollAreaViewport:where(:focus-visible) + :where(.ui-ScrollAreaViewportFocusRing) {
558
576
  position: absolute;
559
577
  inset: 0;
@@ -638,6 +656,59 @@
638
656
  background-color: var(--gray-a9);
639
657
  }
640
658
 
659
+ .ui-Tooltip {
660
+ box-sizing: border-box;
661
+ padding: var(--space-1) var(--space-2);
662
+ border-radius: var(--radius-2);
663
+ transform-origin: var(--reka-tooltip-content-transform-origin);
664
+ animation-duration: 140ms;
665
+ animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
666
+ background-color: var(--accent-11);
667
+ }
668
+ @media (prefers-reduced-motion: no-preference) {
669
+ .ui-Tooltip:where([data-state='delayed-open']):where([data-side='top']) {
670
+ animation-name: ui-slide-from-top, ui-fade-in;
671
+ }
672
+ .ui-Tooltip:where([data-state='delayed-open']):where([data-side='bottom']) {
673
+ animation-name: ui-slide-from-bottom, ui-fade-in;
674
+ }
675
+ .ui-Tooltip:where([data-state='delayed-open']):where([data-side='left']) {
676
+ animation-name: ui-slide-from-left, ui-fade-in;
677
+ }
678
+ .ui-Tooltip:where([data-state='delayed-open']):where([data-side='right']) {
679
+ animation-name: ui-slide-from-right, ui-fade-in;
680
+ }
681
+ }
682
+ .ui-TooltipText {
683
+ color: var(--gray-1);
684
+ -webkit-user-select: none;
685
+ -moz-user-select: none;
686
+ user-select: none;
687
+ cursor: default;
688
+ font-size: var(--font-size-1);
689
+ line-height: var(--line-height-1);
690
+ letter-spacing: var(--letter-spacing-1);
691
+ }
692
+ .ui-TooltipArrow {
693
+ fill: var(--accent-11);
694
+ }
695
+
696
+ /* special handle for gray color */
697
+ .ui-Tooltip:where([data-accent-color="gray"]) {
698
+ background-color: var(--gray-12);
699
+ }
700
+ .ui-Tooltip:where([data-accent-color="gray"]) :where(.ui-TooltipArrow) {
701
+ fill: var(--gray-12);
702
+ }
703
+
704
+ @layer components {
705
+ .ui-DialogCloseButton {
706
+ position: absolute;
707
+ top: calc(var(--dialog-popup-padding) / 2);
708
+ right: calc(var(--dialog-popup-padding) / 2);
709
+ }
710
+ }
711
+
641
712
  .ui-DialogTitle {
642
713
  font-size: var(--font-size-4);
643
714
  font-weight: var(--font-weight-semibold);
@@ -695,11 +766,6 @@
695
766
  max-height: var(--dialog-popup-max-height);
696
767
  padding: var(--dialog-popup-padding);
697
768
  }
698
- :where(.ui-DialogPopup) .ui-CloseButton {
699
- position: absolute;
700
- top: calc(var(--dialog-popup-padding) / 2);
701
- right: calc(var(--dialog-popup-padding) / 2);
702
- }
703
769
  }
704
770
  .ui-DialogPopup:where(.r-size-1) {
705
771
  --dialog-popup-padding: var(--space-4);
@@ -968,6 +1034,175 @@ to {
968
1034
  --popover-popup-padding: var(--space-4);
969
1035
  }
970
1036
 
1037
+ .ui-NavigationMenuRoot {
1038
+ position: relative;
1039
+ z-index: 1;
1040
+ }
1041
+ .ui-NavigationMenuViewport {
1042
+ position: absolute;
1043
+ margin-top: 10px;
1044
+ top: 100%;
1045
+ left: var(--reka-navigation-menu-viewport-left);
1046
+ height: var(--reka-navigation-menu-viewport-height);
1047
+ background-color: white;
1048
+ border-radius: var(--radius-4);
1049
+ overflow: hidden;
1050
+ box-shadow: var(--shadow-3);
1051
+ width: 100%;
1052
+ max-width: var(--reka-navigation-menu-viewport-width);
1053
+ transition: width, height, 300ms ease;
1054
+ transform-origin: top center;
1055
+ }
1056
+ .ui-NavigationMenuViewport:where([data-state="open"]) {
1057
+ animation: navigation-menu-viewport-scale-in 200ms ease;
1058
+ }
1059
+ .ui-NavigationMenuViewport:where([data-state="closed"]) {
1060
+ animation: navigation-menu-viewport-scale-out 200ms ease;
1061
+ }
1062
+ @keyframes navigation-menu-viewport-scale-in {
1063
+ from {
1064
+ opacity: 0;
1065
+ transform: rotateX(-30deg) scale(0.9);
1066
+ }
1067
+ to {
1068
+ opacity: 1;
1069
+ transform: rotateX(0deg) scale(1);
1070
+ }
1071
+ }
1072
+ @keyframes navigation-menu-viewport-scale-out {
1073
+ from {
1074
+ opacity: 1;
1075
+ transform: rotateX(0deg) scale(1);
1076
+ }
1077
+ to {
1078
+ opacity: 0;
1079
+ transform: rotateX(-10deg) scale(0.95);
1080
+ }
1081
+ }
1082
+
1083
+ @layer components {
1084
+ .ui-NavigationMenuList {
1085
+ display: flex;
1086
+ gap: var(--navigation-menu-gap);
1087
+ }
1088
+ }
1089
+ .ui-NavigationMenuList:where(.r-size-1) {
1090
+ --navigation-menu-gap: calc(var(--space-1) / 2);
1091
+ --navigation-menu-height: var(--space-5);
1092
+ --navigation-menu-padding-x: var(--space-2);
1093
+ --navigation-menu-font-size: var(--font-size-1);
1094
+ --navigation-menu-line-height: var(--line-height-1);
1095
+ --navigation-menu-letter-spacing: var(--letter-spacing-1);
1096
+ --navigation-menu-radius: max(var(--radius-1), var(--radius-full));
1097
+ }
1098
+ .ui-NavigationMenuList:where(.r-size-2) {
1099
+ --navigation-menu-gap: var(--space-1);
1100
+ --navigation-menu-height: var(--space-6);
1101
+ --navigation-menu-padding-x: var(--space-3);
1102
+ --navigation-menu-font-size: var(--font-size-2);
1103
+ --navigation-menu-line-height: var(--line-height-2);
1104
+ --navigation-menu-letter-spacing: var(--letter-spacing-2);
1105
+ --navigation-menu-radius: max(var(--radius-2), var(--radius-full));
1106
+ }
1107
+ .ui-NavigationMenuList:where(.r-size-3) {
1108
+ --navigation-menu-gap: calc(var(--space-1) * 1.5);
1109
+ --navigation-menu-height: var(--space-7);
1110
+ --navigation-menu-padding-x: var(--space-4);
1111
+ --navigation-menu-font-size: var(--font-size-3);
1112
+ --navigation-menu-line-height: var(--line-height-3);
1113
+ --navigation-menu-letter-spacing: var(--letter-spacing-3);
1114
+ --navigation-menu-radius: max(var(--radius-3), var(--radius-full));
1115
+ }
1116
+ .ui-NavigationMenuIndicator {
1117
+ position: absolute;
1118
+ display: flex;
1119
+ align-items: flex-end;
1120
+ justify-content: center;
1121
+ height: 10px;
1122
+ top: 100%;
1123
+ overflow: hidden;
1124
+ z-index: 1;
1125
+ transition: width, transform 250ms ease;
1126
+ width: var(--reka-navigation-menu-indicator-size);
1127
+ transform: translateX(var(--reka-navigation-menu-indicator-position));
1128
+ }
1129
+ .ui-NavigationMenuIndicator:where([data-state="visible"]) {
1130
+ animation: ui-fade-in 200ms ease;
1131
+ }
1132
+ .ui-NavigationMenuIndicator:where([data-state="hidden"]) {
1133
+ animation: ui-fade-out 200ms ease;
1134
+ }
1135
+ .ui-NavigationMenuIndicator:before {
1136
+ content: '';
1137
+ position: relative;
1138
+ top: 70%;
1139
+ background-color: var(--color-panel-solid);
1140
+ border: 1px solid var(--gray-a4);
1141
+ width: 10px;
1142
+ height: 10px;
1143
+ transform: rotate(45deg);
1144
+ border-top-left-radius: 2px;
1145
+ }
1146
+ @layer components {
1147
+ .ui-NavigationMenuTrigger,
1148
+ .ui-NavigationMenuLink {
1149
+ display: inline-flex;
1150
+ gap: var(--space-1);
1151
+ align-items: center;
1152
+ justify-content: center;
1153
+ flex-shrink: 0;
1154
+ -webkit-user-select: none;
1155
+ -moz-user-select: none;
1156
+ user-select: none;
1157
+ vertical-align: top;
1158
+ font-style: normal;
1159
+ text-align: center;
1160
+ white-space: nowrap;
1161
+ font-weight: var(--font-weight-medium);
1162
+ height: var(--navigation-menu-height);
1163
+ padding-left: var(--navigation-menu-padding-x);
1164
+ padding-right: var(--navigation-menu-padding-x);
1165
+ font-size: var(--navigation-menu-font-size);
1166
+ line-height: var(--navigation-menu-line-height);
1167
+ letter-spacing: var(--navigation-menu-letter-spacing);
1168
+ border-radius: var(--navigation-menu-radius);
1169
+ }
1170
+ .ui-NavigationMenuTrigger:where(:hover),
1171
+ .ui-NavigationMenuLink:where(:hover) {
1172
+ background-color: var(--accent-a2);
1173
+ }
1174
+ }
1175
+
1176
+ .ui-NavigationMenuTriggerArrow {
1177
+ transform: rotate(0deg);
1178
+ transition: transform 250ms ease;
1179
+ }
1180
+ :where(.ui-NavigationMenuTrigger[data-state="open"]) .ui-NavigationMenuTriggerArrow {
1181
+ transform: rotate(-180deg);
1182
+ }
1183
+
1184
+ @layer components {
1185
+ .ui-NavigationMenuContent {
1186
+ position: absolute;
1187
+ top: 0;
1188
+ left: 0;
1189
+ width: 100%;
1190
+ animation: var(--navigation-menu-content-animation);
1191
+ }
1192
+ }
1193
+ .ui-NavigationMenuContent:where([data-motion="from-start"]) {
1194
+ --navigation-menu-content-animation: enterFromLeft 250ms ease;
1195
+ }
1196
+ .ui-NavigationMenuContent:where([data-motion="to-start"]) {
1197
+ --navigation-menu-content-animation: exitToLeft 250ms ease;
1198
+ }
1199
+ .ui-NavigationMenuContent:where([data-motion="from-end"]) {
1200
+ --navigation-menu-content-animation: enterFromRight 250ms ease;
1201
+ }
1202
+ .ui-NavigationMenuContent:where([data-motion="to-end"]) {
1203
+ --navigation-menu-content-animation: exitToRight 250ms ease;
1204
+ }
1205
+
971
1206
  .ui-root {
972
1207
  --switch-disabled-blend-mode: multiply;
973
1208
  --switch-high-contrast-checked-color-overlay: var(--black-a8);
@@ -1027,6 +1262,9 @@ to {
1027
1262
  cursor: not-allowed;
1028
1263
  }
1029
1264
  .ui-SwitchThumb {
1265
+ display: inline-flex;
1266
+ justify-content: center;
1267
+ align-items: center;
1030
1268
  background-color: white;
1031
1269
  position: absolute;
1032
1270
  left: var(--switch-thumb-inset);
@@ -1144,16 +1382,18 @@ to {
1144
1382
  transition: none;
1145
1383
  }
1146
1384
 
1385
+ @layer components {
1147
1386
  .ui-Checkbox {
1148
- position: relative;
1149
- display: inline-flex;
1150
- align-items: center;
1151
- justify-content: center;
1152
- vertical-align: top;
1153
- flex-shrink: 0;
1154
- cursor: default;
1155
- height: var(--checkbox-size);
1156
- border-radius: var(--checkbox-border-radius);
1387
+ position: relative;
1388
+ display: inline-flex;
1389
+ align-items: center;
1390
+ justify-content: center;
1391
+ vertical-align: top;
1392
+ flex-shrink: 0;
1393
+ cursor: default;
1394
+ height: var(--checkbox-size);
1395
+ border-radius: var(--checkbox-border-radius);
1396
+ }
1157
1397
  }
1158
1398
  .ui-Checkbox::before {
1159
1399
  content: '';
@@ -1234,29 +1474,33 @@ to {
1234
1474
  color: var(--gray-a8);
1235
1475
  }
1236
1476
 
1477
+ @layer components {
1237
1478
  .ui-Toggle {
1238
- position: relative;
1239
- display: inline-flex;
1240
- align-items: center;
1241
- justify-content: center;
1242
- vertical-align: top;
1243
- flex-shrink: 0;
1244
- width: var(--toggle-size);
1245
- height: var(--toggle-size);
1479
+ position: relative;
1480
+ display: inline-flex;
1481
+ align-items: center;
1482
+ justify-content: center;
1483
+ vertical-align: top;
1484
+ flex-shrink: 0;
1485
+ border-radius: var(--toggle-border-radius);
1486
+ font-size: var(--toggle-font-size);
1487
+ width: var(--toggle-size);
1488
+ height: var(--toggle-size);
1489
+ }
1246
1490
  }
1247
1491
  .ui-Toggle:where(.r-size-1) {
1248
- border-radius: max(var(--radius-1), var(--radius-full));
1249
- font-size: var(--font-size-1);
1492
+ --toggle-border-radius: max(var(--radius-1), var(--radius-full));
1493
+ --toggle-font-size: var(--font-size-1);
1250
1494
  --toggle-size: var(--space-5);
1251
1495
  }
1252
1496
  .ui-Toggle:where(.r-size-2) {
1253
- border-radius: max(var(--radius-2), var(--radius-full));
1254
- font-size: var(--font-size-3);
1497
+ --toggle-border-radius: max(var(--radius-2), var(--radius-full));
1498
+ --toggle-font-size: var(--font-size-3);
1255
1499
  --toggle-size: var(--space-6);
1256
1500
  }
1257
1501
  .ui-Toggle:where(.r-size-3) {
1258
- border-radius: max(var(--radius-3), var(--radius-full));
1259
- font-size: var(--font-size-6);
1502
+ --toggle-border-radius: max(var(--radius-3), var(--radius-full));
1503
+ --toggle-font-size: var(--font-size-6);
1260
1504
  --toggle-size: var(--space-7);
1261
1505
  }
1262
1506
 
@@ -1319,14 +1563,16 @@ to {
1319
1563
  color: var(--gray-1);
1320
1564
  }
1321
1565
 
1566
+ @layer components {
1322
1567
  .ui-ToggleGroupRoot {
1323
- position: relative;
1324
- display: inline-flex;
1325
- align-items: center;
1326
- justify-content: center;
1327
- vertical-align: top;
1328
- flex-shrink: 0;
1329
- height: var(--toggle-group-height);
1568
+ position: relative;
1569
+ display: inline-flex;
1570
+ align-items: center;
1571
+ justify-content: center;
1572
+ vertical-align: top;
1573
+ flex-shrink: 0;
1574
+ height: var(--toggle-group-height);
1575
+ }
1330
1576
  }
1331
1577
  .ui-ToggleGroupRoot:where(.r-size-1) {
1332
1578
  font-size: var(--font-size-1);
@@ -1367,15 +1613,17 @@ to {
1367
1613
  --toggle-item-size: var(--toggle-group-height);
1368
1614
  }
1369
1615
 
1616
+ @layer components {
1370
1617
  .ui-ToggleGroupItem {
1371
- position: relative;
1372
- display: inline-flex;
1373
- align-items: center;
1374
- justify-content: center;
1375
- vertical-align: top;
1376
- flex-shrink: 0;
1377
- width: var(--toggle-item-size);
1378
- height: var(--toggle-item-size);
1618
+ position: relative;
1619
+ display: inline-flex;
1620
+ align-items: center;
1621
+ justify-content: center;
1622
+ vertical-align: top;
1623
+ flex-shrink: 0;
1624
+ width: var(--toggle-item-size);
1625
+ height: var(--toggle-item-size);
1626
+ }
1379
1627
  }
1380
1628
  .ui-ToggleGroupRoot:where(.r-variant-solid, .r-variant-surface, .r-variant-outline) :where(.ui-ToggleGroupItem:first-child) {
1381
1629
  border-top-left-radius: var(--toggle-radius);
@@ -2024,13 +2272,16 @@ to {
2024
2272
  .ui-SelectContent {
2025
2273
  --scrollarea-scrollbar-vertical-margin-top: var(--select-content-padding);
2026
2274
  --scrollarea-scrollbar-vertical-margin-bottom: var(--select-content-padding);
2027
- --scrollarea-scrollbar-horizontal-margin-left: var(--select-content-padding);
2028
- --scrollarea-scrollbar-horizontal-margin-right: var(--select-content-padding);
2029
-
2030
- overflow: hidden;
2031
- box-shadow: var(--shadow-5);
2032
- background-color: var(--color-panel-solid);
2033
- box-sizing: border-box;
2275
+ --scrollarea-scrollbar-horizontal-margin-left: var(--select-content-padding);
2276
+ --scrollarea-scrollbar-horizontal-margin-right: var(--select-content-padding);
2277
+ }
2278
+ @layer components {
2279
+ .ui-SelectContent {
2280
+ overflow: hidden;
2281
+ box-shadow: var(--shadow-5);
2282
+ background-color: var(--color-panel-solid);
2283
+ box-sizing: border-box;
2284
+ }
2034
2285
  }
2035
2286
  .ui-SelectContent:where([data-side]) {
2036
2287
  min-width: var(--reka-select-trigger-width);
@@ -2061,21 +2312,23 @@ to {
2061
2312
  border-radius: var(--radius-4);
2062
2313
  }
2063
2314
 
2315
+ @layer components {
2064
2316
  .ui-SelectTrigger {
2065
- display: inline-flex;
2066
- align-items: center;
2067
- justify-content: space-between;
2068
- flex-shrink: 0;
2069
- -webkit-user-select: none;
2070
- -moz-user-select: none;
2071
- user-select: none;
2072
- vertical-align: top;
2073
- font-weight: var(--font-weight-regular);
2074
- font-style: normal;
2075
- text-align: start;
2076
- color: var(--gray-12);
2077
- box-sizing: border-box;
2078
- height: var(--select-trigger-height);
2317
+ display: inline-flex;
2318
+ align-items: center;
2319
+ justify-content: space-between;
2320
+ flex-shrink: 0;
2321
+ -webkit-user-select: none;
2322
+ -moz-user-select: none;
2323
+ user-select: none;
2324
+ vertical-align: top;
2325
+ font-weight: var(--font-weight-regular);
2326
+ font-style: normal;
2327
+ text-align: start;
2328
+ color: var(--gray-12);
2329
+ box-sizing: border-box;
2330
+ height: var(--select-trigger-height);
2331
+ }
2079
2332
  }
2080
2333
  .ui-SelectTriggerInner {
2081
2334
  overflow: hidden;
@@ -2215,20 +2468,22 @@ to {
2215
2468
  color: var(--gray-a9);
2216
2469
  }
2217
2470
 
2471
+ @layer components {
2218
2472
  .ui-SelectItem {
2219
- display: flex;
2220
- align-items: center;
2221
- height: var(--select-item-height);
2222
- padding-left: var(--select-item-indicator-width);
2223
- padding-right: var(--select-item-indicator-width);
2224
- position: relative;
2225
- box-sizing: border-box;
2226
- outline: none;
2227
- scroll-margin: var(--select-content-padding) 0;
2228
- -webkit-user-select: none;
2229
- -moz-user-select: none;
2230
- user-select: none;
2231
- cursor: default;
2473
+ display: flex;
2474
+ align-items: center;
2475
+ height: var(--select-item-height);
2476
+ padding-left: var(--select-item-indicator-width);
2477
+ padding-right: var(--select-item-indicator-width);
2478
+ position: relative;
2479
+ box-sizing: border-box;
2480
+ outline: none;
2481
+ scroll-margin: var(--select-content-padding) 0;
2482
+ -webkit-user-select: none;
2483
+ -moz-user-select: none;
2484
+ user-select: none;
2485
+ cursor: default;
2486
+ }
2232
2487
  }
2233
2488
  .ui-SelectItem:where([data-disabled]) {
2234
2489
  cursor: not-allowed;
@@ -2283,17 +2538,19 @@ to {
2283
2538
  background-color: var(--accent-a4);
2284
2539
  }
2285
2540
 
2541
+ @layer components {
2286
2542
  .ui-SelectLabel {
2287
- display: flex;
2288
- align-items: center;
2289
- height: var(--select-item-height);
2290
- padding-left: var(--select-item-indicator-width);
2291
- padding-right: var(--select-item-indicator-width);
2292
- color: var(--gray-a10);
2293
- -webkit-user-select: none;
2294
- -moz-user-select: none;
2295
- user-select: none;
2296
- cursor: default;
2543
+ display: flex;
2544
+ align-items: center;
2545
+ height: var(--select-item-height);
2546
+ padding-left: var(--select-item-indicator-width);
2547
+ padding-right: var(--select-item-indicator-width);
2548
+ color: var(--gray-a10);
2549
+ -webkit-user-select: none;
2550
+ -moz-user-select: none;
2551
+ user-select: none;
2552
+ cursor: default;
2553
+ }
2297
2554
  }
2298
2555
  .ui-SelectItem + .ui-SelectLabel {
2299
2556
  margin-top: var(--space-2);
@@ -2310,21 +2567,25 @@ to {
2310
2567
  line-height: var(--line-height-2);
2311
2568
  }
2312
2569
 
2570
+ @layer components {
2313
2571
  .ui-SelectSeparator {
2314
- height: 1px;
2315
- margin-top: var(--space-2);
2316
- margin-bottom: var(--space-2);
2317
- margin-left: var(--select-item-indicator-width);
2318
- margin-right: var(--select-separator-margin-right);
2319
- background-color: var(--gray-a6);
2572
+ height: 1px;
2573
+ margin-top: var(--space-2);
2574
+ margin-bottom: var(--space-2);
2575
+ margin-left: var(--select-item-indicator-width);
2576
+ margin-right: var(--select-separator-margin-right);
2577
+ background-color: var(--gray-a6);
2578
+ }
2320
2579
  }
2321
2580
 
2581
+ @layer components {
2322
2582
  .ui-ComboboxRoot {
2323
- width: -moz-fit-content;
2324
- width: fit-content;
2583
+ width: -moz-fit-content;
2584
+ width: fit-content;
2325
2585
  }
2326
2586
  .ui-ComboboxRoot:where(.r-multiple) {
2327
- width: auto;
2587
+ width: auto;
2588
+ }
2328
2589
  }
2329
2590
  .ui-ComboboxRoot:where(.r-size-1) {
2330
2591
  --combobox-field-height: var(--space-5);
@@ -2412,21 +2673,23 @@ to {
2412
2673
  .ui-ComboboxValuesItem:where([aria-current="true"]) {
2413
2674
  background-color: var(--red-a9);
2414
2675
  }
2676
+ @layer components {
2415
2677
  .ui-ComboboxInput {
2416
- text-align: inherit;
2417
- border: none;
2418
- padding: 0;
2419
- width: 100%;
2420
- font-size: 1em;
2421
- background-color: transparent;
2422
- border-radius: calc(var(--combobox-field-border-radius) - var(--combobox-field-border-width));
2423
- text-indent: var(--combobox-field-padding);
2424
- height: var(--combobox-input-height);
2425
- cursor: auto;
2678
+ text-align: inherit;
2679
+ border: none;
2680
+ padding: 0;
2681
+ width: 100%;
2682
+ font-size: 1em;
2683
+ background-color: transparent;
2684
+ border-radius: calc(var(--combobox-field-border-radius) - var(--combobox-field-border-width));
2685
+ text-indent: var(--combobox-field-padding);
2686
+ height: var(--combobox-input-height);
2687
+ cursor: auto;
2426
2688
 
2427
- /* Reset size 2 padding bottom */
2428
- padding-bottom: 0px;
2429
- /* Safari credentials autofill icon */
2689
+ /* Reset size 2 padding bottom */
2690
+ padding-bottom: 0px;
2691
+ /* Safari credentials autofill icon */
2692
+ }
2430
2693
  }
2431
2694
  .ui-ComboboxField:where([data-multiple="true"]) :where(.ui-ComboboxInput) {
2432
2695
  text-indent: calc(var(--combobox-field-padding) / 2);
@@ -2581,11 +2844,14 @@ to {
2581
2844
  --scrollarea-scrollbar-vertical-margin-bottom: var(--combobox-content-padding);
2582
2845
  --scrollarea-scrollbar-horizontal-margin-left: var(--combobox-content-padding);
2583
2846
  --scrollarea-scrollbar-horizontal-margin-right: var(--combobox-content-padding);
2584
-
2585
- overflow: hidden;
2586
- box-shadow: var(--shadow-5);
2587
- background-color: var(--color-panel-solid);
2588
- box-sizing: border-box;
2847
+ }
2848
+ @layer components {
2849
+ .ui-ComboboxContent {
2850
+ overflow: hidden;
2851
+ box-shadow: var(--shadow-5);
2852
+ background-color: var(--color-panel-solid);
2853
+ box-sizing: border-box;
2854
+ }
2589
2855
  }
2590
2856
  .ui-ComboboxContent:where([data-side]) {
2591
2857
  min-width: var(--reka-combobox-trigger-width);
@@ -2662,25 +2928,27 @@ to {
2662
2928
  --combobox-highlighted-text-color: var(--accent-12);
2663
2929
  }
2664
2930
 
2931
+ @layer components {
2665
2932
  .ui-ComboboxItem {
2666
- display: flex;
2667
- align-items: center;
2668
- height: var(--combobox-item-height);
2669
- padding-left: var(--combobox-indicator-width);
2670
- padding-right: var(--combobox-indicator-width);
2671
- position: relative;
2672
- box-sizing: border-box;
2673
- outline: none;
2674
- scroll-margin: var(--combobox-content-padding) 0;
2675
- -webkit-user-select: none;
2676
- -moz-user-select: none;
2677
- user-select: none;
2678
- cursor: default;
2933
+ display: flex;
2934
+ align-items: center;
2935
+ height: var(--combobox-item-height);
2936
+ padding-left: var(--combobox-indicator-width);
2937
+ padding-right: var(--combobox-indicator-width);
2938
+ position: relative;
2939
+ box-sizing: border-box;
2940
+ outline: none;
2941
+ scroll-margin: var(--combobox-content-padding) 0;
2942
+ -webkit-user-select: none;
2943
+ -moz-user-select: none;
2944
+ user-select: none;
2945
+ cursor: default;
2679
2946
 
2680
- font-size: var(--combobox-item-font-size);
2681
- line-height: var(--combobox-item-line-height);
2682
- letter-spacing: var(--combobox-item-letter-spacing);
2683
- border-radius: var(--combobox-item-radius);
2947
+ font-size: var(--combobox-item-font-size);
2948
+ line-height: var(--combobox-item-line-height);
2949
+ letter-spacing: var(--combobox-item-letter-spacing);
2950
+ border-radius: var(--combobox-item-radius);
2951
+ }
2684
2952
  }
2685
2953
  .ui-ComboboxItem:where([data-disabled]) {
2686
2954
  cursor: not-allowed;
@@ -2705,40 +2973,44 @@ to {
2705
2973
  height: var(--combobox-indicator-icon-height);
2706
2974
  }
2707
2975
 
2976
+ @layer components {
2708
2977
  .ui-ComboboxLabel {
2709
- display: flex;
2710
- align-items: center;
2711
- height: var(--combobox-item-height);
2712
- padding-left: calc(var(--combobox-indicator-width) / 2);
2713
- padding-right: var(--combobox-indicator-width);
2714
- color: var(--gray-a10);
2715
- -webkit-user-select: none;
2716
- -moz-user-select: none;
2717
- user-select: none;
2718
- cursor: default;
2978
+ display: flex;
2979
+ align-items: center;
2980
+ height: var(--combobox-item-height);
2981
+ padding-left: calc(var(--combobox-indicator-width) / 2);
2982
+ padding-right: var(--combobox-indicator-width);
2983
+ color: var(--gray-a10);
2984
+ -webkit-user-select: none;
2985
+ -moz-user-select: none;
2986
+ user-select: none;
2987
+ cursor: default;
2719
2988
 
2720
- font-size: var(--combobox-label-font-size);
2721
- letter-spacing: var(--combobox-label-letter-spacing);
2722
- line-height: var(--combobox-label-line-height);
2989
+ font-size: var(--combobox-label-font-size);
2990
+ letter-spacing: var(--combobox-label-letter-spacing);
2991
+ line-height: var(--combobox-label-line-height);
2992
+ }
2723
2993
  }
2724
2994
  .ui-SelectItem + .ui-ComboboxLabel {
2725
2995
  margin-top: var(--space-2);
2726
2996
  }
2727
2997
 
2998
+ @layer components {
2728
2999
  .ui-ComboboxEmpty {
2729
- box-sizing: border-box;
2730
- outline: none;
2731
- scroll-margin: var(--combobox-content-padding) 0;
2732
- -webkit-user-select: none;
2733
- -moz-user-select: none;
2734
- user-select: none;
2735
- cursor: default;
2736
- padding-left: calc(var(--combobox-indicator-width) / 2);
2737
- padding-right: var(--combobox-indicator-width);
2738
- font-size: var(--combobox-item-font-size);
2739
- line-height: var(--combobox-item-line-height);
2740
- letter-spacing: var(--combobox-item-letter-spacing);
2741
- color: var(--gray-11);
3000
+ box-sizing: border-box;
3001
+ outline: none;
3002
+ scroll-margin: var(--combobox-content-padding) 0;
3003
+ -webkit-user-select: none;
3004
+ -moz-user-select: none;
3005
+ user-select: none;
3006
+ cursor: default;
3007
+ padding-left: calc(var(--combobox-indicator-width) / 2);
3008
+ padding-right: var(--combobox-indicator-width);
3009
+ font-size: var(--combobox-item-font-size);
3010
+ line-height: var(--combobox-item-line-height);
3011
+ letter-spacing: var(--combobox-item-letter-spacing);
3012
+ color: var(--gray-11);
3013
+ }
2742
3014
  }
2743
3015
  .ui-RadioBase {
2744
3016
  position: relative;
@@ -3005,10 +3277,10 @@ to {
3005
3277
  }
3006
3278
  }
3007
3279
 
3008
- .ui-TabList::-webkit-scrollbar {
3280
+ .ui-TabsList::-webkit-scrollbar {
3009
3281
  display: none;
3010
3282
  }
3011
- .ui-TabList:where(.r-size-1) {
3283
+ .ui-TabsList:where(.r-size-1) {
3012
3284
  --tab-font-size: var(--font-size-1);
3013
3285
  --tab-line-height: var(--line-height-1);
3014
3286
  --tab-letter-spacing: var(--letter-spacing-1);
@@ -3019,7 +3291,7 @@ to {
3019
3291
  --tab-inner-padding-x: var(--space-1);
3020
3292
  --tab-inner-height: var(--space-5);
3021
3293
  }
3022
- .ui-TabList:where(.r-size-2) {
3294
+ .ui-TabsList:where(.r-size-2) {
3023
3295
  --tab-font-size: var(--font-size-2);
3024
3296
  --tab-line-height: var(--line-height-2);
3025
3297
  --tab-letter-spacing: var(--letter-spacing-2);
@@ -3030,12 +3302,12 @@ to {
3030
3302
  --tab-inner-padding-x: var(--space-2);
3031
3303
  --tab-inner-height: calc(var(--space-6) - var(--space-1));
3032
3304
  }
3033
- .ui-TabList:where(.r-variant-surface.r-size-1),
3034
- .ui-TabList:where(.r-variant-soft.r-size-1) {
3305
+ .ui-TabsList:where(.r-variant-surface.r-size-1),
3306
+ .ui-TabsList:where(.r-variant-soft.r-size-1) {
3035
3307
  --tab-inner-padding-x: calc(var(--space-2) / 4 * 3);
3036
3308
  }
3037
3309
  @layer components {
3038
- .ui-TabList {
3310
+ .ui-TabsList {
3039
3311
  justify-content: flex-start;
3040
3312
  position: relative;
3041
3313
  overflow-x: auto;
@@ -3048,34 +3320,33 @@ to {
3048
3320
  }
3049
3321
 
3050
3322
  /** classic & surface */
3051
- .ui-TabList:where(.r-variant-surface, .r-variant-classic) {
3323
+ .ui-TabsList:where(.r-variant-surface, .r-variant-classic) {
3052
3324
  position: relative;
3053
3325
  display: inline-flex;
3054
3326
  width: -moz-fit-content;
3055
3327
  width: fit-content;
3056
3328
  align-items: center;
3057
- justify-content: center;
3058
3329
  vertical-align: top;
3059
3330
  flex-shrink: 0;
3060
3331
  border-radius: var(--tab-radius);
3061
3332
  }
3062
- .ui-TabList:where(.r-variant-classic) {
3333
+ .ui-TabsList:where(.r-variant-classic) {
3063
3334
  background-color: var(--accent-a3);
3064
3335
  padding-left: var(--tab-padding-x);
3065
3336
  padding-right: var(--tab-padding-x);
3066
3337
  }
3067
- .ui-TabList:where(.r-variant-surface) {
3338
+ .ui-TabsList:where(.r-variant-surface) {
3068
3339
  --tab-item-radius: 0;
3069
3340
  --tab-inner-height: var(--tab-height);
3070
3341
  box-shadow: inset 0 0 0 1px var(--gray-a6);
3071
3342
  }
3072
3343
 
3073
3344
  /** soft & outline */
3074
- .ui-TabList:where(.r-variant-outline, .r-variant-soft) {
3345
+ .ui-TabsList:where(.r-variant-outline, .r-variant-soft) {
3075
3346
  display: flex;
3076
3347
  box-shadow: inset 0 -1px 0 0 var(--gray-a5);
3077
3348
  }
3078
- .ui-TabList:where(.r-variant-soft) {
3349
+ .ui-TabsList:where(.r-variant-soft) {
3079
3350
  padding-left: var(--tab-padding-x);
3080
3351
  padding-right: var(--tab-padding-x);
3081
3352
  }
@@ -3087,13 +3358,13 @@ to {
3087
3358
  transform: translateX(var(--reka-tabs-indicator-position));
3088
3359
  width: var(--reka-tabs-indicator-size);
3089
3360
  }
3090
- .ui-TabList:where(.r-variant-surface) :where(.ui-TabsIndicator) {
3361
+ .ui-TabsList:where(.r-variant-surface) :where(.ui-TabsIndicator) {
3091
3362
  top: 0;
3092
- height: var(--tab-inner-height);
3363
+ height: var(--tab-height);
3093
3364
  background-color: var(--accent-a3);
3094
3365
  transition-duration: 100ms;
3095
3366
  }
3096
- .ui-TabList:where(.r-variant-classic) :where(.ui-TabsIndicator) {
3367
+ .ui-TabsList:where(.r-variant-classic) :where(.ui-TabsIndicator) {
3097
3368
  top: calc((var(--tab-height) - var(--tab-inner-height)) / 2);
3098
3369
  height: var(--tab-inner-height);
3099
3370
  background-color: var(--color-panel-solid);
@@ -3105,14 +3376,14 @@ to {
3105
3376
  border-radius: var(--tab-item-radius);
3106
3377
  transition-duration: 100ms;
3107
3378
  }
3108
- .ui-TabList:where(.r-variant-soft) :where(.ui-TabsIndicator) {
3379
+ .ui-TabsList:where(.r-variant-soft) :where(.ui-TabsIndicator) {
3109
3380
  top: calc((var(--tab-height) - var(--tab-inner-height)) / 2);
3110
3381
  height: var(--tab-inner-height);
3111
3382
  background-color: var(--accent-a3);
3112
3383
  border-radius: var(--tab-item-radius);
3113
3384
  transition-duration: 100ms;
3114
3385
  }
3115
- .ui-TabList:where(.r-variant-outline) :where(.ui-TabsIndicator) {
3386
+ .ui-TabsList:where(.r-variant-outline) :where(.ui-TabsIndicator) {
3116
3387
  bottom: 0;
3117
3388
  height: 2px;
3118
3389
  background-color: var(--accent-indicator);
@@ -3120,7 +3391,7 @@ to {
3120
3391
  }
3121
3392
 
3122
3393
  /** high contrast */
3123
- :where(.ui-TabList.r-variant-outline.r-high-contrast) .ui-TabsIndicator {
3394
+ :where(.ui-TabsList.r-variant-outline.r-high-contrast) .ui-TabsIndicator {
3124
3395
  background-color: var(--accent-12);
3125
3396
  }
3126
3397
 
@@ -3172,13 +3443,13 @@ to {
3172
3443
  word-spacing: var(--tab-active-word-spacing);
3173
3444
  }
3174
3445
  @media (hover: hover) {
3175
- .ui-TabList:where(.r-variant-outline, .r-variant-classic) :where(.ui-TabTrigger:hover) {
3446
+ .ui-TabsList:where(.r-variant-outline, .r-variant-classic) :where(.ui-TabTrigger:hover) {
3176
3447
  color: var(--gray-12);
3177
3448
  }
3178
- .ui-TabList:where(.r-variant-surface, .r-variant-soft) :where(.ui-TabTrigger:hover) {
3449
+ .ui-TabsList:where(.r-variant-surface, .r-variant-soft) :where(.ui-TabTrigger:hover) {
3179
3450
  color: var(--accent-a11);
3180
3451
  }
3181
- .ui-TabList:where(.r-variant-outline) :where(.ui-TabTrigger:not(:disabled):hover) :where(.ui-TabTriggerInner) {
3452
+ .ui-TabsList:where(.r-variant-outline) :where(.ui-TabTrigger:not(:disabled):hover) :where(.ui-TabTriggerInner) {
3182
3453
  background-color: var(--gray-a3);
3183
3454
  }
3184
3455
  .ui-TabTrigger:where(:focus-visible:hover) :where(.ui-TabTriggerInner) {
@@ -3189,20 +3460,20 @@ to {
3189
3460
  outline: 2px solid var(--focus-8);
3190
3461
  outline-offset: -2px;
3191
3462
  }
3192
- .ui-TabList:where(.r-variant-outline) :where(.ui-TabTrigger) {
3463
+ .ui-TabsList:where(.r-variant-outline) :where(.ui-TabTrigger) {
3193
3464
  padding-left: var(--tab-padding-x);
3194
3465
  padding-right: var(--tab-padding-x);
3195
3466
  }
3196
- .ui-TabList:where(.r-variant-classic, .r-variant-outline) :where(.ui-TabTrigger[data-state='active']) {
3467
+ .ui-TabsList:where(.r-variant-classic, .r-variant-outline) :where(.ui-TabTrigger[data-state='active']) {
3197
3468
  color: var(--gray-12);
3198
3469
  }
3199
- .ui-TabList:where(.r-variant-soft) :where(.ui-TabTrigger + .ui-TabTrigger) {
3470
+ .ui-TabsList:where(.r-variant-soft) :where(.ui-TabTrigger + .ui-TabTrigger) {
3200
3471
  margin-left: calc(var(--tab-padding-x) / 2)
3201
3472
  }
3202
- .ui-TabList:where(.r-variant-surface) :where(.ui-TabTrigger + .ui-TabTrigger) {
3473
+ .ui-TabsList:where(.r-variant-surface) :where(.ui-TabTrigger + .ui-TabTrigger) {
3203
3474
  box-shadow: inset 1px 0 0 var(--gray-a4);
3204
3475
  }
3205
- .ui-TabList:where(.r-variant-surface, .r-variant-soft) :where(.ui-TabTrigger[data-state='active']) {
3476
+ .ui-TabsList:where(.r-variant-surface, .r-variant-soft) :where(.ui-TabTrigger[data-state='active']) {
3206
3477
  color: var(--accent-a11);
3207
3478
  }
3208
3479
 
@@ -3285,10 +3556,12 @@ to {
3285
3556
  height: 0;
3286
3557
  }
3287
3558
  }
3559
+ @layer components {
3288
3560
  .ui-AccordionContent {
3289
- overflow: hidden;
3290
- font-weight: var(--font-weight-regular);
3291
- font-size: var(--accordion-content-font-size);
3561
+ overflow: hidden;
3562
+ font-weight: var(--font-weight-regular);
3563
+ font-size: var(--accordion-content-font-size);
3564
+ }
3292
3565
  }
3293
3566
  .ui-AccordionContent:where([data-state="open"]) {
3294
3567
  animation: accordion-down 0.2s ease-out;
@@ -3432,28 +3705,37 @@ to {
3432
3705
  --collapsible-trigger-open-text-color: var(--accent-12);
3433
3706
  }
3434
3707
 
3708
+ @layer components {
3435
3709
  .ui-CollapsibleIndicator {
3436
- display: inline-flex;
3437
- align-items: center;
3438
- font-size: var(--collapsible-indicator-icon-size);
3439
- transition: transform 0.2s ease;
3440
- color: var(--gray-10);
3710
+ display: inline-flex;
3711
+ align-items: center;
3712
+ font-size: var(--collapsible-indicator-icon-size);
3713
+ transition: transform 0.2s ease;
3714
+ color: var(--gray-10);
3715
+ }
3441
3716
  }
3442
3717
  .ui-CollapsibleIndicator:where([data-side="left"]) {
3443
3718
  order: -1;
3444
3719
  }
3720
+ :where([aria-expanded="false"]) .ui-CollapsibleIndicator,
3721
+ :where([data-state="closed"]) .ui-CollapsibleIndicator {
3722
+ transform: rotate(0);
3723
+ }
3724
+ :where([aria-expanded="true"]) .ui-CollapsibleIndicator,
3445
3725
  :where([data-state="open"]) .ui-CollapsibleIndicator {
3446
3726
  transform: rotate(90deg);
3447
3727
  }
3448
3728
 
3729
+ @layer components {
3449
3730
  .ui-CollapsibleTrigger {
3450
- display: inline-flex;
3451
- align-items: center;
3452
- justify-content: space-between;
3453
- text-align: initial;
3454
- gap: var(--collapsible-trigger-gap);
3455
- font-size: var(--collapsible-font-size);
3456
- font-weight: var(--font-weight-medium);
3731
+ display: inline-flex;
3732
+ align-items: center;
3733
+ justify-content: space-between;
3734
+ text-align: initial;
3735
+ gap: var(--collapsible-trigger-gap);
3736
+ font-size: var(--collapsible-font-size);
3737
+ font-weight: var(--font-weight-medium);
3738
+ }
3457
3739
  }
3458
3740
  .ui-CollapsibleTriggerText {
3459
3741
  flex-grow: 1;
@@ -3496,11 +3778,13 @@ to {
3496
3778
  height: 0;
3497
3779
  }
3498
3780
  }
3781
+ @layer components {
3499
3782
  .ui-CollapsibleContent {
3500
- overflow: hidden;
3501
- font-size: var(--collapsible-font-size);
3502
- font-weight: var(--font-weight-regular);
3503
- padding-block: var(--collapsible-padding-y);
3783
+ overflow: hidden;
3784
+ font-size: var(--collapsible-font-size);
3785
+ font-weight: var(--font-weight-regular);
3786
+ padding-block: var(--collapsible-padding-y);
3787
+ }
3504
3788
  }
3505
3789
  .ui-CollapsibleContent:where([data-state="open"]) {
3506
3790
  animation: collapsible-down 0.2s ease-out;
@@ -3515,24 +3799,33 @@ to {
3515
3799
  padding-inline: var(--collapsible-padding-x);
3516
3800
  }
3517
3801
 
3518
- .ui-Pagination {
3802
+ .ui-PaginationList {
3519
3803
  display: flex;
3520
3804
  align-items: center;
3521
- }
3522
- .ui-Pagination:where(.r-size-1) {
3523
3805
  gap: var(--space-1);
3524
3806
  }
3525
- .ui-Pagination:where(.r-size-2) {
3526
- gap: var(--space-2);
3807
+ .ui-PaginationList .ui-Button {
3808
+ height: var(--button-height);
3809
+ width: var(--button-height);
3810
+ padding: 0;
3527
3811
  }
3528
- .ui-Pagination:where(.r-size-3) {
3529
- gap: var(--space-3);
3812
+ .ui-PaginationRoot:where(.r-variant-ghost):where([data-accent-color="gray"]) :where(.ui-Button) {
3813
+ color: var(--accent-12);
3814
+ }
3815
+
3816
+ /** selected on ghost -> outline */
3817
+ .ui-PaginationRoot:where(.r-variant-ghost) :where(.ui-Button[data-selected]) {
3818
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
3819
+ }
3820
+ .ui-PaginationRoot:where(.r-variant-soft, .r-variant-surface, .r-variant-outline) :where(.ui-Button[data-selected]) {
3821
+ background-color: var(--accent-9);
3822
+ color: var(--accent-contrast);
3530
3823
  }
3531
- .ui-Pagination:where(.r-size-4) {
3532
- gap: var(--space-4);
3824
+ .ui-PaginationRoot:where([data-accent-color="gray"]):where(.r-variant-soft, .r-variant-surface, .r-variant-outline) :where(.ui-Button[data-selected]) {
3825
+ background-color: var(--accent-12);
3533
3826
  }
3534
- .ui-Pagination:where(.r-variant-ghost) {
3535
- gap: 0;
3827
+ .ui-PaginationRoot:where(.r-variant-surface, .r-variant-outline) :where(.ui-Button[data-selected]) {
3828
+ box-shadow: none;
3536
3829
  }
3537
3830
 
3538
3831
  .ui-root {
@@ -3674,10 +3967,10 @@ to {
3674
3967
  .ui-ToastItem:where([data-swipe-direction="right"]) {
3675
3968
  --toast-item-swipe-to-x: calc(100% + var(--toast-x-position))
3676
3969
  }
3677
- .ui-ToastItem:where([data-swipe-direction="top"]) {
3970
+ .ui-ToastItem:where([data-swipe-direction="up"]) {
3678
3971
  --toast-item-swipe-to-y: calc(0 - 100% - var(--toast-y-position))
3679
3972
  }
3680
- .ui-ToastItem:where([data-swipe-direction="bottom"]) {
3973
+ .ui-ToastItem:where([data-swipe-direction="down"]) {
3681
3974
  --toast-item-swipe-to-y: calc(100% + var(--toast-y-position))
3682
3975
  }
3683
3976
  .ui-ToastItem:where([data-state="closed"]),
@@ -3771,6 +4064,9 @@ to {
3771
4064
  .ui-ToastViewport:where([data-x-position="right"]) {
3772
4065
  right: var(--toast-x-position);
3773
4066
  }
4067
+ .ui-ToastViewport:where([data-x-position="center"]) {
4068
+ left: calc(50% - var(--toast-width) / 2);
4069
+ }
3774
4070
  .ui-ToastViewport:where([data-y-position="top"]) {
3775
4071
  top: var(--toast-y-position);
3776
4072
  }
@@ -3845,8 +4141,7 @@ to {
3845
4141
  border: 1px solid var(--gray-a5);
3846
4142
  border-radius: var(--table-border-radius);
3847
4143
  background-color: var(--color-panel);
3848
- -webkit-backdrop-filter: var(--backdrop-filter-panel);
3849
- backdrop-filter: var(--backdrop-filter-panel);
4144
+ backdrop-filter: var(--backdrop-filter-panel);
3850
4145
  background-clip: padding-box;
3851
4146
  position: relative;
3852
4147
  }
@@ -3869,18 +4164,20 @@ to {
3869
4164
  --scrollarea-scrollbar-horizontal-margin-right: 0;
3870
4165
  }
3871
4166
 
4167
+ @layer components {
3872
4168
  .ui-Separator {
3873
- display: block;
3874
- box-sizing: border-box;
3875
- background-color: var(--accent-a6);
4169
+ display: block;
4170
+ box-sizing: border-box;
4171
+ background-color: var(--accent-a6);
3876
4172
  }
3877
- .ui-Separator[aria-orientation="horizontal"] {
3878
- width: var(--separator-size, auto);
3879
- height: 1px;
4173
+ .ui-Separator:where([aria-orientation="horizontal"]) {
4174
+ width: var(--separator-size, auto);
4175
+ height: 1px;
4176
+ }
4177
+ .ui-Separator:where([aria-orientation="vertical"]) {
4178
+ width: 1px;
4179
+ height: var(--separator-size, auto);
3880
4180
  }
3881
- .ui-Separator[aria-orientation="vertical"] {
3882
- width: 1px;
3883
- height: var(--separator-size, auto);
3884
4181
  }
3885
4182
  .ui-Separator:where(.r-size-1) {
3886
4183
  --separator-size: var(--space-4);
@@ -3895,51 +4192,6 @@ to {
3895
4192
  --separator-size: 100%;
3896
4193
  }
3897
4194
 
3898
- .ui-Tooltip {
3899
- box-sizing: border-box;
3900
- padding: var(--space-1) var(--space-2);
3901
- border-radius: var(--radius-2);
3902
- transform-origin: var(--reka-tooltip-content-transform-origin);
3903
- animation-duration: 140ms;
3904
- animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
3905
- background-color: var(--accent-11);
3906
- }
3907
- @media (prefers-reduced-motion: no-preference) {
3908
- .ui-Tooltip:where([data-state='delayed-open']):where([data-side='top']) {
3909
- animation-name: ui-slide-from-top, ui-fade-in;
3910
- }
3911
- .ui-Tooltip:where([data-state='delayed-open']):where([data-side='bottom']) {
3912
- animation-name: ui-slide-from-bottom, ui-fade-in;
3913
- }
3914
- .ui-Tooltip:where([data-state='delayed-open']):where([data-side='left']) {
3915
- animation-name: ui-slide-from-left, ui-fade-in;
3916
- }
3917
- .ui-Tooltip:where([data-state='delayed-open']):where([data-side='right']) {
3918
- animation-name: ui-slide-from-right, ui-fade-in;
3919
- }
3920
- }
3921
- .ui-TooltipText {
3922
- color: var(--gray-1);
3923
- -webkit-user-select: none;
3924
- -moz-user-select: none;
3925
- user-select: none;
3926
- cursor: default;
3927
- font-size: var(--font-size-1);
3928
- line-height: var(--line-height-1);
3929
- letter-spacing: var(--letter-spacing-1);
3930
- }
3931
- .ui-TooltipArrow {
3932
- fill: var(--accent-11);
3933
- }
3934
-
3935
- /* special handle for gray color */
3936
- .ui-Tooltip:where([data-accent-color="gray"]) {
3937
- background-color: var(--gray-12);
3938
- }
3939
- .ui-Tooltip:where([data-accent-color="gray"]) :where(.ui-TooltipArrow) {
3940
- fill: var(--gray-12);
3941
- }
3942
-
3943
4195
  .ui-Quota {
3944
4196
  position: relative;
3945
4197
  overflow: hidden;