@planningcenter/tapestry 3.2.3-rc.22 → 3.2.3-rc.23

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.
@@ -277,6 +277,30 @@
277
277
  }
278
278
 
279
279
 
280
+ :is(.tds-input input)::-webkit-search-decoration,:is(.tds-input input)::-webkit-search-cancel-button,:is(.tds-input input)::-webkit-search-results-button,:is(.tds-input input)::-webkit-search-results-decoration{
281
+ -webkit-appearance:none;
282
+ appearance:none;
283
+ }
284
+
285
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
286
+ inline-size:1em;
287
+ block-size:2em;
288
+ }
289
+
290
+ @supports (field-sizing: content){
291
+ .tds-input--auto-width{
292
+ inline-size:-moz-fit-content;
293
+ inline-size:fit-content;
294
+ min-inline-size:min(100%, 122px);
295
+ }
296
+
297
+ .tds-input--auto-width input{
298
+ field-sizing:content;
299
+ inline-size:auto;
300
+ }
301
+ }
302
+
303
+
280
304
  @media (prefers-reduced-motion: no-preference){
281
305
 
282
306
  :root{
@@ -832,30 +856,6 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
832
856
  --tds-checkbox-description-line-height:1.3;
833
857
  }
834
858
 
835
-
836
- :is(.tds-input input)::-webkit-search-decoration,:is(.tds-input input)::-webkit-search-cancel-button,:is(.tds-input input)::-webkit-search-results-button,:is(.tds-input input)::-webkit-search-results-decoration{
837
- -webkit-appearance:none;
838
- appearance:none;
839
- }
840
-
841
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
842
- inline-size:1em;
843
- block-size:2em;
844
- }
845
-
846
- @supports (field-sizing: content){
847
- .tds-input--auto-width{
848
- inline-size:-moz-fit-content;
849
- inline-size:fit-content;
850
- min-inline-size:min(100%, 122px);
851
- }
852
-
853
- .tds-input--auto-width input{
854
- field-sizing:content;
855
- inline-size:auto;
856
- }
857
- }
858
-
859
859
  .tds-radio{
860
860
  --tds-radio-font-size:var(--t-font-size-md);
861
861
  --tds-radio-cursor:pointer;
@@ -988,6 +988,198 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
988
988
  --tds-radio-description-line-height:1.3;
989
989
  }
990
990
 
991
+ .tds-input:has(textarea){
992
+ --tds-input-padding-block:6px;
993
+ --tds-input-resizer-size:var(--t-element-size-sm);
994
+ --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
995
+ }
996
+
997
+ @supports (x: attr(x type(*))){
998
+
999
+ .tds-input:has(textarea){
1000
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1001
+ }
1002
+ }
1003
+
1004
+ .tds-input.tds-textarea--resize-vertical textarea{
1005
+ resize:vertical;
1006
+ }
1007
+
1008
+ .tds-input.tds-textarea--resize-none textarea{
1009
+ resize:none;
1010
+ }
1011
+
1012
+ .tds-input.tds-textarea--resize-auto textarea{
1013
+ resize:vertical;
1014
+ }
1015
+
1016
+ @supports (field-sizing: content){
1017
+ .tds-input.tds-textarea--resize-auto textarea{
1018
+ field-sizing:content;
1019
+ resize:none;
1020
+ }
1021
+ }
1022
+
1023
+ .tds-input textarea{
1024
+ --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1025
+ --tds-input-scrollbar-thumb-color-hidden:transparent;
1026
+ --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1027
+ --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1028
+ --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1029
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1030
+ --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1031
+ --tds-input-scrollbar-thumb-border-radius:999px;
1032
+ --tds-input-scrollbar-thumb-border-width:3px;
1033
+ --tds-input-scrollbar-track-margin-block:.125rem;
1034
+ scrollbar-color:initial;
1035
+ transition-timing-function:var(--t-ease-in-out);
1036
+ transition-duration:var(--t-duration-200);
1037
+ transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1038
+ }
1039
+
1040
+ @media (pointer: fine){
1041
+ :is(.tds-input textarea)::-webkit-scrollbar{
1042
+ width:12px;
1043
+ height:12px;
1044
+ cursor:default;
1045
+ }
1046
+
1047
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1048
+ cursor:default;
1049
+ background:var(--tds-input-scrollbar-thumb-color);
1050
+ background-clip:content-box;
1051
+ border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1052
+ border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1053
+ }
1054
+
1055
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1056
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
1057
+ }
1058
+
1059
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1060
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1061
+ }
1062
+
1063
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1064
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1065
+ }
1066
+
1067
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
1068
+ background:var(--tds-input-scrollbar-surface-color);
1069
+ }
1070
+
1071
+ :is(.tds-input textarea)::-webkit-resizer{
1072
+ background:var(--tds-input-resizer-icon) no-repeat;
1073
+ background-position:right bottom;
1074
+ background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
1075
+ }
1076
+
1077
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
1078
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
1079
+ cursor:default;
1080
+ }
1081
+
1082
+ @supports (-moz-appearance: none){
1083
+ :is(.tds-input textarea){
1084
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1085
+ scrollbar-width:thin;
1086
+ }
1087
+
1088
+ @media (hover){
1089
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1090
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1091
+ }
1092
+ }
1093
+ }
1094
+ }
1095
+
1096
+ .tds-radio-group{
1097
+ --tds-radio-group-font-size:var(--t-font-size-md);
1098
+ --tds-radio-group-line-height:1.4;
1099
+ --tds-radio-group-gap:var(--t-spacing-1);
1100
+
1101
+ --tds-radio-group-legend-margin-bottom:var(--tds-radio-group-gap);
1102
+
1103
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
1104
+ --tds-radio-group-description-line-height:1.35;
1105
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
1106
+ --tds-radio-group-description-invalid-icon-display:none;
1107
+ display:flex;
1108
+ flex-direction:column;
1109
+ gap:var(--tds-radio-group-gap);
1110
+ padding:0;
1111
+ margin:0;
1112
+
1113
+ font-size:var(--tds-radio-group-font-size);
1114
+ line-height:var(--tds-radio-group-line-height);
1115
+ border:0;
1116
+ }
1117
+
1118
+ .tds-radio-group legend{
1119
+ padding:0;
1120
+ margin-bottom:var(--tds-radio-group-legend-margin-bottom);
1121
+ }
1122
+
1123
+ .tds-radio-group:has(.tds-radio-group-description){
1124
+ --tds-radio-group-legend-margin-bottom:var(--t-spacing-fourth);
1125
+ }
1126
+
1127
+ .tds-radio-group[aria-invalid="true"]{
1128
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
1129
+ --tds-radio-group-description-invalid-icon-display:inline-block;
1130
+ }
1131
+
1132
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
1133
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1134
+ }
1135
+
1136
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1137
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1138
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1139
+ }
1140
+
1141
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1142
+ --tds-radio-input-background-color:var(--t-form-background-color);
1143
+ }
1144
+
1145
+ .tds-radio-group:has(input:required) legend::after{
1146
+ margin-left:.25ch;
1147
+ color:var(--t-text-color-status-error);
1148
+ content:"*";
1149
+ }
1150
+
1151
+ .tds-radio-group-fields{
1152
+ display:flex;
1153
+ flex-direction:column;
1154
+ gap:var(--tds-radio-group-gap);
1155
+ align-items:flex-start;
1156
+ }
1157
+
1158
+ .tds-radio-group-description{
1159
+ display:flex;
1160
+ gap:var(--t-spacing-half);
1161
+ align-items:flex-start;
1162
+ margin:0;
1163
+ font-size:var(--tds-radio-group-description-font-size);
1164
+ line-height:var(--tds-radio-group-description-line-height);
1165
+ color:var(--tds-radio-group-description-color);
1166
+ cursor:text;
1167
+ }
1168
+
1169
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1170
+ display:var(--tds-radio-group-description-invalid-icon-display);
1171
+ flex-shrink:0;
1172
+ margin-top:calc(.5lh - .5em);
1173
+ line-height:var(--tds-radio-group-description-line-height);
1174
+ }
1175
+
1176
+ .tds-radio-group--sm{
1177
+ --tds-radio-group-line-height:1.35;
1178
+ --tds-radio-group-font-size:var(--t-font-size-sm);
1179
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
1180
+ --tds-radio-group-description-line-height:1.3;
1181
+ }
1182
+
991
1183
  .tds-toggle-switch{
992
1184
  --tds-toggle-switch-font-size:var(--t-font-size-md);
993
1185
  --tds-toggle-switch-column-gap:var(--t-spacing-1);
@@ -1129,198 +1321,6 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1129
1321
  --tds-toggle-switch-display:inline-flex;
1130
1322
  }
1131
1323
 
1132
- .tds-radio-group{
1133
- --tds-radio-group-font-size:var(--t-font-size-md);
1134
- --tds-radio-group-line-height:1.4;
1135
- --tds-radio-group-gap:var(--t-spacing-1);
1136
-
1137
- --tds-radio-group-legend-margin-bottom:var(--tds-radio-group-gap);
1138
-
1139
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
1140
- --tds-radio-group-description-line-height:1.35;
1141
- --tds-radio-group-description-color:var(--t-text-color-secondary);
1142
- --tds-radio-group-description-invalid-icon-display:none;
1143
- display:flex;
1144
- flex-direction:column;
1145
- gap:var(--tds-radio-group-gap);
1146
- padding:0;
1147
- margin:0;
1148
-
1149
- font-size:var(--tds-radio-group-font-size);
1150
- line-height:var(--tds-radio-group-line-height);
1151
- border:0;
1152
- }
1153
-
1154
- .tds-radio-group legend{
1155
- padding:0;
1156
- margin-bottom:var(--tds-radio-group-legend-margin-bottom);
1157
- }
1158
-
1159
- .tds-radio-group:has(.tds-radio-group-description){
1160
- --tds-radio-group-legend-margin-bottom:var(--t-spacing-fourth);
1161
- }
1162
-
1163
- .tds-radio-group[aria-invalid="true"]{
1164
- --tds-radio-group-description-color:var(--t-text-color-status-error);
1165
- --tds-radio-group-description-invalid-icon-display:inline-block;
1166
- }
1167
-
1168
- .tds-radio-group[aria-invalid="true"] .tds-radio{
1169
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1170
- }
1171
-
1172
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1173
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1174
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1175
- }
1176
-
1177
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1178
- --tds-radio-input-background-color:var(--t-form-background-color);
1179
- }
1180
-
1181
- .tds-radio-group:has(input:required) legend::after{
1182
- margin-left:.25ch;
1183
- color:var(--t-text-color-status-error);
1184
- content:"*";
1185
- }
1186
-
1187
- .tds-radio-group-fields{
1188
- display:flex;
1189
- flex-direction:column;
1190
- gap:var(--tds-radio-group-gap);
1191
- align-items:flex-start;
1192
- }
1193
-
1194
- .tds-radio-group-description{
1195
- display:flex;
1196
- gap:var(--t-spacing-half);
1197
- align-items:flex-start;
1198
- margin:0;
1199
- font-size:var(--tds-radio-group-description-font-size);
1200
- line-height:var(--tds-radio-group-description-line-height);
1201
- color:var(--tds-radio-group-description-color);
1202
- cursor:text;
1203
- }
1204
-
1205
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1206
- display:var(--tds-radio-group-description-invalid-icon-display);
1207
- flex-shrink:0;
1208
- margin-top:calc(.5lh - .5em);
1209
- line-height:var(--tds-radio-group-description-line-height);
1210
- }
1211
-
1212
- .tds-radio-group--sm{
1213
- --tds-radio-group-line-height:1.35;
1214
- --tds-radio-group-font-size:var(--t-font-size-sm);
1215
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
1216
- --tds-radio-group-description-line-height:1.3;
1217
- }
1218
-
1219
- .tds-input:has(textarea){
1220
- --tds-input-padding-block:6px;
1221
- --tds-input-resizer-size:var(--t-element-size-sm);
1222
- --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
1223
- }
1224
-
1225
- @supports (x: attr(x type(*))){
1226
-
1227
- .tds-input:has(textarea){
1228
- --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1229
- }
1230
- }
1231
-
1232
- .tds-input.tds-textarea--resize-vertical textarea{
1233
- resize:vertical;
1234
- }
1235
-
1236
- .tds-input.tds-textarea--resize-none textarea{
1237
- resize:none;
1238
- }
1239
-
1240
- .tds-input.tds-textarea--resize-auto textarea{
1241
- resize:vertical;
1242
- }
1243
-
1244
- @supports (field-sizing: content){
1245
- .tds-input.tds-textarea--resize-auto textarea{
1246
- field-sizing:content;
1247
- resize:none;
1248
- }
1249
- }
1250
-
1251
- .tds-input textarea{
1252
- --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1253
- --tds-input-scrollbar-thumb-color-hidden:transparent;
1254
- --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1255
- --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1256
- --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1257
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1258
- --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1259
- --tds-input-scrollbar-thumb-border-radius:999px;
1260
- --tds-input-scrollbar-thumb-border-width:3px;
1261
- --tds-input-scrollbar-track-margin-block:.125rem;
1262
- scrollbar-color:initial;
1263
- transition-timing-function:var(--t-ease-in-out);
1264
- transition-duration:var(--t-duration-200);
1265
- transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1266
- }
1267
-
1268
- @media (pointer: fine){
1269
- :is(.tds-input textarea)::-webkit-scrollbar{
1270
- width:12px;
1271
- height:12px;
1272
- cursor:default;
1273
- }
1274
-
1275
- :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1276
- cursor:default;
1277
- background:var(--tds-input-scrollbar-thumb-color);
1278
- background-clip:content-box;
1279
- border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1280
- border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1281
- }
1282
-
1283
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1284
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
1285
- }
1286
-
1287
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1288
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1289
- }
1290
-
1291
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1292
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1293
- }
1294
-
1295
- :is(.tds-input textarea)::-webkit-scrollbar-corner{
1296
- background:var(--tds-input-scrollbar-surface-color);
1297
- }
1298
-
1299
- :is(.tds-input textarea)::-webkit-resizer{
1300
- background:var(--tds-input-resizer-icon) no-repeat;
1301
- background-position:right bottom;
1302
- background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
1303
- }
1304
-
1305
- :is(.tds-input textarea)::-webkit-scrollbar-track{
1306
- margin-block:var(--tds-input-scrollbar-track-margin-block);
1307
- cursor:default;
1308
- }
1309
-
1310
- @supports (-moz-appearance: none){
1311
- :is(.tds-input textarea){
1312
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1313
- scrollbar-width:thin;
1314
- }
1315
-
1316
- @media (hover){
1317
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1318
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1319
- }
1320
- }
1321
- }
1322
- }
1323
-
1324
1324
  .tds-select{
1325
1325
  --tds-select-border-color:var(--t-form-border-color);
1326
1326
  --tds-select-border-color-hover:var(--t-form-border-color-hover);
@@ -3414,19 +3414,19 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
3414
3414
  --tds-checkbox-group-description-line-height:1.3;
3415
3415
  }
3416
3416
 
3417
- .tds-date-picker{
3418
- --tds-date-picker-border-color:var(--t-form-border-color);
3419
- --tds-date-picker-border-color-hover:var(--t-form-border-color-hover);
3420
- --tds-date-picker-border-color-active:var(--t-form-border-color-focus);
3421
- --tds-date-picker-background-color:var(--t-form-background-color);
3422
- --tds-date-picker-color:var(--t-form-color);
3423
- --tds-date-picker-placeholder-color:var(--t-form-placeholder-color);
3424
- --tds-date-picker-font-size:var(--t-font-size-md);
3425
- --tds-date-picker-min-height:var(--t-container-size-md);
3426
- --tds-date-picker-padding-block:6px;
3427
- --tds-date-picker-button-offset:4px;
3428
- --tds-date-picker-description-color:var(--t-text-color-secondary);
3429
- --tds-date-picker-description-invalid-icon-display:none;
3417
+ .tds-combo-box{
3418
+ --tds-combo-box-border-color:var(--t-form-border-color);
3419
+ --tds-combo-box-border-color-hover:var(--t-form-border-color-hover);
3420
+ --tds-combo-box-border-color-active:var(--t-form-border-color-focus);
3421
+ --tds-combo-box-background-color:var(--t-form-background-color);
3422
+ --tds-combo-box-color:var(--t-form-color);
3423
+ --tds-combo-box-placeholder-color:var(--t-form-placeholder-color);
3424
+ --tds-combo-box-font-size:var(--t-font-size-md);
3425
+ --tds-combo-box-min-height:var(--t-container-size-md);
3426
+ --tds-combo-box-padding-block:6px;
3427
+ --tds-combo-box-button-offset:4px;
3428
+ --tds-combo-box-description-color:var(--t-text-color-secondary);
3429
+ --tds-combo-box-description-invalid-icon-display:none;
3430
3430
 
3431
3431
  position:relative;
3432
3432
  display:flex;
@@ -3434,452 +3434,287 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
3434
3434
  gap:var(--t-spacing-half);
3435
3435
  }
3436
3436
 
3437
- .tds-date-picker[data-required] .tds-date-picker-label::after{
3437
+ .tds-combo-box[data-required] .tds-combo-box-label::after{
3438
3438
  margin-left:.25ch;
3439
3439
  color:var(--t-text-color-status-error);
3440
3440
  content:"*";
3441
3441
  }
3442
3442
 
3443
- .tds-date-picker[data-invalid]{
3444
- --tds-date-picker-border-color:var(--t-form-border-color-error);
3445
- --tds-date-picker-border-color-hover:var(--t-form-border-color-error-hover);
3446
- --tds-date-picker-border-color-active:var(--t-form-border-color-error-hover);
3447
- --tds-date-picker-background-color:var(--t-form-background-color-error);
3448
- --tds-date-picker-description-color:var(--t-text-color-status-error);
3449
- --tds-date-picker-description-invalid-icon-display:inline-block;
3443
+ .tds-combo-box[data-invalid]{
3444
+ --tds-combo-box-border-color:var(--t-form-border-color-error);
3445
+ --tds-combo-box-border-color-hover:var(--t-form-border-color-error-hover);
3446
+ --tds-combo-box-border-color-active:var(--t-form-border-color-error-hover);
3447
+ --tds-combo-box-background-color:var(--t-form-background-color-error);
3448
+ --tds-combo-box-description-color:var(--t-text-color-status-error);
3449
+ --tds-combo-box-description-invalid-icon-display:inline-block;
3450
3450
  }
3451
3451
 
3452
- .tds-date-picker[data-disabled]{
3453
- --tds-date-picker-border-color:var(--t-form-border-color-disabled);
3454
- --tds-date-picker-background-color:var(--t-form-background-color-disabled);
3455
- --tds-date-picker-color:var(--t-form-color-disabled);
3456
- --tds-date-picker-placeholder-color:var(--t-form-color-disabled);
3452
+ .tds-combo-box[data-disabled]{
3453
+ --tds-combo-box-border-color:var(--t-form-border-color-disabled);
3454
+ --tds-combo-box-background-color:var(--t-form-background-color-disabled);
3455
+ --tds-combo-box-color:var(--t-form-color-disabled);
3457
3456
  }
3458
3457
 
3459
- .tds-date-picker[data-disabled] .tds-date-picker-field{
3458
+ .tds-combo-box[data-disabled] .tds-combo-box-label{
3459
+ color:var(--t-form-color-disabled);
3460
+ }
3461
+
3462
+ .tds-combo-box[data-disabled] .tds-combo-box-field{
3460
3463
  cursor:not-allowed;
3461
3464
  }
3462
3465
 
3463
- .tds-date-picker--lg{
3464
- --tds-date-picker-min-height:var(--t-container-size-lg);
3465
- --tds-date-picker-font-size:var(--t-font-size-lg);
3466
- --tds-date-picker-button-offset:5px;
3466
+ .tds-combo-box[data-open] .tds-combo-box-button > svg{
3467
+ transform:rotate(.5turn);
3468
+ }
3469
+
3470
+ .tds-combo-box--lg{
3471
+ --tds-combo-box-min-height:var(--t-container-size-lg);
3472
+ --tds-combo-box-font-size:var(--t-font-size-lg);
3473
+ --tds-combo-box-button-offset:5px;
3467
3474
  }
3468
3475
 
3469
- .tds-date-picker-label{
3476
+ .tds-combo-box-label{
3470
3477
  font-size:var(--t-font-size-md);
3471
3478
  font-weight:var(--t-font-weight-normal);
3472
3479
  color:var(--t-text-color);
3473
3480
  cursor:default;
3474
3481
  }
3475
3482
 
3476
- .tds-date-picker-field{
3483
+ .tds-combo-box-field{
3477
3484
  display:flex;
3478
3485
  align-items:center;
3479
3486
  inline-size:100%;
3480
- min-block-size:var(--tds-date-picker-min-height);
3487
+ min-block-size:var(--tds-combo-box-min-height);
3481
3488
  font-family:inherit;
3482
- font-size:var(--tds-date-picker-font-size);
3489
+ font-size:var(--tds-combo-box-font-size);
3483
3490
  line-height:1;
3484
- color:var(--tds-date-picker-color);
3491
+ color:var(--tds-combo-box-color);
3485
3492
  -webkit-appearance:none;
3486
3493
  -moz-appearance:none;
3487
3494
  appearance:none;
3488
- cursor:text;
3495
+ cursor:default;
3489
3496
  outline:var(--t-focus-ring-width) solid transparent;
3490
3497
  outline-offset:0;
3491
- background-color:var(--tds-date-picker-background-color);
3492
- border:var(--t-form-border-width) solid var(--tds-date-picker-border-color);
3498
+ background-color:var(--tds-combo-box-background-color);
3499
+ border:var(--t-form-border-width) solid var(--tds-combo-box-border-color);
3493
3500
  border-radius:var(--t-form-border-radius);
3494
3501
  }
3495
3502
 
3496
- .tds-date-picker-field[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
3497
- border-color:var(--tds-date-picker-border-color-hover);
3503
+ .tds-combo-box-field[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
3504
+ border-color:var(--tds-combo-box-border-color-hover);
3498
3505
  }
3499
3506
 
3500
- .tds-date-picker-field[data-focus-within]:not(:has(.tds-date-picker-button[data-focused])){
3507
+ .tds-combo-box-field[data-focus-within]{
3501
3508
  outline-color:var(--t-focus-ring-color);
3502
3509
  outline-offset:var(--t-focus-ring-offset);
3503
- border-color:var(--tds-date-picker-border-color-active);
3510
+ border-color:var(--tds-combo-box-border-color-active);
3504
3511
  }
3505
3512
 
3506
- .tds-date-picker-field:has(.tds-date-picker-input[data-readonly]){
3507
- --tds-date-picker-border-color:var(--t-form-border-color-readonly);
3508
- --tds-date-picker-border-color-hover:var(--t-form-border-color-readonly);
3509
- --tds-date-picker-background-color:var(--t-form-background-color-readonly);
3510
- color:var(--t-form-color-readonly);
3513
+ .tds-combo-box-field:has([readonly]){
3514
+ --tds-combo-box-border-color:var(--t-form-border-color-readonly);
3515
+ --tds-combo-box-border-color-hover:var(--t-form-border-color-readonly);
3516
+ --tds-combo-box-background-color:var(--t-form-background-color-readonly);
3511
3517
  }
3512
3518
 
3513
- .tds-date-picker-field[data-focus-within]:has(.tds-date-picker-input[data-readonly]){
3519
+ .tds-combo-box-field[data-focus-within]:has([readonly]){
3514
3520
  border-color:var(--t-form-border-color-hover);
3515
3521
  }
3516
3522
 
3517
- .tds-date-picker-field:has(.tds-date-picker-input[data-readonly]) .tds-date-picker-button{
3523
+ .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
3518
3524
  display:none;
3519
3525
  }
3520
3526
 
3521
- .tds-date-picker-input{
3527
+ .tds-combo-box-input{
3528
+ display:flex;
3522
3529
  flex:1;
3523
- padding-block:var(--tds-date-picker-padding-block);
3530
+ align-items:center;
3531
+ padding-block:var(--tds-combo-box-padding-block);
3524
3532
  padding-inline-start:var(--t-spacing-1);
3525
- font-variant-numeric:tabular-nums;
3526
- }
3527
-
3528
- .tds-date-picker-segment{
3529
- padding-inline:2px;
3530
- caret-color:transparent;
3531
- border-radius:var(--t-border-radius-sm);
3533
+ font-family:inherit;
3534
+ font-size:inherit;
3535
+ color:inherit;
3536
+ outline:0;
3537
+ background:transparent;
3538
+ border:0;
3532
3539
  }
3533
3540
 
3534
- .tds-date-picker-segment[data-placeholder]{
3535
- color:var(--tds-date-picker-placeholder-color);
3536
- }
3537
-
3538
- .tds-date-picker-segment[data-focused]{
3539
- color:var(--t-text-color-inverted);
3540
- outline:0;
3541
- background:var(--t-fill-color-interaction);
3541
+ .tds-combo-box-input::-moz-placeholder{
3542
+ color:var(--tds-combo-box-placeholder-color);
3543
+ -moz-user-select:none;
3544
+ user-select:none;
3542
3545
  }
3543
3546
 
3544
- .tds-date-picker-segment-separator{
3545
- padding-inline:0;
3546
- color:var(--tds-date-picker-placeholder-color);
3547
- }
3548
-
3549
- .tds-date-picker-description{
3550
- display:flex;
3551
- gap:var(--t-spacing-half);
3552
- align-items:flex-start;
3553
- margin:0;
3554
- font-size:var(--t-font-size-sm);
3555
- line-height:1.35;
3556
- color:var(--tds-date-picker-description-color, var(--t-text-color-secondary));
3557
- cursor:text;
3558
- }
3559
-
3560
- .tds-date-picker-description .tds-date-picker-description-invalid-icon{
3561
- display:var(--tds-date-picker-description-invalid-icon-display, none);
3562
- flex-shrink:0;
3563
- margin-block-start:calc(.5lh - .5em);
3564
- line-height:1.35;
3547
+ .tds-combo-box-input::placeholder{
3548
+ color:var(--tds-combo-box-placeholder-color);
3549
+ -webkit-user-select:none;
3550
+ -moz-user-select:none;
3551
+ user-select:none;
3565
3552
  }
3566
3553
 
3567
- .tds-date-picker-button{
3554
+ .tds-combo-box-button{
3568
3555
  flex-shrink:0;
3569
3556
  align-self:center;
3570
- inline-size:calc(var(--tds-date-picker-min-height) - (var(--tds-date-picker-button-offset) * 2));
3571
- block-size:calc(var(--tds-date-picker-min-height) - (var(--tds-date-picker-button-offset) * 2));
3557
+ inline-size:calc(var(--tds-combo-box-min-height) - (var(--tds-combo-box-button-offset) * 2));
3558
+ block-size:calc(var(--tds-combo-box-min-height) - (var(--tds-combo-box-button-offset) * 2));
3572
3559
  padding:0;
3573
- margin-inline-end:var(--tds-date-picker-button-offset);
3560
+ margin-inline-end:var(--tds-combo-box-button-offset);
3574
3561
  }
3575
3562
 
3576
- .tds-date-picker-popover{
3577
- --tds-date-picker-popover-font-size:var(--t-font-size-md);
3578
- --tds-date-picker-popover-padding:var(--t-spacing-1-half);
3579
- --tds-date-picker-popover-background-color:var(--t-surface-color-card);
3580
- --tds-date-picker-popover-transition-enter:opacity var(--t-duration-300) var(--t-ease-out), transform var(--t-duration-300) var(--t-ease-out);
3581
- --tds-date-picker-popover-transition-exit:opacity var(--t-duration-200) var(--t-ease-in), transform var(--t-duration-200) var(--t-ease-in);
3582
- --tds-date-picker-popover-closed-opacity:0;
3583
- --tds-date-picker-popover-closed-transform:translateY(-8px);
3584
- --tds-date-picker-popover-interactive-timing-function:var(--t-ease-in-out);
3585
- --tds-date-picker-popover-interactive-duration:var(--t-duration-200);
3586
- --tds-date-picker-popover-interactive-property:color, background-color, border-color;
3563
+ .tds-combo-box-button > svg{
3564
+ inline-size:var(--tds-combo-box-font-size);
3565
+ block-size:var(--tds-combo-box-font-size);
3566
+ transition:transform var(--t-duration-300) var(--t-ease-in-out);
3567
+ }
3587
3568
 
3588
- position:relative;
3589
- overflow:hidden;
3590
- background-color:var(--tds-date-picker-popover-background-color);
3591
- border:var(--t-border-width) solid var(--t-border-color);
3569
+ .tds-combo-box-button:not(.tds-btn){
3570
+ display:inline-flex;
3571
+ align-items:center;
3572
+ justify-content:center;
3573
+ inline-size:auto;
3574
+ block-size:auto;
3575
+ margin-inline-end:.75em;
3576
+ color:var(--t-icon-color);
3577
+ cursor:default;
3578
+ background:transparent;
3579
+ border:0;
3580
+ }
3581
+
3582
+ .tds-combo-box-button[data-focus-visible]:not(.tds-btn){
3583
+ outline:0;
3584
+ }
3585
+
3586
+ .tds-combo-box-popover{
3587
+ width:var(--trigger-width);
3588
+ max-block-size:inherit;
3589
+ padding:var(--t-spacing-1);
3590
+ overflow:auto;
3591
+ outline:0;
3592
+ scrollbar-color:#0004 #0000;
3593
+ scrollbar-width:thin;
3594
+ background:var(--t-surface-color-card);
3595
+ background-clip:padding-box;
3596
+ border:1px solid var(--t-border-color);
3592
3597
  border-radius:var(--t-border-radius);
3593
- box-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
3594
- opacity:1;
3595
- transform:translateY(0);
3596
- transition:var(--tds-date-picker-popover-transition-enter);
3598
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
3597
3599
  }
3598
3600
 
3599
- .tds-date-picker-popover[data-entering]{
3600
- opacity:var(--tds-date-picker-popover-closed-opacity);
3601
- transform:var(--tds-date-picker-popover-closed-transform);
3601
+ .tds-combo-box-popover[data-entering]{
3602
+ animation:tds-combo-box-popover-enter 160ms ease;
3602
3603
  }
3603
3604
 
3604
- .tds-date-picker-popover[data-exiting]{
3605
- opacity:var(--tds-date-picker-popover-closed-opacity);
3606
- transform:var(--tds-date-picker-popover-closed-transform);
3607
- transition:var(--tds-date-picker-popover-transition-exit);
3605
+ .tds-combo-box-popover[data-exiting]{
3606
+ animation:tds-combo-box-popover-exit 130ms ease;
3608
3607
  }
3609
3608
 
3610
- @media (prefers-reduced-motion: reduce){
3611
-
3612
- .tds-date-picker-popover{
3613
- --tds-date-picker-popover-transition-enter:none;
3614
- --tds-date-picker-popover-transition-exit:none;
3615
- --tds-date-picker-popover-closed-opacity:1;
3616
- --tds-date-picker-popover-closed-transform:none;
3617
- }
3609
+ @keyframes tds-combo-box-popover-enter{
3610
+ from{
3611
+ opacity:0;
3612
+ transform:translateY(-8px);
3618
3613
  }
3619
-
3620
- .tds-date-picker-overlay{
3621
- position:absolute;
3622
- inset:0;
3623
- z-index:1;
3624
- display:flex;
3625
- background-color:var(--tds-date-picker-popover-background-color);
3626
3614
  }
3627
3615
 
3628
- .tds-date-picker-overlay-list{
3629
- display:grid;
3630
- flex:1;
3631
- gap:var(--t-spacing-half);
3632
- padding-inline:var(--tds-date-picker-popover-padding);
3633
- outline:0;
3634
- grid-template-columns:repeat(3, 1fr);
3635
- scrollbar-width:thin;
3636
- scrollbar-color:var(--t-fill-color-transparency-dark-030) transparent;
3616
+ @keyframes tds-combo-box-popover-exit{
3617
+ to{
3618
+ opacity:0;
3619
+ transform:translateY(-8px);
3620
+ }
3637
3621
  }
3638
3622
 
3639
- .tds-date-picker-overlay--month .tds-date-picker-overlay-list{
3640
- padding-bottom:var(--tds-date-picker-popover-padding);
3641
- grid-template-rows:repeat(4, 1fr);
3623
+ @media (prefers-reduced-motion: reduce){
3624
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
3625
+ animation:none;
3626
+ }
3627
+
3628
+ .tds-combo-box-button > svg{
3629
+ transition:none;
3630
+ }
3642
3631
  }
3643
3632
 
3644
- .tds-date-picker-overlay--year .tds-date-picker-overlay-list{
3645
- padding-right:var(--t-spacing-1);
3646
- grid-auto-rows:var(--t-container-size-xl);
3647
- overflow-y:auto;
3648
- scroll-padding-block:calc(var(--t-focus-ring-width) + var(--t-focus-ring-offset));
3633
+ .tds-combo-box-list{
3634
+ padding:0;
3635
+ margin:0;
3649
3636
  }
3650
3637
 
3651
- .tds-date-picker-overlay-cell{
3652
- display:flex;
3653
- align-items:center;
3654
- justify-content:center;
3655
- font-family:inherit;
3656
- font-size:var(--tds-date-picker-popover-font-size);
3638
+ .tds-combo-box-list-item{
3639
+ display:block;
3640
+ padding-block:var(--t-spacing-1);
3641
+ padding-inline:var(--t-spacing-2) var(--t-spacing-1);
3642
+ overflow:hidden;
3643
+ text-overflow:ellipsis;
3644
+ font-size:1rem;
3657
3645
  color:var(--t-text-color);
3646
+ white-space:nowrap;
3658
3647
  cursor:default;
3659
- outline:0;
3660
- background:transparent;
3661
- border:0;
3662
- border-radius:var(--t-border-radius-md);
3663
- transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
3664
- transition-duration:var(--tds-date-picker-popover-interactive-duration);
3665
- transition-property:var(--tds-date-picker-popover-interactive-property);
3648
+ border-radius:var(--t-border-radius);
3666
3649
  }
3667
3650
 
3668
- .tds-date-picker-overlay-cell[data-hovered]{
3669
- background:var(--t-fill-color-button-neutral-outline-hover);
3670
- }
3671
-
3672
- .tds-date-picker-overlay-cell[data-pressed]{
3673
- background:var(--t-fill-color-button-neutral-outline-active);
3651
+ .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
3652
+ background:var(--t-fill-color-neutral-070);
3674
3653
  }
3675
3654
 
3676
- .tds-date-picker-overlay-cell[data-selected]{
3677
- font-weight:var(--t-font-weight-semibold);
3678
- color:var(--t-text-color-inverted);
3679
- background:var(--t-fill-color-interaction);
3655
+ .tds-combo-box-list-item[data-selected]{
3656
+ background:var(--t-fill-color-button-interaction-ghost-active);
3680
3657
  }
3681
3658
 
3682
- .tds-date-picker-overlay-cell[data-focus-visible]{
3683
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
3659
+ .tds-combo-box-list-item[data-disabled]{
3660
+ color:var(--t-form-color-disabled);
3661
+ cursor:not-allowed;
3684
3662
  }
3685
3663
 
3686
- .tds-date-picker-overlay-cell[data-selected][data-focus-visible]{
3687
- outline-offset:var(--t-focus-ring-offset);
3688
- }
3664
+ .tds-combo-box-list-item[data-disabled][data-hovered]{
3665
+ background:transparent;
3666
+ }
3689
3667
 
3690
- .tds-date-picker-calendar-heading{
3691
- display:flex;
3692
- flex:1;
3693
- gap:var(--t-spacing-half);
3694
- align-items:center;
3695
- justify-content:flex-start;
3696
- }
3697
-
3698
- .tds-date-picker-calendar-overlay-trigger{
3699
- padding:var(--t-spacing-half) var(--t-spacing-1);
3700
- font-family:inherit;
3701
- font-size:var(--tds-date-picker-popover-font-size);
3702
- font-weight:var(--t-font-weight-semibold);
3703
- color:var(--t-text-color);
3704
- cursor:default;
3705
- outline:0;
3706
- background:transparent;
3707
- border:0;
3708
- border-radius:var(--t-border-radius-md);
3709
- transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
3710
- transition-duration:var(--tds-date-picker-popover-interactive-duration);
3711
- transition-property:var(--tds-date-picker-popover-interactive-property);
3712
- }
3713
-
3714
- .tds-date-picker-calendar-overlay-trigger[data-hovered]{
3715
- background:var(--t-fill-color-button-neutral-outline-hover);
3716
- }
3717
-
3718
- .tds-date-picker-calendar-overlay-trigger[data-pressed]{
3719
- background:var(--t-fill-color-button-neutral-outline-active);
3720
- }
3721
-
3722
- .tds-date-picker-calendar-overlay-trigger[data-focus-visible]{
3723
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
3724
- outline-offset:var(--t-focus-ring-offset);
3725
- }
3726
-
3727
- .tds-date-picker-calendar{
3728
- font-size:var(--tds-date-picker-popover-font-size);
3729
- inline-size:-moz-fit-content;
3730
- inline-size:fit-content;
3731
- }
3732
-
3733
- .tds-date-picker-calendar-body{
3668
+ .tds-combo-box-empty-state{
3734
3669
  position:relative;
3735
- padding:var(--tds-date-picker-popover-padding);
3736
- padding-block-start:0;
3737
- }
3738
-
3739
- .tds-date-picker-calendar-header{
3740
- display:flex;
3741
- align-items:center;
3742
- justify-content:space-between;
3743
- padding:var(--tds-date-picker-popover-padding);
3744
- }
3745
-
3746
- .tds-date-picker-calendar-title{
3747
- padding:var(--t-spacing-half) var(--t-spacing-1);
3748
- font-size:var(--tds-date-picker-popover-font-size);
3749
- font-weight:var(--t-font-weight-semibold);
3670
+ min-block-size:var(--t-spacing-3);
3671
+ padding-block:var(--t-spacing-1);
3672
+ padding-inline:var(--t-spacing-2);
3673
+ font-size:var(--t-font-size-md);
3674
+ color:var(--t-text-color-secondary);
3750
3675
  }
3751
3676
 
3752
- .tds-date-picker-calendar-title--visually-hidden{
3753
- position:absolute;
3754
- inline-size:1px;
3755
- block-size:1px;
3756
- padding:0;
3757
- margin:-1px;
3758
- overflow:hidden;
3759
- white-space:nowrap;
3760
- border:0;
3761
- clip-path:inset(50%);
3677
+ .tds-combo-box-load-more{
3678
+ position:relative;
3679
+ min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
3762
3680
  }
3763
3681
 
3764
- .tds-date-picker-calendar-nav{
3765
- font-size:var(--tds-date-picker-popover-font-size);
3766
- display:flex;
3767
- align-items:center;
3768
- justify-content:center;
3769
- padding:var(--t-spacing-half);
3770
- color:var(--t-text-color);
3771
- cursor:default;
3772
- outline:0;
3773
- background:transparent;
3774
- border:0;
3775
- border-radius:var(--t-border-radius-md);
3776
- transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
3777
- transition-duration:var(--tds-date-picker-popover-interactive-duration);
3778
- transition-property:var(--tds-date-picker-popover-interactive-property);
3682
+ .tds-combo-box-empty-state,
3683
+ .tds-combo-box-load-more{
3684
+ --tds-loading-spinner-visibility:visible;
3685
+ --tds-loading-spinner-animation-play-state:running;
3779
3686
  }
3780
3687
 
3781
- .tds-date-picker-calendar-nav[data-hovered]{
3782
- background:var(--t-fill-color-button-neutral-outline-hover);
3783
- }
3784
-
3785
- .tds-date-picker-calendar-nav[data-pressed]{
3786
- background:var(--t-fill-color-button-neutral-outline-active);
3787
- }
3788
-
3789
- .tds-date-picker-calendar-nav[data-focus-visible]{
3790
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
3791
- outline-offset:var(--t-focus-ring-offset);
3792
- }
3793
-
3794
- .tds-date-picker-calendar-nav[data-disabled]{
3795
- color:var(--t-text-color-disabled);
3796
- cursor:not-allowed;
3688
+ .tds-combo-box-list-section:not(:first-child){
3689
+ margin-block-start:var(--t-spacing-half);
3797
3690
  }
3798
3691
 
3799
- .tds-date-picker-calendar-nav svg{
3800
- transform:scale(0.875);
3801
- }
3802
-
3803
- .tds-date-picker-calendar-nav--lg svg{
3804
- transform:scale(1);
3805
- }
3806
-
3807
- .tds-date-picker-calendar-grid{
3808
- border-collapse:collapse;
3809
- }
3810
-
3811
- .tds-date-picker-calendar-header-cell{
3812
- padding-block:var(--t-spacing-half);
3813
- font-size:0.875em;
3814
- font-weight:var(--t-font-weight-medium);
3692
+ .tds-combo-box-section-header{
3693
+ padding-block:var(--t-spacing-1);
3694
+ padding-inline:var(--t-spacing-1);
3695
+ font-size:var(--t-font-size-sm);
3696
+ font-weight:var(--t-font-weight-semibold);
3815
3697
  color:var(--t-text-color-secondary);
3816
- text-align:center;
3817
3698
  }
3818
3699
 
3819
- .tds-date-picker-calendar-cell{
3700
+ .tds-combo-box-description{
3820
3701
  display:flex;
3821
- align-items:center;
3822
- justify-content:center;
3823
- inline-size:2.25em;
3824
- block-size:2.25em;
3825
- color:var(--t-text-color);
3826
- cursor:default;
3827
- outline:0;
3828
- border:2px solid transparent;
3829
- border-radius:var(--t-border-radius-md);
3830
- position:relative;
3831
- transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
3832
- transition-duration:var(--tds-date-picker-popover-interactive-duration);
3833
- transition-property:var(--tds-date-picker-popover-interactive-property);
3702
+ gap:var(--t-spacing-half);
3703
+ align-items:flex-start;
3704
+ margin:0;
3705
+ font-size:var(--t-font-size-sm);
3706
+ line-height:1.35;
3707
+ color:var(--tds-combo-box-description-color, var(--t-text-color-secondary));
3708
+ cursor:text;
3834
3709
  }
3835
3710
 
3836
- .tds-date-picker-calendar-cell[data-today]{
3837
- border-radius:50%;
3838
- border-color:var(--t-border-color);
3839
- }
3840
-
3841
- .tds-date-picker-calendar-cell[data-outside-month]{
3842
- color:var(--t-text-color-secondary);
3843
- }
3844
-
3845
- .tds-date-picker-calendar-cell[data-hovered]{
3846
- background:var(--t-fill-color-button-neutral-outline-hover);
3847
- }
3848
-
3849
- .tds-date-picker-calendar-cell[data-pressed]{
3850
- background:var(--t-fill-color-button-neutral-outline-active);
3851
- }
3852
-
3853
- .tds-date-picker-calendar-cell[data-selected]{
3854
- font-weight:var(--t-font-weight-semibold);
3855
- color:var(--t-text-color-inverted);
3856
- background:var(--t-fill-color-interaction);
3857
- border-color:transparent;
3858
- }
3859
-
3860
- .tds-date-picker-calendar-cell[data-unavailable]{
3861
- color:var(--t-text-color-disabled);
3862
- text-decoration:line-through;
3863
- cursor:not-allowed;
3864
- }
3865
-
3866
- .tds-date-picker-calendar-cell[data-disabled]{
3867
- color:var(--t-text-color-disabled);
3868
- cursor:not-allowed;
3869
- }
3870
-
3871
- .tds-date-picker-calendar-cell[data-focus-visible]{
3872
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
3873
- outline-offset:-2px;
3874
- }
3875
-
3876
- .tds-date-picker-calendar-cell[data-focus-visible][data-selected]{
3877
- outline-offset:var(--t-focus-ring-offset);
3711
+ .tds-combo-box-description .tds-combo-box-description-invalid-icon{
3712
+ display:var(--tds-combo-box-description-invalid-icon-display, none);
3713
+ flex-shrink:0;
3714
+ margin-block-start:calc(.5lh - .5em);
3715
+ line-height:1.35;
3878
3716
  }
3879
3717
 
3880
- .tds-date-picker-popover--lg{
3881
- --tds-date-picker-popover-font-size:var(--t-font-size-lg);
3882
- }
3883
3718
 
3884
3719
  .tds-number-stepper{
3885
3720
  --tds-number-stepper-border-color:var(--t-form-border-color);
@@ -4037,19 +3872,19 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
4037
3872
  }
4038
3873
 
4039
3874
 
4040
- .tds-combo-box{
4041
- --tds-combo-box-border-color:var(--t-form-border-color);
4042
- --tds-combo-box-border-color-hover:var(--t-form-border-color-hover);
4043
- --tds-combo-box-border-color-active:var(--t-form-border-color-focus);
4044
- --tds-combo-box-background-color:var(--t-form-background-color);
4045
- --tds-combo-box-color:var(--t-form-color);
4046
- --tds-combo-box-placeholder-color:var(--t-form-placeholder-color);
4047
- --tds-combo-box-font-size:var(--t-font-size-md);
4048
- --tds-combo-box-min-height:var(--t-container-size-md);
4049
- --tds-combo-box-padding-block:6px;
4050
- --tds-combo-box-button-offset:4px;
4051
- --tds-combo-box-description-color:var(--t-text-color-secondary);
4052
- --tds-combo-box-description-invalid-icon-display:none;
3875
+ .tds-date-picker{
3876
+ --tds-date-picker-border-color:var(--t-form-border-color);
3877
+ --tds-date-picker-border-color-hover:var(--t-form-border-color-hover);
3878
+ --tds-date-picker-border-color-active:var(--t-form-border-color-focus);
3879
+ --tds-date-picker-background-color:var(--t-form-background-color);
3880
+ --tds-date-picker-color:var(--t-form-color);
3881
+ --tds-date-picker-placeholder-color:var(--t-form-placeholder-color);
3882
+ --tds-date-picker-font-size:var(--t-font-size-md);
3883
+ --tds-date-picker-min-height:var(--t-container-size-md);
3884
+ --tds-date-picker-padding-block:6px;
3885
+ --tds-date-picker-button-offset:4px;
3886
+ --tds-date-picker-description-color:var(--t-text-color-secondary);
3887
+ --tds-date-picker-description-invalid-icon-display:none;
4053
3888
 
4054
3889
  position:relative;
4055
3890
  display:flex;
@@ -4057,287 +3892,452 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
4057
3892
  gap:var(--t-spacing-half);
4058
3893
  }
4059
3894
 
4060
- .tds-combo-box[data-required] .tds-combo-box-label::after{
3895
+ .tds-date-picker[data-required] .tds-date-picker-label::after{
4061
3896
  margin-left:.25ch;
4062
3897
  color:var(--t-text-color-status-error);
4063
3898
  content:"*";
4064
3899
  }
4065
3900
 
4066
- .tds-combo-box[data-invalid]{
4067
- --tds-combo-box-border-color:var(--t-form-border-color-error);
4068
- --tds-combo-box-border-color-hover:var(--t-form-border-color-error-hover);
4069
- --tds-combo-box-border-color-active:var(--t-form-border-color-error-hover);
4070
- --tds-combo-box-background-color:var(--t-form-background-color-error);
4071
- --tds-combo-box-description-color:var(--t-text-color-status-error);
4072
- --tds-combo-box-description-invalid-icon-display:inline-block;
4073
- }
4074
-
4075
- .tds-combo-box[data-disabled]{
4076
- --tds-combo-box-border-color:var(--t-form-border-color-disabled);
4077
- --tds-combo-box-background-color:var(--t-form-background-color-disabled);
4078
- --tds-combo-box-color:var(--t-form-color-disabled);
3901
+ .tds-date-picker[data-invalid]{
3902
+ --tds-date-picker-border-color:var(--t-form-border-color-error);
3903
+ --tds-date-picker-border-color-hover:var(--t-form-border-color-error-hover);
3904
+ --tds-date-picker-border-color-active:var(--t-form-border-color-error-hover);
3905
+ --tds-date-picker-background-color:var(--t-form-background-color-error);
3906
+ --tds-date-picker-description-color:var(--t-text-color-status-error);
3907
+ --tds-date-picker-description-invalid-icon-display:inline-block;
4079
3908
  }
4080
3909
 
4081
- .tds-combo-box[data-disabled] .tds-combo-box-label{
4082
- color:var(--t-form-color-disabled);
4083
- }
3910
+ .tds-date-picker[data-disabled]{
3911
+ --tds-date-picker-border-color:var(--t-form-border-color-disabled);
3912
+ --tds-date-picker-background-color:var(--t-form-background-color-disabled);
3913
+ --tds-date-picker-color:var(--t-form-color-disabled);
3914
+ --tds-date-picker-placeholder-color:var(--t-form-color-disabled);
3915
+ }
4084
3916
 
4085
- .tds-combo-box[data-disabled] .tds-combo-box-field{
3917
+ .tds-date-picker[data-disabled] .tds-date-picker-field{
4086
3918
  cursor:not-allowed;
4087
3919
  }
4088
3920
 
4089
- .tds-combo-box[data-open] .tds-combo-box-button > svg{
4090
- transform:rotate(.5turn);
4091
- }
4092
-
4093
- .tds-combo-box--lg{
4094
- --tds-combo-box-min-height:var(--t-container-size-lg);
4095
- --tds-combo-box-font-size:var(--t-font-size-lg);
4096
- --tds-combo-box-button-offset:5px;
3921
+ .tds-date-picker--lg{
3922
+ --tds-date-picker-min-height:var(--t-container-size-lg);
3923
+ --tds-date-picker-font-size:var(--t-font-size-lg);
3924
+ --tds-date-picker-button-offset:5px;
4097
3925
  }
4098
3926
 
4099
- .tds-combo-box-label{
3927
+ .tds-date-picker-label{
4100
3928
  font-size:var(--t-font-size-md);
4101
3929
  font-weight:var(--t-font-weight-normal);
4102
3930
  color:var(--t-text-color);
4103
3931
  cursor:default;
4104
3932
  }
4105
3933
 
4106
- .tds-combo-box-field{
3934
+ .tds-date-picker-field{
4107
3935
  display:flex;
4108
3936
  align-items:center;
4109
3937
  inline-size:100%;
4110
- min-block-size:var(--tds-combo-box-min-height);
3938
+ min-block-size:var(--tds-date-picker-min-height);
4111
3939
  font-family:inherit;
4112
- font-size:var(--tds-combo-box-font-size);
3940
+ font-size:var(--tds-date-picker-font-size);
4113
3941
  line-height:1;
4114
- color:var(--tds-combo-box-color);
3942
+ color:var(--tds-date-picker-color);
4115
3943
  -webkit-appearance:none;
4116
3944
  -moz-appearance:none;
4117
3945
  appearance:none;
4118
- cursor:default;
3946
+ cursor:text;
4119
3947
  outline:var(--t-focus-ring-width) solid transparent;
4120
3948
  outline-offset:0;
4121
- background-color:var(--tds-combo-box-background-color);
4122
- border:var(--t-form-border-width) solid var(--tds-combo-box-border-color);
3949
+ background-color:var(--tds-date-picker-background-color);
3950
+ border:var(--t-form-border-width) solid var(--tds-date-picker-border-color);
4123
3951
  border-radius:var(--t-form-border-radius);
4124
3952
  }
4125
3953
 
4126
- .tds-combo-box-field[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
4127
- border-color:var(--tds-combo-box-border-color-hover);
3954
+ .tds-date-picker-field[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
3955
+ border-color:var(--tds-date-picker-border-color-hover);
4128
3956
  }
4129
3957
 
4130
- .tds-combo-box-field[data-focus-within]{
3958
+ .tds-date-picker-field[data-focus-within]:not(:has(.tds-date-picker-button[data-focused])){
4131
3959
  outline-color:var(--t-focus-ring-color);
4132
3960
  outline-offset:var(--t-focus-ring-offset);
4133
- border-color:var(--tds-combo-box-border-color-active);
3961
+ border-color:var(--tds-date-picker-border-color-active);
4134
3962
  }
4135
3963
 
4136
- .tds-combo-box-field:has([readonly]){
4137
- --tds-combo-box-border-color:var(--t-form-border-color-readonly);
4138
- --tds-combo-box-border-color-hover:var(--t-form-border-color-readonly);
4139
- --tds-combo-box-background-color:var(--t-form-background-color-readonly);
3964
+ .tds-date-picker-field:has(.tds-date-picker-input[data-readonly]){
3965
+ --tds-date-picker-border-color:var(--t-form-border-color-readonly);
3966
+ --tds-date-picker-border-color-hover:var(--t-form-border-color-readonly);
3967
+ --tds-date-picker-background-color:var(--t-form-background-color-readonly);
3968
+ color:var(--t-form-color-readonly);
4140
3969
  }
4141
3970
 
4142
- .tds-combo-box-field[data-focus-within]:has([readonly]){
3971
+ .tds-date-picker-field[data-focus-within]:has(.tds-date-picker-input[data-readonly]){
4143
3972
  border-color:var(--t-form-border-color-hover);
4144
3973
  }
4145
3974
 
4146
- .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
3975
+ .tds-date-picker-field:has(.tds-date-picker-input[data-readonly]) .tds-date-picker-button{
4147
3976
  display:none;
4148
3977
  }
4149
3978
 
4150
- .tds-combo-box-input{
4151
- display:flex;
3979
+ .tds-date-picker-input{
4152
3980
  flex:1;
4153
- align-items:center;
4154
- padding-block:var(--tds-combo-box-padding-block);
3981
+ padding-block:var(--tds-date-picker-padding-block);
4155
3982
  padding-inline-start:var(--t-spacing-1);
4156
- font-family:inherit;
4157
- font-size:inherit;
4158
- color:inherit;
4159
- outline:0;
4160
- background:transparent;
4161
- border:0;
3983
+ font-variant-numeric:tabular-nums;
4162
3984
  }
4163
3985
 
4164
- .tds-combo-box-input::-moz-placeholder{
4165
- color:var(--tds-combo-box-placeholder-color);
4166
- -moz-user-select:none;
4167
- user-select:none;
3986
+ .tds-date-picker-segment{
3987
+ padding-inline:2px;
3988
+ caret-color:transparent;
3989
+ border-radius:var(--t-border-radius-sm);
3990
+ }
3991
+
3992
+ .tds-date-picker-segment[data-placeholder]{
3993
+ color:var(--tds-date-picker-placeholder-color);
4168
3994
  }
4169
3995
 
4170
- .tds-combo-box-input::placeholder{
4171
- color:var(--tds-combo-box-placeholder-color);
4172
- -webkit-user-select:none;
4173
- -moz-user-select:none;
4174
- user-select:none;
3996
+ .tds-date-picker-segment[data-focused]{
3997
+ color:var(--t-text-color-inverted);
3998
+ outline:0;
3999
+ background:var(--t-fill-color-interaction);
4175
4000
  }
4176
4001
 
4177
- .tds-combo-box-button{
4002
+ .tds-date-picker-segment-separator{
4003
+ padding-inline:0;
4004
+ color:var(--tds-date-picker-placeholder-color);
4005
+ }
4006
+
4007
+ .tds-date-picker-description{
4008
+ display:flex;
4009
+ gap:var(--t-spacing-half);
4010
+ align-items:flex-start;
4011
+ margin:0;
4012
+ font-size:var(--t-font-size-sm);
4013
+ line-height:1.35;
4014
+ color:var(--tds-date-picker-description-color, var(--t-text-color-secondary));
4015
+ cursor:text;
4016
+ }
4017
+
4018
+ .tds-date-picker-description .tds-date-picker-description-invalid-icon{
4019
+ display:var(--tds-date-picker-description-invalid-icon-display, none);
4020
+ flex-shrink:0;
4021
+ margin-block-start:calc(.5lh - .5em);
4022
+ line-height:1.35;
4023
+ }
4024
+
4025
+ .tds-date-picker-button{
4178
4026
  flex-shrink:0;
4179
4027
  align-self:center;
4180
- inline-size:calc(var(--tds-combo-box-min-height) - (var(--tds-combo-box-button-offset) * 2));
4181
- block-size:calc(var(--tds-combo-box-min-height) - (var(--tds-combo-box-button-offset) * 2));
4028
+ inline-size:calc(var(--tds-date-picker-min-height) - (var(--tds-date-picker-button-offset) * 2));
4029
+ block-size:calc(var(--tds-date-picker-min-height) - (var(--tds-date-picker-button-offset) * 2));
4182
4030
  padding:0;
4183
- margin-inline-end:var(--tds-combo-box-button-offset);
4031
+ margin-inline-end:var(--tds-date-picker-button-offset);
4184
4032
  }
4185
4033
 
4186
- .tds-combo-box-button > svg{
4187
- inline-size:var(--tds-combo-box-font-size);
4188
- block-size:var(--tds-combo-box-font-size);
4189
- transition:transform var(--t-duration-300) var(--t-ease-in-out);
4034
+ .tds-date-picker-popover{
4035
+ --tds-date-picker-popover-font-size:var(--t-font-size-md);
4036
+ --tds-date-picker-popover-padding:var(--t-spacing-1-half);
4037
+ --tds-date-picker-popover-background-color:var(--t-surface-color-card);
4038
+ --tds-date-picker-popover-transition-enter:opacity var(--t-duration-300) var(--t-ease-out), transform var(--t-duration-300) var(--t-ease-out);
4039
+ --tds-date-picker-popover-transition-exit:opacity var(--t-duration-200) var(--t-ease-in), transform var(--t-duration-200) var(--t-ease-in);
4040
+ --tds-date-picker-popover-closed-opacity:0;
4041
+ --tds-date-picker-popover-closed-transform:translateY(-8px);
4042
+ --tds-date-picker-popover-interactive-timing-function:var(--t-ease-in-out);
4043
+ --tds-date-picker-popover-interactive-duration:var(--t-duration-200);
4044
+ --tds-date-picker-popover-interactive-property:color, background-color, border-color;
4045
+
4046
+ position:relative;
4047
+ overflow:hidden;
4048
+ background-color:var(--tds-date-picker-popover-background-color);
4049
+ border:var(--t-border-width) solid var(--t-border-color);
4050
+ border-radius:var(--t-border-radius);
4051
+ box-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
4052
+ opacity:1;
4053
+ transform:translateY(0);
4054
+ transition:var(--tds-date-picker-popover-transition-enter);
4055
+ }
4056
+
4057
+ .tds-date-picker-popover[data-entering]{
4058
+ opacity:var(--tds-date-picker-popover-closed-opacity);
4059
+ transform:var(--tds-date-picker-popover-closed-transform);
4190
4060
  }
4191
4061
 
4192
- .tds-combo-box-button:not(.tds-btn){
4193
- display:inline-flex;
4194
- align-items:center;
4195
- justify-content:center;
4196
- inline-size:auto;
4197
- block-size:auto;
4198
- margin-inline-end:.75em;
4199
- color:var(--t-icon-color);
4200
- cursor:default;
4201
- background:transparent;
4202
- border:0;
4062
+ .tds-date-picker-popover[data-exiting]{
4063
+ opacity:var(--tds-date-picker-popover-closed-opacity);
4064
+ transform:var(--tds-date-picker-popover-closed-transform);
4065
+ transition:var(--tds-date-picker-popover-transition-exit);
4203
4066
  }
4204
4067
 
4205
- .tds-combo-box-button[data-focus-visible]:not(.tds-btn){
4206
- outline:0;
4207
- }
4068
+ @media (prefers-reduced-motion: reduce){
4208
4069
 
4209
- .tds-combo-box-popover{
4210
- width:var(--trigger-width);
4211
- max-block-size:inherit;
4212
- padding:var(--t-spacing-1);
4213
- overflow:auto;
4070
+ .tds-date-picker-popover{
4071
+ --tds-date-picker-popover-transition-enter:none;
4072
+ --tds-date-picker-popover-transition-exit:none;
4073
+ --tds-date-picker-popover-closed-opacity:1;
4074
+ --tds-date-picker-popover-closed-transform:none;
4075
+ }
4076
+ }
4077
+
4078
+ .tds-date-picker-overlay{
4079
+ position:absolute;
4080
+ inset:0;
4081
+ z-index:1;
4082
+ display:flex;
4083
+ background-color:var(--tds-date-picker-popover-background-color);
4084
+ }
4085
+
4086
+ .tds-date-picker-overlay-list{
4087
+ display:grid;
4088
+ flex:1;
4089
+ gap:var(--t-spacing-half);
4090
+ padding-inline:var(--tds-date-picker-popover-padding);
4214
4091
  outline:0;
4215
- scrollbar-color:#0004 #0000;
4092
+ grid-template-columns:repeat(3, 1fr);
4216
4093
  scrollbar-width:thin;
4217
- background:var(--t-surface-color-card);
4218
- background-clip:padding-box;
4219
- border:1px solid var(--t-border-color);
4220
- border-radius:var(--t-border-radius);
4221
- box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
4094
+ scrollbar-color:var(--t-fill-color-transparency-dark-030) transparent;
4222
4095
  }
4223
4096
 
4224
- .tds-combo-box-popover[data-entering]{
4225
- animation:tds-combo-box-popover-enter 160ms ease;
4097
+ .tds-date-picker-overlay--month .tds-date-picker-overlay-list{
4098
+ padding-bottom:var(--tds-date-picker-popover-padding);
4099
+ grid-template-rows:repeat(4, 1fr);
4100
+ }
4101
+
4102
+ .tds-date-picker-overlay--year .tds-date-picker-overlay-list{
4103
+ padding-right:var(--t-spacing-1);
4104
+ grid-auto-rows:var(--t-container-size-xl);
4105
+ overflow-y:auto;
4106
+ scroll-padding-block:calc(var(--t-focus-ring-width) + var(--t-focus-ring-offset));
4107
+ }
4108
+
4109
+ .tds-date-picker-overlay-cell{
4110
+ display:flex;
4111
+ align-items:center;
4112
+ justify-content:center;
4113
+ font-family:inherit;
4114
+ font-size:var(--tds-date-picker-popover-font-size);
4115
+ color:var(--t-text-color);
4116
+ cursor:default;
4117
+ outline:0;
4118
+ background:transparent;
4119
+ border:0;
4120
+ border-radius:var(--t-border-radius-md);
4121
+ transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
4122
+ transition-duration:var(--tds-date-picker-popover-interactive-duration);
4123
+ transition-property:var(--tds-date-picker-popover-interactive-property);
4124
+ }
4125
+
4126
+ .tds-date-picker-overlay-cell[data-hovered]{
4127
+ background:var(--t-fill-color-button-neutral-outline-hover);
4226
4128
  }
4227
4129
 
4228
- .tds-combo-box-popover[data-exiting]{
4229
- animation:tds-combo-box-popover-exit 130ms ease;
4130
+ .tds-date-picker-overlay-cell[data-pressed]{
4131
+ background:var(--t-fill-color-button-neutral-outline-active);
4230
4132
  }
4231
4133
 
4232
- @keyframes tds-combo-box-popover-enter{
4233
- from{
4234
- opacity:0;
4235
- transform:translateY(-8px);
4134
+ .tds-date-picker-overlay-cell[data-selected]{
4135
+ font-weight:var(--t-font-weight-semibold);
4136
+ color:var(--t-text-color-inverted);
4137
+ background:var(--t-fill-color-interaction);
4236
4138
  }
4237
- }
4238
4139
 
4239
- @keyframes tds-combo-box-popover-exit{
4240
- to{
4241
- opacity:0;
4242
- transform:translateY(-8px);
4140
+ .tds-date-picker-overlay-cell[data-focus-visible]{
4141
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
4243
4142
  }
4143
+
4144
+ .tds-date-picker-overlay-cell[data-selected][data-focus-visible]{
4145
+ outline-offset:var(--t-focus-ring-offset);
4146
+ }
4147
+
4148
+ .tds-date-picker-calendar-heading{
4149
+ display:flex;
4150
+ flex:1;
4151
+ gap:var(--t-spacing-half);
4152
+ align-items:center;
4153
+ justify-content:flex-start;
4244
4154
  }
4245
4155
 
4246
- @media (prefers-reduced-motion: reduce){
4247
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
4248
- animation:none;
4249
- }
4156
+ .tds-date-picker-calendar-overlay-trigger{
4157
+ padding:var(--t-spacing-half) var(--t-spacing-1);
4158
+ font-family:inherit;
4159
+ font-size:var(--tds-date-picker-popover-font-size);
4160
+ font-weight:var(--t-font-weight-semibold);
4161
+ color:var(--t-text-color);
4162
+ cursor:default;
4163
+ outline:0;
4164
+ background:transparent;
4165
+ border:0;
4166
+ border-radius:var(--t-border-radius-md);
4167
+ transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
4168
+ transition-duration:var(--tds-date-picker-popover-interactive-duration);
4169
+ transition-property:var(--tds-date-picker-popover-interactive-property);
4170
+ }
4250
4171
 
4251
- .tds-combo-box-button > svg{
4252
- transition:none;
4172
+ .tds-date-picker-calendar-overlay-trigger[data-hovered]{
4173
+ background:var(--t-fill-color-button-neutral-outline-hover);
4174
+ }
4175
+
4176
+ .tds-date-picker-calendar-overlay-trigger[data-pressed]{
4177
+ background:var(--t-fill-color-button-neutral-outline-active);
4253
4178
  }
4179
+
4180
+ .tds-date-picker-calendar-overlay-trigger[data-focus-visible]{
4181
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
4182
+ outline-offset:var(--t-focus-ring-offset);
4183
+ }
4184
+
4185
+ .tds-date-picker-calendar{
4186
+ font-size:var(--tds-date-picker-popover-font-size);
4187
+ inline-size:-moz-fit-content;
4188
+ inline-size:fit-content;
4254
4189
  }
4255
4190
 
4256
- .tds-combo-box-list{
4257
- padding:0;
4258
- margin:0;
4191
+ .tds-date-picker-calendar-body{
4192
+ position:relative;
4193
+ padding:var(--tds-date-picker-popover-padding);
4194
+ padding-block-start:0;
4259
4195
  }
4260
4196
 
4261
- .tds-combo-box-list-item{
4262
- display:block;
4263
- padding-block:var(--t-spacing-1);
4264
- padding-inline:var(--t-spacing-2) var(--t-spacing-1);
4197
+ .tds-date-picker-calendar-header{
4198
+ display:flex;
4199
+ align-items:center;
4200
+ justify-content:space-between;
4201
+ padding:var(--tds-date-picker-popover-padding);
4202
+ }
4203
+
4204
+ .tds-date-picker-calendar-title{
4205
+ padding:var(--t-spacing-half) var(--t-spacing-1);
4206
+ font-size:var(--tds-date-picker-popover-font-size);
4207
+ font-weight:var(--t-font-weight-semibold);
4208
+ }
4209
+
4210
+ .tds-date-picker-calendar-title--visually-hidden{
4211
+ position:absolute;
4212
+ inline-size:1px;
4213
+ block-size:1px;
4214
+ padding:0;
4215
+ margin:-1px;
4265
4216
  overflow:hidden;
4266
- text-overflow:ellipsis;
4267
- font-size:1rem;
4268
- color:var(--t-text-color);
4269
4217
  white-space:nowrap;
4218
+ border:0;
4219
+ clip-path:inset(50%);
4220
+ }
4221
+
4222
+ .tds-date-picker-calendar-nav{
4223
+ font-size:var(--tds-date-picker-popover-font-size);
4224
+ display:flex;
4225
+ align-items:center;
4226
+ justify-content:center;
4227
+ padding:var(--t-spacing-half);
4228
+ color:var(--t-text-color);
4270
4229
  cursor:default;
4271
- border-radius:var(--t-border-radius);
4230
+ outline:0;
4231
+ background:transparent;
4232
+ border:0;
4233
+ border-radius:var(--t-border-radius-md);
4234
+ transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
4235
+ transition-duration:var(--tds-date-picker-popover-interactive-duration);
4236
+ transition-property:var(--tds-date-picker-popover-interactive-property);
4272
4237
  }
4273
4238
 
4274
- .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
4275
- background:var(--t-fill-color-neutral-070);
4239
+ .tds-date-picker-calendar-nav[data-hovered]{
4240
+ background:var(--t-fill-color-button-neutral-outline-hover);
4276
4241
  }
4277
4242
 
4278
- .tds-combo-box-list-item[data-selected]{
4279
- background:var(--t-fill-color-button-interaction-ghost-active);
4243
+ .tds-date-picker-calendar-nav[data-pressed]{
4244
+ background:var(--t-fill-color-button-neutral-outline-active);
4280
4245
  }
4281
4246
 
4282
- .tds-combo-box-list-item[data-disabled]{
4283
- color:var(--t-form-color-disabled);
4284
- cursor:not-allowed;
4247
+ .tds-date-picker-calendar-nav[data-focus-visible]{
4248
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
4249
+ outline-offset:var(--t-focus-ring-offset);
4285
4250
  }
4286
4251
 
4287
- .tds-combo-box-list-item[data-disabled][data-hovered]{
4288
- background:transparent;
4289
- }
4252
+ .tds-date-picker-calendar-nav[data-disabled]{
4253
+ color:var(--t-text-color-disabled);
4254
+ cursor:not-allowed;
4255
+ }
4290
4256
 
4291
- .tds-combo-box-empty-state{
4292
- position:relative;
4293
- min-block-size:var(--t-spacing-3);
4294
- padding-block:var(--t-spacing-1);
4295
- padding-inline:var(--t-spacing-2);
4296
- font-size:var(--t-font-size-md);
4297
- color:var(--t-text-color-secondary);
4257
+ .tds-date-picker-calendar-nav svg{
4258
+ transform:scale(0.875);
4298
4259
  }
4299
4260
 
4300
- .tds-combo-box-load-more{
4301
- position:relative;
4302
- min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
4261
+ .tds-date-picker-calendar-nav--lg svg{
4262
+ transform:scale(1);
4303
4263
  }
4304
4264
 
4305
- .tds-combo-box-empty-state,
4306
- .tds-combo-box-load-more{
4307
- --tds-loading-spinner-visibility:visible;
4308
- --tds-loading-spinner-animation-play-state:running;
4265
+ .tds-date-picker-calendar-grid{
4266
+ border-collapse:collapse;
4309
4267
  }
4310
4268
 
4311
- .tds-combo-box-list-section:not(:first-child){
4312
- margin-block-start:var(--t-spacing-half);
4313
- }
4314
-
4315
- .tds-combo-box-section-header{
4316
- padding-block:var(--t-spacing-1);
4317
- padding-inline:var(--t-spacing-1);
4318
- font-size:var(--t-font-size-sm);
4319
- font-weight:var(--t-font-weight-semibold);
4269
+ .tds-date-picker-calendar-header-cell{
4270
+ padding-block:var(--t-spacing-half);
4271
+ font-size:0.875em;
4272
+ font-weight:var(--t-font-weight-medium);
4320
4273
  color:var(--t-text-color-secondary);
4274
+ text-align:center;
4321
4275
  }
4322
4276
 
4323
- .tds-combo-box-description{
4277
+ .tds-date-picker-calendar-cell{
4324
4278
  display:flex;
4325
- gap:var(--t-spacing-half);
4326
- align-items:flex-start;
4327
- margin:0;
4328
- font-size:var(--t-font-size-sm);
4329
- line-height:1.35;
4330
- color:var(--tds-combo-box-description-color, var(--t-text-color-secondary));
4331
- cursor:text;
4279
+ align-items:center;
4280
+ justify-content:center;
4281
+ inline-size:2.25em;
4282
+ block-size:2.25em;
4283
+ color:var(--t-text-color);
4284
+ cursor:default;
4285
+ outline:0;
4286
+ border:2px solid transparent;
4287
+ border-radius:var(--t-border-radius-md);
4288
+ position:relative;
4289
+ transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
4290
+ transition-duration:var(--tds-date-picker-popover-interactive-duration);
4291
+ transition-property:var(--tds-date-picker-popover-interactive-property);
4332
4292
  }
4333
4293
 
4334
- .tds-combo-box-description .tds-combo-box-description-invalid-icon{
4335
- display:var(--tds-combo-box-description-invalid-icon-display, none);
4336
- flex-shrink:0;
4337
- margin-block-start:calc(.5lh - .5em);
4338
- line-height:1.35;
4294
+ .tds-date-picker-calendar-cell[data-today]{
4295
+ border-radius:50%;
4296
+ border-color:var(--t-border-color);
4297
+ }
4298
+
4299
+ .tds-date-picker-calendar-cell[data-outside-month]{
4300
+ color:var(--t-text-color-secondary);
4301
+ }
4302
+
4303
+ .tds-date-picker-calendar-cell[data-hovered]{
4304
+ background:var(--t-fill-color-button-neutral-outline-hover);
4305
+ }
4306
+
4307
+ .tds-date-picker-calendar-cell[data-pressed]{
4308
+ background:var(--t-fill-color-button-neutral-outline-active);
4339
4309
  }
4340
4310
 
4311
+ .tds-date-picker-calendar-cell[data-selected]{
4312
+ font-weight:var(--t-font-weight-semibold);
4313
+ color:var(--t-text-color-inverted);
4314
+ background:var(--t-fill-color-interaction);
4315
+ border-color:transparent;
4316
+ }
4317
+
4318
+ .tds-date-picker-calendar-cell[data-unavailable]{
4319
+ color:var(--t-text-color-disabled);
4320
+ text-decoration:line-through;
4321
+ cursor:not-allowed;
4322
+ }
4323
+
4324
+ .tds-date-picker-calendar-cell[data-disabled]{
4325
+ color:var(--t-text-color-disabled);
4326
+ cursor:not-allowed;
4327
+ }
4328
+
4329
+ .tds-date-picker-calendar-cell[data-focus-visible]{
4330
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
4331
+ outline-offset:-2px;
4332
+ }
4333
+
4334
+ .tds-date-picker-calendar-cell[data-focus-visible][data-selected]{
4335
+ outline-offset:var(--t-focus-ring-offset);
4336
+ }
4337
+
4338
+ .tds-date-picker-popover--lg{
4339
+ --tds-date-picker-popover-font-size:var(--t-font-size-lg);
4340
+ }
4341
4341
 
4342
4342
  .tds-time-field{
4343
4343
  --tds-time-field-border-color:var(--t-form-border-color);