@planningcenter/tapestry 3.2.3-rc.0 → 3.2.3-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
  2. package/dist/components/date-picker/DatePicker.js +71 -122
  3. package/dist/components/date-picker/DatePicker.js.map +1 -1
  4. package/dist/reactRender.css +826 -855
  5. package/dist/reactRender.css.map +1 -1
  6. package/dist/reactRenderLegacy.css +826 -855
  7. package/dist/reactRenderLegacy.css.map +1 -1
  8. package/dist/unstable.css +18 -47
  9. package/dist/unstable.css.map +1 -1
  10. package/package.json +2 -2
  11. package/dist/ext/@react-aria/focus/dist/FocusScope.js +0 -664
  12. package/dist/ext/@react-aria/focus/dist/FocusScope.js.map +0 -1
  13. package/dist/ext/@react-aria/interactions/dist/focusSafely.js +0 -38
  14. package/dist/ext/@react-aria/interactions/dist/focusSafely.js.map +0 -1
  15. package/dist/ext/@react-aria/interactions/dist/useFocusVisible.js +0 -165
  16. package/dist/ext/@react-aria/interactions/dist/useFocusVisible.js.map +0 -1
  17. package/dist/ext/@react-aria/interactions/dist/utils.js +0 -6
  18. package/dist/ext/@react-aria/interactions/dist/utils.js.map +0 -1
  19. package/dist/ext/@react-aria/utils/dist/DOMFunctions.js +0 -38
  20. package/dist/ext/@react-aria/utils/dist/DOMFunctions.js.map +0 -1
  21. package/dist/ext/@react-aria/utils/dist/ShadowTreeWalker.js +0 -193
  22. package/dist/ext/@react-aria/utils/dist/ShadowTreeWalker.js.map +0 -1
  23. package/dist/ext/@react-aria/utils/dist/domHelpers.js +0 -20
  24. package/dist/ext/@react-aria/utils/dist/domHelpers.js.map +0 -1
  25. package/dist/ext/@react-aria/utils/dist/focusWithoutScrolling.js +0 -66
  26. package/dist/ext/@react-aria/utils/dist/focusWithoutScrolling.js.map +0 -1
  27. package/dist/ext/@react-aria/utils/dist/isElementVisible.js +0 -39
  28. package/dist/ext/@react-aria/utils/dist/isElementVisible.js.map +0 -1
  29. package/dist/ext/@react-aria/utils/dist/isFocusable.js +0 -49
  30. package/dist/ext/@react-aria/utils/dist/isFocusable.js.map +0 -1
  31. package/dist/ext/@react-aria/utils/dist/isVirtualEvent.js +0 -25
  32. package/dist/ext/@react-aria/utils/dist/isVirtualEvent.js.map +0 -1
  33. package/dist/ext/@react-aria/utils/dist/openLink.js +0 -42
  34. package/dist/ext/@react-aria/utils/dist/openLink.js.map +0 -1
  35. package/dist/ext/@react-aria/utils/dist/platform.js +0 -59
  36. package/dist/ext/@react-aria/utils/dist/platform.js.map +0 -1
  37. package/dist/ext/@react-aria/utils/dist/runAfterTransition.js +0 -91
  38. package/dist/ext/@react-aria/utils/dist/runAfterTransition.js.map +0 -1
  39. package/dist/ext/@react-aria/utils/dist/useLayoutEffect.js +0 -17
  40. package/dist/ext/@react-aria/utils/dist/useLayoutEffect.js.map +0 -1
  41. package/dist/ext/@react-stately/flags/dist/import.js +0 -7
  42. package/dist/ext/@react-stately/flags/dist/import.js.map +0 -1
@@ -554,6 +554,225 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
554
554
  --tds-checkbox-description-line-height:1.3;
555
555
  }
556
556
 
557
+ .tds-radio-group{
558
+ --tds-radio-group-font-size:var(--t-font-size-md);
559
+ --tds-radio-group-line-height:1.4;
560
+ --tds-radio-group-gap:var(--t-spacing-1);
561
+
562
+ --tds-radio-group-legend-margin-bottom:var(--tds-radio-group-gap);
563
+
564
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
565
+ --tds-radio-group-description-line-height:1.35;
566
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
567
+ --tds-radio-group-description-invalid-icon-display:none;
568
+ display:flex;
569
+ flex-direction:column;
570
+ gap:var(--tds-radio-group-gap);
571
+ padding:0;
572
+ margin:0;
573
+
574
+ font-size:var(--tds-radio-group-font-size);
575
+ line-height:var(--tds-radio-group-line-height);
576
+ border:0;
577
+ }
578
+
579
+ .tds-radio-group legend{
580
+ padding:0;
581
+ margin-bottom:var(--tds-radio-group-legend-margin-bottom);
582
+ }
583
+
584
+ .tds-radio-group:has(.tds-radio-group-description){
585
+ --tds-radio-group-legend-margin-bottom:var(--t-spacing-fourth);
586
+ }
587
+
588
+ .tds-radio-group[aria-invalid="true"]{
589
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
590
+ --tds-radio-group-description-invalid-icon-display:inline-block;
591
+ }
592
+
593
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
594
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
595
+ }
596
+
597
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
598
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
599
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
600
+ }
601
+
602
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
603
+ --tds-radio-input-background-color:var(--t-form-background-color);
604
+ }
605
+
606
+ .tds-radio-group:has(input:required) legend::after{
607
+ margin-left:.25ch;
608
+ color:var(--t-text-color-status-error);
609
+ content:"*";
610
+ }
611
+
612
+ .tds-radio-group-fields{
613
+ display:flex;
614
+ flex-direction:column;
615
+ gap:var(--tds-radio-group-gap);
616
+ align-items:flex-start;
617
+ }
618
+
619
+ .tds-radio-group-description{
620
+ display:flex;
621
+ gap:var(--t-spacing-half);
622
+ align-items:flex-start;
623
+ margin:0;
624
+ font-size:var(--tds-radio-group-description-font-size);
625
+ line-height:var(--tds-radio-group-description-line-height);
626
+ color:var(--tds-radio-group-description-color);
627
+ cursor:text;
628
+ }
629
+
630
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
631
+ display:var(--tds-radio-group-description-invalid-icon-display);
632
+ flex-shrink:0;
633
+ margin-top:calc(.5lh - .5em);
634
+ line-height:var(--tds-radio-group-description-line-height);
635
+ }
636
+
637
+ .tds-radio-group--sm{
638
+ --tds-radio-group-line-height:1.35;
639
+ --tds-radio-group-font-size:var(--t-font-size-sm);
640
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
641
+ --tds-radio-group-description-line-height:1.3;
642
+ }
643
+
644
+ .tds-radio{
645
+ --tds-radio-font-size:var(--t-font-size-md);
646
+ --tds-radio-cursor:pointer;
647
+ --tds-radio-line-height:1.4;
648
+ --tds-radio-transition-property:border-width;
649
+
650
+ --tds-radio-input-size:var(--t-element-size-md);
651
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
652
+ --tds-radio-input-border-color:var(--t-form-border-color);
653
+ --tds-radio-input-border-width:var(--t-form-border-width);
654
+ --tds-radio-input-background-color:transparent;
655
+
656
+ --tds-radio-label-color:var(--t-form-color);
657
+
658
+ --tds-radio-description-font-size:var(--t-font-size-sm);
659
+ --tds-radio-description-line-height:1.35;
660
+ --tds-radio-description-color:var(--t-text-color-secondary);
661
+
662
+ position:relative;
663
+ display:inline-grid;
664
+ grid-template-columns:auto;
665
+ grid-auto-columns:1fr;
666
+ gap:var(--t-spacing-fourth) var(--t-spacing-1);
667
+ line-height:var(--tds-radio-line-height);
668
+ cursor:var(--tds-radio-cursor);
669
+ -webkit-user-select:none;
670
+ -moz-user-select:none;
671
+ user-select:none;
672
+ }
673
+
674
+ .tds-radio label{
675
+ grid-area:1 / 2;
676
+ font-size:var(--tds-radio-font-size);
677
+ font-weight:var(--t-font-weight-normal);
678
+ color:var(--tds-radio-label-color);
679
+ cursor:var(--tds-radio-cursor);
680
+ }
681
+
682
+ .tds-radio input[type="radio"]{
683
+ position:relative;
684
+ width:1em;
685
+ height:1em;
686
+ margin:calc((1lh - 1em) / 2) 0 0;
687
+ font-size:var(--tds-radio-font-size);
688
+ line-height:inherit;
689
+ -webkit-appearance:none;
690
+ -moz-appearance:none;
691
+ appearance:none;
692
+ cursor:var(--tds-radio-cursor);
693
+ background-color:var(--tds-radio-input-background-color);
694
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
695
+ border-radius:var(--tds-radio-input-border-radius);
696
+ transition-timing-function:var(--t-ease-in-out);
697
+ transition-duration:var(--t-duration-200);
698
+ transition-property:var(--tds-radio-transition-property);
699
+ }
700
+
701
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
702
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
703
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
704
+ }
705
+
706
+ :is(.tds-radio input[type="radio"]):focus-visible{
707
+ outline:var(--t-focus-ring-outline);
708
+ outline-offset:var(--t-focus-ring-offset);
709
+ }
710
+
711
+ :is(.tds-radio input[type="radio"]):disabled{
712
+ pointer-events:none;
713
+ }
714
+
715
+ @media (prefers-reduced-motion: reduce){
716
+
717
+ .tds-radio input[type="radio"]{
718
+ --tds-radio-transition-property:none;
719
+ }
720
+ }
721
+
722
+ .tds-radio:has(input:checked){
723
+ --tds-radio-input-background-color:var(--t-form-background-color);
724
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
725
+ --tds-radio-input-border-width:4px;
726
+ }
727
+
728
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
729
+ --tds-radio-input-background-color:var(--t-form-background-color);
730
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
731
+ }
732
+
733
+ .tds-radio:has(input:user-invalid){
734
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
735
+ }
736
+
737
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
738
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
739
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
740
+ }
741
+
742
+ .tds-radio:has(input:disabled){
743
+ --tds-radio-input-background-color:var(--t-form-background-color-disabled);
744
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
745
+
746
+ --tds-radio-label-color:var(--t-form-color-disabled);
747
+ --tds-radio-description-color:var(--t-form-color-disabled);
748
+ --tds-radio-cursor:not-allowed;
749
+ }
750
+
751
+ .tds-radio:has(input:disabled) input:checked{
752
+ --tds-radio-input-background-color:var(--t-form-background-color);
753
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
754
+ }
755
+
756
+ .tds-radio-description{
757
+ display:flex;
758
+ grid-area:2 / 2;
759
+ gap:var(--t-spacing-half);
760
+ align-items:flex-start;
761
+ margin:0;
762
+ font-size:var(--tds-radio-description-font-size);
763
+ line-height:var(--tds-radio-description-line-height);
764
+ color:var(--tds-radio-description-color);
765
+ cursor:text;
766
+ }
767
+
768
+ .tds-radio--sm{
769
+ --tds-radio-line-height:1.35;
770
+ --tds-radio-input-size:var(--t-element-size-sm);
771
+ --tds-radio-font-size:var(--t-font-size-sm);
772
+ --tds-radio-description-font-size:var(--t-font-size-xs);
773
+ --tds-radio-description-line-height:1.3;
774
+ }
775
+
557
776
  @layer t-critical{
558
777
  tds-page-header:not(.hydrated){
559
778
  display:none;
@@ -841,223 +1060,250 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
841
1060
  }
842
1061
  }
843
1062
 
844
- .tds-radio{
845
- --tds-radio-font-size:var(--t-font-size-md);
846
- --tds-radio-cursor:pointer;
847
- --tds-radio-line-height:1.4;
848
- --tds-radio-transition-property:border-width;
849
-
850
- --tds-radio-input-size:var(--t-element-size-md);
851
- --tds-radio-input-border-radius:var(--t-border-radius-round);
852
- --tds-radio-input-border-color:var(--t-form-border-color);
853
- --tds-radio-input-border-width:var(--t-form-border-width);
854
- --tds-radio-input-background-color:transparent;
855
-
856
- --tds-radio-label-color:var(--t-form-color);
1063
+ .tds-input:has(textarea){
1064
+ --tds-input-padding-block:6px;
1065
+ --tds-input-resizer-size:var(--t-element-size-sm);
1066
+ --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");
1067
+ }
857
1068
 
858
- --tds-radio-description-font-size:var(--t-font-size-sm);
859
- --tds-radio-description-line-height:1.35;
860
- --tds-radio-description-color:var(--t-text-color-secondary);
1069
+ @supports (x: attr(x type(*))){
861
1070
 
862
- position:relative;
863
- display:inline-grid;
864
- grid-template-columns:auto;
865
- grid-auto-columns:1fr;
866
- gap:var(--t-spacing-fourth) var(--t-spacing-1);
867
- line-height:var(--tds-radio-line-height);
868
- cursor:var(--tds-radio-cursor);
869
- -webkit-user-select:none;
870
- -moz-user-select:none;
871
- user-select:none;
1071
+ .tds-input:has(textarea){
1072
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
872
1073
  }
1074
+ }
873
1075
 
874
- .tds-radio label{
875
- grid-area:1 / 2;
876
- font-size:var(--tds-radio-font-size);
877
- font-weight:var(--t-font-weight-normal);
878
- color:var(--tds-radio-label-color);
879
- cursor:var(--tds-radio-cursor);
880
- }
1076
+ .tds-input.tds-textarea--resize-vertical textarea{
1077
+ resize:vertical;
1078
+ }
881
1079
 
882
- .tds-radio input[type="radio"]{
883
- position:relative;
884
- width:1em;
885
- height:1em;
886
- margin:calc((1lh - 1em) / 2) 0 0;
887
- font-size:var(--tds-radio-font-size);
888
- line-height:inherit;
889
- -webkit-appearance:none;
890
- -moz-appearance:none;
891
- appearance:none;
892
- cursor:var(--tds-radio-cursor);
893
- background-color:var(--tds-radio-input-background-color);
894
- border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
895
- border-radius:var(--tds-radio-input-border-radius);
896
- transition-timing-function:var(--t-ease-in-out);
897
- transition-duration:var(--t-duration-200);
898
- transition-property:var(--tds-radio-transition-property);
899
- }
1080
+ .tds-input.tds-textarea--resize-none textarea{
1081
+ resize:none;
1082
+ }
900
1083
 
901
- :is(.tds-radio input[type="radio"]):hover:not(:disabled){
902
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
903
- --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1084
+ .tds-input.tds-textarea--resize-auto textarea{
1085
+ resize:vertical;
904
1086
  }
905
1087
 
906
- :is(.tds-radio input[type="radio"]):focus-visible{
907
- outline:var(--t-focus-ring-outline);
908
- outline-offset:var(--t-focus-ring-offset);
1088
+ @supports (field-sizing: content){
1089
+ .tds-input.tds-textarea--resize-auto textarea{
1090
+ field-sizing:content;
1091
+ resize:none;
1092
+ }
909
1093
  }
910
1094
 
911
- :is(.tds-radio input[type="radio"]):disabled{
912
- pointer-events:none;
1095
+ .tds-input textarea{
1096
+ --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1097
+ --tds-input-scrollbar-thumb-color-hidden:transparent;
1098
+ --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1099
+ --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1100
+ --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1101
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1102
+ --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1103
+ --tds-input-scrollbar-thumb-border-radius:999px;
1104
+ --tds-input-scrollbar-thumb-border-width:3px;
1105
+ --tds-input-scrollbar-track-margin-block:.125rem;
1106
+ scrollbar-color:initial;
1107
+ transition-timing-function:var(--t-ease-in-out);
1108
+ transition-duration:var(--t-duration-200);
1109
+ transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1110
+ }
1111
+
1112
+ @media (pointer: fine){
1113
+ :is(.tds-input textarea)::-webkit-scrollbar{
1114
+ width:12px;
1115
+ height:12px;
1116
+ cursor:default;
913
1117
  }
914
1118
 
915
- @media (prefers-reduced-motion: reduce){
1119
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1120
+ cursor:default;
1121
+ background:var(--tds-input-scrollbar-thumb-color);
1122
+ background-clip:content-box;
1123
+ border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1124
+ border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1125
+ }
916
1126
 
917
- .tds-radio input[type="radio"]{
918
- --tds-radio-transition-property:none;
919
- }
1127
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1128
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
920
1129
  }
921
1130
 
922
- .tds-radio:has(input:checked){
923
- --tds-radio-input-background-color:var(--t-form-background-color);
924
- --tds-radio-input-border-color:var(--t-border-color-control-info);
925
- --tds-radio-input-border-width:4px;
926
- }
1131
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1132
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1133
+ }
927
1134
 
928
- .tds-radio:has(input:checked) input:hover:not(:disabled){
929
- --tds-radio-input-background-color:var(--t-form-background-color);
930
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1135
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1136
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
931
1137
  }
932
1138
 
933
- .tds-radio:has(input:user-invalid){
934
- --tds-radio-input-border-color:var(--t-form-border-color-error);
935
- }
1139
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
1140
+ background:var(--tds-input-scrollbar-surface-color);
1141
+ }
936
1142
 
937
- .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
938
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
939
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1143
+ :is(.tds-input textarea)::-webkit-resizer{
1144
+ background:var(--tds-input-resizer-icon) no-repeat;
1145
+ background-position:right bottom;
1146
+ background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
940
1147
  }
941
1148
 
942
- .tds-radio:has(input:disabled){
943
- --tds-radio-input-background-color:var(--t-form-background-color-disabled);
944
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1149
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
1150
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
1151
+ cursor:default;
1152
+ }
945
1153
 
946
- --tds-radio-label-color:var(--t-form-color-disabled);
947
- --tds-radio-description-color:var(--t-form-color-disabled);
948
- --tds-radio-cursor:not-allowed;
949
- }
1154
+ @supports (-moz-appearance: none){
1155
+ :is(.tds-input textarea){
1156
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1157
+ scrollbar-width:thin;
1158
+ }
950
1159
 
951
- .tds-radio:has(input:disabled) input:checked{
952
- --tds-radio-input-background-color:var(--t-form-background-color);
953
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1160
+ @media (hover){
1161
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1162
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1163
+ }
1164
+ }
954
1165
  }
1166
+ }
955
1167
 
956
- .tds-radio-description{
957
- display:flex;
958
- grid-area:2 / 2;
959
- gap:var(--t-spacing-half);
960
- align-items:flex-start;
961
- margin:0;
962
- font-size:var(--tds-radio-description-font-size);
963
- line-height:var(--tds-radio-description-line-height);
964
- color:var(--tds-radio-description-color);
965
- cursor:text;
966
- }
1168
+ .tds-toggle-switch{
1169
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
1170
+ --tds-toggle-switch-column-gap:var(--t-spacing-1);
1171
+ --tds-toggle-switch-cursor:pointer;
1172
+ --tds-toggle-switch-display:inline-grid;
1173
+ --tds-toggle-switch-line-height:1.4;
967
1174
 
968
- .tds-radio--sm{
969
- --tds-radio-line-height:1.35;
970
- --tds-radio-input-size:var(--t-element-size-sm);
971
- --tds-radio-font-size:var(--t-font-size-sm);
972
- --tds-radio-description-font-size:var(--t-font-size-xs);
973
- --tds-radio-description-line-height:1.3;
974
- }
1175
+ --tds-toggle-switch-label-color:var(--t-form-color);
975
1176
 
976
- .tds-radio-group{
977
- --tds-radio-group-font-size:var(--t-font-size-md);
978
- --tds-radio-group-line-height:1.4;
979
- --tds-radio-group-gap:var(--t-spacing-1);
1177
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
1178
+ --tds-toggle-switch-track-outline:none;
1179
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
1180
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1181
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
980
1182
 
981
- --tds-radio-group-legend-margin-bottom:var(--tds-radio-group-gap);
1183
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1184
+ --tds-toggle-switch-thumb-transform:translateX(0);
1185
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
982
1186
 
983
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
984
- --tds-radio-group-description-line-height:1.35;
985
- --tds-radio-group-description-color:var(--t-text-color-secondary);
986
- --tds-radio-group-description-invalid-icon-display:none;
987
- display:flex;
988
- flex-direction:column;
989
- gap:var(--tds-radio-group-gap);
990
- padding:0;
991
- margin:0;
1187
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1188
+ --tds-toggle-switch-description-line-height:1.35;
1189
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1190
+ position:relative;
992
1191
 
993
- font-size:var(--tds-radio-group-font-size);
994
- line-height:var(--tds-radio-group-line-height);
995
- border:0;
1192
+ display:var(--tds-toggle-switch-display);
1193
+ grid-template-columns:auto;
1194
+ grid-auto-columns:1fr;
1195
+ gap:var(--t-spacing-fourth) var(--tds-toggle-switch-column-gap);
1196
+ -webkit-user-select:none;
1197
+ -moz-user-select:none;
1198
+ user-select:none;
996
1199
  }
997
1200
 
998
- .tds-radio-group legend{
999
- padding:0;
1000
- margin-bottom:var(--tds-radio-group-legend-margin-bottom);
1201
+ .tds-toggle-switch input[type="checkbox"]{
1202
+ position:absolute;
1203
+ width:var(--tds-toggle-switch-track-width);
1204
+ height:var(--tds-toggle-switch-track-height);
1205
+ margin:0;
1206
+ -webkit-appearance:none;
1207
+ -moz-appearance:none;
1208
+ appearance:none;
1209
+ cursor:var(--tds-toggle-switch-cursor);
1210
+ outline:var(--tds-toggle-switch-track-outline);
1211
+ outline-offset:var(--t-focus-ring-offset);
1212
+ background-color:transparent;
1213
+ border:0;
1214
+ border-radius:var(--t-border-radius-round);
1001
1215
  }
1002
1216
 
1003
- .tds-radio-group:has(.tds-radio-group-description){
1004
- --tds-radio-group-legend-margin-bottom:var(--t-spacing-fourth);
1005
- }
1217
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1218
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1219
+ }
1006
1220
 
1007
- .tds-radio-group[aria-invalid="true"]{
1008
- --tds-radio-group-description-color:var(--t-text-color-status-error);
1009
- --tds-radio-group-description-invalid-icon-display:inline-block;
1221
+ .tds-toggle-switch label{
1222
+ display:inline-flex;
1223
+ grid-area:1 / 2;
1224
+ -moz-column-gap:var(--tds-toggle-switch-column-gap);
1225
+ column-gap:var(--tds-toggle-switch-column-gap);
1226
+ margin-top:-.09375em;
1227
+ font-size:var(--tds-toggle-switch-font-size);
1228
+ font-weight:var(--t-font-weight-normal);
1229
+ line-height:var(--tds-toggle-switch-line-height);
1230
+ color:var(--tds-toggle-switch-label-color);
1231
+ cursor:var(--tds-toggle-switch-cursor);
1010
1232
  }
1011
1233
 
1012
- .tds-radio-group[aria-invalid="true"] .tds-radio{
1013
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1014
- }
1015
-
1016
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1017
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1018
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1019
- }
1234
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1235
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1236
+ }
1020
1237
 
1021
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1022
- --tds-radio-input-background-color:var(--t-form-background-color);
1023
- }
1238
+ .tds-toggle-switch:has(input:checked){
1239
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1240
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1241
+ }
1024
1242
 
1025
- .tds-radio-group:has(input:required) legend::after{
1026
- margin-left:.25ch;
1027
- color:var(--t-text-color-status-error);
1028
- content:"*";
1243
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1244
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1029
1245
  }
1030
1246
 
1031
- .tds-radio-group-fields{
1032
- display:flex;
1033
- flex-direction:column;
1034
- gap:var(--tds-radio-group-gap);
1035
- align-items:flex-start;
1247
+ .tds-toggle-switch:has(input:disabled){
1248
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1249
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1250
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1251
+ --tds-toggle-switch-cursor:not-allowed;
1252
+ }
1253
+
1254
+ .tds-toggle-switch-track{
1255
+ position:relative;
1256
+ flex-shrink:0;
1257
+ width:var(--tds-toggle-switch-track-width);
1258
+ height:var(--tds-toggle-switch-track-height);
1259
+ background-color:var(--tds-toggle-switch-track-background-color);
1260
+ border-radius:var(--t-border-radius-round);
1261
+ transition:var(--tds-toggle-switch-track-transition);
1036
1262
  }
1037
1263
 
1038
- .tds-radio-group-description{
1264
+ .tds-toggle-switch-track::before{
1265
+ position:absolute;
1266
+ top:var(--t-spacing-fourth);
1267
+ left:var(--t-spacing-fourth);
1268
+ width:var(--tds-toggle-switch-thumb-size);
1269
+ height:var(--tds-toggle-switch-thumb-size);
1270
+ content:"";
1271
+ background-color:#fff;
1272
+ border-radius:var(--t-border-radius-round);
1273
+ transform:var(--tds-toggle-switch-thumb-transform);
1274
+ transition:var(--tds-toggle-switch-thumb-transition);
1275
+ }
1276
+
1277
+ @media (prefers-reduced-motion: reduce){
1278
+
1279
+ .tds-toggle-switch-track{
1280
+ --tds-toggle-switch-track-transition:none;
1281
+ --tds-toggle-switch-thumb-transition:none;
1282
+ }
1283
+ }
1284
+
1285
+ .tds-toggle-switch-description{
1039
1286
  display:flex;
1040
- gap:var(--t-spacing-half);
1287
+ grid-area:2 / 2;
1041
1288
  align-items:flex-start;
1042
1289
  margin:0;
1043
- font-size:var(--tds-radio-group-description-font-size);
1044
- line-height:var(--tds-radio-group-description-line-height);
1045
- color:var(--tds-radio-group-description-color);
1290
+ font-size:var(--tds-toggle-switch-description-font-size);
1291
+ line-height:var(--tds-toggle-switch-description-line-height);
1292
+ color:var(--tds-toggle-switch-description-color);
1046
1293
  cursor:text;
1047
1294
  }
1048
1295
 
1049
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1050
- display:var(--tds-radio-group-description-invalid-icon-display);
1051
- flex-shrink:0;
1052
- margin-top:calc(.5lh - .5em);
1053
- line-height:var(--tds-radio-group-description-line-height);
1054
- }
1296
+ .tds-toggle-switch--sm{
1297
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
1298
+ --tds-toggle-switch-line-height:1.35;
1299
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
1300
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1301
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1302
+ --tds-toggle-switch-description-line-height:1.3;
1303
+ }
1055
1304
 
1056
- .tds-radio-group--sm{
1057
- --tds-radio-group-line-height:1.35;
1058
- --tds-radio-group-font-size:var(--t-font-size-sm);
1059
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
1060
- --tds-radio-group-description-line-height:1.3;
1305
+ .tds-toggle-switch--hide-label{
1306
+ --tds-toggle-switch-display:inline-flex;
1061
1307
  }
1062
1308
 
1063
1309
  .tds-select{
@@ -1262,483 +1508,237 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1262
1508
  :is(.tds-select :is(li[role="presentation"],legend)) span{
1263
1509
  display:inline-flex;
1264
1510
  gap:var(--t-spacing-half);
1265
- align-items:center;
1266
- color:var(--tds-select-group-label-color);
1267
- transition:var(--tds-select-group-label-transition);
1268
- }
1269
-
1270
- @container scroll-state(stuck){
1271
-
1272
- :is(.tds-select :is(li[role="presentation"],legend)) span{
1273
- color:var(--tds-select-group-label-color-stuck);
1274
- }
1275
-
1276
- @media (forced-colors: active){
1277
-
1278
- :is(.tds-select :is(li[role="presentation"],legend)) span{
1279
- color:var(--tds-select-group-label-color-stuck);
1280
- }
1281
- }
1282
- }
1283
-
1284
- .tds-select.tds-select--lg{
1285
- --tds-select-min-height:var(--t-container-size-lg);
1286
- --tds-select-font-size:var(--t-font-size-lg);
1287
- }
1288
-
1289
- @media (prefers-reduced-motion: reduce){
1290
-
1291
- .tds-select{
1292
- --tds-select-transition-property:none;
1293
- --tds-select-dropdown-transition-enter:none;
1294
- --tds-select-dropdown-transition-exit:none;
1295
- --tds-select-dropdown-scroll-behavior:auto;
1296
- --tds-select-dropdown-closed-transform:none;
1297
- --tds-select-dropdown-open-transform:none;
1298
- --tds-select-caret-transition:none;
1299
- }
1300
- }
1301
-
1302
- .tds-select-description{
1303
- display:flex;
1304
- gap:var(--t-spacing-half);
1305
- align-items:flex-start;
1306
- margin:0;
1307
- font-size:var(--t-font-size-sm);
1308
- line-height:1.35;
1309
- color:var(--tds-select-description-color, var(--t-text-color-secondary));
1310
- cursor:text;
1311
- }
1312
-
1313
- .tds-select-description .tds-select-description-invalid-icon{
1314
- display:var(--tds-select-description-invalid-icon-display, none);
1315
- flex-shrink:0;
1316
- margin-block-start:calc(.5lh - .5em);
1317
- line-height:1.35;
1318
- }
1319
-
1320
- .tds-select > .tds-select-hidden-select{
1321
- position:absolute;
1322
- inline-size:1px;
1323
- block-size:1px;
1324
- padding:0;
1325
- margin:0;
1326
- pointer-events:none;
1327
- opacity:0;
1328
- }
1329
-
1330
- .tds-select:has( > button) > button{
1331
- display:block;
1332
- padding-inline-end:calc(var(--tds-select-caret-size) + var(--tds-select-caret-inline-offset) + .75ch);
1333
- overflow:hidden;
1334
- text-overflow:ellipsis;
1335
- color:var(--tds-select-placeholder-color);
1336
- white-space:nowrap;
1337
- background-image:none;
1338
- transition:background-color var(--t-duration-300) var(--t-ease-in-out), border-color var(--t-duration-300) var(--t-ease-in-out), outline-color var(--t-duration-300) var(--t-ease-in-out), outline-offset var(--t-duration-300) var(--t-ease-in-out), transform var(--t-duration-100) var(--t-ease-in-out);
1339
- -webkit-tap-highlight-color:transparent;
1340
- }
1341
-
1342
- :is(.tds-select:has( > button) > button)::after{
1343
- position:absolute;
1344
- inset-block:0;
1345
- inset-inline-end:var(--tds-select-caret-inline-offset);
1346
- width:var(--tds-select-caret-size);
1347
- height:var(--tds-select-caret-size);
1348
- margin-block:auto;
1349
- pointer-events:none;
1350
- content:var(--tds-select-background-image);
1351
- transform:rotate(0);
1352
- transition:var(--tds-select-caret-transition);
1353
- }
1354
-
1355
- .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
1356
- color:var(--tds-select-color);
1357
- }
1358
-
1359
- .tds-select:has( > button) [popover]{
1360
- inset:auto;
1361
- inline-size:-moz-max-content;
1362
- inline-size:max-content;
1363
- min-inline-size:anchor-size(width);
1364
- max-inline-size:100vi;
1365
- max-block-size:min(50vh, 20rem);
1366
- padding:var(--tds-select-dropdown-padding);
1367
- margin-block:var(--tds-select-dropdown-margin-block);
1368
- position-area:block-end span-inline-start;
1369
- position-try-fallbacks:flip-block, flip-inline;
1370
- overflow:auto;
1371
- overflow-x:hidden;
1372
- scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
1373
- overscroll-behavior:none;
1374
- -webkit-user-select:none;
1375
- -moz-user-select:none;
1376
- user-select:none;
1377
- scroll-padding-top:calc(var(--tds-select-group-label-padding-block-start) + var(--tds-select-group-label-font-size) + var(--t-spacing-2));
1378
- scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
1379
- scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
1380
- background:var(--tds-select-dropdown-background-color);
1381
- border:var(--tds-select-dropdown-border);
1382
- border-radius:var(--tds-select-dropdown-border-radius);
1383
- box-shadow:var(--tds-select-dropdown-box-shadow);
1384
- opacity:var(--tds-select-dropdown-open-opacity);
1385
- transform:var(--tds-select-dropdown-open-transform);
1386
- transition:var(--tds-select-dropdown-transition-enter);
1387
- }
1388
-
1389
- :is(.tds-select:has( > button) [popover]):not(:popover-open){
1390
- opacity:var(--tds-select-dropdown-closed-opacity);
1391
- transform:var(--tds-select-dropdown-closed-transform);
1392
- transition:var(--tds-select-dropdown-transition-exit);
1393
- }
1394
-
1395
- :is(.tds-select:has( > button) [popover]) ul{
1396
- padding:0;
1397
- margin:0;
1398
- list-style:none;
1399
- }
1400
-
1401
- @starting-style{
1402
- :is(.tds-select:has( > button) [popover]):popover-open{
1403
- opacity:var(--tds-select-dropdown-closed-opacity);
1404
- transform:var(--tds-select-dropdown-closed-transform);
1405
- }
1406
- }
1407
-
1408
- @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)){
1409
- .tds-select select:has(> button){
1410
- padding-inline-end:0;
1411
- background-image:none;
1412
- }
1413
- @media (hover) and (pointer: fine){
1414
- :is(.tds-select select:has( > button)),:is(.tds-select select:has( > button))::picker(select){
1415
- padding-block:0;
1416
- -webkit-appearance:base-select;
1417
- -moz-appearance:base-select;
1418
- appearance:base-select;
1419
- }
1420
- }
1421
- :is(.tds-select select:has( > button))::picker-icon{
1422
- flex-shrink:0;
1423
- width:var(--tds-select-caret-size);
1424
- height:var(--tds-select-caret-size);
1425
- margin-inline-end:var(--tds-select-caret-inline-offset);
1426
- content:var(--tds-select-background-image);
1427
- transition:var(--tds-select-caret-transition);
1428
- }
1429
-
1430
- :is(.tds-select select:has( > button))::picker(select):not(:popover-open){
1431
- opacity:var(--tds-select-dropdown-closed-opacity);
1432
- transform:var(--tds-select-dropdown-closed-transform);
1433
- transition:var(--tds-select-dropdown-transition-exit);
1434
- }
1435
-
1436
- :is(.tds-select select:has( > button)):open,:is(.tds-select select:has( > button)):focus-within{
1437
- outline-color:var(--t-focus-ring-color);
1438
- outline-offset:var(--t-focus-ring-offset);
1439
- border-color:var(--tds-select-border-color-active);
1440
- }
1441
-
1442
- :is(.tds-select select:has( > button)):open::picker-icon{
1443
- opacity:1;
1444
- transform:rotate(.5turn);
1445
- }
1446
-
1447
- :is(.tds-select select:has( > button)) selectedcontent{
1448
- overflow:hidden;
1449
- text-overflow:ellipsis;
1450
- line-height:calc(var(--tds-select-min-height) - 2px);
1451
- white-space:nowrap;
1452
- }
1453
-
1454
- :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
1455
- color:var(--tds-select-placeholder-color);
1456
- }
1457
-
1458
- :is(.tds-select select:has( > button))::picker(select){
1459
- inset:auto;
1460
- inline-size:-moz-max-content;
1461
- inline-size:max-content;
1462
- min-inline-size:anchor-size(width);
1463
- max-inline-size:100vi;
1464
- padding:var(--tds-select-dropdown-padding);
1465
- margin-block:var(--tds-select-dropdown-margin-block);
1466
- position-try-fallbacks:flip-block, flip-inline;
1467
- overflow:auto;
1468
- overflow-x:hidden;
1469
- scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
1470
- overscroll-behavior:none;
1471
- -webkit-user-select:none;
1472
- -moz-user-select:none;
1473
- user-select:none;
1474
- scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
1475
- scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
1476
- background:var(--tds-select-dropdown-background-color);
1477
- border:var(--tds-select-dropdown-border);
1478
- border-radius:var(--tds-select-dropdown-border-radius);
1479
- box-shadow:var(--tds-select-dropdown-box-shadow);
1480
- opacity:var(--tds-select-dropdown-open-opacity);
1481
- transform:var(--tds-select-dropdown-open-transform);
1482
- transition:var(--tds-select-dropdown-transition-enter);
1483
- }
1484
-
1485
- :is(.tds-select select:has( > button)) option::checkmark{
1486
- display:none;
1487
- }
1488
-
1489
- @starting-style{
1490
- :is(.tds-select select:has( > button))::picker(select):popover-open{
1491
- opacity:var(--tds-select-dropdown-closed-opacity);
1492
- transform:var(--tds-select-dropdown-closed-transform);
1493
- }
1494
- }
1495
- }
1496
-
1497
- .tds-toggle-switch{
1498
- --tds-toggle-switch-font-size:var(--t-font-size-md);
1499
- --tds-toggle-switch-column-gap:var(--t-spacing-1);
1500
- --tds-toggle-switch-cursor:pointer;
1501
- --tds-toggle-switch-display:inline-grid;
1502
- --tds-toggle-switch-line-height:1.4;
1503
-
1504
- --tds-toggle-switch-label-color:var(--t-form-color);
1505
-
1506
- --tds-toggle-switch-track-width:var(--t-container-size-md);
1507
- --tds-toggle-switch-track-outline:none;
1508
- --tds-toggle-switch-track-height:var(--t-container-size-xs);
1509
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1510
- --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1511
-
1512
- --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1513
- --tds-toggle-switch-thumb-transform:translateX(0);
1514
- --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1515
-
1516
- --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1517
- --tds-toggle-switch-description-line-height:1.35;
1518
- --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1519
- position:relative;
1520
-
1521
- display:var(--tds-toggle-switch-display);
1522
- grid-template-columns:auto;
1523
- grid-auto-columns:1fr;
1524
- gap:var(--t-spacing-fourth) var(--tds-toggle-switch-column-gap);
1525
- -webkit-user-select:none;
1526
- -moz-user-select:none;
1527
- user-select:none;
1528
- }
1529
-
1530
- .tds-toggle-switch input[type="checkbox"]{
1531
- position:absolute;
1532
- width:var(--tds-toggle-switch-track-width);
1533
- height:var(--tds-toggle-switch-track-height);
1534
- margin:0;
1535
- -webkit-appearance:none;
1536
- -moz-appearance:none;
1537
- appearance:none;
1538
- cursor:var(--tds-toggle-switch-cursor);
1539
- outline:var(--tds-toggle-switch-track-outline);
1540
- outline-offset:var(--t-focus-ring-offset);
1541
- background-color:transparent;
1542
- border:0;
1543
- border-radius:var(--t-border-radius-round);
1544
- }
1545
-
1546
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1547
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1548
- }
1549
-
1550
- .tds-toggle-switch label{
1551
- display:inline-flex;
1552
- grid-area:1 / 2;
1553
- -moz-column-gap:var(--tds-toggle-switch-column-gap);
1554
- column-gap:var(--tds-toggle-switch-column-gap);
1555
- margin-top:-.09375em;
1556
- font-size:var(--tds-toggle-switch-font-size);
1557
- font-weight:var(--t-font-weight-normal);
1558
- line-height:var(--tds-toggle-switch-line-height);
1559
- color:var(--tds-toggle-switch-label-color);
1560
- cursor:var(--tds-toggle-switch-cursor);
1561
- }
1562
-
1563
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1564
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1565
- }
1511
+ align-items:center;
1512
+ color:var(--tds-select-group-label-color);
1513
+ transition:var(--tds-select-group-label-transition);
1514
+ }
1566
1515
 
1567
- .tds-toggle-switch:has(input:checked){
1568
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1569
- --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1570
- }
1516
+ @container scroll-state(stuck){
1571
1517
 
1572
- .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1573
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1518
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
1519
+ color:var(--tds-select-group-label-color-stuck);
1574
1520
  }
1575
1521
 
1576
- .tds-toggle-switch:has(input:disabled){
1577
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1578
- --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1579
- --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1580
- --tds-toggle-switch-cursor:not-allowed;
1581
- }
1522
+ @media (forced-colors: active){
1582
1523
 
1583
- .tds-toggle-switch-track{
1584
- position:relative;
1585
- flex-shrink:0;
1586
- width:var(--tds-toggle-switch-track-width);
1587
- height:var(--tds-toggle-switch-track-height);
1588
- background-color:var(--tds-toggle-switch-track-background-color);
1589
- border-radius:var(--t-border-radius-round);
1590
- transition:var(--tds-toggle-switch-track-transition);
1591
- }
1524
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
1525
+ color:var(--tds-select-group-label-color-stuck);
1526
+ }
1527
+ }
1528
+ }
1592
1529
 
1593
- .tds-toggle-switch-track::before{
1594
- position:absolute;
1595
- top:var(--t-spacing-fourth);
1596
- left:var(--t-spacing-fourth);
1597
- width:var(--tds-toggle-switch-thumb-size);
1598
- height:var(--tds-toggle-switch-thumb-size);
1599
- content:"";
1600
- background-color:#fff;
1601
- border-radius:var(--t-border-radius-round);
1602
- transform:var(--tds-toggle-switch-thumb-transform);
1603
- transition:var(--tds-toggle-switch-thumb-transition);
1530
+ .tds-select.tds-select--lg{
1531
+ --tds-select-min-height:var(--t-container-size-lg);
1532
+ --tds-select-font-size:var(--t-font-size-lg);
1604
1533
  }
1605
1534
 
1606
1535
  @media (prefers-reduced-motion: reduce){
1607
1536
 
1608
- .tds-toggle-switch-track{
1609
- --tds-toggle-switch-track-transition:none;
1610
- --tds-toggle-switch-thumb-transition:none;
1537
+ .tds-select{
1538
+ --tds-select-transition-property:none;
1539
+ --tds-select-dropdown-transition-enter:none;
1540
+ --tds-select-dropdown-transition-exit:none;
1541
+ --tds-select-dropdown-scroll-behavior:auto;
1542
+ --tds-select-dropdown-closed-transform:none;
1543
+ --tds-select-dropdown-open-transform:none;
1544
+ --tds-select-caret-transition:none;
1611
1545
  }
1612
1546
  }
1613
1547
 
1614
- .tds-toggle-switch-description{
1548
+ .tds-select-description{
1615
1549
  display:flex;
1616
- grid-area:2 / 2;
1550
+ gap:var(--t-spacing-half);
1617
1551
  align-items:flex-start;
1618
1552
  margin:0;
1619
- font-size:var(--tds-toggle-switch-description-font-size);
1620
- line-height:var(--tds-toggle-switch-description-line-height);
1621
- color:var(--tds-toggle-switch-description-color);
1553
+ font-size:var(--t-font-size-sm);
1554
+ line-height:1.35;
1555
+ color:var(--tds-select-description-color, var(--t-text-color-secondary));
1622
1556
  cursor:text;
1623
1557
  }
1624
1558
 
1625
- .tds-toggle-switch--sm{
1626
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
1627
- --tds-toggle-switch-line-height:1.35;
1628
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
1629
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1630
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1631
- --tds-toggle-switch-description-line-height:1.3;
1632
- }
1559
+ .tds-select-description .tds-select-description-invalid-icon{
1560
+ display:var(--tds-select-description-invalid-icon-display, none);
1561
+ flex-shrink:0;
1562
+ margin-block-start:calc(.5lh - .5em);
1563
+ line-height:1.35;
1564
+ }
1633
1565
 
1634
- .tds-toggle-switch--hide-label{
1635
- --tds-toggle-switch-display:inline-flex;
1566
+ .tds-select > .tds-select-hidden-select{
1567
+ position:absolute;
1568
+ inline-size:1px;
1569
+ block-size:1px;
1570
+ padding:0;
1571
+ margin:0;
1572
+ pointer-events:none;
1573
+ opacity:0;
1636
1574
  }
1637
1575
 
1638
- .tds-input:has(textarea){
1639
- --tds-input-padding-block:6px;
1640
- --tds-input-resizer-size:var(--t-element-size-sm);
1641
- --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");
1642
- }
1576
+ .tds-select:has( > button) > button{
1577
+ display:block;
1578
+ padding-inline-end:calc(var(--tds-select-caret-size) + var(--tds-select-caret-inline-offset) + .75ch);
1579
+ overflow:hidden;
1580
+ text-overflow:ellipsis;
1581
+ color:var(--tds-select-placeholder-color);
1582
+ white-space:nowrap;
1583
+ background-image:none;
1584
+ transition:background-color var(--t-duration-300) var(--t-ease-in-out), border-color var(--t-duration-300) var(--t-ease-in-out), outline-color var(--t-duration-300) var(--t-ease-in-out), outline-offset var(--t-duration-300) var(--t-ease-in-out), transform var(--t-duration-100) var(--t-ease-in-out);
1585
+ -webkit-tap-highlight-color:transparent;
1586
+ }
1643
1587
 
1644
- @supports (x: attr(x type(*))){
1588
+ :is(.tds-select:has( > button) > button)::after{
1589
+ position:absolute;
1590
+ inset-block:0;
1591
+ inset-inline-end:var(--tds-select-caret-inline-offset);
1592
+ width:var(--tds-select-caret-size);
1593
+ height:var(--tds-select-caret-size);
1594
+ margin-block:auto;
1595
+ pointer-events:none;
1596
+ content:var(--tds-select-background-image);
1597
+ transform:rotate(0);
1598
+ transition:var(--tds-select-caret-transition);
1599
+ }
1645
1600
 
1646
- .tds-input:has(textarea){
1647
- --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1648
- }
1601
+ .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
1602
+ color:var(--tds-select-color);
1649
1603
  }
1650
1604
 
1651
- .tds-input.tds-textarea--resize-vertical textarea{
1652
- resize:vertical;
1653
- }
1605
+ .tds-select:has( > button) [popover]{
1606
+ inset:auto;
1607
+ inline-size:-moz-max-content;
1608
+ inline-size:max-content;
1609
+ min-inline-size:anchor-size(width);
1610
+ max-inline-size:100vi;
1611
+ max-block-size:min(50vh, 20rem);
1612
+ padding:var(--tds-select-dropdown-padding);
1613
+ margin-block:var(--tds-select-dropdown-margin-block);
1614
+ position-area:block-end span-inline-start;
1615
+ position-try-fallbacks:flip-block, flip-inline;
1616
+ overflow:auto;
1617
+ overflow-x:hidden;
1618
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
1619
+ overscroll-behavior:none;
1620
+ -webkit-user-select:none;
1621
+ -moz-user-select:none;
1622
+ user-select:none;
1623
+ scroll-padding-top:calc(var(--tds-select-group-label-padding-block-start) + var(--tds-select-group-label-font-size) + var(--t-spacing-2));
1624
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
1625
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
1626
+ background:var(--tds-select-dropdown-background-color);
1627
+ border:var(--tds-select-dropdown-border);
1628
+ border-radius:var(--tds-select-dropdown-border-radius);
1629
+ box-shadow:var(--tds-select-dropdown-box-shadow);
1630
+ opacity:var(--tds-select-dropdown-open-opacity);
1631
+ transform:var(--tds-select-dropdown-open-transform);
1632
+ transition:var(--tds-select-dropdown-transition-enter);
1633
+ }
1654
1634
 
1655
- .tds-input.tds-textarea--resize-none textarea{
1656
- resize:none;
1635
+ :is(.tds-select:has( > button) [popover]):not(:popover-open){
1636
+ opacity:var(--tds-select-dropdown-closed-opacity);
1637
+ transform:var(--tds-select-dropdown-closed-transform);
1638
+ transition:var(--tds-select-dropdown-transition-exit);
1657
1639
  }
1658
1640
 
1659
- .tds-input.tds-textarea--resize-auto textarea{
1660
- resize:vertical;
1641
+ :is(.tds-select:has( > button) [popover]) ul{
1642
+ padding:0;
1643
+ margin:0;
1644
+ list-style:none;
1661
1645
  }
1662
1646
 
1663
- @supports (field-sizing: content){
1664
- .tds-input.tds-textarea--resize-auto textarea{
1665
- field-sizing:content;
1666
- resize:none;
1647
+ @starting-style{
1648
+ :is(.tds-select:has( > button) [popover]):popover-open{
1649
+ opacity:var(--tds-select-dropdown-closed-opacity);
1650
+ transform:var(--tds-select-dropdown-closed-transform);
1667
1651
  }
1668
1652
  }
1669
1653
 
1670
- .tds-input textarea{
1671
- --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1672
- --tds-input-scrollbar-thumb-color-hidden:transparent;
1673
- --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1674
- --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1675
- --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1676
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1677
- --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1678
- --tds-input-scrollbar-thumb-border-radius:999px;
1679
- --tds-input-scrollbar-thumb-border-width:3px;
1680
- --tds-input-scrollbar-track-margin-block:.125rem;
1681
- scrollbar-color:initial;
1682
- transition-timing-function:var(--t-ease-in-out);
1683
- transition-duration:var(--t-duration-200);
1684
- transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1685
- }
1686
-
1687
- @media (pointer: fine){
1688
- :is(.tds-input textarea)::-webkit-scrollbar{
1689
- width:12px;
1690
- height:12px;
1691
- cursor:default;
1654
+ @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)){
1655
+ .tds-select select:has(> button){
1656
+ padding-inline-end:0;
1657
+ background-image:none;
1658
+ }
1659
+ @media (hover) and (pointer: fine){
1660
+ :is(.tds-select select:has( > button)),:is(.tds-select select:has( > button))::picker(select){
1661
+ padding-block:0;
1662
+ -webkit-appearance:base-select;
1663
+ -moz-appearance:base-select;
1664
+ appearance:base-select;
1665
+ }
1692
1666
  }
1693
-
1694
- :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1695
- cursor:default;
1696
- background:var(--tds-input-scrollbar-thumb-color);
1697
- background-clip:content-box;
1698
- border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1699
- border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1667
+ :is(.tds-select select:has( > button))::picker-icon{
1668
+ flex-shrink:0;
1669
+ width:var(--tds-select-caret-size);
1670
+ height:var(--tds-select-caret-size);
1671
+ margin-inline-end:var(--tds-select-caret-inline-offset);
1672
+ content:var(--tds-select-background-image);
1673
+ transition:var(--tds-select-caret-transition);
1700
1674
  }
1701
1675
 
1702
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1703
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
1676
+ :is(.tds-select select:has( > button))::picker(select):not(:popover-open){
1677
+ opacity:var(--tds-select-dropdown-closed-opacity);
1678
+ transform:var(--tds-select-dropdown-closed-transform);
1679
+ transition:var(--tds-select-dropdown-transition-exit);
1704
1680
  }
1705
1681
 
1706
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1707
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1682
+ :is(.tds-select select:has( > button)):open,:is(.tds-select select:has( > button)):focus-within{
1683
+ outline-color:var(--t-focus-ring-color);
1684
+ outline-offset:var(--t-focus-ring-offset);
1685
+ border-color:var(--tds-select-border-color-active);
1708
1686
  }
1709
1687
 
1710
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1711
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1688
+ :is(.tds-select select:has( > button)):open::picker-icon{
1689
+ opacity:1;
1690
+ transform:rotate(.5turn);
1712
1691
  }
1713
1692
 
1714
- :is(.tds-input textarea)::-webkit-scrollbar-corner{
1715
- background:var(--tds-input-scrollbar-surface-color);
1693
+ :is(.tds-select select:has( > button)) selectedcontent{
1694
+ overflow:hidden;
1695
+ text-overflow:ellipsis;
1696
+ line-height:calc(var(--tds-select-min-height) - 2px);
1697
+ white-space:nowrap;
1716
1698
  }
1717
1699
 
1718
- :is(.tds-input textarea)::-webkit-resizer{
1719
- background:var(--tds-input-resizer-icon) no-repeat;
1720
- background-position:right bottom;
1721
- background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
1700
+ :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
1701
+ color:var(--tds-select-placeholder-color);
1722
1702
  }
1723
1703
 
1724
- :is(.tds-input textarea)::-webkit-scrollbar-track{
1725
- margin-block:var(--tds-input-scrollbar-track-margin-block);
1726
- cursor:default;
1704
+ :is(.tds-select select:has( > button))::picker(select){
1705
+ inset:auto;
1706
+ inline-size:-moz-max-content;
1707
+ inline-size:max-content;
1708
+ min-inline-size:anchor-size(width);
1709
+ max-inline-size:100vi;
1710
+ padding:var(--tds-select-dropdown-padding);
1711
+ margin-block:var(--tds-select-dropdown-margin-block);
1712
+ position-try-fallbacks:flip-block, flip-inline;
1713
+ overflow:auto;
1714
+ overflow-x:hidden;
1715
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
1716
+ overscroll-behavior:none;
1717
+ -webkit-user-select:none;
1718
+ -moz-user-select:none;
1719
+ user-select:none;
1720
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
1721
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
1722
+ background:var(--tds-select-dropdown-background-color);
1723
+ border:var(--tds-select-dropdown-border);
1724
+ border-radius:var(--tds-select-dropdown-border-radius);
1725
+ box-shadow:var(--tds-select-dropdown-box-shadow);
1726
+ opacity:var(--tds-select-dropdown-open-opacity);
1727
+ transform:var(--tds-select-dropdown-open-transform);
1728
+ transition:var(--tds-select-dropdown-transition-enter);
1727
1729
  }
1728
1730
 
1729
- @supports (-moz-appearance: none){
1730
- :is(.tds-input textarea){
1731
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1732
- scrollbar-width:thin;
1733
- }
1731
+ :is(.tds-select select:has( > button)) option::checkmark{
1732
+ display:none;
1733
+ }
1734
1734
 
1735
- @media (hover){
1736
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1737
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1738
- }
1735
+ @starting-style{
1736
+ :is(.tds-select select:has( > button))::picker(select):popover-open{
1737
+ opacity:var(--tds-select-dropdown-closed-opacity);
1738
+ transform:var(--tds-select-dropdown-closed-transform);
1739
1739
  }
1740
1740
  }
1741
- }
1741
+ }
1742
1742
 
1743
1743
  .tds-input{
1744
1744
  --tds-input-border-color:var(--t-form-border-color);
@@ -3323,84 +3323,6 @@ a[class="tds-btn"]{
3323
3323
  @media (prefers-color-scheme: dark){
3324
3324
  }
3325
3325
 
3326
- .tds-checkbox-group{
3327
- --tds-checkbox-group-font-size:var(--t-font-size-md);
3328
- --tds-checkbox-group-line-height:1.4;
3329
- --tds-checkbox-group-gap:var(--t-spacing-1);
3330
-
3331
- --tds-checkbox-group-legend-margin-bottom:var(--tds-checkbox-group-gap);
3332
-
3333
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
3334
- --tds-checkbox-group-description-line-height:1.35;
3335
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
3336
- --tds-checkbox-group-description-invalid-icon-display:none;
3337
- display:flex;
3338
- flex-direction:column;
3339
- gap:var(--tds-checkbox-group-gap);
3340
- padding:0;
3341
- margin:0;
3342
-
3343
- font-size:var(--tds-checkbox-group-font-size);
3344
- line-height:var(--tds-checkbox-group-line-height);
3345
- border:0;
3346
- }
3347
-
3348
- .tds-checkbox-group legend{
3349
- padding:0;
3350
- margin-bottom:var(--tds-checkbox-group-legend-margin-bottom);
3351
- }
3352
-
3353
- .tds-checkbox-group:has(.tds-checkbox-group-description){
3354
- --tds-checkbox-group-legend-margin-bottom:var(--t-spacing-fourth);
3355
- }
3356
-
3357
- .tds-checkbox-group[aria-invalid="true"]{
3358
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
3359
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
3360
- }
3361
-
3362
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
3363
- margin-left:.25ch;
3364
- color:var(--t-text-color-status-error);
3365
- content:"*";
3366
- }
3367
-
3368
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
3369
- content:none;
3370
- }
3371
-
3372
- .tds-checkbox-group-fields{
3373
- display:flex;
3374
- flex-direction:column;
3375
- gap:var(--tds-checkbox-group-gap);
3376
- align-items:flex-start;
3377
- }
3378
-
3379
- .tds-checkbox-group-description{
3380
- display:flex;
3381
- gap:var(--t-spacing-half);
3382
- align-items:flex-start;
3383
- margin:0;
3384
- font-size:var(--tds-checkbox-group-description-font-size);
3385
- line-height:var(--tds-checkbox-group-description-line-height);
3386
- color:var(--tds-checkbox-group-description-color);
3387
- cursor:text;
3388
- }
3389
-
3390
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
3391
- display:var(--tds-checkbox-group-description-invalid-icon-display);
3392
- flex-shrink:0;
3393
- margin-top:calc(.5lh - .5em);
3394
- line-height:var(--tds-checkbox-group-description-line-height);
3395
- }
3396
-
3397
- .tds-checkbox-group--sm{
3398
- --tds-checkbox-group-line-height:1.35;
3399
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
3400
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
3401
- --tds-checkbox-group-description-line-height:1.3;
3402
- }
3403
-
3404
3326
  .tds-combo-box{
3405
3327
  --tds-combo-box-border-color:var(--t-form-border-color);
3406
3328
  --tds-combo-box-border-color-hover:var(--t-form-border-color-hover);
@@ -3649,39 +3571,187 @@ a[class="tds-btn"]{
3649
3571
  cursor:not-allowed;
3650
3572
  }
3651
3573
 
3652
- .tds-combo-box-list-item[data-disabled][data-hovered]{
3653
- background:transparent;
3574
+ .tds-combo-box-list-item[data-disabled][data-hovered]{
3575
+ background:transparent;
3576
+ }
3577
+
3578
+ .tds-combo-box-list-section:not(:first-child){
3579
+ margin-block-start:var(--t-spacing-half);
3580
+ }
3581
+
3582
+ .tds-combo-box-section-header{
3583
+ padding-block:var(--t-spacing-1);
3584
+ padding-inline:var(--t-spacing-1);
3585
+ font-size:var(--t-font-size-sm);
3586
+ font-weight:var(--t-font-weight-semibold);
3587
+ color:var(--t-text-color-secondary);
3588
+ }
3589
+
3590
+ .tds-combo-box-description{
3591
+ display:flex;
3592
+ gap:var(--t-spacing-half);
3593
+ align-items:flex-start;
3594
+ margin:0;
3595
+ font-size:var(--t-font-size-sm);
3596
+ line-height:1.35;
3597
+ color:var(--tds-combo-box-description-color, var(--t-text-color-secondary));
3598
+ cursor:text;
3599
+ }
3600
+
3601
+ .tds-combo-box-description-invalid-icon{
3602
+ display:var(--tds-combo-box-description-invalid-icon-display, none);
3603
+ flex-shrink:0;
3604
+ margin-block-start:calc(.5lh - .5em);
3605
+ line-height:1.35;
3606
+ }
3607
+
3608
+ .tds-time-field{
3609
+ --tds-time-field-border-color:var(--t-form-border-color);
3610
+ --tds-time-field-border-color-hover:var(--t-form-border-color-hover);
3611
+ --tds-time-field-border-color-active:var(--t-form-border-color-focus);
3612
+ --tds-time-field-background-color:var(--t-form-background-color);
3613
+ --tds-time-field-color:var(--t-form-color);
3614
+ --tds-time-field-placeholder-color:var(--t-form-placeholder-color);
3615
+ --tds-time-field-font-size:var(--t-font-size-md);
3616
+ --tds-time-field-min-height:var(--t-container-size-md);
3617
+ --tds-time-field-padding-block:6px;
3618
+ --tds-time-field-description-color:var(--t-text-color-secondary);
3619
+ --tds-time-field-description-invalid-icon-display:none;
3620
+
3621
+ position:relative;
3622
+ display:flex;
3623
+ flex-direction:column;
3624
+ gap:var(--t-spacing-half);
3625
+ }
3626
+
3627
+ .tds-time-field[data-required] .tds-time-field-label::after{
3628
+ margin-left:.25ch;
3629
+ color:var(--t-text-color-status-error);
3630
+ content:"*";
3631
+ }
3632
+
3633
+ .tds-time-field[data-invalid]{
3634
+ --tds-time-field-border-color:var(--t-form-border-color-error);
3635
+ --tds-time-field-border-color-hover:var(--t-form-border-color-error-hover);
3636
+ --tds-time-field-border-color-active:var(--t-form-border-color-error-hover);
3637
+ --tds-time-field-background-color:var(--t-form-background-color-error);
3638
+ --tds-time-field-description-color:var(--t-text-color-status-error);
3639
+ --tds-time-field-description-invalid-icon-display:inline-block;
3640
+ }
3641
+
3642
+ .tds-time-field[data-disabled]{
3643
+ --tds-time-field-border-color:var(--t-form-border-color-disabled);
3644
+ --tds-time-field-background-color:var(--t-form-background-color-disabled);
3645
+ --tds-time-field-color:var(--t-form-color-disabled);
3646
+ --tds-time-field-placeholder-color:var(--t-form-color-disabled);
3647
+ }
3648
+
3649
+ .tds-time-field[data-disabled] .tds-time-field-label{
3650
+ color:var(--t-form-color-disabled);
3651
+ }
3652
+
3653
+ .tds-time-field[data-disabled] .tds-time-field-input{
3654
+ cursor:not-allowed;
3655
+ }
3656
+
3657
+ .tds-time-field--lg{
3658
+ --tds-time-field-min-height:var(--t-container-size-lg);
3659
+ --tds-time-field-font-size:var(--t-font-size-lg);
3660
+ }
3661
+
3662
+ .tds-time-field-label{
3663
+ font-size:var(--t-font-size-md);
3664
+ font-weight:var(--t-font-weight-normal);
3665
+ color:var(--t-text-color);
3666
+ cursor:default;
3667
+ }
3668
+
3669
+ .tds-time-field-input{
3670
+ display:flex;
3671
+ align-items:center;
3672
+ inline-size:100%;
3673
+ min-block-size:var(--tds-time-field-min-height);
3674
+ padding-block:var(--tds-time-field-padding-block);
3675
+ padding-inline:var(--t-spacing-1);
3676
+ font-family:inherit;
3677
+ font-size:var(--tds-time-field-font-size);
3678
+ font-variant-numeric:tabular-nums;
3679
+ line-height:1;
3680
+ color:var(--tds-time-field-color);
3681
+ cursor:text;
3682
+ outline:var(--t-focus-ring-width) solid transparent;
3683
+ outline-offset:0;
3684
+ background-color:var(--tds-time-field-background-color);
3685
+ border:var(--t-form-border-width) solid var(--tds-time-field-border-color);
3686
+ border-radius:var(--t-form-border-radius);
3687
+ }
3688
+
3689
+ .tds-time-field-input[data-hovered]:not([data-focus-visible],[data-focused],[data-disabled]){
3690
+ border-color:var(--tds-time-field-border-color-hover);
3691
+ }
3692
+
3693
+ .tds-time-field-input[data-focus-within]{
3694
+ outline-color:var(--t-focus-ring-color);
3695
+ outline-offset:var(--t-focus-ring-offset);
3696
+ border-color:var(--tds-time-field-border-color-active);
3697
+ }
3698
+
3699
+ .tds-time-field-input[data-readonly]{
3700
+ color:var(--t-form-color-readonly);
3701
+ background-color:var(--t-form-background-color-readonly);
3702
+ border-color:var(--t-form-border-color-readonly);
3703
+ }
3704
+
3705
+ .tds-time-field-input[data-readonly][data-hovered]{
3706
+ border-color:var(--t-form-border-color-readonly);
3654
3707
  }
3655
3708
 
3656
- .tds-combo-box-list-section:not(:first-child){
3657
- margin-block-start:var(--t-spacing-half);
3709
+ .tds-time-field-input[data-readonly][data-focus-within]{
3710
+ outline-color:var(--t-focus-ring-color);
3711
+ outline-offset:var(--t-focus-ring-offset);
3712
+ border-color:var(--t-form-border-color-hover);
3713
+ }
3714
+
3715
+ .tds-time-field-segment{
3716
+ padding-inline:1px;
3717
+ font-variant-numeric:tabular-nums;
3718
+ cursor:text;
3719
+ caret-color:transparent;
3720
+ border-radius:var(--t-border-radius-sm);
3721
+ }
3722
+
3723
+ .tds-time-field-segment[data-placeholder]{
3724
+ color:var(--tds-time-field-placeholder-color);
3658
3725
  }
3659
3726
 
3660
- .tds-combo-box-section-header{
3661
- padding-block:var(--t-spacing-1);
3662
- padding-inline:var(--t-spacing-1);
3663
- font-size:var(--t-font-size-sm);
3664
- font-weight:var(--t-font-weight-semibold);
3665
- color:var(--t-text-color-secondary);
3727
+ .tds-time-field-segment[data-focused]{
3728
+ color:var(--t-text-color-inverted);
3729
+ outline:0;
3730
+ background:var(--t-fill-color-interaction);
3731
+ }
3732
+
3733
+ .tds-time-field-segment-separator{
3734
+ padding-inline:0;
3735
+ color:var(--tds-time-field-placeholder-color);
3666
3736
  }
3667
3737
 
3668
- .tds-combo-box-description{
3738
+ .tds-time-field-description{
3669
3739
  display:flex;
3670
3740
  gap:var(--t-spacing-half);
3671
3741
  align-items:flex-start;
3672
3742
  margin:0;
3673
3743
  font-size:var(--t-font-size-sm);
3674
3744
  line-height:1.35;
3675
- color:var(--tds-combo-box-description-color, var(--t-text-color-secondary));
3745
+ color:var(--tds-time-field-description-color, var(--t-text-color-secondary));
3676
3746
  cursor:text;
3677
3747
  }
3678
3748
 
3679
- .tds-combo-box-description-invalid-icon{
3680
- display:var(--tds-combo-box-description-invalid-icon-display, none);
3681
- flex-shrink:0;
3682
- margin-block-start:calc(.5lh - .5em);
3683
- line-height:1.35;
3684
- }
3749
+ .tds-time-field-description .tds-time-field-description-invalid-icon{
3750
+ display:var(--tds-time-field-description-invalid-icon-display, none);
3751
+ flex-shrink:0;
3752
+ margin-block-start:calc(.5lh - .5em);
3753
+ line-height:1.35;
3754
+ }
3685
3755
 
3686
3756
  .tds-date-picker{
3687
3757
  --tds-date-picker-border-color:var(--t-form-border-color);
@@ -3844,8 +3914,9 @@ a[class="tds-btn"]{
3844
3914
  }
3845
3915
 
3846
3916
  .tds-date-picker-popover{
3917
+ --tds-date-picker-popover-padding:var(--t-spacing-1-half);
3918
+
3847
3919
  position:relative;
3848
- padding:var(--t-spacing-2);
3849
3920
  overflow:hidden;
3850
3921
  background:var(--t-surface-color-card);
3851
3922
  border:1px solid var(--t-border-color);
@@ -3886,59 +3957,23 @@ a[class="tds-btn"]{
3886
3957
  inset:0;
3887
3958
  z-index:1;
3888
3959
  display:flex;
3889
- flex-direction:column;
3890
- row-gap:var(--t-spacing-1);
3891
- padding:var(--t-spacing-2);
3892
3960
  background:var(--t-surface-color-card);
3893
3961
  }
3894
3962
 
3895
- .tds-date-picker-overlay-header{
3896
- display:flex;
3897
- align-items:center;
3898
- justify-content:center;
3899
- margin-block-end:var(--t-spacing-half);
3900
- }
3901
-
3902
- .tds-date-picker-overlay-close{
3903
- position:absolute;
3904
- right:var(--t-spacing-2);
3905
- display:flex;
3906
- align-items:center;
3907
- justify-content:center;
3908
- inline-size:1.5rem;
3909
- block-size:1.5rem;
3910
- padding:0;
3911
- font-size:1.25rem;
3912
- line-height:1;
3913
- color:var(--t-text-color);
3914
- cursor:default;
3915
- outline:0;
3916
- background:transparent;
3917
- border:0;
3918
- border-radius:var(--t-border-radius-sm);
3919
- }
3920
-
3921
- .tds-date-picker-overlay-close[data-hovered]{
3922
- background:var(--t-fill-color-neutral-070);
3923
- }
3924
-
3925
- .tds-date-picker-overlay-close[data-focus-visible]{
3926
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
3927
- outline-offset:var(--t-focus-ring-offset);
3928
- }
3929
-
3930
- .tds-date-picker-overlay-grid{
3963
+ .tds-date-picker-overlay-list{
3931
3964
  display:grid;
3932
3965
  gap:var(--t-spacing-half);
3966
+ padding-inline:var(--tds-date-picker-popover-padding);
3967
+ outline:0;
3933
3968
  }
3934
3969
 
3935
- .tds-date-picker-overlay--month .tds-date-picker-overlay-grid{
3970
+ .tds-date-picker-overlay--month .tds-date-picker-overlay-list{
3936
3971
  flex:1;
3937
3972
  grid-template-rows:repeat(4, 1fr);
3938
3973
  grid-template-columns:repeat(3, 1fr);
3939
3974
  }
3940
3975
 
3941
- .tds-date-picker-overlay--year .tds-date-picker-overlay-grid{
3976
+ .tds-date-picker-overlay--year .tds-date-picker-overlay-list{
3942
3977
  flex:1;
3943
3978
  grid-template-columns:repeat(4, 1fr);
3944
3979
  grid-auto-rows:3rem;
@@ -3959,16 +3994,16 @@ a[class="tds-btn"]{
3959
3994
  border-radius:var(--t-border-radius-sm);
3960
3995
  }
3961
3996
 
3962
- .tds-date-picker-overlay-cell:hover{
3997
+ .tds-date-picker-overlay-cell[data-hovered]{
3963
3998
  background:var(--t-fill-color-neutral-070);
3964
3999
  }
3965
4000
 
3966
- .tds-date-picker-overlay-cell[aria-selected="true"]{
4001
+ .tds-date-picker-overlay-cell[data-selected]{
3967
4002
  color:var(--t-text-color-inverted);
3968
4003
  background:var(--t-fill-color-interaction);
3969
4004
  }
3970
4005
 
3971
- .tds-date-picker-overlay-cell:focus-visible{
4006
+ .tds-date-picker-overlay-cell[data-focus-visible]{
3972
4007
  outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
3973
4008
  outline-offset:var(--t-focus-ring-offset);
3974
4009
  }
@@ -3978,7 +4013,7 @@ a[class="tds-btn"]{
3978
4013
  flex:1;
3979
4014
  gap:var(--t-spacing-half);
3980
4015
  align-items:center;
3981
- justify-content:center;
4016
+ justify-content:flex-start;
3982
4017
  }
3983
4018
 
3984
4019
  .tds-date-picker-calendar-overlay-trigger{
@@ -4008,11 +4043,17 @@ a[class="tds-btn"]{
4008
4043
  inline-size:fit-content;
4009
4044
  }
4010
4045
 
4046
+ .tds-date-picker-calendar-body{
4047
+ position:relative;
4048
+ padding:var(--tds-date-picker-popover-padding);
4049
+ padding-block-start:0;
4050
+ }
4051
+
4011
4052
  .tds-date-picker-calendar-header{
4012
4053
  display:flex;
4013
4054
  align-items:center;
4014
4055
  justify-content:space-between;
4015
- padding-block-end:var(--t-spacing-1);
4056
+ padding:var(--tds-date-picker-popover-padding);
4016
4057
  }
4017
4058
 
4018
4059
  .tds-date-picker-calendar-title{
@@ -4122,154 +4163,84 @@ a[class="tds-btn"]{
4122
4163
  color:var(--t-text-color-secondary);
4123
4164
  }
4124
4165
 
4125
- .tds-time-field{
4126
- --tds-time-field-border-color:var(--t-form-border-color);
4127
- --tds-time-field-border-color-hover:var(--t-form-border-color-hover);
4128
- --tds-time-field-border-color-active:var(--t-form-border-color-focus);
4129
- --tds-time-field-background-color:var(--t-form-background-color);
4130
- --tds-time-field-color:var(--t-form-color);
4131
- --tds-time-field-placeholder-color:var(--t-form-placeholder-color);
4132
- --tds-time-field-font-size:var(--t-font-size-md);
4133
- --tds-time-field-min-height:var(--t-container-size-md);
4134
- --tds-time-field-padding-block:6px;
4135
- --tds-time-field-description-color:var(--t-text-color-secondary);
4136
- --tds-time-field-description-invalid-icon-display:none;
4166
+ .tds-checkbox-group{
4167
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
4168
+ --tds-checkbox-group-line-height:1.4;
4169
+ --tds-checkbox-group-gap:var(--t-spacing-1);
4137
4170
 
4138
- position:relative;
4171
+ --tds-checkbox-group-legend-margin-bottom:var(--tds-checkbox-group-gap);
4172
+
4173
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
4174
+ --tds-checkbox-group-description-line-height:1.35;
4175
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
4176
+ --tds-checkbox-group-description-invalid-icon-display:none;
4139
4177
  display:flex;
4140
4178
  flex-direction:column;
4141
- gap:var(--t-spacing-half);
4142
- }
4143
-
4144
- .tds-time-field[data-required] .tds-time-field-label::after{
4145
- margin-left:.25ch;
4146
- color:var(--t-text-color-status-error);
4147
- content:"*";
4148
- }
4149
-
4150
- .tds-time-field[data-invalid]{
4151
- --tds-time-field-border-color:var(--t-form-border-color-error);
4152
- --tds-time-field-border-color-hover:var(--t-form-border-color-error-hover);
4153
- --tds-time-field-border-color-active:var(--t-form-border-color-error-hover);
4154
- --tds-time-field-background-color:var(--t-form-background-color-error);
4155
- --tds-time-field-description-color:var(--t-text-color-status-error);
4156
- --tds-time-field-description-invalid-icon-display:inline-block;
4157
- }
4158
-
4159
- .tds-time-field[data-disabled]{
4160
- --tds-time-field-border-color:var(--t-form-border-color-disabled);
4161
- --tds-time-field-background-color:var(--t-form-background-color-disabled);
4162
- --tds-time-field-color:var(--t-form-color-disabled);
4163
- --tds-time-field-placeholder-color:var(--t-form-color-disabled);
4164
- }
4165
-
4166
- .tds-time-field[data-disabled] .tds-time-field-label{
4167
- color:var(--t-form-color-disabled);
4168
- }
4169
-
4170
- .tds-time-field[data-disabled] .tds-time-field-input{
4171
- cursor:not-allowed;
4172
- }
4173
-
4174
- .tds-time-field--lg{
4175
- --tds-time-field-min-height:var(--t-container-size-lg);
4176
- --tds-time-field-font-size:var(--t-font-size-lg);
4177
- }
4178
-
4179
- .tds-time-field-label{
4180
- font-size:var(--t-font-size-md);
4181
- font-weight:var(--t-font-weight-normal);
4182
- color:var(--t-text-color);
4183
- cursor:default;
4184
- }
4179
+ gap:var(--tds-checkbox-group-gap);
4180
+ padding:0;
4181
+ margin:0;
4185
4182
 
4186
- .tds-time-field-input{
4187
- display:flex;
4188
- align-items:center;
4189
- inline-size:100%;
4190
- min-block-size:var(--tds-time-field-min-height);
4191
- padding-block:var(--tds-time-field-padding-block);
4192
- padding-inline:var(--t-spacing-1);
4193
- font-family:inherit;
4194
- font-size:var(--tds-time-field-font-size);
4195
- font-variant-numeric:tabular-nums;
4196
- line-height:1;
4197
- color:var(--tds-time-field-color);
4198
- cursor:text;
4199
- outline:var(--t-focus-ring-width) solid transparent;
4200
- outline-offset:0;
4201
- background-color:var(--tds-time-field-background-color);
4202
- border:var(--t-form-border-width) solid var(--tds-time-field-border-color);
4203
- border-radius:var(--t-form-border-radius);
4183
+ font-size:var(--tds-checkbox-group-font-size);
4184
+ line-height:var(--tds-checkbox-group-line-height);
4185
+ border:0;
4204
4186
  }
4205
4187
 
4206
- .tds-time-field-input[data-hovered]:not([data-focus-visible],[data-focused],[data-disabled]){
4207
- border-color:var(--tds-time-field-border-color-hover);
4188
+ .tds-checkbox-group legend{
4189
+ padding:0;
4190
+ margin-bottom:var(--tds-checkbox-group-legend-margin-bottom);
4208
4191
  }
4209
4192
 
4210
- .tds-time-field-input[data-focus-within]{
4211
- outline-color:var(--t-focus-ring-color);
4212
- outline-offset:var(--t-focus-ring-offset);
4213
- border-color:var(--tds-time-field-border-color-active);
4193
+ .tds-checkbox-group:has(.tds-checkbox-group-description){
4194
+ --tds-checkbox-group-legend-margin-bottom:var(--t-spacing-fourth);
4214
4195
  }
4215
4196
 
4216
- .tds-time-field-input[data-readonly]{
4217
- color:var(--t-form-color-readonly);
4218
- background-color:var(--t-form-background-color-readonly);
4219
- border-color:var(--t-form-border-color-readonly);
4197
+ .tds-checkbox-group[aria-invalid="true"]{
4198
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
4199
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
4220
4200
  }
4221
4201
 
4222
- .tds-time-field-input[data-readonly][data-hovered]{
4223
- border-color:var(--t-form-border-color-readonly);
4202
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
4203
+ margin-left:.25ch;
4204
+ color:var(--t-text-color-status-error);
4205
+ content:"*";
4224
4206
  }
4225
4207
 
4226
- .tds-time-field-input[data-readonly][data-focus-within]{
4227
- outline-color:var(--t-focus-ring-color);
4228
- outline-offset:var(--t-focus-ring-offset);
4229
- border-color:var(--t-form-border-color-hover);
4208
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
4209
+ content:none;
4230
4210
  }
4231
4211
 
4232
- .tds-time-field-segment{
4233
- padding-inline:1px;
4234
- font-variant-numeric:tabular-nums;
4235
- cursor:text;
4236
- caret-color:transparent;
4237
- border-radius:var(--t-border-radius-sm);
4238
- }
4239
-
4240
- .tds-time-field-segment[data-placeholder]{
4241
- color:var(--tds-time-field-placeholder-color);
4242
- }
4243
-
4244
- .tds-time-field-segment[data-focused]{
4245
- color:var(--t-text-color-inverted);
4246
- outline:0;
4247
- background:var(--t-fill-color-interaction);
4248
- }
4249
-
4250
- .tds-time-field-segment-separator{
4251
- padding-inline:0;
4252
- color:var(--tds-time-field-placeholder-color);
4212
+ .tds-checkbox-group-fields{
4213
+ display:flex;
4214
+ flex-direction:column;
4215
+ gap:var(--tds-checkbox-group-gap);
4216
+ align-items:flex-start;
4253
4217
  }
4254
4218
 
4255
- .tds-time-field-description{
4219
+ .tds-checkbox-group-description{
4256
4220
  display:flex;
4257
4221
  gap:var(--t-spacing-half);
4258
4222
  align-items:flex-start;
4259
4223
  margin:0;
4260
- font-size:var(--t-font-size-sm);
4261
- line-height:1.35;
4262
- color:var(--tds-time-field-description-color, var(--t-text-color-secondary));
4224
+ font-size:var(--tds-checkbox-group-description-font-size);
4225
+ line-height:var(--tds-checkbox-group-description-line-height);
4226
+ color:var(--tds-checkbox-group-description-color);
4263
4227
  cursor:text;
4264
4228
  }
4265
4229
 
4266
- .tds-time-field-description .tds-time-field-description-invalid-icon{
4267
- display:var(--tds-time-field-description-invalid-icon-display, none);
4230
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
4231
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
4268
4232
  flex-shrink:0;
4269
- margin-block-start:calc(.5lh - .5em);
4270
- line-height:1.35;
4233
+ margin-top:calc(.5lh - .5em);
4234
+ line-height:var(--tds-checkbox-group-description-line-height);
4271
4235
  }
4272
4236
 
4237
+ .tds-checkbox-group--sm{
4238
+ --tds-checkbox-group-line-height:1.35;
4239
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
4240
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
4241
+ --tds-checkbox-group-description-line-height:1.3;
4242
+ }
4243
+
4273
4244
  .tds-number-stepper{
4274
4245
  --tds-number-stepper-border-color:var(--t-form-border-color);
4275
4246
  --tds-number-stepper-border-color-hover:var(--t-form-border-color-hover);