@planningcenter/tapestry 4.0.0-rc.3 → 4.0.0-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.
@@ -766,6 +766,228 @@
766
766
  [data-padding-inline-xl="7"]{ padding-inline:var(--t-spacing-7); }
767
767
  }
768
768
 
769
+ .tds-checkbox{
770
+ --tds-checkbox-font-size:var(--t-font-size-md);
771
+ --tds-checkbox-cursor:pointer;
772
+ --tds-checkbox-line-height:1.4;
773
+ --tds-checkbox-transition-property:background-color, border-color;
774
+
775
+ --tds-checkbox-input-size:var(--t-element-size-md);
776
+ --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
777
+ --tds-checkbox-input-border-color:var(--t-form-border-color);
778
+ --tds-checkbox-input-background-color:var(--t-form-background-color);
779
+
780
+ --tds-checkbox-input-icon:none;
781
+ --tds-checkbox-input-icon-visibility:hidden;
782
+ --tds-checkbox-input-icon-opacity:0;
783
+ --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
784
+
785
+ --tds-checkbox-label-color:var(--t-form-color);
786
+
787
+ --tds-checkbox-description-font-size:var(--t-font-size-sm);
788
+ --tds-checkbox-description-line-height:1.35;
789
+ --tds-checkbox-description-color:var(--t-text-color-secondary);
790
+ --tds-checkbox-description-invalid-icon-display:none;
791
+
792
+ position:relative;
793
+ display:inline-grid;
794
+ grid-template-columns:auto;
795
+ grid-auto-columns:1fr;
796
+ gap:var(--t-spacing-fourth) 0;
797
+ line-height:var(--tds-checkbox-line-height);
798
+ -webkit-user-select:none;
799
+ -moz-user-select:none;
800
+ user-select:none;
801
+ }
802
+
803
+ .tds-checkbox label{
804
+ grid-area:1 / 2;
805
+ padding-inline-start:var(--t-spacing-1);
806
+ font-size:var(--tds-checkbox-font-size);
807
+ font-weight:var(--t-font-weight-normal);
808
+ color:var(--tds-checkbox-label-color);
809
+ cursor:var(--tds-checkbox-cursor);
810
+ }
811
+
812
+ .tds-checkbox tds-indeterminate{
813
+ display:flex;
814
+ }
815
+
816
+ .tds-checkbox input[type="checkbox"]{
817
+ position:relative;
818
+ width:1em;
819
+ height:1em;
820
+ margin:calc((1lh - 1em) / 2) 0 0;
821
+ font-size:var(--tds-checkbox-font-size);
822
+ line-height:inherit;
823
+ -webkit-appearance:none;
824
+ -moz-appearance:none;
825
+ appearance:none;
826
+ cursor:var(--tds-checkbox-cursor);
827
+ background-color:var(--tds-checkbox-input-background-color);
828
+ border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
829
+ border-radius:var(--tds-checkbox-input-border-radius);
830
+ transition-timing-function:var(--t-ease-in-out);
831
+ transition-duration:var(--t-duration-200);
832
+ transition-property:var(--tds-checkbox-transition-property);
833
+ }
834
+
835
+ :is(.tds-checkbox input[type="checkbox"])::before{
836
+ position:absolute;
837
+ top:50%;
838
+ left:50%;
839
+ visibility:var(--tds-checkbox-input-icon-visibility);
840
+ width:100%;
841
+ height:100%;
842
+ content:"";
843
+ background-color:var(--tds-checkbox-input-icon-fill);
844
+ border-radius:var(--tds-checkbox-input-border-radius);
845
+ opacity:var(--tds-checkbox-input-icon-opacity);
846
+ -webkit-mask-image:var(--tds-checkbox-input-icon);
847
+ mask-image:var(--tds-checkbox-input-icon);
848
+ -webkit-mask-repeat:no-repeat;
849
+ mask-repeat:no-repeat;
850
+ -webkit-mask-size:contain;
851
+ mask-size:contain;
852
+ transform:translate(-50%, -50%);
853
+ }
854
+
855
+ :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
856
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
857
+ --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
858
+ }
859
+
860
+ :is(.tds-checkbox input[type="checkbox"]):focus-visible{
861
+ outline:var(--t-focus-ring-outline);
862
+ outline-offset:var(--t-focus-ring-offset);
863
+ }
864
+
865
+ :is(.tds-checkbox input[type="checkbox"]):disabled{
866
+ pointer-events:none;
867
+ }
868
+
869
+ @media (prefers-reduced-motion: reduce){
870
+
871
+ .tds-checkbox input[type="checkbox"]{
872
+ --tds-checkbox-transition-property:none;
873
+ }
874
+ }
875
+
876
+ .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
877
+ --tds-checkbox-input-background-color:var(--t-fill-color-control);
878
+ --tds-checkbox-input-border-color:var(--t-border-color-control-info);
879
+ --tds-checkbox-input-icon-visibility:visible;
880
+ --tds-checkbox-input-icon-opacity:1;
881
+ }
882
+
883
+ :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
884
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
885
+ --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
886
+ }
887
+
888
+ .tds-checkbox:has(input:checked){
889
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
890
+ }
891
+
892
+ .tds-checkbox:has(input:indeterminate){
893
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
894
+ }
895
+
896
+ .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
897
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
898
+ --tds-checkbox-description-color:var(--t-text-color-status-error);
899
+ --tds-checkbox-description-invalid-icon-display:inline-block;
900
+ }
901
+
902
+ :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
903
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
904
+ --tds-checkbox-input-background-color:var(--t-form-background-color-error);
905
+ }
906
+
907
+ :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{
908
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
909
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error);
910
+ }
911
+
912
+ :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){
913
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
914
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
915
+ }
916
+
917
+ .tds-checkbox:has(input:required) label::after{
918
+ margin-left:.25ch;
919
+ color:var(--t-text-color-status-error);
920
+ content:"*";
921
+ }
922
+
923
+ .tds-checkbox:has(input:disabled){
924
+ --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
925
+ --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
926
+
927
+ --tds-checkbox-label-color:var(--t-form-color-disabled);
928
+ --tds-checkbox-description-color:var(--t-form-color-disabled);
929
+ --tds-checkbox-cursor:not-allowed;
930
+ }
931
+
932
+ .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
933
+ --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
934
+ }
935
+
936
+ .tds-checkbox-description{
937
+ display:flex;
938
+ grid-area:2 / 2;
939
+ gap:var(--t-spacing-half);
940
+ align-items:flex-start;
941
+ padding-inline-start:var(--t-spacing-1);
942
+ margin:0;
943
+ font-size:var(--tds-checkbox-description-font-size);
944
+ line-height:var(--tds-checkbox-description-line-height);
945
+ color:var(--tds-checkbox-description-color);
946
+ cursor:text;
947
+ }
948
+
949
+ .tds-checkbox-description .tds-checkbox-description-invalid-icon{
950
+ display:var(--tds-checkbox-description-invalid-icon-display);
951
+ flex-shrink:0;
952
+ margin-top:calc(.5lh - .5em);
953
+ line-height:var(--tds-checkbox-description-line-height);
954
+ }
955
+
956
+ .tds-checkbox--sm{
957
+ --tds-checkbox-line-height:1.35;
958
+ --tds-checkbox-input-size:var(--t-element-size-sm);
959
+ --tds-checkbox-font-size:var(--t-font-size-sm);
960
+ --tds-checkbox-description-font-size:var(--t-font-size-xs);
961
+ --tds-checkbox-description-line-height:1.3;
962
+ }
963
+
964
+ .tds-button-group{
965
+ display:inline-flex;
966
+ }
967
+ .tds-button-group > .tds-btn{
968
+ --tds-button-group-item-z-index:1;
969
+
970
+ z-index:var(--tds-button-group-item-z-index);
971
+ border-radius:0;
972
+ }
973
+ :is(.tds-button-group > .tds-btn):not(:first-child){
974
+ margin-inline-start:calc(var(--tds-btn-border-width) * -1);
975
+ }
976
+ :is(.tds-button-group > .tds-btn):hover{
977
+ --tds-button-group-item-z-index:2;
978
+ }
979
+ :is(.tds-button-group > .tds-btn):focus-visible{
980
+ --tds-button-group-item-z-index:5;
981
+ }
982
+ .tds-button-group > .tds-btn:first-child{
983
+ border-start-start-radius:var(--tds-btn-border-radius);
984
+ border-end-start-radius:var(--tds-btn-border-radius);
985
+ }
986
+ .tds-button-group > .tds-btn:last-child{
987
+ border-start-end-radius:var(--tds-btn-border-radius);
988
+ border-end-end-radius:var(--tds-btn-border-radius);
989
+ }
990
+
769
991
  @layer t-critical{
770
992
  tds-page-header:not(.hydrated){
771
993
  display:none;
@@ -1044,311 +1266,162 @@
1044
1266
  }
1045
1267
  }
1046
1268
 
1047
- .tds-combo-box{
1048
- --tds-combo-box-button-offset:4px;
1269
+ .tds-dropdown-popover{
1270
+ min-inline-size:10rem;
1271
+ max-inline-size:24rem;
1272
+ padding:var(--t-spacing-1);
1273
+ overflow:auto;
1274
+ overscroll-behavior:none;
1275
+ -webkit-user-select:none;
1276
+ -moz-user-select:none;
1277
+ user-select:none;
1278
+ outline:0;
1279
+ scrollbar-color:#0004 var(--t-surface-color-card);
1280
+ scrollbar-width:thin;
1281
+ background:var(--t-surface-color-card);
1282
+ background-clip:padding-box;
1283
+ border:1px solid var(--t-border-color);
1284
+ border-radius:var(--t-border-radius);
1285
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1049
1286
  }
1050
-
1051
- .tds-combo-box[data-open] .tds-combo-box-button > svg{
1052
- transform:rotate(.5turn);
1287
+ .tds-dropdown-popover[data-entering]{
1288
+ animation:tds-dropdown-popover var(--t-duration-300) var(--t-ease-out);
1053
1289
  }
1054
-
1055
- .tds-combo-box--lg{
1056
- --tds-combo-box-button-offset:5px;
1057
- }
1058
-
1059
- .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
1060
- display:none;
1061
- }
1062
-
1063
- .tds-combo-box-input{
1064
- display:flex;
1065
- flex:1;
1066
- align-items:center;
1067
- padding-block:var(--tds-field-padding-block);
1068
- padding-inline:var(--tds-field-padding-inline);
1069
- font-family:inherit;
1070
- font-size:inherit;
1071
- color:inherit;
1072
- outline:0;
1073
- background:transparent;
1074
- border:0;
1075
- }
1076
-
1077
- .tds-combo-box-input:has( + .tds-combo-box-button){
1078
- padding-inline-end:0;
1079
- }
1080
-
1081
- .tds-combo-box-input::-moz-placeholder{
1082
- color:var(--tds-field-placeholder-color);
1083
- -moz-user-select:none;
1084
- user-select:none;
1085
- }
1086
-
1087
- .tds-combo-box-input::placeholder{
1088
- color:var(--tds-field-placeholder-color);
1089
- -webkit-user-select:none;
1090
- -moz-user-select:none;
1091
- user-select:none;
1092
- }
1093
-
1094
- .tds-combo-box-button{
1095
- flex-shrink:0;
1096
- align-self:center;
1097
- inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1098
- block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1099
- padding:0;
1100
- margin-inline-end:var(--tds-combo-box-button-offset);
1101
- }
1102
-
1103
- .tds-combo-box-button > svg{
1104
- inline-size:var(--tds-field-font-size);
1105
- block-size:var(--tds-field-font-size);
1106
- transition:transform var(--t-duration-300) var(--t-ease-in-out);
1107
- }
1108
-
1109
- .tds-combo-box-popover{
1110
- width:var(--trigger-width);
1111
- max-block-size:inherit;
1112
- padding:var(--t-spacing-1);
1113
- overflow:auto;
1114
- scroll-behavior:smooth;
1115
- overscroll-behavior:none;
1116
- -webkit-user-select:none;
1117
- -moz-user-select:none;
1118
- user-select:none;
1119
- outline:0;
1120
- scrollbar-color:#0004 var(--t-surface-color-card);
1121
- scrollbar-width:thin;
1122
- background:var(--t-surface-color-card);
1123
- background-clip:padding-box;
1124
- border:1px solid var(--t-border-color);
1125
- border-radius:var(--t-border-radius);
1126
- box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1127
- }
1128
-
1129
- .tds-combo-box-popover[data-entering]{
1130
- animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
1131
- }
1132
-
1133
- .tds-combo-box-popover[data-exiting]{
1134
- animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
1290
+ .tds-dropdown-popover[data-exiting]{
1291
+ animation:tds-dropdown-popover var(--t-duration-200) var(--t-ease-in) reverse;
1135
1292
  }
1136
-
1137
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1293
+ .tds-dropdown-popover[data-entering],.tds-dropdown-popover[data-exiting]{
1138
1294
  will-change:opacity, transform;
1139
1295
  }
1140
-
1141
- @keyframes tds-combo-box-popover{
1296
+ @keyframes tds-dropdown-popover{
1142
1297
  from{
1143
1298
  opacity:0;
1144
1299
  transform:translateY(-8px);
1145
1300
  }
1146
1301
  }
1147
-
1148
1302
  @media (prefers-reduced-motion: reduce){
1149
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1303
+ .tds-dropdown-popover[data-entering],.tds-dropdown-popover[data-exiting]{
1150
1304
  animation:none;
1151
1305
  }
1152
-
1153
- .tds-combo-box-button > svg{
1154
- transition:none;
1155
- }
1156
1306
  }
1157
-
1158
- .tds-combo-box-list{
1159
- padding:0;
1160
- margin:0;
1307
+ .tds-dropdown-popover [role="menu"]{
1308
+ outline:0;
1161
1309
  }
1310
+ .tds-dropdown-item{
1311
+ --tds-dropdown-item-color:var(--t-text-color);
1312
+ --tds-dropdown-item-row-gap:0;
1313
+ --tds-dropdown-item-column-gap:var(--t-spacing-1);
1162
1314
 
1163
- .tds-combo-box-list-item{
1164
- display:block;
1315
+ display:flex;
1316
+ row-gap:var(--tds-dropdown-item-row-gap);
1317
+ -moz-column-gap:var(--tds-dropdown-item-column-gap);
1318
+ column-gap:var(--tds-dropdown-item-column-gap);
1319
+ align-items:center;
1165
1320
  padding-block:var(--t-spacing-1);
1166
- padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1167
- overflow:hidden;
1168
- text-overflow:ellipsis;
1321
+ padding-inline:var(--t-spacing-2);
1169
1322
  font-size:1rem;
1170
- color:var(--t-text-color);
1171
- white-space:nowrap;
1323
+ color:var(--tds-dropdown-item-color);
1324
+ text-decoration:none;
1172
1325
  cursor:default;
1326
+ outline:0;
1173
1327
  border-radius:var(--t-border-radius);
1174
1328
  }
1175
-
1176
- .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
1329
+ .tds-dropdown-item[data-hovered]:not([data-disabled]),.tds-dropdown-item[data-focus-visible]{
1177
1330
  background:var(--t-fill-color-neutral-070);
1178
1331
  }
1179
-
1180
- .tds-combo-box-list-item[data-selected]{
1181
- background:var(--t-fill-color-button-interaction-ghost-active);
1182
- }
1183
-
1184
- .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
1332
+ .tds-dropdown-item[data-pressed]:not([data-disabled]){
1185
1333
  background:var(--t-fill-color-neutral-060);
1186
1334
  }
1335
+ .tds-dropdown-item[data-disabled]{
1336
+ --tds-dropdown-item-color:var(--t-form-color-disabled);
1187
1337
 
1188
- .tds-combo-box-list-item[data-disabled]{
1189
- color:var(--t-form-color-disabled);
1190
1338
  cursor:not-allowed;
1191
1339
  }
1192
-
1193
- .tds-combo-box-list-item[data-disabled][data-hovered]{
1194
- background:transparent;
1195
- }
1196
-
1197
- .tds-combo-box-empty-state{
1198
- position:relative;
1199
- min-block-size:var(--t-spacing-3);
1200
- padding-block:var(--t-spacing-1);
1201
- padding-inline:var(--t-spacing-2);
1202
- font-size:var(--t-font-size-md);
1340
+ .tds-dropdown-item--destructive{
1341
+ --tds-dropdown-item-color:var(--t-text-color-status-error);
1342
+ }
1343
+ .tds-dropdown-item--staff-only{
1344
+ --tds-dropdown-item-color:var(--t-fill-color-product-staff);
1345
+ }
1346
+ a.tds-dropdown-item:is(:hover, :active){
1347
+ color:var(--tds-dropdown-item-color);
1348
+ }
1349
+ .tds-dropdown-item [slot="prefix"],
1350
+ .tds-dropdown-item [slot="suffix"]{
1351
+ flex-shrink:0;
1352
+ }
1353
+ .tds-dropdown-item [slot="label"]{
1354
+ flex:1;
1355
+ min-width:0;
1356
+ overflow:hidden;
1357
+ text-overflow:ellipsis;
1358
+ white-space:nowrap;
1359
+ }
1360
+ .tds-dropdown-item [slot="description"]{
1361
+ font-size:var(--t-font-size-sm);
1203
1362
  color:var(--t-text-color-secondary);
1204
1363
  }
1364
+ .tds-dropdown-item:has([slot="description"]){
1365
+ --tds-dropdown-item-row-gap:var(--t-spacing-half);
1366
+ --tds-dropdown-item-column-gap:0;
1205
1367
 
1206
- .tds-combo-box-load-more{
1207
- position:relative;
1208
- min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
1368
+ display:grid;
1369
+ grid-template-areas:"prefix label suffix" ". description .";
1370
+ grid-template-columns:auto 1fr auto;
1209
1371
  }
1210
-
1211
- .tds-combo-box-empty-state,
1212
- .tds-combo-box-load-more{
1213
- --tds-loading-spinner-visibility:visible;
1214
- --tds-loading-spinner-animation-play-state:running;
1372
+ .tds-dropdown-item:has([slot="description"]) [slot="prefix"]{
1373
+ grid-area:prefix;
1374
+ margin-inline-end:var(--t-spacing-1);
1215
1375
  }
1216
-
1217
- .tds-combo-box-list-section:not(:first-child){
1218
- margin-block-start:var(--t-spacing-half);
1219
- }
1220
-
1221
- .tds-combo-box-section-header{
1376
+ .tds-dropdown-item:has([slot="description"]) [slot="label"]{
1377
+ grid-area:label;
1378
+ }
1379
+ .tds-dropdown-item:has([slot="description"]) [slot="description"]{
1380
+ grid-area:description;
1381
+ }
1382
+ .tds-dropdown-item:has([slot="description"]) [slot="suffix"]{
1383
+ grid-area:suffix;
1384
+ margin-inline-start:var(--t-spacing-1);
1385
+ }
1386
+ .tds-dropdown-section:not(:first-child){
1387
+ margin-block-start:var(--t-spacing-half);
1388
+ }
1389
+ .tds-dropdown-section-label{
1222
1390
  padding-block:var(--t-spacing-1);
1223
1391
  padding-inline:var(--t-spacing-1);
1224
1392
  font-size:var(--t-font-size-sm);
1225
1393
  font-weight:var(--t-font-weight-semibold);
1226
1394
  color:var(--t-text-color-secondary);
1227
1395
  }
1396
+ .tds-dropdown-separator{
1397
+ margin-block:var(--t-spacing-half);
1398
+ margin-inline:0;
1399
+ border:0;
1400
+ border-top:1px solid var(--t-border-color);
1401
+ }
1228
1402
 
1229
- .tds-checkbox-group{
1230
- --tds-checkbox-group-font-size:var(--t-font-size-md);
1231
- --tds-checkbox-group-line-height:1.4;
1232
- --tds-checkbox-group-gap:var(--t-spacing-1);
1233
1403
 
1234
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1235
- --tds-checkbox-group-description-line-height:1.35;
1236
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1237
- --tds-checkbox-group-description-invalid-icon-display:none;
1238
- display:flex;
1239
- flex-direction:column;
1240
- gap:0;
1241
- padding:0;
1242
- margin:0;
1404
+ @media (prefers-reduced-motion: no-preference){
1243
1405
 
1244
- font-size:var(--tds-checkbox-group-font-size);
1245
- line-height:var(--tds-checkbox-group-line-height);
1246
- border:0;
1406
+ :root{
1407
+ interpolate-size:allow-keywords;
1247
1408
  }
1248
-
1249
- .tds-checkbox-group legend{
1250
- float:left;
1251
- padding:0;
1252
- margin:0;
1253
1409
  }
1254
1410
 
1255
- .tds-checkbox-group[aria-invalid="true"]{
1256
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1257
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
1258
- }
1411
+ @layer tds-component{
1412
+ tds-sidenav,
1413
+ .tds-sidenav{
1414
+ --tds-sidenav-indent:12px;
1415
+ --tds-sidenav-item-depth:0;
1259
1416
 
1260
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1261
- margin-left:.25ch;
1262
- color:var(--t-text-color-status-error);
1263
- content:"*";
1264
- }
1417
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
1265
1418
 
1266
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1267
- content:none;
1268
- }
1269
-
1270
- .tds-checkbox-group-fields{
1271
- display:flex;
1272
- flex-direction:column;
1273
- gap:var(--tds-checkbox-group-gap);
1274
- align-items:flex-start;
1275
- margin-top:var(--t-spacing-1);
1276
- }
1277
-
1278
- .tds-checkbox-group-description{
1279
- display:flex;
1280
- gap:var(--t-spacing-half);
1281
- align-items:flex-start;
1282
- margin:var(--t-spacing-fourth) 0 0;
1283
- font-size:var(--tds-checkbox-group-description-font-size);
1284
- line-height:var(--tds-checkbox-group-description-line-height);
1285
- color:var(--tds-checkbox-group-description-color);
1286
- cursor:text;
1287
- }
1288
-
1289
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1290
- display:var(--tds-checkbox-group-description-invalid-icon-display);
1291
- flex-shrink:0;
1292
- margin-top:calc(.5lh - .5em);
1293
- line-height:var(--tds-checkbox-group-description-line-height);
1294
- }
1295
-
1296
- .tds-checkbox-group--sm{
1297
- --tds-checkbox-group-line-height:1.35;
1298
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
1299
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1300
- --tds-checkbox-group-description-line-height:1.3;
1301
- }
1302
-
1303
- .tds-button-group{
1304
- display:inline-flex;
1305
- }
1306
- .tds-button-group > .tds-btn{
1307
- --tds-button-group-item-z-index:1;
1308
-
1309
- z-index:var(--tds-button-group-item-z-index);
1310
- border-radius:0;
1311
- }
1312
- :is(.tds-button-group > .tds-btn):not(:first-child){
1313
- margin-inline-start:calc(var(--tds-btn-border-width) * -1);
1314
- }
1315
- :is(.tds-button-group > .tds-btn):hover{
1316
- --tds-button-group-item-z-index:2;
1317
- }
1318
- :is(.tds-button-group > .tds-btn):focus-visible{
1319
- --tds-button-group-item-z-index:5;
1320
- }
1321
- .tds-button-group > .tds-btn:first-child{
1322
- border-start-start-radius:var(--tds-btn-border-radius);
1323
- border-end-start-radius:var(--tds-btn-border-radius);
1324
- }
1325
- .tds-button-group > .tds-btn:last-child{
1326
- border-start-end-radius:var(--tds-btn-border-radius);
1327
- border-end-end-radius:var(--tds-btn-border-radius);
1328
- }
1329
-
1330
-
1331
- @media (prefers-reduced-motion: no-preference){
1332
-
1333
- :root{
1334
- interpolate-size:allow-keywords;
1335
- }
1336
- }
1337
-
1338
- @layer tds-component{
1339
- tds-sidenav,
1340
- .tds-sidenav{
1341
- --tds-sidenav-indent:12px;
1342
- --tds-sidenav-item-depth:0;
1343
-
1344
- --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
1345
-
1346
- --tds-sidenav-collapse-transition-enter:opacity var(--t-duration-300) var(--t-ease-out), transform var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
1347
- --tds-sidenav-collapse-transition-exit:opacity var(--t-duration-200) var(--t-ease-in), display var(--t-duration-200) allow-discrete, overlay var(--t-duration-200) allow-discrete;
1348
- --tds-sidenav-collapse-closed-opacity:0;
1349
- --tds-sidenav-collapse-open-opacity:1;
1350
- --tds-sidenav-collapse-closed-transform:translateY(-8px);
1351
- --tds-sidenav-collapse-open-transform:translateY(0);
1419
+ --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;
1420
+ --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;
1421
+ --tds-sidenav-collapse-closed-opacity:0;
1422
+ --tds-sidenav-collapse-open-opacity:1;
1423
+ --tds-sidenav-collapse-closed-transform:translateY(-8px);
1424
+ --tds-sidenav-collapse-open-transform:translateY(0);
1352
1425
 
1353
1426
  --tds-sidenav-item-icon-size:var(--t-element-size-md);
1354
1427
  --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
@@ -1689,11 +1762,74 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1689
1762
  flex-direction:column;
1690
1763
  }
1691
1764
 
1692
- .tds-dropdown-popover{
1693
- min-inline-size:10rem;
1694
- max-inline-size:24rem;
1765
+ .tds-combo-box{
1766
+ --tds-combo-box-button-offset:4px;
1767
+ }
1768
+
1769
+ .tds-combo-box[data-open] .tds-combo-box-button > svg{
1770
+ transform:rotate(.5turn);
1771
+ }
1772
+
1773
+ .tds-combo-box--lg{
1774
+ --tds-combo-box-button-offset:5px;
1775
+ }
1776
+
1777
+ .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
1778
+ display:none;
1779
+ }
1780
+
1781
+ .tds-combo-box-input{
1782
+ display:flex;
1783
+ flex:1;
1784
+ align-items:center;
1785
+ padding-block:var(--tds-field-padding-block);
1786
+ padding-inline:var(--tds-field-padding-inline);
1787
+ font-family:inherit;
1788
+ font-size:inherit;
1789
+ color:inherit;
1790
+ outline:0;
1791
+ background:transparent;
1792
+ border:0;
1793
+ }
1794
+
1795
+ .tds-combo-box-input:has( + .tds-combo-box-button){
1796
+ padding-inline-end:0;
1797
+ }
1798
+
1799
+ .tds-combo-box-input::-moz-placeholder{
1800
+ color:var(--tds-field-placeholder-color);
1801
+ -moz-user-select:none;
1802
+ user-select:none;
1803
+ }
1804
+
1805
+ .tds-combo-box-input::placeholder{
1806
+ color:var(--tds-field-placeholder-color);
1807
+ -webkit-user-select:none;
1808
+ -moz-user-select:none;
1809
+ user-select:none;
1810
+ }
1811
+
1812
+ .tds-combo-box-button{
1813
+ flex-shrink:0;
1814
+ align-self:center;
1815
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1816
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1817
+ padding:0;
1818
+ margin-inline-end:var(--tds-combo-box-button-offset);
1819
+ }
1820
+
1821
+ .tds-combo-box-button > svg{
1822
+ inline-size:var(--tds-field-font-size);
1823
+ block-size:var(--tds-field-font-size);
1824
+ transition:transform var(--t-duration-300) var(--t-ease-in-out);
1825
+ }
1826
+
1827
+ .tds-combo-box-popover{
1828
+ width:var(--trigger-width);
1829
+ max-block-size:inherit;
1695
1830
  padding:var(--t-spacing-1);
1696
1831
  overflow:auto;
1832
+ scroll-behavior:smooth;
1697
1833
  overscroll-behavior:none;
1698
1834
  -webkit-user-select:none;
1699
1835
  -moz-user-select:none;
@@ -1707,121 +1843,106 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1707
1843
  border-radius:var(--t-border-radius);
1708
1844
  box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1709
1845
  }
1710
- .tds-dropdown-popover[data-entering]{
1711
- animation:tds-dropdown-popover var(--t-duration-300) var(--t-ease-out);
1846
+
1847
+ .tds-combo-box-popover[data-entering]{
1848
+ animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
1712
1849
  }
1713
- .tds-dropdown-popover[data-exiting]{
1714
- animation:tds-dropdown-popover var(--t-duration-200) var(--t-ease-in) reverse;
1850
+
1851
+ .tds-combo-box-popover[data-exiting]{
1852
+ animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
1715
1853
  }
1716
- .tds-dropdown-popover[data-entering],.tds-dropdown-popover[data-exiting]{
1854
+
1855
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1717
1856
  will-change:opacity, transform;
1718
1857
  }
1719
- @keyframes tds-dropdown-popover{
1858
+
1859
+ @keyframes tds-combo-box-popover{
1720
1860
  from{
1721
1861
  opacity:0;
1722
1862
  transform:translateY(-8px);
1723
1863
  }
1724
1864
  }
1865
+
1725
1866
  @media (prefers-reduced-motion: reduce){
1726
- .tds-dropdown-popover[data-entering],.tds-dropdown-popover[data-exiting]{
1867
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1727
1868
  animation:none;
1728
1869
  }
1870
+
1871
+ .tds-combo-box-button > svg{
1872
+ transition:none;
1873
+ }
1729
1874
  }
1730
- .tds-dropdown-popover [role="menu"]{
1731
- outline:0;
1875
+
1876
+ .tds-combo-box-list{
1877
+ padding:0;
1878
+ margin:0;
1732
1879
  }
1733
- .tds-dropdown-item{
1734
- --tds-dropdown-item-color:var(--t-text-color);
1735
- --tds-dropdown-item-row-gap:0;
1736
- --tds-dropdown-item-column-gap:var(--t-spacing-1);
1737
1880
 
1738
- display:flex;
1739
- row-gap:var(--tds-dropdown-item-row-gap);
1740
- -moz-column-gap:var(--tds-dropdown-item-column-gap);
1741
- column-gap:var(--tds-dropdown-item-column-gap);
1742
- align-items:center;
1881
+ .tds-combo-box-list-item{
1882
+ display:block;
1743
1883
  padding-block:var(--t-spacing-1);
1744
- padding-inline:var(--t-spacing-2);
1884
+ padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1885
+ overflow:hidden;
1886
+ text-overflow:ellipsis;
1745
1887
  font-size:1rem;
1746
- color:var(--tds-dropdown-item-color);
1747
- text-decoration:none;
1888
+ color:var(--t-text-color);
1889
+ white-space:nowrap;
1748
1890
  cursor:default;
1749
- outline:0;
1750
1891
  border-radius:var(--t-border-radius);
1751
1892
  }
1752
- .tds-dropdown-item[data-hovered]:not([data-disabled]),.tds-dropdown-item[data-focus-visible]{
1893
+
1894
+ .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
1753
1895
  background:var(--t-fill-color-neutral-070);
1754
1896
  }
1755
- .tds-dropdown-item[data-pressed]:not([data-disabled]){
1897
+
1898
+ .tds-combo-box-list-item[data-selected]{
1899
+ background:var(--t-fill-color-button-interaction-ghost-active);
1900
+ }
1901
+
1902
+ .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
1756
1903
  background:var(--t-fill-color-neutral-060);
1757
1904
  }
1758
- .tds-dropdown-item[data-disabled]{
1759
- --tds-dropdown-item-color:var(--t-form-color-disabled);
1760
1905
 
1906
+ .tds-combo-box-list-item[data-disabled]{
1907
+ color:var(--t-form-color-disabled);
1761
1908
  cursor:not-allowed;
1762
1909
  }
1763
- .tds-dropdown-item--destructive{
1764
- --tds-dropdown-item-color:var(--t-text-color-status-error);
1765
- }
1766
- .tds-dropdown-item--staff-only{
1767
- --tds-dropdown-item-color:var(--t-fill-color-product-staff);
1768
- }
1769
- a.tds-dropdown-item:is(:hover, :active){
1770
- color:var(--tds-dropdown-item-color);
1771
- }
1772
- .tds-dropdown-item [slot="prefix"],
1773
- .tds-dropdown-item [slot="suffix"]{
1774
- flex-shrink:0;
1775
- }
1776
- .tds-dropdown-item [slot="label"]{
1777
- flex:1;
1778
- min-width:0;
1779
- overflow:hidden;
1780
- text-overflow:ellipsis;
1781
- white-space:nowrap;
1782
- }
1783
- .tds-dropdown-item [slot="description"]{
1784
- font-size:var(--t-font-size-sm);
1910
+
1911
+ .tds-combo-box-list-item[data-disabled][data-hovered]{
1912
+ background:transparent;
1913
+ }
1914
+
1915
+ .tds-combo-box-empty-state{
1916
+ position:relative;
1917
+ min-block-size:var(--t-spacing-3);
1918
+ padding-block:var(--t-spacing-1);
1919
+ padding-inline:var(--t-spacing-2);
1920
+ font-size:var(--t-font-size-md);
1785
1921
  color:var(--t-text-color-secondary);
1786
1922
  }
1787
- .tds-dropdown-item:has([slot="description"]){
1788
- --tds-dropdown-item-row-gap:var(--t-spacing-half);
1789
- --tds-dropdown-item-column-gap:0;
1790
1923
 
1791
- display:grid;
1792
- grid-template-areas:"prefix label suffix" ". description .";
1793
- grid-template-columns:auto 1fr auto;
1794
- }
1795
- .tds-dropdown-item:has([slot="description"]) [slot="prefix"]{
1796
- grid-area:prefix;
1797
- margin-inline-end:var(--t-spacing-1);
1924
+ .tds-combo-box-load-more{
1925
+ position:relative;
1926
+ min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
1798
1927
  }
1799
- .tds-dropdown-item:has([slot="description"]) [slot="label"]{
1800
- grid-area:label;
1801
- }
1802
- .tds-dropdown-item:has([slot="description"]) [slot="description"]{
1803
- grid-area:description;
1804
- }
1805
- .tds-dropdown-item:has([slot="description"]) [slot="suffix"]{
1806
- grid-area:suffix;
1807
- margin-inline-start:var(--t-spacing-1);
1808
- }
1809
- .tds-dropdown-section:not(:first-child){
1810
- margin-block-start:var(--t-spacing-half);
1928
+
1929
+ .tds-combo-box-empty-state,
1930
+ .tds-combo-box-load-more{
1931
+ --tds-loading-spinner-visibility:visible;
1932
+ --tds-loading-spinner-animation-play-state:running;
1811
1933
  }
1812
- .tds-dropdown-section-label{
1934
+
1935
+ .tds-combo-box-list-section:not(:first-child){
1936
+ margin-block-start:var(--t-spacing-half);
1937
+ }
1938
+
1939
+ .tds-combo-box-section-header{
1813
1940
  padding-block:var(--t-spacing-1);
1814
1941
  padding-inline:var(--t-spacing-1);
1815
1942
  font-size:var(--t-font-size-sm);
1816
1943
  font-weight:var(--t-font-weight-semibold);
1817
1944
  color:var(--t-text-color-secondary);
1818
1945
  }
1819
- .tds-dropdown-separator{
1820
- margin-block:var(--t-spacing-half);
1821
- margin-inline:0;
1822
- border:0;
1823
- border-top:1px solid var(--t-border-color);
1824
- }
1825
1946
 
1826
1947
 
1827
1948
  :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{
@@ -1847,148 +1968,78 @@ a.tds-dropdown-item:is(:hover, :active){
1847
1968
  }
1848
1969
  }
1849
1970
 
1850
- .tds-modal-overlay{
1851
- position:fixed;
1852
- inset:0;
1853
- z-index:1000;
1854
- display:flex;
1855
- align-items:center;
1856
- justify-content:center;
1857
- background:hsl(0 0% 0% / 40%);
1858
- }
1859
-
1860
- .tds-modal-overlay[data-entering]{
1861
- animation:tds-modal-overlay-fade var(--t-duration-300) var(--t-ease-out);
1862
- }
1863
-
1864
- .tds-modal-overlay[data-exiting]{
1865
- animation:tds-modal-overlay-fade var(--t-duration-200) var(--t-ease-in) reverse;
1866
- }
1867
-
1868
- @keyframes tds-modal-overlay-fade{
1869
- from{
1870
- opacity:0;
1871
- }
1872
- }
1873
-
1874
- .tds-modal-frame{
1875
- --tds-modal-width:600px;
1876
-
1877
- display:flex;
1878
- justify-content:center;
1879
- width:min(var(--tds-modal-width), calc(100% - 48px));
1880
- }
1881
-
1882
- .tds-modal-frame[data-entering]{
1883
- animation:tds-modal-zoom var(--t-duration-300) var(--t-ease-out);
1884
- }
1885
-
1886
- .tds-modal-frame[data-exiting]{
1887
- animation:tds-modal-zoom var(--t-duration-200) var(--t-ease-in) reverse;
1888
- }
1889
-
1890
- .tds-modal-frame--sm{
1891
- --tds-modal-width:400px;
1892
- }
1893
-
1894
- .tds-modal-frame--lg{
1895
- --tds-modal-width:800px;
1896
- }
1897
-
1898
- .tds-modal-frame--xl{
1899
- --tds-modal-width:1000px;
1900
- }
1901
-
1902
- @keyframes tds-modal-zoom{
1903
- from{
1904
- opacity:0;
1905
- scale:.96;
1906
- }
1907
- }
1908
-
1909
- @media (prefers-reduced-motion: reduce){
1910
- .tds-modal-overlay[data-entering],
1911
- .tds-modal-overlay[data-exiting],
1912
- .tds-modal-frame[data-entering],
1913
- .tds-modal-frame[data-exiting]{
1914
- animation:none;
1915
- }
1916
- }
1971
+ .tds-checkbox-group{
1972
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
1973
+ --tds-checkbox-group-line-height:1.4;
1974
+ --tds-checkbox-group-gap:var(--t-spacing-1);
1917
1975
 
1918
- .tds-modal{
1976
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1977
+ --tds-checkbox-group-description-line-height:1.35;
1978
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1979
+ --tds-checkbox-group-description-invalid-icon-display:none;
1919
1980
  display:flex;
1920
1981
  flex-direction:column;
1921
- width:100%;
1922
- padding-block:var(--t-spacing-3);
1923
- padding-inline:0;
1924
- background:var(--t-surface-color-card);
1982
+ gap:0;
1983
+ padding:0;
1984
+ margin:0;
1925
1985
 
1986
+ font-size:var(--tds-checkbox-group-font-size);
1987
+ line-height:var(--tds-checkbox-group-line-height);
1926
1988
  border:0;
1927
- border-radius:var(--t-border-radius-lg);
1928
- box-shadow:0 4px 18px 0 #0003;
1929
1989
  }
1930
1990
 
1931
- .tds-modal:focus{
1932
- outline:none;
1991
+ .tds-checkbox-group legend{
1992
+ float:left;
1993
+ padding:0;
1994
+ margin:0;
1933
1995
  }
1934
1996
 
1935
- .tds-modal-header{
1936
- display:grid;
1937
- grid-template-columns:1fr auto;
1938
- -moz-column-gap:var(--t-spacing-2);
1939
- column-gap:var(--t-spacing-2);
1940
- padding-block:0;
1941
- padding-inline:var(--t-spacing-4);
1942
- }
1943
-
1944
- .tds-modal-title{
1945
- grid-row:1;
1946
- grid-column:1;
1947
- margin:0;
1948
- font-size:var(--t-font-size-2xl);
1949
- font-weight:var(--t-font-weight-medium);
1950
- line-height:140%;
1951
- color:var(--t-text-color-headline);
1952
- }
1953
-
1954
- .tds-modal-subtitle{
1955
- grid-row:2;
1956
- grid-column:1;
1957
- margin:0;
1958
- font-size:var(--t-font-size-md);
1959
- font-weight:var(--t-font-weight-medium);
1960
- line-height:140%;
1961
- color:var(--t-text-color-secondary);
1962
- }
1997
+ .tds-checkbox-group[aria-invalid="true"]{
1998
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1999
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
2000
+ }
1963
2001
 
1964
- .tds-modal-close{
1965
- grid-row:1;
1966
- grid-column:2;
1967
- align-self:center;
1968
- color:var(--t-icon-color-dim);
1969
- }
2002
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
2003
+ margin-left:.25ch;
2004
+ color:var(--t-text-color-status-error);
2005
+ content:"*";
2006
+ }
1970
2007
 
1971
- .tds-modal-body{
1972
- padding-block:var(--t-spacing-3);
1973
- padding-inline:var(--t-spacing-4);
1974
- }
2008
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
2009
+ content:none;
2010
+ }
1975
2011
 
1976
- .tds-modal-body--full-width{
1977
- padding-inline:0;
2012
+ .tds-checkbox-group-fields{
2013
+ display:flex;
2014
+ flex-direction:column;
2015
+ gap:var(--tds-checkbox-group-gap);
2016
+ align-items:flex-start;
2017
+ margin-top:var(--t-spacing-1);
1978
2018
  }
1979
2019
 
1980
- .tds-modal-footer{
2020
+ .tds-checkbox-group-description{
1981
2021
  display:flex;
1982
- gap:var(--t-spacing-2);
1983
- align-items:center;
1984
- justify-content:flex-end;
1985
- padding-block-start:var(--t-spacing-3);
1986
- padding-inline:var(--t-spacing-4);
1987
- border-top:1px solid var(--t-border-color);
2022
+ gap:var(--t-spacing-half);
2023
+ align-items:flex-start;
2024
+ margin:var(--t-spacing-fourth) 0 0;
2025
+ font-size:var(--tds-checkbox-group-description-font-size);
2026
+ line-height:var(--tds-checkbox-group-description-line-height);
2027
+ color:var(--tds-checkbox-group-description-color);
2028
+ cursor:text;
1988
2029
  }
1989
2030
 
1990
- .tds-modal-footer > [slot="start"]{
1991
- margin-inline-end:auto;
2031
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
2032
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
2033
+ flex-shrink:0;
2034
+ margin-top:calc(.5lh - .5em);
2035
+ line-height:var(--tds-checkbox-group-description-line-height);
2036
+ }
2037
+
2038
+ .tds-checkbox-group--sm{
2039
+ --tds-checkbox-group-line-height:1.35;
2040
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
2041
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
2042
+ --tds-checkbox-group-description-line-height:1.3;
1992
2043
  }
1993
2044
 
1994
2045
  .tds-radio{
@@ -2124,387 +2175,231 @@ a.tds-dropdown-item:is(:hover, :active){
2124
2175
  --tds-radio-description-line-height:1.3;
2125
2176
  }
2126
2177
 
2127
- .tds-input:has(textarea){
2128
- --tds-input-padding-block:6px;
2129
- --tds-input-resizer-size:var(--t-element-size-sm);
2130
- --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");
2178
+ .tds-modal-overlay{
2179
+ position:fixed;
2180
+ inset:0;
2181
+ z-index:1000;
2182
+ display:flex;
2183
+ align-items:center;
2184
+ justify-content:center;
2185
+ background:hsl(0 0% 0% / 40%);
2131
2186
  }
2132
2187
 
2133
- @supports (x: attr(x type(*))){
2188
+ .tds-modal-overlay[data-entering]{
2189
+ animation:tds-modal-overlay-fade var(--t-duration-300) var(--t-ease-out);
2190
+ }
2134
2191
 
2135
- .tds-input textarea{
2136
- --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
2137
- }
2192
+ .tds-modal-overlay[data-exiting]{
2193
+ animation:tds-modal-overlay-fade var(--t-duration-200) var(--t-ease-in) reverse;
2138
2194
  }
2139
2195
 
2140
- .tds-input.tds-textarea--resize-vertical textarea{
2141
- resize:vertical;
2142
- }
2196
+ @keyframes tds-modal-overlay-fade{
2197
+ from{
2198
+ opacity:0;
2199
+ }
2200
+ }
2143
2201
 
2144
- .tds-input.tds-textarea--resize-none textarea{
2145
- resize:none;
2146
- }
2202
+ .tds-modal-frame{
2203
+ --tds-modal-width:600px;
2147
2204
 
2148
- .tds-input.tds-textarea--resize-auto textarea{
2149
- resize:vertical;
2150
- }
2205
+ display:flex;
2206
+ justify-content:center;
2207
+ width:min(var(--tds-modal-width), calc(100% - 48px));
2208
+ }
2151
2209
 
2152
- @supports (field-sizing: content){
2153
- .tds-input.tds-textarea--resize-auto textarea{
2154
- field-sizing:content;
2155
- resize:none;
2156
- }
2157
- }
2158
-
2159
- .tds-input textarea{
2160
- --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
2161
- --tds-input-scrollbar-thumb-color-hidden:transparent;
2162
- --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
2163
- --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
2164
- --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
2165
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
2166
- --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
2167
- --tds-input-scrollbar-thumb-border-radius:999px;
2168
- --tds-input-scrollbar-thumb-border-width:3px;
2169
- --tds-input-scrollbar-track-margin-block:.125rem;
2170
- scrollbar-color:initial;
2171
- transition-timing-function:var(--t-ease-in-out);
2172
- transition-duration:var(--t-duration-200);
2173
- transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
2174
- }
2175
-
2176
- @media (pointer: fine){
2177
- :is(.tds-input textarea)::-webkit-scrollbar{
2178
- width:12px;
2179
- height:12px;
2180
- cursor:default;
2181
- }
2182
-
2183
- :is(.tds-input textarea)::-webkit-scrollbar-thumb{
2184
- cursor:default;
2185
- background:var(--tds-input-scrollbar-thumb-color);
2186
- background-clip:content-box;
2187
- border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
2188
- border-radius:var(--tds-input-scrollbar-thumb-border-radius);
2189
- }
2190
-
2191
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2192
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
2193
- }
2194
-
2195
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
2196
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
2197
- }
2198
-
2199
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
2200
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
2201
- }
2202
-
2203
- :is(.tds-input textarea)::-webkit-scrollbar-corner{
2204
- background:var(--tds-input-scrollbar-surface-color);
2205
- }
2206
-
2207
- :is(.tds-input textarea)::-webkit-resizer{
2208
- background:var(--tds-input-resizer-icon) no-repeat;
2209
- background-position:right bottom;
2210
- background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
2211
- }
2212
-
2213
- :is(.tds-input textarea)::-webkit-scrollbar-track{
2214
- margin-block:var(--tds-input-scrollbar-track-margin-block);
2215
- cursor:default;
2216
- }
2217
-
2218
- @supports (-moz-appearance: none){
2219
- :is(.tds-input textarea){
2220
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
2221
- scrollbar-width:thin;
2222
- }
2210
+ .tds-modal-frame[data-entering]{
2211
+ animation:tds-modal-zoom var(--t-duration-300) var(--t-ease-out);
2212
+ }
2223
2213
 
2224
- @media (hover){
2225
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2226
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
2227
- }
2228
- }
2229
- }
2214
+ .tds-modal-frame[data-exiting]{
2215
+ animation:tds-modal-zoom var(--t-duration-200) var(--t-ease-in) reverse;
2230
2216
  }
2231
2217
 
2232
- .tds-radio-group{
2233
- --tds-radio-group-font-size:var(--t-font-size-md);
2234
- --tds-radio-group-line-height:1.4;
2235
- --tds-radio-group-gap:var(--t-spacing-1);
2218
+ .tds-modal-frame--sm{
2219
+ --tds-modal-width:400px;
2220
+ }
2236
2221
 
2237
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
2238
- --tds-radio-group-description-line-height:1.35;
2239
- --tds-radio-group-description-color:var(--t-text-color-secondary);
2240
- --tds-radio-group-description-invalid-icon-display:none;
2241
- display:flex;
2242
- flex-direction:column;
2243
- gap:0;
2244
- padding:0;
2245
- margin:0;
2222
+ .tds-modal-frame--lg{
2223
+ --tds-modal-width:800px;
2224
+ }
2246
2225
 
2247
- font-size:var(--tds-radio-group-font-size);
2248
- line-height:var(--tds-radio-group-line-height);
2249
- border:0;
2226
+ .tds-modal-frame--xl{
2227
+ --tds-modal-width:1000px;
2250
2228
  }
2251
2229
 
2252
- .tds-radio-group legend{
2253
- float:left;
2254
- padding:0;
2255
- margin:0;
2230
+ @keyframes tds-modal-zoom{
2231
+ from{
2232
+ opacity:0;
2233
+ scale:.96;
2256
2234
  }
2235
+ }
2257
2236
 
2258
- .tds-radio-group[aria-invalid="true"]{
2259
- --tds-radio-group-description-color:var(--t-text-color-status-error);
2260
- --tds-radio-group-description-invalid-icon-display:inline-block;
2237
+ @media (prefers-reduced-motion: reduce){
2238
+ .tds-modal-overlay[data-entering],
2239
+ .tds-modal-overlay[data-exiting],
2240
+ .tds-modal-frame[data-entering],
2241
+ .tds-modal-frame[data-exiting]{
2242
+ animation:none;
2261
2243
  }
2244
+ }
2262
2245
 
2263
- .tds-radio-group[aria-invalid="true"] .tds-radio{
2264
- --tds-radio-input-border-color:var(--t-form-border-color-error);
2265
- }
2266
-
2267
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
2268
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2269
- --tds-radio-input-background-color:var(--t-form-background-color-error);
2270
- }
2271
-
2272
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
2273
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
2274
- }
2275
-
2276
- .tds-radio-group:has(input:required) legend::after{
2277
- margin-left:.25ch;
2278
- color:var(--t-text-color-status-error);
2279
- content:"*";
2280
- }
2281
-
2282
- .tds-radio-group-fields{
2246
+ .tds-modal{
2283
2247
  display:flex;
2284
2248
  flex-direction:column;
2285
- gap:var(--tds-radio-group-gap);
2286
- align-items:flex-start;
2287
- margin-top:var(--t-spacing-1);
2288
- }
2249
+ width:100%;
2250
+ padding-block:var(--t-spacing-3);
2251
+ padding-inline:0;
2252
+ background:var(--t-surface-color-card);
2289
2253
 
2290
- .tds-radio-group-description{
2291
- display:flex;
2292
- gap:var(--t-spacing-half);
2293
- align-items:flex-start;
2294
- margin:var(--t-spacing-fourth) 0 0;
2295
- font-size:var(--tds-radio-group-description-font-size);
2296
- line-height:var(--tds-radio-group-description-line-height);
2297
- color:var(--tds-radio-group-description-color);
2298
- cursor:text;
2254
+ border:0;
2255
+ border-radius:var(--t-border-radius-lg);
2256
+ box-shadow:0 4px 18px 0 #0003;
2299
2257
  }
2300
2258
 
2301
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
2302
- display:var(--tds-radio-group-description-invalid-icon-display);
2303
- flex-shrink:0;
2304
- margin-top:calc(.5lh - .5em);
2305
- line-height:var(--tds-radio-group-description-line-height);
2259
+ .tds-modal:focus{
2260
+ outline:none;
2306
2261
  }
2307
2262
 
2308
- .tds-radio-group--sm{
2309
- --tds-radio-group-line-height:1.35;
2310
- --tds-radio-group-font-size:var(--t-font-size-sm);
2311
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
2312
- --tds-radio-group-description-line-height:1.3;
2263
+ .tds-modal-header{
2264
+ display:grid;
2265
+ grid-template-columns:1fr auto;
2266
+ -moz-column-gap:var(--t-spacing-2);
2267
+ column-gap:var(--t-spacing-2);
2268
+ padding-block:0;
2269
+ padding-inline:var(--t-spacing-4);
2313
2270
  }
2314
2271
 
2315
- .tds-checkbox{
2316
- --tds-checkbox-font-size:var(--t-font-size-md);
2317
- --tds-checkbox-cursor:pointer;
2318
- --tds-checkbox-line-height:1.4;
2319
- --tds-checkbox-transition-property:background-color, border-color;
2320
-
2321
- --tds-checkbox-input-size:var(--t-element-size-md);
2322
- --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
2323
- --tds-checkbox-input-border-color:var(--t-form-border-color);
2324
- --tds-checkbox-input-background-color:var(--t-form-background-color);
2325
-
2326
- --tds-checkbox-input-icon:none;
2327
- --tds-checkbox-input-icon-visibility:hidden;
2328
- --tds-checkbox-input-icon-opacity:0;
2329
- --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
2330
-
2331
- --tds-checkbox-label-color:var(--t-form-color);
2332
-
2333
- --tds-checkbox-description-font-size:var(--t-font-size-sm);
2334
- --tds-checkbox-description-line-height:1.35;
2335
- --tds-checkbox-description-color:var(--t-text-color-secondary);
2336
- --tds-checkbox-description-invalid-icon-display:none;
2337
-
2338
- position:relative;
2339
- display:inline-grid;
2340
- grid-template-columns:auto;
2341
- grid-auto-columns:1fr;
2342
- gap:var(--t-spacing-fourth) 0;
2343
- line-height:var(--tds-checkbox-line-height);
2344
- -webkit-user-select:none;
2345
- -moz-user-select:none;
2346
- user-select:none;
2272
+ .tds-modal-title{
2273
+ grid-row:1;
2274
+ grid-column:1;
2275
+ margin:0;
2276
+ font-size:var(--t-font-size-2xl);
2277
+ font-weight:var(--t-font-weight-medium);
2278
+ line-height:140%;
2279
+ color:var(--t-text-color-headline);
2347
2280
  }
2348
2281
 
2349
- .tds-checkbox label{
2350
- grid-area:1 / 2;
2351
- padding-inline-start:var(--t-spacing-1);
2352
- font-size:var(--tds-checkbox-font-size);
2353
- font-weight:var(--t-font-weight-normal);
2354
- color:var(--tds-checkbox-label-color);
2355
- cursor:var(--tds-checkbox-cursor);
2356
- }
2357
-
2358
- .tds-checkbox tds-indeterminate{
2359
- display:flex;
2360
- }
2361
-
2362
- .tds-checkbox input[type="checkbox"]{
2363
- position:relative;
2364
- width:1em;
2365
- height:1em;
2366
- margin:calc((1lh - 1em) / 2) 0 0;
2367
- font-size:var(--tds-checkbox-font-size);
2368
- line-height:inherit;
2369
- -webkit-appearance:none;
2370
- -moz-appearance:none;
2371
- appearance:none;
2372
- cursor:var(--tds-checkbox-cursor);
2373
- background-color:var(--tds-checkbox-input-background-color);
2374
- border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
2375
- border-radius:var(--tds-checkbox-input-border-radius);
2376
- transition-timing-function:var(--t-ease-in-out);
2377
- transition-duration:var(--t-duration-200);
2378
- transition-property:var(--tds-checkbox-transition-property);
2379
- }
2380
-
2381
- :is(.tds-checkbox input[type="checkbox"])::before{
2382
- position:absolute;
2383
- top:50%;
2384
- left:50%;
2385
- visibility:var(--tds-checkbox-input-icon-visibility);
2386
- width:100%;
2387
- height:100%;
2388
- content:"";
2389
- background-color:var(--tds-checkbox-input-icon-fill);
2390
- border-radius:var(--tds-checkbox-input-border-radius);
2391
- opacity:var(--tds-checkbox-input-icon-opacity);
2392
- -webkit-mask-image:var(--tds-checkbox-input-icon);
2393
- mask-image:var(--tds-checkbox-input-icon);
2394
- -webkit-mask-repeat:no-repeat;
2395
- mask-repeat:no-repeat;
2396
- -webkit-mask-size:contain;
2397
- mask-size:contain;
2398
- transform:translate(-50%, -50%);
2399
- }
2282
+ .tds-modal-subtitle{
2283
+ grid-row:2;
2284
+ grid-column:1;
2285
+ margin:0;
2286
+ font-size:var(--t-font-size-md);
2287
+ font-weight:var(--t-font-weight-medium);
2288
+ line-height:140%;
2289
+ color:var(--t-text-color-secondary);
2290
+ }
2400
2291
 
2401
- :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
2402
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
2403
- --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
2404
- }
2292
+ .tds-modal-close{
2293
+ grid-row:1;
2294
+ grid-column:2;
2295
+ align-self:center;
2296
+ color:var(--t-icon-color-dim);
2297
+ }
2405
2298
 
2406
- :is(.tds-checkbox input[type="checkbox"]):focus-visible{
2407
- outline:var(--t-focus-ring-outline);
2408
- outline-offset:var(--t-focus-ring-offset);
2409
- }
2299
+ .tds-modal-body{
2300
+ padding-block:var(--t-spacing-3);
2301
+ padding-inline:var(--t-spacing-4);
2302
+ }
2410
2303
 
2411
- :is(.tds-checkbox input[type="checkbox"]):disabled{
2412
- pointer-events:none;
2413
- }
2304
+ .tds-modal-body--full-width{
2305
+ padding-inline:0;
2306
+ }
2414
2307
 
2415
- @media (prefers-reduced-motion: reduce){
2308
+ .tds-modal-footer{
2309
+ display:flex;
2310
+ gap:var(--t-spacing-2);
2311
+ align-items:center;
2312
+ justify-content:flex-end;
2313
+ padding-block-start:var(--t-spacing-3);
2314
+ padding-inline:var(--t-spacing-4);
2315
+ border-top:1px solid var(--t-border-color);
2316
+ }
2416
2317
 
2417
- .tds-checkbox input[type="checkbox"]{
2418
- --tds-checkbox-transition-property:none;
2419
- }
2420
- }
2318
+ .tds-modal-footer > [slot="start"]{
2319
+ margin-inline-end:auto;
2320
+ }
2421
2321
 
2422
- .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
2423
- --tds-checkbox-input-background-color:var(--t-fill-color-control);
2424
- --tds-checkbox-input-border-color:var(--t-border-color-control-info);
2425
- --tds-checkbox-input-icon-visibility:visible;
2426
- --tds-checkbox-input-icon-opacity:1;
2427
- }
2322
+ .tds-radio-group{
2323
+ --tds-radio-group-font-size:var(--t-font-size-md);
2324
+ --tds-radio-group-line-height:1.4;
2325
+ --tds-radio-group-gap:var(--t-spacing-1);
2428
2326
 
2429
- :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
2430
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
2431
- --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
2432
- }
2327
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
2328
+ --tds-radio-group-description-line-height:1.35;
2329
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
2330
+ --tds-radio-group-description-invalid-icon-display:none;
2331
+ display:flex;
2332
+ flex-direction:column;
2333
+ gap:0;
2334
+ padding:0;
2335
+ margin:0;
2433
2336
 
2434
- .tds-checkbox:has(input:checked){
2435
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
2436
- }
2337
+ font-size:var(--tds-radio-group-font-size);
2338
+ line-height:var(--tds-radio-group-line-height);
2339
+ border:0;
2340
+ }
2437
2341
 
2438
- .tds-checkbox:has(input:indeterminate){
2439
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
2342
+ .tds-radio-group legend{
2343
+ float:left;
2344
+ padding:0;
2345
+ margin:0;
2440
2346
  }
2441
2347
 
2442
- .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
2443
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
2444
- --tds-checkbox-description-color:var(--t-text-color-status-error);
2445
- --tds-checkbox-description-invalid-icon-display:inline-block;
2348
+ .tds-radio-group[aria-invalid="true"]{
2349
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
2350
+ --tds-radio-group-description-invalid-icon-display:inline-block;
2446
2351
  }
2447
2352
 
2448
- :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
2449
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
2450
- --tds-checkbox-input-background-color:var(--t-form-background-color-error);
2353
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
2354
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
2451
2355
  }
2452
2356
 
2453
- :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:checked,:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:indeterminate{
2454
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
2455
- --tds-checkbox-input-background-color:var(--t-form-border-color-error);
2456
- }
2357
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
2358
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2359
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
2360
+ }
2457
2361
 
2458
- :is(:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:checked,:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:indeterminate):hover:not(:disabled){
2459
- --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
2460
- --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
2362
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
2363
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
2461
2364
  }
2462
2365
 
2463
- .tds-checkbox:has(input:required) label::after{
2366
+ .tds-radio-group:has(input:required) legend::after{
2464
2367
  margin-left:.25ch;
2465
2368
  color:var(--t-text-color-status-error);
2466
2369
  content:"*";
2467
2370
  }
2468
2371
 
2469
- .tds-checkbox:has(input:disabled){
2470
- --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
2471
- --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
2472
-
2473
- --tds-checkbox-label-color:var(--t-form-color-disabled);
2474
- --tds-checkbox-description-color:var(--t-form-color-disabled);
2475
- --tds-checkbox-cursor:not-allowed;
2476
- }
2477
-
2478
- .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
2479
- --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
2480
- }
2372
+ .tds-radio-group-fields{
2373
+ display:flex;
2374
+ flex-direction:column;
2375
+ gap:var(--tds-radio-group-gap);
2376
+ align-items:flex-start;
2377
+ margin-top:var(--t-spacing-1);
2378
+ }
2481
2379
 
2482
- .tds-checkbox-description{
2380
+ .tds-radio-group-description{
2483
2381
  display:flex;
2484
- grid-area:2 / 2;
2485
2382
  gap:var(--t-spacing-half);
2486
2383
  align-items:flex-start;
2487
- padding-inline-start:var(--t-spacing-1);
2488
- margin:0;
2489
- font-size:var(--tds-checkbox-description-font-size);
2490
- line-height:var(--tds-checkbox-description-line-height);
2491
- color:var(--tds-checkbox-description-color);
2384
+ margin:var(--t-spacing-fourth) 0 0;
2385
+ font-size:var(--tds-radio-group-description-font-size);
2386
+ line-height:var(--tds-radio-group-description-line-height);
2387
+ color:var(--tds-radio-group-description-color);
2492
2388
  cursor:text;
2493
2389
  }
2494
2390
 
2495
- .tds-checkbox-description .tds-checkbox-description-invalid-icon{
2496
- display:var(--tds-checkbox-description-invalid-icon-display);
2391
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
2392
+ display:var(--tds-radio-group-description-invalid-icon-display);
2497
2393
  flex-shrink:0;
2498
2394
  margin-top:calc(.5lh - .5em);
2499
- line-height:var(--tds-checkbox-description-line-height);
2395
+ line-height:var(--tds-radio-group-description-line-height);
2500
2396
  }
2501
2397
 
2502
- .tds-checkbox--sm{
2503
- --tds-checkbox-line-height:1.35;
2504
- --tds-checkbox-input-size:var(--t-element-size-sm);
2505
- --tds-checkbox-font-size:var(--t-font-size-sm);
2506
- --tds-checkbox-description-font-size:var(--t-font-size-xs);
2507
- --tds-checkbox-description-line-height:1.3;
2398
+ .tds-radio-group--sm{
2399
+ --tds-radio-group-line-height:1.35;
2400
+ --tds-radio-group-font-size:var(--t-font-size-sm);
2401
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
2402
+ --tds-radio-group-description-line-height:1.3;
2508
2403
  }
2509
2404
 
2510
2405
  .tds-toggle-switch{
@@ -2647,32 +2542,110 @@ a.tds-dropdown-item:is(:hover, :active){
2647
2542
  --tds-toggle-switch-display:inline-flex;
2648
2543
  }
2649
2544
 
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);
2545
+ .tds-input:has(textarea){
2546
+ --tds-input-padding-block:6px;
2547
+ --tds-input-resizer-size:var(--t-element-size-sm);
2548
+ --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");
2663
2549
  }
2664
2550
 
2665
- @keyframes spinner-rotate{
2666
- to{
2667
- transform:rotate(360deg);
2551
+ @supports (x: attr(x type(*))){
2552
+
2553
+ .tds-input textarea{
2554
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
2555
+ }
2668
2556
  }
2557
+
2558
+ .tds-input.tds-textarea--resize-vertical textarea{
2559
+ resize:vertical;
2560
+ }
2561
+
2562
+ .tds-input.tds-textarea--resize-none textarea{
2563
+ resize:none;
2564
+ }
2565
+
2566
+ .tds-input.tds-textarea--resize-auto textarea{
2567
+ resize:vertical;
2568
+ }
2569
+
2570
+ @supports (field-sizing: content){
2571
+ .tds-input.tds-textarea--resize-auto textarea{
2572
+ field-sizing:content;
2573
+ resize:none;
2574
+ }
2575
+ }
2576
+
2577
+ .tds-input textarea{
2578
+ --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
2579
+ --tds-input-scrollbar-thumb-color-hidden:transparent;
2580
+ --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
2581
+ --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
2582
+ --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
2583
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
2584
+ --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
2585
+ --tds-input-scrollbar-thumb-border-radius:999px;
2586
+ --tds-input-scrollbar-thumb-border-width:3px;
2587
+ --tds-input-scrollbar-track-margin-block:.125rem;
2588
+ scrollbar-color:initial;
2589
+ transition-timing-function:var(--t-ease-in-out);
2590
+ transition-duration:var(--t-duration-200);
2591
+ transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
2669
2592
  }
2670
2593
 
2671
- @media (prefers-reduced-motion: reduce){
2672
- [class*="--loading"] .tds-loading-spinner{
2673
- --tds-loading-spinner-animation-play-state:paused;
2594
+ @media (pointer: fine){
2595
+ :is(.tds-input textarea)::-webkit-scrollbar{
2596
+ width:12px;
2597
+ height:12px;
2598
+ cursor:default;
2599
+ }
2600
+
2601
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb{
2602
+ cursor:default;
2603
+ background:var(--tds-input-scrollbar-thumb-color);
2604
+ background-clip:content-box;
2605
+ border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
2606
+ border-radius:var(--tds-input-scrollbar-thumb-border-radius);
2607
+ }
2608
+
2609
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2610
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
2611
+ }
2612
+
2613
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
2614
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
2615
+ }
2616
+
2617
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
2618
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
2619
+ }
2620
+
2621
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
2622
+ background:var(--tds-input-scrollbar-surface-color);
2623
+ }
2624
+
2625
+ :is(.tds-input textarea)::-webkit-resizer{
2626
+ background:var(--tds-input-resizer-icon) no-repeat;
2627
+ background-position:right bottom;
2628
+ background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
2629
+ }
2630
+
2631
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
2632
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
2633
+ cursor:default;
2634
+ }
2635
+
2636
+ @supports (-moz-appearance: none){
2637
+ :is(.tds-input textarea){
2638
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
2639
+ scrollbar-width:thin;
2640
+ }
2641
+
2642
+ @media (hover){
2643
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2644
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
2645
+ }
2646
+ }
2647
+ }
2674
2648
  }
2675
- }
2676
2649
 
2677
2650
  .tds-input{
2678
2651
  --tds-input-border-color:var(--t-form-border-color);
@@ -2811,6 +2784,33 @@ a.tds-dropdown-item:is(:hover, :active){
2811
2784
  line-height:1.35;
2812
2785
  }
2813
2786
 
2787
+ .tds-loading-spinner{
2788
+ position:absolute;
2789
+ right:0;
2790
+ left:0;
2791
+ visibility:var(--tds-loading-spinner-visibility, hidden);
2792
+ width:var(--tds-loading-spinner-size, 1.25em);
2793
+ height:var(--tds-loading-spinner-size, 1.25em);
2794
+ margin:auto;
2795
+ border:var(--tds-loading-spinner-track-width, 4px) solid var(--tds-loading-spinner-track-color, var(--t-fill-color-transparency-dark-020));
2796
+ border-top-color:var(--tds-loading-spinner-color, currentcolor);
2797
+ border-radius:50%;
2798
+ animation:spinner-rotate 500ms infinite linear;
2799
+ animation-play-state:var(--tds-loading-spinner-animation-play-state, paused);
2800
+ }
2801
+
2802
+ @keyframes spinner-rotate{
2803
+ to{
2804
+ transform:rotate(360deg);
2805
+ }
2806
+ }
2807
+
2808
+ @media (prefers-reduced-motion: reduce){
2809
+ [class*="--loading"] .tds-loading-spinner{
2810
+ --tds-loading-spinner-animation-play-state:paused;
2811
+ }
2812
+ }
2813
+
2814
2814
  @layer t-critical, t-component;
2815
2815
 
2816
2816
  :root{