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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -766,663 +766,771 @@
766
766
  [data-padding-inline-xl="7"]{ padding-inline:var(--t-spacing-7); }
767
767
  }
768
768
 
769
-
770
- @media (prefers-reduced-motion: no-preference){
771
-
772
- :root{
773
- interpolate-size:allow-keywords;
769
+ .tds-button-group{
770
+ display:inline-flex;
774
771
  }
775
- }
776
-
777
- @layer tds-component{
778
- tds-sidenav,
779
- .tds-sidenav{
780
- --tds-sidenav-indent:12px;
781
- --tds-sidenav-item-depth:0;
782
-
783
- --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
784
-
785
- --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;
786
- --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;
787
- --tds-sidenav-collapse-closed-opacity:0;
788
- --tds-sidenav-collapse-open-opacity:1;
789
- --tds-sidenav-collapse-closed-transform:translateY(-8px);
790
- --tds-sidenav-collapse-open-transform:translateY(0);
791
-
792
- --tds-sidenav-item-icon-size:var(--t-element-size-md);
793
- --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
794
- --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
795
- --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
796
-
797
- --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
798
- --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
799
- --tds-sidenav-item-nested-background-selected:transparent;
800
-
801
- --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
802
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
803
- --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
804
-
805
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
806
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
807
- }
772
+ .tds-button-group > .tds-btn{
773
+ --tds-button-group-item-z-index:1;
808
774
 
809
- @media (prefers-reduced-motion: reduce){
810
- tds-sidenav,
811
- .tds-sidenav{
812
- --tds-sidenav-collapse-transition-enter:none;
813
- --tds-sidenav-collapse-transition-exit:none;
814
- --tds-sidenav-collapse-closed-transform:none;
815
- --tds-sidenav-collapse-open-transform:none;
775
+ z-index:var(--tds-button-group-item-z-index);
776
+ border-radius:0;
816
777
  }
778
+ :is(.tds-button-group > .tds-btn):not(:first-child){
779
+ margin-inline-start:calc(var(--tds-btn-border-width) * -1);
817
780
  }
818
-
819
- .tds-sidenav--theme-gray{
820
- --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
821
- --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
822
- --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
823
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
824
- --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
781
+ :is(.tds-button-group > .tds-btn):hover{
782
+ --tds-button-group-item-z-index:2;
783
+ }
784
+ :is(.tds-button-group > .tds-btn):focus-visible{
785
+ --tds-button-group-item-z-index:5;
786
+ }
787
+ .tds-button-group > .tds-btn:first-child{
788
+ border-start-start-radius:var(--tds-btn-border-radius);
789
+ border-end-start-radius:var(--tds-btn-border-radius);
825
790
  }
826
- }
827
-
828
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
829
- display:flex;
791
+ .tds-button-group > .tds-btn:last-child{
792
+ border-start-end-radius:var(--tds-btn-border-radius);
793
+ border-end-end-radius:var(--tds-btn-border-radius);
830
794
  }
831
795
 
832
- .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
833
- flex-direction:column;
834
- gap:var(--t-spacing-half);
835
- width:100%;
836
- }
796
+ .tds-checkbox{
797
+ --tds-checkbox-font-size:var(--t-font-size-md);
798
+ --tds-checkbox-cursor:pointer;
799
+ --tds-checkbox-line-height:1.4;
800
+ --tds-checkbox-transition-property:background-color, border-color;
837
801
 
838
- .tds-sidenav-section-list{
839
- width:100%;
840
- padding:0;
841
- margin:0;
842
- list-style:none;
843
- }
802
+ --tds-checkbox-input-size:var(--t-element-size-md);
803
+ --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
804
+ --tds-checkbox-input-border-color:var(--t-form-border-color);
805
+ --tds-checkbox-input-background-color:var(--t-form-background-color);
844
806
 
845
- .tds-sidenav-section-header{
846
- display:flex;
847
- align-items:baseline;
848
- justify-content:space-between;
849
- padding-top:var(--t-spacing-2);
850
- }
807
+ --tds-checkbox-input-icon:none;
808
+ --tds-checkbox-input-icon-visibility:hidden;
809
+ --tds-checkbox-input-icon-opacity:0;
810
+ --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
851
811
 
852
- .tds-sidenav-section-header h2{
853
- margin:0;
854
- font-size:var(--t-font-size-sm);
855
- font-weight:var(--t-font-weight-semibold);
856
- line-height:1.35;
857
- color:var(--t-text-color-secondary);
858
- text-transform:uppercase;
859
- }
812
+ --tds-checkbox-label-color:var(--t-form-color);
860
813
 
861
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
862
- padding-top:0;
814
+ --tds-checkbox-description-font-size:var(--t-font-size-sm);
815
+ --tds-checkbox-description-line-height:1.35;
816
+ --tds-checkbox-description-color:var(--t-text-color-secondary);
817
+ --tds-checkbox-description-invalid-icon-display:none;
818
+
819
+ position:relative;
820
+ display:inline-grid;
821
+ grid-template-columns:auto;
822
+ grid-auto-columns:1fr;
823
+ gap:var(--t-spacing-fourth) 0;
824
+ line-height:var(--tds-checkbox-line-height);
825
+ -webkit-user-select:none;
826
+ -moz-user-select:none;
827
+ user-select:none;
828
+ }
829
+
830
+ .tds-checkbox label{
831
+ grid-area:1 / 2;
832
+ padding-inline-start:var(--t-spacing-1);
833
+ font-size:var(--tds-checkbox-font-size);
834
+ font-weight:var(--t-font-weight-normal);
835
+ color:var(--tds-checkbox-label-color);
836
+ cursor:var(--tds-checkbox-cursor);
863
837
  }
864
838
 
865
- .tds-sidenav-section-header [slot="label-actions"]{
839
+ .tds-checkbox tds-indeterminate{
866
840
  display:flex;
867
- gap:var(--t-spacing-half);
868
- align-items:center;
869
841
  }
870
842
 
871
- .tds-sidenav-section [slot="section-actions"]{
872
- display:flex;
873
- gap:12px;
874
- align-items:center;
875
- min-height:42px;
876
- padding:var(--t-spacing-1) 0;
877
- }
878
-
879
- .tds-sidenav-section-list,
880
- .tds-sidenav-item{
881
- width:100%;
882
- padding:0;
883
- margin:0;
884
- }
885
-
886
- .tds-sidenav-item :is(a,button){
843
+ .tds-checkbox input[type="checkbox"]{
887
844
  position:relative;
888
- display:flex;
889
- gap:12px;
890
- align-items:center;
891
- width:100%;
892
- padding:12px;
893
- overflow:hidden;
894
- font-size:var(--t-font-size-sm);
895
- line-height:18px;
896
- color:var(--t-text-color-headline);
897
- white-space:nowrap;
898
- text-decoration:none;
845
+ width:1em;
846
+ height:1em;
847
+ margin:calc((1lh - 1em) / 2) 0 0;
848
+ font-size:var(--tds-checkbox-font-size);
849
+ line-height:inherit;
899
850
  -webkit-appearance:none;
900
851
  -moz-appearance:none;
901
852
  appearance:none;
902
- cursor:pointer;
903
- background-color:var(--tds-sidenav-item-background, transparent);
904
- border:0;
905
- border-radius:var(--t-border-radius);
906
- transition:var(--tds-sidenav-item-transition);
853
+ cursor:var(--tds-checkbox-cursor);
854
+ background-color:var(--tds-checkbox-input-background-color);
855
+ border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
856
+ border-radius:var(--tds-checkbox-input-border-radius);
857
+ transition-timing-function:var(--t-ease-in-out);
858
+ transition-duration:var(--t-duration-200);
859
+ transition-property:var(--tds-checkbox-transition-property);
907
860
  }
908
861
 
909
- :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
910
- display:block;
911
- flex:1;
912
- overflow:hidden;
913
- text-overflow:ellipsis;
914
- text-align:left;
915
- white-space:nowrap;
862
+ :is(.tds-checkbox input[type="checkbox"])::before{
863
+ position:absolute;
864
+ top:50%;
865
+ left:50%;
866
+ visibility:var(--tds-checkbox-input-icon-visibility);
867
+ width:100%;
868
+ height:100%;
869
+ content:"";
870
+ background-color:var(--tds-checkbox-input-icon-fill);
871
+ border-radius:var(--tds-checkbox-input-border-radius);
872
+ opacity:var(--tds-checkbox-input-icon-opacity);
873
+ -webkit-mask-image:var(--tds-checkbox-input-icon);
874
+ mask-image:var(--tds-checkbox-input-icon);
875
+ -webkit-mask-repeat:no-repeat;
876
+ mask-repeat:no-repeat;
877
+ -webkit-mask-size:contain;
878
+ mask-size:contain;
879
+ transform:translate(-50%, -50%);
916
880
  }
917
881
 
918
- :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
919
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
920
- color:var(--t-text-color-headline);
921
- text-decoration:none;
882
+ :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
883
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
884
+ --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
922
885
  }
923
886
 
924
- :is(.tds-sidenav-item :is(a,button)):active{
925
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
887
+ :is(.tds-checkbox input[type="checkbox"]):focus-visible{
888
+ outline:var(--t-focus-ring-outline);
889
+ outline-offset:var(--t-focus-ring-offset);
926
890
  }
927
891
 
928
- :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
929
- overflow:hidden;
930
- color:var(--tds-sidenav-item-icon-color);
892
+ :is(.tds-checkbox input[type="checkbox"]):disabled{
893
+ pointer-events:none;
931
894
  }
932
895
 
933
- :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{
934
- display:block;
935
- width:var(--tds-sidenav-item-icon-size);
936
- height:var(--tds-sidenav-item-icon-size);
937
- }
896
+ @media (prefers-reduced-motion: reduce){
938
897
 
939
- :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
940
- --tds-sidenav-indent:19px;
898
+ .tds-checkbox input[type="checkbox"]{
899
+ --tds-checkbox-transition-property:none;
900
+ }
941
901
  }
942
902
 
943
- [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
944
- visibility:visible;
945
- block-size:auto;
946
- opacity:1;
903
+ .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
904
+ --tds-checkbox-input-background-color:var(--t-fill-color-control);
905
+ --tds-checkbox-input-border-color:var(--t-border-color-control-info);
906
+ --tds-checkbox-input-icon-visibility:visible;
907
+ --tds-checkbox-input-icon-opacity:1;
908
+ }
909
+
910
+ :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
911
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
912
+ --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
947
913
  }
948
914
 
949
- .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
950
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
951
- --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
952
-
953
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
954
- font-weight:var(--t-font-weight-semibold);
915
+ .tds-checkbox:has(input:checked){
916
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
955
917
  }
956
918
 
957
- .tds-sidenav-item:has(.tds-sidenav-section){
958
- display:flex;
959
- flex-direction:column;
960
- gap:var(--t-spacing-half);
919
+ .tds-checkbox:has(input:indeterminate){
920
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
961
921
  }
962
922
 
963
- .tds-sidenav-item .tds-sidenav-section-list{
964
- --tds-sidenav-item-depth:1;
965
- gap:0;
923
+ .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
924
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
925
+ --tds-checkbox-description-color:var(--t-text-color-status-error);
926
+ --tds-checkbox-description-invalid-icon-display:inline-block;
966
927
  }
967
928
 
968
- .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
969
- visibility:hidden;
970
- block-size:0;
971
- overflow-y:clip;
972
- opacity:0;
973
- transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
974
- }
975
-
976
- :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
977
- --tds-sidenav-item-depth:2;
929
+ :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
930
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
931
+ --tds-checkbox-input-background-color:var(--t-form-background-color-error);
978
932
  }
979
933
 
980
- :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
981
- min-height:var(--t-element-size-2xl);
982
- padding-block:9px;
983
- padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
984
- line-height:1;
985
- background-color:transparent;
934
+ :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{
935
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
936
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error);
986
937
  }
987
938
 
988
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
989
- position:absolute;
990
- top:0;
991
- bottom:0;
992
- left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
993
- width:2px;
994
- content:"";
995
- background-color:var(--tds-sidenav-item-nested-border-color);
996
- transition:var(--tds-sidenav-item-transition);
997
- }
998
-
999
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
1000
- position:absolute;
1001
- inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1002
- z-index:-1;
1003
- height:100%;
1004
- content:"";
1005
- background-color:var(--tds-sidenav-item-nested-background);
1006
- border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
1007
- transition:var(--tds-sidenav-item-transition);
939
+ :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){
940
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
941
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
1008
942
  }
1009
943
 
1010
- :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)){
1011
- display:block;
1012
- text-align:left;
1013
- white-space:normal;
1014
- }
944
+ .tds-checkbox:has(input:required) label::after{
945
+ margin-left:.25ch;
946
+ color:var(--t-text-color-status-error);
947
+ content:"*";
948
+ }
1015
949
 
1016
- :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{
1017
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
1018
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
1019
- }
950
+ .tds-checkbox:has(input:disabled){
951
+ --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
952
+ --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
1020
953
 
1021
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
1022
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
1023
- }
954
+ --tds-checkbox-label-color:var(--t-form-color-disabled);
955
+ --tds-checkbox-description-color:var(--t-form-color-disabled);
956
+ --tds-checkbox-cursor:not-allowed;
957
+ }
1024
958
 
1025
- .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1026
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
1027
- font-weight:var(--t-font-weight-medium);
959
+ .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
960
+ --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
1028
961
  }
1029
962
 
1030
- .tds-sidenav-responsive-header{
963
+ .tds-checkbox-description{
1031
964
  display:flex;
1032
- gap:var(--t-spacing-2);
1033
- align-items:center;
1034
- width:100%;
965
+ grid-area:2 / 2;
966
+ gap:var(--t-spacing-half);
967
+ align-items:flex-start;
968
+ padding-inline-start:var(--t-spacing-1);
969
+ margin:0;
970
+ font-size:var(--tds-checkbox-description-font-size);
971
+ line-height:var(--tds-checkbox-description-line-height);
972
+ color:var(--tds-checkbox-description-color);
973
+ cursor:text;
1035
974
  }
1036
975
 
1037
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
1038
- order:0;
1039
- }
1040
-
1041
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
1042
- flex:1;
1043
- order:1;
1044
- margin:0;
1045
- font-size:var(--t-font-size-lg);
1046
- font-weight:var(--t-font-weight-medium);
1047
- color:var(--t-text-color-headline);
976
+ .tds-checkbox-description .tds-checkbox-description-invalid-icon{
977
+ display:var(--tds-checkbox-description-invalid-icon-display);
978
+ flex-shrink:0;
979
+ margin-top:calc(.5lh - .5em);
980
+ line-height:var(--tds-checkbox-description-line-height);
1048
981
  }
1049
982
 
1050
- @media (max-width: 719px){
1051
- .tds-sidenav-collapse{
1052
- z-index:10001;
1053
- display:none;
1054
- max-width:min(448px, calc(100vw - 48px));
1055
- padding:0;
1056
- margin:12px 0;
1057
- position-area:bottom span-right;
1058
- overflow:hidden;
1059
- outline:0;
1060
- background:var(--t-surface-color-card);
1061
- border:0;
1062
- border-radius:6px;
1063
- box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
1064
- opacity:var(--tds-sidenav-collapse-open-opacity);
1065
- transform:var(--tds-sidenav-collapse-open-transform);
1066
- transition:var(--tds-sidenav-collapse-transition-enter);
1067
- will-change:transform;
1068
- }
983
+ .tds-checkbox--sm{
984
+ --tds-checkbox-line-height:1.35;
985
+ --tds-checkbox-input-size:var(--t-element-size-sm);
986
+ --tds-checkbox-font-size:var(--t-font-size-sm);
987
+ --tds-checkbox-description-font-size:var(--t-font-size-xs);
988
+ --tds-checkbox-description-line-height:1.3;
989
+ }
1069
990
 
1070
- .tds-sidenav-scroll-container{
1071
- --webkit-overflow-scrolling:touch;
1072
- display:block;
1073
- width:100%;
1074
- height:-moz-fit-content;
1075
- height:fit-content;
1076
- padding:var(--t-spacing-2);
1077
- overflow-y:auto;
1078
- }
991
+ .tds-combo-box{
992
+ --tds-combo-box-button-offset:4px;
993
+ }
1079
994
 
1080
- .tds-sidenav-item :is(a, button) :is(.prefix){
1081
- display:none;
995
+ .tds-combo-box[data-open] .tds-combo-box-button > svg{
996
+ transform:rotate(.5turn);
1082
997
  }
1083
- @supports selector(:popover-open){
1084
- .tds-sidenav-collapse:popover-open{
1085
- display:flex;
1086
- }
1087
-
1088
- .tds-sidenav-collapse:not(:popover-open){
1089
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1090
- transition:var(--tds-sidenav-collapse-transition-exit);
1091
- }
1092
998
 
1093
- @starting-style{
1094
- .tds-sidenav-collapse:popover-open{
1095
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1096
- transform:var(--tds-sidenav-collapse-closed-transform);
1097
- }
1098
- }
1099
- }
1100
- @supports not selector(:popover-open){
1101
- .tds-sidenav-collapse.\:popover-open{
1102
- display:flex;
1103
- }
999
+ .tds-combo-box--lg{
1000
+ --tds-combo-box-button-offset:5px;
1001
+ }
1104
1002
 
1105
- .tds-sidenav-collapse:not(.\:popover-open){
1106
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1107
- transition:var(--tds-sidenav-collapse-transition-exit);
1108
- }
1109
- }
1003
+ .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
1004
+ display:none;
1110
1005
  }
1111
1006
 
1112
- @media (min-width: 720px){
1113
- .tds-sidenav-responsive-header{
1114
- display:none;
1115
- }
1007
+ .tds-combo-box-input{
1008
+ display:flex;
1009
+ flex:1;
1010
+ align-items:center;
1011
+ padding-block:var(--tds-field-padding-block);
1012
+ padding-inline:var(--tds-field-padding-inline);
1013
+ font-family:inherit;
1014
+ font-size:inherit;
1015
+ color:inherit;
1016
+ outline:0;
1017
+ background:transparent;
1018
+ border:0;
1116
1019
  }
1117
1020
 
1118
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
1119
- display:none;
1120
- }
1021
+ .tds-combo-box-input:has( + .tds-combo-box-button){
1022
+ padding-inline-end:0;
1023
+ }
1121
1024
 
1122
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1123
- display:block;
1124
- }
1025
+ .tds-combo-box-input::-moz-placeholder{
1026
+ color:var(--tds-field-placeholder-color);
1027
+ -moz-user-select:none;
1028
+ user-select:none;
1029
+ }
1125
1030
 
1126
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1127
- display:flex;
1128
- flex-direction:column;
1129
- }
1031
+ .tds-combo-box-input::placeholder{
1032
+ color:var(--tds-field-placeholder-color);
1033
+ -webkit-user-select:none;
1034
+ -moz-user-select:none;
1035
+ user-select:none;
1036
+ }
1130
1037
 
1131
- .tds-button-group{
1132
- display:inline-flex;
1038
+ .tds-combo-box-button{
1039
+ flex-shrink:0;
1040
+ align-self:center;
1041
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1042
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1043
+ padding:0;
1044
+ margin-inline-end:var(--tds-combo-box-button-offset);
1133
1045
  }
1134
- .tds-button-group > .tds-btn{
1135
- --tds-button-group-item-z-index:1;
1136
1046
 
1137
- z-index:var(--tds-button-group-item-z-index);
1138
- border-radius:0;
1047
+ .tds-combo-box-button > svg{
1048
+ inline-size:var(--tds-field-font-size);
1049
+ block-size:var(--tds-field-font-size);
1050
+ transition:transform var(--t-duration-300) var(--t-ease-in-out);
1139
1051
  }
1140
- :is(.tds-button-group > .tds-btn):not(:first-child){
1141
- margin-inline-start: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);
1156
- }
1157
-
1158
- .tds-checkbox{
1159
- --tds-checkbox-font-size:var(--t-font-size-md);
1160
- --tds-checkbox-cursor:pointer;
1161
- --tds-checkbox-line-height:1.4;
1162
- --tds-checkbox-transition-property:background-color, border-color;
1163
-
1164
- --tds-checkbox-input-size:var(--t-element-size-md);
1165
- --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
1166
- --tds-checkbox-input-border-color:var(--t-form-border-color);
1167
- --tds-checkbox-input-background-color:var(--t-form-background-color);
1168
-
1169
- --tds-checkbox-input-icon:none;
1170
- --tds-checkbox-input-icon-visibility:hidden;
1171
- --tds-checkbox-input-icon-opacity:0;
1172
- --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
1173
-
1174
- --tds-checkbox-label-color:var(--t-form-color);
1175
-
1176
- --tds-checkbox-description-font-size:var(--t-font-size-sm);
1177
- --tds-checkbox-description-line-height:1.35;
1178
- --tds-checkbox-description-color:var(--t-text-color-secondary);
1179
- --tds-checkbox-description-invalid-icon-display:none;
1180
1052
 
1181
- position:relative;
1182
- display:inline-grid;
1183
- grid-template-columns:auto;
1184
- grid-auto-columns:1fr;
1185
- gap:var(--t-spacing-fourth) 0;
1186
- line-height:var(--tds-checkbox-line-height);
1053
+ .tds-combo-box-popover{
1054
+ width:var(--trigger-width);
1055
+ max-block-size:inherit;
1056
+ padding:var(--t-spacing-1);
1057
+ overflow:auto;
1058
+ scroll-behavior:smooth;
1059
+ overscroll-behavior:none;
1187
1060
  -webkit-user-select:none;
1188
1061
  -moz-user-select:none;
1189
1062
  user-select:none;
1063
+ outline:0;
1064
+ scrollbar-color:#0004 var(--t-surface-color-card);
1065
+ scrollbar-width:thin;
1066
+ background:var(--t-surface-color-card);
1067
+ background-clip:padding-box;
1068
+ border:1px solid var(--t-border-color);
1069
+ border-radius:var(--t-border-radius);
1070
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1190
1071
  }
1191
1072
 
1192
- .tds-checkbox label{
1193
- grid-area:1 / 2;
1194
- padding-inline-start:var(--t-spacing-1);
1195
- font-size:var(--tds-checkbox-font-size);
1196
- font-weight:var(--t-font-weight-normal);
1197
- color:var(--tds-checkbox-label-color);
1198
- cursor:var(--tds-checkbox-cursor);
1073
+ .tds-combo-box-popover[data-entering]{
1074
+ animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
1199
1075
  }
1200
1076
 
1201
- .tds-checkbox tds-indeterminate{
1202
- display:flex;
1077
+ .tds-combo-box-popover[data-exiting]{
1078
+ animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
1203
1079
  }
1204
1080
 
1205
- .tds-checkbox input[type="checkbox"]{
1206
- position:relative;
1207
- width:1em;
1208
- height:1em;
1209
- margin:calc((1lh - 1em) / 2) 0 0;
1210
- font-size:var(--tds-checkbox-font-size);
1211
- line-height:inherit;
1212
- -webkit-appearance:none;
1213
- -moz-appearance:none;
1214
- appearance:none;
1215
- cursor:var(--tds-checkbox-cursor);
1216
- background-color:var(--tds-checkbox-input-background-color);
1217
- border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
1218
- border-radius:var(--tds-checkbox-input-border-radius);
1219
- transition-timing-function:var(--t-ease-in-out);
1220
- transition-duration:var(--t-duration-200);
1221
- transition-property:var(--tds-checkbox-transition-property);
1081
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1082
+ will-change:opacity, transform;
1222
1083
  }
1223
1084
 
1224
- :is(.tds-checkbox input[type="checkbox"])::before{
1225
- position:absolute;
1226
- top:50%;
1227
- left:50%;
1228
- visibility:var(--tds-checkbox-input-icon-visibility);
1229
- width:100%;
1230
- height:100%;
1231
- content:"";
1232
- background-color:var(--tds-checkbox-input-icon-fill);
1233
- border-radius:var(--tds-checkbox-input-border-radius);
1234
- opacity:var(--tds-checkbox-input-icon-opacity);
1235
- -webkit-mask-image:var(--tds-checkbox-input-icon);
1236
- mask-image:var(--tds-checkbox-input-icon);
1237
- -webkit-mask-repeat:no-repeat;
1238
- mask-repeat:no-repeat;
1239
- -webkit-mask-size:contain;
1240
- mask-size:contain;
1241
- transform:translate(-50%, -50%);
1242
- }
1243
-
1244
- :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
1245
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
1246
- --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1247
- }
1248
-
1249
- :is(.tds-checkbox input[type="checkbox"]):focus-visible{
1250
- outline:var(--t-focus-ring-outline);
1251
- outline-offset:var(--t-focus-ring-offset);
1252
- }
1253
-
1254
- :is(.tds-checkbox input[type="checkbox"]):disabled{
1255
- pointer-events:none;
1256
- }
1085
+ @keyframes tds-combo-box-popover{
1086
+ from{
1087
+ opacity:0;
1088
+ transform:translateY(-8px);
1089
+ }
1090
+ }
1257
1091
 
1258
1092
  @media (prefers-reduced-motion: reduce){
1259
-
1260
- .tds-checkbox input[type="checkbox"]{
1261
- --tds-checkbox-transition-property:none;
1262
- }
1093
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1094
+ animation:none;
1263
1095
  }
1264
1096
 
1265
- .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
1266
- --tds-checkbox-input-background-color:var(--t-fill-color-control);
1267
- --tds-checkbox-input-border-color:var(--t-border-color-control-info);
1268
- --tds-checkbox-input-icon-visibility:visible;
1269
- --tds-checkbox-input-icon-opacity:1;
1097
+ .tds-combo-box-button > svg{
1098
+ transition:none;
1270
1099
  }
1100
+ }
1271
1101
 
1272
- :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
1273
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
1274
- --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
1275
- }
1102
+ .tds-combo-box-list{
1103
+ padding:0;
1104
+ margin:0;
1105
+ }
1276
1106
 
1277
- .tds-checkbox:has(input:checked){
1278
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1107
+ .tds-combo-box-list-item{
1108
+ display:block;
1109
+ padding-block:var(--t-spacing-1);
1110
+ padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1111
+ overflow:hidden;
1112
+ text-overflow:ellipsis;
1113
+ font-size:1rem;
1114
+ color:var(--t-text-color);
1115
+ white-space:nowrap;
1116
+ cursor:default;
1117
+ border-radius:var(--t-border-radius);
1118
+ }
1119
+
1120
+ .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
1121
+ background:var(--t-fill-color-neutral-070);
1279
1122
  }
1280
1123
 
1281
- .tds-checkbox:has(input:indeterminate){
1282
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1124
+ .tds-combo-box-list-item[data-selected]{
1125
+ background:var(--t-fill-color-button-interaction-ghost-active);
1283
1126
  }
1284
1127
 
1285
- .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
1286
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1287
- --tds-checkbox-description-color:var(--t-text-color-status-error);
1288
- --tds-checkbox-description-invalid-icon-display:inline-block;
1128
+ .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
1129
+ background:var(--t-fill-color-neutral-060);
1289
1130
  }
1290
1131
 
1291
- :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
1292
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1293
- --tds-checkbox-input-background-color:var(--t-form-background-color-error);
1294
- }
1132
+ .tds-combo-box-list-item[data-disabled]{
1133
+ color:var(--t-form-color-disabled);
1134
+ cursor:not-allowed;
1135
+ }
1295
1136
 
1296
- :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{
1297
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1298
- --tds-checkbox-input-background-color:var(--t-form-border-color-error);
1137
+ .tds-combo-box-list-item[data-disabled][data-hovered]{
1138
+ background:transparent;
1299
1139
  }
1300
1140
 
1301
- :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){
1302
- --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
1303
- --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
1304
- }
1141
+ .tds-combo-box-empty-state{
1142
+ position:relative;
1143
+ min-block-size:var(--t-spacing-3);
1144
+ padding-block:var(--t-spacing-1);
1145
+ padding-inline:var(--t-spacing-2);
1146
+ font-size:var(--t-font-size-md);
1147
+ color:var(--t-text-color-secondary);
1148
+ }
1305
1149
 
1306
- .tds-checkbox:has(input:required) label::after{
1307
- margin-left:.25ch;
1308
- color:var(--t-text-color-status-error);
1309
- content:"*";
1310
- }
1150
+ .tds-combo-box-load-more{
1151
+ position:relative;
1152
+ min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
1153
+ }
1311
1154
 
1312
- .tds-checkbox:has(input:disabled){
1313
- --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
1314
- --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
1155
+ .tds-combo-box-empty-state,
1156
+ .tds-combo-box-load-more{
1157
+ --tds-loading-spinner-visibility:visible;
1158
+ --tds-loading-spinner-animation-play-state:running;
1159
+ }
1315
1160
 
1316
- --tds-checkbox-label-color:var(--t-form-color-disabled);
1317
- --tds-checkbox-description-color:var(--t-form-color-disabled);
1318
- --tds-checkbox-cursor:not-allowed;
1161
+ .tds-combo-box-list-section:not(:first-child){
1162
+ margin-block-start:var(--t-spacing-half);
1319
1163
  }
1320
1164
 
1321
- .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
1322
- --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
1323
- }
1324
-
1325
- .tds-checkbox-description{
1326
- display:flex;
1327
- grid-area:2 / 2;
1328
- gap:var(--t-spacing-half);
1329
- align-items:flex-start;
1330
- padding-inline-start:var(--t-spacing-1);
1331
- margin:0;
1332
- font-size:var(--tds-checkbox-description-font-size);
1333
- line-height:var(--tds-checkbox-description-line-height);
1334
- color:var(--tds-checkbox-description-color);
1335
- cursor:text;
1165
+ .tds-combo-box-section-header{
1166
+ padding-block:var(--t-spacing-1);
1167
+ padding-inline:var(--t-spacing-1);
1168
+ font-size:var(--t-font-size-sm);
1169
+ font-weight:var(--t-font-weight-semibold);
1170
+ color:var(--t-text-color-secondary);
1336
1171
  }
1337
1172
 
1338
- .tds-checkbox-description .tds-checkbox-description-invalid-icon{
1339
- display:var(--tds-checkbox-description-invalid-icon-display);
1340
- flex-shrink:0;
1341
- margin-top:calc(.5lh - .5em);
1342
- line-height:var(--tds-checkbox-description-line-height);
1343
- }
1344
1173
 
1345
- .tds-checkbox--sm{
1346
- --tds-checkbox-line-height:1.35;
1347
- --tds-checkbox-input-size:var(--t-element-size-sm);
1348
- --tds-checkbox-font-size:var(--t-font-size-sm);
1349
- --tds-checkbox-description-font-size:var(--t-font-size-xs);
1350
- --tds-checkbox-description-line-height:1.3;
1174
+ @media (prefers-reduced-motion: no-preference){
1175
+
1176
+ :root{
1177
+ interpolate-size:allow-keywords;
1351
1178
  }
1179
+ }
1352
1180
 
1353
- .tds-checkbox-group{
1354
- --tds-checkbox-group-font-size:var(--t-font-size-md);
1355
- --tds-checkbox-group-line-height:1.4;
1356
- --tds-checkbox-group-gap:var(--t-spacing-1);
1181
+ @layer tds-component{
1182
+ tds-sidenav,
1183
+ .tds-sidenav{
1184
+ --tds-sidenav-indent:12px;
1185
+ --tds-sidenav-item-depth:0;
1357
1186
 
1358
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1359
- --tds-checkbox-group-description-line-height:1.35;
1360
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1361
- --tds-checkbox-group-description-invalid-icon-display:none;
1187
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
1188
+
1189
+ --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;
1190
+ --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;
1191
+ --tds-sidenav-collapse-closed-opacity:0;
1192
+ --tds-sidenav-collapse-open-opacity:1;
1193
+ --tds-sidenav-collapse-closed-transform:translateY(-8px);
1194
+ --tds-sidenav-collapse-open-transform:translateY(0);
1195
+
1196
+ --tds-sidenav-item-icon-size:var(--t-element-size-md);
1197
+ --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
1198
+ --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
1199
+ --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
1200
+
1201
+ --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
1202
+ --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
1203
+ --tds-sidenav-item-nested-background-selected:transparent;
1204
+
1205
+ --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
1206
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1207
+ --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
1208
+
1209
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
1210
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
1211
+ }
1212
+
1213
+ @media (prefers-reduced-motion: reduce){
1214
+ tds-sidenav,
1215
+ .tds-sidenav{
1216
+ --tds-sidenav-collapse-transition-enter:none;
1217
+ --tds-sidenav-collapse-transition-exit:none;
1218
+ --tds-sidenav-collapse-closed-transform:none;
1219
+ --tds-sidenav-collapse-open-transform:none;
1220
+ }
1221
+ }
1222
+
1223
+ .tds-sidenav--theme-gray{
1224
+ --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
1225
+ --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
1226
+ --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
1227
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1228
+ --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
1229
+ }
1230
+ }
1231
+
1232
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
1233
+ display:flex;
1234
+ }
1235
+
1236
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
1237
+ flex-direction:column;
1238
+ gap:var(--t-spacing-half);
1239
+ width:100%;
1240
+ }
1241
+
1242
+ .tds-sidenav-section-list{
1243
+ width:100%;
1244
+ padding:0;
1245
+ margin:0;
1246
+ list-style:none;
1247
+ }
1248
+
1249
+ .tds-sidenav-section-header{
1362
1250
  display:flex;
1363
- flex-direction:column;
1364
- gap:0;
1251
+ align-items:baseline;
1252
+ justify-content:space-between;
1253
+ padding-top:var(--t-spacing-2);
1254
+ }
1255
+
1256
+ .tds-sidenav-section-header h2{
1257
+ margin:0;
1258
+ font-size:var(--t-font-size-sm);
1259
+ font-weight:var(--t-font-weight-semibold);
1260
+ line-height:1.35;
1261
+ color:var(--t-text-color-secondary);
1262
+ text-transform:uppercase;
1263
+ }
1264
+
1265
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
1266
+ padding-top:0;
1267
+ }
1268
+
1269
+ .tds-sidenav-section-header [slot="label-actions"]{
1270
+ display:flex;
1271
+ gap:var(--t-spacing-half);
1272
+ align-items:center;
1273
+ }
1274
+
1275
+ .tds-sidenav-section [slot="section-actions"]{
1276
+ display:flex;
1277
+ gap:12px;
1278
+ align-items:center;
1279
+ min-height:42px;
1280
+ padding:var(--t-spacing-1) 0;
1281
+ }
1282
+
1283
+ .tds-sidenav-section-list,
1284
+ .tds-sidenav-item{
1285
+ width:100%;
1365
1286
  padding:0;
1366
1287
  margin:0;
1288
+ }
1367
1289
 
1368
- font-size:var(--tds-checkbox-group-font-size);
1369
- line-height:var(--tds-checkbox-group-line-height);
1370
- border:0;
1290
+ .tds-sidenav-item :is(a,button){
1291
+ position:relative;
1292
+ display:flex;
1293
+ gap:12px;
1294
+ align-items:center;
1295
+ width:100%;
1296
+ padding:12px;
1297
+ overflow:hidden;
1298
+ font-size:var(--t-font-size-sm);
1299
+ line-height:18px;
1300
+ color:var(--t-text-color-headline);
1301
+ white-space:nowrap;
1302
+ text-decoration:none;
1303
+ -webkit-appearance:none;
1304
+ -moz-appearance:none;
1305
+ appearance:none;
1306
+ cursor:pointer;
1307
+ background-color:var(--tds-sidenav-item-background, transparent);
1308
+ border:0;
1309
+ border-radius:var(--t-border-radius);
1310
+ transition:var(--tds-sidenav-item-transition);
1311
+ }
1312
+
1313
+ :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
1314
+ display:block;
1315
+ flex:1;
1316
+ overflow:hidden;
1317
+ text-overflow:ellipsis;
1318
+ text-align:left;
1319
+ white-space:nowrap;
1320
+ }
1321
+
1322
+ :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
1323
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
1324
+ color:var(--t-text-color-headline);
1325
+ text-decoration:none;
1326
+ }
1327
+
1328
+ :is(.tds-sidenav-item :is(a,button)):active{
1329
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
1330
+ }
1331
+
1332
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
1333
+ overflow:hidden;
1334
+ color:var(--tds-sidenav-item-icon-color);
1335
+ }
1336
+
1337
+ :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{
1338
+ display:block;
1339
+ width:var(--tds-sidenav-item-icon-size);
1340
+ height:var(--tds-sidenav-item-icon-size);
1341
+ }
1342
+
1343
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
1344
+ --tds-sidenav-indent:19px;
1345
+ }
1346
+
1347
+ [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
1348
+ visibility:visible;
1349
+ block-size:auto;
1350
+ opacity:1;
1351
+ }
1352
+
1353
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
1354
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
1355
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
1356
+
1357
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
1358
+ font-weight:var(--t-font-weight-semibold);
1359
+ }
1360
+
1361
+ .tds-sidenav-item:has(.tds-sidenav-section){
1362
+ display:flex;
1363
+ flex-direction:column;
1364
+ gap:var(--t-spacing-half);
1365
+ }
1366
+
1367
+ .tds-sidenav-item .tds-sidenav-section-list{
1368
+ --tds-sidenav-item-depth:1;
1369
+ gap:0;
1370
+ }
1371
+
1372
+ .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
1373
+ visibility:hidden;
1374
+ block-size:0;
1375
+ overflow-y:clip;
1376
+ opacity:0;
1377
+ transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
1378
+ }
1379
+
1380
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
1381
+ --tds-sidenav-item-depth:2;
1382
+ }
1383
+
1384
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1385
+ min-height:var(--t-element-size-2xl);
1386
+ padding-block:9px;
1387
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
1388
+ line-height:1;
1389
+ background-color:transparent;
1390
+ }
1391
+
1392
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
1393
+ position:absolute;
1394
+ top:0;
1395
+ bottom:0;
1396
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1397
+ width:2px;
1398
+ content:"";
1399
+ background-color:var(--tds-sidenav-item-nested-border-color);
1400
+ transition:var(--tds-sidenav-item-transition);
1401
+ }
1402
+
1403
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
1404
+ position:absolute;
1405
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1406
+ z-index:-1;
1407
+ height:100%;
1408
+ content:"";
1409
+ background-color:var(--tds-sidenav-item-nested-background);
1410
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
1411
+ transition:var(--tds-sidenav-item-transition);
1412
+ }
1413
+
1414
+ :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)){
1415
+ display:block;
1416
+ text-align:left;
1417
+ white-space:normal;
1418
+ }
1419
+
1420
+ :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{
1421
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
1422
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
1423
+ }
1424
+
1425
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
1426
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
1427
+ }
1428
+
1429
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1430
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
1431
+ font-weight:var(--t-font-weight-medium);
1432
+ }
1433
+
1434
+ .tds-sidenav-responsive-header{
1435
+ display:flex;
1436
+ gap:var(--t-spacing-2);
1437
+ align-items:center;
1438
+ width:100%;
1371
1439
  }
1372
1440
 
1373
- .tds-checkbox-group legend{
1374
- float:left;
1375
- padding:0;
1441
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
1442
+ order:0;
1443
+ }
1444
+
1445
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
1446
+ flex:1;
1447
+ order:1;
1376
1448
  margin:0;
1449
+ font-size:var(--t-font-size-lg);
1450
+ font-weight:var(--t-font-weight-medium);
1451
+ color:var(--t-text-color-headline);
1377
1452
  }
1378
1453
 
1379
- .tds-checkbox-group[aria-invalid="true"]{
1380
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1381
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
1454
+ @media (max-width: 719px){
1455
+ .tds-sidenav-collapse{
1456
+ z-index:10001;
1457
+ display:none;
1458
+ max-width:min(448px, calc(100vw - 48px));
1459
+ padding:0;
1460
+ margin:12px 0;
1461
+ position-area:bottom span-right;
1462
+ overflow:hidden;
1463
+ outline:0;
1464
+ background:var(--t-surface-color-card);
1465
+ border:0;
1466
+ border-radius:6px;
1467
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
1468
+ opacity:var(--tds-sidenav-collapse-open-opacity);
1469
+ transform:var(--tds-sidenav-collapse-open-transform);
1470
+ transition:var(--tds-sidenav-collapse-transition-enter);
1471
+ will-change:transform;
1472
+ }
1473
+
1474
+ .tds-sidenav-scroll-container{
1475
+ --webkit-overflow-scrolling:touch;
1476
+ display:block;
1477
+ width:100%;
1478
+ height:-moz-fit-content;
1479
+ height:fit-content;
1480
+ padding:var(--t-spacing-2);
1481
+ overflow-y:auto;
1482
+ }
1483
+
1484
+ .tds-sidenav-item :is(a, button) :is(.prefix){
1485
+ display:none;
1382
1486
  }
1487
+ @supports selector(:popover-open){
1488
+ .tds-sidenav-collapse:popover-open{
1489
+ display:flex;
1490
+ }
1383
1491
 
1384
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1385
- margin-left:.25ch;
1386
- color:var(--t-text-color-status-error);
1387
- content:"*";
1492
+ .tds-sidenav-collapse:not(:popover-open){
1493
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1494
+ transition:var(--tds-sidenav-collapse-transition-exit);
1388
1495
  }
1389
1496
 
1390
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1391
- content:none;
1497
+ @starting-style{
1498
+ .tds-sidenav-collapse:popover-open{
1499
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1500
+ transform:var(--tds-sidenav-collapse-closed-transform);
1501
+ }
1502
+ }
1503
+ }
1504
+ @supports not selector(:popover-open){
1505
+ .tds-sidenav-collapse.\:popover-open{
1506
+ display:flex;
1392
1507
  }
1393
1508
 
1394
- .tds-checkbox-group-fields{
1395
- display:flex;
1396
- flex-direction:column;
1397
- gap:var(--tds-checkbox-group-gap);
1398
- align-items:flex-start;
1399
- margin-top:var(--t-spacing-1);
1509
+ .tds-sidenav-collapse:not(.\:popover-open){
1510
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1511
+ transition:var(--tds-sidenav-collapse-transition-exit);
1512
+ }
1513
+ }
1400
1514
  }
1401
1515
 
1402
- .tds-checkbox-group-description{
1403
- display:flex;
1404
- gap:var(--t-spacing-half);
1405
- align-items:flex-start;
1406
- margin:var(--t-spacing-fourth) 0 0;
1407
- font-size:var(--tds-checkbox-group-description-font-size);
1408
- line-height:var(--tds-checkbox-group-description-line-height);
1409
- color:var(--tds-checkbox-group-description-color);
1410
- cursor:text;
1516
+ @media (min-width: 720px){
1517
+ .tds-sidenav-responsive-header{
1518
+ display:none;
1519
+ }
1411
1520
  }
1412
1521
 
1413
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1414
- display:var(--tds-checkbox-group-description-invalid-icon-display);
1415
- flex-shrink:0;
1416
- margin-top:calc(.5lh - .5em);
1417
- line-height:var(--tds-checkbox-group-description-line-height);
1418
- }
1522
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
1523
+ display:none;
1524
+ }
1419
1525
 
1420
- .tds-checkbox-group--sm{
1421
- --tds-checkbox-group-line-height:1.35;
1422
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
1423
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1424
- --tds-checkbox-group-description-line-height:1.3;
1425
- }
1526
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1527
+ display:block;
1528
+ }
1529
+
1530
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1531
+ display:flex;
1532
+ flex-direction:column;
1533
+ }
1426
1534
 
1427
1535
  .tds-dropdown-popover{
1428
1536
  min-inline-size:10rem;
@@ -1558,6 +1666,104 @@ a.tds-dropdown-item:is(:hover, :active){
1558
1666
  border-top:1px solid var(--t-border-color);
1559
1667
  }
1560
1668
 
1669
+ .tds-checkbox-group{
1670
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
1671
+ --tds-checkbox-group-line-height:1.4;
1672
+ --tds-checkbox-group-gap:var(--t-spacing-1);
1673
+
1674
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1675
+ --tds-checkbox-group-description-line-height:1.35;
1676
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1677
+ --tds-checkbox-group-description-invalid-icon-display:none;
1678
+ display:flex;
1679
+ flex-direction:column;
1680
+ gap:0;
1681
+ padding:0;
1682
+ margin:0;
1683
+
1684
+ font-size:var(--tds-checkbox-group-font-size);
1685
+ line-height:var(--tds-checkbox-group-line-height);
1686
+ border:0;
1687
+ }
1688
+
1689
+ .tds-checkbox-group legend{
1690
+ float:left;
1691
+ padding:0;
1692
+ margin:0;
1693
+ }
1694
+
1695
+ .tds-checkbox-group[aria-invalid="true"]{
1696
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1697
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
1698
+ }
1699
+
1700
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1701
+ margin-left:.25ch;
1702
+ color:var(--t-text-color-status-error);
1703
+ content:"*";
1704
+ }
1705
+
1706
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1707
+ content:none;
1708
+ }
1709
+
1710
+ .tds-checkbox-group-fields{
1711
+ display:flex;
1712
+ flex-direction:column;
1713
+ gap:var(--tds-checkbox-group-gap);
1714
+ align-items:flex-start;
1715
+ margin-top:var(--t-spacing-1);
1716
+ }
1717
+
1718
+ .tds-checkbox-group-description{
1719
+ display:flex;
1720
+ gap:var(--t-spacing-half);
1721
+ align-items:flex-start;
1722
+ margin:var(--t-spacing-fourth) 0 0;
1723
+ font-size:var(--tds-checkbox-group-description-font-size);
1724
+ line-height:var(--tds-checkbox-group-description-line-height);
1725
+ color:var(--tds-checkbox-group-description-color);
1726
+ cursor:text;
1727
+ }
1728
+
1729
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1730
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
1731
+ flex-shrink:0;
1732
+ margin-top:calc(.5lh - .5em);
1733
+ line-height:var(--tds-checkbox-group-description-line-height);
1734
+ }
1735
+
1736
+ .tds-checkbox-group--sm{
1737
+ --tds-checkbox-group-line-height:1.35;
1738
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
1739
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1740
+ --tds-checkbox-group-description-line-height:1.3;
1741
+ }
1742
+
1743
+
1744
+ :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{
1745
+ -webkit-appearance:none;
1746
+ appearance:none;
1747
+ }
1748
+
1749
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1750
+ inline-size:1em;
1751
+ block-size:2em;
1752
+ }
1753
+
1754
+ @supports (field-sizing: content){
1755
+ .tds-input--auto-width{
1756
+ inline-size:-moz-fit-content;
1757
+ inline-size:fit-content;
1758
+ min-inline-size:min(100%, 122px);
1759
+ }
1760
+
1761
+ .tds-input--auto-width input{
1762
+ field-sizing:content;
1763
+ inline-size:auto;
1764
+ }
1765
+ }
1766
+
1561
1767
  .tds-modal-overlay{
1562
1768
  position:fixed;
1563
1769
  inset:0;
@@ -1702,210 +1908,282 @@ a.tds-dropdown-item:is(:hover, :active){
1702
1908
  margin-inline-end:auto;
1703
1909
  }
1704
1910
 
1911
+ @layer t-critical{
1912
+ tds-page-header:not(.hydrated){
1913
+ display:none;
1914
+ }
1915
+ }
1705
1916
 
1706
- :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{
1707
- -webkit-appearance:none;
1708
- appearance:none;
1709
- }
1917
+ @layer t-component{
1918
+ .tds-page-header{
1919
+ --tds-page-header-background-color:var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-canvas));
1920
+ --tds-page-header-background-color-inactive:var(--t-fill-color-neutral-090);
1921
+ --tds-page-header-color:var(--t-text-color);
1922
+ --tds-page-header-bottom-border-color:transparent;
1923
+ --tds-page-header-headline-color:var(--t-text-color-headline);
1924
+ --tds-page-header-headline-font-size:var(--t-font-size-2xl);
1925
+ --tds-page-header-padding-x:var(--t-spacing-2);
1926
+ --tds-page-header-padding-y:var(--t-spacing-2);
1927
+ --tds-page-header-nav-padding-x:var(--tds-page-header-padding-x, var(--t-spacing-3));
1928
+ --tds-page-header-nav-gap:var(--t-spacing-1);
1929
+ --tds-page-header-nav-background:linear-gradient(180deg, var(--tds-page-header-nav-background-start, rgba(0, 0, 0, 0)) 0%, var(--tds-page-header-nav-background-end, rgba(0, 0, 0, .1)) 100%);
1930
+ --tds-page-header-nav-item-padding-x:var(--t-spacing-1);
1931
+ --tds-page-header-nav-item-padding-y:var(--t-spacing-1);
1932
+ --tds-page-header-nav-item-color:var(--t-text-color-secondary);
1933
+ --tds-page-header-nav-item-background-color:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 35%);
1934
+ --tds-page-header-nav-item-border-width:1px;
1710
1935
 
1711
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1712
- inline-size:1em;
1713
- block-size:2em;
1714
- }
1936
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-background-color);
1937
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color);
1715
1938
 
1716
- @supports (field-sizing: content){
1717
- .tds-input--auto-width{
1718
- inline-size:-moz-fit-content;
1719
- inline-size:fit-content;
1720
- min-inline-size:min(100%, 122px);
1939
+ --tds-page-header-nav-item-color-hover:var(--t-text-color);
1940
+ --tds-page-header-nav-item-background-color-hover:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 20%);
1941
+ --tds-page-header-nav-item-border-color-hover:var(--tds-page-header-nav-item-background-color-hover);
1942
+
1943
+ --tds-page-header-nav-item-background-color-active:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 10%);
1944
+ --tds-page-header-nav-item-border-color-active:var(--tds-page-header-nav-item-background-color-active);
1945
+
1946
+ --tds-page-header-nav-item-color-disabled:var(--t-text-color-disabled);
1947
+ --tds-page-header-nav-item-background-color-disabled:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 50%);
1948
+ --tds-page-header-nav-item-border-color-disabled:var(--tds-page-header-nav-item-background-color-disabled);
1949
+
1950
+ --tds-page-header-nav-item-color-selected:var(--t-text-color);
1951
+ --tds-page-header-nav-item-background-color-selected:var(--t-surface-color-canvas);
1952
+ --tds-page-header-nav-item-border-color-selected:var(--tds-page-header-nav-item-background-color-selected);
1953
+ --tds-page-header-nav-item-border-bottom-color-selected:var(--tds-page-header-nav-item-background-color-selected);
1954
+ --tds-page-header-nav-item-indicator-color:var(--t-icon-color-status-warning);
1721
1955
  }
1722
1956
 
1723
- .tds-input--auto-width input{
1724
- field-sizing:content;
1725
- inline-size:auto;
1957
+ .tds-page-header--profile{
1958
+ --tds-page-header-padding-y:20px;
1726
1959
  }
1727
- }
1728
1960
 
1729
- .tds-combo-box{
1730
- --tds-combo-box-button-offset:4px;
1731
- }
1961
+ @supports (color: light-dark(#fff, #000)){
1962
+ .tds-page-header{
1963
+ --tds-page-header-nav-background-start:light-dark(rgba(0, 0, 0, 0), rgba(255, 255, 255, 0));
1964
+ --tds-page-header-nav-background-end:light-dark(rgba(0, 0, 0, .05), rgba(255, 255, 255, .1));
1965
+ }
1966
+ }
1732
1967
 
1733
- .tds-combo-box[data-open] .tds-combo-box-button > svg{
1734
- transform:rotate(.5turn);
1968
+ @media (min-width: 600px){
1969
+ .tds-page-header{
1970
+ --tds-page-header-background-color:var(--t-surface-color-canvas);
1971
+ --tds-page-header-color:var(--t-text-color-secondary);
1972
+ --tds-page-header-bottom-border-color:var(--t-border-color);
1973
+ --tds-page-header-padding-x:var(--t-spacing-3);
1974
+ --tds-page-header-headline-font-size:var(--t-font-size-3xl);
1975
+ --tds-page-header-nav-gap:var(--t-spacing-half);
1976
+ --tds-page-header-nav-background:transparent;
1977
+ --tds-page-header-nav-item-padding-x:var(--t-spacing-2);
1978
+ --tds-page-header-nav-item-border-width:1px;
1979
+ --tds-page-header-nav-item-color:var(--t-text-color);
1980
+ --tds-page-header-nav-item-background-color:var(--t-fill-color-neutral-070);
1981
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-bottom-border-color);
1982
+ --tds-page-header-nav-item-background-color-hover:var(--t-fill-color-neutral-060);
1983
+ --tds-page-header-nav-item-background-color-active:var(--t-fill-color-neutral-050);
1984
+ --tds-page-header-nav-item-background-color-disabled:var(--t-fill-color-neutral-080);
1985
+ --tds-page-header-nav-item-border-color-selected:var(--t-border-color);
1986
+ }
1735
1987
  }
1736
-
1737
- .tds-combo-box--lg{
1738
- --tds-combo-box-button-offset:5px;
1739
- }
1740
-
1741
- .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
1742
- display:none;
1743
1988
  }
1744
1989
 
1745
- .tds-combo-box-input{
1990
+ .tds-page-header{
1746
1991
  display:flex;
1747
- flex:1;
1748
- align-items:center;
1749
- padding-block:var(--tds-field-padding-block);
1750
- padding-inline:var(--tds-field-padding-inline);
1751
- font-family:inherit;
1752
- font-size:inherit;
1753
- color:inherit;
1754
- outline:0;
1755
- background:transparent;
1756
- border:0;
1992
+ flex-direction:column;
1993
+ padding-top:var(--tds-page-header-padding-y);
1994
+ color:var(--tds-page-header-color);
1995
+ background:var(--tds-page-header-background-color);
1996
+ border-bottom:1px solid var(--tds-page-header-bottom-border-color);
1757
1997
  }
1758
1998
 
1759
- .tds-combo-box-input:has( + .tds-combo-box-button){
1760
- padding-inline-end:0;
1999
+ .tds-page-header:not(.has-nav){
2000
+ padding-bottom:var(--tds-page-header-padding-y);
1761
2001
  }
1762
2002
 
1763
- .tds-combo-box-input::-moz-placeholder{
1764
- color:var(--tds-field-placeholder-color);
1765
- -moz-user-select:none;
1766
- user-select:none;
2003
+ .tds-page-header.inactive{
2004
+ background:var(--tds-page-header-background-color-inactive);
1767
2005
  }
1768
2006
 
1769
- .tds-combo-box-input::placeholder{
1770
- color:var(--tds-field-placeholder-color);
1771
- -webkit-user-select:none;
1772
- -moz-user-select:none;
1773
- user-select:none;
2007
+ .tds-page-header :is([slot="actions"],.tds-page-header__actions){
2008
+ width:100%;
1774
2009
  }
1775
2010
 
1776
- .tds-combo-box-button{
1777
- flex-shrink:0;
1778
- align-self:center;
1779
- inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1780
- block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1781
- padding:0;
1782
- margin-inline-end:var(--tds-combo-box-button-offset);
1783
- }
1784
-
1785
- .tds-combo-box-button > svg{
1786
- inline-size:var(--tds-field-font-size);
1787
- block-size:var(--tds-field-font-size);
1788
- transition:transform var(--t-duration-300) var(--t-ease-in-out);
2011
+ .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
2012
+ display:flex;
2013
+ flex-flow:row wrap;
2014
+ gap:var(--t-spacing-half) var(--t-spacing-1);
2015
+ align-items:flex-start;
2016
+ justify-content:flex-start;
2017
+ min-width:0;
1789
2018
  }
1790
2019
 
1791
- .tds-combo-box-popover{
1792
- width:var(--trigger-width);
1793
- max-block-size:inherit;
1794
- padding:var(--t-spacing-1);
1795
- overflow:auto;
1796
- scroll-behavior:smooth;
1797
- overscroll-behavior:none;
1798
- -webkit-user-select:none;
1799
- -moz-user-select:none;
1800
- user-select:none;
1801
- outline:0;
1802
- scrollbar-color:#0004 var(--t-surface-color-card);
1803
- scrollbar-width:thin;
1804
- background:var(--t-surface-color-card);
1805
- background-clip:padding-box;
1806
- border:1px solid var(--t-border-color);
1807
- border-radius:var(--t-border-radius);
1808
- box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1809
- }
2020
+ :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)):not(:has(ul)),:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) ul{
2021
+ display:flex;
2022
+ gap:var(--tds-page-header-nav-gap);
2023
+ padding:var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
2024
+ margin:0 0 -1px;
2025
+ overflow:auto;
2026
+ list-style:none;
2027
+ background:var(--tds-page-header-nav-background);
2028
+ }
1810
2029
 
1811
- .tds-combo-box-popover[data-entering]{
1812
- animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
1813
- }
2030
+ :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button){
2031
+ position:relative;
2032
+ display:inline-flex;
2033
+ padding:var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
2034
+ font-size:var(--t-font-size-sm);
2035
+ line-height:22px;
2036
+ color:var(--tds-page-header-nav-item-color);
2037
+ white-space:nowrap;
2038
+ text-decoration:none;
2039
+ -webkit-appearance:none;
2040
+ -moz-appearance:none;
2041
+ appearance:none;
2042
+ cursor:pointer;
2043
+ outline-offset:-2px;
2044
+ background-color:var(--tds-page-header-nav-item-background-color);
2045
+ background-clip:padding-box;
2046
+ border:var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
2047
+ border-bottom:1px solid var(--tds-page-header-nav-item-border-bottom-color);
2048
+ border-radius:var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
2049
+ }
1814
2050
 
1815
- .tds-combo-box-popover[data-exiting]{
1816
- animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
1817
- }
2051
+ .selected:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)){
2052
+ --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-selected);
2053
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-selected);
2054
+ --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-selected);
2055
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-selected);
2056
+ }
1818
2057
 
1819
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1820
- will-change:opacity, transform;
1821
- }
2058
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):hover{
2059
+ --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-hover);
2060
+ --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-hover);
2061
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-hover);
2062
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-hover);
2063
+ }
1822
2064
 
1823
- @keyframes tds-combo-box-popover{
1824
- from{
1825
- opacity:0;
1826
- transform:translateY(-8px);
1827
- }
1828
- }
2065
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):active{
2066
+ background-color:var(--tds-page-header-nav-item-background-color-active);
2067
+ border-color:var(--tds-page-header-nav-item-border-color-active);
2068
+ border-bottom-color:var(--tds-page-header-nav-item-background-color-active);
2069
+ }
1829
2070
 
1830
- @media (prefers-reduced-motion: reduce){
1831
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1832
- animation:none;
2071
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):disabled{
2072
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-disabled);
2073
+ color:var(--tds-page-header-nav-item-color-disabled);
2074
+ cursor:not-allowed;
2075
+ background-color:var(--tds-page-header-nav-item-background-color-disabled);
2076
+ opacity:1;
2077
+ }
2078
+
2079
+ @media (min-width: 600px){
2080
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected)::after{
2081
+ position:absolute;
2082
+ inset:auto -1px -1px;
2083
+ height:1px;
2084
+ pointer-events:none;
2085
+ content:"";
2086
+ background-color:var(--tds-page-header-bottom-border-color);
2087
+ }
2088
+ }
2089
+
2090
+ :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator){
2091
+ position:relative;
1833
2092
  }
1834
2093
 
1835
- .tds-combo-box-button > svg{
1836
- transition:none;
1837
- }
1838
- }
2094
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator)) :is(a,button){
2095
+ -webkit-mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
2096
+ mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
2097
+ }
1839
2098
 
1840
- .tds-combo-box-list{
1841
- padding:0;
1842
- margin:0;
1843
- }
2099
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::before,:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
2100
+ position:absolute;
2101
+ top:-5px;
2102
+ right:-2px;
2103
+ width:10px;
2104
+ height:10px;
2105
+ content:"";
2106
+ background:var(--tds-page-header-nav-item-indicator-color);
2107
+ border-radius:50%;
2108
+ }
1844
2109
 
1845
- .tds-combo-box-list-item{
1846
- display:block;
1847
- padding-block:var(--t-spacing-1);
1848
- padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1849
- overflow:hidden;
1850
- text-overflow:ellipsis;
1851
- font-size:1rem;
1852
- color:var(--t-text-color);
1853
- white-space:nowrap;
1854
- cursor:default;
1855
- border-radius:var(--t-border-radius);
2110
+ @media (prefers-reduced-motion: no-preference){
2111
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
2112
+ animation:indicator-pulse 1.25s ease infinite;
2113
+ }
2114
+ }
2115
+
2116
+ .tds-page-header__title-bar{
2117
+ display:flex;
2118
+ flex-direction:column;
2119
+ gap:var(--t-spacing-2) var(--t-spacing-1);
2120
+ align-items:flex-start;
2121
+ justify-content:space-between;
2122
+ padding:0 var(--tds-page-header-padding-x);
1856
2123
  }
1857
2124
 
1858
- .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
1859
- background:var(--t-fill-color-neutral-070);
2125
+ .tds-page-header--profile > .tds-page-header__title-bar{
2126
+ align-items:center;
1860
2127
  }
1861
2128
 
1862
- .tds-combo-box-list-item[data-selected]{
1863
- background:var(--t-fill-color-button-interaction-ghost-active);
1864
- }
2129
+ .tds-page-header__primary{
2130
+ width:100%;
2131
+ }
1865
2132
 
1866
- .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
1867
- background:var(--t-fill-color-neutral-060);
2133
+ .tds-page-header__primary h1{
2134
+ margin:0;
2135
+ font-size:var(--tds-page-header-headline-font-size);
2136
+ font-weight:var(--t-font-weight-normal);
2137
+ line-height:32px;
2138
+ color:var(--tds-page-header-headline-color);
2139
+ overflow-wrap:break-word;
1868
2140
  }
1869
2141
 
1870
- .tds-combo-box-list-item[data-disabled]{
1871
- color:var(--t-form-color-disabled);
1872
- cursor:not-allowed;
2142
+ @media (min-width: 960px){
2143
+ .tds-page-header__primary{
2144
+ flex:1 1 max-content;
2145
+ width:auto;
2146
+ min-width:0;
2147
+ max-width:100%;
1873
2148
  }
1874
2149
 
1875
- .tds-combo-box-list-item[data-disabled][data-hovered]{
1876
- background:transparent;
2150
+ .tds-page-header__title-bar,
2151
+ .tds-page-header--profile .tds-page-header__title-bar{
2152
+ flex-flow:row nowrap;
2153
+ row-gap:12px;
2154
+ align-items:flex-start;
2155
+ }
2156
+ .tds-page-header :is([slot="actions"],.tds-page-header__actions){
2157
+ width:auto;
1877
2158
  }
1878
2159
 
1879
- .tds-combo-box-empty-state{
1880
- position:relative;
1881
- min-block-size:var(--t-spacing-3);
1882
- padding-block:var(--t-spacing-1);
1883
- padding-inline:var(--t-spacing-2);
1884
- font-size:var(--t-font-size-md);
1885
- color:var(--t-text-color-secondary);
2160
+ .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
2161
+ justify-content:flex-end;
2162
+ }
1886
2163
  }
1887
2164
 
1888
- .tds-combo-box-load-more{
1889
- position:relative;
1890
- min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
2165
+ .tds-page-header-phone,
2166
+ .tds-page-header-email{
2167
+ color:var(--tds-page-header-color);
2168
+ white-space:nowrap;
1891
2169
  }
1892
2170
 
1893
- .tds-combo-box-empty-state,
1894
- .tds-combo-box-load-more{
1895
- --tds-loading-spinner-visibility:visible;
1896
- --tds-loading-spinner-animation-play-state:running;
2171
+ .tds-page-header-email{
2172
+ max-width:100%;
2173
+ overflow:hidden;
2174
+ text-overflow:ellipsis;
1897
2175
  }
1898
2176
 
1899
- .tds-combo-box-list-section:not(:first-child){
1900
- margin-block-start:var(--t-spacing-half);
2177
+ @keyframes indicator-pulse{
2178
+ 0%{
2179
+ opacity:.3;
2180
+ transform:scale(.9);
1901
2181
  }
1902
2182
 
1903
- .tds-combo-box-section-header{
1904
- padding-block:var(--t-spacing-1);
1905
- padding-inline:var(--t-spacing-1);
1906
- font-size:var(--t-font-size-sm);
1907
- font-weight:var(--t-font-weight-semibold);
1908
- color:var(--t-text-color-secondary);
2183
+ 100%{
2184
+ opacity:0;
2185
+ transform:scale(1.75);
2186
+ }
1909
2187
  }
1910
2188
 
1911
2189
  .tds-radio{
@@ -2016,252 +2294,29 @@ a.tds-dropdown-item:is(:hover, :active){
2016
2294
  }
2017
2295
 
2018
2296
  .tds-radio:has(input:disabled) input:checked{
2019
- --tds-radio-input-background-color:var(--t-form-background-color);
2020
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2021
- }
2022
-
2023
- .tds-radio-description{
2024
- display:flex;
2025
- grid-area:2 / 2;
2026
- gap:var(--t-spacing-half);
2027
- align-items:flex-start;
2028
- padding-inline-start:var(--t-spacing-1);
2029
- margin:0;
2030
- font-size:var(--tds-radio-description-font-size);
2031
- line-height:var(--tds-radio-description-line-height);
2032
- color:var(--tds-radio-description-color);
2033
- cursor:text;
2034
- }
2035
-
2036
- .tds-radio--sm{
2037
- --tds-radio-line-height:1.35;
2038
- --tds-radio-input-size:var(--t-element-size-sm);
2039
- --tds-radio-font-size:var(--t-font-size-sm);
2040
- --tds-radio-description-font-size:var(--t-font-size-xs);
2041
- --tds-radio-description-line-height:1.3;
2042
- }
2043
-
2044
- .tds-radio-group{
2045
- --tds-radio-group-font-size:var(--t-font-size-md);
2046
- --tds-radio-group-line-height:1.4;
2047
- --tds-radio-group-gap:var(--t-spacing-1);
2048
-
2049
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
2050
- --tds-radio-group-description-line-height:1.35;
2051
- --tds-radio-group-description-color:var(--t-text-color-secondary);
2052
- --tds-radio-group-description-invalid-icon-display:none;
2053
- display:flex;
2054
- flex-direction:column;
2055
- gap:0;
2056
- padding:0;
2057
- margin:0;
2058
-
2059
- font-size:var(--tds-radio-group-font-size);
2060
- line-height:var(--tds-radio-group-line-height);
2061
- border:0;
2062
- }
2063
-
2064
- .tds-radio-group legend{
2065
- float:left;
2066
- padding:0;
2067
- margin:0;
2068
- }
2069
-
2070
- .tds-radio-group[aria-invalid="true"]{
2071
- --tds-radio-group-description-color:var(--t-text-color-status-error);
2072
- --tds-radio-group-description-invalid-icon-display:inline-block;
2073
- }
2074
-
2075
- .tds-radio-group[aria-invalid="true"] .tds-radio{
2076
- --tds-radio-input-border-color:var(--t-form-border-color-error);
2077
- }
2078
-
2079
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
2080
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2081
- --tds-radio-input-background-color:var(--t-form-background-color-error);
2082
- }
2083
-
2084
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
2085
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
2086
- }
2087
-
2088
- .tds-radio-group:has(input:required) legend::after{
2089
- margin-left:.25ch;
2090
- color:var(--t-text-color-status-error);
2091
- content:"*";
2092
- }
2093
-
2094
- .tds-radio-group-fields{
2095
- display:flex;
2096
- flex-direction:column;
2097
- gap:var(--tds-radio-group-gap);
2098
- align-items:flex-start;
2099
- margin-top:var(--t-spacing-1);
2100
- }
2101
-
2102
- .tds-radio-group-description{
2103
- display:flex;
2104
- gap:var(--t-spacing-half);
2105
- align-items:flex-start;
2106
- margin:var(--t-spacing-fourth) 0 0;
2107
- font-size:var(--tds-radio-group-description-font-size);
2108
- line-height:var(--tds-radio-group-description-line-height);
2109
- color:var(--tds-radio-group-description-color);
2110
- cursor:text;
2111
- }
2112
-
2113
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
2114
- display:var(--tds-radio-group-description-invalid-icon-display);
2115
- flex-shrink:0;
2116
- margin-top:calc(.5lh - .5em);
2117
- line-height:var(--tds-radio-group-description-line-height);
2118
- }
2119
-
2120
- .tds-radio-group--sm{
2121
- --tds-radio-group-line-height:1.35;
2122
- --tds-radio-group-font-size:var(--t-font-size-sm);
2123
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
2124
- --tds-radio-group-description-line-height:1.3;
2125
- }
2126
-
2127
- .tds-toggle-switch{
2128
- --tds-toggle-switch-font-size:var(--t-font-size-md);
2129
- --tds-toggle-switch-cursor:pointer;
2130
- --tds-toggle-switch-display:inline-grid;
2131
- --tds-toggle-switch-line-height:1.4;
2132
-
2133
- --tds-toggle-switch-label-color:var(--t-form-color);
2134
-
2135
- --tds-toggle-switch-track-width:var(--t-container-size-md);
2136
- --tds-toggle-switch-track-outline:none;
2137
- --tds-toggle-switch-track-height:var(--t-container-size-xs);
2138
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
2139
- --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
2140
-
2141
- --tds-toggle-switch-thumb-size:var(--t-element-size-md);
2142
- --tds-toggle-switch-thumb-transform:translateX(0);
2143
- --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
2144
-
2145
- --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
2146
- --tds-toggle-switch-description-line-height:1.35;
2147
- --tds-toggle-switch-description-color:var(--t-text-color-secondary);
2148
- position:relative;
2149
-
2150
- display:var(--tds-toggle-switch-display);
2151
- grid-template-columns:auto;
2152
- grid-auto-columns:1fr;
2153
- gap:var(--t-spacing-fourth) 0;
2154
- -webkit-user-select:none;
2155
- -moz-user-select:none;
2156
- user-select:none;
2157
- }
2158
-
2159
- .tds-toggle-switch input[type="checkbox"]{
2160
- position:absolute;
2161
- width:var(--tds-toggle-switch-track-width);
2162
- height:var(--tds-toggle-switch-track-height);
2163
- margin:0;
2164
- -webkit-appearance:none;
2165
- -moz-appearance:none;
2166
- appearance:none;
2167
- cursor:var(--tds-toggle-switch-cursor);
2168
- outline:var(--tds-toggle-switch-track-outline);
2169
- outline-offset:var(--t-focus-ring-offset);
2170
- background-color:transparent;
2171
- border:0;
2172
- border-radius:var(--t-border-radius-round);
2173
- }
2174
-
2175
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2176
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2177
- }
2178
-
2179
- .tds-toggle-switch label{
2180
- display:inline-flex;
2181
- grid-area:1 / 2;
2182
- padding-inline-start:var(--t-spacing-1);
2183
- margin-top:-.09375em;
2184
- font-size:var(--tds-toggle-switch-font-size);
2185
- font-weight:var(--t-font-weight-normal);
2186
- line-height:var(--tds-toggle-switch-line-height);
2187
- color:var(--tds-toggle-switch-label-color);
2188
- cursor:var(--tds-toggle-switch-cursor);
2189
- }
2190
-
2191
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2192
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2193
- }
2194
-
2195
- .tds-toggle-switch:has(input:checked){
2196
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
2197
- --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2198
- }
2199
-
2200
- .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
2201
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
2202
- }
2203
-
2204
- .tds-toggle-switch:has(input:disabled){
2205
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
2206
- --tds-toggle-switch-label-color:var(--t-form-color-disabled);
2207
- --tds-toggle-switch-description-color:var(--t-form-color-disabled);
2208
- --tds-toggle-switch-cursor:not-allowed;
2209
- }
2210
-
2211
- .tds-toggle-switch-track{
2212
- position:relative;
2213
- flex-shrink:0;
2214
- width:var(--tds-toggle-switch-track-width);
2215
- height:var(--tds-toggle-switch-track-height);
2216
- background-color:var(--tds-toggle-switch-track-background-color);
2217
- border-radius:var(--t-border-radius-round);
2218
- transition:var(--tds-toggle-switch-track-transition);
2219
- }
2220
-
2221
- .tds-toggle-switch-track::before{
2222
- position:absolute;
2223
- top:var(--t-spacing-fourth);
2224
- left:var(--t-spacing-fourth);
2225
- width:var(--tds-toggle-switch-thumb-size);
2226
- height:var(--tds-toggle-switch-thumb-size);
2227
- content:"";
2228
- background-color:#fff;
2229
- border-radius:var(--t-border-radius-round);
2230
- transform:var(--tds-toggle-switch-thumb-transform);
2231
- transition:var(--tds-toggle-switch-thumb-transition);
2232
- }
2233
-
2234
- @media (prefers-reduced-motion: reduce){
2235
-
2236
- .tds-toggle-switch-track{
2237
- --tds-toggle-switch-track-transition:none;
2238
- --tds-toggle-switch-thumb-transition:none;
2239
- }
2240
- }
2297
+ --tds-radio-input-background-color:var(--t-form-background-color);
2298
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2299
+ }
2241
2300
 
2242
- .tds-toggle-switch-description{
2301
+ .tds-radio-description{
2243
2302
  display:flex;
2244
2303
  grid-area:2 / 2;
2304
+ gap:var(--t-spacing-half);
2245
2305
  align-items:flex-start;
2246
2306
  padding-inline-start:var(--t-spacing-1);
2247
2307
  margin:0;
2248
- font-size:var(--tds-toggle-switch-description-font-size);
2249
- line-height:var(--tds-toggle-switch-description-line-height);
2250
- color:var(--tds-toggle-switch-description-color);
2308
+ font-size:var(--tds-radio-description-font-size);
2309
+ line-height:var(--tds-radio-description-line-height);
2310
+ color:var(--tds-radio-description-color);
2251
2311
  cursor:text;
2252
2312
  }
2253
2313
 
2254
- .tds-toggle-switch--sm{
2255
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
2256
- --tds-toggle-switch-line-height:1.35;
2257
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
2258
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2259
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2260
- --tds-toggle-switch-description-line-height:1.3;
2261
- }
2262
-
2263
- .tds-toggle-switch--hide-label{
2264
- --tds-toggle-switch-display:inline-flex;
2314
+ .tds-radio--sm{
2315
+ --tds-radio-line-height:1.35;
2316
+ --tds-radio-input-size:var(--t-element-size-sm);
2317
+ --tds-radio-font-size:var(--t-font-size-sm);
2318
+ --tds-radio-description-font-size:var(--t-font-size-xs);
2319
+ --tds-radio-description-line-height:1.3;
2265
2320
  }
2266
2321
 
2267
2322
  .tds-input:has(textarea){
@@ -2369,309 +2424,227 @@ a.tds-dropdown-item:is(:hover, :active){
2369
2424
  }
2370
2425
  }
2371
2426
 
2372
- @layer t-critical{
2373
- tds-page-header:not(.hydrated){
2374
- display:none;
2375
- }
2376
- }
2377
-
2378
- @layer t-component{
2379
- .tds-page-header{
2380
- --tds-page-header-background-color:var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-canvas));
2381
- --tds-page-header-background-color-inactive:var(--t-fill-color-neutral-090);
2382
- --tds-page-header-color:var(--t-text-color);
2383
- --tds-page-header-bottom-border-color:transparent;
2384
- --tds-page-header-headline-color:var(--t-text-color-headline);
2385
- --tds-page-header-headline-font-size:var(--t-font-size-2xl);
2386
- --tds-page-header-padding-x:var(--t-spacing-2);
2387
- --tds-page-header-padding-y:var(--t-spacing-2);
2388
- --tds-page-header-nav-padding-x:var(--tds-page-header-padding-x, var(--t-spacing-3));
2389
- --tds-page-header-nav-gap:var(--t-spacing-1);
2390
- --tds-page-header-nav-background:linear-gradient(180deg, var(--tds-page-header-nav-background-start, rgba(0, 0, 0, 0)) 0%, var(--tds-page-header-nav-background-end, rgba(0, 0, 0, .1)) 100%);
2391
- --tds-page-header-nav-item-padding-x:var(--t-spacing-1);
2392
- --tds-page-header-nav-item-padding-y:var(--t-spacing-1);
2393
- --tds-page-header-nav-item-color:var(--t-text-color-secondary);
2394
- --tds-page-header-nav-item-background-color:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 35%);
2395
- --tds-page-header-nav-item-border-width:1px;
2396
-
2397
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-background-color);
2398
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color);
2399
-
2400
- --tds-page-header-nav-item-color-hover:var(--t-text-color);
2401
- --tds-page-header-nav-item-background-color-hover:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 20%);
2402
- --tds-page-header-nav-item-border-color-hover:var(--tds-page-header-nav-item-background-color-hover);
2403
-
2404
- --tds-page-header-nav-item-background-color-active:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 10%);
2405
- --tds-page-header-nav-item-border-color-active:var(--tds-page-header-nav-item-background-color-active);
2406
-
2407
- --tds-page-header-nav-item-color-disabled:var(--t-text-color-disabled);
2408
- --tds-page-header-nav-item-background-color-disabled:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 50%);
2409
- --tds-page-header-nav-item-border-color-disabled:var(--tds-page-header-nav-item-background-color-disabled);
2410
-
2411
- --tds-page-header-nav-item-color-selected:var(--t-text-color);
2412
- --tds-page-header-nav-item-background-color-selected:var(--t-surface-color-canvas);
2413
- --tds-page-header-nav-item-border-color-selected:var(--tds-page-header-nav-item-background-color-selected);
2414
- --tds-page-header-nav-item-border-bottom-color-selected:var(--tds-page-header-nav-item-background-color-selected);
2415
- --tds-page-header-nav-item-indicator-color:var(--t-icon-color-status-warning);
2416
- }
2417
-
2418
- .tds-page-header--profile{
2419
- --tds-page-header-padding-y:20px;
2420
- }
2421
-
2422
- @supports (color: light-dark(#fff, #000)){
2423
- .tds-page-header{
2424
- --tds-page-header-nav-background-start:light-dark(rgba(0, 0, 0, 0), rgba(255, 255, 255, 0));
2425
- --tds-page-header-nav-background-end:light-dark(rgba(0, 0, 0, .05), rgba(255, 255, 255, .1));
2426
- }
2427
- }
2428
-
2429
- @media (min-width: 600px){
2430
- .tds-page-header{
2431
- --tds-page-header-background-color:var(--t-surface-color-canvas);
2432
- --tds-page-header-color:var(--t-text-color-secondary);
2433
- --tds-page-header-bottom-border-color:var(--t-border-color);
2434
- --tds-page-header-padding-x:var(--t-spacing-3);
2435
- --tds-page-header-headline-font-size:var(--t-font-size-3xl);
2436
- --tds-page-header-nav-gap:var(--t-spacing-half);
2437
- --tds-page-header-nav-background:transparent;
2438
- --tds-page-header-nav-item-padding-x:var(--t-spacing-2);
2439
- --tds-page-header-nav-item-border-width:1px;
2440
- --tds-page-header-nav-item-color:var(--t-text-color);
2441
- --tds-page-header-nav-item-background-color:var(--t-fill-color-neutral-070);
2442
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-bottom-border-color);
2443
- --tds-page-header-nav-item-background-color-hover:var(--t-fill-color-neutral-060);
2444
- --tds-page-header-nav-item-background-color-active:var(--t-fill-color-neutral-050);
2445
- --tds-page-header-nav-item-background-color-disabled:var(--t-fill-color-neutral-080);
2446
- --tds-page-header-nav-item-border-color-selected:var(--t-border-color);
2447
- }
2448
- }
2449
- }
2427
+ .tds-radio-group{
2428
+ --tds-radio-group-font-size:var(--t-font-size-md);
2429
+ --tds-radio-group-line-height:1.4;
2430
+ --tds-radio-group-gap:var(--t-spacing-1);
2450
2431
 
2451
- .tds-page-header{
2432
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
2433
+ --tds-radio-group-description-line-height:1.35;
2434
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
2435
+ --tds-radio-group-description-invalid-icon-display:none;
2452
2436
  display:flex;
2453
2437
  flex-direction:column;
2454
- padding-top:var(--tds-page-header-padding-y);
2455
- color:var(--tds-page-header-color);
2456
- background:var(--tds-page-header-background-color);
2457
- border-bottom:1px solid var(--tds-page-header-bottom-border-color);
2458
- }
2459
-
2460
- .tds-page-header:not(.has-nav){
2461
- padding-bottom:var(--tds-page-header-padding-y);
2462
- }
2438
+ gap:0;
2439
+ padding:0;
2440
+ margin:0;
2463
2441
 
2464
- .tds-page-header.inactive{
2465
- background:var(--tds-page-header-background-color-inactive);
2466
- }
2442
+ font-size:var(--tds-radio-group-font-size);
2443
+ line-height:var(--tds-radio-group-line-height);
2444
+ border:0;
2445
+ }
2467
2446
 
2468
- .tds-page-header :is([slot="actions"],.tds-page-header__actions){
2469
- width:100%;
2447
+ .tds-radio-group legend{
2448
+ float:left;
2449
+ padding:0;
2450
+ margin:0;
2470
2451
  }
2471
2452
 
2472
- .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
2473
- display:flex;
2474
- flex-flow:row wrap;
2475
- gap:var(--t-spacing-half) var(--t-spacing-1);
2476
- align-items:flex-start;
2477
- justify-content:flex-start;
2478
- min-width:0;
2453
+ .tds-radio-group[aria-invalid="true"]{
2454
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
2455
+ --tds-radio-group-description-invalid-icon-display:inline-block;
2479
2456
  }
2480
2457
 
2481
- :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)):not(:has(ul)),:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) ul{
2482
- display:flex;
2483
- gap:var(--tds-page-header-nav-gap);
2484
- padding:var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
2485
- margin:0 0 -1px;
2486
- overflow:auto;
2487
- list-style:none;
2488
- background:var(--tds-page-header-nav-background);
2489
- }
2490
-
2491
- :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button){
2492
- position:relative;
2493
- display:inline-flex;
2494
- padding:var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
2495
- font-size:var(--t-font-size-sm);
2496
- line-height:22px;
2497
- color:var(--tds-page-header-nav-item-color);
2498
- white-space:nowrap;
2499
- text-decoration:none;
2500
- -webkit-appearance:none;
2501
- -moz-appearance:none;
2502
- appearance:none;
2503
- cursor:pointer;
2504
- outline-offset:-2px;
2505
- background-color:var(--tds-page-header-nav-item-background-color);
2506
- background-clip:padding-box;
2507
- border:var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
2508
- border-bottom:1px solid var(--tds-page-header-nav-item-border-bottom-color);
2509
- border-radius:var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
2458
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
2459
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
2510
2460
  }
2511
2461
 
2512
- .selected:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)){
2513
- --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-selected);
2514
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-selected);
2515
- --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-selected);
2516
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-selected);
2462
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
2463
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2464
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
2517
2465
  }
2518
2466
 
2519
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):hover{
2520
- --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-hover);
2521
- --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-hover);
2522
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-hover);
2523
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-hover);
2524
- }
2525
-
2526
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):active{
2527
- background-color:var(--tds-page-header-nav-item-background-color-active);
2528
- border-color:var(--tds-page-header-nav-item-border-color-active);
2529
- border-bottom-color:var(--tds-page-header-nav-item-background-color-active);
2530
- }
2531
-
2532
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):disabled{
2533
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-disabled);
2534
- color:var(--tds-page-header-nav-item-color-disabled);
2535
- cursor:not-allowed;
2536
- background-color:var(--tds-page-header-nav-item-background-color-disabled);
2537
- opacity:1;
2538
- }
2539
-
2540
- @media (min-width: 600px){
2541
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected)::after{
2542
- position:absolute;
2543
- inset:auto -1px -1px;
2544
- height:1px;
2545
- pointer-events:none;
2546
- content:"";
2547
- background-color:var(--tds-page-header-bottom-border-color);
2548
- }
2549
- }
2550
-
2551
- :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator){
2552
- position:relative;
2553
- }
2554
-
2555
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator)) :is(a,button){
2556
- -webkit-mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
2557
- mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
2467
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
2468
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
2558
2469
  }
2559
2470
 
2560
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::before,:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
2561
- position:absolute;
2562
- top:-5px;
2563
- right:-2px;
2564
- width:10px;
2565
- height:10px;
2566
- content:"";
2567
- background:var(--tds-page-header-nav-item-indicator-color);
2568
- border-radius:50%;
2569
- }
2471
+ .tds-radio-group:has(input:required) legend::after{
2472
+ margin-left:.25ch;
2473
+ color:var(--t-text-color-status-error);
2474
+ content:"*";
2475
+ }
2570
2476
 
2571
- @media (prefers-reduced-motion: no-preference){
2572
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
2573
- animation:indicator-pulse 1.25s ease infinite;
2574
- }
2575
- }
2477
+ .tds-radio-group-fields{
2478
+ display:flex;
2479
+ flex-direction:column;
2480
+ gap:var(--tds-radio-group-gap);
2481
+ align-items:flex-start;
2482
+ margin-top:var(--t-spacing-1);
2483
+ }
2576
2484
 
2577
- .tds-page-header__title-bar{
2485
+ .tds-radio-group-description{
2578
2486
  display:flex;
2579
- flex-direction:column;
2580
- gap:var(--t-spacing-2) var(--t-spacing-1);
2487
+ gap:var(--t-spacing-half);
2581
2488
  align-items:flex-start;
2582
- justify-content:space-between;
2583
- padding:0 var(--tds-page-header-padding-x);
2489
+ margin:var(--t-spacing-fourth) 0 0;
2490
+ font-size:var(--tds-radio-group-description-font-size);
2491
+ line-height:var(--tds-radio-group-description-line-height);
2492
+ color:var(--tds-radio-group-description-color);
2493
+ cursor:text;
2584
2494
  }
2585
2495
 
2586
- .tds-page-header--profile > .tds-page-header__title-bar{
2587
- align-items:center;
2496
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
2497
+ display:var(--tds-radio-group-description-invalid-icon-display);
2498
+ flex-shrink:0;
2499
+ margin-top:calc(.5lh - .5em);
2500
+ line-height:var(--tds-radio-group-description-line-height);
2588
2501
  }
2589
2502
 
2590
- .tds-page-header__primary{
2591
- width:100%;
2503
+ .tds-radio-group--sm{
2504
+ --tds-radio-group-line-height:1.35;
2505
+ --tds-radio-group-font-size:var(--t-font-size-sm);
2506
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
2507
+ --tds-radio-group-description-line-height:1.3;
2592
2508
  }
2593
2509
 
2594
- .tds-page-header__primary h1{
2510
+ .tds-toggle-switch{
2511
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
2512
+ --tds-toggle-switch-cursor:pointer;
2513
+ --tds-toggle-switch-display:inline-grid;
2514
+ --tds-toggle-switch-line-height:1.4;
2515
+
2516
+ --tds-toggle-switch-label-color:var(--t-form-color);
2517
+
2518
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
2519
+ --tds-toggle-switch-track-outline:none;
2520
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
2521
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
2522
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
2523
+
2524
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
2525
+ --tds-toggle-switch-thumb-transform:translateX(0);
2526
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
2527
+
2528
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
2529
+ --tds-toggle-switch-description-line-height:1.35;
2530
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
2531
+ position:relative;
2532
+
2533
+ display:var(--tds-toggle-switch-display);
2534
+ grid-template-columns:auto;
2535
+ grid-auto-columns:1fr;
2536
+ gap:var(--t-spacing-fourth) 0;
2537
+ -webkit-user-select:none;
2538
+ -moz-user-select:none;
2539
+ user-select:none;
2540
+ }
2541
+
2542
+ .tds-toggle-switch input[type="checkbox"]{
2543
+ position:absolute;
2544
+ width:var(--tds-toggle-switch-track-width);
2545
+ height:var(--tds-toggle-switch-track-height);
2595
2546
  margin:0;
2596
- font-size:var(--tds-page-header-headline-font-size);
2547
+ -webkit-appearance:none;
2548
+ -moz-appearance:none;
2549
+ appearance:none;
2550
+ cursor:var(--tds-toggle-switch-cursor);
2551
+ outline:var(--tds-toggle-switch-track-outline);
2552
+ outline-offset:var(--t-focus-ring-offset);
2553
+ background-color:transparent;
2554
+ border:0;
2555
+ border-radius:var(--t-border-radius-round);
2556
+ }
2557
+
2558
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2559
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2560
+ }
2561
+
2562
+ .tds-toggle-switch label{
2563
+ display:inline-flex;
2564
+ grid-area:1 / 2;
2565
+ padding-inline-start:var(--t-spacing-1);
2566
+ margin-top:-.09375em;
2567
+ font-size:var(--tds-toggle-switch-font-size);
2597
2568
  font-weight:var(--t-font-weight-normal);
2598
- line-height:32px;
2599
- color:var(--tds-page-header-headline-color);
2600
- overflow-wrap:break-word;
2569
+ line-height:var(--tds-toggle-switch-line-height);
2570
+ color:var(--tds-toggle-switch-label-color);
2571
+ cursor:var(--tds-toggle-switch-cursor);
2601
2572
  }
2602
2573
 
2603
- @media (min-width: 960px){
2604
- .tds-page-header__primary{
2605
- flex:1 1 max-content;
2606
- width:auto;
2607
- min-width:0;
2608
- max-width:100%;
2574
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2575
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2609
2576
  }
2610
2577
 
2611
- .tds-page-header__title-bar,
2612
- .tds-page-header--profile .tds-page-header__title-bar{
2613
- flex-flow:row nowrap;
2614
- row-gap:12px;
2615
- align-items:flex-start;
2578
+ .tds-toggle-switch:has(input:checked){
2579
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
2580
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2616
2581
  }
2617
- .tds-page-header :is([slot="actions"],.tds-page-header__actions){
2618
- width:auto;
2619
- }
2620
2582
 
2621
- .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
2622
- justify-content:flex-end;
2583
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
2584
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
2623
2585
  }
2624
- }
2625
2586
 
2626
- .tds-page-header-phone,
2627
- .tds-page-header-email{
2628
- color:var(--tds-page-header-color);
2629
- white-space:nowrap;
2630
- }
2587
+ .tds-toggle-switch:has(input:disabled){
2588
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
2589
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
2590
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
2591
+ --tds-toggle-switch-cursor:not-allowed;
2592
+ }
2631
2593
 
2632
- .tds-page-header-email{
2633
- max-width:100%;
2634
- overflow:hidden;
2635
- text-overflow:ellipsis;
2594
+ .tds-toggle-switch-track{
2595
+ position:relative;
2596
+ flex-shrink:0;
2597
+ width:var(--tds-toggle-switch-track-width);
2598
+ height:var(--tds-toggle-switch-track-height);
2599
+ background-color:var(--tds-toggle-switch-track-background-color);
2600
+ border-radius:var(--t-border-radius-round);
2601
+ transition:var(--tds-toggle-switch-track-transition);
2636
2602
  }
2637
2603
 
2638
- @keyframes indicator-pulse{
2639
- 0%{
2640
- opacity:.3;
2641
- transform:scale(.9);
2604
+ .tds-toggle-switch-track::before{
2605
+ position:absolute;
2606
+ top:var(--t-spacing-fourth);
2607
+ left:var(--t-spacing-fourth);
2608
+ width:var(--tds-toggle-switch-thumb-size);
2609
+ height:var(--tds-toggle-switch-thumb-size);
2610
+ content:"";
2611
+ background-color:#fff;
2612
+ border-radius:var(--t-border-radius-round);
2613
+ transform:var(--tds-toggle-switch-thumb-transform);
2614
+ transition:var(--tds-toggle-switch-thumb-transition);
2642
2615
  }
2643
2616
 
2644
- 100%{
2645
- opacity:0;
2646
- transform:scale(1.75);
2647
- }
2617
+ @media (prefers-reduced-motion: reduce){
2618
+
2619
+ .tds-toggle-switch-track{
2620
+ --tds-toggle-switch-track-transition:none;
2621
+ --tds-toggle-switch-thumb-transition:none;
2648
2622
  }
2623
+ }
2649
2624
 
2650
- .tds-loading-spinner{
2651
- position:absolute;
2652
- right:0;
2653
- left:0;
2654
- visibility:var(--tds-loading-spinner-visibility, hidden);
2655
- width:var(--tds-loading-spinner-size, 1.25em);
2656
- height:var(--tds-loading-spinner-size, 1.25em);
2657
- margin:auto;
2658
- border:var(--tds-loading-spinner-track-width, 4px) solid var(--tds-loading-spinner-track-color, var(--t-fill-color-transparency-dark-020));
2659
- border-top-color:var(--tds-loading-spinner-color, currentcolor);
2660
- border-radius:50%;
2661
- animation:spinner-rotate 500ms infinite linear;
2662
- animation-play-state:var(--tds-loading-spinner-animation-play-state, paused);
2625
+ .tds-toggle-switch-description{
2626
+ display:flex;
2627
+ grid-area:2 / 2;
2628
+ align-items:flex-start;
2629
+ padding-inline-start:var(--t-spacing-1);
2630
+ margin:0;
2631
+ font-size:var(--tds-toggle-switch-description-font-size);
2632
+ line-height:var(--tds-toggle-switch-description-line-height);
2633
+ color:var(--tds-toggle-switch-description-color);
2634
+ cursor:text;
2663
2635
  }
2664
2636
 
2665
- @keyframes spinner-rotate{
2666
- to{
2667
- transform:rotate(360deg);
2668
- }
2637
+ .tds-toggle-switch--sm{
2638
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
2639
+ --tds-toggle-switch-line-height:1.35;
2640
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
2641
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2642
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2643
+ --tds-toggle-switch-description-line-height:1.3;
2669
2644
  }
2670
2645
 
2671
- @media (prefers-reduced-motion: reduce){
2672
- [class*="--loading"] .tds-loading-spinner{
2673
- --tds-loading-spinner-animation-play-state:paused;
2674
- }
2646
+ .tds-toggle-switch--hide-label{
2647
+ --tds-toggle-switch-display:inline-flex;
2675
2648
  }
2676
2649
 
2677
2650
  .tds-input{
@@ -2811,6 +2784,33 @@ a.tds-dropdown-item:is(:hover, :active){
2811
2784
  line-height:1.35;
2812
2785
  }
2813
2786
 
2787
+ .tds-loading-spinner{
2788
+ position:absolute;
2789
+ right:0;
2790
+ left:0;
2791
+ visibility:var(--tds-loading-spinner-visibility, hidden);
2792
+ width:var(--tds-loading-spinner-size, 1.25em);
2793
+ height:var(--tds-loading-spinner-size, 1.25em);
2794
+ margin:auto;
2795
+ border:var(--tds-loading-spinner-track-width, 4px) solid var(--tds-loading-spinner-track-color, var(--t-fill-color-transparency-dark-020));
2796
+ border-top-color:var(--tds-loading-spinner-color, currentcolor);
2797
+ border-radius:50%;
2798
+ animation:spinner-rotate 500ms infinite linear;
2799
+ animation-play-state:var(--tds-loading-spinner-animation-play-state, paused);
2800
+ }
2801
+
2802
+ @keyframes spinner-rotate{
2803
+ to{
2804
+ transform:rotate(360deg);
2805
+ }
2806
+ }
2807
+
2808
+ @media (prefers-reduced-motion: reduce){
2809
+ [class*="--loading"] .tds-loading-spinner{
2810
+ --tds-loading-spinner-animation-play-state:paused;
2811
+ }
2812
+ }
2813
+
2814
2814
  @layer t-critical, t-component;
2815
2815
 
2816
2816
  :root{
@@ -4698,6 +4698,40 @@ a.tds-dropdown-item:is(:hover, :active){
4698
4698
  .tds-data-table-cell--numeric{
4699
4699
  font-variant-numeric:tabular-nums;
4700
4700
  }
4701
+ .tds-data-table-selectable-checkbox{
4702
+ position:relative;
4703
+ display:inline-block;
4704
+ width:1em;
4705
+ height:1em;
4706
+ vertical-align:middle;
4707
+ cursor:pointer;
4708
+ border:var(--t-form-border-width) solid var(--t-form-border-color);
4709
+ border-radius:var(--t-border-radius-sm);
4710
+ }
4711
+ .tds-data-table-selectable-checkbox::before{
4712
+ position:absolute;
4713
+ inset:0;
4714
+ display:flex;
4715
+ visibility:hidden;
4716
+ align-items:center;
4717
+ justify-content:center;
4718
+ content:"";
4719
+ opacity:0;
4720
+ }
4721
+ .tds-data-table-selectable-checkbox[data-focus-visible]{
4722
+ outline:var(--t-focus-ring-outline);
4723
+ outline-offset:var(--t-focus-ring-offset);
4724
+ }
4725
+ :is(.tds-data-table-selectable-checkbox[data-selected],.tds-data-table-selectable-checkbox[data-indeterminate])::before{
4726
+ visibility:visible;
4727
+ opacity:1;
4728
+ }
4729
+ .tds-data-table-selectable-checkbox[data-selected]::before{
4730
+ content:"✅";
4731
+ }
4732
+ .tds-data-table-selectable-checkbox[data-indeterminate]::before{
4733
+ content:"➖";
4734
+ }
4701
4735
 
4702
4736
  .t-banner{
4703
4737
  --t-banner-font-size:var(--t-font-size-md);