@planningcenter/tapestry 3.4.1-rc.8 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,77 +1,3 @@
1
- .tds-checkbox-group{
2
- --tds-checkbox-group-font-size:var(--t-font-size-md);
3
- --tds-checkbox-group-line-height:1.4;
4
- --tds-checkbox-group-gap:var(--t-spacing-1);
5
-
6
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
7
- --tds-checkbox-group-description-line-height:1.35;
8
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
9
- --tds-checkbox-group-description-invalid-icon-display:none;
10
- display:flex;
11
- flex-direction:column;
12
- gap:0;
13
- padding:0;
14
- margin:0;
15
-
16
- font-size:var(--tds-checkbox-group-font-size);
17
- line-height:var(--tds-checkbox-group-line-height);
18
- border:0;
19
- }
20
-
21
- .tds-checkbox-group legend{
22
- float:left;
23
- padding:0;
24
- margin:0;
25
- }
26
-
27
- .tds-checkbox-group[aria-invalid="true"]{
28
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
29
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
30
- }
31
-
32
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
33
- margin-left:.25ch;
34
- color:var(--t-text-color-status-error);
35
- content:"*";
36
- }
37
-
38
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
39
- content:none;
40
- }
41
-
42
- .tds-checkbox-group-fields{
43
- display:flex;
44
- flex-direction:column;
45
- gap:var(--tds-checkbox-group-gap);
46
- align-items:flex-start;
47
- margin-top:var(--t-spacing-1);
48
- }
49
-
50
- .tds-checkbox-group-description{
51
- display:flex;
52
- gap:var(--t-spacing-half);
53
- align-items:flex-start;
54
- margin:var(--t-spacing-fourth) 0 0;
55
- font-size:var(--tds-checkbox-group-description-font-size);
56
- line-height:var(--tds-checkbox-group-description-line-height);
57
- color:var(--tds-checkbox-group-description-color);
58
- cursor:text;
59
- }
60
-
61
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
62
- display:var(--tds-checkbox-group-description-invalid-icon-display);
63
- flex-shrink:0;
64
- margin-top:calc(.5lh - .5em);
65
- line-height:var(--tds-checkbox-group-description-line-height);
66
- }
67
-
68
- .tds-checkbox-group--sm{
69
- --tds-checkbox-group-line-height:1.35;
70
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
71
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
72
- --tds-checkbox-group-description-line-height:1.3;
73
- }
74
-
75
1
  @layer t-critical{
76
2
  tds-page-header:not(.hydrated){
77
3
  display:none;
@@ -727,87 +653,102 @@
727
653
  --tds-checkbox-description-line-height:1.3;
728
654
  }
729
655
 
730
- .tds-radio-group{
731
- --tds-radio-group-font-size:var(--t-font-size-md);
732
- --tds-radio-group-line-height:1.4;
733
- --tds-radio-group-gap:var(--t-spacing-1);
734
656
 
735
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
736
- --tds-radio-group-description-line-height:1.35;
737
- --tds-radio-group-description-color:var(--t-text-color-secondary);
738
- --tds-radio-group-description-invalid-icon-display:none;
657
+ :is(.tds-input input)::-webkit-search-decoration,:is(.tds-input input)::-webkit-search-cancel-button,:is(.tds-input input)::-webkit-search-results-button,:is(.tds-input input)::-webkit-search-results-decoration{
658
+ -webkit-appearance:none;
659
+ appearance:none;
660
+ }
661
+
662
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
663
+ inline-size:1em;
664
+ block-size:2em;
665
+ }
666
+
667
+ @supports (field-sizing: content){
668
+ .tds-input--auto-width{
669
+ inline-size:-moz-fit-content;
670
+ inline-size:fit-content;
671
+ min-inline-size:min(100%, 122px);
672
+ }
673
+
674
+ .tds-input--auto-width input{
675
+ field-sizing:content;
676
+ inline-size:auto;
677
+ }
678
+ }
679
+
680
+ .tds-checkbox-group{
681
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
682
+ --tds-checkbox-group-line-height:1.4;
683
+ --tds-checkbox-group-gap:var(--t-spacing-1);
684
+
685
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
686
+ --tds-checkbox-group-description-line-height:1.35;
687
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
688
+ --tds-checkbox-group-description-invalid-icon-display:none;
739
689
  display:flex;
740
690
  flex-direction:column;
741
691
  gap:0;
742
692
  padding:0;
743
693
  margin:0;
744
694
 
745
- font-size:var(--tds-radio-group-font-size);
746
- line-height:var(--tds-radio-group-line-height);
695
+ font-size:var(--tds-checkbox-group-font-size);
696
+ line-height:var(--tds-checkbox-group-line-height);
747
697
  border:0;
748
698
  }
749
699
 
750
- .tds-radio-group legend{
700
+ .tds-checkbox-group legend{
751
701
  float:left;
752
702
  padding:0;
753
703
  margin:0;
754
704
  }
755
705
 
756
- .tds-radio-group[aria-invalid="true"]{
757
- --tds-radio-group-description-color:var(--t-text-color-status-error);
758
- --tds-radio-group-description-invalid-icon-display:inline-block;
706
+ .tds-checkbox-group[aria-invalid="true"]{
707
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
708
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
759
709
  }
760
710
 
761
- .tds-radio-group[aria-invalid="true"] .tds-radio{
762
- --tds-radio-input-border-color:var(--t-form-border-color-error);
763
- }
764
-
765
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
766
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
767
- --tds-radio-input-background-color:var(--t-form-background-color-error);
768
- }
769
-
770
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
771
- --tds-radio-input-background-color:var(--t-form-background-color);
772
- }
773
-
774
- .tds-radio-group:has(input:required) legend::after{
711
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
775
712
  margin-left:.25ch;
776
713
  color:var(--t-text-color-status-error);
777
714
  content:"*";
778
715
  }
779
716
 
780
- .tds-radio-group-fields{
717
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
718
+ content:none;
719
+ }
720
+
721
+ .tds-checkbox-group-fields{
781
722
  display:flex;
782
723
  flex-direction:column;
783
- gap:var(--tds-radio-group-gap);
724
+ gap:var(--tds-checkbox-group-gap);
784
725
  align-items:flex-start;
785
726
  margin-top:var(--t-spacing-1);
786
727
  }
787
728
 
788
- .tds-radio-group-description{
729
+ .tds-checkbox-group-description{
789
730
  display:flex;
790
731
  gap:var(--t-spacing-half);
791
732
  align-items:flex-start;
792
733
  margin:var(--t-spacing-fourth) 0 0;
793
- font-size:var(--tds-radio-group-description-font-size);
794
- line-height:var(--tds-radio-group-description-line-height);
795
- color:var(--tds-radio-group-description-color);
734
+ font-size:var(--tds-checkbox-group-description-font-size);
735
+ line-height:var(--tds-checkbox-group-description-line-height);
736
+ color:var(--tds-checkbox-group-description-color);
796
737
  cursor:text;
797
738
  }
798
739
 
799
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
800
- display:var(--tds-radio-group-description-invalid-icon-display);
740
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
741
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
801
742
  flex-shrink:0;
802
743
  margin-top:calc(.5lh - .5em);
803
- line-height:var(--tds-radio-group-description-line-height);
744
+ line-height:var(--tds-checkbox-group-description-line-height);
804
745
  }
805
746
 
806
- .tds-radio-group--sm{
807
- --tds-radio-group-line-height:1.35;
808
- --tds-radio-group-font-size:var(--t-font-size-sm);
809
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
810
- --tds-radio-group-description-line-height:1.3;
747
+ .tds-checkbox-group--sm{
748
+ --tds-checkbox-group-line-height:1.35;
749
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
750
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
751
+ --tds-checkbox-group-description-line-height:1.3;
811
752
  }
812
753
 
813
754
  .tds-date-picker{
@@ -1217,30 +1158,6 @@
1217
1158
  margin-inline-end:var(--tds-number-stepper-button-offset);
1218
1159
  }
1219
1160
 
1220
-
1221
- :is(.tds-input input)::-webkit-search-decoration,:is(.tds-input input)::-webkit-search-cancel-button,:is(.tds-input input)::-webkit-search-results-button,:is(.tds-input input)::-webkit-search-results-decoration{
1222
- -webkit-appearance:none;
1223
- appearance:none;
1224
- }
1225
-
1226
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1227
- inline-size:1em;
1228
- block-size:2em;
1229
- }
1230
-
1231
- @supports (field-sizing: content){
1232
- .tds-input--auto-width{
1233
- inline-size:-moz-fit-content;
1234
- inline-size:fit-content;
1235
- min-inline-size:min(100%, 122px);
1236
- }
1237
-
1238
- .tds-input--auto-width input{
1239
- field-sizing:content;
1240
- inline-size:auto;
1241
- }
1242
- }
1243
-
1244
1161
  .tds-time-field-input{
1245
1162
  --tds-field-date-segment-padding-inline:1px;
1246
1163
  padding-block:var(--tds-field-padding-block);
@@ -1248,25 +1165,165 @@
1248
1165
  font-variant-numeric:tabular-nums;
1249
1166
  }
1250
1167
 
1251
- .tds-input:has(textarea){
1252
- --tds-input-padding-block:6px;
1253
- --tds-input-resizer-size:var(--t-element-size-sm);
1254
- --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
1255
- }
1168
+ .tds-toggle-switch{
1169
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
1170
+ --tds-toggle-switch-cursor:pointer;
1171
+ --tds-toggle-switch-display:inline-grid;
1172
+ --tds-toggle-switch-line-height:1.4;
1256
1173
 
1257
- @supports (x: attr(x type(*))){
1174
+ --tds-toggle-switch-label-color:var(--t-form-color);
1258
1175
 
1259
- .tds-input textarea{
1260
- --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1176
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
1177
+ --tds-toggle-switch-track-outline:none;
1178
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
1179
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1180
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1181
+
1182
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1183
+ --tds-toggle-switch-thumb-transform:translateX(0);
1184
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1185
+
1186
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1187
+ --tds-toggle-switch-description-line-height:1.35;
1188
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1189
+ position:relative;
1190
+
1191
+ display:var(--tds-toggle-switch-display);
1192
+ grid-template-columns:auto;
1193
+ grid-auto-columns:1fr;
1194
+ gap:var(--t-spacing-fourth) 0;
1195
+ -webkit-user-select:none;
1196
+ -moz-user-select:none;
1197
+ user-select:none;
1261
1198
  }
1262
- }
1263
1199
 
1264
- .tds-input.tds-textarea--resize-vertical textarea{
1265
- resize:vertical;
1266
- }
1200
+ .tds-toggle-switch input[type="checkbox"]{
1201
+ position:absolute;
1202
+ width:var(--tds-toggle-switch-track-width);
1203
+ height:var(--tds-toggle-switch-track-height);
1204
+ margin:0;
1205
+ -webkit-appearance:none;
1206
+ -moz-appearance:none;
1207
+ appearance:none;
1208
+ cursor:var(--tds-toggle-switch-cursor);
1209
+ outline:var(--tds-toggle-switch-track-outline);
1210
+ outline-offset:var(--t-focus-ring-offset);
1211
+ background-color:transparent;
1212
+ border:0;
1213
+ border-radius:var(--t-border-radius-round);
1214
+ }
1267
1215
 
1268
- .tds-input.tds-textarea--resize-none textarea{
1269
- resize:none;
1216
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1217
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1218
+ }
1219
+
1220
+ .tds-toggle-switch label{
1221
+ display:inline-flex;
1222
+ grid-area:1 / 2;
1223
+ padding-inline-start:var(--t-spacing-1);
1224
+ margin-top:-.09375em;
1225
+ font-size:var(--tds-toggle-switch-font-size);
1226
+ font-weight:var(--t-font-weight-normal);
1227
+ line-height:var(--tds-toggle-switch-line-height);
1228
+ color:var(--tds-toggle-switch-label-color);
1229
+ cursor:var(--tds-toggle-switch-cursor);
1230
+ }
1231
+
1232
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1233
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1234
+ }
1235
+
1236
+ .tds-toggle-switch:has(input:checked){
1237
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1238
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1239
+ }
1240
+
1241
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1242
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1243
+ }
1244
+
1245
+ .tds-toggle-switch:has(input:disabled){
1246
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1247
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1248
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1249
+ --tds-toggle-switch-cursor:not-allowed;
1250
+ }
1251
+
1252
+ .tds-toggle-switch-track{
1253
+ position:relative;
1254
+ flex-shrink:0;
1255
+ width:var(--tds-toggle-switch-track-width);
1256
+ height:var(--tds-toggle-switch-track-height);
1257
+ background-color:var(--tds-toggle-switch-track-background-color);
1258
+ border-radius:var(--t-border-radius-round);
1259
+ transition:var(--tds-toggle-switch-track-transition);
1260
+ }
1261
+
1262
+ .tds-toggle-switch-track::before{
1263
+ position:absolute;
1264
+ top:var(--t-spacing-fourth);
1265
+ left:var(--t-spacing-fourth);
1266
+ width:var(--tds-toggle-switch-thumb-size);
1267
+ height:var(--tds-toggle-switch-thumb-size);
1268
+ content:"";
1269
+ background-color:#fff;
1270
+ border-radius:var(--t-border-radius-round);
1271
+ transform:var(--tds-toggle-switch-thumb-transform);
1272
+ transition:var(--tds-toggle-switch-thumb-transition);
1273
+ }
1274
+
1275
+ @media (prefers-reduced-motion: reduce){
1276
+
1277
+ .tds-toggle-switch-track{
1278
+ --tds-toggle-switch-track-transition:none;
1279
+ --tds-toggle-switch-thumb-transition:none;
1280
+ }
1281
+ }
1282
+
1283
+ .tds-toggle-switch-description{
1284
+ display:flex;
1285
+ grid-area:2 / 2;
1286
+ align-items:flex-start;
1287
+ padding-inline-start:var(--t-spacing-1);
1288
+ margin:0;
1289
+ font-size:var(--tds-toggle-switch-description-font-size);
1290
+ line-height:var(--tds-toggle-switch-description-line-height);
1291
+ color:var(--tds-toggle-switch-description-color);
1292
+ cursor:text;
1293
+ }
1294
+
1295
+ .tds-toggle-switch--sm{
1296
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
1297
+ --tds-toggle-switch-line-height:1.35;
1298
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
1299
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1300
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1301
+ --tds-toggle-switch-description-line-height:1.3;
1302
+ }
1303
+
1304
+ .tds-toggle-switch--hide-label{
1305
+ --tds-toggle-switch-display:inline-flex;
1306
+ }
1307
+
1308
+ .tds-input:has(textarea){
1309
+ --tds-input-padding-block:6px;
1310
+ --tds-input-resizer-size:var(--t-element-size-sm);
1311
+ --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
1312
+ }
1313
+
1314
+ @supports (x: attr(x type(*))){
1315
+
1316
+ .tds-input textarea{
1317
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1318
+ }
1319
+ }
1320
+
1321
+ .tds-input.tds-textarea--resize-vertical textarea{
1322
+ resize:vertical;
1323
+ }
1324
+
1325
+ .tds-input.tds-textarea--resize-none textarea{
1326
+ resize:none;
1270
1327
  }
1271
1328
 
1272
1329
  .tds-input.tds-textarea--resize-auto textarea{
@@ -1353,407 +1410,659 @@
1353
1410
  }
1354
1411
  }
1355
1412
 
1356
- .tds-radio{
1357
- --tds-radio-font-size:var(--t-font-size-md);
1358
- --tds-radio-cursor:pointer;
1359
- --tds-radio-line-height:1.4;
1360
- --tds-radio-transition-property:border-width;
1413
+ .tds-select{
1414
+ --tds-select-border-color:var(--t-form-border-color);
1415
+ --tds-select-border-color-hover:var(--t-form-border-color-hover);
1416
+ --tds-select-border-color-active:var(--t-form-border-color-hover);
1417
+ --tds-select-background-color:var(--t-form-background-color);
1418
+ --tds-select-color:var(--t-form-color);
1419
+ --tds-select-placeholder-color:var(--t-form-placeholder-color);
1420
+ --tds-select-font-size:var(--t-font-size-md);
1421
+ --tds-select-min-height:var(--t-container-size-md);
1422
+ --tds-select-padding-block:0;
1423
+ --tds-select-description-color:var(--t-text-color-secondary);
1424
+ --tds-select-description-invalid-icon-display:none;
1425
+ --tds-select-transition-property:background-color, border-color, outline-color, outline-offset;
1426
+ --tds-select-background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEzLDZsLTUsNWwtNSwtNXoiIGZpbGw9IiMzRDNEM0QiLz48L3N2Zz4=");
1427
+ --tds-select-caret-size:1em;
1428
+ --tds-select-caret-inline-offset:.75em;
1429
+ --tds-select-caret-transition:transform var(--t-duration-300) var(--t-ease-in-out);
1361
1430
 
1362
- --tds-radio-input-size:var(--t-element-size-md);
1363
- --tds-radio-input-border-radius:var(--t-border-radius-round);
1364
- --tds-radio-input-border-color:var(--t-form-border-color);
1365
- --tds-radio-input-border-width:var(--t-form-border-width);
1366
- --tds-radio-input-background-color:var(--t-form-background-color);
1431
+ --tds-select-dropdown-background-color:var(--t-surface-color-card);
1432
+ --tds-select-dropdown-border:1px solid var(--t-border-color);
1433
+ --tds-select-dropdown-padding:var(--t-spacing-1);
1434
+ --tds-select-dropdown-margin-block:5px;
1435
+ --tds-select-dropdown-scrollbar-color:#0004 var(--t-surface-color-card);
1436
+ --tds-select-dropdown-scrollbar-width:thin;
1437
+ --tds-select-dropdown-border-radius:var(--t-border-radius);
1438
+ --tds-select-dropdown-box-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
1439
+ --tds-select-dropdown-scroll-behavior:smooth;
1440
+ --tds-select-dropdown-transition:opacity var(--t-duration-300) var(--t-ease-out), translate var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
1441
+ --tds-select-dropdown-closed-opacity:0;
1442
+ --tds-select-dropdown-open-opacity:1;
1443
+ --tds-select-dropdown-closed-translate:0 -8px;
1444
+ --tds-select-dropdown-open-translate:0 0;
1367
1445
 
1368
- --tds-radio-label-color:var(--t-form-color);
1446
+ --tds-select-option-gap:var(--t-spacing-1);
1447
+ --tds-select-option-padding-block:var(--t-spacing-fourth);
1448
+ --tds-select-option-padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1449
+ --tds-select-option-font-size:1rem;
1450
+ --tds-select-option-color:var(--t-text-color);
1451
+ --tds-select-option-background-hover:var(--t-fill-color-neutral-070);
1452
+ --tds-select-option-background-active:var(--t-fill-color-button-interaction-ghost-active);
1453
+ --tds-select-option-border-radius:var(--t-border-radius);
1369
1454
 
1370
- --tds-radio-description-font-size:var(--t-font-size-sm);
1371
- --tds-radio-description-line-height:1.35;
1372
- --tds-radio-description-color:var(--t-text-color-secondary);
1455
+ --tds-select-group-label-padding-block-start:var(--t-spacing-2);
1456
+ --tds-select-group-label-padding-block:var(--tds-select-group-label-padding-block-start) var(--t-spacing-1);
1457
+ --tds-select-group-label-padding-inline:var(--t-spacing-1);
1458
+ --tds-select-group-label-font-size:var(--t-font-size-sm);
1459
+ --tds-select-group-label-font-weight:var(--t-font-weight-semibold);
1460
+ --tds-select-group-label-letter-spacing:0;
1461
+ --tds-select-group-label-color:var(--t-text-color-secondary);
1462
+ --tds-select-group-label-color-stuck:var(--t-text-color-headline);
1463
+ --tds-select-group-label-background:var(--tds-select-dropdown-background-color);
1464
+ --tds-select-group-label-transition:color var(--t-duration-200) var(--t-ease-in-out);
1373
1465
 
1374
1466
  position:relative;
1375
- display:inline-grid;
1376
- grid-template-columns:auto;
1377
- grid-auto-columns:1fr;
1378
- gap:var(--t-spacing-fourth) 0;
1379
- line-height:var(--tds-radio-line-height);
1380
- -webkit-user-select:none;
1381
- -moz-user-select:none;
1382
- user-select:none;
1467
+ display:flex;
1468
+ flex-direction:column;
1469
+ gap:var(--t-spacing-half);
1383
1470
  }
1384
1471
 
1385
- .tds-radio label{
1386
- grid-area:1 / 2;
1387
- padding-inline-start:var(--t-spacing-1);
1388
- font-size:var(--tds-radio-font-size);
1472
+ .tds-select :is(label,.tds-select-label){
1473
+ font-size:var(--t-font-size-md);
1389
1474
  font-weight:var(--t-font-weight-normal);
1390
- color:var(--tds-radio-label-color);
1391
- cursor:var(--tds-radio-cursor);
1475
+ color:var(--t-text-color);
1476
+ cursor:default;
1392
1477
  }
1393
1478
 
1394
- .tds-radio input[type="radio"]{
1479
+ .tds-select :is(select,button){
1395
1480
  position:relative;
1396
- width:1em;
1397
- height:1em;
1398
- margin:calc((1lh - 1em) / 2) 0 0;
1399
- font-size:var(--tds-radio-font-size);
1400
- line-height:inherit;
1481
+ place-items:center;
1482
+ inline-size:100%;
1483
+ min-block-size:var(--tds-select-min-height);
1484
+ padding-block:var(--tds-select-padding-block);
1485
+ padding-inline:var(--t-spacing-1);
1486
+ padding-inline-end:calc(var(--t-spacing-1) + var(--tds-select-caret-size) + .5em);
1487
+ font-family:inherit;
1488
+ font-size:var(--tds-select-font-size);
1489
+ line-height:1.15;
1490
+ color:var(--tds-select-color);
1491
+ text-align:left;
1401
1492
  -webkit-appearance:none;
1402
1493
  -moz-appearance:none;
1403
1494
  appearance:none;
1404
- cursor:var(--tds-radio-cursor);
1405
- background-color:var(--tds-radio-input-background-color);
1406
- border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1407
- border-radius:var(--tds-radio-input-border-radius);
1495
+ cursor:var(--tds-select-cursor, default);
1496
+ outline:var(--t-focus-ring-width) solid transparent;
1497
+ outline-offset:0;
1498
+ background-color:var(--tds-select-background-color);
1499
+ background-image:var(--tds-select-background-image);
1500
+ background-repeat:no-repeat;
1501
+ background-position:right var(--tds-select-caret-inline-offset) top 50%;
1502
+ background-size:var(--tds-select-caret-size);
1503
+ border:var(--t-form-border-width) solid var(--tds-select-border-color);
1504
+ border-radius:var(--t-form-border-radius);
1408
1505
  transition-timing-function:var(--t-ease-in-out);
1409
- transition-duration:var(--t-duration-200);
1410
- transition-property:var(--tds-radio-transition-property);
1506
+ transition-duration:var(--t-duration-300);
1507
+ transition-property:var(--tds-select-transition-property);
1411
1508
  }
1412
1509
 
1413
- :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1414
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1415
- --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1510
+ :is(.tds-select :is(select,button)):hover:not(:disabled,:focus,:focus-visible,:focus-within,:active,:open){
1511
+ border-color:var(--tds-select-border-color-hover);
1416
1512
  }
1417
1513
 
1418
- :is(.tds-radio input[type="radio"]):focus-visible{
1419
- outline:var(--t-focus-ring-outline);
1514
+ :is(.tds-select :is(select,button)):focus{
1515
+ outline-color:var(--t-focus-ring-color);
1420
1516
  outline-offset:var(--t-focus-ring-offset);
1517
+ border-color:var(--tds-select-border-color-active);
1421
1518
  }
1422
1519
 
1423
- :is(.tds-radio input[type="radio"]):disabled{
1424
- pointer-events:none;
1520
+ :is(.tds-select :is(select,button)):required:invalid,:is(.tds-select :is(select,button)):has(option[hidden][disabled][value=""]:checked){
1521
+ color:var(--tds-select-placeholder-color);
1425
1522
  }
1426
1523
 
1427
- @media (prefers-reduced-motion: reduce){
1428
-
1429
- .tds-radio input[type="radio"]{
1430
- --tds-radio-transition-property:none;
1524
+ .tds-select:has(select:user-invalid,[aria-invalid="true"]),.tds-select.tds-select--invalid{
1525
+ --tds-select-border-color:var(--t-form-border-color-error);
1526
+ --tds-select-border-color-hover:var(--t-form-border-color-error-hover);
1527
+ --tds-select-border-color-active:var(--t-form-border-color-error-hover);
1528
+ --tds-select-background-color:var(--t-form-background-color-error);
1529
+ --tds-select-description-color:var(--t-text-color-status-error);
1530
+ --tds-select-description-invalid-icon-display:inline-block;
1431
1531
  }
1432
- }
1433
1532
 
1434
- .tds-radio:has(input:checked){
1435
- --tds-radio-input-background-color:var(--t-form-background-color);
1436
- --tds-radio-input-border-color:var(--t-border-color-control-info);
1437
- --tds-radio-input-border-width:4px;
1438
- }
1439
-
1440
- .tds-radio:has(input:checked) input:hover:not(:disabled){
1441
- --tds-radio-input-background-color:var(--t-form-background-color);
1442
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1533
+ .tds-select:has(select:required,[aria-required="true"]) :is(label,.tds-select-label)::after{
1534
+ margin-left:.25ch;
1535
+ color:var(--t-text-color-status-error);
1536
+ content:"*";
1443
1537
  }
1444
1538
 
1445
- .tds-radio:has(input:user-invalid){
1446
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1539
+ .tds-select:has(:is(select,button[role="combobox"]):is(:disabled,[aria-disabled="true"])){
1540
+ --tds-select-border-color:var(--t-form-border-color-disabled);
1541
+ --tds-select-background-color:var(--t-form-background-color-disabled);
1542
+ --tds-select-color:var(--t-form-color-disabled);
1543
+ --tds-select-cursor:not-allowed;
1447
1544
  }
1448
1545
 
1449
- .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1450
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1451
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1452
- }
1453
-
1454
- .tds-radio:has(input:disabled){
1455
- --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1456
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1457
-
1458
- --tds-radio-label-color:var(--t-form-color-disabled);
1459
- --tds-radio-description-color:var(--t-form-color-disabled);
1460
- --tds-radio-cursor:not-allowed;
1546
+ .tds-select:has( > [popover]:popover-open) > button{
1547
+ border-color:var(--tds-select-border-color-active);
1461
1548
  }
1462
1549
 
1463
- .tds-radio:has(input:disabled) input:checked{
1464
- --tds-radio-input-background-color:var(--t-form-background-color);
1465
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1550
+ :is(.tds-select:has( > [popover]:popover-open) > button)::after{
1551
+ transform:rotate(.5turn);
1466
1552
  }
1467
1553
 
1468
- .tds-radio-description{
1469
- display:flex;
1470
- grid-area:2 / 2;
1471
- gap:var(--t-spacing-half);
1472
- align-items:flex-start;
1473
- padding-inline-start:var(--t-spacing-1);
1474
- margin:0;
1475
- font-size:var(--tds-radio-description-font-size);
1476
- line-height:var(--tds-radio-description-line-height);
1477
- color:var(--tds-radio-description-color);
1478
- cursor:text;
1479
- }
1480
-
1481
- .tds-radio--sm{
1482
- --tds-radio-line-height:1.35;
1483
- --tds-radio-input-size:var(--t-element-size-sm);
1484
- --tds-radio-font-size:var(--t-font-size-sm);
1485
- --tds-radio-description-font-size:var(--t-font-size-xs);
1486
- --tds-radio-description-line-height:1.3;
1487
- }
1554
+ .tds-select :is(hr,li[role="separator"]){
1555
+ margin-block:var(--t-spacing-half);
1556
+ color:var(--tds-select-border-color);
1557
+ border:0;
1558
+ border-top:1px solid;
1559
+ }
1488
1560
 
1489
- .tds-toggle-switch{
1490
- --tds-toggle-switch-font-size:var(--t-font-size-md);
1491
- --tds-toggle-switch-cursor:pointer;
1492
- --tds-toggle-switch-display:inline-grid;
1493
- --tds-toggle-switch-line-height:1.4;
1561
+ .tds-select :is(li[role="option"],option:not([hidden])){
1562
+ display:block;
1563
+ align-content:center;
1564
+ min-height:var(--t-container-size-md);
1565
+ padding-block:var(--tds-select-option-padding-block);
1566
+ padding-inline:var(--tds-select-option-padding-inline);
1567
+ overflow:hidden;
1568
+ text-overflow:ellipsis;
1569
+ font-size:var(--tds-select-option-font-size);
1570
+ line-height:1.15;
1571
+ color:var(--tds-select-option-color);
1572
+ white-space:nowrap;
1573
+ cursor:default;
1574
+ border-radius:var(--tds-select-option-border-radius);
1575
+ }
1494
1576
 
1495
- --tds-toggle-switch-label-color:var(--t-form-color);
1577
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):focus-visible{
1578
+ outline:0;
1579
+ }
1496
1580
 
1497
- --tds-toggle-switch-track-width:var(--t-container-size-md);
1498
- --tds-toggle-switch-track-outline:none;
1499
- --tds-toggle-switch-track-height:var(--t-container-size-xs);
1500
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1501
- --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1581
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is(:focus,:hover,.tds-select-option--active):not([disabled],[aria-disabled="true"]){
1582
+ background:var(--tds-select-option-background-hover);
1583
+ }
1502
1584
 
1503
- --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1504
- --tds-toggle-switch-thumb-transform:translateX(0);
1505
- --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1585
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-selected="true"],:checked):not([disabled],[aria-disabled="true"]){
1586
+ background:var(--tds-select-option-background-active);
1587
+ }
1506
1588
 
1507
- --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1508
- --tds-toggle-switch-description-line-height:1.35;
1509
- --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1510
- position:relative;
1589
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled){
1590
+ color:var(--t-form-color-disabled);
1591
+ cursor:not-allowed;
1592
+ }
1511
1593
 
1512
- display:var(--tds-toggle-switch-display);
1513
- grid-template-columns:auto;
1514
- grid-auto-columns:1fr;
1515
- gap:var(--t-spacing-fourth) 0;
1516
- -webkit-user-select:none;
1517
- -moz-user-select:none;
1518
- user-select:none;
1519
- }
1594
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled):is(:focus,:hover){
1595
+ background:transparent;
1596
+ }
1520
1597
 
1521
- .tds-toggle-switch input[type="checkbox"]{
1522
- position:absolute;
1523
- width:var(--tds-toggle-switch-track-width);
1524
- height:var(--tds-toggle-switch-track-height);
1525
- margin:0;
1526
- -webkit-appearance:none;
1527
- -moz-appearance:none;
1528
- appearance:none;
1529
- cursor:var(--tds-toggle-switch-cursor);
1530
- outline:var(--tds-toggle-switch-track-outline);
1531
- outline-offset:var(--t-focus-ring-offset);
1532
- background-color:transparent;
1533
- border:0;
1534
- border-radius:var(--t-border-radius-round);
1598
+ .tds-select :is(li[role="presentation"],legend){
1599
+ position:sticky;
1600
+ inset-block-start:calc(var(--tds-select-dropdown-padding) * -1);
1601
+ z-index:1;
1602
+ float:inline-start;
1603
+ inline-size:100%;
1604
+ padding-block:var(--tds-select-group-label-padding-block);
1605
+ padding-inline:var(--tds-select-group-label-padding-inline);
1606
+ container-type:scroll-state;
1607
+ font-size:var(--tds-select-group-label-font-size);
1608
+ font-weight:var(--tds-select-group-label-font-weight);
1609
+ letter-spacing:var(--tds-select-group-label-letter-spacing);
1610
+ background:var(--tds-select-group-label-background);
1611
+ text-box:trim-both cap alphabetic;
1535
1612
  }
1536
1613
 
1537
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1538
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1614
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
1615
+ display:inline-flex;
1616
+ gap:var(--t-spacing-half);
1617
+ align-items:center;
1618
+ color:var(--tds-select-group-label-color);
1619
+ transition:var(--tds-select-group-label-transition);
1539
1620
  }
1540
1621
 
1541
- .tds-toggle-switch label{
1542
- display:inline-flex;
1543
- grid-area:1 / 2;
1544
- padding-inline-start:var(--t-spacing-1);
1545
- margin-top:-.09375em;
1546
- font-size:var(--tds-toggle-switch-font-size);
1547
- font-weight:var(--t-font-weight-normal);
1548
- line-height:var(--tds-toggle-switch-line-height);
1549
- color:var(--tds-toggle-switch-label-color);
1550
- cursor:var(--tds-toggle-switch-cursor);
1551
- }
1552
-
1553
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1554
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1555
- }
1556
-
1557
- .tds-toggle-switch:has(input:checked){
1558
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1559
- --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1560
- }
1622
+ @container scroll-state(stuck){
1561
1623
 
1562
- .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1563
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1624
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
1625
+ color:var(--tds-select-group-label-color-stuck);
1564
1626
  }
1565
1627
 
1566
- .tds-toggle-switch:has(input:disabled){
1567
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1568
- --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1569
- --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1570
- --tds-toggle-switch-cursor:not-allowed;
1571
- }
1628
+ @media (forced-colors: active){
1572
1629
 
1573
- .tds-toggle-switch-track{
1574
- position:relative;
1575
- flex-shrink:0;
1576
- width:var(--tds-toggle-switch-track-width);
1577
- height:var(--tds-toggle-switch-track-height);
1578
- background-color:var(--tds-toggle-switch-track-background-color);
1579
- border-radius:var(--t-border-radius-round);
1580
- transition:var(--tds-toggle-switch-track-transition);
1581
- }
1630
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
1631
+ color:var(--tds-select-group-label-color-stuck);
1632
+ }
1633
+ }
1634
+ }
1582
1635
 
1583
- .tds-toggle-switch-track::before{
1584
- position:absolute;
1585
- top:var(--t-spacing-fourth);
1586
- left:var(--t-spacing-fourth);
1587
- width:var(--tds-toggle-switch-thumb-size);
1588
- height:var(--tds-toggle-switch-thumb-size);
1589
- content:"";
1590
- background-color:#fff;
1591
- border-radius:var(--t-border-radius-round);
1592
- transform:var(--tds-toggle-switch-thumb-transform);
1593
- transition:var(--tds-toggle-switch-thumb-transition);
1636
+ .tds-select.tds-select--lg{
1637
+ --tds-select-min-height:var(--t-container-size-lg);
1638
+ --tds-select-font-size:var(--t-font-size-lg);
1594
1639
  }
1595
1640
 
1596
1641
  @media (prefers-reduced-motion: reduce){
1597
1642
 
1598
- .tds-toggle-switch-track{
1599
- --tds-toggle-switch-track-transition:none;
1600
- --tds-toggle-switch-thumb-transition:none;
1643
+ .tds-select{
1644
+ --tds-select-transition-property:none;
1645
+ --tds-select-dropdown-transition:none;
1646
+ --tds-select-dropdown-scroll-behavior:auto;
1647
+ --tds-select-dropdown-closed-translate:none;
1648
+ --tds-select-dropdown-open-translate:none;
1649
+ --tds-select-caret-transition:none;
1601
1650
  }
1602
1651
  }
1603
1652
 
1604
- .tds-toggle-switch-description{
1653
+ .tds-select-description{
1605
1654
  display:flex;
1606
- grid-area:2 / 2;
1655
+ gap:var(--t-spacing-half);
1607
1656
  align-items:flex-start;
1608
- padding-inline-start:var(--t-spacing-1);
1609
1657
  margin:0;
1610
- font-size:var(--tds-toggle-switch-description-font-size);
1611
- line-height:var(--tds-toggle-switch-description-line-height);
1612
- color:var(--tds-toggle-switch-description-color);
1658
+ font-size:var(--t-font-size-sm);
1659
+ line-height:1.35;
1660
+ color:var(--tds-select-description-color, var(--t-text-color-secondary));
1613
1661
  cursor:text;
1614
1662
  }
1615
1663
 
1616
- .tds-toggle-switch--sm{
1617
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
1618
- --tds-toggle-switch-line-height:1.35;
1619
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
1620
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1621
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1622
- --tds-toggle-switch-description-line-height:1.3;
1664
+ .tds-select-description .tds-select-description-invalid-icon{
1665
+ display:var(--tds-select-description-invalid-icon-display, none);
1666
+ flex-shrink:0;
1667
+ margin-block-start:calc(.5lh - .5em);
1668
+ line-height:1.35;
1669
+ }
1670
+
1671
+ .tds-select > .tds-select-hidden-select{
1672
+ position:absolute;
1673
+ inline-size:1px;
1674
+ block-size:1px;
1675
+ padding:0;
1676
+ margin:0;
1677
+ pointer-events:none;
1678
+ opacity:0;
1623
1679
  }
1624
1680
 
1625
- .tds-toggle-switch--hide-label{
1626
- --tds-toggle-switch-display:inline-flex;
1681
+ .tds-select:has(> button){
1682
+ anchor-scope:--tds-select-anchor;
1627
1683
  }
1628
1684
 
1629
- .tds-input{
1630
- --tds-input-border-color:var(--t-form-border-color);
1631
- --tds-input-border-color-hover:var(--t-form-border-color-hover);
1632
- --tds-input-background-color:var(--t-form-background-color);
1633
- --tds-input-color:var(--t-form-color);
1634
- --tds-input-font-size:var(--t-font-size-md);
1635
- --tds-input-description-color:var(--t-text-color-secondary);
1636
- --tds-input-description-invalid-icon-display:none;
1637
- --tds-input-min-height:var(--t-container-size-md);
1638
- --tds-input-padding-inline:var(--t-spacing-1);
1639
-
1640
- --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
1685
+ .tds-select:has( > button) > button{
1686
+ display:block;
1687
+ padding-inline-end:calc(var(--tds-select-caret-size) + var(--tds-select-caret-inline-offset) + .75ch);
1688
+ anchor-name:--tds-select-anchor;
1689
+ overflow:hidden;
1690
+ text-overflow:ellipsis;
1691
+ color:var(--tds-select-placeholder-color);
1692
+ white-space:nowrap;
1693
+ background-image:none;
1694
+ transition:background-color var(--t-duration-300) var(--t-ease-in-out), border-color var(--t-duration-300) var(--t-ease-in-out), outline-color var(--t-duration-300) var(--t-ease-in-out), outline-offset var(--t-duration-300) var(--t-ease-in-out), transform var(--t-duration-100) var(--t-ease-in-out);
1695
+ -webkit-tap-highlight-color:transparent;
1696
+ }
1641
1697
 
1642
- display:flex;
1643
- flex-direction:column;
1644
- gap:var(--t-spacing-half);
1645
- }
1698
+ :is(.tds-select:has( > button) > button)::after{
1699
+ position:absolute;
1700
+ inset-block:0;
1701
+ inset-inline-end:var(--tds-select-caret-inline-offset);
1702
+ width:var(--tds-select-caret-size);
1703
+ height:var(--tds-select-caret-size);
1704
+ margin-block:auto;
1705
+ line-height:1;
1706
+ pointer-events:none;
1707
+ content:var(--tds-select-background-image);
1708
+ transform:rotate(0);
1709
+ transition:var(--tds-select-caret-transition);
1710
+ }
1646
1711
 
1647
- .tds-input label{
1648
- font-size:var(--t-font-size-md);
1649
- font-weight:var(--t-font-weight-normal);
1650
- color:var(--t-text-color);
1712
+ .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
1713
+ color:var(--tds-select-color);
1651
1714
  }
1652
1715
 
1653
- .tds-input :is(input,textarea){
1654
- inline-size:100%;
1655
- block-size:auto;
1656
- min-block-size:var(--tds-input-min-height);
1657
- padding-block:var(--tds-input-padding-block);
1658
- padding-inline:var(--tds-input-padding-inline);
1659
- font-family:inherit;
1660
- font-size:var(--tds-input-font-size);
1661
- color:var(--tds-input-color);
1662
- -webkit-appearance:none;
1663
- -moz-appearance:none;
1664
- appearance:none;
1665
- outline:var(--t-focus-ring-width) solid transparent;
1666
- outline-offset:0;
1667
- background-color:var(--tds-input-background-color);
1668
- border:var(--t-form-border-width) solid var(--tds-input-border-color);
1669
- border-radius:var(--t-form-border-radius);
1670
- transition-timing-function:var(--t-ease-in-out);
1671
- transition-duration:var(--t-duration-200);
1672
- transition-property:var(--tds-input-transition-property);
1716
+ .tds-select:has( > button) [popover]{
1717
+ inset:auto;
1718
+ inline-size:-moz-max-content;
1719
+ inline-size:max-content;
1720
+ min-inline-size:anchor-size(width);
1721
+ max-inline-size:100vi;
1722
+ max-block-size:min(50vh, 20rem);
1723
+ padding:var(--tds-select-dropdown-padding);
1724
+ margin-block:var(--tds-select-dropdown-margin-block);
1725
+ position-area:block-end span-inline-start;
1726
+ position-anchor:--tds-select-anchor;
1727
+ position-try-fallbacks:flip-block, flip-inline;
1728
+ overflow:auto;
1729
+ overflow-x:hidden;
1730
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
1731
+ overscroll-behavior:none;
1732
+ -webkit-user-select:none;
1733
+ -moz-user-select:none;
1734
+ user-select:none;
1735
+ scroll-padding-top:calc(var(--tds-select-group-label-padding-block-start) + var(--tds-select-group-label-font-size) + var(--t-spacing-2));
1736
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
1737
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
1738
+ background:var(--tds-select-dropdown-background-color);
1739
+ border:var(--tds-select-dropdown-border);
1740
+ border-radius:var(--tds-select-dropdown-border-radius);
1741
+ box-shadow:var(--tds-select-dropdown-box-shadow);
1742
+ opacity:var(--tds-select-dropdown-open-opacity);
1743
+ translate:var(--tds-select-dropdown-open-translate);
1744
+ transition:var(--tds-select-dropdown-transition);
1673
1745
  }
1674
1746
 
1675
- :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible,[readonly]){
1676
- border-color:var(--tds-input-border-color-hover);
1747
+ :is(.tds-select:has( > button) [popover]):not(:popover-open){
1748
+ opacity:var(--tds-select-dropdown-closed-opacity);
1749
+ translate:var(--tds-select-dropdown-closed-translate);
1677
1750
  }
1678
1751
 
1679
- :is(.tds-input :is(input,textarea)):focus{
1680
- outline-color:transparent;
1752
+ :is(.tds-select:has( > button) [popover]) ul{
1753
+ padding:0;
1754
+ margin:0;
1755
+ list-style:none;
1681
1756
  }
1682
1757
 
1683
- :is(.tds-input :is(input,textarea)):focus-visible{
1684
- outline-color:var(--t-focus-ring-color);
1685
- outline-offset:var(--t-focus-ring-offset);
1686
- border-color:var(--t-form-border-color-focus);
1758
+ @starting-style{
1759
+ :is(.tds-select:has( > button) [popover]):popover-open{
1760
+ opacity:var(--tds-select-dropdown-closed-opacity);
1761
+ translate:var(--tds-select-dropdown-closed-translate);
1762
+ }
1687
1763
  }
1688
1764
 
1689
- :is(.tds-input :is(input,textarea))::-moz-placeholder{
1690
- color:var(--t-form-placeholder-color);
1691
- -moz-user-select:none;
1692
- user-select:none;
1765
+ @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)){
1766
+ .tds-select select:has(> button){
1767
+ padding-inline-end:0;
1768
+ background-image:none;
1769
+ }
1770
+ @media (hover) and (pointer: fine){
1771
+ :is(.tds-select select:has( > button)),:is(.tds-select select:has( > button))::picker(select){
1772
+ padding-block:0;
1773
+ -webkit-appearance:base-select;
1774
+ -moz-appearance:base-select;
1775
+ appearance:base-select;
1776
+ }
1693
1777
  }
1694
-
1695
- :is(.tds-input :is(input,textarea))::placeholder{
1696
- color:var(--t-form-placeholder-color);
1697
- -webkit-user-select:none;
1698
- -moz-user-select:none;
1699
- user-select:none;
1778
+ :is(.tds-select select:has( > button))::picker-icon{
1779
+ flex-shrink:0;
1780
+ width:var(--tds-select-caret-size);
1781
+ height:var(--tds-select-caret-size);
1782
+ margin-inline-end:var(--tds-select-caret-inline-offset);
1783
+ line-height:1;
1784
+ content:var(--tds-select-background-image);
1785
+ transition:var(--tds-select-caret-transition);
1700
1786
  }
1701
1787
 
1702
- @media (prefers-reduced-motion: reduce){
1788
+ :is(.tds-select select:has( > button))::picker(select):not(:popover-open){
1789
+ opacity:var(--tds-select-dropdown-closed-opacity);
1790
+ translate:var(--tds-select-dropdown-closed-translate);
1791
+ }
1703
1792
 
1704
- .tds-input :is(input,textarea){
1705
- --tds-input-transition-property:none;
1706
- }
1793
+ :is(.tds-select select:has( > button)):open,:is(.tds-select select:has( > button)):focus-within{
1794
+ outline-color:var(--t-focus-ring-color);
1795
+ outline-offset:var(--t-focus-ring-offset);
1796
+ border-color:var(--tds-select-border-color-active);
1707
1797
  }
1708
1798
 
1709
- .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
1710
- --tds-input-background-color:var(--t-form-background-color-error);
1711
- --tds-input-border-color:var(--t-form-border-color-error);
1712
- --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
1713
- --tds-input-description-color:var(--t-text-color-status-error);
1714
- --tds-input-description-invalid-icon-display:inline-block;
1715
- }
1799
+ :is(.tds-select select:has( > button)):open::picker-icon{
1800
+ opacity:1;
1801
+ transform:rotate(.5turn);
1802
+ }
1716
1803
 
1717
- .tds-input:has(:is(input,textarea):required) label::after{
1718
- margin-left:.25ch;
1719
- color:var(--t-text-color-status-error);
1720
- content:"*";
1804
+ :is(.tds-select select:has( > button)) selectedcontent{
1805
+ overflow:hidden;
1806
+ text-overflow:ellipsis;
1807
+ line-height:calc(var(--tds-select-min-height) - 2px);
1808
+ white-space:nowrap;
1721
1809
  }
1722
1810
 
1723
- .tds-input:where(:has(:is(input,textarea):disabled)){
1724
- --tds-input-border-color:var(--t-form-border-color-disabled);
1725
- --tds-input-background-color:var(--t-form-background-color-disabled);
1726
- --tds-input-color:var(--t-form-color-disabled);
1727
- }
1811
+ :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
1812
+ color:var(--tds-select-placeholder-color);
1813
+ }
1728
1814
 
1729
- .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
1730
- cursor:not-allowed;
1815
+ :is(.tds-select select:has( > button))::picker(select){
1816
+ inset:auto;
1817
+ inline-size:-moz-max-content;
1818
+ inline-size:max-content;
1819
+ min-inline-size:anchor-size(width);
1820
+ max-inline-size:100vi;
1821
+ padding:var(--tds-select-dropdown-padding);
1822
+ margin-block:var(--tds-select-dropdown-margin-block);
1823
+ position-area:block-end span-inline-start;
1824
+ position-try-fallbacks:flip-block, flip-inline;
1825
+ overflow:auto;
1826
+ overflow-x:hidden;
1827
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
1828
+ overscroll-behavior:none;
1829
+ -webkit-user-select:none;
1830
+ -moz-user-select:none;
1831
+ user-select:none;
1832
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
1833
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
1834
+ background:var(--tds-select-dropdown-background-color);
1835
+ border:var(--tds-select-dropdown-border);
1836
+ border-radius:var(--tds-select-dropdown-border-radius);
1837
+ box-shadow:var(--tds-select-dropdown-box-shadow);
1838
+ opacity:var(--tds-select-dropdown-open-opacity);
1839
+ translate:var(--tds-select-dropdown-open-translate);
1840
+ transition:var(--tds-select-dropdown-transition);
1731
1841
  }
1732
1842
 
1733
- .tds-input:where(:has(:is(input,textarea)[readonly])){
1734
- --tds-input-border-color:var(--t-form-border-color-readonly);
1735
- --tds-input-background-color:var(--t-form-background-color-readonly);
1736
- }
1843
+ :is(.tds-select select:has( > button)) option::checkmark{
1844
+ display:none;
1845
+ }
1737
1846
 
1738
- .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
1739
- border-color:var(--tds-input-border-color-hover);
1847
+ @starting-style{
1848
+ :is(.tds-select select:has( > button))::picker(select):popover-open{
1849
+ opacity:var(--tds-select-dropdown-closed-opacity);
1850
+ translate:var(--tds-select-dropdown-closed-translate);
1851
+ }
1740
1852
  }
1853
+ }
1741
1854
 
1742
- .tds-input.tds-input--lg{
1743
- --tds-input-min-height:var(--t-container-size-lg);
1744
- --tds-input-font-size:var(--t-font-size-lg);
1745
- }
1855
+ .tds-radio-group{
1856
+ --tds-radio-group-font-size:var(--t-font-size-md);
1857
+ --tds-radio-group-line-height:1.4;
1858
+ --tds-radio-group-gap:var(--t-spacing-1);
1746
1859
 
1747
- .tds-input-description{
1860
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
1861
+ --tds-radio-group-description-line-height:1.35;
1862
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
1863
+ --tds-radio-group-description-invalid-icon-display:none;
1748
1864
  display:flex;
1749
- gap:var(--t-spacing-half);
1750
- align-items:flex-start;
1865
+ flex-direction:column;
1866
+ gap:0;
1867
+ padding:0;
1751
1868
  margin:0;
1752
- font-size:var(--t-font-size-sm);
1753
- line-height:1.35;
1754
- color:var(--tds-input-description-color, var(--t-text-color-secondary));
1755
- cursor:text;
1756
- }
1869
+
1870
+ font-size:var(--tds-radio-group-font-size);
1871
+ line-height:var(--tds-radio-group-line-height);
1872
+ border:0;
1873
+ }
1874
+
1875
+ .tds-radio-group legend{
1876
+ float:left;
1877
+ padding:0;
1878
+ margin:0;
1879
+ }
1880
+
1881
+ .tds-radio-group[aria-invalid="true"]{
1882
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
1883
+ --tds-radio-group-description-invalid-icon-display:inline-block;
1884
+ }
1885
+
1886
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
1887
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1888
+ }
1889
+
1890
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1891
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1892
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1893
+ }
1894
+
1895
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1896
+ --tds-radio-input-background-color:var(--t-form-background-color);
1897
+ }
1898
+
1899
+ .tds-radio-group:has(input:required) legend::after{
1900
+ margin-left:.25ch;
1901
+ color:var(--t-text-color-status-error);
1902
+ content:"*";
1903
+ }
1904
+
1905
+ .tds-radio-group-fields{
1906
+ display:flex;
1907
+ flex-direction:column;
1908
+ gap:var(--tds-radio-group-gap);
1909
+ align-items:flex-start;
1910
+ margin-top:var(--t-spacing-1);
1911
+ }
1912
+
1913
+ .tds-radio-group-description{
1914
+ display:flex;
1915
+ gap:var(--t-spacing-half);
1916
+ align-items:flex-start;
1917
+ margin:var(--t-spacing-fourth) 0 0;
1918
+ font-size:var(--tds-radio-group-description-font-size);
1919
+ line-height:var(--tds-radio-group-description-line-height);
1920
+ color:var(--tds-radio-group-description-color);
1921
+ cursor:text;
1922
+ }
1923
+
1924
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1925
+ display:var(--tds-radio-group-description-invalid-icon-display);
1926
+ flex-shrink:0;
1927
+ margin-top:calc(.5lh - .5em);
1928
+ line-height:var(--tds-radio-group-description-line-height);
1929
+ }
1930
+
1931
+ .tds-radio-group--sm{
1932
+ --tds-radio-group-line-height:1.35;
1933
+ --tds-radio-group-font-size:var(--t-font-size-sm);
1934
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
1935
+ --tds-radio-group-description-line-height:1.3;
1936
+ }
1937
+
1938
+ .tds-input{
1939
+ --tds-input-border-color:var(--t-form-border-color);
1940
+ --tds-input-border-color-hover:var(--t-form-border-color-hover);
1941
+ --tds-input-background-color:var(--t-form-background-color);
1942
+ --tds-input-color:var(--t-form-color);
1943
+ --tds-input-font-size:var(--t-font-size-md);
1944
+ --tds-input-description-color:var(--t-text-color-secondary);
1945
+ --tds-input-description-invalid-icon-display:none;
1946
+ --tds-input-min-height:var(--t-container-size-md);
1947
+ --tds-input-padding-inline:var(--t-spacing-1);
1948
+
1949
+ --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
1950
+
1951
+ display:flex;
1952
+ flex-direction:column;
1953
+ gap:var(--t-spacing-half);
1954
+ }
1955
+
1956
+ .tds-input label{
1957
+ font-size:var(--t-font-size-md);
1958
+ font-weight:var(--t-font-weight-normal);
1959
+ color:var(--t-text-color);
1960
+ }
1961
+
1962
+ .tds-input :is(input,textarea){
1963
+ inline-size:100%;
1964
+ block-size:auto;
1965
+ min-block-size:var(--tds-input-min-height);
1966
+ padding-block:var(--tds-input-padding-block);
1967
+ padding-inline:var(--tds-input-padding-inline);
1968
+ font-family:inherit;
1969
+ font-size:var(--tds-input-font-size);
1970
+ color:var(--tds-input-color);
1971
+ -webkit-appearance:none;
1972
+ -moz-appearance:none;
1973
+ appearance:none;
1974
+ outline:var(--t-focus-ring-width) solid transparent;
1975
+ outline-offset:0;
1976
+ background-color:var(--tds-input-background-color);
1977
+ border:var(--t-form-border-width) solid var(--tds-input-border-color);
1978
+ border-radius:var(--t-form-border-radius);
1979
+ transition-timing-function:var(--t-ease-in-out);
1980
+ transition-duration:var(--t-duration-200);
1981
+ transition-property:var(--tds-input-transition-property);
1982
+ }
1983
+
1984
+ :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible,[readonly]){
1985
+ border-color:var(--tds-input-border-color-hover);
1986
+ }
1987
+
1988
+ :is(.tds-input :is(input,textarea)):focus{
1989
+ outline-color:transparent;
1990
+ }
1991
+
1992
+ :is(.tds-input :is(input,textarea)):focus-visible{
1993
+ outline-color:var(--t-focus-ring-color);
1994
+ outline-offset:var(--t-focus-ring-offset);
1995
+ border-color:var(--t-form-border-color-focus);
1996
+ }
1997
+
1998
+ :is(.tds-input :is(input,textarea))::-moz-placeholder{
1999
+ color:var(--t-form-placeholder-color);
2000
+ -moz-user-select:none;
2001
+ user-select:none;
2002
+ }
2003
+
2004
+ :is(.tds-input :is(input,textarea))::placeholder{
2005
+ color:var(--t-form-placeholder-color);
2006
+ -webkit-user-select:none;
2007
+ -moz-user-select:none;
2008
+ user-select:none;
2009
+ }
2010
+
2011
+ @media (prefers-reduced-motion: reduce){
2012
+
2013
+ .tds-input :is(input,textarea){
2014
+ --tds-input-transition-property:none;
2015
+ }
2016
+ }
2017
+
2018
+ .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
2019
+ --tds-input-background-color:var(--t-form-background-color-error);
2020
+ --tds-input-border-color:var(--t-form-border-color-error);
2021
+ --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
2022
+ --tds-input-description-color:var(--t-text-color-status-error);
2023
+ --tds-input-description-invalid-icon-display:inline-block;
2024
+ }
2025
+
2026
+ .tds-input:has(:is(input,textarea):required) label::after{
2027
+ margin-left:.25ch;
2028
+ color:var(--t-text-color-status-error);
2029
+ content:"*";
2030
+ }
2031
+
2032
+ .tds-input:where(:has(:is(input,textarea):disabled)){
2033
+ --tds-input-border-color:var(--t-form-border-color-disabled);
2034
+ --tds-input-background-color:var(--t-form-background-color-disabled);
2035
+ --tds-input-color:var(--t-form-color-disabled);
2036
+ }
2037
+
2038
+ .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
2039
+ cursor:not-allowed;
2040
+ }
2041
+
2042
+ .tds-input:where(:has(:is(input,textarea)[readonly])){
2043
+ --tds-input-border-color:var(--t-form-border-color-readonly);
2044
+ --tds-input-background-color:var(--t-form-background-color-readonly);
2045
+ }
2046
+
2047
+ .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
2048
+ border-color:var(--tds-input-border-color-hover);
2049
+ }
2050
+
2051
+ .tds-input.tds-input--lg{
2052
+ --tds-input-min-height:var(--t-container-size-lg);
2053
+ --tds-input-font-size:var(--t-font-size-lg);
2054
+ }
2055
+
2056
+ .tds-input-description{
2057
+ display:flex;
2058
+ gap:var(--t-spacing-half);
2059
+ align-items:flex-start;
2060
+ margin:0;
2061
+ font-size:var(--t-font-size-sm);
2062
+ line-height:1.35;
2063
+ color:var(--tds-input-description-color, var(--t-text-color-secondary));
2064
+ cursor:text;
2065
+ }
1757
2066
 
1758
2067
  .tds-input-description .tds-input-description-invalid-icon{
1759
2068
  display:var(--tds-input-description-invalid-icon-display, none);
@@ -1910,48 +2219,152 @@
1910
2219
  color:var(--tds-field-color);
1911
2220
  }
1912
2221
 
1913
- .tds-loading-spinner{
1914
- --tds-loading-spinner-size:1.25em;
1915
-
1916
- position:absolute;
1917
- right:0;
1918
- left:0;
1919
- visibility:var(--tds-loading-spinner-visibility, hidden);
1920
- width:var(--tds-loading-spinner-size);
1921
- height:var(--tds-loading-spinner-size);
1922
- margin:auto;
1923
- border:var(--tds-loading-spinner-track-width, 4px) solid var(--tds-loading-spinner-track-color, var(--t-fill-color-transparency-dark-020));
1924
- border-top-color:var(--tds-loading-spinner-color, currentcolor);
1925
- border-radius:50%;
1926
- animation:spinner-rotate 500ms infinite linear;
1927
- animation-play-state:var(--tds-loading-spinner-animation-play-state, paused);
1928
- }
1929
-
1930
- @keyframes spinner-rotate{
1931
- to{
1932
- transform:rotate(360deg);
1933
- }
1934
- }
2222
+ .tds-radio{
2223
+ --tds-radio-font-size:var(--t-font-size-md);
2224
+ --tds-radio-cursor:pointer;
2225
+ --tds-radio-line-height:1.4;
2226
+ --tds-radio-transition-property:border-width;
1935
2227
 
1936
- @media (prefers-reduced-motion: reduce){
1937
- [class*="--loading"] .tds-loading-spinner{
1938
- --tds-loading-spinner-animation-play-state:paused;
1939
- }
1940
- }
2228
+ --tds-radio-input-size:var(--t-element-size-md);
2229
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
2230
+ --tds-radio-input-border-color:var(--t-form-border-color);
2231
+ --tds-radio-input-border-width:var(--t-form-border-width);
2232
+ --tds-radio-input-background-color:var(--t-form-background-color);
1941
2233
 
2234
+ --tds-radio-label-color:var(--t-form-color);
1942
2235
 
1943
- @media (prefers-reduced-motion: no-preference){
2236
+ --tds-radio-description-font-size:var(--t-font-size-sm);
2237
+ --tds-radio-description-line-height:1.35;
2238
+ --tds-radio-description-color:var(--t-text-color-secondary);
1944
2239
 
1945
- :root{
1946
- interpolate-size:allow-keywords;
2240
+ position:relative;
2241
+ display:inline-grid;
2242
+ grid-template-columns:auto;
2243
+ grid-auto-columns:1fr;
2244
+ gap:var(--t-spacing-fourth) 0;
2245
+ line-height:var(--tds-radio-line-height);
2246
+ -webkit-user-select:none;
2247
+ -moz-user-select:none;
2248
+ user-select:none;
1947
2249
  }
1948
- }
1949
2250
 
1950
- @layer tds-component{
1951
- tds-sidenav,
1952
- .tds-sidenav{
1953
- --tds-sidenav-indent:12px;
1954
- --tds-sidenav-item-depth:0;
2251
+ .tds-radio label{
2252
+ grid-area:1 / 2;
2253
+ padding-inline-start:var(--t-spacing-1);
2254
+ font-size:var(--tds-radio-font-size);
2255
+ font-weight:var(--t-font-weight-normal);
2256
+ color:var(--tds-radio-label-color);
2257
+ cursor:var(--tds-radio-cursor);
2258
+ }
2259
+
2260
+ .tds-radio input[type="radio"]{
2261
+ position:relative;
2262
+ width:1em;
2263
+ height:1em;
2264
+ margin:calc((1lh - 1em) / 2) 0 0;
2265
+ font-size:var(--tds-radio-font-size);
2266
+ line-height:inherit;
2267
+ -webkit-appearance:none;
2268
+ -moz-appearance:none;
2269
+ appearance:none;
2270
+ cursor:var(--tds-radio-cursor);
2271
+ background-color:var(--tds-radio-input-background-color);
2272
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
2273
+ border-radius:var(--tds-radio-input-border-radius);
2274
+ transition-timing-function:var(--t-ease-in-out);
2275
+ transition-duration:var(--t-duration-200);
2276
+ transition-property:var(--tds-radio-transition-property);
2277
+ }
2278
+
2279
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
2280
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2281
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
2282
+ }
2283
+
2284
+ :is(.tds-radio input[type="radio"]):focus-visible{
2285
+ outline:var(--t-focus-ring-outline);
2286
+ outline-offset:var(--t-focus-ring-offset);
2287
+ }
2288
+
2289
+ :is(.tds-radio input[type="radio"]):disabled{
2290
+ pointer-events:none;
2291
+ }
2292
+
2293
+ @media (prefers-reduced-motion: reduce){
2294
+
2295
+ .tds-radio input[type="radio"]{
2296
+ --tds-radio-transition-property:none;
2297
+ }
2298
+ }
2299
+
2300
+ .tds-radio:has(input:checked){
2301
+ --tds-radio-input-background-color:var(--t-form-background-color);
2302
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
2303
+ --tds-radio-input-border-width:4px;
2304
+ }
2305
+
2306
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
2307
+ --tds-radio-input-background-color:var(--t-form-background-color);
2308
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2309
+ }
2310
+
2311
+ .tds-radio:has(input:user-invalid){
2312
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
2313
+ }
2314
+
2315
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
2316
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2317
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
2318
+ }
2319
+
2320
+ .tds-radio:has(input:disabled){
2321
+ --tds-radio-input-background-color:var(--t-form-background-color-disabled);
2322
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2323
+
2324
+ --tds-radio-label-color:var(--t-form-color-disabled);
2325
+ --tds-radio-description-color:var(--t-form-color-disabled);
2326
+ --tds-radio-cursor:not-allowed;
2327
+ }
2328
+
2329
+ .tds-radio:has(input:disabled) input:checked{
2330
+ --tds-radio-input-background-color:var(--t-form-background-color);
2331
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2332
+ }
2333
+
2334
+ .tds-radio-description{
2335
+ display:flex;
2336
+ grid-area:2 / 2;
2337
+ gap:var(--t-spacing-half);
2338
+ align-items:flex-start;
2339
+ padding-inline-start:var(--t-spacing-1);
2340
+ margin:0;
2341
+ font-size:var(--tds-radio-description-font-size);
2342
+ line-height:var(--tds-radio-description-line-height);
2343
+ color:var(--tds-radio-description-color);
2344
+ cursor:text;
2345
+ }
2346
+
2347
+ .tds-radio--sm{
2348
+ --tds-radio-line-height:1.35;
2349
+ --tds-radio-input-size:var(--t-element-size-sm);
2350
+ --tds-radio-font-size:var(--t-font-size-sm);
2351
+ --tds-radio-description-font-size:var(--t-font-size-xs);
2352
+ --tds-radio-description-line-height:1.3;
2353
+ }
2354
+
2355
+
2356
+ @media (prefers-reduced-motion: no-preference){
2357
+
2358
+ :root{
2359
+ interpolate-size:allow-keywords;
2360
+ }
2361
+ }
2362
+
2363
+ @layer tds-component{
2364
+ tds-sidenav,
2365
+ .tds-sidenav{
2366
+ --tds-sidenav-indent:12px;
2367
+ --tds-sidenav-item-depth:0;
1955
2368
 
1956
2369
  --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
1957
2370
 
@@ -2017,728 +2430,317 @@
2017
2430
 
2018
2431
  .tds-sidenav-section-header{
2019
2432
  display:flex;
2020
- align-items:baseline;
2021
- justify-content:space-between;
2022
- padding-top:var(--t-spacing-2);
2023
- }
2024
-
2025
- .tds-sidenav-section-header h2{
2026
- margin:0;
2027
- font-size:var(--t-font-size-sm);
2028
- font-weight:var(--t-font-weight-semibold);
2029
- line-height:1.35;
2030
- color:var(--t-text-color-secondary);
2031
- text-transform:uppercase;
2032
- }
2033
-
2034
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
2035
- padding-top:0;
2036
- }
2037
-
2038
- .tds-sidenav-section-header [slot="label-actions"]{
2039
- display:flex;
2040
- gap:var(--t-spacing-half);
2041
- align-items:center;
2042
- }
2043
-
2044
- .tds-sidenav-section [slot="section-actions"]{
2045
- display:flex;
2046
- gap:12px;
2047
- align-items:center;
2048
- min-height:42px;
2049
- padding:var(--t-spacing-1) 0;
2050
- }
2051
-
2052
- .tds-sidenav-section-list,
2053
- .tds-sidenav-item{
2054
- width:100%;
2055
- padding:0;
2056
- margin:0;
2057
- }
2058
-
2059
- .tds-sidenav-item :is(a,button){
2060
- position:relative;
2061
- display:flex;
2062
- gap:12px;
2063
- align-items:center;
2064
- width:100%;
2065
- padding:12px;
2066
- overflow:hidden;
2067
- font-size:var(--t-font-size-sm);
2068
- line-height:18px;
2069
- color:var(--t-text-color-headline);
2070
- white-space:nowrap;
2071
- text-decoration:none;
2072
- -webkit-appearance:none;
2073
- -moz-appearance:none;
2074
- appearance:none;
2075
- cursor:pointer;
2076
- background-color:var(--tds-sidenav-item-background, transparent);
2077
- border:0;
2078
- border-radius:var(--t-border-radius);
2079
- transition:var(--tds-sidenav-item-transition);
2080
- }
2081
-
2082
- :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
2083
- display:block;
2084
- flex:1;
2085
- overflow:hidden;
2086
- text-overflow:ellipsis;
2087
- text-align:left;
2088
- white-space:nowrap;
2089
- }
2090
-
2091
- :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
2092
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
2093
- color:var(--t-text-color-headline);
2094
- text-decoration:none;
2095
- }
2096
-
2097
- :is(.tds-sidenav-item :is(a,button)):active{
2098
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
2099
- }
2100
-
2101
- :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
2102
- overflow:hidden;
2103
- color:var(--tds-sidenav-item-icon-color);
2104
- }
2105
-
2106
- :is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])),:is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])) svg{
2107
- display:block;
2108
- width:var(--tds-sidenav-item-icon-size);
2109
- height:var(--tds-sidenav-item-icon-size);
2110
- }
2111
-
2112
- :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
2113
- --tds-sidenav-indent:19px;
2114
- }
2115
-
2116
- [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
2117
- visibility:visible;
2118
- block-size:auto;
2119
- opacity:1;
2120
- }
2121
-
2122
- .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
2123
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
2124
- --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
2125
-
2126
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
2127
- font-weight:var(--t-font-weight-semibold);
2128
- }
2129
-
2130
- .tds-sidenav-item:has(.tds-sidenav-section){
2131
- display:flex;
2132
- flex-direction:column;
2133
- gap:var(--t-spacing-half);
2134
- }
2135
-
2136
- .tds-sidenav-item .tds-sidenav-section-list{
2137
- --tds-sidenav-item-depth:1;
2138
- gap:0;
2139
- }
2140
-
2141
- .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
2142
- visibility:hidden;
2143
- block-size:0;
2144
- overflow-y:clip;
2145
- opacity:0;
2146
- transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
2147
- }
2148
-
2149
- :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
2150
- --tds-sidenav-item-depth:2;
2151
- }
2152
-
2153
- :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2154
- min-height:var(--t-element-size-2xl);
2155
- padding-block:9px;
2156
- padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
2157
- line-height:1;
2158
- background-color:transparent;
2159
- }
2160
-
2161
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
2162
- position:absolute;
2163
- top:0;
2164
- bottom:0;
2165
- left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2166
- width:2px;
2167
- content:"";
2168
- background-color:var(--tds-sidenav-item-nested-border-color);
2169
- transition:var(--tds-sidenav-item-transition);
2170
- }
2171
-
2172
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
2173
- position:absolute;
2174
- inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2175
- z-index:-1;
2176
- height:100%;
2177
- content:"";
2178
- background-color:var(--tds-sidenav-item-nested-background);
2179
- border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
2180
- transition:var(--tds-sidenav-item-transition);
2181
- }
2182
-
2183
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):not(:has(.prefix,.suffix)),:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)) :is(:not(.prefix,.suffix)){
2184
- display:block;
2185
- text-align:left;
2186
- white-space:normal;
2187
- }
2188
-
2189
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):hover,:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):focus-visible{
2190
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
2191
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
2192
- }
2193
-
2194
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
2195
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
2196
- }
2197
-
2198
- .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2199
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
2200
- font-weight:var(--t-font-weight-medium);
2201
- }
2202
-
2203
- .tds-sidenav-responsive-header{
2204
- display:flex;
2205
- gap:var(--t-spacing-2);
2206
- align-items:center;
2207
- width:100%;
2208
- }
2209
-
2210
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
2211
- order:0;
2212
- }
2213
-
2214
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
2215
- flex:1;
2216
- order:1;
2217
- margin:0;
2218
- font-size:var(--t-font-size-lg);
2219
- font-weight:var(--t-font-weight-medium);
2220
- color:var(--t-text-color-headline);
2221
- }
2222
-
2223
- @media (max-width: 719px){
2224
- .tds-sidenav-collapse{
2225
- z-index:10001;
2226
- display:none;
2227
- max-width:min(448px, calc(100vw - 48px));
2228
- padding:0;
2229
- margin:12px 0;
2230
- position-area:bottom span-right;
2231
- overflow:hidden;
2232
- outline:0;
2233
- background:var(--t-surface-color-card);
2234
- border:0;
2235
- border-radius:6px;
2236
- box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
2237
- opacity:var(--tds-sidenav-collapse-open-opacity);
2238
- transform:var(--tds-sidenav-collapse-open-transform);
2239
- transition:var(--tds-sidenav-collapse-transition-enter);
2240
- will-change:transform;
2241
- }
2242
-
2243
- .tds-sidenav-scroll-container{
2244
- --webkit-overflow-scrolling:touch;
2245
- display:block;
2246
- width:100%;
2247
- height:-moz-fit-content;
2248
- height:fit-content;
2249
- padding:var(--t-spacing-2);
2250
- overflow-y:auto;
2251
- }
2252
-
2253
- .tds-sidenav-item :is(a, button) :is(.prefix){
2254
- display:none;
2255
- }
2256
- @supports selector(:popover-open){
2257
- .tds-sidenav-collapse:popover-open{
2258
- display:flex;
2259
- }
2260
-
2261
- .tds-sidenav-collapse:not(:popover-open){
2262
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2263
- transition:var(--tds-sidenav-collapse-transition-exit);
2264
- }
2265
-
2266
- @starting-style{
2267
- .tds-sidenav-collapse:popover-open{
2268
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2269
- transform:var(--tds-sidenav-collapse-closed-transform);
2270
- }
2271
- }
2272
- }
2273
- @supports not selector(:popover-open){
2274
- .tds-sidenav-collapse.\:popover-open{
2275
- display:flex;
2276
- }
2277
-
2278
- .tds-sidenav-collapse:not(.\:popover-open){
2279
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2280
- transition:var(--tds-sidenav-collapse-transition-exit);
2281
- }
2282
- }
2283
- }
2284
-
2285
- @media (min-width: 720px){
2286
- .tds-sidenav-responsive-header{
2287
- display:none;
2288
- }
2289
- }
2290
-
2291
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
2292
- display:none;
2293
- }
2294
-
2295
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
2296
- display:block;
2297
- }
2298
-
2299
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2300
- display:flex;
2301
- flex-direction:column;
2302
- }
2303
-
2304
- .tds-select{
2305
- --tds-select-border-color:var(--t-form-border-color);
2306
- --tds-select-border-color-hover:var(--t-form-border-color-hover);
2307
- --tds-select-border-color-active:var(--t-form-border-color-hover);
2308
- --tds-select-background-color:var(--t-form-background-color);
2309
- --tds-select-color:var(--t-form-color);
2310
- --tds-select-placeholder-color:var(--t-form-placeholder-color);
2311
- --tds-select-font-size:var(--t-font-size-md);
2312
- --tds-select-min-height:var(--t-container-size-md);
2313
- --tds-select-padding-block:0;
2314
- --tds-select-description-color:var(--t-text-color-secondary);
2315
- --tds-select-description-invalid-icon-display:none;
2316
- --tds-select-transition-property:background-color, border-color, outline-color, outline-offset;
2317
- --tds-select-background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEzLDZsLTUsNWwtNSwtNXoiIGZpbGw9IiMzRDNEM0QiLz48L3N2Zz4=");
2318
- --tds-select-caret-size:1em;
2319
- --tds-select-caret-inline-offset:.75em;
2320
- --tds-select-caret-transition:transform var(--t-duration-300) var(--t-ease-in-out);
2321
-
2322
- --tds-select-dropdown-background-color:var(--t-surface-color-card);
2323
- --tds-select-dropdown-border:1px solid var(--t-border-color);
2324
- --tds-select-dropdown-padding:var(--t-spacing-1);
2325
- --tds-select-dropdown-margin-block:5px;
2326
- --tds-select-dropdown-scrollbar-color:#0004 #0000;
2327
- --tds-select-dropdown-scrollbar-width:thin;
2328
- --tds-select-dropdown-border-radius:var(--t-border-radius);
2329
- --tds-select-dropdown-box-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
2330
- --tds-select-dropdown-scroll-behavior:smooth;
2331
- --tds-select-dropdown-transition:opacity var(--t-duration-300) var(--t-ease-out), translate var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
2332
- --tds-select-dropdown-closed-opacity:0;
2333
- --tds-select-dropdown-open-opacity:1;
2334
- --tds-select-dropdown-closed-translate:0 -8px;
2335
- --tds-select-dropdown-open-translate:0 0;
2336
-
2337
- --tds-select-option-gap:var(--t-spacing-1);
2338
- --tds-select-option-padding-block:var(--t-spacing-1);
2339
- --tds-select-option-padding-inline:var(--t-spacing-2) var(--t-spacing-1);
2340
- --tds-select-option-font-size:1rem;
2341
- --tds-select-option-color:var(--t-text-color);
2342
- --tds-select-option-background-hover:var(--t-fill-color-neutral-070);
2343
- --tds-select-option-background-active:var(--t-fill-color-button-interaction-ghost-active);
2344
- --tds-select-option-border-radius:var(--t-border-radius);
2345
-
2346
- --tds-select-group-label-padding-block-start:var(--t-spacing-2);
2347
- --tds-select-group-label-padding-block:var(--tds-select-group-label-padding-block-start) var(--t-spacing-1);
2348
- --tds-select-group-label-padding-inline:var(--t-spacing-1);
2349
- --tds-select-group-label-font-size:var(--t-font-size-sm);
2350
- --tds-select-group-label-font-weight:var(--t-font-weight-semibold);
2351
- --tds-select-group-label-letter-spacing:0;
2352
- --tds-select-group-label-color:var(--t-text-color-secondary);
2353
- --tds-select-group-label-color-stuck:var(--t-text-color-headline);
2354
- --tds-select-group-label-background:var(--tds-select-dropdown-background-color);
2355
- --tds-select-group-label-transition:color var(--t-duration-200) var(--t-ease-in-out);
2356
-
2357
- position:relative;
2358
- display:flex;
2359
- flex-direction:column;
2360
- gap:var(--t-spacing-half);
2361
- }
2362
-
2363
- .tds-select :is(label,.tds-select-label){
2364
- font-size:var(--t-font-size-md);
2365
- font-weight:var(--t-font-weight-normal);
2366
- color:var(--t-text-color);
2367
- cursor:default;
2368
- }
2369
-
2370
- .tds-select :is(select,button){
2371
- position:relative;
2372
- place-items:center;
2373
- inline-size:100%;
2374
- min-block-size:var(--tds-select-min-height);
2375
- padding-block:var(--tds-select-padding-block);
2376
- padding-inline:var(--t-spacing-1);
2377
- padding-inline-end:calc(var(--t-spacing-1) + var(--tds-select-caret-size) + .5em);
2378
- font-family:inherit;
2379
- font-size:var(--tds-select-font-size);
2380
- line-height:1.15;
2381
- color:var(--tds-select-color);
2382
- text-align:left;
2383
- -webkit-appearance:none;
2384
- -moz-appearance:none;
2385
- appearance:none;
2386
- cursor:var(--tds-select-cursor, default);
2387
- outline:var(--t-focus-ring-width) solid transparent;
2388
- outline-offset:0;
2389
- background-color:var(--tds-select-background-color);
2390
- background-image:var(--tds-select-background-image);
2391
- background-repeat:no-repeat;
2392
- background-position:right var(--tds-select-caret-inline-offset) top 50%;
2393
- background-size:var(--tds-select-caret-size);
2394
- border:var(--t-form-border-width) solid var(--tds-select-border-color);
2395
- border-radius:var(--t-form-border-radius);
2396
- transition-timing-function:var(--t-ease-in-out);
2397
- transition-duration:var(--t-duration-300);
2398
- transition-property:var(--tds-select-transition-property);
2399
- }
2400
-
2401
- :is(.tds-select :is(select,button)):hover:not(:disabled,:focus,:focus-visible,:focus-within,:active,:open){
2402
- border-color:var(--tds-select-border-color-hover);
2403
- }
2404
-
2405
- :is(.tds-select :is(select,button)):focus{
2406
- outline-color:var(--t-focus-ring-color);
2407
- outline-offset:var(--t-focus-ring-offset);
2408
- border-color:var(--tds-select-border-color-active);
2409
- }
2410
-
2411
- :is(.tds-select :is(select,button)):required:invalid,:is(.tds-select :is(select,button)):has(option[hidden][disabled][value=""]:checked){
2412
- color:var(--tds-select-placeholder-color);
2413
- }
2433
+ align-items:baseline;
2434
+ justify-content:space-between;
2435
+ padding-top:var(--t-spacing-2);
2436
+ }
2414
2437
 
2415
- .tds-select:has(select:user-invalid,[aria-invalid="true"]),.tds-select.tds-select--invalid{
2416
- --tds-select-border-color:var(--t-form-border-color-error);
2417
- --tds-select-border-color-hover:var(--t-form-border-color-error-hover);
2418
- --tds-select-border-color-active:var(--t-form-border-color-error-hover);
2419
- --tds-select-background-color:var(--t-form-background-color-error);
2420
- --tds-select-description-color:var(--t-text-color-status-error);
2421
- --tds-select-description-invalid-icon-display:inline-block;
2438
+ .tds-sidenav-section-header h2{
2439
+ margin:0;
2440
+ font-size:var(--t-font-size-sm);
2441
+ font-weight:var(--t-font-weight-semibold);
2442
+ line-height:1.35;
2443
+ color:var(--t-text-color-secondary);
2444
+ text-transform:uppercase;
2422
2445
  }
2423
2446
 
2424
- .tds-select:has(select:required,[aria-required="true"]) :is(label,.tds-select-label)::after{
2425
- margin-left:.25ch;
2426
- color:var(--t-text-color-status-error);
2427
- content:"*";
2428
- }
2429
-
2430
- .tds-select:has(:is(select,button[role="combobox"]):is(:disabled,[aria-disabled="true"])){
2431
- --tds-select-border-color:var(--t-form-border-color-disabled);
2432
- --tds-select-background-color:var(--t-form-background-color-disabled);
2433
- --tds-select-color:var(--t-form-color-disabled);
2434
- --tds-select-cursor:not-allowed;
2447
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
2448
+ padding-top:0;
2435
2449
  }
2436
2450
 
2437
- .tds-select:has( > [popover]:popover-open) > button{
2438
- border-color:var(--tds-select-border-color-active);
2451
+ .tds-sidenav-section-header [slot="label-actions"]{
2452
+ display:flex;
2453
+ gap:var(--t-spacing-half);
2454
+ align-items:center;
2439
2455
  }
2440
2456
 
2441
- :is(.tds-select:has( > [popover]:popover-open) > button)::after{
2442
- transform:rotate(.5turn);
2443
- }
2457
+ .tds-sidenav-section [slot="section-actions"]{
2458
+ display:flex;
2459
+ gap:12px;
2460
+ align-items:center;
2461
+ min-height:42px;
2462
+ padding:var(--t-spacing-1) 0;
2463
+ }
2444
2464
 
2445
- .tds-select :is(hr,li[role="separator"]){
2446
- margin-block:var(--t-spacing-half);
2447
- color:var(--tds-select-border-color);
2448
- border:0;
2449
- border-top:1px solid;
2450
- }
2465
+ .tds-sidenav-section-list,
2466
+ .tds-sidenav-item{
2467
+ width:100%;
2468
+ padding:0;
2469
+ margin:0;
2470
+ }
2451
2471
 
2452
- .tds-select :is(li[role="option"],option:not([hidden])){
2453
- display:block;
2454
- padding-block:var(--tds-select-option-padding-block);
2455
- padding-inline:var(--tds-select-option-padding-inline);
2472
+ .tds-sidenav-item :is(a,button){
2473
+ position:relative;
2474
+ display:flex;
2475
+ gap:12px;
2476
+ align-items:center;
2477
+ width:100%;
2478
+ padding:12px;
2456
2479
  overflow:hidden;
2457
- text-overflow:ellipsis;
2458
- font-size:var(--tds-select-option-font-size);
2459
- line-height:1;
2460
- color:var(--tds-select-option-color);
2480
+ font-size:var(--t-font-size-sm);
2481
+ line-height:18px;
2482
+ color:var(--t-text-color-headline);
2461
2483
  white-space:nowrap;
2462
- cursor:default;
2463
- border-radius:var(--tds-select-option-border-radius);
2484
+ text-decoration:none;
2485
+ -webkit-appearance:none;
2486
+ -moz-appearance:none;
2487
+ appearance:none;
2488
+ cursor:pointer;
2489
+ background-color:var(--tds-sidenav-item-background, transparent);
2490
+ border:0;
2491
+ border-radius:var(--t-border-radius);
2492
+ transition:var(--tds-sidenav-item-transition);
2464
2493
  }
2465
2494
 
2466
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):focus-visible{
2467
- outline:0;
2495
+ :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
2496
+ display:block;
2497
+ flex:1;
2498
+ overflow:hidden;
2499
+ text-overflow:ellipsis;
2500
+ text-align:left;
2501
+ white-space:nowrap;
2468
2502
  }
2469
2503
 
2470
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is(:focus,:hover,.tds-select-option--active):not([disabled],[aria-disabled="true"]){
2471
- background:var(--tds-select-option-background-hover);
2504
+ :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
2505
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
2506
+ color:var(--t-text-color-headline);
2507
+ text-decoration:none;
2472
2508
  }
2473
2509
 
2474
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-selected="true"],:checked):not([disabled],[aria-disabled="true"]){
2475
- background:var(--tds-select-option-background-active);
2510
+ :is(.tds-sidenav-item :is(a,button)):active{
2511
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
2476
2512
  }
2477
2513
 
2478
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled){
2479
- color:var(--t-form-color-disabled);
2480
- cursor:not-allowed;
2514
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
2515
+ overflow:hidden;
2516
+ color:var(--tds-sidenav-item-icon-color);
2481
2517
  }
2482
2518
 
2483
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled):is(:focus,:hover){
2484
- background:transparent;
2519
+ :is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])),:is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])) svg{
2520
+ display:block;
2521
+ width:var(--tds-sidenav-item-icon-size);
2522
+ height:var(--tds-sidenav-item-icon-size);
2485
2523
  }
2486
2524
 
2487
- .tds-select :is(li[role="presentation"],legend){
2488
- position:sticky;
2489
- inset-block-start:calc(var(--tds-select-dropdown-padding) * -1);
2490
- z-index:1;
2491
- float:inline-start;
2492
- inline-size:100%;
2493
- padding-block:var(--tds-select-group-label-padding-block);
2494
- padding-inline:var(--tds-select-group-label-padding-inline);
2495
- container-type:scroll-state;
2496
- font-size:var(--tds-select-group-label-font-size);
2497
- font-weight:var(--tds-select-group-label-font-weight);
2498
- letter-spacing:var(--tds-select-group-label-letter-spacing);
2499
- background:var(--tds-select-group-label-background);
2500
- text-box:trim-both cap alphabetic;
2501
- }
2525
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
2526
+ --tds-sidenav-indent:19px;
2527
+ }
2502
2528
 
2503
- :is(.tds-select :is(li[role="presentation"],legend)) span{
2504
- display:inline-flex;
2505
- gap:var(--t-spacing-half);
2506
- align-items:center;
2507
- color:var(--tds-select-group-label-color);
2508
- transition:var(--tds-select-group-label-transition);
2529
+ [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
2530
+ visibility:visible;
2531
+ block-size:auto;
2532
+ opacity:1;
2509
2533
  }
2510
2534
 
2511
- @container scroll-state(stuck){
2535
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
2536
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
2537
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
2512
2538
 
2513
- :is(.tds-select :is(li[role="presentation"],legend)) span{
2514
- color:var(--tds-select-group-label-color-stuck);
2515
- }
2539
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
2540
+ font-weight:var(--t-font-weight-semibold);
2541
+ }
2516
2542
 
2517
- @media (forced-colors: active){
2543
+ .tds-sidenav-item:has(.tds-sidenav-section){
2544
+ display:flex;
2545
+ flex-direction:column;
2546
+ gap:var(--t-spacing-half);
2547
+ }
2518
2548
 
2519
- :is(.tds-select :is(li[role="presentation"],legend)) span{
2520
- color:var(--tds-select-group-label-color-stuck);
2549
+ .tds-sidenav-item .tds-sidenav-section-list{
2550
+ --tds-sidenav-item-depth:1;
2551
+ gap:0;
2552
+ }
2553
+
2554
+ .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
2555
+ visibility:hidden;
2556
+ block-size:0;
2557
+ overflow-y:clip;
2558
+ opacity:0;
2559
+ transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
2521
2560
  }
2522
- }
2523
- }
2524
2561
 
2525
- .tds-select.tds-select--lg{
2526
- --tds-select-min-height:var(--t-container-size-lg);
2527
- --tds-select-font-size:var(--t-font-size-lg);
2528
- }
2562
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
2563
+ --tds-sidenav-item-depth:2;
2564
+ }
2529
2565
 
2530
- @media (prefers-reduced-motion: reduce){
2566
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2567
+ min-height:var(--t-element-size-2xl);
2568
+ padding-block:9px;
2569
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
2570
+ line-height:1;
2571
+ background-color:transparent;
2572
+ }
2531
2573
 
2532
- .tds-select{
2533
- --tds-select-transition-property:none;
2534
- --tds-select-dropdown-transition:none;
2535
- --tds-select-dropdown-scroll-behavior:auto;
2536
- --tds-select-dropdown-closed-translate:none;
2537
- --tds-select-dropdown-open-translate:none;
2538
- --tds-select-caret-transition:none;
2539
- }
2540
- }
2574
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
2575
+ position:absolute;
2576
+ top:0;
2577
+ bottom:0;
2578
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2579
+ width:2px;
2580
+ content:"";
2581
+ background-color:var(--tds-sidenav-item-nested-border-color);
2582
+ transition:var(--tds-sidenav-item-transition);
2583
+ }
2541
2584
 
2542
- .tds-select-description{
2543
- display:flex;
2544
- gap:var(--t-spacing-half);
2545
- align-items:flex-start;
2546
- margin:0;
2547
- font-size:var(--t-font-size-sm);
2548
- line-height:1.35;
2549
- color:var(--tds-select-description-color, var(--t-text-color-secondary));
2550
- cursor:text;
2551
- }
2585
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
2586
+ position:absolute;
2587
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2588
+ z-index:-1;
2589
+ height:100%;
2590
+ content:"";
2591
+ background-color:var(--tds-sidenav-item-nested-background);
2592
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
2593
+ transition:var(--tds-sidenav-item-transition);
2594
+ }
2552
2595
 
2553
- .tds-select-description .tds-select-description-invalid-icon{
2554
- display:var(--tds-select-description-invalid-icon-display, none);
2555
- flex-shrink:0;
2556
- margin-block-start:calc(.5lh - .5em);
2557
- line-height:1.35;
2558
- }
2596
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):not(:has(.prefix,.suffix)),:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)) :is(:not(.prefix,.suffix)){
2597
+ display:block;
2598
+ text-align:left;
2599
+ white-space:normal;
2600
+ }
2559
2601
 
2560
- .tds-select > .tds-select-hidden-select{
2561
- position:absolute;
2562
- inline-size:1px;
2563
- block-size:1px;
2564
- padding:0;
2565
- margin:0;
2566
- pointer-events:none;
2567
- opacity:0;
2568
- }
2602
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):hover,:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):focus-visible{
2603
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
2604
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
2605
+ }
2606
+
2607
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
2608
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
2609
+ }
2569
2610
 
2570
- .tds-select:has(> button){
2571
- anchor-scope:--tds-select-anchor;
2611
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2612
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
2613
+ font-weight:var(--t-font-weight-medium);
2614
+ }
2615
+
2616
+ .tds-sidenav-responsive-header{
2617
+ display:flex;
2618
+ gap:var(--t-spacing-2);
2619
+ align-items:center;
2620
+ width:100%;
2572
2621
  }
2573
2622
 
2574
- .tds-select:has( > button) > button{
2575
- display:block;
2576
- padding-inline-end:calc(var(--tds-select-caret-size) + var(--tds-select-caret-inline-offset) + .75ch);
2577
- anchor-name:--tds-select-anchor;
2578
- overflow:hidden;
2579
- text-overflow:ellipsis;
2580
- color:var(--tds-select-placeholder-color);
2581
- white-space:nowrap;
2582
- background-image:none;
2583
- transition:background-color var(--t-duration-300) var(--t-ease-in-out), border-color var(--t-duration-300) var(--t-ease-in-out), outline-color var(--t-duration-300) var(--t-ease-in-out), outline-offset var(--t-duration-300) var(--t-ease-in-out), transform var(--t-duration-100) var(--t-ease-in-out);
2584
- -webkit-tap-highlight-color:transparent;
2623
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
2624
+ order:0;
2585
2625
  }
2586
2626
 
2587
- :is(.tds-select:has( > button) > button)::after{
2588
- position:absolute;
2589
- inset-block:0;
2590
- inset-inline-end:var(--tds-select-caret-inline-offset);
2591
- width:var(--tds-select-caret-size);
2592
- height:var(--tds-select-caret-size);
2593
- margin-block:auto;
2594
- line-height:1;
2595
- pointer-events:none;
2596
- content:var(--tds-select-background-image);
2597
- transform:rotate(0);
2598
- transition:var(--tds-select-caret-transition);
2599
- }
2627
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
2628
+ flex:1;
2629
+ order:1;
2630
+ margin:0;
2631
+ font-size:var(--t-font-size-lg);
2632
+ font-weight:var(--t-font-weight-medium);
2633
+ color:var(--t-text-color-headline);
2634
+ }
2600
2635
 
2601
- .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
2602
- color:var(--tds-select-color);
2636
+ @media (max-width: 719px){
2637
+ .tds-sidenav-collapse{
2638
+ z-index:10001;
2639
+ display:none;
2640
+ max-width:min(448px, calc(100vw - 48px));
2641
+ padding:0;
2642
+ margin:12px 0;
2643
+ position-area:bottom span-right;
2644
+ overflow:hidden;
2645
+ outline:0;
2646
+ background:var(--t-surface-color-card);
2647
+ border:0;
2648
+ border-radius:6px;
2649
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
2650
+ opacity:var(--tds-sidenav-collapse-open-opacity);
2651
+ transform:var(--tds-sidenav-collapse-open-transform);
2652
+ transition:var(--tds-sidenav-collapse-transition-enter);
2653
+ will-change:transform;
2603
2654
  }
2604
2655
 
2605
- .tds-select:has( > button) [popover]{
2606
- inset:auto;
2607
- inline-size:-moz-max-content;
2608
- inline-size:max-content;
2609
- min-inline-size:anchor-size(width);
2610
- max-inline-size:100vi;
2611
- max-block-size:min(50vh, 20rem);
2612
- padding:var(--tds-select-dropdown-padding);
2613
- margin-block:var(--tds-select-dropdown-margin-block);
2614
- position-area:block-end span-inline-start;
2615
- position-anchor:--tds-select-anchor;
2616
- position-try-fallbacks:flip-block, flip-inline;
2617
- overflow:auto;
2618
- overflow-x:hidden;
2619
- scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
2620
- overscroll-behavior:none;
2621
- -webkit-user-select:none;
2622
- -moz-user-select:none;
2623
- user-select:none;
2624
- scroll-padding-top:calc(var(--tds-select-group-label-padding-block-start) + var(--tds-select-group-label-font-size) + var(--t-spacing-2));
2625
- scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
2626
- scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
2627
- background:var(--tds-select-dropdown-background-color);
2628
- border:var(--tds-select-dropdown-border);
2629
- border-radius:var(--tds-select-dropdown-border-radius);
2630
- box-shadow:var(--tds-select-dropdown-box-shadow);
2631
- opacity:var(--tds-select-dropdown-open-opacity);
2632
- translate:var(--tds-select-dropdown-open-translate);
2633
- transition:var(--tds-select-dropdown-transition);
2656
+ .tds-sidenav-scroll-container{
2657
+ --webkit-overflow-scrolling:touch;
2658
+ display:block;
2659
+ width:100%;
2660
+ height:-moz-fit-content;
2661
+ height:fit-content;
2662
+ padding:var(--t-spacing-2);
2663
+ overflow-y:auto;
2634
2664
  }
2635
2665
 
2636
- :is(.tds-select:has( > button) [popover]):not(:popover-open){
2637
- opacity:var(--tds-select-dropdown-closed-opacity);
2638
- translate:var(--tds-select-dropdown-closed-translate);
2666
+ .tds-sidenav-item :is(a, button) :is(.prefix){
2667
+ display:none;
2668
+ }
2669
+ @supports selector(:popover-open){
2670
+ .tds-sidenav-collapse:popover-open{
2671
+ display:flex;
2639
2672
  }
2640
2673
 
2641
- :is(.tds-select:has( > button) [popover]) ul{
2642
- padding:0;
2643
- margin:0;
2644
- list-style:none;
2674
+ .tds-sidenav-collapse:not(:popover-open){
2675
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2676
+ transition:var(--tds-sidenav-collapse-transition-exit);
2645
2677
  }
2646
2678
 
2647
- @starting-style{
2648
- :is(.tds-select:has( > button) [popover]):popover-open{
2649
- opacity:var(--tds-select-dropdown-closed-opacity);
2650
- translate:var(--tds-select-dropdown-closed-translate);
2679
+ @starting-style{
2680
+ .tds-sidenav-collapse:popover-open{
2681
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2682
+ transform:var(--tds-sidenav-collapse-closed-transform);
2651
2683
  }
2652
2684
  }
2653
-
2654
- @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)){
2655
- .tds-select select:has(> button){
2656
- padding-inline-end:0;
2657
- background-image:none;
2658
2685
  }
2659
- @media (hover) and (pointer: fine){
2660
- :is(.tds-select select:has( > button)),:is(.tds-select select:has( > button))::picker(select){
2661
- padding-block:0;
2662
- -webkit-appearance:base-select;
2663
- -moz-appearance:base-select;
2664
- appearance:base-select;
2665
- }
2666
- }
2667
- :is(.tds-select select:has( > button))::picker-icon{
2668
- flex-shrink:0;
2669
- width:var(--tds-select-caret-size);
2670
- height:var(--tds-select-caret-size);
2671
- margin-inline-end:var(--tds-select-caret-inline-offset);
2672
- line-height:1;
2673
- content:var(--tds-select-background-image);
2674
- transition:var(--tds-select-caret-transition);
2686
+ @supports not selector(:popover-open){
2687
+ .tds-sidenav-collapse.\:popover-open{
2688
+ display:flex;
2675
2689
  }
2676
2690
 
2677
- :is(.tds-select select:has( > button))::picker(select):not(:popover-open){
2678
- opacity:var(--tds-select-dropdown-closed-opacity);
2679
- translate:var(--tds-select-dropdown-closed-translate);
2691
+ .tds-sidenav-collapse:not(.\:popover-open){
2692
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2693
+ transition:var(--tds-sidenav-collapse-transition-exit);
2680
2694
  }
2695
+ }
2696
+ }
2681
2697
 
2682
- :is(.tds-select select:has( > button)):open,:is(.tds-select select:has( > button)):focus-within{
2683
- outline-color:var(--t-focus-ring-color);
2684
- outline-offset:var(--t-focus-ring-offset);
2685
- border-color:var(--tds-select-border-color-active);
2686
- }
2698
+ @media (min-width: 720px){
2699
+ .tds-sidenav-responsive-header{
2700
+ display:none;
2701
+ }
2702
+ }
2687
2703
 
2688
- :is(.tds-select select:has( > button)):open::picker-icon{
2689
- opacity:1;
2690
- transform:rotate(.5turn);
2704
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
2705
+ display:none;
2691
2706
  }
2692
2707
 
2693
- :is(.tds-select select:has( > button)) selectedcontent{
2694
- overflow:hidden;
2695
- text-overflow:ellipsis;
2696
- line-height:calc(var(--tds-select-min-height) - 2px);
2697
- white-space:nowrap;
2708
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
2709
+ display:block;
2698
2710
  }
2699
2711
 
2700
- :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
2701
- color:var(--tds-select-placeholder-color);
2712
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2713
+ display:flex;
2714
+ flex-direction:column;
2702
2715
  }
2703
2716
 
2704
- :is(.tds-select select:has( > button))::picker(select){
2705
- inset:auto;
2706
- inline-size:-moz-max-content;
2707
- inline-size:max-content;
2708
- min-inline-size:anchor-size(width);
2709
- max-inline-size:100vi;
2710
- padding:var(--tds-select-dropdown-padding);
2711
- margin-block:var(--tds-select-dropdown-margin-block);
2712
- position-area:block-end span-inline-start;
2713
- position-try-fallbacks:flip-block, flip-inline;
2714
- overflow:auto;
2715
- overflow-x:hidden;
2716
- scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
2717
- overscroll-behavior:none;
2718
- -webkit-user-select:none;
2719
- -moz-user-select:none;
2720
- user-select:none;
2721
- scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
2722
- scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
2723
- background:var(--tds-select-dropdown-background-color);
2724
- border:var(--tds-select-dropdown-border);
2725
- border-radius:var(--tds-select-dropdown-border-radius);
2726
- box-shadow:var(--tds-select-dropdown-box-shadow);
2727
- opacity:var(--tds-select-dropdown-open-opacity);
2728
- translate:var(--tds-select-dropdown-open-translate);
2729
- transition:var(--tds-select-dropdown-transition);
2730
- }
2717
+ .tds-loading-spinner{
2718
+ --tds-loading-spinner-size:1.25em;
2731
2719
 
2732
- :is(.tds-select select:has( > button)) option::checkmark{
2733
- display:none;
2734
- }
2720
+ position:absolute;
2721
+ right:0;
2722
+ left:0;
2723
+ visibility:var(--tds-loading-spinner-visibility, hidden);
2724
+ width:var(--tds-loading-spinner-size);
2725
+ height:var(--tds-loading-spinner-size);
2726
+ margin:auto;
2727
+ border:var(--tds-loading-spinner-track-width, 4px) solid var(--tds-loading-spinner-track-color, var(--t-fill-color-transparency-dark-020));
2728
+ border-top-color:var(--tds-loading-spinner-color, currentcolor);
2729
+ border-radius:50%;
2730
+ animation:spinner-rotate 500ms infinite linear;
2731
+ animation-play-state:var(--tds-loading-spinner-animation-play-state, paused);
2732
+ }
2735
2733
 
2736
- @starting-style{
2737
- :is(.tds-select select:has( > button))::picker(select):popover-open{
2738
- opacity:var(--tds-select-dropdown-closed-opacity);
2739
- translate:var(--tds-select-dropdown-closed-translate);
2740
- }
2741
- }
2734
+ @keyframes spinner-rotate{
2735
+ to{
2736
+ transform:rotate(360deg);
2737
+ }
2738
+ }
2739
+
2740
+ @media (prefers-reduced-motion: reduce){
2741
+ [class*="--loading"] .tds-loading-spinner{
2742
+ --tds-loading-spinner-animation-play-state:paused;
2743
+ }
2742
2744
  }
2743
2745
 
2744
2746
  .symbol{
@@ -2794,11 +2796,19 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2794
2796
  transition-property:color, background-color, border-color, box-shadow, fill, stroke, opacity;
2795
2797
  }
2796
2798
 
2797
- .tds-btn:where(.tds-btn--icononly,:has(.prefix,svg:not(.suffix))){
2799
+ .tds-btn:where(.tds-btn--icononly,.tds-btn--prefix){
2800
+ padding-left:var(--tds-btn-padding-truncated-x);
2801
+ }
2802
+
2803
+ .tds-btn:where(.tds-btn--icononly,.tds-btn--suffix){
2804
+ padding-right:var(--tds-btn-padding-truncated-x);
2805
+ }
2806
+
2807
+ .tds-btn.tds-btn--icononly,.tds-btn.tds-btn--prefix{
2798
2808
  padding-left:var(--tds-btn-padding-truncated-x);
2799
2809
  }
2800
2810
 
2801
- .tds-btn:where(.tds-btn--icononly,:has(.suffix,svg:not(.prefix))){
2811
+ .tds-btn.tds-btn--icononly,.tds-btn.tds-btn--suffix{
2802
2812
  padding-right:var(--tds-btn-padding-truncated-x);
2803
2813
  }
2804
2814