@planningcenter/tapestry 3.8.1-rc.3 → 3.8.1-rc.4

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,300 +1044,622 @@
1044
1044
  }
1045
1045
  }
1046
1046
 
1047
- .tds-button-group{
1048
- display:inline-flex;
1047
+
1048
+ @media (prefers-reduced-motion: no-preference){
1049
+
1050
+ :root{
1051
+ interpolate-size:allow-keywords;
1049
1052
  }
1050
- .tds-button-group > .tds-btn{
1051
- --tds-button-group-item-z-index:1;
1053
+ }
1052
1054
 
1053
- z-index:var(--tds-button-group-item-z-index);
1054
- border-radius:0;
1055
+ @layer tds-component{
1056
+ tds-sidenav,
1057
+ .tds-sidenav{
1058
+ --tds-sidenav-indent:12px;
1059
+ --tds-sidenav-item-depth:0;
1060
+
1061
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
1062
+
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);
1069
+
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);
1074
+
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;
1078
+
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);
1082
+
1083
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
1084
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
1085
+ }
1086
+
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;
1055
1094
  }
1056
- :is(.tds-button-group > .tds-btn):not(:first-child){
1057
- margin-inline-start:calc(var(--tds-btn-border-width) * -1);
1058
- }
1059
- :is(.tds-button-group > .tds-btn):hover{
1060
- --tds-button-group-item-z-index:2;
1061
- }
1062
- :is(.tds-button-group > .tds-btn):focus-visible{
1063
- --tds-button-group-item-z-index:5;
1064
1095
  }
1065
- .tds-button-group > .tds-btn:first-child{
1066
- border-start-start-radius:var(--tds-btn-border-radius);
1067
- border-end-start-radius:var(--tds-btn-border-radius);
1096
+
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);
1068
1103
  }
1069
- .tds-button-group > .tds-btn:last-child{
1070
- border-start-end-radius:var(--tds-btn-border-radius);
1071
- border-end-end-radius:var(--tds-btn-border-radius);
1104
+ }
1105
+
1106
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
1107
+ display:flex;
1072
1108
  }
1073
1109
 
1074
- .tds-checkbox-group{
1075
- --tds-checkbox-group-font-size:var(--t-font-size-md);
1076
- --tds-checkbox-group-line-height:1.4;
1077
- --tds-checkbox-group-gap:var(--t-spacing-1);
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%;
1114
+ }
1078
1115
 
1079
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1080
- --tds-checkbox-group-description-line-height:1.35;
1081
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1082
- --tds-checkbox-group-description-invalid-icon-display:none;
1116
+ .tds-sidenav-section-list{
1117
+ width:100%;
1118
+ padding:0;
1119
+ margin:0;
1120
+ list-style:none;
1121
+ }
1122
+
1123
+ .tds-sidenav-section-header{
1083
1124
  display:flex;
1084
- flex-direction:column;
1085
- gap:0;
1125
+ align-items:baseline;
1126
+ justify-content:space-between;
1127
+ padding-top:var(--t-spacing-2);
1128
+ }
1129
+
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;
1137
+ }
1138
+
1139
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
1140
+ padding-top:0;
1141
+ }
1142
+
1143
+ .tds-sidenav-section-header [slot="label-actions"]{
1144
+ display:flex;
1145
+ gap:var(--t-spacing-half);
1146
+ align-items:center;
1147
+ }
1148
+
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;
1155
+ }
1156
+
1157
+ .tds-sidenav-section-list,
1158
+ .tds-sidenav-item{
1159
+ width:100%;
1086
1160
  padding:0;
1087
1161
  margin:0;
1162
+ }
1088
1163
 
1089
- font-size:var(--tds-checkbox-group-font-size);
1090
- line-height:var(--tds-checkbox-group-line-height);
1091
- border:0;
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);
1185
+ }
1186
+
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
+ }
1195
+
1196
+ :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
1197
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
1198
+ color:var(--t-text-color-headline);
1199
+ text-decoration:none;
1200
+ }
1201
+
1202
+ :is(.tds-sidenav-item :is(a,button)):active{
1203
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
1204
+ }
1205
+
1206
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
1207
+ overflow:hidden;
1208
+ color:var(--tds-sidenav-item-icon-color);
1209
+ }
1210
+
1211
+ :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{
1212
+ display:block;
1213
+ width:var(--tds-sidenav-item-icon-size);
1214
+ height:var(--tds-sidenav-item-icon-size);
1215
+ }
1216
+
1217
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
1218
+ --tds-sidenav-indent:19px;
1219
+ }
1220
+
1221
+ [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
1222
+ visibility:visible;
1223
+ block-size:auto;
1224
+ opacity:1;
1225
+ }
1226
+
1227
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
1228
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
1229
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
1230
+
1231
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
1232
+ font-weight:var(--t-font-weight-semibold);
1233
+ }
1234
+
1235
+ .tds-sidenav-item:has(.tds-sidenav-section){
1236
+ display:flex;
1237
+ flex-direction:column;
1238
+ gap:var(--t-spacing-half);
1239
+ }
1240
+
1241
+ .tds-sidenav-item .tds-sidenav-section-list{
1242
+ --tds-sidenav-item-depth:1;
1243
+ gap:0;
1244
+ }
1245
+
1246
+ .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
1247
+ visibility:hidden;
1248
+ block-size:0;
1249
+ overflow-y:clip;
1250
+ opacity:0;
1251
+ transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
1252
+ }
1253
+
1254
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
1255
+ --tds-sidenav-item-depth:2;
1256
+ }
1257
+
1258
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1259
+ min-height:var(--t-element-size-2xl);
1260
+ padding-block:9px;
1261
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
1262
+ line-height:1;
1263
+ background-color:transparent;
1264
+ }
1265
+
1266
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
1267
+ position:absolute;
1268
+ top:0;
1269
+ bottom:0;
1270
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1271
+ width:2px;
1272
+ content:"";
1273
+ background-color:var(--tds-sidenav-item-nested-border-color);
1274
+ transition:var(--tds-sidenav-item-transition);
1275
+ }
1276
+
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%;
1092
1313
  }
1093
1314
 
1094
- .tds-checkbox-group legend{
1095
- float:left;
1096
- padding:0;
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;
1097
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);
1098
1326
  }
1099
1327
 
1100
- .tds-checkbox-group[aria-invalid="true"]{
1101
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1102
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
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;
1103
1346
  }
1104
1347
 
1105
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1106
- margin-left:.25ch;
1107
- color:var(--t-text-color-status-error);
1108
- content:"*";
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;
1109
1398
  }
1110
1399
 
1111
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1112
- content:none;
1400
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1401
+ display:block;
1113
1402
  }
1114
1403
 
1115
- .tds-checkbox-group-fields{
1116
- display:flex;
1117
- flex-direction:column;
1118
- gap:var(--tds-checkbox-group-gap);
1119
- align-items:flex-start;
1120
- margin-top:var(--t-spacing-1);
1121
- }
1404
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1405
+ display:flex;
1406
+ flex-direction:column;
1407
+ }
1122
1408
 
1123
- .tds-checkbox-group-description{
1124
- display:flex;
1125
- gap:var(--t-spacing-half);
1126
- align-items:flex-start;
1127
- margin:var(--t-spacing-fourth) 0 0;
1128
- font-size:var(--tds-checkbox-group-description-font-size);
1129
- line-height:var(--tds-checkbox-group-description-line-height);
1130
- color:var(--tds-checkbox-group-description-color);
1131
- cursor:text;
1409
+ .tds-combo-box{
1410
+ --tds-combo-box-button-offset:4px;
1132
1411
  }
1133
1412
 
1134
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1135
- display:var(--tds-checkbox-group-description-invalid-icon-display);
1136
- flex-shrink:0;
1137
- margin-top:calc(.5lh - .5em);
1138
- line-height:var(--tds-checkbox-group-description-line-height);
1413
+ .tds-combo-box[data-open] .tds-combo-box-button > svg{
1414
+ transform:rotate(.5turn);
1139
1415
  }
1140
1416
 
1141
- .tds-checkbox-group--sm{
1142
- --tds-checkbox-group-line-height:1.35;
1143
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
1144
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1145
- --tds-checkbox-group-description-line-height:1.3;
1417
+ .tds-combo-box--lg{
1418
+ --tds-combo-box-button-offset:5px;
1146
1419
  }
1147
1420
 
1148
- .tds-checkbox{
1149
- --tds-checkbox-font-size:var(--t-font-size-md);
1150
- --tds-checkbox-cursor:pointer;
1151
- --tds-checkbox-line-height:1.4;
1152
- --tds-checkbox-transition-property:background-color, border-color;
1421
+ .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
1422
+ display:none;
1423
+ }
1153
1424
 
1154
- --tds-checkbox-input-size:var(--t-element-size-md);
1155
- --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
1156
- --tds-checkbox-input-border-color:var(--t-form-border-color);
1157
- --tds-checkbox-input-background-color:var(--t-form-background-color);
1425
+ .tds-combo-box-input{
1426
+ display:flex;
1427
+ flex:1;
1428
+ align-items:center;
1429
+ padding-block:var(--tds-field-padding-block);
1430
+ padding-inline:var(--tds-field-padding-inline);
1431
+ font-family:inherit;
1432
+ font-size:inherit;
1433
+ color:inherit;
1434
+ outline:0;
1435
+ background:transparent;
1436
+ border:0;
1437
+ }
1158
1438
 
1159
- --tds-checkbox-input-icon:none;
1160
- --tds-checkbox-input-icon-visibility:hidden;
1161
- --tds-checkbox-input-icon-opacity:0;
1162
- --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
1439
+ .tds-combo-box-input:has( + .tds-combo-box-button){
1440
+ padding-inline-end:0;
1441
+ }
1163
1442
 
1164
- --tds-checkbox-label-color:var(--t-form-color);
1443
+ .tds-combo-box-input::-moz-placeholder{
1444
+ color:var(--tds-field-placeholder-color);
1445
+ -moz-user-select:none;
1446
+ user-select:none;
1447
+ }
1165
1448
 
1166
- --tds-checkbox-description-font-size:var(--t-font-size-sm);
1167
- --tds-checkbox-description-line-height:1.35;
1168
- --tds-checkbox-description-color:var(--t-text-color-secondary);
1169
- --tds-checkbox-description-invalid-icon-display:none;
1449
+ .tds-combo-box-input::placeholder{
1450
+ color:var(--tds-field-placeholder-color);
1451
+ -webkit-user-select:none;
1452
+ -moz-user-select:none;
1453
+ user-select:none;
1454
+ }
1170
1455
 
1171
- position:relative;
1172
- display:inline-grid;
1173
- grid-template-columns:auto;
1174
- grid-auto-columns:1fr;
1175
- gap:var(--t-spacing-fourth) 0;
1176
- line-height:var(--tds-checkbox-line-height);
1456
+ .tds-combo-box-button{
1457
+ flex-shrink:0;
1458
+ align-self:center;
1459
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1460
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1461
+ padding:0;
1462
+ margin-inline-end:var(--tds-combo-box-button-offset);
1463
+ }
1464
+
1465
+ .tds-combo-box-button > svg{
1466
+ inline-size:var(--tds-field-font-size);
1467
+ block-size:var(--tds-field-font-size);
1468
+ transition:transform var(--t-duration-300) var(--t-ease-in-out);
1469
+ }
1470
+
1471
+ .tds-combo-box-popover{
1472
+ width:var(--trigger-width);
1473
+ max-block-size:inherit;
1474
+ padding:var(--t-spacing-1);
1475
+ overflow:auto;
1476
+ scroll-behavior:smooth;
1477
+ overscroll-behavior:none;
1177
1478
  -webkit-user-select:none;
1178
1479
  -moz-user-select:none;
1179
1480
  user-select:none;
1481
+ outline:0;
1482
+ scrollbar-color:#0004 var(--t-surface-color-card);
1483
+ scrollbar-width:thin;
1484
+ background:var(--t-surface-color-card);
1485
+ background-clip:padding-box;
1486
+ border:1px solid var(--t-border-color);
1487
+ border-radius:var(--t-border-radius);
1488
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1180
1489
  }
1181
1490
 
1182
- .tds-checkbox label{
1183
- grid-area:1 / 2;
1184
- padding-inline-start:var(--t-spacing-1);
1185
- font-size:var(--tds-checkbox-font-size);
1186
- font-weight:var(--t-font-weight-normal);
1187
- color:var(--tds-checkbox-label-color);
1188
- cursor:var(--tds-checkbox-cursor);
1491
+ .tds-combo-box-popover[data-entering]{
1492
+ animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
1189
1493
  }
1190
1494
 
1191
- .tds-checkbox tds-indeterminate{
1192
- display:flex;
1495
+ .tds-combo-box-popover[data-exiting]{
1496
+ animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
1193
1497
  }
1194
1498
 
1195
- .tds-checkbox input[type="checkbox"]{
1196
- position:relative;
1197
- width:1em;
1198
- height:1em;
1199
- margin:calc((1lh - 1em) / 2) 0 0;
1200
- font-size:var(--tds-checkbox-font-size);
1201
- line-height:inherit;
1202
- -webkit-appearance:none;
1203
- -moz-appearance:none;
1204
- appearance:none;
1205
- cursor:var(--tds-checkbox-cursor);
1206
- background-color:var(--tds-checkbox-input-background-color);
1207
- border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
1208
- border-radius:var(--tds-checkbox-input-border-radius);
1209
- transition-timing-function:var(--t-ease-in-out);
1210
- transition-duration:var(--t-duration-200);
1211
- transition-property:var(--tds-checkbox-transition-property);
1499
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1500
+ will-change:opacity, transform;
1212
1501
  }
1213
1502
 
1214
- :is(.tds-checkbox input[type="checkbox"])::before{
1215
- position:absolute;
1216
- top:50%;
1217
- left:50%;
1218
- visibility:var(--tds-checkbox-input-icon-visibility);
1219
- width:100%;
1220
- height:100%;
1221
- content:"";
1222
- background-color:var(--tds-checkbox-input-icon-fill);
1223
- border-radius:var(--tds-checkbox-input-border-radius);
1224
- opacity:var(--tds-checkbox-input-icon-opacity);
1225
- -webkit-mask-image:var(--tds-checkbox-input-icon);
1226
- mask-image:var(--tds-checkbox-input-icon);
1227
- -webkit-mask-repeat:no-repeat;
1228
- mask-repeat:no-repeat;
1229
- -webkit-mask-size:contain;
1230
- mask-size:contain;
1231
- transform:translate(-50%, -50%);
1232
- }
1503
+ @keyframes tds-combo-box-popover{
1504
+ from{
1505
+ opacity:0;
1506
+ transform:translateY(-8px);
1507
+ }
1508
+ }
1233
1509
 
1234
- :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
1235
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
1236
- --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1510
+ @media (prefers-reduced-motion: reduce){
1511
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1512
+ animation:none;
1237
1513
  }
1238
1514
 
1239
- :is(.tds-checkbox input[type="checkbox"]):focus-visible{
1240
- outline:var(--t-focus-ring-outline);
1241
- outline-offset:var(--t-focus-ring-offset);
1242
- }
1515
+ .tds-combo-box-button > svg{
1516
+ transition:none;
1517
+ }
1518
+ }
1243
1519
 
1244
- :is(.tds-checkbox input[type="checkbox"]):disabled{
1245
- pointer-events:none;
1246
- }
1520
+ .tds-combo-box-list{
1521
+ padding:0;
1522
+ margin:0;
1523
+ }
1247
1524
 
1248
- @media (prefers-reduced-motion: reduce){
1525
+ .tds-combo-box-list-item{
1526
+ display:block;
1527
+ padding-block:var(--t-spacing-1);
1528
+ padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1529
+ overflow:hidden;
1530
+ text-overflow:ellipsis;
1531
+ font-size:1rem;
1532
+ color:var(--t-text-color);
1533
+ white-space:nowrap;
1534
+ cursor:default;
1535
+ border-radius:var(--t-border-radius);
1536
+ }
1249
1537
 
1250
- .tds-checkbox input[type="checkbox"]{
1251
- --tds-checkbox-transition-property:none;
1538
+ .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
1539
+ background:var(--t-fill-color-neutral-070);
1252
1540
  }
1253
- }
1254
1541
 
1255
- .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
1256
- --tds-checkbox-input-background-color:var(--t-fill-color-control);
1257
- --tds-checkbox-input-border-color:var(--t-border-color-control-info);
1258
- --tds-checkbox-input-icon-visibility:visible;
1259
- --tds-checkbox-input-icon-opacity:1;
1542
+ .tds-combo-box-list-item[data-selected]{
1543
+ background:var(--t-fill-color-button-interaction-ghost-active);
1260
1544
  }
1261
1545
 
1262
- :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
1263
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
1264
- --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
1546
+ .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
1547
+ background:var(--t-fill-color-neutral-060);
1548
+ }
1549
+
1550
+ .tds-combo-box-list-item[data-disabled]{
1551
+ color:var(--t-form-color-disabled);
1552
+ cursor:not-allowed;
1553
+ }
1554
+
1555
+ .tds-combo-box-list-item[data-disabled][data-hovered]{
1556
+ background:transparent;
1265
1557
  }
1266
1558
 
1267
- .tds-checkbox:has(input:checked){
1268
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1269
- }
1559
+ .tds-combo-box-empty-state{
1560
+ position:relative;
1561
+ min-block-size:var(--t-spacing-3);
1562
+ padding-block:var(--t-spacing-1);
1563
+ padding-inline:var(--t-spacing-2);
1564
+ font-size:var(--t-font-size-md);
1565
+ color:var(--t-text-color-secondary);
1566
+ }
1567
+
1568
+ .tds-combo-box-load-more{
1569
+ position:relative;
1570
+ min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
1571
+ }
1572
+
1573
+ .tds-combo-box-empty-state,
1574
+ .tds-combo-box-load-more{
1575
+ --tds-loading-spinner-visibility:visible;
1576
+ --tds-loading-spinner-animation-play-state:running;
1577
+ }
1270
1578
 
1271
- .tds-checkbox:has(input:indeterminate){
1272
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1579
+ .tds-combo-box-list-section:not(:first-child){
1580
+ margin-block-start:var(--t-spacing-half);
1273
1581
  }
1274
1582
 
1275
- .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
1276
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1277
- --tds-checkbox-description-color:var(--t-text-color-status-error);
1278
- --tds-checkbox-description-invalid-icon-display:inline-block;
1279
- }
1583
+ .tds-combo-box-section-header{
1584
+ padding-block:var(--t-spacing-1);
1585
+ padding-inline:var(--t-spacing-1);
1586
+ font-size:var(--t-font-size-sm);
1587
+ font-weight:var(--t-font-weight-semibold);
1588
+ color:var(--t-text-color-secondary);
1589
+ }
1280
1590
 
1281
- :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
1282
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1283
- --tds-checkbox-input-background-color:var(--t-form-background-color-error);
1284
- }
1591
+ .tds-checkbox-group{
1592
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
1593
+ --tds-checkbox-group-line-height:1.4;
1594
+ --tds-checkbox-group-gap:var(--t-spacing-1);
1285
1595
 
1286
- :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{
1287
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1288
- --tds-checkbox-input-background-color:var(--t-form-border-color-error);
1289
- }
1596
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1597
+ --tds-checkbox-group-description-line-height:1.35;
1598
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1599
+ --tds-checkbox-group-description-invalid-icon-display:none;
1600
+ display:flex;
1601
+ flex-direction:column;
1602
+ gap:0;
1603
+ padding:0;
1604
+ margin:0;
1290
1605
 
1291
- :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){
1292
- --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
1293
- --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
1294
- }
1606
+ font-size:var(--tds-checkbox-group-font-size);
1607
+ line-height:var(--tds-checkbox-group-line-height);
1608
+ border:0;
1609
+ }
1295
1610
 
1296
- .tds-checkbox:has(input:required) label::after{
1611
+ .tds-checkbox-group legend{
1612
+ float:left;
1613
+ padding:0;
1614
+ margin:0;
1615
+ }
1616
+
1617
+ .tds-checkbox-group[aria-invalid="true"]{
1618
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1619
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
1620
+ }
1621
+
1622
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1297
1623
  margin-left:.25ch;
1298
1624
  color:var(--t-text-color-status-error);
1299
1625
  content:"*";
1300
1626
  }
1301
1627
 
1302
- .tds-checkbox:has(input:disabled){
1303
- --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
1304
- --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
1305
-
1306
- --tds-checkbox-label-color:var(--t-form-color-disabled);
1307
- --tds-checkbox-description-color:var(--t-form-color-disabled);
1308
- --tds-checkbox-cursor:not-allowed;
1309
- }
1310
-
1311
- .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
1312
- --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
1628
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1629
+ content:none;
1313
1630
  }
1314
1631
 
1315
- .tds-checkbox-description{
1632
+ .tds-checkbox-group-fields{
1633
+ display:flex;
1634
+ flex-direction:column;
1635
+ gap:var(--tds-checkbox-group-gap);
1636
+ align-items:flex-start;
1637
+ margin-top:var(--t-spacing-1);
1638
+ }
1639
+
1640
+ .tds-checkbox-group-description{
1316
1641
  display:flex;
1317
- grid-area:2 / 2;
1318
1642
  gap:var(--t-spacing-half);
1319
1643
  align-items:flex-start;
1320
- padding-inline-start:var(--t-spacing-1);
1321
- margin:0;
1322
- font-size:var(--tds-checkbox-description-font-size);
1323
- line-height:var(--tds-checkbox-description-line-height);
1324
- color:var(--tds-checkbox-description-color);
1644
+ margin:var(--t-spacing-fourth) 0 0;
1645
+ font-size:var(--tds-checkbox-group-description-font-size);
1646
+ line-height:var(--tds-checkbox-group-description-line-height);
1647
+ color:var(--tds-checkbox-group-description-color);
1325
1648
  cursor:text;
1326
1649
  }
1327
1650
 
1328
- .tds-checkbox-description .tds-checkbox-description-invalid-icon{
1329
- display:var(--tds-checkbox-description-invalid-icon-display);
1651
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1652
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
1330
1653
  flex-shrink:0;
1331
1654
  margin-top:calc(.5lh - .5em);
1332
- line-height:var(--tds-checkbox-description-line-height);
1655
+ line-height:var(--tds-checkbox-group-description-line-height);
1333
1656
  }
1334
1657
 
1335
- .tds-checkbox--sm{
1336
- --tds-checkbox-line-height:1.35;
1337
- --tds-checkbox-input-size:var(--t-element-size-sm);
1338
- --tds-checkbox-font-size:var(--t-font-size-sm);
1339
- --tds-checkbox-description-font-size:var(--t-font-size-xs);
1340
- --tds-checkbox-description-line-height:1.3;
1658
+ .tds-checkbox-group--sm{
1659
+ --tds-checkbox-group-line-height:1.35;
1660
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
1661
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1662
+ --tds-checkbox-group-description-line-height:1.3;
1341
1663
  }
1342
1664
 
1343
1665
  .tds-dropdown-popover{
@@ -1474,200 +1796,105 @@ a.tds-dropdown-item:is(:hover, :active){
1474
1796
  border-top:1px solid var(--t-border-color);
1475
1797
  }
1476
1798
 
1477
- .tds-combo-box{
1478
- --tds-combo-box-button-offset:4px;
1479
- }
1480
-
1481
- .tds-combo-box[data-open] .tds-combo-box-button > svg{
1482
- transform:rotate(.5turn);
1483
- }
1484
-
1485
- .tds-combo-box--lg{
1486
- --tds-combo-box-button-offset:5px;
1487
- }
1488
-
1489
- .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
1490
- display:none;
1491
- }
1492
-
1493
- .tds-combo-box-input{
1494
- display:flex;
1495
- flex:1;
1496
- align-items:center;
1497
- padding-block:var(--tds-field-padding-block);
1498
- padding-inline:var(--tds-field-padding-inline);
1499
- font-family:inherit;
1500
- font-size:inherit;
1501
- color:inherit;
1502
- outline:0;
1503
- background:transparent;
1504
- border:0;
1505
- }
1506
-
1507
- .tds-combo-box-input:has( + .tds-combo-box-button){
1508
- padding-inline-end:0;
1509
- }
1510
-
1511
- .tds-combo-box-input::-moz-placeholder{
1512
- color:var(--tds-field-placeholder-color);
1513
- -moz-user-select:none;
1514
- user-select:none;
1515
- }
1516
-
1517
- .tds-combo-box-input::placeholder{
1518
- color:var(--tds-field-placeholder-color);
1519
- -webkit-user-select:none;
1520
- -moz-user-select:none;
1521
- user-select:none;
1522
- }
1523
-
1524
- .tds-combo-box-button{
1525
- flex-shrink:0;
1526
- align-self:center;
1527
- inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1528
- block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1529
- padding:0;
1530
- margin-inline-end:var(--tds-combo-box-button-offset);
1531
- }
1532
-
1533
- .tds-combo-box-button > svg{
1534
- inline-size:var(--tds-field-font-size);
1535
- block-size:var(--tds-field-font-size);
1536
- transition:transform var(--t-duration-300) var(--t-ease-in-out);
1537
- }
1538
-
1539
- .tds-combo-box-popover{
1540
- width:var(--trigger-width);
1541
- max-block-size:inherit;
1542
- padding:var(--t-spacing-1);
1543
- overflow:auto;
1544
- scroll-behavior:smooth;
1545
- overscroll-behavior:none;
1546
- -webkit-user-select:none;
1547
- -moz-user-select:none;
1548
- user-select:none;
1549
- outline:0;
1550
- scrollbar-color:#0004 var(--t-surface-color-card);
1551
- scrollbar-width:thin;
1552
- background:var(--t-surface-color-card);
1553
- background-clip:padding-box;
1554
- border:1px solid var(--t-border-color);
1555
- border-radius:var(--t-border-radius);
1556
- box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1799
+ .tds-button-group{
1800
+ display:inline-flex;
1557
1801
  }
1802
+ .tds-button-group > .tds-btn{
1803
+ --tds-button-group-item-z-index:1;
1558
1804
 
1559
- .tds-combo-box-popover[data-entering]{
1560
- animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
1561
- }
1562
-
1563
- .tds-combo-box-popover[data-exiting]{
1564
- animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
1565
- }
1566
-
1567
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1568
- will-change:opacity, transform;
1569
- }
1570
-
1571
- @keyframes tds-combo-box-popover{
1572
- from{
1573
- opacity:0;
1574
- transform:translateY(-8px);
1805
+ z-index:var(--tds-button-group-item-z-index);
1806
+ border-radius:0;
1575
1807
  }
1576
- }
1577
-
1578
- @media (prefers-reduced-motion: reduce){
1579
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1580
- animation:none;
1808
+ :is(.tds-button-group > .tds-btn):not(:first-child){
1809
+ margin-inline-start:calc(var(--tds-btn-border-width) * -1);
1581
1810
  }
1582
-
1583
- .tds-combo-box-button > svg{
1584
- transition:none;
1585
- }
1586
- }
1587
-
1588
- .tds-combo-box-list{
1589
- padding:0;
1590
- margin:0;
1591
- }
1592
-
1593
- .tds-combo-box-list-item{
1594
- display:block;
1595
- padding-block:var(--t-spacing-1);
1596
- padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1597
- overflow:hidden;
1598
- text-overflow:ellipsis;
1599
- font-size:1rem;
1600
- color:var(--t-text-color);
1601
- white-space:nowrap;
1602
- cursor:default;
1603
- border-radius:var(--t-border-radius);
1811
+ :is(.tds-button-group > .tds-btn):hover{
1812
+ --tds-button-group-item-z-index:2;
1813
+ }
1814
+ :is(.tds-button-group > .tds-btn):focus-visible{
1815
+ --tds-button-group-item-z-index:5;
1816
+ }
1817
+ .tds-button-group > .tds-btn:first-child{
1818
+ border-start-start-radius:var(--tds-btn-border-radius);
1819
+ border-end-start-radius:var(--tds-btn-border-radius);
1820
+ }
1821
+ .tds-button-group > .tds-btn:last-child{
1822
+ border-start-end-radius:var(--tds-btn-border-radius);
1823
+ border-end-end-radius:var(--tds-btn-border-radius);
1824
+ }
1825
+
1826
+ .tds-modal-overlay{
1827
+ position:fixed;
1828
+ inset:0;
1829
+ z-index:1000;
1830
+ display:flex;
1831
+ align-items:center;
1832
+ justify-content:center;
1833
+ background:hsl(0 0% 0% / 40%);
1604
1834
  }
1605
1835
 
1606
- .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
1607
- background:var(--t-fill-color-neutral-070);
1836
+ .tds-modal-overlay[data-entering]{
1837
+ animation:tds-modal-overlay-fade var(--t-duration-300) var(--t-ease-out);
1608
1838
  }
1609
1839
 
1610
- .tds-combo-box-list-item[data-selected]{
1611
- background:var(--t-fill-color-button-interaction-ghost-active);
1840
+ .tds-modal-overlay[data-exiting]{
1841
+ animation:tds-modal-overlay-fade var(--t-duration-200) var(--t-ease-in) reverse;
1612
1842
  }
1613
1843
 
1614
- .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
1615
- background:var(--t-fill-color-neutral-060);
1844
+ @keyframes tds-modal-overlay-fade{
1845
+ from{
1846
+ opacity:0;
1616
1847
  }
1848
+ }
1617
1849
 
1618
- .tds-combo-box-list-item[data-disabled]{
1619
- color:var(--t-form-color-disabled);
1620
- cursor:not-allowed;
1850
+ .tds-modal-frame{
1851
+ --tds-modal-width:600px;
1852
+
1853
+ display:flex;
1854
+ justify-content:center;
1855
+ width:min(var(--tds-modal-width), calc(100% - 48px));
1856
+ }
1857
+
1858
+ .tds-modal-frame[data-entering]{
1859
+ animation:tds-modal-zoom var(--t-duration-300) var(--t-ease-out);
1621
1860
  }
1622
1861
 
1623
- .tds-combo-box-list-item[data-disabled][data-hovered]{
1624
- background:transparent;
1625
- }
1862
+ .tds-modal-frame[data-exiting]{
1863
+ animation:tds-modal-zoom var(--t-duration-200) var(--t-ease-in) reverse;
1864
+ }
1626
1865
 
1627
- .tds-combo-box-empty-state{
1628
- position:relative;
1629
- min-block-size:var(--t-spacing-3);
1630
- padding-block:var(--t-spacing-1);
1631
- padding-inline:var(--t-spacing-2);
1632
- font-size:var(--t-font-size-md);
1633
- color:var(--t-text-color-secondary);
1866
+ .tds-modal-frame--sm{
1867
+ --tds-modal-width:400px;
1634
1868
  }
1635
1869
 
1636
- .tds-combo-box-load-more{
1637
- position:relative;
1638
- min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
1870
+ .tds-modal-frame--lg{
1871
+ --tds-modal-width:800px;
1639
1872
  }
1640
1873
 
1641
- .tds-combo-box-empty-state,
1642
- .tds-combo-box-load-more{
1643
- --tds-loading-spinner-visibility:visible;
1644
- --tds-loading-spinner-animation-play-state:running;
1874
+ .tds-modal-frame--xl{
1875
+ --tds-modal-width:1000px;
1645
1876
  }
1646
1877
 
1647
- .tds-combo-box-list-section:not(:first-child){
1648
- margin-block-start:var(--t-spacing-half);
1878
+ @keyframes tds-modal-zoom{
1879
+ from{
1880
+ opacity:0;
1881
+ scale:.96;
1649
1882
  }
1883
+ }
1650
1884
 
1651
- .tds-combo-box-section-header{
1652
- padding-block:var(--t-spacing-1);
1653
- padding-inline:var(--t-spacing-1);
1654
- font-size:var(--t-font-size-sm);
1655
- font-weight:var(--t-font-weight-semibold);
1656
- color:var(--t-text-color-secondary);
1885
+ @media (prefers-reduced-motion: reduce){
1886
+ .tds-modal-overlay[data-entering],
1887
+ .tds-modal-overlay[data-exiting],
1888
+ .tds-modal-frame[data-entering],
1889
+ .tds-modal-frame[data-exiting]{
1890
+ animation:none;
1891
+ }
1657
1892
  }
1658
1893
 
1659
1894
  .tds-modal{
1660
- --tds-modal-width:600px;
1661
- --tds-modal-opacity:0;
1662
- --tds-modal-backdrop-opacity:0;
1663
- --tds-modal-scale:.96;
1664
- --tds-modal-transition-duration:var(--t-duration-200);
1665
- --tds-modal-transition-timing-function:var(--t-ease-in);
1666
- --tds-modal-transition:opacity var(--tds-modal-transition-duration) var(--tds-modal-transition-timing-function), scale var(--tds-modal-transition-duration) var(--tds-modal-transition-timing-function);
1667
- --tds-modal-backdrop-transition:opacity var(--tds-modal-transition-duration) var(--tds-modal-transition-timing-function);
1668
-
1895
+ display:flex;
1669
1896
  flex-direction:column;
1670
- width:min(var(--tds-modal-width), calc(100% - 48px));
1897
+ width:100%;
1671
1898
  padding-block:var(--t-spacing-3);
1672
1899
  padding-inline:0;
1673
1900
  background:var(--t-surface-color-card);
@@ -1675,57 +1902,11 @@ a.tds-dropdown-item:is(:hover, :active){
1675
1902
  border:0;
1676
1903
  border-radius:var(--t-border-radius-lg);
1677
1904
  box-shadow:0 4px 18px 0 #0003;
1678
-
1679
- opacity:var(--tds-modal-opacity);
1680
- scale:var(--tds-modal-scale);
1681
- transition:var(--tds-modal-transition);
1682
- }
1683
-
1684
- .tds-modal[open]{
1685
- --tds-modal-opacity:1;
1686
- --tds-modal-backdrop-opacity:1;
1687
- --tds-modal-scale:1;
1688
- --tds-modal-transition-duration:var(--t-duration-300);
1689
- --tds-modal-transition-timing-function:var(--t-ease-out);
1690
-
1691
- display:flex;
1692
- }
1693
-
1694
- .tds-modal::backdrop{
1695
- background:hsl(0 0% 0% / 40%);
1696
- opacity:var(--tds-modal-backdrop-opacity);
1697
- transition:var(--tds-modal-backdrop-transition);
1698
- }
1699
-
1700
- @starting-style{
1701
- .tds-modal[open]{
1702
- --tds-modal-opacity:0;
1703
- --tds-modal-scale:.96;
1704
- }
1705
-
1706
- .tds-modal[open]::backdrop{
1707
- --tds-modal-backdrop-opacity:0;
1708
- }
1709
1905
  }
1710
1906
 
1711
- @media (prefers-reduced-motion: reduce){
1712
- .tds-modal{
1713
- --tds-modal-transition:none;
1714
- --tds-modal-backdrop-transition:none;
1907
+ .tds-modal:focus{
1908
+ outline:none;
1715
1909
  }
1716
- }
1717
-
1718
- .tds-modal--sm{
1719
- --tds-modal-width:400px;
1720
- }
1721
-
1722
- .tds-modal--lg{
1723
- --tds-modal-width:800px;
1724
- }
1725
-
1726
- .tds-modal--xl{
1727
- --tds-modal-width:1000px;
1728
- }
1729
1910
 
1730
1911
  .tds-modal-header{
1731
1912
  display:grid;
@@ -1793,244 +1974,104 @@ a.tds-dropdown-item:is(:hover, :active){
1793
1974
  }
1794
1975
 
1795
1976
  [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1796
- inline-size:1em;
1797
- block-size:2em;
1798
- }
1799
-
1800
- @supports (field-sizing: content){
1801
- .tds-input--auto-width{
1802
- inline-size:-moz-fit-content;
1803
- inline-size:fit-content;
1804
- min-inline-size:min(100%, 122px);
1805
- }
1806
-
1807
- .tds-input--auto-width input{
1808
- field-sizing:content;
1809
- inline-size:auto;
1810
- }
1811
- }
1812
-
1813
- .tds-radio-group{
1814
- --tds-radio-group-font-size:var(--t-font-size-md);
1815
- --tds-radio-group-line-height:1.4;
1816
- --tds-radio-group-gap:var(--t-spacing-1);
1817
-
1818
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
1819
- --tds-radio-group-description-line-height:1.35;
1820
- --tds-radio-group-description-color:var(--t-text-color-secondary);
1821
- --tds-radio-group-description-invalid-icon-display:none;
1822
- display:flex;
1823
- flex-direction:column;
1824
- gap:0;
1825
- padding:0;
1826
- margin:0;
1827
-
1828
- font-size:var(--tds-radio-group-font-size);
1829
- line-height:var(--tds-radio-group-line-height);
1830
- border:0;
1831
- }
1832
-
1833
- .tds-radio-group legend{
1834
- float:left;
1835
- padding:0;
1836
- margin:0;
1837
- }
1838
-
1839
- .tds-radio-group[aria-invalid="true"]{
1840
- --tds-radio-group-description-color:var(--t-text-color-status-error);
1841
- --tds-radio-group-description-invalid-icon-display:inline-block;
1842
- }
1843
-
1844
- .tds-radio-group[aria-invalid="true"] .tds-radio{
1845
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1846
- }
1847
-
1848
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1849
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1850
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1851
- }
1852
-
1853
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1854
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1855
- }
1856
-
1857
- .tds-radio-group:has(input:required) legend::after{
1858
- margin-left:.25ch;
1859
- color:var(--t-text-color-status-error);
1860
- content:"*";
1861
- }
1862
-
1863
- .tds-radio-group-fields{
1864
- display:flex;
1865
- flex-direction:column;
1866
- gap:var(--tds-radio-group-gap);
1867
- align-items:flex-start;
1868
- margin-top:var(--t-spacing-1);
1869
- }
1870
-
1871
- .tds-radio-group-description{
1872
- display:flex;
1873
- gap:var(--t-spacing-half);
1874
- align-items:flex-start;
1875
- margin:var(--t-spacing-fourth) 0 0;
1876
- font-size:var(--tds-radio-group-description-font-size);
1877
- line-height:var(--tds-radio-group-description-line-height);
1878
- color:var(--tds-radio-group-description-color);
1879
- cursor:text;
1880
- }
1881
-
1882
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1883
- display:var(--tds-radio-group-description-invalid-icon-display);
1884
- flex-shrink:0;
1885
- margin-top:calc(.5lh - .5em);
1886
- line-height:var(--tds-radio-group-description-line-height);
1887
- }
1888
-
1889
- .tds-radio-group--sm{
1890
- --tds-radio-group-line-height:1.35;
1891
- --tds-radio-group-font-size:var(--t-font-size-sm);
1892
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
1893
- --tds-radio-group-description-line-height:1.3;
1894
- }
1895
-
1896
- .tds-toggle-switch{
1897
- --tds-toggle-switch-font-size:var(--t-font-size-md);
1898
- --tds-toggle-switch-cursor:pointer;
1899
- --tds-toggle-switch-display:inline-grid;
1900
- --tds-toggle-switch-line-height:1.4;
1901
-
1902
- --tds-toggle-switch-label-color:var(--t-form-color);
1903
-
1904
- --tds-toggle-switch-track-width:var(--t-container-size-md);
1905
- --tds-toggle-switch-track-outline:none;
1906
- --tds-toggle-switch-track-height:var(--t-container-size-xs);
1907
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1908
- --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1909
-
1910
- --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1911
- --tds-toggle-switch-thumb-transform:translateX(0);
1912
- --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1913
-
1914
- --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1915
- --tds-toggle-switch-description-line-height:1.35;
1916
- --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1917
- position:relative;
1918
-
1919
- display:var(--tds-toggle-switch-display);
1920
- grid-template-columns:auto;
1921
- grid-auto-columns:1fr;
1922
- gap:var(--t-spacing-fourth) 0;
1923
- -webkit-user-select:none;
1924
- -moz-user-select:none;
1925
- user-select:none;
1926
- }
1927
-
1928
- .tds-toggle-switch input[type="checkbox"]{
1929
- position:absolute;
1930
- width:var(--tds-toggle-switch-track-width);
1931
- height:var(--tds-toggle-switch-track-height);
1932
- margin:0;
1933
- -webkit-appearance:none;
1934
- -moz-appearance:none;
1935
- appearance:none;
1936
- cursor:var(--tds-toggle-switch-cursor);
1937
- outline:var(--tds-toggle-switch-track-outline);
1938
- outline-offset:var(--t-focus-ring-offset);
1939
- background-color:transparent;
1940
- border:0;
1941
- border-radius:var(--t-border-radius-round);
1942
- }
1943
-
1944
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1945
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1946
- }
1947
-
1948
- .tds-toggle-switch label{
1949
- display:inline-flex;
1950
- grid-area:1 / 2;
1951
- padding-inline-start:var(--t-spacing-1);
1952
- margin-top:-.09375em;
1953
- font-size:var(--tds-toggle-switch-font-size);
1954
- font-weight:var(--t-font-weight-normal);
1955
- line-height:var(--tds-toggle-switch-line-height);
1956
- color:var(--tds-toggle-switch-label-color);
1957
- cursor:var(--tds-toggle-switch-cursor);
1958
- }
1977
+ inline-size:1em;
1978
+ block-size:2em;
1979
+ }
1959
1980
 
1960
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1961
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1981
+ @supports (field-sizing: content){
1982
+ .tds-input--auto-width{
1983
+ inline-size:-moz-fit-content;
1984
+ inline-size:fit-content;
1985
+ min-inline-size:min(100%, 122px);
1962
1986
  }
1963
1987
 
1964
- .tds-toggle-switch:has(input:checked){
1965
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1966
- --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1988
+ .tds-input--auto-width input{
1989
+ field-sizing:content;
1990
+ inline-size:auto;
1967
1991
  }
1992
+ }
1968
1993
 
1969
- .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1970
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1971
- }
1994
+ .tds-radio-group{
1995
+ --tds-radio-group-font-size:var(--t-font-size-md);
1996
+ --tds-radio-group-line-height:1.4;
1997
+ --tds-radio-group-gap:var(--t-spacing-1);
1972
1998
 
1973
- .tds-toggle-switch:has(input:disabled){
1974
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1975
- --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1976
- --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1977
- --tds-toggle-switch-cursor:not-allowed;
1978
- }
1999
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
2000
+ --tds-radio-group-description-line-height:1.35;
2001
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
2002
+ --tds-radio-group-description-invalid-icon-display:none;
2003
+ display:flex;
2004
+ flex-direction:column;
2005
+ gap:0;
2006
+ padding:0;
2007
+ margin:0;
1979
2008
 
1980
- .tds-toggle-switch-track{
1981
- position:relative;
1982
- flex-shrink:0;
1983
- width:var(--tds-toggle-switch-track-width);
1984
- height:var(--tds-toggle-switch-track-height);
1985
- background-color:var(--tds-toggle-switch-track-background-color);
1986
- border-radius:var(--t-border-radius-round);
1987
- transition:var(--tds-toggle-switch-track-transition);
2009
+ font-size:var(--tds-radio-group-font-size);
2010
+ line-height:var(--tds-radio-group-line-height);
2011
+ border:0;
1988
2012
  }
1989
2013
 
1990
- .tds-toggle-switch-track::before{
1991
- position:absolute;
1992
- top:var(--t-spacing-fourth);
1993
- left:var(--t-spacing-fourth);
1994
- width:var(--tds-toggle-switch-thumb-size);
1995
- height:var(--tds-toggle-switch-thumb-size);
1996
- content:"";
1997
- background-color:#fff;
1998
- border-radius:var(--t-border-radius-round);
1999
- transform:var(--tds-toggle-switch-thumb-transform);
2000
- transition:var(--tds-toggle-switch-thumb-transition);
2014
+ .tds-radio-group legend{
2015
+ float:left;
2016
+ padding:0;
2017
+ margin:0;
2001
2018
  }
2002
2019
 
2003
- @media (prefers-reduced-motion: reduce){
2020
+ .tds-radio-group[aria-invalid="true"]{
2021
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
2022
+ --tds-radio-group-description-invalid-icon-display:inline-block;
2023
+ }
2004
2024
 
2005
- .tds-toggle-switch-track{
2006
- --tds-toggle-switch-track-transition:none;
2007
- --tds-toggle-switch-thumb-transition:none;
2025
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
2026
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
2027
+ }
2028
+
2029
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
2030
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2031
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
2032
+ }
2033
+
2034
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
2035
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
2036
+ }
2037
+
2038
+ .tds-radio-group:has(input:required) legend::after{
2039
+ margin-left:.25ch;
2040
+ color:var(--t-text-color-status-error);
2041
+ content:"*";
2042
+ }
2043
+
2044
+ .tds-radio-group-fields{
2045
+ display:flex;
2046
+ flex-direction:column;
2047
+ gap:var(--tds-radio-group-gap);
2048
+ align-items:flex-start;
2049
+ margin-top:var(--t-spacing-1);
2008
2050
  }
2009
- }
2010
2051
 
2011
- .tds-toggle-switch-description{
2052
+ .tds-radio-group-description{
2012
2053
  display:flex;
2013
- grid-area:2 / 2;
2054
+ gap:var(--t-spacing-half);
2014
2055
  align-items:flex-start;
2015
- padding-inline-start:var(--t-spacing-1);
2016
- margin:0;
2017
- font-size:var(--tds-toggle-switch-description-font-size);
2018
- line-height:var(--tds-toggle-switch-description-line-height);
2019
- color:var(--tds-toggle-switch-description-color);
2056
+ margin:var(--t-spacing-fourth) 0 0;
2057
+ font-size:var(--tds-radio-group-description-font-size);
2058
+ line-height:var(--tds-radio-group-description-line-height);
2059
+ color:var(--tds-radio-group-description-color);
2020
2060
  cursor:text;
2021
2061
  }
2022
2062
 
2023
- .tds-toggle-switch--sm{
2024
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
2025
- --tds-toggle-switch-line-height:1.35;
2026
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
2027
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2028
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2029
- --tds-toggle-switch-description-line-height:1.3;
2030
- }
2063
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
2064
+ display:var(--tds-radio-group-description-invalid-icon-display);
2065
+ flex-shrink:0;
2066
+ margin-top:calc(.5lh - .5em);
2067
+ line-height:var(--tds-radio-group-description-line-height);
2068
+ }
2031
2069
 
2032
- .tds-toggle-switch--hide-label{
2033
- --tds-toggle-switch-display:inline-flex;
2070
+ .tds-radio-group--sm{
2071
+ --tds-radio-group-line-height:1.35;
2072
+ --tds-radio-group-font-size:var(--t-font-size-sm);
2073
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
2074
+ --tds-radio-group-description-line-height:1.3;
2034
2075
  }
2035
2076
 
2036
2077
  .tds-radio{
@@ -2224,579 +2265,552 @@ a.tds-dropdown-item:is(:hover, :active){
2224
2265
 
2225
2266
  :is(.tds-input textarea)::-webkit-scrollbar-thumb{
2226
2267
  cursor:default;
2227
- background:var(--tds-input-scrollbar-thumb-color);
2228
- background-clip:content-box;
2229
- border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
2230
- border-radius:var(--tds-input-scrollbar-thumb-border-radius);
2231
- }
2232
-
2233
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2234
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
2235
- }
2236
-
2237
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
2238
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
2239
- }
2240
-
2241
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
2242
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
2243
- }
2244
-
2245
- :is(.tds-input textarea)::-webkit-scrollbar-corner{
2246
- background:var(--tds-input-scrollbar-surface-color);
2247
- }
2248
-
2249
- :is(.tds-input textarea)::-webkit-resizer{
2250
- background:var(--tds-input-resizer-icon) no-repeat;
2251
- background-position:right bottom;
2252
- background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
2253
- }
2254
-
2255
- :is(.tds-input textarea)::-webkit-scrollbar-track{
2256
- margin-block:var(--tds-input-scrollbar-track-margin-block);
2257
- cursor:default;
2258
- }
2259
-
2260
- @supports (-moz-appearance: none){
2261
- :is(.tds-input textarea){
2262
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
2263
- scrollbar-width:thin;
2264
- }
2265
-
2266
- @media (hover){
2267
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2268
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
2269
- }
2270
- }
2271
- }
2272
- }
2273
-
2274
- .tds-loading-spinner{
2275
- position:absolute;
2276
- right:0;
2277
- left:0;
2278
- visibility:var(--tds-loading-spinner-visibility, hidden);
2279
- width:var(--tds-loading-spinner-size, 1.25em);
2280
- height:var(--tds-loading-spinner-size, 1.25em);
2281
- margin:auto;
2282
- border:var(--tds-loading-spinner-track-width, 4px) solid var(--tds-loading-spinner-track-color, var(--t-fill-color-transparency-dark-020));
2283
- border-top-color:var(--tds-loading-spinner-color, currentcolor);
2284
- border-radius:50%;
2285
- animation:spinner-rotate 500ms infinite linear;
2286
- animation-play-state:var(--tds-loading-spinner-animation-play-state, paused);
2287
- }
2288
-
2289
- @keyframes spinner-rotate{
2290
- to{
2291
- transform:rotate(360deg);
2292
- }
2293
- }
2294
-
2295
- @media (prefers-reduced-motion: reduce){
2296
- [class*="--loading"] .tds-loading-spinner{
2297
- --tds-loading-spinner-animation-play-state:paused;
2298
- }
2299
- }
2300
-
2301
- .tds-input{
2302
- --tds-input-border-color:var(--t-form-border-color);
2303
- --tds-input-border-color-hover:var(--t-form-border-color-hover);
2304
- --tds-input-background-color:var(--t-form-background-color);
2305
- --tds-input-color:var(--t-form-color);
2306
- --tds-input-font-size:var(--t-font-size-md);
2307
- --tds-input-description-color:var(--t-text-color-secondary);
2308
- --tds-input-description-invalid-icon-display:none;
2309
- --tds-input-min-height:var(--t-container-size-md);
2310
- --tds-input-padding-inline:var(--t-spacing-1);
2311
-
2312
- --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
2313
-
2314
- display:flex;
2315
- flex-direction:column;
2316
- gap:var(--t-spacing-half);
2317
- }
2318
-
2319
- .tds-input label{
2320
- font-size:var(--t-font-size-md);
2321
- font-weight:var(--t-font-weight-normal);
2322
- color:var(--t-text-color);
2323
- }
2324
-
2325
- .tds-input :is(input,textarea){
2326
- inline-size:100%;
2327
- block-size:auto;
2328
- min-block-size:var(--tds-input-min-height);
2329
- padding-block:var(--tds-input-padding-block);
2330
- padding-inline:var(--tds-input-padding-inline);
2331
- font-family:inherit;
2332
- font-size:var(--tds-input-font-size);
2333
- color:var(--tds-input-color);
2334
- -webkit-appearance:none;
2335
- -moz-appearance:none;
2336
- appearance:none;
2337
- outline:var(--t-focus-ring-width) solid transparent;
2338
- outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2339
- outline-offset:0;
2340
- background-color:var(--tds-input-background-color);
2341
- border:var(--t-form-border-width) solid var(--tds-input-border-color);
2342
- border-radius:var(--t-form-border-radius);
2343
- transition-timing-function:var(--t-ease-in-out);
2344
- transition-duration:var(--t-duration-200);
2345
- transition-property:var(--tds-input-transition-property);
2346
- }
2347
-
2348
- :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible,[readonly]){
2349
- border-color:var(--tds-input-border-color-hover);
2268
+ background:var(--tds-input-scrollbar-thumb-color);
2269
+ background-clip:content-box;
2270
+ border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
2271
+ border-radius:var(--tds-input-scrollbar-thumb-border-radius);
2350
2272
  }
2351
2273
 
2352
- :is(.tds-input :is(input,textarea)):focus{
2353
- outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2274
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2275
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
2354
2276
  }
2355
2277
 
2356
- :is(.tds-input :is(input,textarea)):focus-visible{
2357
- outline-color:var(--t-focus-ring-color);
2358
- outline-offset:var(--t-focus-ring-offset);
2359
- border-color:var(--t-form-border-color-focus);
2278
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
2279
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
2360
2280
  }
2361
2281
 
2362
- :is(.tds-input :is(input,textarea))::-moz-placeholder{
2363
- color:var(--t-form-placeholder-color);
2364
- -moz-user-select:none;
2365
- user-select:none;
2282
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
2283
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
2366
2284
  }
2367
2285
 
2368
- :is(.tds-input :is(input,textarea))::placeholder{
2369
- color:var(--t-form-placeholder-color);
2370
- -webkit-user-select:none;
2371
- -moz-user-select:none;
2372
- user-select:none;
2286
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
2287
+ background:var(--tds-input-scrollbar-surface-color);
2373
2288
  }
2374
2289
 
2375
- @media (prefers-reduced-motion: reduce){
2290
+ :is(.tds-input textarea)::-webkit-resizer{
2291
+ background:var(--tds-input-resizer-icon) no-repeat;
2292
+ background-position:right bottom;
2293
+ background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
2294
+ }
2376
2295
 
2377
- .tds-input :is(input,textarea){
2378
- --tds-input-transition-property:none;
2379
- }
2296
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
2297
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
2298
+ cursor:default;
2380
2299
  }
2381
2300
 
2382
- .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
2383
- --tds-input-background-color:var(--t-form-background-color-error);
2384
- --tds-input-border-color:var(--t-form-border-color-error);
2385
- --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
2386
- --tds-input-description-color:var(--t-text-color-status-error);
2387
- --tds-input-description-invalid-icon-display:inline-block;
2388
- }
2301
+ @supports (-moz-appearance: none){
2302
+ :is(.tds-input textarea){
2303
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
2304
+ scrollbar-width:thin;
2305
+ }
2389
2306
 
2390
- .tds-input:has(:is(input,textarea):required) label::after{
2391
- margin-left:.25ch;
2392
- color:var(--t-text-color-status-error);
2393
- content:"*";
2307
+ @media (hover){
2308
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2309
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
2310
+ }
2311
+ }
2394
2312
  }
2395
-
2396
- .tds-input:where(:has(:is(input,textarea):disabled)){
2397
- --tds-input-border-color:var(--t-form-border-color-disabled);
2398
- --tds-input-background-color:var(--t-form-background-color-disabled);
2399
- --tds-input-color:var(--t-form-color-disabled);
2400
2313
  }
2401
2314
 
2402
- .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
2403
- cursor:not-allowed;
2404
- }
2315
+ .tds-toggle-switch{
2316
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
2317
+ --tds-toggle-switch-cursor:pointer;
2318
+ --tds-toggle-switch-display:inline-grid;
2319
+ --tds-toggle-switch-line-height:1.4;
2405
2320
 
2406
- .tds-input:where(:has(:is(input,textarea)[readonly])){
2407
- --tds-input-border-color:var(--t-form-border-color-readonly);
2408
- --tds-input-background-color:var(--t-form-background-color-readonly);
2409
- }
2321
+ --tds-toggle-switch-label-color:var(--t-form-color);
2410
2322
 
2411
- .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
2412
- border-color:var(--tds-input-border-color-hover);
2413
- }
2323
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
2324
+ --tds-toggle-switch-track-outline:none;
2325
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
2326
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
2327
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
2414
2328
 
2415
- .tds-input.tds-input--lg{
2416
- --tds-input-min-height:var(--t-container-size-lg);
2417
- --tds-input-font-size:var(--t-font-size-lg);
2418
- }
2329
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
2330
+ --tds-toggle-switch-thumb-transform:translateX(0);
2331
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
2419
2332
 
2420
- .tds-input-description{
2421
- display:flex;
2422
- gap:var(--t-spacing-half);
2423
- align-items:flex-start;
2424
- margin:0;
2425
- font-size:var(--t-font-size-sm);
2426
- line-height:1.35;
2427
- color:var(--tds-input-description-color, var(--t-text-color-secondary));
2428
- cursor:text;
2333
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
2334
+ --tds-toggle-switch-description-line-height:1.35;
2335
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
2336
+ position:relative;
2337
+
2338
+ display:var(--tds-toggle-switch-display);
2339
+ grid-template-columns:auto;
2340
+ grid-auto-columns:1fr;
2341
+ gap:var(--t-spacing-fourth) 0;
2342
+ -webkit-user-select:none;
2343
+ -moz-user-select:none;
2344
+ user-select:none;
2429
2345
  }
2430
2346
 
2431
- .tds-input-description .tds-input-description-invalid-icon{
2432
- display:var(--tds-input-description-invalid-icon-display, none);
2433
- flex-shrink:0;
2434
- margin-block-start:calc(.5lh - .5em);
2435
- line-height:1.35;
2347
+ .tds-toggle-switch input[type="checkbox"]{
2348
+ position:absolute;
2349
+ width:var(--tds-toggle-switch-track-width);
2350
+ height:var(--tds-toggle-switch-track-height);
2351
+ margin:0;
2352
+ -webkit-appearance:none;
2353
+ -moz-appearance:none;
2354
+ appearance:none;
2355
+ cursor:var(--tds-toggle-switch-cursor);
2356
+ outline:var(--tds-toggle-switch-track-outline);
2357
+ outline-offset:var(--t-focus-ring-offset);
2358
+ background-color:transparent;
2359
+ border:0;
2360
+ border-radius:var(--t-border-radius-round);
2436
2361
  }
2437
2362
 
2363
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2364
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2365
+ }
2438
2366
 
2439
- @media (prefers-reduced-motion: no-preference){
2367
+ .tds-toggle-switch label{
2368
+ display:inline-flex;
2369
+ grid-area:1 / 2;
2370
+ padding-inline-start:var(--t-spacing-1);
2371
+ margin-top:-.09375em;
2372
+ font-size:var(--tds-toggle-switch-font-size);
2373
+ font-weight:var(--t-font-weight-normal);
2374
+ line-height:var(--tds-toggle-switch-line-height);
2375
+ color:var(--tds-toggle-switch-label-color);
2376
+ cursor:var(--tds-toggle-switch-cursor);
2377
+ }
2440
2378
 
2441
- :root{
2442
- interpolate-size:allow-keywords;
2443
- }
2379
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2380
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2444
2381
  }
2445
2382
 
2446
- @layer tds-component{
2447
- tds-sidenav,
2448
- .tds-sidenav{
2449
- --tds-sidenav-indent:12px;
2450
- --tds-sidenav-item-depth:0;
2383
+ .tds-toggle-switch:has(input:checked){
2384
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
2385
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2386
+ }
2451
2387
 
2452
- --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
2388
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
2389
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
2390
+ }
2453
2391
 
2454
- --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;
2455
- --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;
2456
- --tds-sidenav-collapse-closed-opacity:0;
2457
- --tds-sidenav-collapse-open-opacity:1;
2458
- --tds-sidenav-collapse-closed-transform:translateY(-8px);
2459
- --tds-sidenav-collapse-open-transform:translateY(0);
2392
+ .tds-toggle-switch:has(input:disabled){
2393
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
2394
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
2395
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
2396
+ --tds-toggle-switch-cursor:not-allowed;
2397
+ }
2460
2398
 
2461
- --tds-sidenav-item-icon-size:var(--t-element-size-md);
2462
- --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
2463
- --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
2464
- --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
2399
+ .tds-toggle-switch-track{
2400
+ position:relative;
2401
+ flex-shrink:0;
2402
+ width:var(--tds-toggle-switch-track-width);
2403
+ height:var(--tds-toggle-switch-track-height);
2404
+ background-color:var(--tds-toggle-switch-track-background-color);
2405
+ border-radius:var(--t-border-radius-round);
2406
+ transition:var(--tds-toggle-switch-track-transition);
2407
+ }
2465
2408
 
2466
- --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
2467
- --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
2468
- --tds-sidenav-item-nested-background-selected:transparent;
2409
+ .tds-toggle-switch-track::before{
2410
+ position:absolute;
2411
+ top:var(--t-spacing-fourth);
2412
+ left:var(--t-spacing-fourth);
2413
+ width:var(--tds-toggle-switch-thumb-size);
2414
+ height:var(--tds-toggle-switch-thumb-size);
2415
+ content:"";
2416
+ background-color:#fff;
2417
+ border-radius:var(--t-border-radius-round);
2418
+ transform:var(--tds-toggle-switch-thumb-transform);
2419
+ transition:var(--tds-toggle-switch-thumb-transition);
2420
+ }
2469
2421
 
2470
- --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
2471
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
2472
- --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
2422
+ @media (prefers-reduced-motion: reduce){
2473
2423
 
2474
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
2475
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
2424
+ .tds-toggle-switch-track{
2425
+ --tds-toggle-switch-track-transition:none;
2426
+ --tds-toggle-switch-thumb-transition:none;
2427
+ }
2476
2428
  }
2477
2429
 
2478
- @media (prefers-reduced-motion: reduce){
2479
- tds-sidenav,
2480
- .tds-sidenav{
2481
- --tds-sidenav-collapse-transition-enter:none;
2482
- --tds-sidenav-collapse-transition-exit:none;
2483
- --tds-sidenav-collapse-closed-transform:none;
2484
- --tds-sidenav-collapse-open-transform:none;
2485
- }
2486
- }
2430
+ .tds-toggle-switch-description{
2431
+ display:flex;
2432
+ grid-area:2 / 2;
2433
+ align-items:flex-start;
2434
+ padding-inline-start:var(--t-spacing-1);
2435
+ margin:0;
2436
+ font-size:var(--tds-toggle-switch-description-font-size);
2437
+ line-height:var(--tds-toggle-switch-description-line-height);
2438
+ color:var(--tds-toggle-switch-description-color);
2439
+ cursor:text;
2440
+ }
2487
2441
 
2488
- .tds-sidenav--theme-gray{
2489
- --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
2490
- --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
2491
- --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
2492
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
2493
- --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
2494
- }
2442
+ .tds-toggle-switch--sm{
2443
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
2444
+ --tds-toggle-switch-line-height:1.35;
2445
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
2446
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2447
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2448
+ --tds-toggle-switch-description-line-height:1.3;
2449
+ }
2450
+
2451
+ .tds-toggle-switch--hide-label{
2452
+ --tds-toggle-switch-display:inline-flex;
2495
2453
  }
2496
2454
 
2497
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
2498
- display:flex;
2499
- }
2455
+ .tds-checkbox{
2456
+ --tds-checkbox-font-size:var(--t-font-size-md);
2457
+ --tds-checkbox-cursor:pointer;
2458
+ --tds-checkbox-line-height:1.4;
2459
+ --tds-checkbox-transition-property:background-color, border-color;
2460
+
2461
+ --tds-checkbox-input-size:var(--t-element-size-md);
2462
+ --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
2463
+ --tds-checkbox-input-border-color:var(--t-form-border-color);
2464
+ --tds-checkbox-input-background-color:var(--t-form-background-color);
2500
2465
 
2501
- .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
2502
- flex-direction:column;
2503
- gap:var(--t-spacing-half);
2504
- width:100%;
2505
- }
2466
+ --tds-checkbox-input-icon:none;
2467
+ --tds-checkbox-input-icon-visibility:hidden;
2468
+ --tds-checkbox-input-icon-opacity:0;
2469
+ --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
2506
2470
 
2507
- .tds-sidenav-section-list{
2508
- width:100%;
2509
- padding:0;
2510
- margin:0;
2511
- list-style:none;
2512
- }
2471
+ --tds-checkbox-label-color:var(--t-form-color);
2513
2472
 
2514
- .tds-sidenav-section-header{
2515
- display:flex;
2516
- align-items:baseline;
2517
- justify-content:space-between;
2518
- padding-top:var(--t-spacing-2);
2519
- }
2473
+ --tds-checkbox-description-font-size:var(--t-font-size-sm);
2474
+ --tds-checkbox-description-line-height:1.35;
2475
+ --tds-checkbox-description-color:var(--t-text-color-secondary);
2476
+ --tds-checkbox-description-invalid-icon-display:none;
2520
2477
 
2521
- .tds-sidenav-section-header h2{
2522
- margin:0;
2523
- font-size:var(--t-font-size-sm);
2524
- font-weight:var(--t-font-weight-semibold);
2525
- line-height:1.35;
2526
- color:var(--t-text-color-secondary);
2527
- text-transform:uppercase;
2528
- }
2478
+ position:relative;
2479
+ display:inline-grid;
2480
+ grid-template-columns:auto;
2481
+ grid-auto-columns:1fr;
2482
+ gap:var(--t-spacing-fourth) 0;
2483
+ line-height:var(--tds-checkbox-line-height);
2484
+ -webkit-user-select:none;
2485
+ -moz-user-select:none;
2486
+ user-select:none;
2487
+ }
2529
2488
 
2530
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
2531
- padding-top:0;
2489
+ .tds-checkbox label{
2490
+ grid-area:1 / 2;
2491
+ padding-inline-start:var(--t-spacing-1);
2492
+ font-size:var(--tds-checkbox-font-size);
2493
+ font-weight:var(--t-font-weight-normal);
2494
+ color:var(--tds-checkbox-label-color);
2495
+ cursor:var(--tds-checkbox-cursor);
2532
2496
  }
2533
2497
 
2534
- .tds-sidenav-section-header [slot="label-actions"]{
2498
+ .tds-checkbox tds-indeterminate{
2535
2499
  display:flex;
2536
- gap:var(--t-spacing-half);
2537
- align-items:center;
2538
2500
  }
2539
2501
 
2540
- .tds-sidenav-section [slot="section-actions"]{
2541
- display:flex;
2542
- gap:12px;
2543
- align-items:center;
2544
- min-height:42px;
2545
- padding:var(--t-spacing-1) 0;
2546
- }
2547
-
2548
- .tds-sidenav-section-list,
2549
- .tds-sidenav-item{
2550
- width:100%;
2551
- padding:0;
2552
- margin:0;
2553
- }
2554
-
2555
- .tds-sidenav-item :is(a,button){
2502
+ .tds-checkbox input[type="checkbox"]{
2556
2503
  position:relative;
2557
- display:flex;
2558
- gap:12px;
2559
- align-items:center;
2560
- width:100%;
2561
- padding:12px;
2562
- overflow:hidden;
2563
- font-size:var(--t-font-size-sm);
2564
- line-height:18px;
2565
- color:var(--t-text-color-headline);
2566
- white-space:nowrap;
2567
- text-decoration:none;
2504
+ width:1em;
2505
+ height:1em;
2506
+ margin:calc((1lh - 1em) / 2) 0 0;
2507
+ font-size:var(--tds-checkbox-font-size);
2508
+ line-height:inherit;
2568
2509
  -webkit-appearance:none;
2569
2510
  -moz-appearance:none;
2570
2511
  appearance:none;
2571
- cursor:pointer;
2572
- background-color:var(--tds-sidenav-item-background, transparent);
2573
- border:0;
2574
- border-radius:var(--t-border-radius);
2575
- transition:var(--tds-sidenav-item-transition);
2512
+ cursor:var(--tds-checkbox-cursor);
2513
+ background-color:var(--tds-checkbox-input-background-color);
2514
+ border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
2515
+ border-radius:var(--tds-checkbox-input-border-radius);
2516
+ transition-timing-function:var(--t-ease-in-out);
2517
+ transition-duration:var(--t-duration-200);
2518
+ transition-property:var(--tds-checkbox-transition-property);
2576
2519
  }
2577
2520
 
2578
- :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
2579
- display:block;
2580
- flex:1;
2581
- overflow:hidden;
2582
- text-overflow:ellipsis;
2583
- text-align:left;
2584
- white-space:nowrap;
2521
+ :is(.tds-checkbox input[type="checkbox"])::before{
2522
+ position:absolute;
2523
+ top:50%;
2524
+ left:50%;
2525
+ visibility:var(--tds-checkbox-input-icon-visibility);
2526
+ width:100%;
2527
+ height:100%;
2528
+ content:"";
2529
+ background-color:var(--tds-checkbox-input-icon-fill);
2530
+ border-radius:var(--tds-checkbox-input-border-radius);
2531
+ opacity:var(--tds-checkbox-input-icon-opacity);
2532
+ -webkit-mask-image:var(--tds-checkbox-input-icon);
2533
+ mask-image:var(--tds-checkbox-input-icon);
2534
+ -webkit-mask-repeat:no-repeat;
2535
+ mask-repeat:no-repeat;
2536
+ -webkit-mask-size:contain;
2537
+ mask-size:contain;
2538
+ transform:translate(-50%, -50%);
2585
2539
  }
2586
2540
 
2587
- :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
2588
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
2589
- color:var(--t-text-color-headline);
2590
- text-decoration:none;
2541
+ :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
2542
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
2543
+ --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
2591
2544
  }
2592
2545
 
2593
- :is(.tds-sidenav-item :is(a,button)):active{
2594
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
2546
+ :is(.tds-checkbox input[type="checkbox"]):focus-visible{
2547
+ outline:var(--t-focus-ring-outline);
2548
+ outline-offset:var(--t-focus-ring-offset);
2595
2549
  }
2596
2550
 
2597
- :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
2598
- overflow:hidden;
2599
- color:var(--tds-sidenav-item-icon-color);
2551
+ :is(.tds-checkbox input[type="checkbox"]):disabled{
2552
+ pointer-events:none;
2600
2553
  }
2601
2554
 
2602
- :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{
2603
- display:block;
2604
- width:var(--tds-sidenav-item-icon-size);
2605
- height:var(--tds-sidenav-item-icon-size);
2606
- }
2555
+ @media (prefers-reduced-motion: reduce){
2607
2556
 
2608
- :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
2609
- --tds-sidenav-indent:19px;
2557
+ .tds-checkbox input[type="checkbox"]{
2558
+ --tds-checkbox-transition-property:none;
2559
+ }
2610
2560
  }
2611
2561
 
2612
- [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
2613
- visibility:visible;
2614
- block-size:auto;
2615
- opacity:1;
2616
- }
2562
+ .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
2563
+ --tds-checkbox-input-background-color:var(--t-fill-color-control);
2564
+ --tds-checkbox-input-border-color:var(--t-border-color-control-info);
2565
+ --tds-checkbox-input-icon-visibility:visible;
2566
+ --tds-checkbox-input-icon-opacity:1;
2567
+ }
2617
2568
 
2618
- .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
2619
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
2620
- --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
2569
+ :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
2570
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
2571
+ --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
2572
+ }
2621
2573
 
2622
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
2623
- font-weight:var(--t-font-weight-semibold);
2574
+ .tds-checkbox:has(input:checked){
2575
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
2624
2576
  }
2625
2577
 
2626
- .tds-sidenav-item:has(.tds-sidenav-section){
2627
- display:flex;
2628
- flex-direction:column;
2629
- gap:var(--t-spacing-half);
2578
+ .tds-checkbox:has(input:indeterminate){
2579
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
2630
2580
  }
2631
2581
 
2632
- .tds-sidenav-item .tds-sidenav-section-list{
2633
- --tds-sidenav-item-depth:1;
2634
- gap:0;
2582
+ .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
2583
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
2584
+ --tds-checkbox-description-color:var(--t-text-color-status-error);
2585
+ --tds-checkbox-description-invalid-icon-display:inline-block;
2635
2586
  }
2636
2587
 
2637
- .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
2638
- visibility:hidden;
2639
- block-size:0;
2640
- overflow-y:clip;
2641
- opacity:0;
2642
- transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
2643
- }
2644
-
2645
- :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
2646
- --tds-sidenav-item-depth:2;
2588
+ :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
2589
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
2590
+ --tds-checkbox-input-background-color:var(--t-form-background-color-error);
2647
2591
  }
2648
2592
 
2649
- :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2650
- min-height:var(--t-element-size-2xl);
2651
- padding-block:9px;
2652
- padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
2653
- line-height:1;
2654
- background-color:transparent;
2593
+ :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{
2594
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
2595
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error);
2655
2596
  }
2656
2597
 
2657
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
2658
- position:absolute;
2659
- top:0;
2660
- bottom:0;
2661
- left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2662
- width:2px;
2663
- content:"";
2664
- background-color:var(--tds-sidenav-item-nested-border-color);
2665
- transition:var(--tds-sidenav-item-transition);
2666
- }
2667
-
2668
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
2669
- position:absolute;
2670
- inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2671
- z-index:-1;
2672
- height:100%;
2673
- content:"";
2674
- background-color:var(--tds-sidenav-item-nested-background);
2675
- border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
2676
- transition:var(--tds-sidenav-item-transition);
2677
- }
2678
-
2679
- :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)){
2680
- display:block;
2681
- text-align:left;
2682
- white-space:normal;
2683
- }
2684
-
2685
- :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{
2686
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
2687
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
2598
+ :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){
2599
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
2600
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
2688
2601
  }
2689
2602
 
2690
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
2691
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
2692
- }
2603
+ .tds-checkbox:has(input:required) label::after{
2604
+ margin-left:.25ch;
2605
+ color:var(--t-text-color-status-error);
2606
+ content:"*";
2607
+ }
2693
2608
 
2694
- .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2695
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
2696
- font-weight:var(--t-font-weight-medium);
2609
+ .tds-checkbox:has(input:disabled){
2610
+ --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
2611
+ --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
2612
+
2613
+ --tds-checkbox-label-color:var(--t-form-color-disabled);
2614
+ --tds-checkbox-description-color:var(--t-form-color-disabled);
2615
+ --tds-checkbox-cursor:not-allowed;
2616
+ }
2617
+
2618
+ .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
2619
+ --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
2697
2620
  }
2698
2621
 
2699
- .tds-sidenav-responsive-header{
2622
+ .tds-checkbox-description{
2700
2623
  display:flex;
2701
- gap:var(--t-spacing-2);
2702
- align-items:center;
2703
- width:100%;
2624
+ grid-area:2 / 2;
2625
+ gap:var(--t-spacing-half);
2626
+ align-items:flex-start;
2627
+ padding-inline-start:var(--t-spacing-1);
2628
+ margin:0;
2629
+ font-size:var(--tds-checkbox-description-font-size);
2630
+ line-height:var(--tds-checkbox-description-line-height);
2631
+ color:var(--tds-checkbox-description-color);
2632
+ cursor:text;
2704
2633
  }
2705
2634
 
2706
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
2707
- order:0;
2635
+ .tds-checkbox-description .tds-checkbox-description-invalid-icon{
2636
+ display:var(--tds-checkbox-description-invalid-icon-display);
2637
+ flex-shrink:0;
2638
+ margin-top:calc(.5lh - .5em);
2639
+ line-height:var(--tds-checkbox-description-line-height);
2708
2640
  }
2709
2641
 
2710
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
2711
- flex:1;
2712
- order:1;
2713
- margin:0;
2714
- font-size:var(--t-font-size-lg);
2715
- font-weight:var(--t-font-weight-medium);
2716
- color:var(--t-text-color-headline);
2642
+ .tds-checkbox--sm{
2643
+ --tds-checkbox-line-height:1.35;
2644
+ --tds-checkbox-input-size:var(--t-element-size-sm);
2645
+ --tds-checkbox-font-size:var(--t-font-size-sm);
2646
+ --tds-checkbox-description-font-size:var(--t-font-size-xs);
2647
+ --tds-checkbox-description-line-height:1.3;
2648
+ }
2649
+
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);
2717
2668
  }
2669
+ }
2718
2670
 
2719
- @media (max-width: 719px){
2720
- .tds-sidenav-collapse{
2721
- z-index:10001;
2722
- display:none;
2723
- max-width:min(448px, calc(100vw - 48px));
2724
- padding:0;
2725
- margin:12px 0;
2726
- position-area:bottom span-right;
2727
- overflow:hidden;
2728
- outline:0;
2729
- background:var(--t-surface-color-card);
2730
- border:0;
2731
- border-radius:6px;
2732
- box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
2733
- opacity:var(--tds-sidenav-collapse-open-opacity);
2734
- transform:var(--tds-sidenav-collapse-open-transform);
2735
- transition:var(--tds-sidenav-collapse-transition-enter);
2736
- will-change:transform;
2671
+ @media (prefers-reduced-motion: reduce){
2672
+ [class*="--loading"] .tds-loading-spinner{
2673
+ --tds-loading-spinner-animation-play-state:paused;
2737
2674
  }
2675
+ }
2738
2676
 
2739
- .tds-sidenav-scroll-container{
2740
- --webkit-overflow-scrolling:touch;
2741
- display:block;
2742
- width:100%;
2743
- height:-moz-fit-content;
2744
- height:fit-content;
2745
- padding:var(--t-spacing-2);
2746
- overflow-y:auto;
2677
+ .tds-input{
2678
+ --tds-input-border-color:var(--t-form-border-color);
2679
+ --tds-input-border-color-hover:var(--t-form-border-color-hover);
2680
+ --tds-input-background-color:var(--t-form-background-color);
2681
+ --tds-input-color:var(--t-form-color);
2682
+ --tds-input-font-size:var(--t-font-size-md);
2683
+ --tds-input-description-color:var(--t-text-color-secondary);
2684
+ --tds-input-description-invalid-icon-display:none;
2685
+ --tds-input-min-height:var(--t-container-size-md);
2686
+ --tds-input-padding-inline:var(--t-spacing-1);
2687
+
2688
+ --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
2689
+
2690
+ display:flex;
2691
+ flex-direction:column;
2692
+ gap:var(--t-spacing-half);
2693
+ }
2694
+
2695
+ .tds-input label{
2696
+ font-size:var(--t-font-size-md);
2697
+ font-weight:var(--t-font-weight-normal);
2698
+ color:var(--t-text-color);
2747
2699
  }
2748
2700
 
2749
- .tds-sidenav-item :is(a, button) :is(.prefix){
2750
- display:none;
2701
+ .tds-input :is(input,textarea){
2702
+ inline-size:100%;
2703
+ block-size:auto;
2704
+ min-block-size:var(--tds-input-min-height);
2705
+ padding-block:var(--tds-input-padding-block);
2706
+ padding-inline:var(--tds-input-padding-inline);
2707
+ font-family:inherit;
2708
+ font-size:var(--tds-input-font-size);
2709
+ color:var(--tds-input-color);
2710
+ -webkit-appearance:none;
2711
+ -moz-appearance:none;
2712
+ appearance:none;
2713
+ outline:var(--t-focus-ring-width) solid transparent;
2714
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2715
+ outline-offset:0;
2716
+ background-color:var(--tds-input-background-color);
2717
+ border:var(--t-form-border-width) solid var(--tds-input-border-color);
2718
+ border-radius:var(--t-form-border-radius);
2719
+ transition-timing-function:var(--t-ease-in-out);
2720
+ transition-duration:var(--t-duration-200);
2721
+ transition-property:var(--tds-input-transition-property);
2751
2722
  }
2752
- @supports selector(:popover-open){
2753
- .tds-sidenav-collapse:popover-open{
2754
- display:flex;
2723
+
2724
+ :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible,[readonly]){
2725
+ border-color:var(--tds-input-border-color-hover);
2755
2726
  }
2756
2727
 
2757
- .tds-sidenav-collapse:not(:popover-open){
2758
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2759
- transition:var(--tds-sidenav-collapse-transition-exit);
2728
+ :is(.tds-input :is(input,textarea)):focus{
2729
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2760
2730
  }
2761
2731
 
2762
- @starting-style{
2763
- .tds-sidenav-collapse:popover-open{
2764
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2765
- transform:var(--tds-sidenav-collapse-closed-transform);
2766
- }
2732
+ :is(.tds-input :is(input,textarea)):focus-visible{
2733
+ outline-color:var(--t-focus-ring-color);
2734
+ outline-offset:var(--t-focus-ring-offset);
2735
+ border-color:var(--t-form-border-color-focus);
2767
2736
  }
2768
- }
2769
- @supports not selector(:popover-open){
2770
- .tds-sidenav-collapse.\:popover-open{
2771
- display:flex;
2737
+
2738
+ :is(.tds-input :is(input,textarea))::-moz-placeholder{
2739
+ color:var(--t-form-placeholder-color);
2740
+ -moz-user-select:none;
2741
+ user-select:none;
2772
2742
  }
2773
2743
 
2774
- .tds-sidenav-collapse:not(.\:popover-open){
2775
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2776
- transition:var(--tds-sidenav-collapse-transition-exit);
2744
+ :is(.tds-input :is(input,textarea))::placeholder{
2745
+ color:var(--t-form-placeholder-color);
2746
+ -webkit-user-select:none;
2747
+ -moz-user-select:none;
2748
+ user-select:none;
2777
2749
  }
2750
+
2751
+ @media (prefers-reduced-motion: reduce){
2752
+
2753
+ .tds-input :is(input,textarea){
2754
+ --tds-input-transition-property:none;
2778
2755
  }
2779
- }
2756
+ }
2780
2757
 
2781
- @media (min-width: 720px){
2782
- .tds-sidenav-responsive-header{
2783
- display:none;
2758
+ .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
2759
+ --tds-input-background-color:var(--t-form-background-color-error);
2760
+ --tds-input-border-color:var(--t-form-border-color-error);
2761
+ --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
2762
+ --tds-input-description-color:var(--t-text-color-status-error);
2763
+ --tds-input-description-invalid-icon-display:inline-block;
2784
2764
  }
2785
- }
2786
2765
 
2787
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
2788
- display:none;
2766
+ .tds-input:has(:is(input,textarea):required) label::after{
2767
+ margin-left:.25ch;
2768
+ color:var(--t-text-color-status-error);
2769
+ content:"*";
2789
2770
  }
2790
2771
 
2791
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
2792
- display:block;
2772
+ .tds-input:where(:has(:is(input,textarea):disabled)){
2773
+ --tds-input-border-color:var(--t-form-border-color-disabled);
2774
+ --tds-input-background-color:var(--t-form-background-color-disabled);
2775
+ --tds-input-color:var(--t-form-color-disabled);
2776
+ }
2777
+
2778
+ .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
2779
+ cursor:not-allowed;
2793
2780
  }
2794
2781
 
2795
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2796
- display:flex;
2797
- flex-direction:column;
2782
+ .tds-input:where(:has(:is(input,textarea)[readonly])){
2783
+ --tds-input-border-color:var(--t-form-border-color-readonly);
2784
+ --tds-input-background-color:var(--t-form-background-color-readonly);
2785
+ }
2786
+
2787
+ .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
2788
+ border-color:var(--tds-input-border-color-hover);
2798
2789
  }
2799
2790
 
2791
+ .tds-input.tds-input--lg{
2792
+ --tds-input-min-height:var(--t-container-size-lg);
2793
+ --tds-input-font-size:var(--t-font-size-lg);
2794
+ }
2795
+
2796
+ .tds-input-description{
2797
+ display:flex;
2798
+ gap:var(--t-spacing-half);
2799
+ align-items:flex-start;
2800
+ margin:0;
2801
+ font-size:var(--t-font-size-sm);
2802
+ line-height:1.35;
2803
+ color:var(--tds-input-description-color, var(--t-text-color-secondary));
2804
+ cursor:text;
2805
+ }
2806
+
2807
+ .tds-input-description .tds-input-description-invalid-icon{
2808
+ display:var(--tds-input-description-invalid-icon-display, none);
2809
+ flex-shrink:0;
2810
+ margin-block-start:calc(.5lh - .5em);
2811
+ line-height:1.35;
2812
+ }
2813
+
2800
2814
  @layer t-critical, t-component;
2801
2815
 
2802
2816
  :root{