@planningcenter/tapestry 4.2.0-rc.5 → 4.2.0-rc.7

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.
@@ -677,1185 +677,1325 @@
677
677
  [data-padding-inline-xl="7"]{ padding-inline:var(--t-spacing-7); }
678
678
  }
679
679
 
680
+ .tds-button-group{
681
+ display:inline-flex;
682
+ }
683
+ .tds-button-group > .tds-btn{
684
+ --tds-button-group-item-z-index:1;
680
685
 
681
- @media (prefers-reduced-motion: no-preference){
686
+ position:relative;
687
+ z-index:var(--tds-button-group-item-z-index);
688
+ border-radius:0;
689
+ }
690
+ :is(.tds-button-group > .tds-btn):not(:first-child){
691
+ margin-inline-start:calc(var(--tds-btn-border-width) * -1);
692
+ }
693
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before,:is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
694
+ position:absolute;
695
+ inset-block:calc(var(--tds-btn-border-width) * -1);
696
+ width:var(--tds-btn-border-width);
697
+ pointer-events:none;
698
+ content:"";
699
+ background-color:var(--t-border-color-white);
700
+ }
701
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before{
702
+ inset-inline-start:calc(var(--tds-btn-border-width) * -1);
703
+ }
704
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
705
+ inset-inline-end:calc(var(--tds-btn-border-width) * -1);
706
+ }
707
+ :is(.tds-button-group > .tds-btn):hover{
708
+ --tds-button-group-item-z-index:2;
709
+ }
710
+ :is(.tds-button-group > .tds-btn):focus-visible{
711
+ --tds-button-group-item-z-index:5;
712
+ }
713
+ .tds-button-group > .tds-btn:first-child{
714
+ border-start-start-radius:var(--tds-btn-border-radius);
715
+ border-end-start-radius:var(--tds-btn-border-radius);
716
+ }
717
+ .tds-button-group > .tds-btn:last-child{
718
+ border-start-end-radius:var(--tds-btn-border-radius);
719
+ border-end-end-radius:var(--tds-btn-border-radius);
720
+ }
682
721
 
683
- :root{
684
- interpolate-size:allow-keywords;
722
+ .tds-checkbox{
723
+ --tds-checkbox-font-size:var(--t-font-size-md);
724
+ --tds-checkbox-cursor:pointer;
725
+ --tds-checkbox-line-height:1.4;
726
+ --tds-checkbox-transition-property:background-color, border-color;
727
+
728
+ --tds-checkbox-input-size:var(--t-element-size-md);
729
+ --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
730
+ --tds-checkbox-input-border-color:var(--t-form-border-color);
731
+ --tds-checkbox-input-background-color:var(--t-form-background-color);
732
+
733
+ --tds-checkbox-input-icon:none;
734
+ --tds-checkbox-input-icon-visibility:hidden;
735
+ --tds-checkbox-input-icon-opacity:0;
736
+ --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
737
+
738
+ --tds-checkbox-label-color:var(--t-form-color);
739
+
740
+ --tds-checkbox-description-font-size:var(--t-font-size-sm);
741
+ --tds-checkbox-description-line-height:1.35;
742
+ --tds-checkbox-description-color:var(--t-text-color-secondary);
743
+ --tds-checkbox-description-invalid-icon-display:none;
744
+
745
+ position:relative;
746
+ display:inline-grid;
747
+ grid-template-columns:auto;
748
+ grid-auto-columns:1fr;
749
+ gap:var(--t-spacing-fourth) 0;
750
+ line-height:var(--tds-checkbox-line-height);
751
+ -webkit-user-select:none;
752
+ -moz-user-select:none;
753
+ user-select:none;
685
754
  }
755
+
756
+ .tds-checkbox label{
757
+ grid-area:1 / 2;
758
+ padding-inline-start:var(--t-spacing-1);
759
+ font-size:var(--tds-checkbox-font-size);
760
+ font-weight:var(--t-font-weight-normal);
761
+ color:var(--tds-checkbox-label-color);
762
+ cursor:var(--tds-checkbox-cursor);
686
763
  }
687
764
 
688
- @layer tds-component{
689
- tds-sidenav,
690
- .tds-sidenav{
691
- --tds-sidenav-indent:12px;
692
- --tds-sidenav-item-depth:0;
765
+ .tds-checkbox tds-indeterminate{
766
+ display:flex;
767
+ }
693
768
 
694
- --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
769
+ .tds-checkbox input[type="checkbox"]{
770
+ position:relative;
771
+ width:1em;
772
+ height:1em;
773
+ margin:calc((1lh - 1em) / 2) 0 0;
774
+ font-size:var(--tds-checkbox-font-size);
775
+ line-height:inherit;
776
+ -webkit-appearance:none;
777
+ -moz-appearance:none;
778
+ appearance:none;
779
+ cursor:var(--tds-checkbox-cursor);
780
+ background-color:var(--tds-checkbox-input-background-color);
781
+ border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
782
+ border-radius:var(--tds-checkbox-input-border-radius);
783
+ transition-timing-function:var(--t-ease-in-out);
784
+ transition-duration:var(--t-duration-200);
785
+ transition-property:var(--tds-checkbox-transition-property);
786
+ }
695
787
 
696
- --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;
697
- --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;
698
- --tds-sidenav-collapse-closed-opacity:0;
699
- --tds-sidenav-collapse-open-opacity:1;
700
- --tds-sidenav-collapse-closed-transform:translateY(-8px);
701
- --tds-sidenav-collapse-open-transform:translateY(0);
788
+ :is(.tds-checkbox input[type="checkbox"])::before{
789
+ position:absolute;
790
+ top:50%;
791
+ left:50%;
792
+ visibility:var(--tds-checkbox-input-icon-visibility);
793
+ width:100%;
794
+ height:100%;
795
+ content:"";
796
+ background-color:var(--tds-checkbox-input-icon-fill);
797
+ border-radius:var(--tds-checkbox-input-border-radius);
798
+ opacity:var(--tds-checkbox-input-icon-opacity);
799
+ -webkit-mask-image:var(--tds-checkbox-input-icon);
800
+ mask-image:var(--tds-checkbox-input-icon);
801
+ -webkit-mask-repeat:no-repeat;
802
+ mask-repeat:no-repeat;
803
+ -webkit-mask-size:contain;
804
+ mask-size:contain;
805
+ transform:translate(-50%, -50%);
806
+ }
702
807
 
703
- --tds-sidenav-item-icon-size:var(--t-element-size-md);
704
- --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
705
- --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
706
- --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
808
+ :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
809
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
810
+ --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
811
+ }
707
812
 
708
- --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
709
- --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
710
- --tds-sidenav-item-nested-background-selected:transparent;
813
+ :is(.tds-checkbox input[type="checkbox"]):focus-visible{
814
+ outline:var(--t-focus-ring-outline);
815
+ outline-offset:var(--t-focus-ring-offset);
816
+ }
711
817
 
712
- --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
713
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
714
- --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
818
+ :is(.tds-checkbox input[type="checkbox"]):disabled{
819
+ pointer-events:none;
820
+ }
715
821
 
716
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
717
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
822
+ @media (prefers-reduced-motion: reduce){
823
+
824
+ .tds-checkbox input[type="checkbox"]{
825
+ --tds-checkbox-transition-property:none;
718
826
  }
827
+ }
719
828
 
720
- @media (prefers-reduced-motion: reduce){
721
- tds-sidenav,
722
- .tds-sidenav{
723
- --tds-sidenav-collapse-transition-enter:none;
724
- --tds-sidenav-collapse-transition-exit:none;
725
- --tds-sidenav-collapse-closed-transform:none;
726
- --tds-sidenav-collapse-open-transform:none;
829
+ .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
830
+ --tds-checkbox-input-background-color:var(--t-fill-color-control);
831
+ --tds-checkbox-input-border-color:var(--t-border-color-control-info);
832
+ --tds-checkbox-input-icon-visibility:visible;
833
+ --tds-checkbox-input-icon-opacity:1;
727
834
  }
835
+
836
+ :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
837
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
838
+ --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
728
839
  }
729
840
 
730
- .tds-sidenav--theme-gray{
731
- --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
732
- --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
733
- --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
734
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
735
- --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
841
+ .tds-checkbox:has(input:checked){
842
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
736
843
  }
737
- }
738
844
 
739
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
740
- display:flex;
845
+ .tds-checkbox:has(input:indeterminate){
846
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
741
847
  }
742
848
 
743
- .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
744
- flex-direction:column;
745
- gap:var(--t-spacing-half);
746
- width:100%;
849
+ .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
850
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
851
+ --tds-checkbox-description-color:var(--t-text-color-status-error);
852
+ --tds-checkbox-description-invalid-icon-display:inline-block;
747
853
  }
748
854
 
749
- .tds-sidenav-section-list{
750
- width:100%;
855
+ :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
856
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
857
+ --tds-checkbox-input-background-color:var(--t-form-background-color-error);
858
+ }
859
+
860
+ :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{
861
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
862
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error);
863
+ }
864
+
865
+ :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){
866
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
867
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
868
+ }
869
+
870
+ .tds-checkbox:has(input:required) label::after{
871
+ margin-left:.25ch;
872
+ color:var(--t-text-color-status-error);
873
+ content:"*";
874
+ }
875
+
876
+ .tds-checkbox:has(input:disabled){
877
+ --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
878
+ --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
879
+
880
+ --tds-checkbox-label-color:var(--t-form-color-disabled);
881
+ --tds-checkbox-description-color:var(--t-form-color-disabled);
882
+ --tds-checkbox-cursor:not-allowed;
883
+ }
884
+
885
+ .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
886
+ --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
887
+ }
888
+
889
+ .tds-checkbox-description{
890
+ display:flex;
891
+ grid-area:2 / 2;
892
+ gap:var(--t-spacing-half);
893
+ align-items:flex-start;
894
+ padding-inline-start:var(--t-spacing-1);
895
+ margin:0;
896
+ font-size:var(--tds-checkbox-description-font-size);
897
+ line-height:var(--tds-checkbox-description-line-height);
898
+ color:var(--tds-checkbox-description-color);
899
+ cursor:text;
900
+ }
901
+
902
+ .tds-checkbox-description .tds-checkbox-description-invalid-icon{
903
+ display:var(--tds-checkbox-description-invalid-icon-display);
904
+ flex-shrink:0;
905
+ margin-top:calc(.5lh - .5em);
906
+ line-height:var(--tds-checkbox-description-line-height);
907
+ }
908
+
909
+ .tds-checkbox--sm{
910
+ --tds-checkbox-line-height:1.35;
911
+ --tds-checkbox-input-size:var(--t-element-size-sm);
912
+ --tds-checkbox-font-size:var(--t-font-size-sm);
913
+ --tds-checkbox-description-font-size:var(--t-font-size-xs);
914
+ --tds-checkbox-description-line-height:1.3;
915
+ }
916
+
917
+ .tds-checkbox-group{
918
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
919
+ --tds-checkbox-group-line-height:1.4;
920
+ --tds-checkbox-group-gap:var(--t-spacing-1);
921
+
922
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
923
+ --tds-checkbox-group-description-line-height:1.35;
924
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
925
+ --tds-checkbox-group-description-invalid-icon-display:none;
926
+ display:flex;
927
+ flex-direction:column;
928
+ gap:0;
751
929
  padding:0;
752
930
  margin:0;
753
- list-style:none;
931
+
932
+ font-size:var(--tds-checkbox-group-font-size);
933
+ line-height:var(--tds-checkbox-group-line-height);
934
+ border:0;
935
+ }
936
+
937
+ .tds-checkbox-group legend{
938
+ float:left;
939
+ padding:0;
940
+ margin:0;
941
+ }
942
+
943
+ .tds-checkbox-group[aria-invalid="true"]{
944
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
945
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
946
+ }
947
+
948
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
949
+ margin-left:.25ch;
950
+ color:var(--t-text-color-status-error);
951
+ content:"*";
952
+ }
953
+
954
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
955
+ content:none;
956
+ }
957
+
958
+ .tds-checkbox-group-fields{
959
+ display:flex;
960
+ flex-direction:column;
961
+ gap:var(--tds-checkbox-group-gap);
962
+ align-items:flex-start;
963
+ margin-top:var(--t-spacing-1);
964
+ }
965
+
966
+ .tds-checkbox-group-description{
967
+ display:flex;
968
+ gap:var(--t-spacing-half);
969
+ align-items:flex-start;
970
+ margin:var(--t-spacing-fourth) 0 0;
971
+ font-size:var(--tds-checkbox-group-description-font-size);
972
+ line-height:var(--tds-checkbox-group-description-line-height);
973
+ color:var(--tds-checkbox-group-description-color);
974
+ cursor:text;
975
+ }
976
+
977
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
978
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
979
+ flex-shrink:0;
980
+ margin-top:calc(.5lh - .5em);
981
+ line-height:var(--tds-checkbox-group-description-line-height);
982
+ }
983
+
984
+ .tds-checkbox-group--sm{
985
+ --tds-checkbox-group-line-height:1.35;
986
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
987
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
988
+ --tds-checkbox-group-description-line-height:1.3;
754
989
  }
755
990
 
756
- .tds-sidenav-section-header{
757
- display:flex;
758
- align-items:baseline;
759
- justify-content:space-between;
760
- padding-top:var(--t-spacing-2);
991
+ .tds-modal-overlay{
992
+ --tds-modal-min-margin-block:var(--t-spacing-3);
993
+
994
+ position:fixed;
995
+ inset:0;
996
+ z-index:1000;
997
+ display:grid;
998
+ grid-template-rows:minmax(var(--tds-modal-min-margin-block), 1fr) auto minmax(var(--tds-modal-min-margin-block), 1fr);
999
+ justify-items:center;
1000
+ overflow-y:auto;
1001
+ background:hsl(0 0% 0% / 40%);
761
1002
  }
762
1003
 
763
- .tds-sidenav-section-header h2{
764
- margin:0;
765
- font-size:var(--t-font-size-sm);
766
- font-weight:var(--t-font-weight-semibold);
767
- line-height:1.35;
768
- color:var(--t-text-color-secondary);
769
- text-transform:uppercase;
1004
+ .tds-modal-overlay[data-entering]{
1005
+ animation:tds-modal-overlay-fade var(--t-duration-300) var(--t-ease-out);
770
1006
  }
771
1007
 
772
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
773
- padding-top:0;
1008
+ .tds-modal-overlay[data-exiting]{
1009
+ animation:tds-modal-overlay-fade var(--t-duration-200) var(--t-ease-in) reverse;
774
1010
  }
775
1011
 
776
- .tds-sidenav-section-header [slot="label-actions"]{
777
- display:flex;
778
- gap:var(--t-spacing-half);
779
- align-items:center;
1012
+ @keyframes tds-modal-overlay-fade{
1013
+ from{
1014
+ opacity:0;
780
1015
  }
1016
+ }
781
1017
 
782
- .tds-sidenav-section [slot="section-actions"]{
1018
+ .tds-modal-frame{
1019
+ --tds-modal-width:600px;
1020
+ --tds-modal-edge-margin-inline:var(--t-spacing-3);
783
1021
  display:flex;
784
- gap:12px;
785
- align-items:center;
786
- min-height:42px;
787
- padding:var(--t-spacing-1) 0;
788
- }
789
1022
 
790
- .tds-sidenav-section-list,
791
- .tds-sidenav-item{
792
- width:100%;
793
- padding:0;
794
- margin:0;
1023
+ grid-row:2;
1024
+ justify-content:center;
1025
+ width:min(var(--tds-modal-width), calc(100% - var(--tds-modal-edge-margin-inline) * 2));
795
1026
  }
796
1027
 
797
- .tds-sidenav-item :is(a,button){
798
- position:relative;
799
- display:flex;
800
- gap:12px;
801
- align-items:center;
802
- width:100%;
803
- padding:12px;
804
- overflow:hidden;
805
- font-size:var(--t-font-size-sm);
806
- line-height:18px;
807
- color:var(--t-text-color-headline);
808
- white-space:nowrap;
809
- text-decoration:none;
810
- -webkit-appearance:none;
811
- -moz-appearance:none;
812
- appearance:none;
813
- cursor:pointer;
814
- background-color:var(--tds-sidenav-item-background, transparent);
815
- border:0;
816
- border-radius:var(--t-border-radius);
817
- transition:var(--tds-sidenav-item-transition);
1028
+ .tds-modal-frame[data-entering]{
1029
+ animation:tds-modal-zoom var(--t-duration-300) var(--t-ease-out);
818
1030
  }
819
1031
 
820
- :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
821
- display:block;
822
- flex:1;
823
- overflow:hidden;
824
- text-overflow:ellipsis;
825
- text-align:left;
826
- white-space:nowrap;
827
- }
828
-
829
- :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
830
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
831
- color:var(--t-text-color-headline);
832
- text-decoration:none;
833
- }
834
-
835
- :is(.tds-sidenav-item :is(a,button)):active{
836
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
837
- }
838
-
839
- :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
840
- overflow:hidden;
841
- color:var(--tds-sidenav-item-icon-color);
842
- }
843
-
844
- :is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])),:is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])) svg{
845
- display:block;
846
- width:var(--tds-sidenav-item-icon-size);
847
- height:var(--tds-sidenav-item-icon-size);
848
- }
849
-
850
- :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
851
- --tds-sidenav-indent:19px;
852
- }
1032
+ .tds-modal-frame[data-exiting]{
1033
+ animation:tds-modal-zoom var(--t-duration-200) var(--t-ease-in) reverse;
1034
+ }
853
1035
 
854
- [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
855
- visibility:visible;
856
- block-size:auto;
857
- opacity:1;
858
- }
1036
+ .tds-modal-frame--sm{
1037
+ --tds-modal-width:400px;
1038
+ }
859
1039
 
860
- .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
861
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
862
- --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
1040
+ .tds-modal-frame--lg{
1041
+ --tds-modal-width:800px;
1042
+ }
863
1043
 
864
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
865
- font-weight:var(--t-font-weight-semibold);
866
- }
1044
+ .tds-modal-frame--xl{
1045
+ --tds-modal-width:1000px;
1046
+ }
867
1047
 
868
- .tds-sidenav-item:has(.tds-sidenav-section){
869
- display:flex;
870
- flex-direction:column;
871
- gap:var(--t-spacing-half);
1048
+ @keyframes tds-modal-zoom{
1049
+ from{
1050
+ opacity:0;
1051
+ scale:.96;
872
1052
  }
1053
+ }
873
1054
 
874
- .tds-sidenav-item .tds-sidenav-section-list{
875
- --tds-sidenav-item-depth:1;
876
- gap:0;
1055
+ @media (prefers-reduced-motion: reduce){
1056
+ .tds-modal-overlay[data-entering],
1057
+ .tds-modal-overlay[data-exiting],
1058
+ .tds-modal-frame[data-entering],
1059
+ .tds-modal-frame[data-exiting]{
1060
+ animation:none;
877
1061
  }
1062
+ }
878
1063
 
879
- .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
880
- visibility:hidden;
881
- block-size:0;
882
- overflow-y:clip;
883
- opacity:0;
884
- transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
885
- }
886
-
887
- :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
888
- --tds-sidenav-item-depth:2;
889
- }
1064
+ .tds-modal{
1065
+ display:flex;
1066
+ flex-direction:column;
1067
+ width:100%;
1068
+ padding-block-start:var(--t-spacing-3);
1069
+ padding-inline:0;
1070
+ background:var(--t-surface-color-card);
890
1071
 
891
- :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
892
- min-height:var(--t-element-size-2xl);
893
- padding-block:9px;
894
- padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
895
- line-height:1;
896
- background-color:transparent;
897
- }
1072
+ border:0;
1073
+ border-radius:var(--t-border-radius-lg);
1074
+ box-shadow:0 4px 18px 0 #0003;
1075
+ }
898
1076
 
899
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
900
- position:absolute;
901
- top:0;
902
- bottom:0;
903
- left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
904
- width:2px;
905
- content:"";
906
- background-color:var(--tds-sidenav-item-nested-border-color);
907
- transition:var(--tds-sidenav-item-transition);
908
- }
1077
+ .tds-modal:focus{
1078
+ outline:none;
1079
+ }
909
1080
 
910
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
911
- position:absolute;
912
- inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
913
- z-index:-1;
914
- height:100%;
915
- content:"";
916
- background-color:var(--tds-sidenav-item-nested-background);
917
- border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
918
- transition:var(--tds-sidenav-item-transition);
919
- }
1081
+ .tds-modal-header{
1082
+ display:grid;
1083
+ grid-template-columns:1fr auto;
1084
+ -moz-column-gap:var(--t-spacing-2);
1085
+ column-gap:var(--t-spacing-2);
1086
+ padding-block:0;
1087
+ padding-inline:var(--t-spacing-4);
1088
+ }
920
1089
 
921
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):not(:has(.prefix,.suffix)),:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)) :is(:not(.prefix,.suffix)){
922
- display:block;
923
- text-align:left;
924
- white-space:normal;
925
- }
1090
+ .tds-modal-title{
1091
+ grid-row:1;
1092
+ grid-column:1;
1093
+ margin:0;
1094
+ font-size:var(--t-font-size-2xl);
1095
+ font-weight:var(--t-font-weight-medium);
1096
+ line-height:140%;
1097
+ color:var(--t-text-color-headline);
1098
+ }
926
1099
 
927
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):hover,:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):focus-visible{
928
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
929
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
930
- }
1100
+ .tds-modal-subtitle{
1101
+ grid-row:2;
1102
+ grid-column:1;
1103
+ margin:0;
1104
+ font-size:var(--t-font-size-md);
1105
+ font-weight:var(--t-font-weight-medium);
1106
+ line-height:140%;
1107
+ color:var(--t-text-color-secondary);
1108
+ }
931
1109
 
932
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
933
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
934
- }
1110
+ .tds-modal-close{
1111
+ grid-row:1;
1112
+ grid-column:2;
1113
+ align-self:center;
1114
+ color:var(--t-icon-color-dim);
1115
+ }
935
1116
 
936
- .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
937
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
938
- font-weight:var(--t-font-weight-medium);
939
- }
1117
+ .tds-modal-body{
1118
+ padding-block:var(--t-spacing-3);
1119
+ padding-inline:var(--t-spacing-4);
1120
+ }
940
1121
 
941
- .tds-sidenav-responsive-header{
1122
+ .tds-modal-body--full-width{
1123
+ padding-inline:0;
1124
+ }
1125
+
1126
+ .tds-modal-footer{
942
1127
  display:flex;
943
1128
  gap:var(--t-spacing-2);
944
1129
  align-items:center;
945
- width:100%;
1130
+ justify-content:flex-end;
1131
+ padding-block:var(--t-spacing-3);
1132
+ padding-inline:var(--t-spacing-4);
1133
+ border-top:1px solid var(--t-border-color);
946
1134
  }
947
1135
 
948
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
949
- order:0;
950
- }
1136
+ .tds-modal-footer > [slot="start"]{
1137
+ margin-inline-end:auto;
1138
+ }
951
1139
 
952
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
953
- flex:1;
954
- order:1;
955
- margin:0;
956
- font-size:var(--t-font-size-lg);
957
- font-weight:var(--t-font-weight-medium);
958
- color:var(--t-text-color-headline);
1140
+ @media (min-width: 720px){
1141
+ .tds-modal-overlay{
1142
+ --tds-modal-min-margin-block:0;
959
1143
  }
960
1144
 
961
- @media (max-width: 719px){
962
- .tds-sidenav-collapse{
963
- z-index:10001;
964
- display:none;
965
- max-width:min(448px, calc(100vw - 48px));
966
- padding:0;
967
- margin:12px 0;
968
- position-area:bottom span-right;
969
- overflow:hidden;
970
- outline:0;
1145
+ .tds-modal-footer{
1146
+ position:sticky;
1147
+ bottom:0;
971
1148
  background:var(--t-surface-color-card);
972
- border:0;
973
- border-radius:6px;
974
- box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
975
- opacity:var(--tds-sidenav-collapse-open-opacity);
976
- transform:var(--tds-sidenav-collapse-open-transform);
977
- transition:var(--tds-sidenav-collapse-transition-enter);
978
- will-change:transform;
979
- }
980
-
981
- .tds-sidenav-scroll-container{
982
- --webkit-overflow-scrolling:touch;
983
- display:block;
984
- width:100%;
985
- height:-moz-fit-content;
986
- height:fit-content;
987
- padding:var(--t-spacing-2);
988
- overflow-y:auto;
989
- }
990
-
991
- .tds-sidenav-item :is(a, button) :is(.prefix){
992
- display:none;
1149
+ border-end-start-radius:var(--t-border-radius-lg);
1150
+ border-end-end-radius:var(--t-border-radius-lg);
993
1151
  }
994
- @supports selector(:popover-open){
995
- .tds-sidenav-collapse:popover-open{
996
- display:flex;
997
- }
1152
+ }
998
1153
 
999
- .tds-sidenav-collapse:not(:popover-open){
1000
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1001
- transition:var(--tds-sidenav-collapse-transition-exit);
1002
- }
1003
1154
 
1004
- @starting-style{
1005
- .tds-sidenav-collapse:popover-open{
1006
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1007
- transform:var(--tds-sidenav-collapse-closed-transform);
1008
- }
1009
- }
1010
- }
1011
- @supports not selector(:popover-open){
1012
- .tds-sidenav-collapse.\:popover-open{
1013
- display:flex;
1155
+ :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{
1156
+ -webkit-appearance:none;
1157
+ appearance:none;
1014
1158
  }
1015
1159
 
1016
- .tds-sidenav-collapse:not(.\:popover-open){
1017
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1018
- transition:var(--tds-sidenav-collapse-transition-exit);
1160
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1161
+ inline-size:1em;
1162
+ block-size:2em;
1019
1163
  }
1164
+ @supports (field-sizing: content){
1165
+ .tds-input--auto-width{
1166
+ inline-size:-moz-fit-content;
1167
+ inline-size:fit-content;
1168
+ min-inline-size:min(100%, 122px);
1020
1169
  }
1021
- }
1022
1170
 
1023
- @media (min-width: 720px){
1024
- .tds-sidenav-responsive-header{
1025
- display:none;
1171
+ .tds-input--auto-width input{
1172
+ field-sizing:content;
1173
+ inline-size:auto;
1026
1174
  }
1027
1175
  }
1028
1176
 
1029
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
1030
- display:none;
1031
- }
1177
+ .tds-toggle-switch{
1178
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
1179
+ --tds-toggle-switch-cursor:pointer;
1180
+ --tds-toggle-switch-display:inline-grid;
1181
+ --tds-toggle-switch-line-height:1.4;
1032
1182
 
1033
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1034
- display:block;
1035
- }
1183
+ --tds-toggle-switch-label-color:var(--t-form-color);
1036
1184
 
1037
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1038
- display:flex;
1039
- flex-direction:column;
1040
- }
1185
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
1186
+ --tds-toggle-switch-track-outline:none;
1187
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
1188
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1189
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1041
1190
 
1042
- .tds-checkbox-group{
1043
- --tds-checkbox-group-font-size:var(--t-font-size-md);
1044
- --tds-checkbox-group-line-height:1.4;
1045
- --tds-checkbox-group-gap:var(--t-spacing-1);
1191
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1192
+ --tds-toggle-switch-thumb-transform:translateX(0);
1193
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1046
1194
 
1047
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1048
- --tds-checkbox-group-description-line-height:1.35;
1049
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1050
- --tds-checkbox-group-description-invalid-icon-display:none;
1051
- display:flex;
1052
- flex-direction:column;
1053
- gap:0;
1054
- padding:0;
1055
- margin:0;
1195
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1196
+ --tds-toggle-switch-description-line-height:1.35;
1197
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1198
+ position:relative;
1056
1199
 
1057
- font-size:var(--tds-checkbox-group-font-size);
1058
- line-height:var(--tds-checkbox-group-line-height);
1059
- border:0;
1200
+ display:var(--tds-toggle-switch-display);
1201
+ grid-template-columns:auto;
1202
+ grid-auto-columns:1fr;
1203
+ gap:var(--t-spacing-fourth) 0;
1204
+ -webkit-user-select:none;
1205
+ -moz-user-select:none;
1206
+ user-select:none;
1060
1207
  }
1061
1208
 
1062
- .tds-checkbox-group legend{
1063
- float:left;
1064
- padding:0;
1209
+ .tds-toggle-switch input[type="checkbox"]{
1210
+ position:absolute;
1211
+ width:var(--tds-toggle-switch-track-width);
1212
+ height:var(--tds-toggle-switch-track-height);
1065
1213
  margin:0;
1214
+ -webkit-appearance:none;
1215
+ -moz-appearance:none;
1216
+ appearance:none;
1217
+ cursor:var(--tds-toggle-switch-cursor);
1218
+ outline:var(--tds-toggle-switch-track-outline);
1219
+ outline-offset:var(--t-focus-ring-offset);
1220
+ background-color:transparent;
1221
+ border:0;
1222
+ border-radius:var(--t-border-radius-round);
1066
1223
  }
1067
1224
 
1068
- .tds-checkbox-group[aria-invalid="true"]{
1069
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1070
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
1225
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1226
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1227
+ }
1228
+
1229
+ .tds-toggle-switch label{
1230
+ display:inline-flex;
1231
+ grid-area:1 / 2;
1232
+ padding-inline-start:var(--t-spacing-1);
1233
+ margin-top:-.09375em;
1234
+ font-size:var(--tds-toggle-switch-font-size);
1235
+ font-weight:var(--t-font-weight-normal);
1236
+ line-height:var(--tds-toggle-switch-line-height);
1237
+ color:var(--tds-toggle-switch-label-color);
1238
+ cursor:var(--tds-toggle-switch-cursor);
1071
1239
  }
1072
1240
 
1073
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1074
- margin-left:.25ch;
1075
- color:var(--t-text-color-status-error);
1076
- content:"*";
1077
- }
1241
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1242
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1243
+ }
1078
1244
 
1079
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1080
- content:none;
1245
+ .tds-toggle-switch:has(input:checked){
1246
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1247
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1248
+ }
1249
+
1250
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1251
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1081
1252
  }
1082
1253
 
1083
- .tds-checkbox-group-fields{
1084
- display:flex;
1085
- flex-direction:column;
1086
- gap:var(--tds-checkbox-group-gap);
1087
- align-items:flex-start;
1088
- margin-top:var(--t-spacing-1);
1254
+ .tds-toggle-switch:has(input:disabled){
1255
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1256
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1257
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1258
+ --tds-toggle-switch-cursor:not-allowed;
1259
+ }
1260
+
1261
+ .tds-toggle-switch-track{
1262
+ position:relative;
1263
+ flex-shrink:0;
1264
+ width:var(--tds-toggle-switch-track-width);
1265
+ height:var(--tds-toggle-switch-track-height);
1266
+ background-color:var(--tds-toggle-switch-track-background-color);
1267
+ border-radius:var(--t-border-radius-round);
1268
+ transition:var(--tds-toggle-switch-track-transition);
1089
1269
  }
1090
1270
 
1091
- .tds-checkbox-group-description{
1092
- display:flex;
1093
- gap:var(--t-spacing-half);
1094
- align-items:flex-start;
1095
- margin:var(--t-spacing-fourth) 0 0;
1096
- font-size:var(--tds-checkbox-group-description-font-size);
1097
- line-height:var(--tds-checkbox-group-description-line-height);
1098
- color:var(--tds-checkbox-group-description-color);
1271
+ .tds-toggle-switch-track::before{
1272
+ position:absolute;
1273
+ top:var(--t-spacing-fourth);
1274
+ left:var(--t-spacing-fourth);
1275
+ width:var(--tds-toggle-switch-thumb-size);
1276
+ height:var(--tds-toggle-switch-thumb-size);
1277
+ content:"";
1278
+ background-color:#fff;
1279
+ border-radius:var(--t-border-radius-round);
1280
+ transform:var(--tds-toggle-switch-thumb-transform);
1281
+ transition:var(--tds-toggle-switch-thumb-transition);
1282
+ }
1283
+
1284
+ @media (prefers-reduced-motion: reduce){
1285
+
1286
+ .tds-toggle-switch-track{
1287
+ --tds-toggle-switch-track-transition:none;
1288
+ --tds-toggle-switch-thumb-transition:none;
1289
+ }
1290
+ }
1291
+
1292
+ .tds-toggle-switch-description{
1293
+ display:flex;
1294
+ grid-area:2 / 2;
1295
+ align-items:flex-start;
1296
+ padding-inline-start:var(--t-spacing-1);
1297
+ margin:0;
1298
+ font-size:var(--tds-toggle-switch-description-font-size);
1299
+ line-height:var(--tds-toggle-switch-description-line-height);
1300
+ color:var(--tds-toggle-switch-description-color);
1099
1301
  cursor:text;
1100
1302
  }
1101
1303
 
1102
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1103
- display:var(--tds-checkbox-group-description-invalid-icon-display);
1104
- flex-shrink:0;
1105
- margin-top:calc(.5lh - .5em);
1106
- line-height:var(--tds-checkbox-group-description-line-height);
1107
- }
1304
+ .tds-toggle-switch--sm{
1305
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
1306
+ --tds-toggle-switch-line-height:1.35;
1307
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
1308
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1309
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1310
+ --tds-toggle-switch-description-line-height:1.3;
1311
+ }
1108
1312
 
1109
- .tds-checkbox-group--sm{
1110
- --tds-checkbox-group-line-height:1.35;
1111
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
1112
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1113
- --tds-checkbox-group-description-line-height:1.3;
1313
+ .tds-toggle-switch--hide-label{
1314
+ --tds-toggle-switch-display:inline-flex;
1114
1315
  }
1115
1316
 
1116
- .tds-button-group{
1117
- display:inline-flex;
1317
+ .tds-radio{
1318
+ --tds-radio-font-size:var(--t-font-size-md);
1319
+ --tds-radio-cursor:pointer;
1320
+ --tds-radio-line-height:1.4;
1321
+ --tds-radio-transition-property:border-width;
1322
+
1323
+ --tds-radio-input-size:var(--t-element-size-md);
1324
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
1325
+ --tds-radio-input-border-color:var(--t-form-border-color);
1326
+ --tds-radio-input-border-width:var(--t-form-border-width);
1327
+ --tds-radio-input-background-color:var(--t-form-background-color);
1328
+
1329
+ --tds-radio-label-color:var(--t-form-color);
1330
+
1331
+ --tds-radio-description-font-size:var(--t-font-size-sm);
1332
+ --tds-radio-description-line-height:1.35;
1333
+ --tds-radio-description-color:var(--t-text-color-secondary);
1334
+
1335
+ position:relative;
1336
+ display:inline-grid;
1337
+ grid-template-columns:auto;
1338
+ grid-auto-columns:1fr;
1339
+ gap:var(--t-spacing-fourth) 0;
1340
+ line-height:var(--tds-radio-line-height);
1341
+ -webkit-user-select:none;
1342
+ -moz-user-select:none;
1343
+ user-select:none;
1118
1344
  }
1119
- .tds-button-group > .tds-btn{
1120
- --tds-button-group-item-z-index:1;
1121
1345
 
1122
- position:relative;
1123
- z-index:var(--tds-button-group-item-z-index);
1124
- border-radius:0;
1125
- }
1126
- :is(.tds-button-group > .tds-btn):not(:first-child){
1127
- margin-inline-start:calc(var(--tds-btn-border-width) * -1);
1128
- }
1129
- :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before,:is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
1130
- position:absolute;
1131
- inset-block:calc(var(--tds-btn-border-width) * -1);
1132
- width:var(--tds-btn-border-width);
1133
- pointer-events:none;
1134
- content:"";
1135
- background-color:var(--t-border-color-white);
1136
- }
1137
- :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before{
1138
- inset-inline-start:calc(var(--tds-btn-border-width) * -1);
1139
- }
1140
- :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
1141
- inset-inline-end:calc(var(--tds-btn-border-width) * -1);
1142
- }
1143
- :is(.tds-button-group > .tds-btn):hover{
1144
- --tds-button-group-item-z-index:2;
1145
- }
1146
- :is(.tds-button-group > .tds-btn):focus-visible{
1147
- --tds-button-group-item-z-index:5;
1148
- }
1149
- .tds-button-group > .tds-btn:first-child{
1150
- border-start-start-radius:var(--tds-btn-border-radius);
1151
- border-end-start-radius:var(--tds-btn-border-radius);
1152
- }
1153
- .tds-button-group > .tds-btn:last-child{
1154
- border-start-end-radius:var(--tds-btn-border-radius);
1155
- border-end-end-radius:var(--tds-btn-border-radius);
1346
+ .tds-radio label{
1347
+ grid-area:1 / 2;
1348
+ padding-inline-start:var(--t-spacing-1);
1349
+ font-size:var(--tds-radio-font-size);
1350
+ font-weight:var(--t-font-weight-normal);
1351
+ color:var(--tds-radio-label-color);
1352
+ cursor:var(--tds-radio-cursor);
1156
1353
  }
1157
1354
 
1355
+ .tds-radio input[type="radio"]{
1356
+ position:relative;
1357
+ width:1em;
1358
+ height:1em;
1359
+ margin:calc((1lh - 1em) / 2) 0 0;
1360
+ font-size:var(--tds-radio-font-size);
1361
+ line-height:inherit;
1362
+ -webkit-appearance:none;
1363
+ -moz-appearance:none;
1364
+ appearance:none;
1365
+ cursor:var(--tds-radio-cursor);
1366
+ background-color:var(--tds-radio-input-background-color);
1367
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1368
+ border-radius:var(--tds-radio-input-border-radius);
1369
+ transition-timing-function:var(--t-ease-in-out);
1370
+ transition-duration:var(--t-duration-200);
1371
+ transition-property:var(--tds-radio-transition-property);
1372
+ }
1158
1373
 
1159
- :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{
1160
- -webkit-appearance:none;
1161
- appearance:none;
1374
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1375
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1376
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1162
1377
  }
1163
1378
 
1164
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1165
- inline-size:1em;
1166
- block-size:2em;
1379
+ :is(.tds-radio input[type="radio"]):focus-visible{
1380
+ outline:var(--t-focus-ring-outline);
1381
+ outline-offset:var(--t-focus-ring-offset);
1167
1382
  }
1168
- @supports (field-sizing: content){
1169
- .tds-input--auto-width{
1170
- inline-size:-moz-fit-content;
1171
- inline-size:fit-content;
1172
- min-inline-size:min(100%, 122px);
1173
- }
1174
-
1175
- .tds-input--auto-width input{
1176
- field-sizing:content;
1177
- inline-size:auto;
1178
- }
1179
- }
1180
1383
 
1181
- .tds-modal-overlay{
1182
- --tds-modal-min-margin-block:var(--t-spacing-3);
1384
+ :is(.tds-radio input[type="radio"]):disabled{
1385
+ pointer-events:none;
1386
+ }
1183
1387
 
1184
- position:fixed;
1185
- inset:0;
1186
- z-index:1000;
1187
- display:grid;
1188
- grid-template-rows:minmax(var(--tds-modal-min-margin-block), 1fr) auto minmax(var(--tds-modal-min-margin-block), 1fr);
1189
- justify-items:center;
1190
- overflow-y:auto;
1191
- background:hsl(0 0% 0% / 40%);
1192
- }
1388
+ @media (prefers-reduced-motion: reduce){
1193
1389
 
1194
- .tds-modal-overlay[data-entering]{
1195
- animation:tds-modal-overlay-fade var(--t-duration-300) var(--t-ease-out);
1390
+ .tds-radio input[type="radio"]{
1391
+ --tds-radio-transition-property:none;
1196
1392
  }
1393
+ }
1197
1394
 
1198
- .tds-modal-overlay[data-exiting]{
1199
- animation:tds-modal-overlay-fade var(--t-duration-200) var(--t-ease-in) reverse;
1395
+ .tds-radio:has(input:checked){
1396
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
1397
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
1398
+ --tds-radio-input-border-width:4px;
1200
1399
  }
1201
1400
 
1202
- @keyframes tds-modal-overlay-fade{
1203
- from{
1204
- opacity:0;
1205
- }
1206
- }
1401
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
1402
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
1403
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1404
+ }
1207
1405
 
1208
- .tds-modal-frame{
1209
- --tds-modal-width:600px;
1210
- --tds-modal-edge-margin-inline:var(--t-spacing-3);
1211
- display:flex;
1406
+ .tds-radio:has(input:user-invalid){
1407
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1408
+ }
1212
1409
 
1213
- grid-row:2;
1214
- justify-content:center;
1215
- width:min(var(--tds-modal-width), calc(100% - var(--tds-modal-edge-margin-inline) * 2));
1216
- }
1410
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1411
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1412
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1413
+ }
1217
1414
 
1218
- .tds-modal-frame[data-entering]{
1219
- animation:tds-modal-zoom var(--t-duration-300) var(--t-ease-out);
1220
- }
1415
+ .tds-radio:has(input:disabled){
1416
+ --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1417
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1221
1418
 
1222
- .tds-modal-frame[data-exiting]{
1223
- animation:tds-modal-zoom var(--t-duration-200) var(--t-ease-in) reverse;
1419
+ --tds-radio-label-color:var(--t-form-color-disabled);
1420
+ --tds-radio-description-color:var(--t-form-color-disabled);
1421
+ --tds-radio-cursor:not-allowed;
1224
1422
  }
1225
1423
 
1226
- .tds-modal-frame--sm{
1227
- --tds-modal-width:400px;
1228
- }
1229
-
1230
- .tds-modal-frame--lg{
1231
- --tds-modal-width:800px;
1232
- }
1424
+ .tds-radio:has(input:disabled) input:checked{
1425
+ --tds-radio-input-background-color:var(--t-form-background-color);
1426
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1427
+ }
1233
1428
 
1234
- .tds-modal-frame--xl{
1235
- --tds-modal-width:1000px;
1429
+ .tds-radio-description{
1430
+ display:flex;
1431
+ grid-area:2 / 2;
1432
+ gap:var(--t-spacing-half);
1433
+ align-items:flex-start;
1434
+ padding-inline-start:var(--t-spacing-1);
1435
+ margin:0;
1436
+ font-size:var(--tds-radio-description-font-size);
1437
+ line-height:var(--tds-radio-description-line-height);
1438
+ color:var(--tds-radio-description-color);
1439
+ cursor:text;
1236
1440
  }
1237
1441
 
1238
- @keyframes tds-modal-zoom{
1239
- from{
1240
- opacity:0;
1241
- scale:.96;
1242
- }
1442
+ .tds-radio--sm{
1443
+ --tds-radio-line-height:1.35;
1444
+ --tds-radio-input-size:var(--t-element-size-sm);
1445
+ --tds-radio-font-size:var(--t-font-size-sm);
1446
+ --tds-radio-description-font-size:var(--t-font-size-xs);
1447
+ --tds-radio-description-line-height:1.3;
1243
1448
  }
1244
1449
 
1245
- @media (prefers-reduced-motion: reduce){
1246
- .tds-modal-overlay[data-entering],
1247
- .tds-modal-overlay[data-exiting],
1248
- .tds-modal-frame[data-entering],
1249
- .tds-modal-frame[data-exiting]{
1250
- animation:none;
1251
- }
1252
- }
1450
+ .tds-radio-group{
1451
+ --tds-radio-group-font-size:var(--t-font-size-md);
1452
+ --tds-radio-group-line-height:1.4;
1453
+ --tds-radio-group-gap:var(--t-spacing-1);
1253
1454
 
1254
- .tds-modal{
1455
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
1456
+ --tds-radio-group-description-line-height:1.35;
1457
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
1458
+ --tds-radio-group-description-invalid-icon-display:none;
1255
1459
  display:flex;
1256
1460
  flex-direction:column;
1257
- width:100%;
1258
- padding-block-start:var(--t-spacing-3);
1259
- padding-inline:0;
1260
- background:var(--t-surface-color-card);
1461
+ gap:0;
1462
+ padding:0;
1463
+ margin:0;
1261
1464
 
1465
+ font-size:var(--tds-radio-group-font-size);
1466
+ line-height:var(--tds-radio-group-line-height);
1262
1467
  border:0;
1263
- border-radius:var(--t-border-radius-lg);
1264
- box-shadow:0 4px 18px 0 #0003;
1265
1468
  }
1266
1469
 
1267
- .tds-modal:focus{
1268
- outline:none;
1470
+ .tds-radio-group legend{
1471
+ float:left;
1472
+ padding:0;
1473
+ margin:0;
1269
1474
  }
1270
1475
 
1271
- .tds-modal-header{
1272
- display:grid;
1273
- grid-template-columns:1fr auto;
1274
- -moz-column-gap:var(--t-spacing-2);
1275
- column-gap:var(--t-spacing-2);
1276
- padding-block:0;
1277
- padding-inline:var(--t-spacing-4);
1278
- }
1279
-
1280
- .tds-modal-title{
1281
- grid-row:1;
1282
- grid-column:1;
1283
- margin:0;
1284
- font-size:var(--t-font-size-2xl);
1285
- font-weight:var(--t-font-weight-medium);
1286
- line-height:140%;
1287
- color:var(--t-text-color-headline);
1288
- }
1476
+ .tds-radio-group[aria-invalid="true"]{
1477
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
1478
+ --tds-radio-group-description-invalid-icon-display:inline-block;
1479
+ }
1289
1480
 
1290
- .tds-modal-subtitle{
1291
- grid-row:2;
1292
- grid-column:1;
1293
- margin:0;
1294
- font-size:var(--t-font-size-md);
1295
- font-weight:var(--t-font-weight-medium);
1296
- line-height:140%;
1297
- color:var(--t-text-color-secondary);
1298
- }
1481
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
1482
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1483
+ }
1299
1484
 
1300
- .tds-modal-close{
1301
- grid-row:1;
1302
- grid-column:2;
1303
- align-self:center;
1304
- color:var(--t-icon-color-dim);
1305
- }
1485
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1486
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1487
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1488
+ }
1306
1489
 
1307
- .tds-modal-body{
1308
- padding-block:var(--t-spacing-3);
1309
- padding-inline:var(--t-spacing-4);
1310
- }
1490
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1491
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
1492
+ }
1311
1493
 
1312
- .tds-modal-body--full-width{
1313
- padding-inline:0;
1314
- }
1494
+ .tds-radio-group:has(input:required) legend::after{
1495
+ margin-left:.25ch;
1496
+ color:var(--t-text-color-status-error);
1497
+ content:"*";
1498
+ }
1315
1499
 
1316
- .tds-modal-footer{
1500
+ .tds-radio-group-fields{
1317
1501
  display:flex;
1318
- gap:var(--t-spacing-2);
1319
- align-items:center;
1320
- justify-content:flex-end;
1321
- padding-block:var(--t-spacing-3);
1322
- padding-inline:var(--t-spacing-4);
1323
- border-top:1px solid var(--t-border-color);
1502
+ flex-direction:column;
1503
+ gap:var(--tds-radio-group-gap);
1504
+ align-items:flex-start;
1505
+ margin-top:var(--t-spacing-1);
1324
1506
  }
1325
1507
 
1326
- .tds-modal-footer > [slot="start"]{
1327
- margin-inline-end:auto;
1508
+ .tds-radio-group-description{
1509
+ display:flex;
1510
+ gap:var(--t-spacing-half);
1511
+ align-items:flex-start;
1512
+ margin:var(--t-spacing-fourth) 0 0;
1513
+ font-size:var(--tds-radio-group-description-font-size);
1514
+ line-height:var(--tds-radio-group-description-line-height);
1515
+ color:var(--tds-radio-group-description-color);
1516
+ cursor:text;
1328
1517
  }
1329
1518
 
1330
- @media (min-width: 720px){
1331
- .tds-modal-overlay{
1332
- --tds-modal-min-margin-block:0;
1519
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1520
+ display:var(--tds-radio-group-description-invalid-icon-display);
1521
+ flex-shrink:0;
1522
+ margin-top:calc(.5lh - .5em);
1523
+ line-height:var(--tds-radio-group-description-line-height);
1333
1524
  }
1334
1525
 
1335
- .tds-modal-footer{
1336
- position:sticky;
1337
- bottom:0;
1338
- background:var(--t-surface-color-card);
1339
- border-end-start-radius:var(--t-border-radius-lg);
1340
- border-end-end-radius:var(--t-border-radius-lg);
1341
- }
1526
+ .tds-radio-group--sm{
1527
+ --tds-radio-group-line-height:1.35;
1528
+ --tds-radio-group-font-size:var(--t-font-size-sm);
1529
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
1530
+ --tds-radio-group-description-line-height:1.3;
1342
1531
  }
1343
1532
 
1344
- .tds-checkbox{
1345
- --tds-checkbox-font-size:var(--t-font-size-md);
1346
- --tds-checkbox-cursor:pointer;
1347
- --tds-checkbox-line-height:1.4;
1348
- --tds-checkbox-transition-property:background-color, border-color;
1533
+ .tds-input:has(textarea){
1534
+ --tds-input-padding-block:6px;
1535
+ --tds-input-resizer-size:var(--t-element-size-sm);
1536
+ --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");
1537
+ }
1349
1538
 
1350
- --tds-checkbox-input-size:var(--t-element-size-md);
1351
- --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
1352
- --tds-checkbox-input-border-color:var(--t-form-border-color);
1353
- --tds-checkbox-input-background-color:var(--t-form-background-color);
1539
+ @supports (x: attr(x type(*))){
1354
1540
 
1355
- --tds-checkbox-input-icon:none;
1356
- --tds-checkbox-input-icon-visibility:hidden;
1357
- --tds-checkbox-input-icon-opacity:0;
1358
- --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
1541
+ .tds-input textarea{
1542
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1543
+ }
1544
+ }
1359
1545
 
1360
- --tds-checkbox-label-color:var(--t-form-color);
1546
+ .tds-input.tds-textarea--resize-vertical textarea{
1547
+ resize:vertical;
1548
+ }
1361
1549
 
1362
- --tds-checkbox-description-font-size:var(--t-font-size-sm);
1363
- --tds-checkbox-description-line-height:1.35;
1364
- --tds-checkbox-description-color:var(--t-text-color-secondary);
1365
- --tds-checkbox-description-invalid-icon-display:none;
1550
+ .tds-input.tds-textarea--resize-none textarea{
1551
+ resize:none;
1552
+ }
1366
1553
 
1367
- position:relative;
1368
- display:inline-grid;
1369
- grid-template-columns:auto;
1370
- grid-auto-columns:1fr;
1371
- gap:var(--t-spacing-fourth) 0;
1372
- line-height:var(--tds-checkbox-line-height);
1373
- -webkit-user-select:none;
1374
- -moz-user-select:none;
1375
- user-select:none;
1554
+ .tds-input.tds-textarea--resize-auto textarea{
1555
+ resize:vertical;
1556
+ }
1557
+
1558
+ @supports (field-sizing: content){
1559
+ .tds-input.tds-textarea--resize-auto textarea{
1560
+ field-sizing:content;
1561
+ resize:none;
1562
+ }
1563
+ }
1564
+
1565
+ .tds-input textarea{
1566
+ --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1567
+ --tds-input-scrollbar-thumb-color-hidden:transparent;
1568
+ --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1569
+ --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1570
+ --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1571
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1572
+ --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1573
+ --tds-input-scrollbar-thumb-border-radius:999px;
1574
+ --tds-input-scrollbar-thumb-border-width:3px;
1575
+ --tds-input-scrollbar-track-margin-block:.125rem;
1576
+ scrollbar-color:initial;
1577
+ transition-timing-function:var(--t-ease-in-out);
1578
+ transition-duration:var(--t-duration-200);
1579
+ transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1376
1580
  }
1377
1581
 
1378
- .tds-checkbox label{
1379
- grid-area:1 / 2;
1380
- padding-inline-start:var(--t-spacing-1);
1381
- font-size:var(--tds-checkbox-font-size);
1382
- font-weight:var(--t-font-weight-normal);
1383
- color:var(--tds-checkbox-label-color);
1384
- cursor:var(--tds-checkbox-cursor);
1385
- }
1582
+ @media (pointer: fine){
1583
+ :is(.tds-input textarea)::-webkit-scrollbar{
1584
+ width:12px;
1585
+ height:12px;
1586
+ cursor:default;
1587
+ }
1386
1588
 
1387
- .tds-checkbox tds-indeterminate{
1388
- display:flex;
1389
- }
1589
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1590
+ cursor:default;
1591
+ background:var(--tds-input-scrollbar-thumb-color);
1592
+ background-clip:content-box;
1593
+ border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1594
+ border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1595
+ }
1390
1596
 
1391
- .tds-checkbox input[type="checkbox"]{
1392
- position:relative;
1393
- width:1em;
1394
- height:1em;
1395
- margin:calc((1lh - 1em) / 2) 0 0;
1396
- font-size:var(--tds-checkbox-font-size);
1397
- line-height:inherit;
1398
- -webkit-appearance:none;
1399
- -moz-appearance:none;
1400
- appearance:none;
1401
- cursor:var(--tds-checkbox-cursor);
1402
- background-color:var(--tds-checkbox-input-background-color);
1403
- border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
1404
- border-radius:var(--tds-checkbox-input-border-radius);
1405
- transition-timing-function:var(--t-ease-in-out);
1406
- transition-duration:var(--t-duration-200);
1407
- transition-property:var(--tds-checkbox-transition-property);
1408
- }
1597
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1598
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
1599
+ }
1409
1600
 
1410
- :is(.tds-checkbox input[type="checkbox"])::before{
1411
- position:absolute;
1412
- top:50%;
1413
- left:50%;
1414
- visibility:var(--tds-checkbox-input-icon-visibility);
1415
- width:100%;
1416
- height:100%;
1417
- content:"";
1418
- background-color:var(--tds-checkbox-input-icon-fill);
1419
- border-radius:var(--tds-checkbox-input-border-radius);
1420
- opacity:var(--tds-checkbox-input-icon-opacity);
1421
- -webkit-mask-image:var(--tds-checkbox-input-icon);
1422
- mask-image:var(--tds-checkbox-input-icon);
1423
- -webkit-mask-repeat:no-repeat;
1424
- mask-repeat:no-repeat;
1425
- -webkit-mask-size:contain;
1426
- mask-size:contain;
1427
- transform:translate(-50%, -50%);
1601
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1602
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1603
+ }
1604
+
1605
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1606
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1428
1607
  }
1429
1608
 
1430
- :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
1431
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
1432
- --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1609
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
1610
+ background:var(--tds-input-scrollbar-surface-color);
1433
1611
  }
1434
1612
 
1435
- :is(.tds-checkbox input[type="checkbox"]):focus-visible{
1436
- outline:var(--t-focus-ring-outline);
1437
- outline-offset:var(--t-focus-ring-offset);
1613
+ :is(.tds-input textarea)::-webkit-resizer{
1614
+ background:var(--tds-input-resizer-icon) no-repeat;
1615
+ background-position:right bottom;
1616
+ background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
1438
1617
  }
1439
1618
 
1440
- :is(.tds-checkbox input[type="checkbox"]):disabled{
1441
- pointer-events:none;
1619
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
1620
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
1621
+ cursor:default;
1442
1622
  }
1443
1623
 
1444
- @media (prefers-reduced-motion: reduce){
1624
+ @supports (-moz-appearance: none){
1625
+ :is(.tds-input textarea){
1626
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1627
+ scrollbar-width:thin;
1628
+ }
1445
1629
 
1446
- .tds-checkbox input[type="checkbox"]{
1447
- --tds-checkbox-transition-property:none;
1448
- }
1630
+ @media (hover){
1631
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1632
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1633
+ }
1634
+ }
1449
1635
  }
1450
-
1451
- .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
1452
- --tds-checkbox-input-background-color:var(--t-fill-color-control);
1453
- --tds-checkbox-input-border-color:var(--t-border-color-control-info);
1454
- --tds-checkbox-input-icon-visibility:visible;
1455
- --tds-checkbox-input-icon-opacity:1;
1456
1636
  }
1457
1637
 
1458
- :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
1459
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
1460
- --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
1461
- }
1462
1638
 
1463
- .tds-checkbox:has(input:checked){
1464
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1465
- }
1639
+ @media (prefers-reduced-motion: no-preference){
1466
1640
 
1467
- .tds-checkbox:has(input:indeterminate){
1468
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1641
+ :root{
1642
+ interpolate-size:allow-keywords;
1643
+ }
1469
1644
  }
1470
1645
 
1471
- .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
1472
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1473
- --tds-checkbox-description-color:var(--t-text-color-status-error);
1474
- --tds-checkbox-description-invalid-icon-display:inline-block;
1475
- }
1646
+ @layer tds-component{
1647
+ tds-sidenav,
1648
+ .tds-sidenav{
1649
+ --tds-sidenav-indent:12px;
1650
+ --tds-sidenav-item-depth:0;
1476
1651
 
1477
- :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
1478
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1479
- --tds-checkbox-input-background-color:var(--t-form-background-color-error);
1480
- }
1652
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
1481
1653
 
1482
- :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{
1483
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1484
- --tds-checkbox-input-background-color:var(--t-form-border-color-error);
1485
- }
1654
+ --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;
1655
+ --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;
1656
+ --tds-sidenav-collapse-closed-opacity:0;
1657
+ --tds-sidenav-collapse-open-opacity:1;
1658
+ --tds-sidenav-collapse-closed-transform:translateY(-8px);
1659
+ --tds-sidenav-collapse-open-transform:translateY(0);
1486
1660
 
1487
- :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){
1488
- --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
1489
- --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
1490
- }
1661
+ --tds-sidenav-item-icon-size:var(--t-element-size-md);
1662
+ --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
1663
+ --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
1664
+ --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
1491
1665
 
1492
- .tds-checkbox:has(input:required) label::after{
1493
- margin-left:.25ch;
1494
- color:var(--t-text-color-status-error);
1495
- content:"*";
1496
- }
1666
+ --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
1667
+ --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
1668
+ --tds-sidenav-item-nested-background-selected:transparent;
1497
1669
 
1498
- .tds-checkbox:has(input:disabled){
1499
- --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
1500
- --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
1670
+ --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
1671
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1672
+ --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
1501
1673
 
1502
- --tds-checkbox-label-color:var(--t-form-color-disabled);
1503
- --tds-checkbox-description-color:var(--t-form-color-disabled);
1504
- --tds-checkbox-cursor:not-allowed;
1674
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
1675
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
1505
1676
  }
1506
1677
 
1507
- .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
1508
- --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
1678
+ @media (prefers-reduced-motion: reduce){
1679
+ tds-sidenav,
1680
+ .tds-sidenav{
1681
+ --tds-sidenav-collapse-transition-enter:none;
1682
+ --tds-sidenav-collapse-transition-exit:none;
1683
+ --tds-sidenav-collapse-closed-transform:none;
1684
+ --tds-sidenav-collapse-open-transform:none;
1685
+ }
1509
1686
  }
1510
1687
 
1511
- .tds-checkbox-description{
1512
- display:flex;
1513
- grid-area:2 / 2;
1514
- gap:var(--t-spacing-half);
1515
- align-items:flex-start;
1516
- padding-inline-start:var(--t-spacing-1);
1517
- margin:0;
1518
- font-size:var(--tds-checkbox-description-font-size);
1519
- line-height:var(--tds-checkbox-description-line-height);
1520
- color:var(--tds-checkbox-description-color);
1521
- cursor:text;
1688
+ .tds-sidenav--theme-gray{
1689
+ --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
1690
+ --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
1691
+ --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
1692
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1693
+ --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
1694
+ }
1522
1695
  }
1523
1696
 
1524
- .tds-checkbox-description .tds-checkbox-description-invalid-icon{
1525
- display:var(--tds-checkbox-description-invalid-icon-display);
1526
- flex-shrink:0;
1527
- margin-top:calc(.5lh - .5em);
1528
- line-height:var(--tds-checkbox-description-line-height);
1697
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
1698
+ display:flex;
1529
1699
  }
1530
1700
 
1531
- .tds-checkbox--sm{
1532
- --tds-checkbox-line-height:1.35;
1533
- --tds-checkbox-input-size:var(--t-element-size-sm);
1534
- --tds-checkbox-font-size:var(--t-font-size-sm);
1535
- --tds-checkbox-description-font-size:var(--t-font-size-xs);
1536
- --tds-checkbox-description-line-height:1.3;
1701
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
1702
+ flex-direction:column;
1703
+ gap:var(--t-spacing-half);
1704
+ width:100%;
1705
+ }
1706
+
1707
+ .tds-sidenav-section-list{
1708
+ width:100%;
1709
+ padding:0;
1710
+ margin:0;
1711
+ list-style:none;
1537
1712
  }
1538
1713
 
1539
- .tds-radio{
1540
- --tds-radio-font-size:var(--t-font-size-md);
1541
- --tds-radio-cursor:pointer;
1542
- --tds-radio-line-height:1.4;
1543
- --tds-radio-transition-property:border-width;
1714
+ .tds-sidenav-section-header{
1715
+ display:flex;
1716
+ align-items:baseline;
1717
+ justify-content:space-between;
1718
+ padding-top:var(--t-spacing-2);
1719
+ }
1544
1720
 
1545
- --tds-radio-input-size:var(--t-element-size-md);
1546
- --tds-radio-input-border-radius:var(--t-border-radius-round);
1547
- --tds-radio-input-border-color:var(--t-form-border-color);
1548
- --tds-radio-input-border-width:var(--t-form-border-width);
1549
- --tds-radio-input-background-color:var(--t-form-background-color);
1721
+ .tds-sidenav-section-header h2{
1722
+ margin:0;
1723
+ font-size:var(--t-font-size-sm);
1724
+ font-weight:var(--t-font-weight-semibold);
1725
+ line-height:1.35;
1726
+ color:var(--t-text-color-secondary);
1727
+ text-transform:uppercase;
1728
+ }
1550
1729
 
1551
- --tds-radio-label-color:var(--t-form-color);
1730
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
1731
+ padding-top:0;
1732
+ }
1552
1733
 
1553
- --tds-radio-description-font-size:var(--t-font-size-sm);
1554
- --tds-radio-description-line-height:1.35;
1555
- --tds-radio-description-color:var(--t-text-color-secondary);
1734
+ .tds-sidenav-section-header [slot="label-actions"]{
1735
+ display:flex;
1736
+ gap:var(--t-spacing-half);
1737
+ align-items:center;
1738
+ }
1556
1739
 
1557
- position:relative;
1558
- display:inline-grid;
1559
- grid-template-columns:auto;
1560
- grid-auto-columns:1fr;
1561
- gap:var(--t-spacing-fourth) 0;
1562
- line-height:var(--tds-radio-line-height);
1563
- -webkit-user-select:none;
1564
- -moz-user-select:none;
1565
- user-select:none;
1740
+ .tds-sidenav-section [slot="section-actions"]{
1741
+ display:flex;
1742
+ gap:12px;
1743
+ align-items:center;
1744
+ min-height:42px;
1745
+ padding:var(--t-spacing-1) 0;
1566
1746
  }
1567
1747
 
1568
- .tds-radio label{
1569
- grid-area:1 / 2;
1570
- padding-inline-start:var(--t-spacing-1);
1571
- font-size:var(--tds-radio-font-size);
1572
- font-weight:var(--t-font-weight-normal);
1573
- color:var(--tds-radio-label-color);
1574
- cursor:var(--tds-radio-cursor);
1575
- }
1748
+ .tds-sidenav-section-list,
1749
+ .tds-sidenav-item{
1750
+ width:100%;
1751
+ padding:0;
1752
+ margin:0;
1753
+ }
1576
1754
 
1577
- .tds-radio input[type="radio"]{
1755
+ .tds-sidenav-item :is(a,button){
1578
1756
  position:relative;
1579
- width:1em;
1580
- height:1em;
1581
- margin:calc((1lh - 1em) / 2) 0 0;
1582
- font-size:var(--tds-radio-font-size);
1583
- line-height:inherit;
1757
+ display:flex;
1758
+ gap:12px;
1759
+ align-items:center;
1760
+ width:100%;
1761
+ padding:12px;
1762
+ overflow:hidden;
1763
+ font-size:var(--t-font-size-sm);
1764
+ line-height:18px;
1765
+ color:var(--t-text-color-headline);
1766
+ white-space:nowrap;
1767
+ text-decoration:none;
1584
1768
  -webkit-appearance:none;
1585
1769
  -moz-appearance:none;
1586
1770
  appearance:none;
1587
- cursor:var(--tds-radio-cursor);
1588
- background-color:var(--tds-radio-input-background-color);
1589
- border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1590
- border-radius:var(--tds-radio-input-border-radius);
1591
- transition-timing-function:var(--t-ease-in-out);
1592
- transition-duration:var(--t-duration-200);
1593
- transition-property:var(--tds-radio-transition-property);
1594
- }
1595
-
1596
- :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1597
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1598
- --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1599
- }
1771
+ cursor:pointer;
1772
+ background-color:var(--tds-sidenav-item-background, transparent);
1773
+ border:0;
1774
+ border-radius:var(--t-border-radius);
1775
+ transition:var(--tds-sidenav-item-transition);
1776
+ }
1600
1777
 
1601
- :is(.tds-radio input[type="radio"]):focus-visible{
1602
- outline:var(--t-focus-ring-outline);
1603
- outline-offset:var(--t-focus-ring-offset);
1778
+ :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
1779
+ display:block;
1780
+ flex:1;
1781
+ overflow:hidden;
1782
+ text-overflow:ellipsis;
1783
+ text-align:left;
1784
+ white-space:nowrap;
1604
1785
  }
1605
1786
 
1606
- :is(.tds-radio input[type="radio"]):disabled{
1607
- pointer-events:none;
1787
+ :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
1788
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
1789
+ color:var(--t-text-color-headline);
1790
+ text-decoration:none;
1608
1791
  }
1609
1792
 
1610
- @media (prefers-reduced-motion: reduce){
1793
+ :is(.tds-sidenav-item :is(a,button)):active{
1794
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
1795
+ }
1611
1796
 
1612
- .tds-radio input[type="radio"]{
1613
- --tds-radio-transition-property:none;
1614
- }
1797
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
1798
+ overflow:hidden;
1799
+ color:var(--tds-sidenav-item-icon-color);
1615
1800
  }
1616
1801
 
1617
- .tds-radio:has(input:checked){
1618
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1619
- --tds-radio-input-border-color:var(--t-border-color-control-info);
1620
- --tds-radio-input-border-width:4px;
1621
- }
1802
+ :is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])),:is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])) svg{
1803
+ display:block;
1804
+ width:var(--tds-sidenav-item-icon-size);
1805
+ height:var(--tds-sidenav-item-icon-size);
1806
+ }
1622
1807
 
1623
- .tds-radio:has(input:checked) input:hover:not(:disabled){
1624
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1625
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1808
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
1809
+ --tds-sidenav-indent:19px;
1626
1810
  }
1627
1811
 
1628
- .tds-radio:has(input:user-invalid){
1629
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1630
- }
1631
-
1632
- .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1633
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1634
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1812
+ [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
1813
+ visibility:visible;
1814
+ block-size:auto;
1815
+ opacity:1;
1635
1816
  }
1636
1817
 
1637
- .tds-radio:has(input:disabled){
1638
- --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1639
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1818
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
1819
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
1820
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
1640
1821
 
1641
- --tds-radio-label-color:var(--t-form-color-disabled);
1642
- --tds-radio-description-color:var(--t-form-color-disabled);
1643
- --tds-radio-cursor:not-allowed;
1822
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
1823
+ font-weight:var(--t-font-weight-semibold);
1644
1824
  }
1645
1825
 
1646
- .tds-radio:has(input:disabled) input:checked{
1647
- --tds-radio-input-background-color:var(--t-form-background-color);
1648
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1649
- }
1650
-
1651
- .tds-radio-description{
1652
- display:flex;
1653
- grid-area:2 / 2;
1654
- gap:var(--t-spacing-half);
1655
- align-items:flex-start;
1656
- padding-inline-start:var(--t-spacing-1);
1657
- margin:0;
1658
- font-size:var(--tds-radio-description-font-size);
1659
- line-height:var(--tds-radio-description-line-height);
1660
- color:var(--tds-radio-description-color);
1661
- cursor:text;
1662
- }
1826
+ .tds-sidenav-item:has(.tds-sidenav-section){
1827
+ display:flex;
1828
+ flex-direction:column;
1829
+ gap:var(--t-spacing-half);
1830
+ }
1663
1831
 
1664
- .tds-radio--sm{
1665
- --tds-radio-line-height:1.35;
1666
- --tds-radio-input-size:var(--t-element-size-sm);
1667
- --tds-radio-font-size:var(--t-font-size-sm);
1668
- --tds-radio-description-font-size:var(--t-font-size-xs);
1669
- --tds-radio-description-line-height:1.3;
1670
- }
1832
+ .tds-sidenav-item .tds-sidenav-section-list{
1833
+ --tds-sidenav-item-depth:1;
1834
+ gap:0;
1835
+ }
1671
1836
 
1672
- .tds-radio-group{
1673
- --tds-radio-group-font-size:var(--t-font-size-md);
1674
- --tds-radio-group-line-height:1.4;
1675
- --tds-radio-group-gap:var(--t-spacing-1);
1837
+ .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
1838
+ visibility:hidden;
1839
+ block-size:0;
1840
+ overflow-y:clip;
1841
+ opacity:0;
1842
+ transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
1843
+ }
1676
1844
 
1677
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
1678
- --tds-radio-group-description-line-height:1.35;
1679
- --tds-radio-group-description-color:var(--t-text-color-secondary);
1680
- --tds-radio-group-description-invalid-icon-display:none;
1681
- display:flex;
1682
- flex-direction:column;
1683
- gap:0;
1684
- padding:0;
1685
- margin:0;
1845
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
1846
+ --tds-sidenav-item-depth:2;
1847
+ }
1686
1848
 
1687
- font-size:var(--tds-radio-group-font-size);
1688
- line-height:var(--tds-radio-group-line-height);
1689
- border:0;
1690
- }
1849
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1850
+ min-height:var(--t-element-size-2xl);
1851
+ padding-block:9px;
1852
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
1853
+ line-height:1;
1854
+ background-color:transparent;
1855
+ }
1691
1856
 
1692
- .tds-radio-group legend{
1693
- float:left;
1694
- padding:0;
1695
- margin:0;
1696
- }
1857
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
1858
+ position:absolute;
1859
+ top:0;
1860
+ bottom:0;
1861
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1862
+ width:2px;
1863
+ content:"";
1864
+ background-color:var(--tds-sidenav-item-nested-border-color);
1865
+ transition:var(--tds-sidenav-item-transition);
1866
+ }
1697
1867
 
1698
- .tds-radio-group[aria-invalid="true"]{
1699
- --tds-radio-group-description-color:var(--t-text-color-status-error);
1700
- --tds-radio-group-description-invalid-icon-display:inline-block;
1701
- }
1868
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
1869
+ position:absolute;
1870
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1871
+ z-index:-1;
1872
+ height:100%;
1873
+ content:"";
1874
+ background-color:var(--tds-sidenav-item-nested-background);
1875
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
1876
+ transition:var(--tds-sidenav-item-transition);
1877
+ }
1702
1878
 
1703
- .tds-radio-group[aria-invalid="true"] .tds-radio{
1704
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1705
- }
1879
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):not(:has(.prefix,.suffix)),:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)) :is(:not(.prefix,.suffix)){
1880
+ display:block;
1881
+ text-align:left;
1882
+ white-space:normal;
1883
+ }
1706
1884
 
1707
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1708
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1709
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1885
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):hover,:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):focus-visible{
1886
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
1887
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
1710
1888
  }
1711
1889
 
1712
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1713
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1890
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
1891
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
1714
1892
  }
1715
1893
 
1716
- .tds-radio-group:has(input:required) legend::after{
1717
- margin-left:.25ch;
1718
- color:var(--t-text-color-status-error);
1719
- content:"*";
1894
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1895
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
1896
+ font-weight:var(--t-font-weight-medium);
1720
1897
  }
1721
1898
 
1722
- .tds-radio-group-fields{
1723
- display:flex;
1724
- flex-direction:column;
1725
- gap:var(--tds-radio-group-gap);
1726
- align-items:flex-start;
1727
- margin-top:var(--t-spacing-1);
1728
- }
1729
-
1730
- .tds-radio-group-description{
1899
+ .tds-sidenav-responsive-header{
1731
1900
  display:flex;
1732
- gap:var(--t-spacing-half);
1733
- align-items:flex-start;
1734
- margin:var(--t-spacing-fourth) 0 0;
1735
- font-size:var(--tds-radio-group-description-font-size);
1736
- line-height:var(--tds-radio-group-description-line-height);
1737
- color:var(--tds-radio-group-description-color);
1738
- cursor:text;
1901
+ gap:var(--t-spacing-2);
1902
+ align-items:center;
1903
+ width:100%;
1739
1904
  }
1740
1905
 
1741
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1742
- display:var(--tds-radio-group-description-invalid-icon-display);
1743
- flex-shrink:0;
1744
- margin-top:calc(.5lh - .5em);
1745
- line-height:var(--tds-radio-group-description-line-height);
1906
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
1907
+ order:0;
1746
1908
  }
1747
1909
 
1748
- .tds-radio-group--sm{
1749
- --tds-radio-group-line-height:1.35;
1750
- --tds-radio-group-font-size:var(--t-font-size-sm);
1751
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
1752
- --tds-radio-group-description-line-height:1.3;
1753
- }
1754
-
1755
- .tds-input:has(textarea){
1756
- --tds-input-padding-block:6px;
1757
- --tds-input-resizer-size:var(--t-element-size-sm);
1758
- --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");
1759
- }
1910
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
1911
+ flex:1;
1912
+ order:1;
1913
+ margin:0;
1914
+ font-size:var(--t-font-size-lg);
1915
+ font-weight:var(--t-font-weight-medium);
1916
+ color:var(--t-text-color-headline);
1917
+ }
1760
1918
 
1761
- @supports (x: attr(x type(*))){
1919
+ @media (max-width: 719px){
1920
+ .tds-sidenav-collapse{
1921
+ z-index:10001;
1922
+ display:none;
1923
+ max-width:min(448px, calc(100vw - 48px));
1924
+ padding:0;
1925
+ margin:12px 0;
1926
+ position-area:bottom span-right;
1927
+ overflow:hidden;
1928
+ outline:0;
1929
+ background:var(--t-surface-color-card);
1930
+ border:0;
1931
+ border-radius:6px;
1932
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
1933
+ opacity:var(--tds-sidenav-collapse-open-opacity);
1934
+ transform:var(--tds-sidenav-collapse-open-transform);
1935
+ transition:var(--tds-sidenav-collapse-transition-enter);
1936
+ will-change:transform;
1937
+ }
1762
1938
 
1763
- .tds-input textarea{
1764
- --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1765
- }
1939
+ .tds-sidenav-scroll-container{
1940
+ --webkit-overflow-scrolling:touch;
1941
+ display:block;
1942
+ width:100%;
1943
+ height:-moz-fit-content;
1944
+ height:fit-content;
1945
+ padding:var(--t-spacing-2);
1946
+ overflow-y:auto;
1766
1947
  }
1767
1948
 
1768
- .tds-input.tds-textarea--resize-vertical textarea{
1769
- resize:vertical;
1770
- }
1771
-
1772
- .tds-input.tds-textarea--resize-none textarea{
1773
- resize:none;
1949
+ .tds-sidenav-item :is(a, button) :is(.prefix){
1950
+ display:none;
1951
+ }
1952
+ @supports selector(:popover-open){
1953
+ .tds-sidenav-collapse:popover-open{
1954
+ display:flex;
1774
1955
  }
1775
1956
 
1776
- .tds-input.tds-textarea--resize-auto textarea{
1777
- resize:vertical;
1957
+ .tds-sidenav-collapse:not(:popover-open){
1958
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1959
+ transition:var(--tds-sidenav-collapse-transition-exit);
1778
1960
  }
1779
1961
 
1780
- @supports (field-sizing: content){
1781
- .tds-input.tds-textarea--resize-auto textarea{
1782
- field-sizing:content;
1783
- resize:none;
1962
+ @starting-style{
1963
+ .tds-sidenav-collapse:popover-open{
1964
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1965
+ transform:var(--tds-sidenav-collapse-closed-transform);
1784
1966
  }
1785
1967
  }
1786
-
1787
- .tds-input textarea{
1788
- --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1789
- --tds-input-scrollbar-thumb-color-hidden:transparent;
1790
- --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1791
- --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1792
- --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1793
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1794
- --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1795
- --tds-input-scrollbar-thumb-border-radius:999px;
1796
- --tds-input-scrollbar-thumb-border-width:3px;
1797
- --tds-input-scrollbar-track-margin-block:.125rem;
1798
- scrollbar-color:initial;
1799
- transition-timing-function:var(--t-ease-in-out);
1800
- transition-duration:var(--t-duration-200);
1801
- transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1802
- }
1803
-
1804
- @media (pointer: fine){
1805
- :is(.tds-input textarea)::-webkit-scrollbar{
1806
- width:12px;
1807
- height:12px;
1808
- cursor:default;
1809
- }
1810
-
1811
- :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1812
- cursor:default;
1813
- background:var(--tds-input-scrollbar-thumb-color);
1814
- background-clip:content-box;
1815
- border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1816
- border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1817
- }
1818
-
1819
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1820
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
1821
- }
1822
-
1823
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1824
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1968
+ }
1969
+ @supports not selector(:popover-open){
1970
+ .tds-sidenav-collapse.\:popover-open{
1971
+ display:flex;
1825
1972
  }
1826
1973
 
1827
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1828
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1974
+ .tds-sidenav-collapse:not(.\:popover-open){
1975
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1976
+ transition:var(--tds-sidenav-collapse-transition-exit);
1829
1977
  }
1978
+ }
1979
+ }
1830
1980
 
1831
- :is(.tds-input textarea)::-webkit-scrollbar-corner{
1832
- background:var(--tds-input-scrollbar-surface-color);
1833
- }
1981
+ @media (min-width: 720px){
1982
+ .tds-sidenav-responsive-header{
1983
+ display:none;
1984
+ }
1985
+ }
1834
1986
 
1835
- :is(.tds-input textarea)::-webkit-resizer{
1836
- background:var(--tds-input-resizer-icon) no-repeat;
1837
- background-position:right bottom;
1838
- background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
1987
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
1988
+ display:none;
1839
1989
  }
1840
1990
 
1841
- :is(.tds-input textarea)::-webkit-scrollbar-track{
1842
- margin-block:var(--tds-input-scrollbar-track-margin-block);
1843
- cursor:default;
1991
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1992
+ display:block;
1844
1993
  }
1845
1994
 
1846
- @supports (-moz-appearance: none){
1847
- :is(.tds-input textarea){
1848
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1849
- scrollbar-width:thin;
1850
- }
1851
-
1852
- @media (hover){
1853
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1854
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1855
- }
1856
- }
1995
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1996
+ display:flex;
1997
+ flex-direction:column;
1857
1998
  }
1858
- }
1859
1999
 
1860
2000
  @layer t-critical{
1861
2001
  tds-page-header:not(.hydrated){
@@ -2134,146 +2274,6 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2134
2274
  }
2135
2275
  }
2136
2276
 
2137
- .tds-toggle-switch{
2138
- --tds-toggle-switch-font-size:var(--t-font-size-md);
2139
- --tds-toggle-switch-cursor:pointer;
2140
- --tds-toggle-switch-display:inline-grid;
2141
- --tds-toggle-switch-line-height:1.4;
2142
-
2143
- --tds-toggle-switch-label-color:var(--t-form-color);
2144
-
2145
- --tds-toggle-switch-track-width:var(--t-container-size-md);
2146
- --tds-toggle-switch-track-outline:none;
2147
- --tds-toggle-switch-track-height:var(--t-container-size-xs);
2148
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
2149
- --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
2150
-
2151
- --tds-toggle-switch-thumb-size:var(--t-element-size-md);
2152
- --tds-toggle-switch-thumb-transform:translateX(0);
2153
- --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
2154
-
2155
- --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
2156
- --tds-toggle-switch-description-line-height:1.35;
2157
- --tds-toggle-switch-description-color:var(--t-text-color-secondary);
2158
- position:relative;
2159
-
2160
- display:var(--tds-toggle-switch-display);
2161
- grid-template-columns:auto;
2162
- grid-auto-columns:1fr;
2163
- gap:var(--t-spacing-fourth) 0;
2164
- -webkit-user-select:none;
2165
- -moz-user-select:none;
2166
- user-select:none;
2167
- }
2168
-
2169
- .tds-toggle-switch input[type="checkbox"]{
2170
- position:absolute;
2171
- width:var(--tds-toggle-switch-track-width);
2172
- height:var(--tds-toggle-switch-track-height);
2173
- margin:0;
2174
- -webkit-appearance:none;
2175
- -moz-appearance:none;
2176
- appearance:none;
2177
- cursor:var(--tds-toggle-switch-cursor);
2178
- outline:var(--tds-toggle-switch-track-outline);
2179
- outline-offset:var(--t-focus-ring-offset);
2180
- background-color:transparent;
2181
- border:0;
2182
- border-radius:var(--t-border-radius-round);
2183
- }
2184
-
2185
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2186
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2187
- }
2188
-
2189
- .tds-toggle-switch label{
2190
- display:inline-flex;
2191
- grid-area:1 / 2;
2192
- padding-inline-start:var(--t-spacing-1);
2193
- margin-top:-.09375em;
2194
- font-size:var(--tds-toggle-switch-font-size);
2195
- font-weight:var(--t-font-weight-normal);
2196
- line-height:var(--tds-toggle-switch-line-height);
2197
- color:var(--tds-toggle-switch-label-color);
2198
- cursor:var(--tds-toggle-switch-cursor);
2199
- }
2200
-
2201
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2202
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2203
- }
2204
-
2205
- .tds-toggle-switch:has(input:checked){
2206
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
2207
- --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2208
- }
2209
-
2210
- .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
2211
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
2212
- }
2213
-
2214
- .tds-toggle-switch:has(input:disabled){
2215
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
2216
- --tds-toggle-switch-label-color:var(--t-form-color-disabled);
2217
- --tds-toggle-switch-description-color:var(--t-form-color-disabled);
2218
- --tds-toggle-switch-cursor:not-allowed;
2219
- }
2220
-
2221
- .tds-toggle-switch-track{
2222
- position:relative;
2223
- flex-shrink:0;
2224
- width:var(--tds-toggle-switch-track-width);
2225
- height:var(--tds-toggle-switch-track-height);
2226
- background-color:var(--tds-toggle-switch-track-background-color);
2227
- border-radius:var(--t-border-radius-round);
2228
- transition:var(--tds-toggle-switch-track-transition);
2229
- }
2230
-
2231
- .tds-toggle-switch-track::before{
2232
- position:absolute;
2233
- top:var(--t-spacing-fourth);
2234
- left:var(--t-spacing-fourth);
2235
- width:var(--tds-toggle-switch-thumb-size);
2236
- height:var(--tds-toggle-switch-thumb-size);
2237
- content:"";
2238
- background-color:#fff;
2239
- border-radius:var(--t-border-radius-round);
2240
- transform:var(--tds-toggle-switch-thumb-transform);
2241
- transition:var(--tds-toggle-switch-thumb-transition);
2242
- }
2243
-
2244
- @media (prefers-reduced-motion: reduce){
2245
-
2246
- .tds-toggle-switch-track{
2247
- --tds-toggle-switch-track-transition:none;
2248
- --tds-toggle-switch-thumb-transition:none;
2249
- }
2250
- }
2251
-
2252
- .tds-toggle-switch-description{
2253
- display:flex;
2254
- grid-area:2 / 2;
2255
- align-items:flex-start;
2256
- padding-inline-start:var(--t-spacing-1);
2257
- margin:0;
2258
- font-size:var(--tds-toggle-switch-description-font-size);
2259
- line-height:var(--tds-toggle-switch-description-line-height);
2260
- color:var(--tds-toggle-switch-description-color);
2261
- cursor:text;
2262
- }
2263
-
2264
- .tds-toggle-switch--sm{
2265
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
2266
- --tds-toggle-switch-line-height:1.35;
2267
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
2268
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2269
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2270
- --tds-toggle-switch-description-line-height:1.3;
2271
- }
2272
-
2273
- .tds-toggle-switch--hide-label{
2274
- --tds-toggle-switch-display:inline-flex;
2275
- }
2276
-
2277
2277
  .tds-input{
2278
2278
  --tds-input-border-color:var(--t-form-border-color);
2279
2279
  --tds-input-border-color-hover:var(--t-form-border-color-hover);
@@ -4526,7 +4526,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
4526
4526
  border-color:var(--tds-btn-border-color-hover);
4527
4527
  }
4528
4528
 
4529
- .tds-btn:active,.tds-btn.active{
4529
+ .tds-btn:active,.tds-btn.active,.tds-btn[aria-pressed="true"]{
4530
4530
  color:var(--tds-btn-color-active);
4531
4531
  background-color:var(--tds-btn-bg-active);
4532
4532
  border-color:var(--tds-btn-border-color-active);