@planningcenter/tapestry 4.0.0-rc.3 → 4.0.0-rc.5

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.
@@ -1044,437 +1044,154 @@
1044
1044
  }
1045
1045
  }
1046
1046
 
1047
- .tds-combo-box{
1048
- --tds-combo-box-button-offset:4px;
1049
- }
1050
-
1051
- .tds-combo-box[data-open] .tds-combo-box-button > svg{
1052
- transform:rotate(.5turn);
1053
- }
1054
-
1055
- .tds-combo-box--lg{
1056
- --tds-combo-box-button-offset:5px;
1057
- }
1058
1047
 
1059
- .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
1060
- display:none;
1061
- }
1048
+ @media (prefers-reduced-motion: no-preference){
1062
1049
 
1063
- .tds-combo-box-input{
1064
- display:flex;
1065
- flex:1;
1066
- align-items:center;
1067
- padding-block:var(--tds-field-padding-block);
1068
- padding-inline:var(--tds-field-padding-inline);
1069
- font-family:inherit;
1070
- font-size:inherit;
1071
- color:inherit;
1072
- outline:0;
1073
- background:transparent;
1074
- border:0;
1050
+ :root{
1051
+ interpolate-size:allow-keywords;
1075
1052
  }
1076
-
1077
- .tds-combo-box-input:has( + .tds-combo-box-button){
1078
- padding-inline-end:0;
1079
1053
  }
1080
1054
 
1081
- .tds-combo-box-input::-moz-placeholder{
1082
- color:var(--tds-field-placeholder-color);
1083
- -moz-user-select:none;
1084
- user-select:none;
1085
- }
1055
+ @layer tds-component{
1056
+ tds-sidenav,
1057
+ .tds-sidenav{
1058
+ --tds-sidenav-indent:12px;
1059
+ --tds-sidenav-item-depth:0;
1086
1060
 
1087
- .tds-combo-box-input::placeholder{
1088
- color:var(--tds-field-placeholder-color);
1089
- -webkit-user-select:none;
1090
- -moz-user-select:none;
1091
- user-select:none;
1092
- }
1061
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
1093
1062
 
1094
- .tds-combo-box-button{
1095
- flex-shrink:0;
1096
- align-self:center;
1097
- inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1098
- block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1099
- padding:0;
1100
- margin-inline-end:var(--tds-combo-box-button-offset);
1101
- }
1063
+ --tds-sidenav-collapse-transition-enter:opacity var(--t-duration-300) var(--t-ease-out), transform var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
1064
+ --tds-sidenav-collapse-transition-exit:opacity var(--t-duration-200) var(--t-ease-in), display var(--t-duration-200) allow-discrete, overlay var(--t-duration-200) allow-discrete;
1065
+ --tds-sidenav-collapse-closed-opacity:0;
1066
+ --tds-sidenav-collapse-open-opacity:1;
1067
+ --tds-sidenav-collapse-closed-transform:translateY(-8px);
1068
+ --tds-sidenav-collapse-open-transform:translateY(0);
1102
1069
 
1103
- .tds-combo-box-button > svg{
1104
- inline-size:var(--tds-field-font-size);
1105
- block-size:var(--tds-field-font-size);
1106
- transition:transform var(--t-duration-300) var(--t-ease-in-out);
1107
- }
1070
+ --tds-sidenav-item-icon-size:var(--t-element-size-md);
1071
+ --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
1072
+ --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
1073
+ --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
1108
1074
 
1109
- .tds-combo-box-popover{
1110
- width:var(--trigger-width);
1111
- max-block-size:inherit;
1112
- padding:var(--t-spacing-1);
1113
- overflow:auto;
1114
- scroll-behavior:smooth;
1115
- overscroll-behavior:none;
1116
- -webkit-user-select:none;
1117
- -moz-user-select:none;
1118
- user-select:none;
1119
- outline:0;
1120
- scrollbar-color:#0004 var(--t-surface-color-card);
1121
- scrollbar-width:thin;
1122
- background:var(--t-surface-color-card);
1123
- background-clip:padding-box;
1124
- border:1px solid var(--t-border-color);
1125
- border-radius:var(--t-border-radius);
1126
- box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1127
- }
1075
+ --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
1076
+ --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
1077
+ --tds-sidenav-item-nested-background-selected:transparent;
1128
1078
 
1129
- .tds-combo-box-popover[data-entering]{
1130
- animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
1131
- }
1079
+ --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
1080
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1081
+ --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
1132
1082
 
1133
- .tds-combo-box-popover[data-exiting]{
1134
- animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
1083
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
1084
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
1135
1085
  }
1136
1086
 
1137
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1138
- will-change:opacity, transform;
1087
+ @media (prefers-reduced-motion: reduce){
1088
+ tds-sidenav,
1089
+ .tds-sidenav{
1090
+ --tds-sidenav-collapse-transition-enter:none;
1091
+ --tds-sidenav-collapse-transition-exit:none;
1092
+ --tds-sidenav-collapse-closed-transform:none;
1093
+ --tds-sidenav-collapse-open-transform:none;
1139
1094
  }
1095
+ }
1140
1096
 
1141
- @keyframes tds-combo-box-popover{
1142
- from{
1143
- opacity:0;
1144
- transform:translateY(-8px);
1097
+ .tds-sidenav--theme-gray{
1098
+ --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
1099
+ --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
1100
+ --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
1101
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1102
+ --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
1145
1103
  }
1146
1104
  }
1147
1105
 
1148
- @media (prefers-reduced-motion: reduce){
1149
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1150
- animation:none;
1151
- }
1106
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
1107
+ display:flex;
1108
+ }
1152
1109
 
1153
- .tds-combo-box-button > svg{
1154
- transition:none;
1110
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
1111
+ flex-direction:column;
1112
+ gap:var(--t-spacing-half);
1113
+ width:100%;
1155
1114
  }
1156
- }
1157
1115
 
1158
- .tds-combo-box-list{
1116
+ .tds-sidenav-section-list{
1117
+ width:100%;
1159
1118
  padding:0;
1160
1119
  margin:0;
1120
+ list-style:none;
1161
1121
  }
1162
1122
 
1163
- .tds-combo-box-list-item{
1164
- display:block;
1165
- padding-block:var(--t-spacing-1);
1166
- padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1167
- overflow:hidden;
1168
- text-overflow:ellipsis;
1169
- font-size:1rem;
1170
- color:var(--t-text-color);
1171
- white-space:nowrap;
1172
- cursor:default;
1173
- border-radius:var(--t-border-radius);
1123
+ .tds-sidenav-section-header{
1124
+ display:flex;
1125
+ align-items:baseline;
1126
+ justify-content:space-between;
1127
+ padding-top:var(--t-spacing-2);
1174
1128
  }
1175
1129
 
1176
- .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
1177
- background:var(--t-fill-color-neutral-070);
1178
- }
1179
-
1180
- .tds-combo-box-list-item[data-selected]{
1181
- background:var(--t-fill-color-button-interaction-ghost-active);
1130
+ .tds-sidenav-section-header h2{
1131
+ margin:0;
1132
+ font-size:var(--t-font-size-sm);
1133
+ font-weight:var(--t-font-weight-semibold);
1134
+ line-height:1.35;
1135
+ color:var(--t-text-color-secondary);
1136
+ text-transform:uppercase;
1182
1137
  }
1183
1138
 
1184
- .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
1185
- background:var(--t-fill-color-neutral-060);
1139
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
1140
+ padding-top:0;
1186
1141
  }
1187
1142
 
1188
- .tds-combo-box-list-item[data-disabled]{
1189
- color:var(--t-form-color-disabled);
1190
- cursor:not-allowed;
1143
+ .tds-sidenav-section-header [slot="label-actions"]{
1144
+ display:flex;
1145
+ gap:var(--t-spacing-half);
1146
+ align-items:center;
1191
1147
  }
1192
1148
 
1193
- .tds-combo-box-list-item[data-disabled][data-hovered]{
1194
- background:transparent;
1195
- }
1196
-
1197
- .tds-combo-box-empty-state{
1198
- position:relative;
1199
- min-block-size:var(--t-spacing-3);
1200
- padding-block:var(--t-spacing-1);
1201
- padding-inline:var(--t-spacing-2);
1202
- font-size:var(--t-font-size-md);
1203
- color:var(--t-text-color-secondary);
1204
- }
1205
-
1206
- .tds-combo-box-load-more{
1207
- position:relative;
1208
- min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
1149
+ .tds-sidenav-section [slot="section-actions"]{
1150
+ display:flex;
1151
+ gap:12px;
1152
+ align-items:center;
1153
+ min-height:42px;
1154
+ padding:var(--t-spacing-1) 0;
1209
1155
  }
1210
1156
 
1211
- .tds-combo-box-empty-state,
1212
- .tds-combo-box-load-more{
1213
- --tds-loading-spinner-visibility:visible;
1214
- --tds-loading-spinner-animation-play-state:running;
1157
+ .tds-sidenav-section-list,
1158
+ .tds-sidenav-item{
1159
+ width:100%;
1160
+ padding:0;
1161
+ margin:0;
1215
1162
  }
1216
1163
 
1217
- .tds-combo-box-list-section:not(:first-child){
1218
- margin-block-start:var(--t-spacing-half);
1164
+ .tds-sidenav-item :is(a,button){
1165
+ position:relative;
1166
+ display:flex;
1167
+ gap:12px;
1168
+ align-items:center;
1169
+ width:100%;
1170
+ padding:12px;
1171
+ overflow:hidden;
1172
+ font-size:var(--t-font-size-sm);
1173
+ line-height:18px;
1174
+ color:var(--t-text-color-headline);
1175
+ white-space:nowrap;
1176
+ text-decoration:none;
1177
+ -webkit-appearance:none;
1178
+ -moz-appearance:none;
1179
+ appearance:none;
1180
+ cursor:pointer;
1181
+ background-color:var(--tds-sidenav-item-background, transparent);
1182
+ border:0;
1183
+ border-radius:var(--t-border-radius);
1184
+ transition:var(--tds-sidenav-item-transition);
1219
1185
  }
1220
1186
 
1221
- .tds-combo-box-section-header{
1222
- padding-block:var(--t-spacing-1);
1223
- padding-inline:var(--t-spacing-1);
1224
- font-size:var(--t-font-size-sm);
1225
- font-weight:var(--t-font-weight-semibold);
1226
- color:var(--t-text-color-secondary);
1227
- }
1228
-
1229
- .tds-checkbox-group{
1230
- --tds-checkbox-group-font-size:var(--t-font-size-md);
1231
- --tds-checkbox-group-line-height:1.4;
1232
- --tds-checkbox-group-gap:var(--t-spacing-1);
1233
-
1234
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1235
- --tds-checkbox-group-description-line-height:1.35;
1236
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1237
- --tds-checkbox-group-description-invalid-icon-display:none;
1238
- display:flex;
1239
- flex-direction:column;
1240
- gap:0;
1241
- padding:0;
1242
- margin:0;
1243
-
1244
- font-size:var(--tds-checkbox-group-font-size);
1245
- line-height:var(--tds-checkbox-group-line-height);
1246
- border:0;
1247
- }
1248
-
1249
- .tds-checkbox-group legend{
1250
- float:left;
1251
- padding:0;
1252
- margin:0;
1253
- }
1254
-
1255
- .tds-checkbox-group[aria-invalid="true"]{
1256
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1257
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
1258
- }
1259
-
1260
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1261
- margin-left:.25ch;
1262
- color:var(--t-text-color-status-error);
1263
- content:"*";
1264
- }
1265
-
1266
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1267
- content:none;
1268
- }
1269
-
1270
- .tds-checkbox-group-fields{
1271
- display:flex;
1272
- flex-direction:column;
1273
- gap:var(--tds-checkbox-group-gap);
1274
- align-items:flex-start;
1275
- margin-top:var(--t-spacing-1);
1276
- }
1277
-
1278
- .tds-checkbox-group-description{
1279
- display:flex;
1280
- gap:var(--t-spacing-half);
1281
- align-items:flex-start;
1282
- margin:var(--t-spacing-fourth) 0 0;
1283
- font-size:var(--tds-checkbox-group-description-font-size);
1284
- line-height:var(--tds-checkbox-group-description-line-height);
1285
- color:var(--tds-checkbox-group-description-color);
1286
- cursor:text;
1287
- }
1288
-
1289
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1290
- display:var(--tds-checkbox-group-description-invalid-icon-display);
1291
- flex-shrink:0;
1292
- margin-top:calc(.5lh - .5em);
1293
- line-height:var(--tds-checkbox-group-description-line-height);
1294
- }
1295
-
1296
- .tds-checkbox-group--sm{
1297
- --tds-checkbox-group-line-height:1.35;
1298
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
1299
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1300
- --tds-checkbox-group-description-line-height:1.3;
1301
- }
1302
-
1303
- .tds-button-group{
1304
- display:inline-flex;
1305
- }
1306
- .tds-button-group > .tds-btn{
1307
- --tds-button-group-item-z-index:1;
1308
-
1309
- z-index:var(--tds-button-group-item-z-index);
1310
- border-radius:0;
1311
- }
1312
- :is(.tds-button-group > .tds-btn):not(:first-child){
1313
- margin-inline-start:calc(var(--tds-btn-border-width) * -1);
1314
- }
1315
- :is(.tds-button-group > .tds-btn):hover{
1316
- --tds-button-group-item-z-index:2;
1317
- }
1318
- :is(.tds-button-group > .tds-btn):focus-visible{
1319
- --tds-button-group-item-z-index:5;
1320
- }
1321
- .tds-button-group > .tds-btn:first-child{
1322
- border-start-start-radius:var(--tds-btn-border-radius);
1323
- border-end-start-radius:var(--tds-btn-border-radius);
1324
- }
1325
- .tds-button-group > .tds-btn:last-child{
1326
- border-start-end-radius:var(--tds-btn-border-radius);
1327
- border-end-end-radius:var(--tds-btn-border-radius);
1328
- }
1329
-
1330
-
1331
- @media (prefers-reduced-motion: no-preference){
1332
-
1333
- :root{
1334
- interpolate-size:allow-keywords;
1335
- }
1336
- }
1337
-
1338
- @layer tds-component{
1339
- tds-sidenav,
1340
- .tds-sidenav{
1341
- --tds-sidenav-indent:12px;
1342
- --tds-sidenav-item-depth:0;
1343
-
1344
- --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
1345
-
1346
- --tds-sidenav-collapse-transition-enter:opacity var(--t-duration-300) var(--t-ease-out), transform var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
1347
- --tds-sidenav-collapse-transition-exit:opacity var(--t-duration-200) var(--t-ease-in), display var(--t-duration-200) allow-discrete, overlay var(--t-duration-200) allow-discrete;
1348
- --tds-sidenav-collapse-closed-opacity:0;
1349
- --tds-sidenav-collapse-open-opacity:1;
1350
- --tds-sidenav-collapse-closed-transform:translateY(-8px);
1351
- --tds-sidenav-collapse-open-transform:translateY(0);
1352
-
1353
- --tds-sidenav-item-icon-size:var(--t-element-size-md);
1354
- --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
1355
- --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
1356
- --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
1357
-
1358
- --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
1359
- --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
1360
- --tds-sidenav-item-nested-background-selected:transparent;
1361
-
1362
- --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
1363
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1364
- --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
1365
-
1366
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
1367
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
1368
- }
1369
-
1370
- @media (prefers-reduced-motion: reduce){
1371
- tds-sidenav,
1372
- .tds-sidenav{
1373
- --tds-sidenav-collapse-transition-enter:none;
1374
- --tds-sidenav-collapse-transition-exit:none;
1375
- --tds-sidenav-collapse-closed-transform:none;
1376
- --tds-sidenav-collapse-open-transform:none;
1377
- }
1378
- }
1379
-
1380
- .tds-sidenav--theme-gray{
1381
- --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
1382
- --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
1383
- --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
1384
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1385
- --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
1386
- }
1387
- }
1388
-
1389
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
1390
- display:flex;
1391
- }
1392
-
1393
- .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
1394
- flex-direction:column;
1395
- gap:var(--t-spacing-half);
1396
- width:100%;
1397
- }
1398
-
1399
- .tds-sidenav-section-list{
1400
- width:100%;
1401
- padding:0;
1402
- margin:0;
1403
- list-style:none;
1404
- }
1405
-
1406
- .tds-sidenav-section-header{
1407
- display:flex;
1408
- align-items:baseline;
1409
- justify-content:space-between;
1410
- padding-top:var(--t-spacing-2);
1411
- }
1412
-
1413
- .tds-sidenav-section-header h2{
1414
- margin:0;
1415
- font-size:var(--t-font-size-sm);
1416
- font-weight:var(--t-font-weight-semibold);
1417
- line-height:1.35;
1418
- color:var(--t-text-color-secondary);
1419
- text-transform:uppercase;
1420
- }
1421
-
1422
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
1423
- padding-top:0;
1424
- }
1425
-
1426
- .tds-sidenav-section-header [slot="label-actions"]{
1427
- display:flex;
1428
- gap:var(--t-spacing-half);
1429
- align-items:center;
1430
- }
1431
-
1432
- .tds-sidenav-section [slot="section-actions"]{
1433
- display:flex;
1434
- gap:12px;
1435
- align-items:center;
1436
- min-height:42px;
1437
- padding:var(--t-spacing-1) 0;
1438
- }
1439
-
1440
- .tds-sidenav-section-list,
1441
- .tds-sidenav-item{
1442
- width:100%;
1443
- padding:0;
1444
- margin:0;
1445
- }
1446
-
1447
- .tds-sidenav-item :is(a,button){
1448
- position:relative;
1449
- display:flex;
1450
- gap:12px;
1451
- align-items:center;
1452
- width:100%;
1453
- padding:12px;
1454
- overflow:hidden;
1455
- font-size:var(--t-font-size-sm);
1456
- line-height:18px;
1457
- color:var(--t-text-color-headline);
1458
- white-space:nowrap;
1459
- text-decoration:none;
1460
- -webkit-appearance:none;
1461
- -moz-appearance:none;
1462
- appearance:none;
1463
- cursor:pointer;
1464
- background-color:var(--tds-sidenav-item-background, transparent);
1465
- border:0;
1466
- border-radius:var(--t-border-radius);
1467
- transition:var(--tds-sidenav-item-transition);
1468
- }
1469
-
1470
- :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
1471
- display:block;
1472
- flex:1;
1473
- overflow:hidden;
1474
- text-overflow:ellipsis;
1475
- text-align:left;
1476
- white-space:nowrap;
1477
- }
1187
+ :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
1188
+ display:block;
1189
+ flex:1;
1190
+ overflow:hidden;
1191
+ text-overflow:ellipsis;
1192
+ text-align:left;
1193
+ white-space:nowrap;
1194
+ }
1478
1195
 
1479
1196
  :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
1480
1197
  --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
@@ -1557,137 +1274,630 @@
1557
1274
  transition:var(--tds-sidenav-item-transition);
1558
1275
  }
1559
1276
 
1560
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
1561
- position:absolute;
1562
- inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1563
- z-index:-1;
1564
- height:100%;
1565
- content:"";
1566
- background-color:var(--tds-sidenav-item-nested-background);
1567
- border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
1568
- transition:var(--tds-sidenav-item-transition);
1569
- }
1277
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
1278
+ position:absolute;
1279
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1280
+ z-index:-1;
1281
+ height:100%;
1282
+ content:"";
1283
+ background-color:var(--tds-sidenav-item-nested-background);
1284
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
1285
+ transition:var(--tds-sidenav-item-transition);
1286
+ }
1287
+
1288
+ :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)){
1289
+ display:block;
1290
+ text-align:left;
1291
+ white-space:normal;
1292
+ }
1293
+
1294
+ :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{
1295
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
1296
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
1297
+ }
1298
+
1299
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
1300
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
1301
+ }
1302
+
1303
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1304
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
1305
+ font-weight:var(--t-font-weight-medium);
1306
+ }
1307
+
1308
+ .tds-sidenav-responsive-header{
1309
+ display:flex;
1310
+ gap:var(--t-spacing-2);
1311
+ align-items:center;
1312
+ width:100%;
1313
+ }
1314
+
1315
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
1316
+ order:0;
1317
+ }
1318
+
1319
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
1320
+ flex:1;
1321
+ order:1;
1322
+ margin:0;
1323
+ font-size:var(--t-font-size-lg);
1324
+ font-weight:var(--t-font-weight-medium);
1325
+ color:var(--t-text-color-headline);
1326
+ }
1327
+
1328
+ @media (max-width: 719px){
1329
+ .tds-sidenav-collapse{
1330
+ z-index:10001;
1331
+ display:none;
1332
+ max-width:min(448px, calc(100vw - 48px));
1333
+ padding:0;
1334
+ margin:12px 0;
1335
+ position-area:bottom span-right;
1336
+ overflow:hidden;
1337
+ outline:0;
1338
+ background:var(--t-surface-color-card);
1339
+ border:0;
1340
+ border-radius:6px;
1341
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
1342
+ opacity:var(--tds-sidenav-collapse-open-opacity);
1343
+ transform:var(--tds-sidenav-collapse-open-transform);
1344
+ transition:var(--tds-sidenav-collapse-transition-enter);
1345
+ will-change:transform;
1346
+ }
1347
+
1348
+ .tds-sidenav-scroll-container{
1349
+ --webkit-overflow-scrolling:touch;
1350
+ display:block;
1351
+ width:100%;
1352
+ height:-moz-fit-content;
1353
+ height:fit-content;
1354
+ padding:var(--t-spacing-2);
1355
+ overflow-y:auto;
1356
+ }
1357
+
1358
+ .tds-sidenav-item :is(a, button) :is(.prefix){
1359
+ display:none;
1360
+ }
1361
+ @supports selector(:popover-open){
1362
+ .tds-sidenav-collapse:popover-open{
1363
+ display:flex;
1364
+ }
1365
+
1366
+ .tds-sidenav-collapse:not(:popover-open){
1367
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1368
+ transition:var(--tds-sidenav-collapse-transition-exit);
1369
+ }
1370
+
1371
+ @starting-style{
1372
+ .tds-sidenav-collapse:popover-open{
1373
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1374
+ transform:var(--tds-sidenav-collapse-closed-transform);
1375
+ }
1376
+ }
1377
+ }
1378
+ @supports not selector(:popover-open){
1379
+ .tds-sidenav-collapse.\:popover-open{
1380
+ display:flex;
1381
+ }
1382
+
1383
+ .tds-sidenav-collapse:not(.\:popover-open){
1384
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1385
+ transition:var(--tds-sidenav-collapse-transition-exit);
1386
+ }
1387
+ }
1388
+ }
1389
+
1390
+ @media (min-width: 720px){
1391
+ .tds-sidenav-responsive-header{
1392
+ display:none;
1393
+ }
1394
+ }
1395
+
1396
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
1397
+ display:none;
1398
+ }
1399
+
1400
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1401
+ display:block;
1402
+ }
1403
+
1404
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1405
+ display:flex;
1406
+ flex-direction:column;
1407
+ }
1408
+
1409
+ .tds-checkbox-group{
1410
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
1411
+ --tds-checkbox-group-line-height:1.4;
1412
+ --tds-checkbox-group-gap:var(--t-spacing-1);
1413
+
1414
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1415
+ --tds-checkbox-group-description-line-height:1.35;
1416
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1417
+ --tds-checkbox-group-description-invalid-icon-display:none;
1418
+ display:flex;
1419
+ flex-direction:column;
1420
+ gap:0;
1421
+ padding:0;
1422
+ margin:0;
1423
+
1424
+ font-size:var(--tds-checkbox-group-font-size);
1425
+ line-height:var(--tds-checkbox-group-line-height);
1426
+ border:0;
1427
+ }
1428
+
1429
+ .tds-checkbox-group legend{
1430
+ float:left;
1431
+ padding:0;
1432
+ margin:0;
1433
+ }
1434
+
1435
+ .tds-checkbox-group[aria-invalid="true"]{
1436
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1437
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
1438
+ }
1439
+
1440
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1441
+ margin-left:.25ch;
1442
+ color:var(--t-text-color-status-error);
1443
+ content:"*";
1444
+ }
1445
+
1446
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1447
+ content:none;
1448
+ }
1449
+
1450
+ .tds-checkbox-group-fields{
1451
+ display:flex;
1452
+ flex-direction:column;
1453
+ gap:var(--tds-checkbox-group-gap);
1454
+ align-items:flex-start;
1455
+ margin-top:var(--t-spacing-1);
1456
+ }
1457
+
1458
+ .tds-checkbox-group-description{
1459
+ display:flex;
1460
+ gap:var(--t-spacing-half);
1461
+ align-items:flex-start;
1462
+ margin:var(--t-spacing-fourth) 0 0;
1463
+ font-size:var(--tds-checkbox-group-description-font-size);
1464
+ line-height:var(--tds-checkbox-group-description-line-height);
1465
+ color:var(--tds-checkbox-group-description-color);
1466
+ cursor:text;
1467
+ }
1468
+
1469
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1470
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
1471
+ flex-shrink:0;
1472
+ margin-top:calc(.5lh - .5em);
1473
+ line-height:var(--tds-checkbox-group-description-line-height);
1474
+ }
1475
+
1476
+ .tds-checkbox-group--sm{
1477
+ --tds-checkbox-group-line-height:1.35;
1478
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
1479
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1480
+ --tds-checkbox-group-description-line-height:1.3;
1481
+ }
1482
+
1483
+ .tds-checkbox{
1484
+ --tds-checkbox-font-size:var(--t-font-size-md);
1485
+ --tds-checkbox-cursor:pointer;
1486
+ --tds-checkbox-line-height:1.4;
1487
+ --tds-checkbox-transition-property:background-color, border-color;
1488
+
1489
+ --tds-checkbox-input-size:var(--t-element-size-md);
1490
+ --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
1491
+ --tds-checkbox-input-border-color:var(--t-form-border-color);
1492
+ --tds-checkbox-input-background-color:var(--t-form-background-color);
1493
+
1494
+ --tds-checkbox-input-icon:none;
1495
+ --tds-checkbox-input-icon-visibility:hidden;
1496
+ --tds-checkbox-input-icon-opacity:0;
1497
+ --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
1498
+
1499
+ --tds-checkbox-label-color:var(--t-form-color);
1500
+
1501
+ --tds-checkbox-description-font-size:var(--t-font-size-sm);
1502
+ --tds-checkbox-description-line-height:1.35;
1503
+ --tds-checkbox-description-color:var(--t-text-color-secondary);
1504
+ --tds-checkbox-description-invalid-icon-display:none;
1505
+
1506
+ position:relative;
1507
+ display:inline-grid;
1508
+ grid-template-columns:auto;
1509
+ grid-auto-columns:1fr;
1510
+ gap:var(--t-spacing-fourth) 0;
1511
+ line-height:var(--tds-checkbox-line-height);
1512
+ -webkit-user-select:none;
1513
+ -moz-user-select:none;
1514
+ user-select:none;
1515
+ }
1516
+
1517
+ .tds-checkbox label{
1518
+ grid-area:1 / 2;
1519
+ padding-inline-start:var(--t-spacing-1);
1520
+ font-size:var(--tds-checkbox-font-size);
1521
+ font-weight:var(--t-font-weight-normal);
1522
+ color:var(--tds-checkbox-label-color);
1523
+ cursor:var(--tds-checkbox-cursor);
1524
+ }
1525
+
1526
+ .tds-checkbox tds-indeterminate{
1527
+ display:flex;
1528
+ }
1529
+
1530
+ .tds-checkbox input[type="checkbox"]{
1531
+ position:relative;
1532
+ width:1em;
1533
+ height:1em;
1534
+ margin:calc((1lh - 1em) / 2) 0 0;
1535
+ font-size:var(--tds-checkbox-font-size);
1536
+ line-height:inherit;
1537
+ -webkit-appearance:none;
1538
+ -moz-appearance:none;
1539
+ appearance:none;
1540
+ cursor:var(--tds-checkbox-cursor);
1541
+ background-color:var(--tds-checkbox-input-background-color);
1542
+ border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
1543
+ border-radius:var(--tds-checkbox-input-border-radius);
1544
+ transition-timing-function:var(--t-ease-in-out);
1545
+ transition-duration:var(--t-duration-200);
1546
+ transition-property:var(--tds-checkbox-transition-property);
1547
+ }
1548
+
1549
+ :is(.tds-checkbox input[type="checkbox"])::before{
1550
+ position:absolute;
1551
+ top:50%;
1552
+ left:50%;
1553
+ visibility:var(--tds-checkbox-input-icon-visibility);
1554
+ width:100%;
1555
+ height:100%;
1556
+ content:"";
1557
+ background-color:var(--tds-checkbox-input-icon-fill);
1558
+ border-radius:var(--tds-checkbox-input-border-radius);
1559
+ opacity:var(--tds-checkbox-input-icon-opacity);
1560
+ -webkit-mask-image:var(--tds-checkbox-input-icon);
1561
+ mask-image:var(--tds-checkbox-input-icon);
1562
+ -webkit-mask-repeat:no-repeat;
1563
+ mask-repeat:no-repeat;
1564
+ -webkit-mask-size:contain;
1565
+ mask-size:contain;
1566
+ transform:translate(-50%, -50%);
1567
+ }
1568
+
1569
+ :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
1570
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
1571
+ --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1572
+ }
1573
+
1574
+ :is(.tds-checkbox input[type="checkbox"]):focus-visible{
1575
+ outline:var(--t-focus-ring-outline);
1576
+ outline-offset:var(--t-focus-ring-offset);
1577
+ }
1578
+
1579
+ :is(.tds-checkbox input[type="checkbox"]):disabled{
1580
+ pointer-events:none;
1581
+ }
1582
+
1583
+ @media (prefers-reduced-motion: reduce){
1584
+
1585
+ .tds-checkbox input[type="checkbox"]{
1586
+ --tds-checkbox-transition-property:none;
1587
+ }
1588
+ }
1589
+
1590
+ .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
1591
+ --tds-checkbox-input-background-color:var(--t-fill-color-control);
1592
+ --tds-checkbox-input-border-color:var(--t-border-color-control-info);
1593
+ --tds-checkbox-input-icon-visibility:visible;
1594
+ --tds-checkbox-input-icon-opacity:1;
1595
+ }
1596
+
1597
+ :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
1598
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
1599
+ --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
1600
+ }
1601
+
1602
+ .tds-checkbox:has(input:checked){
1603
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1604
+ }
1605
+
1606
+ .tds-checkbox:has(input:indeterminate){
1607
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1608
+ }
1609
+
1610
+ .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
1611
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1612
+ --tds-checkbox-description-color:var(--t-text-color-status-error);
1613
+ --tds-checkbox-description-invalid-icon-display:inline-block;
1614
+ }
1615
+
1616
+ :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
1617
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1618
+ --tds-checkbox-input-background-color:var(--t-form-background-color-error);
1619
+ }
1620
+
1621
+ :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:checked,:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:indeterminate{
1622
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1623
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error);
1624
+ }
1625
+
1626
+ :is(:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:checked,:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:indeterminate):hover:not(:disabled){
1627
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
1628
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
1629
+ }
1630
+
1631
+ .tds-checkbox:has(input:required) label::after{
1632
+ margin-left:.25ch;
1633
+ color:var(--t-text-color-status-error);
1634
+ content:"*";
1635
+ }
1636
+
1637
+ .tds-checkbox:has(input:disabled){
1638
+ --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
1639
+ --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
1640
+
1641
+ --tds-checkbox-label-color:var(--t-form-color-disabled);
1642
+ --tds-checkbox-description-color:var(--t-form-color-disabled);
1643
+ --tds-checkbox-cursor:not-allowed;
1644
+ }
1645
+
1646
+ .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
1647
+ --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
1648
+ }
1649
+
1650
+ .tds-checkbox-description{
1651
+ display:flex;
1652
+ grid-area:2 / 2;
1653
+ gap:var(--t-spacing-half);
1654
+ align-items:flex-start;
1655
+ padding-inline-start:var(--t-spacing-1);
1656
+ margin:0;
1657
+ font-size:var(--tds-checkbox-description-font-size);
1658
+ line-height:var(--tds-checkbox-description-line-height);
1659
+ color:var(--tds-checkbox-description-color);
1660
+ cursor:text;
1661
+ }
1662
+
1663
+ .tds-checkbox-description .tds-checkbox-description-invalid-icon{
1664
+ display:var(--tds-checkbox-description-invalid-icon-display);
1665
+ flex-shrink:0;
1666
+ margin-top:calc(.5lh - .5em);
1667
+ line-height:var(--tds-checkbox-description-line-height);
1668
+ }
1669
+
1670
+ .tds-checkbox--sm{
1671
+ --tds-checkbox-line-height:1.35;
1672
+ --tds-checkbox-input-size:var(--t-element-size-sm);
1673
+ --tds-checkbox-font-size:var(--t-font-size-sm);
1674
+ --tds-checkbox-description-font-size:var(--t-font-size-xs);
1675
+ --tds-checkbox-description-line-height:1.3;
1676
+ }
1677
+
1678
+ .tds-combo-box{
1679
+ --tds-combo-box-button-offset:4px;
1680
+ }
1681
+
1682
+ .tds-combo-box[data-open] .tds-combo-box-button > svg{
1683
+ transform:rotate(.5turn);
1684
+ }
1685
+
1686
+ .tds-combo-box--lg{
1687
+ --tds-combo-box-button-offset:5px;
1688
+ }
1689
+
1690
+ .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
1691
+ display:none;
1692
+ }
1693
+
1694
+ .tds-combo-box-input{
1695
+ display:flex;
1696
+ flex:1;
1697
+ align-items:center;
1698
+ padding-block:var(--tds-field-padding-block);
1699
+ padding-inline:var(--tds-field-padding-inline);
1700
+ font-family:inherit;
1701
+ font-size:inherit;
1702
+ color:inherit;
1703
+ outline:0;
1704
+ background:transparent;
1705
+ border:0;
1706
+ }
1707
+
1708
+ .tds-combo-box-input:has( + .tds-combo-box-button){
1709
+ padding-inline-end:0;
1710
+ }
1711
+
1712
+ .tds-combo-box-input::-moz-placeholder{
1713
+ color:var(--tds-field-placeholder-color);
1714
+ -moz-user-select:none;
1715
+ user-select:none;
1716
+ }
1717
+
1718
+ .tds-combo-box-input::placeholder{
1719
+ color:var(--tds-field-placeholder-color);
1720
+ -webkit-user-select:none;
1721
+ -moz-user-select:none;
1722
+ user-select:none;
1723
+ }
1724
+
1725
+ .tds-combo-box-button{
1726
+ flex-shrink:0;
1727
+ align-self:center;
1728
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1729
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1730
+ padding:0;
1731
+ margin-inline-end:var(--tds-combo-box-button-offset);
1732
+ }
1733
+
1734
+ .tds-combo-box-button > svg{
1735
+ inline-size:var(--tds-field-font-size);
1736
+ block-size:var(--tds-field-font-size);
1737
+ transition:transform var(--t-duration-300) var(--t-ease-in-out);
1738
+ }
1739
+
1740
+ .tds-combo-box-popover{
1741
+ width:var(--trigger-width);
1742
+ max-block-size:inherit;
1743
+ padding:var(--t-spacing-1);
1744
+ overflow:auto;
1745
+ scroll-behavior:smooth;
1746
+ overscroll-behavior:none;
1747
+ -webkit-user-select:none;
1748
+ -moz-user-select:none;
1749
+ user-select:none;
1750
+ outline:0;
1751
+ scrollbar-color:#0004 var(--t-surface-color-card);
1752
+ scrollbar-width:thin;
1753
+ background:var(--t-surface-color-card);
1754
+ background-clip:padding-box;
1755
+ border:1px solid var(--t-border-color);
1756
+ border-radius:var(--t-border-radius);
1757
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1758
+ }
1759
+
1760
+ .tds-combo-box-popover[data-entering]{
1761
+ animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
1762
+ }
1570
1763
 
1571
- :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)){
1572
- display:block;
1573
- text-align:left;
1574
- white-space:normal;
1575
- }
1764
+ .tds-combo-box-popover[data-exiting]{
1765
+ animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
1766
+ }
1576
1767
 
1577
- :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{
1578
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
1579
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
1580
- }
1768
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1769
+ will-change:opacity, transform;
1770
+ }
1581
1771
 
1582
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
1583
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
1584
- }
1772
+ @keyframes tds-combo-box-popover{
1773
+ from{
1774
+ opacity:0;
1775
+ transform:translateY(-8px);
1776
+ }
1777
+ }
1585
1778
 
1586
- .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1587
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
1588
- font-weight:var(--t-font-weight-medium);
1779
+ @media (prefers-reduced-motion: reduce){
1780
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1781
+ animation:none;
1589
1782
  }
1590
1783
 
1591
- .tds-sidenav-responsive-header{
1592
- display:flex;
1593
- gap:var(--t-spacing-2);
1594
- align-items:center;
1595
- width:100%;
1784
+ .tds-combo-box-button > svg{
1785
+ transition:none;
1786
+ }
1596
1787
  }
1597
1788
 
1598
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
1599
- order:0;
1600
- }
1789
+ .tds-combo-box-list{
1790
+ padding:0;
1791
+ margin:0;
1792
+ }
1601
1793
 
1602
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
1603
- flex:1;
1604
- order:1;
1605
- margin:0;
1606
- font-size:var(--t-font-size-lg);
1607
- font-weight:var(--t-font-weight-medium);
1608
- color:var(--t-text-color-headline);
1794
+ .tds-combo-box-list-item{
1795
+ display:block;
1796
+ padding-block:var(--t-spacing-1);
1797
+ padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1798
+ overflow:hidden;
1799
+ text-overflow:ellipsis;
1800
+ font-size:1rem;
1801
+ color:var(--t-text-color);
1802
+ white-space:nowrap;
1803
+ cursor:default;
1804
+ border-radius:var(--t-border-radius);
1805
+ }
1806
+
1807
+ .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
1808
+ background:var(--t-fill-color-neutral-070);
1609
1809
  }
1610
1810
 
1611
- @media (max-width: 719px){
1612
- .tds-sidenav-collapse{
1613
- z-index:10001;
1614
- display:none;
1615
- max-width:min(448px, calc(100vw - 48px));
1616
- padding:0;
1617
- margin:12px 0;
1618
- position-area:bottom span-right;
1619
- overflow:hidden;
1620
- outline:0;
1621
- background:var(--t-surface-color-card);
1622
- border:0;
1623
- border-radius:6px;
1624
- box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
1625
- opacity:var(--tds-sidenav-collapse-open-opacity);
1626
- transform:var(--tds-sidenav-collapse-open-transform);
1627
- transition:var(--tds-sidenav-collapse-transition-enter);
1628
- will-change:transform;
1811
+ .tds-combo-box-list-item[data-selected]{
1812
+ background:var(--t-fill-color-button-interaction-ghost-active);
1629
1813
  }
1630
1814
 
1631
- .tds-sidenav-scroll-container{
1632
- --webkit-overflow-scrolling:touch;
1633
- display:block;
1634
- width:100%;
1635
- height:-moz-fit-content;
1636
- height:fit-content;
1637
- padding:var(--t-spacing-2);
1638
- overflow-y:auto;
1815
+ .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
1816
+ background:var(--t-fill-color-neutral-060);
1639
1817
  }
1640
1818
 
1641
- .tds-sidenav-item :is(a, button) :is(.prefix){
1642
- display:none;
1819
+ .tds-combo-box-list-item[data-disabled]{
1820
+ color:var(--t-form-color-disabled);
1821
+ cursor:not-allowed;
1643
1822
  }
1644
- @supports selector(:popover-open){
1645
- .tds-sidenav-collapse:popover-open{
1646
- display:flex;
1647
- }
1648
1823
 
1649
- .tds-sidenav-collapse:not(:popover-open){
1650
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1651
- transition:var(--tds-sidenav-collapse-transition-exit);
1824
+ .tds-combo-box-list-item[data-disabled][data-hovered]{
1825
+ background:transparent;
1652
1826
  }
1653
1827
 
1654
- @starting-style{
1655
- .tds-sidenav-collapse:popover-open{
1656
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1657
- transform:var(--tds-sidenav-collapse-closed-transform);
1658
- }
1659
- }
1660
- }
1661
- @supports not selector(:popover-open){
1662
- .tds-sidenav-collapse.\:popover-open{
1663
- display:flex;
1664
- }
1828
+ .tds-combo-box-empty-state{
1829
+ position:relative;
1830
+ min-block-size:var(--t-spacing-3);
1831
+ padding-block:var(--t-spacing-1);
1832
+ padding-inline:var(--t-spacing-2);
1833
+ font-size:var(--t-font-size-md);
1834
+ color:var(--t-text-color-secondary);
1835
+ }
1665
1836
 
1666
- .tds-sidenav-collapse:not(.\:popover-open){
1667
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1668
- transition:var(--tds-sidenav-collapse-transition-exit);
1669
- }
1670
- }
1837
+ .tds-combo-box-load-more{
1838
+ position:relative;
1839
+ min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
1671
1840
  }
1672
1841
 
1673
- @media (min-width: 720px){
1674
- .tds-sidenav-responsive-header{
1675
- display:none;
1842
+ .tds-combo-box-empty-state,
1843
+ .tds-combo-box-load-more{
1844
+ --tds-loading-spinner-visibility:visible;
1845
+ --tds-loading-spinner-animation-play-state:running;
1846
+ }
1847
+
1848
+ .tds-combo-box-list-section:not(:first-child){
1849
+ margin-block-start:var(--t-spacing-half);
1676
1850
  }
1851
+
1852
+ .tds-combo-box-section-header{
1853
+ padding-block:var(--t-spacing-1);
1854
+ padding-inline:var(--t-spacing-1);
1855
+ font-size:var(--t-font-size-sm);
1856
+ font-weight:var(--t-font-weight-semibold);
1857
+ color:var(--t-text-color-secondary);
1677
1858
  }
1678
1859
 
1679
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
1680
- display:none;
1681
- }
1860
+ .tds-button-group{
1861
+ display:inline-flex;
1862
+ }
1863
+ .tds-button-group > .tds-btn{
1864
+ --tds-button-group-item-z-index:1;
1682
1865
 
1683
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1684
- display:block;
1866
+ position:relative;
1867
+ z-index:var(--tds-button-group-item-z-index);
1868
+ border-radius:0;
1869
+ }
1870
+ :is(.tds-button-group > .tds-btn):not(:first-child){
1871
+ margin-inline-start:calc(var(--tds-btn-border-width) * -1);
1685
1872
  }
1686
-
1687
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1688
- display:flex;
1689
- flex-direction:column;
1873
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--pill):not(:first-child)::before,:is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--pill):not(:last-child)::after{
1874
+ position:absolute;
1875
+ inset-block:calc(var(--tds-btn-border-width) * -1);
1876
+ width:var(--tds-btn-border-width);
1877
+ pointer-events:none;
1878
+ content:"";
1879
+ background-color:var(--t-border-color-white);
1880
+ }
1881
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--pill):not(:first-child)::before{
1882
+ inset-inline-start:calc(var(--tds-btn-border-width) * -1);
1883
+ }
1884
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--pill):not(:last-child)::after{
1885
+ inset-inline-end:calc(var(--tds-btn-border-width) * -1);
1886
+ }
1887
+ :is(.tds-button-group > .tds-btn):hover{
1888
+ --tds-button-group-item-z-index:2;
1690
1889
  }
1890
+ :is(.tds-button-group > .tds-btn):focus-visible{
1891
+ --tds-button-group-item-z-index:5;
1892
+ }
1893
+ .tds-button-group > .tds-btn:first-child{
1894
+ border-start-start-radius:var(--tds-btn-border-radius);
1895
+ border-end-start-radius:var(--tds-btn-border-radius);
1896
+ }
1897
+ .tds-button-group > .tds-btn:last-child{
1898
+ border-start-end-radius:var(--tds-btn-border-radius);
1899
+ border-end-end-radius:var(--tds-btn-border-radius);
1900
+ }
1691
1901
 
1692
1902
  .tds-dropdown-popover{
1693
1903
  min-inline-size:10rem;
@@ -1969,159 +2179,109 @@ a.tds-dropdown-item:is(:hover, :active){
1969
2179
  }
1970
2180
 
1971
2181
  .tds-modal-body{
1972
- padding-block:var(--t-spacing-3);
1973
- padding-inline:var(--t-spacing-4);
1974
- }
1975
-
1976
- .tds-modal-body--full-width{
1977
- padding-inline:0;
1978
- }
1979
-
1980
- .tds-modal-footer{
1981
- display:flex;
1982
- gap:var(--t-spacing-2);
1983
- align-items:center;
1984
- justify-content:flex-end;
1985
- padding-block-start:var(--t-spacing-3);
1986
- padding-inline:var(--t-spacing-4);
1987
- border-top:1px solid var(--t-border-color);
1988
- }
1989
-
1990
- .tds-modal-footer > [slot="start"]{
1991
- margin-inline-end:auto;
1992
- }
1993
-
1994
- .tds-radio{
1995
- --tds-radio-font-size:var(--t-font-size-md);
1996
- --tds-radio-cursor:pointer;
1997
- --tds-radio-line-height:1.4;
1998
- --tds-radio-transition-property:border-width;
1999
-
2000
- --tds-radio-input-size:var(--t-element-size-md);
2001
- --tds-radio-input-border-radius:var(--t-border-radius-round);
2002
- --tds-radio-input-border-color:var(--t-form-border-color);
2003
- --tds-radio-input-border-width:var(--t-form-border-width);
2004
- --tds-radio-input-background-color:var(--t-form-background-color);
2005
-
2006
- --tds-radio-label-color:var(--t-form-color);
2007
-
2008
- --tds-radio-description-font-size:var(--t-font-size-sm);
2009
- --tds-radio-description-line-height:1.35;
2010
- --tds-radio-description-color:var(--t-text-color-secondary);
2011
-
2012
- position:relative;
2013
- display:inline-grid;
2014
- grid-template-columns:auto;
2015
- grid-auto-columns:1fr;
2016
- gap:var(--t-spacing-fourth) 0;
2017
- line-height:var(--tds-radio-line-height);
2018
- -webkit-user-select:none;
2019
- -moz-user-select:none;
2020
- user-select:none;
2182
+ padding-block:var(--t-spacing-3);
2183
+ padding-inline:var(--t-spacing-4);
2021
2184
  }
2022
2185
 
2023
- .tds-radio label{
2024
- grid-area:1 / 2;
2025
- padding-inline-start:var(--t-spacing-1);
2026
- font-size:var(--tds-radio-font-size);
2027
- font-weight:var(--t-font-weight-normal);
2028
- color:var(--tds-radio-label-color);
2029
- cursor:var(--tds-radio-cursor);
2030
- }
2031
-
2032
- .tds-radio input[type="radio"]{
2033
- position:relative;
2034
- width:1em;
2035
- height:1em;
2036
- margin:calc((1lh - 1em) / 2) 0 0;
2037
- font-size:var(--tds-radio-font-size);
2038
- line-height:inherit;
2039
- -webkit-appearance:none;
2040
- -moz-appearance:none;
2041
- appearance:none;
2042
- cursor:var(--tds-radio-cursor);
2043
- background-color:var(--tds-radio-input-background-color);
2044
- border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
2045
- border-radius:var(--tds-radio-input-border-radius);
2046
- transition-timing-function:var(--t-ease-in-out);
2047
- transition-duration:var(--t-duration-200);
2048
- transition-property:var(--tds-radio-transition-property);
2049
- }
2186
+ .tds-modal-body--full-width{
2187
+ padding-inline:0;
2188
+ }
2050
2189
 
2051
- :is(.tds-radio input[type="radio"]):hover:not(:disabled){
2052
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2053
- --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
2054
- }
2190
+ .tds-modal-footer{
2191
+ display:flex;
2192
+ gap:var(--t-spacing-2);
2193
+ align-items:center;
2194
+ justify-content:flex-end;
2195
+ padding-block-start:var(--t-spacing-3);
2196
+ padding-inline:var(--t-spacing-4);
2197
+ border-top:1px solid var(--t-border-color);
2198
+ }
2055
2199
 
2056
- :is(.tds-radio input[type="radio"]):focus-visible{
2057
- outline:var(--t-focus-ring-outline);
2058
- outline-offset:var(--t-focus-ring-offset);
2059
- }
2200
+ .tds-modal-footer > [slot="start"]{
2201
+ margin-inline-end:auto;
2202
+ }
2060
2203
 
2061
- :is(.tds-radio input[type="radio"]):disabled{
2062
- pointer-events:none;
2063
- }
2204
+ .tds-radio-group{
2205
+ --tds-radio-group-font-size:var(--t-font-size-md);
2206
+ --tds-radio-group-line-height:1.4;
2207
+ --tds-radio-group-gap:var(--t-spacing-1);
2064
2208
 
2065
- @media (prefers-reduced-motion: reduce){
2209
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
2210
+ --tds-radio-group-description-line-height:1.35;
2211
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
2212
+ --tds-radio-group-description-invalid-icon-display:none;
2213
+ display:flex;
2214
+ flex-direction:column;
2215
+ gap:0;
2216
+ padding:0;
2217
+ margin:0;
2066
2218
 
2067
- .tds-radio input[type="radio"]{
2068
- --tds-radio-transition-property:none;
2069
- }
2070
- }
2219
+ font-size:var(--tds-radio-group-font-size);
2220
+ line-height:var(--tds-radio-group-line-height);
2221
+ border:0;
2222
+ }
2071
2223
 
2072
- .tds-radio:has(input:checked){
2073
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
2074
- --tds-radio-input-border-color:var(--t-border-color-control-info);
2075
- --tds-radio-input-border-width:4px;
2224
+ .tds-radio-group legend{
2225
+ float:left;
2226
+ padding:0;
2227
+ margin:0;
2076
2228
  }
2077
2229
 
2078
- .tds-radio:has(input:checked) input:hover:not(:disabled){
2079
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
2080
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2081
- }
2082
-
2083
- .tds-radio:has(input:user-invalid){
2084
- --tds-radio-input-border-color:var(--t-form-border-color-error);
2230
+ .tds-radio-group[aria-invalid="true"]{
2231
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
2232
+ --tds-radio-group-description-invalid-icon-display:inline-block;
2085
2233
  }
2086
2234
 
2087
- .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
2088
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2089
- --tds-radio-input-background-color:var(--t-form-background-color-error);
2235
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
2236
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
2090
2237
  }
2091
2238
 
2092
- .tds-radio:has(input:disabled){
2093
- --tds-radio-input-background-color:var(--t-form-background-color-disabled);
2094
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2239
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
2240
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2241
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
2242
+ }
2095
2243
 
2096
- --tds-radio-label-color:var(--t-form-color-disabled);
2097
- --tds-radio-description-color:var(--t-form-color-disabled);
2098
- --tds-radio-cursor:not-allowed;
2099
- }
2244
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
2245
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
2246
+ }
2100
2247
 
2101
- .tds-radio:has(input:disabled) input:checked{
2102
- --tds-radio-input-background-color:var(--t-form-background-color);
2103
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2248
+ .tds-radio-group:has(input:required) legend::after{
2249
+ margin-left:.25ch;
2250
+ color:var(--t-text-color-status-error);
2251
+ content:"*";
2104
2252
  }
2105
2253
 
2106
- .tds-radio-description{
2254
+ .tds-radio-group-fields{
2255
+ display:flex;
2256
+ flex-direction:column;
2257
+ gap:var(--tds-radio-group-gap);
2258
+ align-items:flex-start;
2259
+ margin-top:var(--t-spacing-1);
2260
+ }
2261
+
2262
+ .tds-radio-group-description{
2107
2263
  display:flex;
2108
- grid-area:2 / 2;
2109
2264
  gap:var(--t-spacing-half);
2110
2265
  align-items:flex-start;
2111
- padding-inline-start:var(--t-spacing-1);
2112
- margin:0;
2113
- font-size:var(--tds-radio-description-font-size);
2114
- line-height:var(--tds-radio-description-line-height);
2115
- color:var(--tds-radio-description-color);
2266
+ margin:var(--t-spacing-fourth) 0 0;
2267
+ font-size:var(--tds-radio-group-description-font-size);
2268
+ line-height:var(--tds-radio-group-description-line-height);
2269
+ color:var(--tds-radio-group-description-color);
2116
2270
  cursor:text;
2117
2271
  }
2118
2272
 
2119
- .tds-radio--sm{
2120
- --tds-radio-line-height:1.35;
2121
- --tds-radio-input-size:var(--t-element-size-sm);
2122
- --tds-radio-font-size:var(--t-font-size-sm);
2123
- --tds-radio-description-font-size:var(--t-font-size-xs);
2124
- --tds-radio-description-line-height:1.3;
2273
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
2274
+ display:var(--tds-radio-group-description-invalid-icon-display);
2275
+ flex-shrink:0;
2276
+ margin-top:calc(.5lh - .5em);
2277
+ line-height:var(--tds-radio-group-description-line-height);
2278
+ }
2279
+
2280
+ .tds-radio-group--sm{
2281
+ --tds-radio-group-line-height:1.35;
2282
+ --tds-radio-group-font-size:var(--t-font-size-sm);
2283
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
2284
+ --tds-radio-group-description-line-height:1.3;
2125
2285
  }
2126
2286
 
2127
2287
  .tds-input:has(textarea){
@@ -2215,296 +2375,151 @@ a.tds-dropdown-item:is(:hover, :active){
2215
2375
  cursor:default;
2216
2376
  }
2217
2377
 
2218
- @supports (-moz-appearance: none){
2219
- :is(.tds-input textarea){
2220
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
2221
- scrollbar-width:thin;
2222
- }
2223
-
2224
- @media (hover){
2225
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2226
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
2227
- }
2228
- }
2229
- }
2230
- }
2231
-
2232
- .tds-radio-group{
2233
- --tds-radio-group-font-size:var(--t-font-size-md);
2234
- --tds-radio-group-line-height:1.4;
2235
- --tds-radio-group-gap:var(--t-spacing-1);
2236
-
2237
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
2238
- --tds-radio-group-description-line-height:1.35;
2239
- --tds-radio-group-description-color:var(--t-text-color-secondary);
2240
- --tds-radio-group-description-invalid-icon-display:none;
2241
- display:flex;
2242
- flex-direction:column;
2243
- gap:0;
2244
- padding:0;
2245
- margin:0;
2246
-
2247
- font-size:var(--tds-radio-group-font-size);
2248
- line-height:var(--tds-radio-group-line-height);
2249
- border:0;
2250
- }
2251
-
2252
- .tds-radio-group legend{
2253
- float:left;
2254
- padding:0;
2255
- margin:0;
2256
- }
2257
-
2258
- .tds-radio-group[aria-invalid="true"]{
2259
- --tds-radio-group-description-color:var(--t-text-color-status-error);
2260
- --tds-radio-group-description-invalid-icon-display:inline-block;
2261
- }
2262
-
2263
- .tds-radio-group[aria-invalid="true"] .tds-radio{
2264
- --tds-radio-input-border-color:var(--t-form-border-color-error);
2265
- }
2266
-
2267
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
2268
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2269
- --tds-radio-input-background-color:var(--t-form-background-color-error);
2270
- }
2271
-
2272
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
2273
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
2274
- }
2275
-
2276
- .tds-radio-group:has(input:required) legend::after{
2277
- margin-left:.25ch;
2278
- color:var(--t-text-color-status-error);
2279
- content:"*";
2280
- }
2281
-
2282
- .tds-radio-group-fields{
2283
- display:flex;
2284
- flex-direction:column;
2285
- gap:var(--tds-radio-group-gap);
2286
- align-items:flex-start;
2287
- margin-top:var(--t-spacing-1);
2288
- }
2289
-
2290
- .tds-radio-group-description{
2291
- display:flex;
2292
- gap:var(--t-spacing-half);
2293
- align-items:flex-start;
2294
- margin:var(--t-spacing-fourth) 0 0;
2295
- font-size:var(--tds-radio-group-description-font-size);
2296
- line-height:var(--tds-radio-group-description-line-height);
2297
- color:var(--tds-radio-group-description-color);
2298
- cursor:text;
2299
- }
2300
-
2301
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
2302
- display:var(--tds-radio-group-description-invalid-icon-display);
2303
- flex-shrink:0;
2304
- margin-top:calc(.5lh - .5em);
2305
- line-height:var(--tds-radio-group-description-line-height);
2306
- }
2307
-
2308
- .tds-radio-group--sm{
2309
- --tds-radio-group-line-height:1.35;
2310
- --tds-radio-group-font-size:var(--t-font-size-sm);
2311
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
2312
- --tds-radio-group-description-line-height:1.3;
2313
- }
2314
-
2315
- .tds-checkbox{
2316
- --tds-checkbox-font-size:var(--t-font-size-md);
2317
- --tds-checkbox-cursor:pointer;
2318
- --tds-checkbox-line-height:1.4;
2319
- --tds-checkbox-transition-property:background-color, border-color;
2378
+ @supports (-moz-appearance: none){
2379
+ :is(.tds-input textarea){
2380
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
2381
+ scrollbar-width:thin;
2382
+ }
2320
2383
 
2321
- --tds-checkbox-input-size:var(--t-element-size-md);
2322
- --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
2323
- --tds-checkbox-input-border-color:var(--t-form-border-color);
2324
- --tds-checkbox-input-background-color:var(--t-form-background-color);
2384
+ @media (hover){
2385
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2386
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
2387
+ }
2388
+ }
2389
+ }
2390
+ }
2325
2391
 
2326
- --tds-checkbox-input-icon:none;
2327
- --tds-checkbox-input-icon-visibility:hidden;
2328
- --tds-checkbox-input-icon-opacity:0;
2329
- --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
2392
+ .tds-radio{
2393
+ --tds-radio-font-size:var(--t-font-size-md);
2394
+ --tds-radio-cursor:pointer;
2395
+ --tds-radio-line-height:1.4;
2396
+ --tds-radio-transition-property:border-width;
2330
2397
 
2331
- --tds-checkbox-label-color:var(--t-form-color);
2398
+ --tds-radio-input-size:var(--t-element-size-md);
2399
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
2400
+ --tds-radio-input-border-color:var(--t-form-border-color);
2401
+ --tds-radio-input-border-width:var(--t-form-border-width);
2402
+ --tds-radio-input-background-color:var(--t-form-background-color);
2332
2403
 
2333
- --tds-checkbox-description-font-size:var(--t-font-size-sm);
2334
- --tds-checkbox-description-line-height:1.35;
2335
- --tds-checkbox-description-color:var(--t-text-color-secondary);
2336
- --tds-checkbox-description-invalid-icon-display:none;
2404
+ --tds-radio-label-color:var(--t-form-color);
2405
+
2406
+ --tds-radio-description-font-size:var(--t-font-size-sm);
2407
+ --tds-radio-description-line-height:1.35;
2408
+ --tds-radio-description-color:var(--t-text-color-secondary);
2337
2409
 
2338
2410
  position:relative;
2339
2411
  display:inline-grid;
2340
2412
  grid-template-columns:auto;
2341
2413
  grid-auto-columns:1fr;
2342
2414
  gap:var(--t-spacing-fourth) 0;
2343
- line-height:var(--tds-checkbox-line-height);
2415
+ line-height:var(--tds-radio-line-height);
2344
2416
  -webkit-user-select:none;
2345
2417
  -moz-user-select:none;
2346
2418
  user-select:none;
2347
2419
  }
2348
2420
 
2349
- .tds-checkbox label{
2421
+ .tds-radio label{
2350
2422
  grid-area:1 / 2;
2351
2423
  padding-inline-start:var(--t-spacing-1);
2352
- font-size:var(--tds-checkbox-font-size);
2424
+ font-size:var(--tds-radio-font-size);
2353
2425
  font-weight:var(--t-font-weight-normal);
2354
- color:var(--tds-checkbox-label-color);
2355
- cursor:var(--tds-checkbox-cursor);
2356
- }
2357
-
2358
- .tds-checkbox tds-indeterminate{
2359
- display:flex;
2426
+ color:var(--tds-radio-label-color);
2427
+ cursor:var(--tds-radio-cursor);
2360
2428
  }
2361
2429
 
2362
- .tds-checkbox input[type="checkbox"]{
2430
+ .tds-radio input[type="radio"]{
2363
2431
  position:relative;
2364
2432
  width:1em;
2365
2433
  height:1em;
2366
2434
  margin:calc((1lh - 1em) / 2) 0 0;
2367
- font-size:var(--tds-checkbox-font-size);
2435
+ font-size:var(--tds-radio-font-size);
2368
2436
  line-height:inherit;
2369
2437
  -webkit-appearance:none;
2370
2438
  -moz-appearance:none;
2371
2439
  appearance:none;
2372
- cursor:var(--tds-checkbox-cursor);
2373
- background-color:var(--tds-checkbox-input-background-color);
2374
- border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
2375
- border-radius:var(--tds-checkbox-input-border-radius);
2440
+ cursor:var(--tds-radio-cursor);
2441
+ background-color:var(--tds-radio-input-background-color);
2442
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
2443
+ border-radius:var(--tds-radio-input-border-radius);
2376
2444
  transition-timing-function:var(--t-ease-in-out);
2377
2445
  transition-duration:var(--t-duration-200);
2378
- transition-property:var(--tds-checkbox-transition-property);
2446
+ transition-property:var(--tds-radio-transition-property);
2379
2447
  }
2380
2448
 
2381
- :is(.tds-checkbox input[type="checkbox"])::before{
2382
- position:absolute;
2383
- top:50%;
2384
- left:50%;
2385
- visibility:var(--tds-checkbox-input-icon-visibility);
2386
- width:100%;
2387
- height:100%;
2388
- content:"";
2389
- background-color:var(--tds-checkbox-input-icon-fill);
2390
- border-radius:var(--tds-checkbox-input-border-radius);
2391
- opacity:var(--tds-checkbox-input-icon-opacity);
2392
- -webkit-mask-image:var(--tds-checkbox-input-icon);
2393
- mask-image:var(--tds-checkbox-input-icon);
2394
- -webkit-mask-repeat:no-repeat;
2395
- mask-repeat:no-repeat;
2396
- -webkit-mask-size:contain;
2397
- mask-size:contain;
2398
- transform:translate(-50%, -50%);
2399
- }
2400
-
2401
- :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
2402
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
2403
- --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
2449
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
2450
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2451
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
2404
2452
  }
2405
2453
 
2406
- :is(.tds-checkbox input[type="checkbox"]):focus-visible{
2454
+ :is(.tds-radio input[type="radio"]):focus-visible{
2407
2455
  outline:var(--t-focus-ring-outline);
2408
2456
  outline-offset:var(--t-focus-ring-offset);
2409
2457
  }
2410
2458
 
2411
- :is(.tds-checkbox input[type="checkbox"]):disabled{
2459
+ :is(.tds-radio input[type="radio"]):disabled{
2412
2460
  pointer-events:none;
2413
2461
  }
2414
2462
 
2415
2463
  @media (prefers-reduced-motion: reduce){
2416
2464
 
2417
- .tds-checkbox input[type="checkbox"]{
2418
- --tds-checkbox-transition-property:none;
2465
+ .tds-radio input[type="radio"]{
2466
+ --tds-radio-transition-property:none;
2419
2467
  }
2420
2468
  }
2421
2469
 
2422
- .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
2423
- --tds-checkbox-input-background-color:var(--t-fill-color-control);
2424
- --tds-checkbox-input-border-color:var(--t-border-color-control-info);
2425
- --tds-checkbox-input-icon-visibility:visible;
2426
- --tds-checkbox-input-icon-opacity:1;
2470
+ .tds-radio:has(input:checked){
2471
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
2472
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
2473
+ --tds-radio-input-border-width:4px;
2427
2474
  }
2428
2475
 
2429
- :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
2430
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
2431
- --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
2476
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
2477
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
2478
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2432
2479
  }
2433
2480
 
2434
- .tds-checkbox:has(input:checked){
2435
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
2436
- }
2437
-
2438
- .tds-checkbox:has(input:indeterminate){
2439
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
2440
- }
2441
-
2442
- .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
2443
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
2444
- --tds-checkbox-description-color:var(--t-text-color-status-error);
2445
- --tds-checkbox-description-invalid-icon-display:inline-block;
2481
+ .tds-radio:has(input:user-invalid){
2482
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
2446
2483
  }
2447
2484
 
2448
- :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
2449
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
2450
- --tds-checkbox-input-background-color:var(--t-form-background-color-error);
2451
- }
2452
-
2453
- :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:checked,:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:indeterminate{
2454
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
2455
- --tds-checkbox-input-background-color:var(--t-form-border-color-error);
2456
- }
2457
-
2458
- :is(:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:checked,:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:indeterminate):hover:not(:disabled){
2459
- --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
2460
- --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
2461
- }
2462
-
2463
- .tds-checkbox:has(input:required) label::after{
2464
- margin-left:.25ch;
2465
- color:var(--t-text-color-status-error);
2466
- content:"*";
2485
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
2486
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2487
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
2467
2488
  }
2468
2489
 
2469
- .tds-checkbox:has(input:disabled){
2470
- --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
2471
- --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
2490
+ .tds-radio:has(input:disabled){
2491
+ --tds-radio-input-background-color:var(--t-form-background-color-disabled);
2492
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2472
2493
 
2473
- --tds-checkbox-label-color:var(--t-form-color-disabled);
2474
- --tds-checkbox-description-color:var(--t-form-color-disabled);
2475
- --tds-checkbox-cursor:not-allowed;
2494
+ --tds-radio-label-color:var(--t-form-color-disabled);
2495
+ --tds-radio-description-color:var(--t-form-color-disabled);
2496
+ --tds-radio-cursor:not-allowed;
2476
2497
  }
2477
2498
 
2478
- .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
2479
- --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
2499
+ .tds-radio:has(input:disabled) input:checked{
2500
+ --tds-radio-input-background-color:var(--t-form-background-color);
2501
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2480
2502
  }
2481
2503
 
2482
- .tds-checkbox-description{
2504
+ .tds-radio-description{
2483
2505
  display:flex;
2484
2506
  grid-area:2 / 2;
2485
2507
  gap:var(--t-spacing-half);
2486
2508
  align-items:flex-start;
2487
2509
  padding-inline-start:var(--t-spacing-1);
2488
2510
  margin:0;
2489
- font-size:var(--tds-checkbox-description-font-size);
2490
- line-height:var(--tds-checkbox-description-line-height);
2491
- color:var(--tds-checkbox-description-color);
2511
+ font-size:var(--tds-radio-description-font-size);
2512
+ line-height:var(--tds-radio-description-line-height);
2513
+ color:var(--tds-radio-description-color);
2492
2514
  cursor:text;
2493
2515
  }
2494
2516
 
2495
- .tds-checkbox-description .tds-checkbox-description-invalid-icon{
2496
- display:var(--tds-checkbox-description-invalid-icon-display);
2497
- flex-shrink:0;
2498
- margin-top:calc(.5lh - .5em);
2499
- line-height:var(--tds-checkbox-description-line-height);
2500
- }
2501
-
2502
- .tds-checkbox--sm{
2503
- --tds-checkbox-line-height:1.35;
2504
- --tds-checkbox-input-size:var(--t-element-size-sm);
2505
- --tds-checkbox-font-size:var(--t-font-size-sm);
2506
- --tds-checkbox-description-font-size:var(--t-font-size-xs);
2507
- --tds-checkbox-description-line-height:1.3;
2517
+ .tds-radio--sm{
2518
+ --tds-radio-line-height:1.35;
2519
+ --tds-radio-input-size:var(--t-element-size-sm);
2520
+ --tds-radio-font-size:var(--t-font-size-sm);
2521
+ --tds-radio-description-font-size:var(--t-font-size-xs);
2522
+ --tds-radio-description-line-height:1.3;
2508
2523
  }
2509
2524
 
2510
2525
  .tds-toggle-switch{
@@ -2647,33 +2662,6 @@ a.tds-dropdown-item:is(:hover, :active){
2647
2662
  --tds-toggle-switch-display:inline-flex;
2648
2663
  }
2649
2664
 
2650
- .tds-loading-spinner{
2651
- position:absolute;
2652
- right:0;
2653
- left:0;
2654
- visibility:var(--tds-loading-spinner-visibility, hidden);
2655
- width:var(--tds-loading-spinner-size, 1.25em);
2656
- height:var(--tds-loading-spinner-size, 1.25em);
2657
- margin:auto;
2658
- border:var(--tds-loading-spinner-track-width, 4px) solid var(--tds-loading-spinner-track-color, var(--t-fill-color-transparency-dark-020));
2659
- border-top-color:var(--tds-loading-spinner-color, currentcolor);
2660
- border-radius:50%;
2661
- animation:spinner-rotate 500ms infinite linear;
2662
- animation-play-state:var(--tds-loading-spinner-animation-play-state, paused);
2663
- }
2664
-
2665
- @keyframes spinner-rotate{
2666
- to{
2667
- transform:rotate(360deg);
2668
- }
2669
- }
2670
-
2671
- @media (prefers-reduced-motion: reduce){
2672
- [class*="--loading"] .tds-loading-spinner{
2673
- --tds-loading-spinner-animation-play-state:paused;
2674
- }
2675
- }
2676
-
2677
2665
  .tds-input{
2678
2666
  --tds-input-border-color:var(--t-form-border-color);
2679
2667
  --tds-input-border-color-hover:var(--t-form-border-color-hover);
@@ -2811,6 +2799,33 @@ a.tds-dropdown-item:is(:hover, :active){
2811
2799
  line-height:1.35;
2812
2800
  }
2813
2801
 
2802
+ .tds-loading-spinner{
2803
+ position:absolute;
2804
+ right:0;
2805
+ left:0;
2806
+ visibility:var(--tds-loading-spinner-visibility, hidden);
2807
+ width:var(--tds-loading-spinner-size, 1.25em);
2808
+ height:var(--tds-loading-spinner-size, 1.25em);
2809
+ margin:auto;
2810
+ border:var(--tds-loading-spinner-track-width, 4px) solid var(--tds-loading-spinner-track-color, var(--t-fill-color-transparency-dark-020));
2811
+ border-top-color:var(--tds-loading-spinner-color, currentcolor);
2812
+ border-radius:50%;
2813
+ animation:spinner-rotate 500ms infinite linear;
2814
+ animation-play-state:var(--tds-loading-spinner-animation-play-state, paused);
2815
+ }
2816
+
2817
+ @keyframes spinner-rotate{
2818
+ to{
2819
+ transform:rotate(360deg);
2820
+ }
2821
+ }
2822
+
2823
+ @media (prefers-reduced-motion: reduce){
2824
+ [class*="--loading"] .tds-loading-spinner{
2825
+ --tds-loading-spinner-animation-play-state:paused;
2826
+ }
2827
+ }
2828
+
2814
2829
  @layer t-critical, t-component;
2815
2830
 
2816
2831
  :root{