@planningcenter/tapestry 4.2.1-rc.2 → 4.2.1-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -677,368 +677,6 @@
677
677
  [data-padding-inline-xl="7"]{ padding-inline:var(--t-spacing-7); }
678
678
  }
679
679
 
680
-
681
- @media (prefers-reduced-motion: no-preference){
682
-
683
- :root{
684
- interpolate-size:allow-keywords;
685
- }
686
- }
687
-
688
- @layer tds-component{
689
- tds-sidenav,
690
- .tds-sidenav{
691
- --tds-sidenav-indent:12px;
692
- --tds-sidenav-item-depth:0;
693
-
694
- --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
695
-
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);
702
-
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);
707
-
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;
711
-
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);
715
-
716
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
717
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
718
- }
719
-
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;
727
- }
728
- }
729
-
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);
736
- }
737
- }
738
-
739
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
740
- display:flex;
741
- }
742
-
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%;
747
- }
748
-
749
- .tds-sidenav-section-list{
750
- width:100%;
751
- padding:0;
752
- margin:0;
753
- list-style:none;
754
- }
755
-
756
- .tds-sidenav-section-header{
757
- display:flex;
758
- align-items:baseline;
759
- justify-content:space-between;
760
- padding-top:var(--t-spacing-2);
761
- }
762
-
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;
770
- }
771
-
772
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
773
- padding-top:0;
774
- }
775
-
776
- .tds-sidenav-section-header [slot="label-actions"]{
777
- display:flex;
778
- gap:var(--t-spacing-half);
779
- align-items:center;
780
- }
781
-
782
- .tds-sidenav-section [slot="section-actions"]{
783
- display:flex;
784
- gap:12px;
785
- align-items:center;
786
- min-height:42px;
787
- padding:var(--t-spacing-1) 0;
788
- }
789
-
790
- .tds-sidenav-section-list,
791
- .tds-sidenav-item{
792
- width:100%;
793
- padding:0;
794
- margin:0;
795
- }
796
-
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);
818
- }
819
-
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
- }
853
-
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
- }
859
-
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);
863
-
864
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
865
- font-weight:var(--t-font-weight-semibold);
866
- }
867
-
868
- .tds-sidenav-item:has(.tds-sidenav-section){
869
- display:flex;
870
- flex-direction:column;
871
- gap:var(--t-spacing-half);
872
- }
873
-
874
- .tds-sidenav-item .tds-sidenav-section-list{
875
- --tds-sidenav-item-depth:1;
876
- gap:0;
877
- }
878
-
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
- }
890
-
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
- }
898
-
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
- }
909
-
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
- }
920
-
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
- }
926
-
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
- }
931
-
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
- }
935
-
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
- }
940
-
941
- .tds-sidenav-responsive-header{
942
- display:flex;
943
- gap:var(--t-spacing-2);
944
- align-items:center;
945
- width:100%;
946
- }
947
-
948
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
949
- order:0;
950
- }
951
-
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);
959
- }
960
-
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;
971
- 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;
993
- }
994
- @supports selector(:popover-open){
995
- .tds-sidenav-collapse:popover-open{
996
- display:flex;
997
- }
998
-
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
-
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;
1014
- }
1015
-
1016
- .tds-sidenav-collapse:not(.\:popover-open){
1017
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1018
- transition:var(--tds-sidenav-collapse-transition-exit);
1019
- }
1020
- }
1021
- }
1022
-
1023
- @media (min-width: 720px){
1024
- .tds-sidenav-responsive-header{
1025
- display:none;
1026
- }
1027
- }
1028
-
1029
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
1030
- display:none;
1031
- }
1032
-
1033
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1034
- display:block;
1035
- }
1036
-
1037
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1038
- display:flex;
1039
- flex-direction:column;
1040
- }
1041
-
1042
680
  @layer t-critical{
1043
681
  tds-page-header:not(.hydrated){
1044
682
  display:none;
@@ -1358,6 +996,266 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1358
996
  border-end-end-radius:var(--tds-btn-border-radius);
1359
997
  }
1360
998
 
999
+ .tds-checkbox-group{
1000
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
1001
+ --tds-checkbox-group-line-height:1.4;
1002
+ --tds-checkbox-group-gap:var(--t-spacing-1);
1003
+
1004
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1005
+ --tds-checkbox-group-description-line-height:1.35;
1006
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1007
+ --tds-checkbox-group-description-invalid-icon-display:none;
1008
+ display:flex;
1009
+ flex-direction:column;
1010
+ gap:0;
1011
+ padding:0;
1012
+ margin:0;
1013
+
1014
+ font-size:var(--tds-checkbox-group-font-size);
1015
+ line-height:var(--tds-checkbox-group-line-height);
1016
+ border:0;
1017
+ }
1018
+
1019
+ .tds-checkbox-group legend{
1020
+ float:left;
1021
+ padding:0;
1022
+ margin:0;
1023
+ }
1024
+
1025
+ .tds-checkbox-group[aria-invalid="true"]{
1026
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1027
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
1028
+ }
1029
+
1030
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1031
+ margin-left:.25ch;
1032
+ color:var(--t-text-color-status-error);
1033
+ content:"*";
1034
+ }
1035
+
1036
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1037
+ content:none;
1038
+ }
1039
+
1040
+ .tds-checkbox-group-fields{
1041
+ display:flex;
1042
+ flex-direction:column;
1043
+ gap:var(--tds-checkbox-group-gap);
1044
+ align-items:flex-start;
1045
+ margin-top:var(--t-spacing-1);
1046
+ }
1047
+
1048
+ .tds-checkbox-group-description{
1049
+ display:flex;
1050
+ gap:var(--t-spacing-half);
1051
+ align-items:flex-start;
1052
+ margin:var(--t-spacing-fourth) 0 0;
1053
+ font-size:var(--tds-checkbox-group-description-font-size);
1054
+ line-height:var(--tds-checkbox-group-description-line-height);
1055
+ color:var(--tds-checkbox-group-description-color);
1056
+ cursor:text;
1057
+ }
1058
+
1059
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1060
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
1061
+ flex-shrink:0;
1062
+ margin-top:calc(.5lh - .5em);
1063
+ line-height:var(--tds-checkbox-group-description-line-height);
1064
+ }
1065
+
1066
+ .tds-checkbox-group--sm{
1067
+ --tds-checkbox-group-line-height:1.35;
1068
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
1069
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1070
+ --tds-checkbox-group-description-line-height:1.3;
1071
+ }
1072
+
1073
+
1074
+ :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{
1075
+ -webkit-appearance:none;
1076
+ appearance:none;
1077
+ }
1078
+
1079
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1080
+ inline-size:1em;
1081
+ block-size:2em;
1082
+ }
1083
+ @supports (field-sizing: content){
1084
+ .tds-input--auto-width{
1085
+ inline-size:-moz-fit-content;
1086
+ inline-size:fit-content;
1087
+ min-inline-size:min(100%, 122px);
1088
+ }
1089
+
1090
+ .tds-input--auto-width input{
1091
+ field-sizing:content;
1092
+ inline-size:auto;
1093
+ }
1094
+ }
1095
+
1096
+ .tds-modal-overlay{
1097
+ --tds-modal-min-margin-block:var(--t-spacing-3);
1098
+
1099
+ position:fixed;
1100
+ inset:0;
1101
+ z-index:1000;
1102
+ display:grid;
1103
+ grid-template-rows:minmax(var(--tds-modal-min-margin-block), 1fr) auto minmax(var(--tds-modal-min-margin-block), 1fr);
1104
+ justify-items:center;
1105
+ overflow-y:auto;
1106
+ background:hsl(0 0% 0% / 40%);
1107
+ }
1108
+
1109
+ .tds-modal-overlay[data-entering]{
1110
+ animation:tds-modal-overlay-fade var(--t-duration-300) var(--t-ease-out);
1111
+ }
1112
+
1113
+ .tds-modal-overlay[data-exiting]{
1114
+ animation:tds-modal-overlay-fade var(--t-duration-200) var(--t-ease-in) reverse;
1115
+ }
1116
+
1117
+ @keyframes tds-modal-overlay-fade{
1118
+ from{
1119
+ opacity:0;
1120
+ }
1121
+ }
1122
+
1123
+ .tds-modal-frame{
1124
+ --tds-modal-width:600px;
1125
+ --tds-modal-edge-margin-inline:var(--t-spacing-3);
1126
+ display:flex;
1127
+
1128
+ grid-row:2;
1129
+ justify-content:center;
1130
+ width:min(var(--tds-modal-width), calc(100% - var(--tds-modal-edge-margin-inline) * 2));
1131
+ }
1132
+
1133
+ .tds-modal-frame[data-entering]{
1134
+ animation:tds-modal-zoom var(--t-duration-300) var(--t-ease-out);
1135
+ }
1136
+
1137
+ .tds-modal-frame[data-exiting]{
1138
+ animation:tds-modal-zoom var(--t-duration-200) var(--t-ease-in) reverse;
1139
+ }
1140
+
1141
+ .tds-modal-frame--sm{
1142
+ --tds-modal-width:400px;
1143
+ }
1144
+
1145
+ .tds-modal-frame--lg{
1146
+ --tds-modal-width:800px;
1147
+ }
1148
+
1149
+ .tds-modal-frame--xl{
1150
+ --tds-modal-width:1000px;
1151
+ }
1152
+
1153
+ @keyframes tds-modal-zoom{
1154
+ from{
1155
+ opacity:0;
1156
+ scale:.96;
1157
+ }
1158
+ }
1159
+
1160
+ @media (prefers-reduced-motion: reduce){
1161
+ .tds-modal-overlay[data-entering],
1162
+ .tds-modal-overlay[data-exiting],
1163
+ .tds-modal-frame[data-entering],
1164
+ .tds-modal-frame[data-exiting]{
1165
+ animation:none;
1166
+ }
1167
+ }
1168
+
1169
+ .tds-modal{
1170
+ display:flex;
1171
+ flex-direction:column;
1172
+ width:100%;
1173
+ padding-block-start:var(--t-spacing-3);
1174
+ padding-inline:0;
1175
+ background:var(--t-surface-color-card);
1176
+
1177
+ border:0;
1178
+ border-radius:var(--t-border-radius-lg);
1179
+ box-shadow:0 4px 18px 0 #0003;
1180
+ }
1181
+
1182
+ .tds-modal:focus{
1183
+ outline:none;
1184
+ }
1185
+
1186
+ .tds-modal-header{
1187
+ display:grid;
1188
+ grid-template-columns:1fr auto;
1189
+ -moz-column-gap:var(--t-spacing-2);
1190
+ column-gap:var(--t-spacing-2);
1191
+ padding-block:0;
1192
+ padding-inline:var(--t-spacing-4);
1193
+ }
1194
+
1195
+ .tds-modal-title{
1196
+ grid-row:1;
1197
+ grid-column:1;
1198
+ margin:0;
1199
+ font-size:var(--t-font-size-2xl);
1200
+ font-weight:var(--t-font-weight-medium);
1201
+ line-height:140%;
1202
+ color:var(--t-text-color-headline);
1203
+ }
1204
+
1205
+ .tds-modal-subtitle{
1206
+ grid-row:2;
1207
+ grid-column:1;
1208
+ margin:0;
1209
+ font-size:var(--t-font-size-md);
1210
+ font-weight:var(--t-font-weight-medium);
1211
+ line-height:140%;
1212
+ color:var(--t-text-color-secondary);
1213
+ }
1214
+
1215
+ .tds-modal-close{
1216
+ grid-row:1;
1217
+ grid-column:2;
1218
+ align-self:center;
1219
+ color:var(--t-icon-color-dim);
1220
+ }
1221
+
1222
+ .tds-modal-body{
1223
+ padding-block:var(--t-spacing-3);
1224
+ padding-inline:var(--t-spacing-4);
1225
+ }
1226
+
1227
+ .tds-modal-body--full-width{
1228
+ padding-inline:0;
1229
+ }
1230
+
1231
+ .tds-modal-footer{
1232
+ display:flex;
1233
+ gap:var(--t-spacing-2);
1234
+ align-items:center;
1235
+ justify-content:flex-end;
1236
+ padding-block:var(--t-spacing-3);
1237
+ padding-inline:var(--t-spacing-4);
1238
+ border-top:1px solid var(--t-border-color);
1239
+ }
1240
+
1241
+ .tds-modal-footer > [slot="start"]{
1242
+ margin-inline-end:auto;
1243
+ }
1244
+
1245
+ @media (min-width: 720px){
1246
+ .tds-modal-overlay{
1247
+ --tds-modal-min-margin-block:0;
1248
+ }
1249
+
1250
+ .tds-modal-footer{
1251
+ position:sticky;
1252
+ bottom:0;
1253
+ background:var(--t-surface-color-card);
1254
+ border-end-start-radius:var(--t-border-radius-lg);
1255
+ border-end-end-radius:var(--t-border-radius-lg);
1256
+ }
1257
+ }
1258
+
1361
1259
  .tds-checkbox{
1362
1260
  --tds-checkbox-font-size:var(--t-font-size-md);
1363
1261
  --tds-checkbox-cursor:pointer;
@@ -1553,241 +1451,332 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1553
1451
  --tds-checkbox-description-line-height:1.3;
1554
1452
  }
1555
1453
 
1556
- .tds-checkbox-group{
1557
- --tds-checkbox-group-font-size:var(--t-font-size-md);
1558
- --tds-checkbox-group-line-height:1.4;
1559
- --tds-checkbox-group-gap:var(--t-spacing-1);
1454
+ .tds-radio-group{
1455
+ --tds-radio-group-font-size:var(--t-font-size-md);
1456
+ --tds-radio-group-line-height:1.4;
1457
+ --tds-radio-group-gap:var(--t-spacing-1);
1560
1458
 
1561
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1562
- --tds-checkbox-group-description-line-height:1.35;
1563
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1564
- --tds-checkbox-group-description-invalid-icon-display:none;
1459
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
1460
+ --tds-radio-group-description-line-height:1.35;
1461
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
1462
+ --tds-radio-group-description-invalid-icon-display:none;
1565
1463
  display:flex;
1566
1464
  flex-direction:column;
1567
1465
  gap:0;
1568
1466
  padding:0;
1569
1467
  margin:0;
1570
1468
 
1571
- font-size:var(--tds-checkbox-group-font-size);
1572
- line-height:var(--tds-checkbox-group-line-height);
1469
+ font-size:var(--tds-radio-group-font-size);
1470
+ line-height:var(--tds-radio-group-line-height);
1573
1471
  border:0;
1574
1472
  }
1575
1473
 
1576
- .tds-checkbox-group legend{
1474
+ .tds-radio-group legend{
1577
1475
  float:left;
1578
1476
  padding:0;
1579
1477
  margin:0;
1580
1478
  }
1581
1479
 
1582
- .tds-checkbox-group[aria-invalid="true"]{
1583
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1584
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
1480
+ .tds-radio-group[aria-invalid="true"]{
1481
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
1482
+ --tds-radio-group-description-invalid-icon-display:inline-block;
1585
1483
  }
1586
1484
 
1587
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1485
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
1486
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1487
+ }
1488
+
1489
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1490
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1491
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1492
+ }
1493
+
1494
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1495
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
1496
+ }
1497
+
1498
+ .tds-radio-group:has(input:required) legend::after{
1588
1499
  margin-left:.25ch;
1589
1500
  color:var(--t-text-color-status-error);
1590
1501
  content:"*";
1591
1502
  }
1592
1503
 
1593
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1594
- content:none;
1595
- }
1596
-
1597
- .tds-checkbox-group-fields{
1504
+ .tds-radio-group-fields{
1598
1505
  display:flex;
1599
1506
  flex-direction:column;
1600
- gap:var(--tds-checkbox-group-gap);
1507
+ gap:var(--tds-radio-group-gap);
1601
1508
  align-items:flex-start;
1602
1509
  margin-top:var(--t-spacing-1);
1603
1510
  }
1604
1511
 
1605
- .tds-checkbox-group-description{
1512
+ .tds-radio-group-description{
1606
1513
  display:flex;
1607
1514
  gap:var(--t-spacing-half);
1608
1515
  align-items:flex-start;
1609
1516
  margin:var(--t-spacing-fourth) 0 0;
1610
- font-size:var(--tds-checkbox-group-description-font-size);
1611
- line-height:var(--tds-checkbox-group-description-line-height);
1612
- color:var(--tds-checkbox-group-description-color);
1517
+ font-size:var(--tds-radio-group-description-font-size);
1518
+ line-height:var(--tds-radio-group-description-line-height);
1519
+ color:var(--tds-radio-group-description-color);
1613
1520
  cursor:text;
1614
1521
  }
1615
1522
 
1616
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1617
- display:var(--tds-checkbox-group-description-invalid-icon-display);
1523
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1524
+ display:var(--tds-radio-group-description-invalid-icon-display);
1618
1525
  flex-shrink:0;
1619
1526
  margin-top:calc(.5lh - .5em);
1620
- line-height:var(--tds-checkbox-group-description-line-height);
1527
+ line-height:var(--tds-radio-group-description-line-height);
1621
1528
  }
1622
1529
 
1623
- .tds-checkbox-group--sm{
1624
- --tds-checkbox-group-line-height:1.35;
1625
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
1626
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1627
- --tds-checkbox-group-description-line-height:1.3;
1530
+ .tds-radio-group--sm{
1531
+ --tds-radio-group-line-height:1.35;
1532
+ --tds-radio-group-font-size:var(--t-font-size-sm);
1533
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
1534
+ --tds-radio-group-description-line-height:1.3;
1628
1535
  }
1629
1536
 
1630
- .tds-modal-overlay{
1631
- --tds-modal-min-margin-block:var(--t-spacing-3);
1632
-
1633
- position:fixed;
1634
- inset:0;
1635
- z-index:1000;
1636
- display:grid;
1637
- grid-template-rows:minmax(var(--tds-modal-min-margin-block), 1fr) auto minmax(var(--tds-modal-min-margin-block), 1fr);
1638
- justify-items:center;
1639
- overflow-y:auto;
1640
- background:hsl(0 0% 0% / 40%);
1537
+ .tds-input:has(textarea){
1538
+ --tds-input-padding-block:6px;
1539
+ --tds-input-resizer-size:var(--t-element-size-sm);
1540
+ --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");
1641
1541
  }
1642
1542
 
1643
- .tds-modal-overlay[data-entering]{
1644
- animation:tds-modal-overlay-fade var(--t-duration-300) var(--t-ease-out);
1645
- }
1543
+ @supports (x: attr(x type(*))){
1646
1544
 
1647
- .tds-modal-overlay[data-exiting]{
1648
- animation:tds-modal-overlay-fade var(--t-duration-200) var(--t-ease-in) reverse;
1545
+ .tds-input textarea{
1546
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1547
+ }
1649
1548
  }
1650
1549
 
1651
- @keyframes tds-modal-overlay-fade{
1652
- from{
1653
- opacity:0;
1654
- }
1655
- }
1550
+ .tds-input.tds-textarea--resize-vertical textarea{
1551
+ resize:vertical;
1552
+ }
1656
1553
 
1657
- .tds-modal-frame{
1658
- --tds-modal-width:600px;
1659
- --tds-modal-edge-margin-inline:var(--t-spacing-3);
1660
- display:flex;
1554
+ .tds-input.tds-textarea--resize-none textarea{
1555
+ resize:none;
1556
+ }
1661
1557
 
1662
- grid-row:2;
1663
- justify-content:center;
1664
- width:min(var(--tds-modal-width), calc(100% - var(--tds-modal-edge-margin-inline) * 2));
1558
+ .tds-input.tds-textarea--resize-auto textarea{
1559
+ resize:vertical;
1560
+ }
1561
+
1562
+ @supports (field-sizing: content){
1563
+ .tds-input.tds-textarea--resize-auto textarea{
1564
+ field-sizing:content;
1565
+ resize:none;
1566
+ }
1567
+ }
1568
+
1569
+ .tds-input textarea{
1570
+ --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1571
+ --tds-input-scrollbar-thumb-color-hidden:transparent;
1572
+ --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1573
+ --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1574
+ --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1575
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1576
+ --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1577
+ --tds-input-scrollbar-thumb-border-radius:999px;
1578
+ --tds-input-scrollbar-thumb-border-width:3px;
1579
+ --tds-input-scrollbar-track-margin-block:.125rem;
1580
+ scrollbar-color:initial;
1581
+ transition-timing-function:var(--t-ease-in-out);
1582
+ transition-duration:var(--t-duration-200);
1583
+ transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1665
1584
  }
1666
1585
 
1667
- .tds-modal-frame[data-entering]{
1668
- animation:tds-modal-zoom var(--t-duration-300) var(--t-ease-out);
1669
- }
1586
+ @media (pointer: fine){
1587
+ :is(.tds-input textarea)::-webkit-scrollbar{
1588
+ width:12px;
1589
+ height:12px;
1590
+ cursor:default;
1591
+ }
1670
1592
 
1671
- .tds-modal-frame[data-exiting]{
1672
- animation:tds-modal-zoom var(--t-duration-200) var(--t-ease-in) reverse;
1593
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1594
+ cursor:default;
1595
+ background:var(--tds-input-scrollbar-thumb-color);
1596
+ background-clip:content-box;
1597
+ border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1598
+ border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1599
+ }
1600
+
1601
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1602
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
1603
+ }
1604
+
1605
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1606
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1607
+ }
1608
+
1609
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1610
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1611
+ }
1612
+
1613
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
1614
+ background:var(--tds-input-scrollbar-surface-color);
1615
+ }
1616
+
1617
+ :is(.tds-input textarea)::-webkit-resizer{
1618
+ background:var(--tds-input-resizer-icon) no-repeat;
1619
+ background-position:right bottom;
1620
+ background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
1621
+ }
1622
+
1623
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
1624
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
1625
+ cursor:default;
1626
+ }
1627
+
1628
+ @supports (-moz-appearance: none){
1629
+ :is(.tds-input textarea){
1630
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1631
+ scrollbar-width:thin;
1632
+ }
1633
+
1634
+ @media (hover){
1635
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1636
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1637
+ }
1638
+ }
1639
+ }
1673
1640
  }
1674
1641
 
1675
- .tds-modal-frame--sm{
1676
- --tds-modal-width:400px;
1677
- }
1642
+ .tds-toggle-switch{
1643
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
1644
+ --tds-toggle-switch-cursor:pointer;
1645
+ --tds-toggle-switch-display:inline-grid;
1646
+ --tds-toggle-switch-line-height:1.4;
1678
1647
 
1679
- .tds-modal-frame--lg{
1680
- --tds-modal-width:800px;
1681
- }
1648
+ --tds-toggle-switch-label-color:var(--t-form-color);
1682
1649
 
1683
- .tds-modal-frame--xl{
1684
- --tds-modal-width:1000px;
1650
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
1651
+ --tds-toggle-switch-track-outline:none;
1652
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
1653
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1654
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1655
+
1656
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1657
+ --tds-toggle-switch-thumb-transform:translateX(0);
1658
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1659
+
1660
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1661
+ --tds-toggle-switch-description-line-height:1.35;
1662
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1663
+ position:relative;
1664
+
1665
+ display:var(--tds-toggle-switch-display);
1666
+ grid-template-columns:auto;
1667
+ grid-auto-columns:1fr;
1668
+ gap:var(--t-spacing-fourth) 0;
1669
+ -webkit-user-select:none;
1670
+ -moz-user-select:none;
1671
+ user-select:none;
1685
1672
  }
1686
1673
 
1687
- @keyframes tds-modal-zoom{
1688
- from{
1689
- opacity:0;
1690
- scale:.96;
1674
+ .tds-toggle-switch input[type="checkbox"]{
1675
+ position:absolute;
1676
+ width:var(--tds-toggle-switch-track-width);
1677
+ height:var(--tds-toggle-switch-track-height);
1678
+ margin:0;
1679
+ -webkit-appearance:none;
1680
+ -moz-appearance:none;
1681
+ appearance:none;
1682
+ cursor:var(--tds-toggle-switch-cursor);
1683
+ outline:var(--tds-toggle-switch-track-outline);
1684
+ outline-offset:var(--t-focus-ring-offset);
1685
+ background-color:transparent;
1686
+ border:0;
1687
+ border-radius:var(--t-border-radius-round);
1691
1688
  }
1692
- }
1693
1689
 
1694
- @media (prefers-reduced-motion: reduce){
1695
- .tds-modal-overlay[data-entering],
1696
- .tds-modal-overlay[data-exiting],
1697
- .tds-modal-frame[data-entering],
1698
- .tds-modal-frame[data-exiting]{
1699
- animation:none;
1700
- }
1701
- }
1690
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1691
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1692
+ }
1702
1693
 
1703
- .tds-modal{
1704
- display:flex;
1705
- flex-direction:column;
1706
- width:100%;
1707
- padding-block-start:var(--t-spacing-3);
1708
- padding-inline:0;
1709
- background:var(--t-surface-color-card);
1694
+ .tds-toggle-switch label{
1695
+ display:inline-flex;
1696
+ grid-area:1 / 2;
1697
+ padding-inline-start:var(--t-spacing-1);
1698
+ margin-top:-.09375em;
1699
+ font-size:var(--tds-toggle-switch-font-size);
1700
+ font-weight:var(--t-font-weight-normal);
1701
+ line-height:var(--tds-toggle-switch-line-height);
1702
+ color:var(--tds-toggle-switch-label-color);
1703
+ cursor:var(--tds-toggle-switch-cursor);
1704
+ }
1710
1705
 
1711
- border:0;
1712
- border-radius:var(--t-border-radius-lg);
1713
- box-shadow:0 4px 18px 0 #0003;
1714
- }
1706
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1707
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1708
+ }
1715
1709
 
1716
- .tds-modal:focus{
1717
- outline:none;
1710
+ .tds-toggle-switch:has(input:checked){
1711
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1712
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1718
1713
  }
1719
1714
 
1720
- .tds-modal-header{
1721
- display:grid;
1722
- grid-template-columns:1fr auto;
1723
- -moz-column-gap:var(--t-spacing-2);
1724
- column-gap:var(--t-spacing-2);
1725
- padding-block:0;
1726
- padding-inline:var(--t-spacing-4);
1727
- }
1715
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1716
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1717
+ }
1728
1718
 
1729
- .tds-modal-title{
1730
- grid-row:1;
1731
- grid-column:1;
1732
- margin:0;
1733
- font-size:var(--t-font-size-2xl);
1734
- font-weight:var(--t-font-weight-medium);
1735
- line-height:140%;
1736
- color:var(--t-text-color-headline);
1737
- }
1719
+ .tds-toggle-switch:has(input:disabled){
1720
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1721
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1722
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1723
+ --tds-toggle-switch-cursor:not-allowed;
1724
+ }
1738
1725
 
1739
- .tds-modal-subtitle{
1740
- grid-row:2;
1741
- grid-column:1;
1742
- margin:0;
1743
- font-size:var(--t-font-size-md);
1744
- font-weight:var(--t-font-weight-medium);
1745
- line-height:140%;
1746
- color:var(--t-text-color-secondary);
1726
+ .tds-toggle-switch-track{
1727
+ position:relative;
1728
+ flex-shrink:0;
1729
+ width:var(--tds-toggle-switch-track-width);
1730
+ height:var(--tds-toggle-switch-track-height);
1731
+ background-color:var(--tds-toggle-switch-track-background-color);
1732
+ border-radius:var(--t-border-radius-round);
1733
+ transition:var(--tds-toggle-switch-track-transition);
1747
1734
  }
1748
1735
 
1749
- .tds-modal-close{
1750
- grid-row:1;
1751
- grid-column:2;
1752
- align-self:center;
1753
- color:var(--t-icon-color-dim);
1754
- }
1736
+ .tds-toggle-switch-track::before{
1737
+ position:absolute;
1738
+ top:var(--t-spacing-fourth);
1739
+ left:var(--t-spacing-fourth);
1740
+ width:var(--tds-toggle-switch-thumb-size);
1741
+ height:var(--tds-toggle-switch-thumb-size);
1742
+ content:"";
1743
+ background-color:#fff;
1744
+ border-radius:var(--t-border-radius-round);
1745
+ transform:var(--tds-toggle-switch-thumb-transform);
1746
+ transition:var(--tds-toggle-switch-thumb-transition);
1747
+ }
1755
1748
 
1756
- .tds-modal-body{
1757
- padding-block:var(--t-spacing-3);
1758
- padding-inline:var(--t-spacing-4);
1759
- }
1749
+ @media (prefers-reduced-motion: reduce){
1760
1750
 
1761
- .tds-modal-body--full-width{
1762
- padding-inline:0;
1751
+ .tds-toggle-switch-track{
1752
+ --tds-toggle-switch-track-transition:none;
1753
+ --tds-toggle-switch-thumb-transition:none;
1763
1754
  }
1755
+ }
1764
1756
 
1765
- .tds-modal-footer{
1757
+ .tds-toggle-switch-description{
1766
1758
  display:flex;
1767
- gap:var(--t-spacing-2);
1768
- align-items:center;
1769
- justify-content:flex-end;
1770
- padding-block:var(--t-spacing-3);
1771
- padding-inline:var(--t-spacing-4);
1772
- border-top:1px solid var(--t-border-color);
1759
+ grid-area:2 / 2;
1760
+ align-items:flex-start;
1761
+ padding-inline-start:var(--t-spacing-1);
1762
+ margin:0;
1763
+ font-size:var(--tds-toggle-switch-description-font-size);
1764
+ line-height:var(--tds-toggle-switch-description-line-height);
1765
+ color:var(--tds-toggle-switch-description-color);
1766
+ cursor:text;
1773
1767
  }
1774
1768
 
1775
- .tds-modal-footer > [slot="start"]{
1776
- margin-inline-end:auto;
1769
+ .tds-toggle-switch--sm{
1770
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
1771
+ --tds-toggle-switch-line-height:1.35;
1772
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
1773
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1774
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1775
+ --tds-toggle-switch-description-line-height:1.3;
1777
1776
  }
1778
1777
 
1779
- @media (min-width: 720px){
1780
- .tds-modal-overlay{
1781
- --tds-modal-min-margin-block:0;
1782
- }
1783
-
1784
- .tds-modal-footer{
1785
- position:sticky;
1786
- bottom:0;
1787
- background:var(--t-surface-color-card);
1788
- border-end-start-radius:var(--t-border-radius-lg);
1789
- border-end-end-radius:var(--t-border-radius-lg);
1790
- }
1778
+ .tds-toggle-switch--hide-label{
1779
+ --tds-toggle-switch-display:inline-flex;
1791
1780
  }
1792
1781
 
1793
1782
  .tds-radio{
@@ -1923,356 +1912,367 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1923
1912
  --tds-radio-description-line-height:1.3;
1924
1913
  }
1925
1914
 
1926
- .tds-radio-group{
1927
- --tds-radio-group-font-size:var(--t-font-size-md);
1928
- --tds-radio-group-line-height:1.4;
1929
- --tds-radio-group-gap:var(--t-spacing-1);
1930
1915
 
1931
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
1932
- --tds-radio-group-description-line-height:1.35;
1933
- --tds-radio-group-description-color:var(--t-text-color-secondary);
1934
- --tds-radio-group-description-invalid-icon-display:none;
1935
- display:flex;
1936
- flex-direction:column;
1937
- gap:0;
1938
- padding:0;
1939
- margin:0;
1916
+ @media (prefers-reduced-motion: no-preference){
1940
1917
 
1941
- font-size:var(--tds-radio-group-font-size);
1942
- line-height:var(--tds-radio-group-line-height);
1943
- border:0;
1918
+ :root{
1919
+ interpolate-size:allow-keywords;
1944
1920
  }
1945
-
1946
- .tds-radio-group legend{
1947
- float:left;
1948
- padding:0;
1949
- margin:0;
1950
1921
  }
1951
1922
 
1952
- .tds-radio-group[aria-invalid="true"]{
1953
- --tds-radio-group-description-color:var(--t-text-color-status-error);
1954
- --tds-radio-group-description-invalid-icon-display:inline-block;
1955
- }
1923
+ @layer tds-component{
1924
+ tds-sidenav,
1925
+ .tds-sidenav{
1926
+ --tds-sidenav-indent:12px;
1927
+ --tds-sidenav-item-depth:0;
1956
1928
 
1957
- .tds-radio-group[aria-invalid="true"] .tds-radio{
1958
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1959
- }
1929
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
1960
1930
 
1961
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1962
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1963
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1964
- }
1931
+ --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;
1932
+ --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;
1933
+ --tds-sidenav-collapse-closed-opacity:0;
1934
+ --tds-sidenav-collapse-open-opacity:1;
1935
+ --tds-sidenav-collapse-closed-transform:translateY(-8px);
1936
+ --tds-sidenav-collapse-open-transform:translateY(0);
1965
1937
 
1966
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1967
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1968
- }
1938
+ --tds-sidenav-item-icon-size:var(--t-element-size-md);
1939
+ --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
1940
+ --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
1941
+ --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
1969
1942
 
1970
- .tds-radio-group:has(input:required) legend::after{
1971
- margin-left:.25ch;
1972
- color:var(--t-text-color-status-error);
1973
- content:"*";
1943
+ --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
1944
+ --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
1945
+ --tds-sidenav-item-nested-background-selected:transparent;
1946
+
1947
+ --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
1948
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1949
+ --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
1950
+
1951
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
1952
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
1953
+ }
1954
+
1955
+ @media (prefers-reduced-motion: reduce){
1956
+ tds-sidenav,
1957
+ .tds-sidenav{
1958
+ --tds-sidenav-collapse-transition-enter:none;
1959
+ --tds-sidenav-collapse-transition-exit:none;
1960
+ --tds-sidenav-collapse-closed-transform:none;
1961
+ --tds-sidenav-collapse-open-transform:none;
1962
+ }
1974
1963
  }
1975
1964
 
1976
- .tds-radio-group-fields{
1977
- display:flex;
1978
- flex-direction:column;
1979
- gap:var(--tds-radio-group-gap);
1980
- align-items:flex-start;
1981
- margin-top:var(--t-spacing-1);
1965
+ .tds-sidenav--theme-gray{
1966
+ --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
1967
+ --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
1968
+ --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
1969
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1970
+ --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
1971
+ }
1982
1972
  }
1983
1973
 
1984
- .tds-radio-group-description{
1985
- display:flex;
1986
- gap:var(--t-spacing-half);
1987
- align-items:flex-start;
1988
- margin:var(--t-spacing-fourth) 0 0;
1989
- font-size:var(--tds-radio-group-description-font-size);
1990
- line-height:var(--tds-radio-group-description-line-height);
1991
- color:var(--tds-radio-group-description-color);
1992
- cursor:text;
1993
- }
1974
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
1975
+ display:flex;
1976
+ }
1994
1977
 
1995
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1996
- display:var(--tds-radio-group-description-invalid-icon-display);
1997
- flex-shrink:0;
1998
- margin-top:calc(.5lh - .5em);
1999
- line-height:var(--tds-radio-group-description-line-height);
1978
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
1979
+ flex-direction:column;
1980
+ gap:var(--t-spacing-half);
1981
+ width:100%;
2000
1982
  }
2001
1983
 
2002
- .tds-radio-group--sm{
2003
- --tds-radio-group-line-height:1.35;
2004
- --tds-radio-group-font-size:var(--t-font-size-sm);
2005
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
2006
- --tds-radio-group-description-line-height:1.3;
1984
+ .tds-sidenav-section-list{
1985
+ width:100%;
1986
+ padding:0;
1987
+ margin:0;
1988
+ list-style:none;
2007
1989
  }
2008
1990
 
1991
+ .tds-sidenav-section-header{
1992
+ display:flex;
1993
+ align-items:baseline;
1994
+ justify-content:space-between;
1995
+ padding-top:var(--t-spacing-2);
1996
+ }
2009
1997
 
2010
- :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{
2011
- -webkit-appearance:none;
2012
- appearance:none;
2013
- }
1998
+ .tds-sidenav-section-header h2{
1999
+ margin:0;
2000
+ font-size:var(--t-font-size-sm);
2001
+ font-weight:var(--t-font-weight-semibold);
2002
+ line-height:1.35;
2003
+ color:var(--t-text-color-secondary);
2004
+ text-transform:uppercase;
2005
+ }
2014
2006
 
2015
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
2016
- inline-size:1em;
2017
- block-size:2em;
2018
- }
2019
- @supports (field-sizing: content){
2020
- .tds-input--auto-width{
2021
- inline-size:-moz-fit-content;
2022
- inline-size:fit-content;
2023
- min-inline-size:min(100%, 122px);
2007
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
2008
+ padding-top:0;
2024
2009
  }
2025
2010
 
2026
- .tds-input--auto-width input{
2027
- field-sizing:content;
2028
- inline-size:auto;
2011
+ .tds-sidenav-section-header [slot="label-actions"]{
2012
+ display:flex;
2013
+ gap:var(--t-spacing-half);
2014
+ align-items:center;
2029
2015
  }
2030
- }
2031
2016
 
2032
- .tds-input:has(textarea){
2033
- --tds-input-padding-block:6px;
2034
- --tds-input-resizer-size:var(--t-element-size-sm);
2035
- --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");
2017
+ .tds-sidenav-section [slot="section-actions"]{
2018
+ display:flex;
2019
+ gap:12px;
2020
+ align-items:center;
2021
+ min-height:42px;
2022
+ padding:var(--t-spacing-1) 0;
2036
2023
  }
2037
2024
 
2038
- @supports (x: attr(x type(*))){
2039
-
2040
- .tds-input textarea{
2041
- --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
2025
+ .tds-sidenav-section-list,
2026
+ .tds-sidenav-item{
2027
+ width:100%;
2028
+ padding:0;
2029
+ margin:0;
2042
2030
  }
2031
+
2032
+ .tds-sidenav-item :is(a,button){
2033
+ position:relative;
2034
+ display:flex;
2035
+ gap:12px;
2036
+ align-items:center;
2037
+ width:100%;
2038
+ padding:12px;
2039
+ overflow:hidden;
2040
+ font-size:var(--t-font-size-sm);
2041
+ line-height:18px;
2042
+ color:var(--t-text-color-headline);
2043
+ white-space:nowrap;
2044
+ text-decoration:none;
2045
+ -webkit-appearance:none;
2046
+ -moz-appearance:none;
2047
+ appearance:none;
2048
+ cursor:pointer;
2049
+ background-color:var(--tds-sidenav-item-background, transparent);
2050
+ border:0;
2051
+ border-radius:var(--t-border-radius);
2052
+ transition:var(--tds-sidenav-item-transition);
2043
2053
  }
2044
2054
 
2045
- .tds-input.tds-textarea--resize-vertical textarea{
2046
- resize:vertical;
2055
+ :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
2056
+ display:block;
2057
+ flex:1;
2058
+ overflow:hidden;
2059
+ text-overflow:ellipsis;
2060
+ text-align:left;
2061
+ white-space:nowrap;
2047
2062
  }
2048
2063
 
2049
- .tds-input.tds-textarea--resize-none textarea{
2050
- resize:none;
2064
+ :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
2065
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
2066
+ color:var(--t-text-color-headline);
2067
+ text-decoration:none;
2051
2068
  }
2052
2069
 
2053
- .tds-input.tds-textarea--resize-auto textarea{
2054
- resize:vertical;
2070
+ :is(.tds-sidenav-item :is(a,button)):active{
2071
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
2055
2072
  }
2056
2073
 
2057
- @supports (field-sizing: content){
2058
- .tds-input.tds-textarea--resize-auto textarea{
2059
- field-sizing:content;
2060
- resize:none;
2061
- }
2074
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
2075
+ overflow:hidden;
2076
+ color:var(--tds-sidenav-item-icon-color);
2062
2077
  }
2063
2078
 
2064
- .tds-input textarea{
2065
- --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
2066
- --tds-input-scrollbar-thumb-color-hidden:transparent;
2067
- --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
2068
- --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
2069
- --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
2070
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
2071
- --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
2072
- --tds-input-scrollbar-thumb-border-radius:999px;
2073
- --tds-input-scrollbar-thumb-border-width:3px;
2074
- --tds-input-scrollbar-track-margin-block:.125rem;
2075
- scrollbar-color:initial;
2076
- transition-timing-function:var(--t-ease-in-out);
2077
- transition-duration:var(--t-duration-200);
2078
- transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
2079
- }
2079
+ :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{
2080
+ display:block;
2081
+ width:var(--tds-sidenav-item-icon-size);
2082
+ height:var(--tds-sidenav-item-icon-size);
2083
+ }
2080
2084
 
2081
- @media (pointer: fine){
2082
- :is(.tds-input textarea)::-webkit-scrollbar{
2083
- width:12px;
2084
- height:12px;
2085
- cursor:default;
2085
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
2086
+ --tds-sidenav-indent:19px;
2086
2087
  }
2087
2088
 
2088
- :is(.tds-input textarea)::-webkit-scrollbar-thumb{
2089
- cursor:default;
2090
- background:var(--tds-input-scrollbar-thumb-color);
2091
- background-clip:content-box;
2092
- border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
2093
- border-radius:var(--tds-input-scrollbar-thumb-border-radius);
2089
+ [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
2090
+ visibility:visible;
2091
+ block-size:auto;
2092
+ opacity:1;
2094
2093
  }
2095
2094
 
2096
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2097
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
2098
- }
2095
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
2096
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
2097
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
2099
2098
 
2100
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
2101
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
2102
- }
2099
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
2100
+ font-weight:var(--t-font-weight-semibold);
2101
+ }
2103
2102
 
2104
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
2105
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
2106
- }
2103
+ .tds-sidenav-item:has(.tds-sidenav-section){
2104
+ display:flex;
2105
+ flex-direction:column;
2106
+ gap:var(--t-spacing-half);
2107
+ }
2107
2108
 
2108
- :is(.tds-input textarea)::-webkit-scrollbar-corner{
2109
- background:var(--tds-input-scrollbar-surface-color);
2109
+ .tds-sidenav-item .tds-sidenav-section-list{
2110
+ --tds-sidenav-item-depth:1;
2111
+ gap:0;
2112
+ }
2113
+
2114
+ .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
2115
+ visibility:hidden;
2116
+ block-size:0;
2117
+ overflow-y:clip;
2118
+ opacity:0;
2119
+ transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
2110
2120
  }
2111
2121
 
2112
- :is(.tds-input textarea)::-webkit-resizer{
2113
- background:var(--tds-input-resizer-icon) no-repeat;
2114
- background-position:right bottom;
2115
- background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
2122
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
2123
+ --tds-sidenav-item-depth:2;
2116
2124
  }
2117
2125
 
2118
- :is(.tds-input textarea)::-webkit-scrollbar-track{
2119
- margin-block:var(--tds-input-scrollbar-track-margin-block);
2120
- cursor:default;
2126
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2127
+ min-height:var(--t-element-size-2xl);
2128
+ padding-block:9px;
2129
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
2130
+ line-height:1;
2131
+ background-color:transparent;
2121
2132
  }
2122
2133
 
2123
- @supports (-moz-appearance: none){
2124
- :is(.tds-input textarea){
2125
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
2126
- scrollbar-width:thin;
2134
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
2135
+ position:absolute;
2136
+ top:0;
2137
+ bottom:0;
2138
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2139
+ width:2px;
2140
+ content:"";
2141
+ background-color:var(--tds-sidenav-item-nested-border-color);
2142
+ transition:var(--tds-sidenav-item-transition);
2127
2143
  }
2128
2144
 
2129
- @media (hover){
2130
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2131
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
2132
- }
2145
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
2146
+ position:absolute;
2147
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2148
+ z-index:-1;
2149
+ height:100%;
2150
+ content:"";
2151
+ background-color:var(--tds-sidenav-item-nested-background);
2152
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
2153
+ transition:var(--tds-sidenav-item-transition);
2133
2154
  }
2134
- }
2135
- }
2136
-
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
2155
 
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);
2156
+ :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)){
2157
+ display:block;
2158
+ text-align:left;
2159
+ white-space:normal;
2160
+ }
2150
2161
 
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);
2162
+ :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{
2163
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
2164
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
2165
+ }
2154
2166
 
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;
2167
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
2168
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
2169
+ }
2159
2170
 
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;
2171
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2172
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
2173
+ font-weight:var(--t-font-weight-medium);
2174
+ }
2175
+
2176
+ .tds-sidenav-responsive-header{
2177
+ display:flex;
2178
+ gap:var(--t-spacing-2);
2179
+ align-items:center;
2180
+ width:100%;
2167
2181
  }
2168
2182
 
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
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
2184
+ order:0;
2183
2185
  }
2184
2186
 
2185
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2186
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2187
- }
2187
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
2188
+ flex:1;
2189
+ order:1;
2190
+ margin:0;
2191
+ font-size:var(--t-font-size-lg);
2192
+ font-weight:var(--t-font-weight-medium);
2193
+ color:var(--t-text-color-headline);
2194
+ }
2188
2195
 
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);
2196
+ @media (max-width: 719px){
2197
+ .tds-sidenav-collapse{
2198
+ z-index:10001;
2199
+ display:none;
2200
+ max-width:min(448px, calc(100vw - 48px));
2201
+ padding:0;
2202
+ margin:12px 0;
2203
+ position-area:bottom span-right;
2204
+ overflow:hidden;
2205
+ outline:0;
2206
+ background:var(--t-surface-color-card);
2207
+ border:0;
2208
+ border-radius:6px;
2209
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
2210
+ opacity:var(--tds-sidenav-collapse-open-opacity);
2211
+ transform:var(--tds-sidenav-collapse-open-transform);
2212
+ transition:var(--tds-sidenav-collapse-transition-enter);
2213
+ will-change:transform;
2199
2214
  }
2200
2215
 
2201
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2202
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2216
+ .tds-sidenav-scroll-container{
2217
+ --webkit-overflow-scrolling:touch;
2218
+ display:block;
2219
+ width:100%;
2220
+ height:-moz-fit-content;
2221
+ height:fit-content;
2222
+ padding:var(--t-spacing-2);
2223
+ overflow-y:auto;
2203
2224
  }
2204
2225
 
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)));
2226
+ .tds-sidenav-item :is(a, button) :is(.prefix){
2227
+ display:none;
2208
2228
  }
2229
+ @supports selector(:popover-open){
2230
+ .tds-sidenav-collapse:popover-open{
2231
+ display:flex;
2232
+ }
2209
2233
 
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);
2234
+ .tds-sidenav-collapse:not(:popover-open){
2235
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2236
+ transition:var(--tds-sidenav-collapse-transition-exit);
2212
2237
  }
2213
2238
 
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;
2239
+ @starting-style{
2240
+ .tds-sidenav-collapse:popover-open{
2241
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2242
+ transform:var(--tds-sidenav-collapse-closed-transform);
2243
+ }
2244
+ }
2219
2245
  }
2246
+ @supports not selector(:popover-open){
2247
+ .tds-sidenav-collapse.\:popover-open{
2248
+ display:flex;
2249
+ }
2220
2250
 
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);
2251
+ .tds-sidenav-collapse:not(.\:popover-open){
2252
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2253
+ transition:var(--tds-sidenav-collapse-transition-exit);
2254
+ }
2255
+ }
2229
2256
  }
2230
2257
 
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);
2258
+ @media (min-width: 720px){
2259
+ .tds-sidenav-responsive-header{
2260
+ display:none;
2242
2261
  }
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
2262
  }
2250
- }
2251
2263
 
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
- }
2264
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
2265
+ display:none;
2266
+ }
2263
2267
 
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
- }
2268
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
2269
+ display:block;
2270
+ }
2272
2271
 
2273
- .tds-toggle-switch--hide-label{
2274
- --tds-toggle-switch-display:inline-flex;
2275
- }
2272
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2273
+ display:flex;
2274
+ flex-direction:column;
2275
+ }
2276
2276
 
2277
2277
  .tds-input{
2278
2278
  --tds-input-border-color:var(--t-form-border-color);
@@ -4014,6 +4014,11 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
4014
4014
  padding-block:var(--tds-data-table-cell-padding-block);
4015
4015
  padding-inline:var(--tds-data-table-cell-padding-inline);
4016
4016
  }
4017
+ .tds-data-table-frame-footer{
4018
+ padding-block:var(--tds-data-table-cell-padding-block);
4019
+ padding-inline:var(--tds-data-table-cell-padding-inline);
4020
+ border-top:1px solid var(--tds-data-table-border-color);
4021
+ }
4017
4022
 
4018
4023
  .tds-data-table-results-count{
4019
4024
  margin:0;
@@ -4368,6 +4373,109 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
4368
4373
  }
4369
4374
  }
4370
4375
 
4376
+ .tds-pagination{
4377
+ --tds-pagination-background-color:var(--t-surface-color-canvas);
4378
+ --tds-pagination-page-background-color-hover:var(--t-fill-color-neutral-100);
4379
+ --tds-pagination-page-background-color-active:var(--t-fill-color-status-info-dim);
4380
+ --tds-pagination-page-border-color-hover:var(--t-border-color-control-info);
4381
+ --tds-pagination-page-border-radius:var(--t-border-radius-md);
4382
+ --tds-pagination-page-border-width:var(--t-border-width);
4383
+ --tds-pagination-page-color:var(--t-text-color-headline);
4384
+ --tds-pagination-page-color-hover:var(--t-text-color-interaction);
4385
+ --tds-pagination-page-current-background-color:var(--t-fill-color-control);
4386
+ --tds-pagination-page-current-color:var(--t-text-color-inverted);
4387
+ --tds-pagination-page-font-size:var(--t-font-size-md);
4388
+ --tds-pagination-page-min-size:34px;
4389
+
4390
+ container-type:inline-size;
4391
+ background-color:var(--tds-pagination-background-color);
4392
+ }
4393
+
4394
+ .tds-pagination .tds-btn--icononly{
4395
+ aspect-ratio:1;
4396
+ }
4397
+
4398
+ .tds-pagination-list{
4399
+ padding:0;
4400
+ margin:0;
4401
+ list-style:none;
4402
+ }
4403
+
4404
+ .tds-pagination-page{
4405
+ display:inline-flex;
4406
+ align-items:center;
4407
+ justify-content:center;
4408
+ min-width:var(--tds-pagination-page-min-size);
4409
+ height:var(--tds-pagination-page-min-size);
4410
+ padding-inline:var(--t-spacing-half);
4411
+ font-size:var(--tds-pagination-page-font-size);
4412
+ line-height:1;
4413
+ color:var(--tds-pagination-page-color);
4414
+ -webkit-user-select:none;
4415
+ -moz-user-select:none;
4416
+ user-select:none;
4417
+ background-color:transparent;
4418
+ border:var(--tds-pagination-page-border-width) solid transparent;
4419
+ border-radius:var(--tds-pagination-page-border-radius);
4420
+ }
4421
+
4422
+ .tds-pagination-page:is(button){
4423
+ cursor:pointer;
4424
+ }
4425
+
4426
+ .tds-pagination-page:is(button):hover{
4427
+ color:var(--tds-pagination-page-color-hover);
4428
+ background-color:var(--tds-pagination-page-background-color-hover);
4429
+ border-color:var(--tds-pagination-page-border-color-hover);
4430
+ }
4431
+
4432
+ .tds-pagination-page:is(button):active{
4433
+ background-color:var(--tds-pagination-page-background-color-active);
4434
+ }
4435
+
4436
+ .tds-pagination-page:is(button):focus-visible{
4437
+ position:relative;
4438
+ z-index:2;
4439
+ outline:var(--t-focus-ring-outline);
4440
+ outline-offset:var(--t-focus-ring-offset);
4441
+ }
4442
+
4443
+ .tds-pagination-page--current{
4444
+ font-weight:var(--t-font-weight-semibold);
4445
+ color:var(--tds-pagination-page-current-color);
4446
+ cursor:default;
4447
+ background-color:var(--tds-pagination-page-current-background-color);
4448
+ }
4449
+
4450
+ .tds-pagination-ellipsis{
4451
+ display:inline-flex;
4452
+ align-items:center;
4453
+ justify-content:center;
4454
+ height:var(--tds-pagination-page-min-size);
4455
+ aspect-ratio:1;
4456
+ font-size:var(--tds-pagination-page-font-size);
4457
+ line-height:1;
4458
+ color:var(--t-text-color-secondary);
4459
+ cursor:default;
4460
+ -webkit-user-select:none;
4461
+ -moz-user-select:none;
4462
+ user-select:none;
4463
+ }
4464
+
4465
+ .tds-pagination .tds-pagination-item--compact{
4466
+ display:none;
4467
+ }
4468
+
4469
+ @container (inline-size < 480px){
4470
+ .tds-pagination .tds-pagination-item--full{
4471
+ display:none;
4472
+ }
4473
+
4474
+ .tds-pagination .tds-pagination-item--compact{
4475
+ display:flex;
4476
+ }
4477
+ }
4478
+
4371
4479
  .t-banner{
4372
4480
  --t-banner-font-size:var(--t-font-size-md);
4373
4481
  --t-banner-font-color:var(--t-text-color);