@planningcenter/tapestry 3.8.1-rc.2 → 3.8.1-rc.3

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,370 +766,387 @@
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;
774
- }
769
+ @layer t-critical{
770
+ tds-page-header:not(.hydrated){
771
+ display:none;
775
772
  }
773
+ }
776
774
 
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);
775
+ @layer t-component{
776
+ .tds-page-header{
777
+ --tds-page-header-background-color:var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-canvas));
778
+ --tds-page-header-background-color-inactive:var(--t-fill-color-neutral-090);
779
+ --tds-page-header-color:var(--t-text-color);
780
+ --tds-page-header-bottom-border-color:transparent;
781
+ --tds-page-header-headline-color:var(--t-text-color-headline);
782
+ --tds-page-header-headline-font-size:var(--t-font-size-2xl);
783
+ --tds-page-header-padding-x:var(--t-spacing-2);
784
+ --tds-page-header-padding-y:var(--t-spacing-2);
785
+ --tds-page-header-nav-padding-x:var(--tds-page-header-padding-x, var(--t-spacing-3));
786
+ --tds-page-header-nav-gap:var(--t-spacing-1);
787
+ --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%);
788
+ --tds-page-header-nav-item-padding-x:var(--t-spacing-1);
789
+ --tds-page-header-nav-item-padding-y:var(--t-spacing-1);
790
+ --tds-page-header-nav-item-color:var(--t-text-color-secondary);
791
+ --tds-page-header-nav-item-background-color:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 35%);
792
+ --tds-page-header-nav-item-border-width:1px;
791
793
 
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);
794
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-background-color);
795
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color);
796
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;
797
+ --tds-page-header-nav-item-color-hover:var(--t-text-color);
798
+ --tds-page-header-nav-item-background-color-hover:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 20%);
799
+ --tds-page-header-nav-item-border-color-hover:var(--tds-page-header-nav-item-background-color-hover);
800
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);
801
+ --tds-page-header-nav-item-background-color-active:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 10%);
802
+ --tds-page-header-nav-item-border-color-active:var(--tds-page-header-nav-item-background-color-active);
804
803
 
805
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
806
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
807
- }
804
+ --tds-page-header-nav-item-color-disabled:var(--t-text-color-disabled);
805
+ --tds-page-header-nav-item-background-color-disabled:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 50%);
806
+ --tds-page-header-nav-item-border-color-disabled:var(--tds-page-header-nav-item-background-color-disabled);
808
807
 
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;
808
+ --tds-page-header-nav-item-color-selected:var(--t-text-color);
809
+ --tds-page-header-nav-item-background-color-selected:var(--t-surface-color-canvas);
810
+ --tds-page-header-nav-item-border-color-selected:var(--tds-page-header-nav-item-background-color-selected);
811
+ --tds-page-header-nav-item-border-bottom-color-selected:var(--tds-page-header-nav-item-background-color-selected);
812
+ --tds-page-header-nav-item-indicator-color:var(--t-icon-color-status-warning);
816
813
  }
817
- }
818
814
 
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);
815
+ .tds-page-header--profile{
816
+ --tds-page-header-padding-y:20px;
825
817
  }
826
- }
827
818
 
828
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
829
- display:flex;
819
+ @supports (color: light-dark(#fff, #000)){
820
+ .tds-page-header{
821
+ --tds-page-header-nav-background-start:light-dark(rgba(0, 0, 0, 0), rgba(255, 255, 255, 0));
822
+ --tds-page-header-nav-background-end:light-dark(rgba(0, 0, 0, .05), rgba(255, 255, 255, .1));
823
+ }
830
824
  }
831
825
 
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%;
826
+ @media (min-width: 600px){
827
+ .tds-page-header{
828
+ --tds-page-header-background-color:var(--t-surface-color-canvas);
829
+ --tds-page-header-color:var(--t-text-color-secondary);
830
+ --tds-page-header-bottom-border-color:var(--t-border-color);
831
+ --tds-page-header-padding-x:var(--t-spacing-3);
832
+ --tds-page-header-headline-font-size:var(--t-font-size-3xl);
833
+ --tds-page-header-nav-gap:var(--t-spacing-half);
834
+ --tds-page-header-nav-background:transparent;
835
+ --tds-page-header-nav-item-padding-x:var(--t-spacing-2);
836
+ --tds-page-header-nav-item-border-width:1px;
837
+ --tds-page-header-nav-item-color:var(--t-text-color);
838
+ --tds-page-header-nav-item-background-color:var(--t-fill-color-neutral-070);
839
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-bottom-border-color);
840
+ --tds-page-header-nav-item-background-color-hover:var(--t-fill-color-neutral-060);
841
+ --tds-page-header-nav-item-background-color-active:var(--t-fill-color-neutral-050);
842
+ --tds-page-header-nav-item-background-color-disabled:var(--t-fill-color-neutral-080);
843
+ --tds-page-header-nav-item-border-color-selected:var(--t-border-color);
844
+ }
836
845
  }
837
-
838
- .tds-sidenav-section-list{
839
- width:100%;
840
- padding:0;
841
- margin:0;
842
- list-style:none;
843
846
  }
844
847
 
845
- .tds-sidenav-section-header{
848
+ .tds-page-header{
846
849
  display:flex;
847
- align-items:baseline;
848
- justify-content:space-between;
849
- padding-top:var(--t-spacing-2);
850
+ flex-direction:column;
851
+ padding-top:var(--tds-page-header-padding-y);
852
+ color:var(--tds-page-header-color);
853
+ background:var(--tds-page-header-background-color);
854
+ border-bottom:1px solid var(--tds-page-header-bottom-border-color);
850
855
  }
851
856
 
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;
857
+ .tds-page-header:not(.has-nav){
858
+ padding-bottom:var(--tds-page-header-padding-y);
859
859
  }
860
860
 
861
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
862
- padding-top:0;
861
+ .tds-page-header.inactive{
862
+ background:var(--tds-page-header-background-color-inactive);
863
863
  }
864
864
 
865
- .tds-sidenav-section-header [slot="label-actions"]{
866
- display:flex;
867
- gap:var(--t-spacing-half);
868
- align-items:center;
865
+ .tds-page-header :is([slot="actions"],.tds-page-header__actions){
866
+ width:100%;
869
867
  }
870
868
 
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){
887
- position:relative;
869
+ .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
888
870
  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;
899
- -webkit-appearance:none;
900
- -moz-appearance:none;
901
- 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);
871
+ flex-flow:row wrap;
872
+ gap:var(--t-spacing-half) var(--t-spacing-1);
873
+ align-items:flex-start;
874
+ justify-content:flex-start;
875
+ min-width:0;
907
876
  }
908
877
 
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;
878
+ :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{
879
+ display:flex;
880
+ gap:var(--tds-page-header-nav-gap);
881
+ padding:var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
882
+ margin:0 0 -1px;
883
+ overflow:auto;
884
+ list-style:none;
885
+ background:var(--tds-page-header-nav-background);
916
886
  }
917
887
 
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);
888
+ :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button){
889
+ position:relative;
890
+ display:inline-flex;
891
+ padding:var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
892
+ font-size:var(--t-font-size-sm);
893
+ line-height:22px;
894
+ color:var(--tds-page-header-nav-item-color);
895
+ white-space:nowrap;
921
896
  text-decoration:none;
897
+ -webkit-appearance:none;
898
+ -moz-appearance:none;
899
+ appearance:none;
900
+ cursor:pointer;
901
+ outline-offset:-2px;
902
+ background-color:var(--tds-page-header-nav-item-background-color);
903
+ background-clip:padding-box;
904
+ border:var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
905
+ border-bottom:1px solid var(--tds-page-header-nav-item-border-bottom-color);
906
+ border-radius:var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
922
907
  }
923
908
 
924
- :is(.tds-sidenav-item :is(a,button)):active{
925
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
926
- }
927
-
928
- :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
929
- overflow:hidden;
930
- color:var(--tds-sidenav-item-icon-color);
931
- }
932
-
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);
909
+ .selected:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)){
910
+ --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-selected);
911
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-selected);
912
+ --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-selected);
913
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-selected);
937
914
  }
938
915
 
939
- :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
940
- --tds-sidenav-indent:19px;
941
- }
916
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):hover{
917
+ --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-hover);
918
+ --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-hover);
919
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-hover);
920
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-hover);
921
+ }
942
922
 
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;
947
- }
948
-
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);
955
- }
956
-
957
- .tds-sidenav-item:has(.tds-sidenav-section){
958
- display:flex;
959
- flex-direction:column;
960
- gap:var(--t-spacing-half);
961
- }
962
-
963
- .tds-sidenav-item .tds-sidenav-section-list{
964
- --tds-sidenav-item-depth:1;
965
- gap:0;
966
- }
923
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):active{
924
+ background-color:var(--tds-page-header-nav-item-background-color-active);
925
+ border-color:var(--tds-page-header-nav-item-border-color-active);
926
+ border-bottom-color:var(--tds-page-header-nav-item-background-color-active);
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
- }
929
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):disabled{
930
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-disabled);
931
+ color:var(--tds-page-header-nav-item-color-disabled);
932
+ cursor:not-allowed;
933
+ background-color:var(--tds-page-header-nav-item-background-color-disabled);
934
+ opacity:1;
935
+ }
975
936
 
976
- :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
977
- --tds-sidenav-item-depth:2;
978
- }
937
+ @media (min-width: 600px){
938
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected)::after{
939
+ position:absolute;
940
+ inset:auto -1px -1px;
941
+ height:1px;
942
+ pointer-events:none;
943
+ content:"";
944
+ background-color:var(--tds-page-header-bottom-border-color);
945
+ }
946
+ }
979
947
 
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;
948
+ :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator){
949
+ position:relative;
986
950
  }
987
951
 
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);
952
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator)) :is(a,button){
953
+ -webkit-mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
954
+ mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
997
955
  }
998
956
 
999
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
957
+ :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{
1000
958
  position:absolute;
1001
- inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1002
- z-index:-1;
1003
- height:100%;
959
+ top:-5px;
960
+ right:-2px;
961
+ width:10px;
962
+ height:10px;
1004
963
  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);
1008
- }
1009
-
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
- }
1015
-
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);
964
+ background:var(--tds-page-header-nav-item-indicator-color);
965
+ border-radius:50%;
1019
966
  }
1020
967
 
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);
968
+ @media (prefers-reduced-motion: no-preference){
969
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
970
+ animation:indicator-pulse 1.25s ease infinite;
971
+ }
1023
972
  }
1024
973
 
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);
1028
- }
1029
-
1030
- .tds-sidenav-responsive-header{
974
+ .tds-page-header__title-bar{
1031
975
  display:flex;
1032
- gap:var(--t-spacing-2);
1033
- align-items:center;
1034
- width:100%;
976
+ flex-direction:column;
977
+ gap:var(--t-spacing-2) var(--t-spacing-1);
978
+ align-items:flex-start;
979
+ justify-content:space-between;
980
+ padding:0 var(--tds-page-header-padding-x);
1035
981
  }
1036
982
 
1037
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
1038
- order:0;
983
+ .tds-page-header--profile > .tds-page-header__title-bar{
984
+ align-items:center;
1039
985
  }
1040
986
 
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);
1048
- }
987
+ .tds-page-header__primary{
988
+ width:100%;
989
+ }
1049
990
 
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;
991
+ .tds-page-header__primary h1{
992
+ margin:0;
993
+ font-size:var(--tds-page-header-headline-font-size);
994
+ font-weight:var(--t-font-weight-normal);
995
+ line-height:32px;
996
+ color:var(--tds-page-header-headline-color);
997
+ overflow-wrap:break-word;
1068
998
  }
1069
999
 
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;
1000
+ @media (min-width: 960px){
1001
+ .tds-page-header__primary{
1002
+ flex:1 1 max-content;
1003
+ width:auto;
1004
+ min-width:0;
1005
+ max-width:100%;
1078
1006
  }
1079
1007
 
1080
- .tds-sidenav-item :is(a, button) :is(.prefix){
1081
- display:none;
1008
+ .tds-page-header__title-bar,
1009
+ .tds-page-header--profile .tds-page-header__title-bar{
1010
+ flex-flow:row nowrap;
1011
+ row-gap:12px;
1012
+ align-items:flex-start;
1082
1013
  }
1083
- @supports selector(:popover-open){
1084
- .tds-sidenav-collapse:popover-open{
1085
- display:flex;
1014
+ .tds-page-header :is([slot="actions"],.tds-page-header__actions){
1015
+ width:auto;
1086
1016
  }
1087
1017
 
1088
- .tds-sidenav-collapse:not(:popover-open){
1089
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1090
- transition:var(--tds-sidenav-collapse-transition-exit);
1018
+ .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
1019
+ justify-content:flex-end;
1091
1020
  }
1021
+ }
1092
1022
 
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
- }
1023
+ .tds-page-header-phone,
1024
+ .tds-page-header-email{
1025
+ color:var(--tds-page-header-color);
1026
+ white-space:nowrap;
1027
+ }
1028
+
1029
+ .tds-page-header-email{
1030
+ max-width:100%;
1031
+ overflow:hidden;
1032
+ text-overflow:ellipsis;
1033
+ }
1034
+
1035
+ @keyframes indicator-pulse{
1036
+ 0%{
1037
+ opacity:.3;
1038
+ transform:scale(.9);
1099
1039
  }
1100
- @supports not selector(:popover-open){
1101
- .tds-sidenav-collapse.\:popover-open{
1102
- display:flex;
1103
- }
1104
1040
 
1105
- .tds-sidenav-collapse:not(.\:popover-open){
1106
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1107
- transition:var(--tds-sidenav-collapse-transition-exit);
1108
- }
1041
+ 100%{
1042
+ opacity:0;
1043
+ transform:scale(1.75);
1109
1044
  }
1110
1045
  }
1111
1046
 
1112
- @media (min-width: 720px){
1113
- .tds-sidenav-responsive-header{
1114
- display:none;
1115
- }
1047
+ .tds-button-group{
1048
+ display:inline-flex;
1116
1049
  }
1050
+ .tds-button-group > .tds-btn{
1051
+ --tds-button-group-item-z-index:1;
1117
1052
 
1118
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
1119
- display:none;
1053
+ z-index:var(--tds-button-group-item-z-index);
1054
+ border-radius:0;
1055
+ }
1056
+ :is(.tds-button-group > .tds-btn):not(:first-child){
1057
+ margin-inline-start:calc(var(--tds-btn-border-width) * -1);
1120
1058
  }
1121
-
1122
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1123
- display:block;
1059
+ :is(.tds-button-group > .tds-btn):hover{
1060
+ --tds-button-group-item-z-index:2;
1124
1061
  }
1125
-
1126
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1127
- display:flex;
1128
- flex-direction:column;
1062
+ :is(.tds-button-group > .tds-btn):focus-visible{
1063
+ --tds-button-group-item-z-index:5;
1129
1064
  }
1130
-
1131
- .tds-checkbox{
1132
- --tds-checkbox-font-size:var(--t-font-size-md);
1065
+ .tds-button-group > .tds-btn:first-child{
1066
+ border-start-start-radius:var(--tds-btn-border-radius);
1067
+ border-end-start-radius:var(--tds-btn-border-radius);
1068
+ }
1069
+ .tds-button-group > .tds-btn:last-child{
1070
+ border-start-end-radius:var(--tds-btn-border-radius);
1071
+ border-end-end-radius:var(--tds-btn-border-radius);
1072
+ }
1073
+
1074
+ .tds-checkbox-group{
1075
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
1076
+ --tds-checkbox-group-line-height:1.4;
1077
+ --tds-checkbox-group-gap:var(--t-spacing-1);
1078
+
1079
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1080
+ --tds-checkbox-group-description-line-height:1.35;
1081
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1082
+ --tds-checkbox-group-description-invalid-icon-display:none;
1083
+ display:flex;
1084
+ flex-direction:column;
1085
+ gap:0;
1086
+ padding:0;
1087
+ margin:0;
1088
+
1089
+ font-size:var(--tds-checkbox-group-font-size);
1090
+ line-height:var(--tds-checkbox-group-line-height);
1091
+ border:0;
1092
+ }
1093
+
1094
+ .tds-checkbox-group legend{
1095
+ float:left;
1096
+ padding:0;
1097
+ margin:0;
1098
+ }
1099
+
1100
+ .tds-checkbox-group[aria-invalid="true"]{
1101
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1102
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
1103
+ }
1104
+
1105
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1106
+ margin-left:.25ch;
1107
+ color:var(--t-text-color-status-error);
1108
+ content:"*";
1109
+ }
1110
+
1111
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1112
+ content:none;
1113
+ }
1114
+
1115
+ .tds-checkbox-group-fields{
1116
+ display:flex;
1117
+ flex-direction:column;
1118
+ gap:var(--tds-checkbox-group-gap);
1119
+ align-items:flex-start;
1120
+ margin-top:var(--t-spacing-1);
1121
+ }
1122
+
1123
+ .tds-checkbox-group-description{
1124
+ display:flex;
1125
+ gap:var(--t-spacing-half);
1126
+ align-items:flex-start;
1127
+ margin:var(--t-spacing-fourth) 0 0;
1128
+ font-size:var(--tds-checkbox-group-description-font-size);
1129
+ line-height:var(--tds-checkbox-group-description-line-height);
1130
+ color:var(--tds-checkbox-group-description-color);
1131
+ cursor:text;
1132
+ }
1133
+
1134
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1135
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
1136
+ flex-shrink:0;
1137
+ margin-top:calc(.5lh - .5em);
1138
+ line-height:var(--tds-checkbox-group-description-line-height);
1139
+ }
1140
+
1141
+ .tds-checkbox-group--sm{
1142
+ --tds-checkbox-group-line-height:1.35;
1143
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
1144
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1145
+ --tds-checkbox-group-description-line-height:1.3;
1146
+ }
1147
+
1148
+ .tds-checkbox{
1149
+ --tds-checkbox-font-size:var(--t-font-size-md);
1133
1150
  --tds-checkbox-cursor:pointer;
1134
1151
  --tds-checkbox-line-height:1.4;
1135
1152
  --tds-checkbox-transition-property:background-color, border-color;
@@ -1323,500 +1340,255 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1323
1340
  --tds-checkbox-description-line-height:1.3;
1324
1341
  }
1325
1342
 
1326
- .tds-button-group{
1327
- display:inline-flex;
1343
+ .tds-dropdown-popover{
1344
+ min-inline-size:10rem;
1345
+ max-inline-size:24rem;
1346
+ padding:var(--t-spacing-1);
1347
+ overflow:auto;
1348
+ overscroll-behavior:none;
1349
+ -webkit-user-select:none;
1350
+ -moz-user-select:none;
1351
+ user-select:none;
1352
+ outline:0;
1353
+ scrollbar-color:#0004 var(--t-surface-color-card);
1354
+ scrollbar-width:thin;
1355
+ background:var(--t-surface-color-card);
1356
+ background-clip:padding-box;
1357
+ border:1px solid var(--t-border-color);
1358
+ border-radius:var(--t-border-radius);
1359
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1328
1360
  }
1329
- .tds-button-group > .tds-btn{
1330
- --tds-button-group-item-z-index:1;
1331
-
1332
- z-index:var(--tds-button-group-item-z-index);
1333
- border-radius:0;
1334
- }
1335
- :is(.tds-button-group > .tds-btn):not(:first-child){
1336
- margin-inline-start:calc(var(--tds-btn-border-width) * -1);
1337
- }
1338
- :is(.tds-button-group > .tds-btn):hover{
1339
- --tds-button-group-item-z-index:2;
1340
- }
1341
- :is(.tds-button-group > .tds-btn):focus-visible{
1342
- --tds-button-group-item-z-index:5;
1343
- }
1344
- .tds-button-group > .tds-btn:first-child{
1345
- border-start-start-radius:var(--tds-btn-border-radius);
1346
- border-end-start-radius:var(--tds-btn-border-radius);
1361
+ .tds-dropdown-popover[data-entering]{
1362
+ animation:tds-dropdown-popover var(--t-duration-300) var(--t-ease-out);
1347
1363
  }
1348
- .tds-button-group > .tds-btn:last-child{
1349
- border-start-end-radius:var(--tds-btn-border-radius);
1350
- border-end-end-radius:var(--tds-btn-border-radius);
1364
+ .tds-dropdown-popover[data-exiting]{
1365
+ animation:tds-dropdown-popover var(--t-duration-200) var(--t-ease-in) reverse;
1351
1366
  }
1352
-
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);
1357
-
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;
1362
- display:flex;
1363
- flex-direction:column;
1364
- gap:0;
1365
- padding:0;
1366
- margin:0;
1367
-
1368
- font-size:var(--tds-checkbox-group-font-size);
1369
- line-height:var(--tds-checkbox-group-line-height);
1370
- border:0;
1371
- }
1372
-
1373
- .tds-checkbox-group legend{
1374
- float:left;
1375
- padding:0;
1376
- margin:0;
1367
+ .tds-dropdown-popover[data-entering],.tds-dropdown-popover[data-exiting]{
1368
+ will-change:opacity, transform;
1377
1369
  }
1378
-
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;
1370
+ @keyframes tds-dropdown-popover{
1371
+ from{
1372
+ opacity:0;
1373
+ transform:translateY(-8px);
1382
1374
  }
1383
-
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:"*";
1388
- }
1389
-
1390
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1391
- content:none;
1375
+ }
1376
+ @media (prefers-reduced-motion: reduce){
1377
+ .tds-dropdown-popover[data-entering],.tds-dropdown-popover[data-exiting]{
1378
+ animation:none;
1392
1379
  }
1393
-
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);
1400
1380
  }
1381
+ .tds-dropdown-popover [role="menu"]{
1382
+ outline:0;
1383
+ }
1384
+ .tds-dropdown-item{
1385
+ --tds-dropdown-item-color:var(--t-text-color);
1386
+ --tds-dropdown-item-row-gap:0;
1387
+ --tds-dropdown-item-column-gap:var(--t-spacing-1);
1401
1388
 
1402
- .tds-checkbox-group-description{
1403
1389
  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;
1390
+ row-gap:var(--tds-dropdown-item-row-gap);
1391
+ -moz-column-gap:var(--tds-dropdown-item-column-gap);
1392
+ column-gap:var(--tds-dropdown-item-column-gap);
1393
+ align-items:center;
1394
+ padding-block:var(--t-spacing-1);
1395
+ padding-inline:var(--t-spacing-2);
1396
+ font-size:1rem;
1397
+ color:var(--tds-dropdown-item-color);
1398
+ text-decoration:none;
1399
+ cursor:default;
1400
+ outline:0;
1401
+ border-radius:var(--t-border-radius);
1411
1402
  }
1412
-
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);
1403
+ .tds-dropdown-item[data-hovered]:not([data-disabled]),.tds-dropdown-item[data-focus-visible]{
1404
+ background:var(--t-fill-color-neutral-070);
1418
1405
  }
1406
+ .tds-dropdown-item[data-pressed]:not([data-disabled]){
1407
+ background:var(--t-fill-color-neutral-060);
1408
+ }
1409
+ .tds-dropdown-item[data-disabled]{
1410
+ --tds-dropdown-item-color:var(--t-form-color-disabled);
1419
1411
 
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
- }
1426
-
1427
- @layer t-critical{
1428
- tds-page-header:not(.hydrated){
1429
- display:none;
1412
+ cursor:not-allowed;
1430
1413
  }
1414
+ .tds-dropdown-item--destructive{
1415
+ --tds-dropdown-item-color:var(--t-text-color-status-error);
1431
1416
  }
1417
+ .tds-dropdown-item--staff-only{
1418
+ --tds-dropdown-item-color:var(--t-fill-color-product-staff);
1419
+ }
1420
+ a.tds-dropdown-item:is(:hover, :active){
1421
+ color:var(--tds-dropdown-item-color);
1422
+ }
1423
+ .tds-dropdown-item [slot="prefix"],
1424
+ .tds-dropdown-item [slot="suffix"]{
1425
+ flex-shrink:0;
1426
+ }
1427
+ .tds-dropdown-item [slot="label"]{
1428
+ flex:1;
1429
+ min-width:0;
1430
+ overflow:hidden;
1431
+ text-overflow:ellipsis;
1432
+ white-space:nowrap;
1433
+ }
1434
+ .tds-dropdown-item [slot="description"]{
1435
+ font-size:var(--t-font-size-sm);
1436
+ color:var(--t-text-color-secondary);
1437
+ }
1438
+ .tds-dropdown-item:has([slot="description"]){
1439
+ --tds-dropdown-item-row-gap:var(--t-spacing-half);
1440
+ --tds-dropdown-item-column-gap:0;
1432
1441
 
1433
- @layer t-component{
1434
- .tds-page-header{
1435
- --tds-page-header-background-color:var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-canvas));
1436
- --tds-page-header-background-color-inactive:var(--t-fill-color-neutral-090);
1437
- --tds-page-header-color:var(--t-text-color);
1438
- --tds-page-header-bottom-border-color:transparent;
1439
- --tds-page-header-headline-color:var(--t-text-color-headline);
1440
- --tds-page-header-headline-font-size:var(--t-font-size-2xl);
1441
- --tds-page-header-padding-x:var(--t-spacing-2);
1442
- --tds-page-header-padding-y:var(--t-spacing-2);
1443
- --tds-page-header-nav-padding-x:var(--tds-page-header-padding-x, var(--t-spacing-3));
1444
- --tds-page-header-nav-gap:var(--t-spacing-1);
1445
- --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%);
1446
- --tds-page-header-nav-item-padding-x:var(--t-spacing-1);
1447
- --tds-page-header-nav-item-padding-y:var(--t-spacing-1);
1448
- --tds-page-header-nav-item-color:var(--t-text-color-secondary);
1449
- --tds-page-header-nav-item-background-color:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 35%);
1450
- --tds-page-header-nav-item-border-width:1px;
1451
-
1452
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-background-color);
1453
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color);
1442
+ display:grid;
1443
+ grid-template-areas:"prefix label suffix" ". description .";
1444
+ grid-template-columns:auto 1fr auto;
1445
+ }
1446
+ .tds-dropdown-item:has([slot="description"]) [slot="prefix"]{
1447
+ grid-area:prefix;
1448
+ margin-inline-end:var(--t-spacing-1);
1449
+ }
1450
+ .tds-dropdown-item:has([slot="description"]) [slot="label"]{
1451
+ grid-area:label;
1452
+ }
1453
+ .tds-dropdown-item:has([slot="description"]) [slot="description"]{
1454
+ grid-area:description;
1455
+ }
1456
+ .tds-dropdown-item:has([slot="description"]) [slot="suffix"]{
1457
+ grid-area:suffix;
1458
+ margin-inline-start:var(--t-spacing-1);
1459
+ }
1460
+ .tds-dropdown-section:not(:first-child){
1461
+ margin-block-start:var(--t-spacing-half);
1462
+ }
1463
+ .tds-dropdown-section-label{
1464
+ padding-block:var(--t-spacing-1);
1465
+ padding-inline:var(--t-spacing-1);
1466
+ font-size:var(--t-font-size-sm);
1467
+ font-weight:var(--t-font-weight-semibold);
1468
+ color:var(--t-text-color-secondary);
1469
+ }
1470
+ .tds-dropdown-separator{
1471
+ margin-block:var(--t-spacing-half);
1472
+ margin-inline:0;
1473
+ border:0;
1474
+ border-top:1px solid var(--t-border-color);
1475
+ }
1454
1476
 
1455
- --tds-page-header-nav-item-color-hover:var(--t-text-color);
1456
- --tds-page-header-nav-item-background-color-hover:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 20%);
1457
- --tds-page-header-nav-item-border-color-hover:var(--tds-page-header-nav-item-background-color-hover);
1477
+ .tds-combo-box{
1478
+ --tds-combo-box-button-offset:4px;
1479
+ }
1458
1480
 
1459
- --tds-page-header-nav-item-background-color-active:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 10%);
1460
- --tds-page-header-nav-item-border-color-active:var(--tds-page-header-nav-item-background-color-active);
1481
+ .tds-combo-box[data-open] .tds-combo-box-button > svg{
1482
+ transform:rotate(.5turn);
1483
+ }
1461
1484
 
1462
- --tds-page-header-nav-item-color-disabled:var(--t-text-color-disabled);
1463
- --tds-page-header-nav-item-background-color-disabled:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 50%);
1464
- --tds-page-header-nav-item-border-color-disabled:var(--tds-page-header-nav-item-background-color-disabled);
1485
+ .tds-combo-box--lg{
1486
+ --tds-combo-box-button-offset:5px;
1487
+ }
1465
1488
 
1466
- --tds-page-header-nav-item-color-selected:var(--t-text-color);
1467
- --tds-page-header-nav-item-background-color-selected:var(--t-surface-color-canvas);
1468
- --tds-page-header-nav-item-border-color-selected:var(--tds-page-header-nav-item-background-color-selected);
1469
- --tds-page-header-nav-item-border-bottom-color-selected:var(--tds-page-header-nav-item-background-color-selected);
1470
- --tds-page-header-nav-item-indicator-color:var(--t-icon-color-status-warning);
1471
- }
1489
+ .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
1490
+ display:none;
1491
+ }
1472
1492
 
1473
- .tds-page-header--profile{
1474
- --tds-page-header-padding-y:20px;
1493
+ .tds-combo-box-input{
1494
+ display:flex;
1495
+ flex:1;
1496
+ align-items:center;
1497
+ padding-block:var(--tds-field-padding-block);
1498
+ padding-inline:var(--tds-field-padding-inline);
1499
+ font-family:inherit;
1500
+ font-size:inherit;
1501
+ color:inherit;
1502
+ outline:0;
1503
+ background:transparent;
1504
+ border:0;
1505
+ }
1506
+
1507
+ .tds-combo-box-input:has( + .tds-combo-box-button){
1508
+ padding-inline-end:0;
1475
1509
  }
1476
1510
 
1477
- @supports (color: light-dark(#fff, #000)){
1478
- .tds-page-header{
1479
- --tds-page-header-nav-background-start:light-dark(rgba(0, 0, 0, 0), rgba(255, 255, 255, 0));
1480
- --tds-page-header-nav-background-end:light-dark(rgba(0, 0, 0, .05), rgba(255, 255, 255, .1));
1481
- }
1511
+ .tds-combo-box-input::-moz-placeholder{
1512
+ color:var(--tds-field-placeholder-color);
1513
+ -moz-user-select:none;
1514
+ user-select:none;
1482
1515
  }
1483
1516
 
1484
- @media (min-width: 600px){
1485
- .tds-page-header{
1486
- --tds-page-header-background-color:var(--t-surface-color-canvas);
1487
- --tds-page-header-color:var(--t-text-color-secondary);
1488
- --tds-page-header-bottom-border-color:var(--t-border-color);
1489
- --tds-page-header-padding-x:var(--t-spacing-3);
1490
- --tds-page-header-headline-font-size:var(--t-font-size-3xl);
1491
- --tds-page-header-nav-gap:var(--t-spacing-half);
1492
- --tds-page-header-nav-background:transparent;
1493
- --tds-page-header-nav-item-padding-x:var(--t-spacing-2);
1494
- --tds-page-header-nav-item-border-width:1px;
1495
- --tds-page-header-nav-item-color:var(--t-text-color);
1496
- --tds-page-header-nav-item-background-color:var(--t-fill-color-neutral-070);
1497
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-bottom-border-color);
1498
- --tds-page-header-nav-item-background-color-hover:var(--t-fill-color-neutral-060);
1499
- --tds-page-header-nav-item-background-color-active:var(--t-fill-color-neutral-050);
1500
- --tds-page-header-nav-item-background-color-disabled:var(--t-fill-color-neutral-080);
1501
- --tds-page-header-nav-item-border-color-selected:var(--t-border-color);
1502
- }
1517
+ .tds-combo-box-input::placeholder{
1518
+ color:var(--tds-field-placeholder-color);
1519
+ -webkit-user-select:none;
1520
+ -moz-user-select:none;
1521
+ user-select:none;
1503
1522
  }
1504
- }
1505
1523
 
1506
- .tds-page-header{
1507
- display:flex;
1508
- flex-direction:column;
1509
- padding-top:var(--tds-page-header-padding-y);
1510
- color:var(--tds-page-header-color);
1511
- background:var(--tds-page-header-background-color);
1512
- border-bottom:1px solid var(--tds-page-header-bottom-border-color);
1524
+ .tds-combo-box-button{
1525
+ flex-shrink:0;
1526
+ align-self:center;
1527
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1528
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1529
+ padding:0;
1530
+ margin-inline-end:var(--tds-combo-box-button-offset);
1513
1531
  }
1514
1532
 
1515
- .tds-page-header:not(.has-nav){
1516
- padding-bottom:var(--tds-page-header-padding-y);
1533
+ .tds-combo-box-button > svg{
1534
+ inline-size:var(--tds-field-font-size);
1535
+ block-size:var(--tds-field-font-size);
1536
+ transition:transform var(--t-duration-300) var(--t-ease-in-out);
1517
1537
  }
1518
1538
 
1519
- .tds-page-header.inactive{
1520
- background:var(--tds-page-header-background-color-inactive);
1539
+ .tds-combo-box-popover{
1540
+ width:var(--trigger-width);
1541
+ max-block-size:inherit;
1542
+ padding:var(--t-spacing-1);
1543
+ overflow:auto;
1544
+ scroll-behavior:smooth;
1545
+ overscroll-behavior:none;
1546
+ -webkit-user-select:none;
1547
+ -moz-user-select:none;
1548
+ user-select:none;
1549
+ outline:0;
1550
+ scrollbar-color:#0004 var(--t-surface-color-card);
1551
+ scrollbar-width:thin;
1552
+ background:var(--t-surface-color-card);
1553
+ background-clip:padding-box;
1554
+ border:1px solid var(--t-border-color);
1555
+ border-radius:var(--t-border-radius);
1556
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1557
+ }
1558
+
1559
+ .tds-combo-box-popover[data-entering]{
1560
+ animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
1521
1561
  }
1522
1562
 
1523
- .tds-page-header :is([slot="actions"],.tds-page-header__actions){
1524
- width:100%;
1563
+ .tds-combo-box-popover[data-exiting]{
1564
+ animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
1525
1565
  }
1526
1566
 
1527
- .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
1528
- display:flex;
1529
- flex-flow:row wrap;
1530
- gap:var(--t-spacing-half) var(--t-spacing-1);
1531
- align-items:flex-start;
1532
- justify-content:flex-start;
1533
- min-width:0;
1567
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1568
+ will-change:opacity, transform;
1534
1569
  }
1535
1570
 
1536
- :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{
1537
- display:flex;
1538
- gap:var(--tds-page-header-nav-gap);
1539
- padding:var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
1540
- margin:0 0 -1px;
1541
- overflow:auto;
1542
- list-style:none;
1543
- background:var(--tds-page-header-nav-background);
1544
- }
1571
+ @keyframes tds-combo-box-popover{
1572
+ from{
1573
+ opacity:0;
1574
+ transform:translateY(-8px);
1575
+ }
1576
+ }
1545
1577
 
1546
- :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button){
1547
- position:relative;
1548
- display:inline-flex;
1549
- padding:var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
1550
- font-size:var(--t-font-size-sm);
1551
- line-height:22px;
1552
- color:var(--tds-page-header-nav-item-color);
1553
- white-space:nowrap;
1554
- text-decoration:none;
1555
- -webkit-appearance:none;
1556
- -moz-appearance:none;
1557
- appearance:none;
1558
- cursor:pointer;
1559
- outline-offset:-2px;
1560
- background-color:var(--tds-page-header-nav-item-background-color);
1561
- background-clip:padding-box;
1562
- border:var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
1563
- border-bottom:1px solid var(--tds-page-header-nav-item-border-bottom-color);
1564
- border-radius:var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
1578
+ @media (prefers-reduced-motion: reduce){
1579
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1580
+ animation:none;
1565
1581
  }
1566
1582
 
1567
- .selected:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)){
1568
- --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-selected);
1569
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-selected);
1570
- --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-selected);
1571
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-selected);
1572
- }
1583
+ .tds-combo-box-button > svg{
1584
+ transition:none;
1585
+ }
1586
+ }
1573
1587
 
1574
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):hover{
1575
- --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-hover);
1576
- --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-hover);
1577
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-hover);
1578
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-hover);
1579
- }
1580
-
1581
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):active{
1582
- background-color:var(--tds-page-header-nav-item-background-color-active);
1583
- border-color:var(--tds-page-header-nav-item-border-color-active);
1584
- border-bottom-color:var(--tds-page-header-nav-item-background-color-active);
1585
- }
1586
-
1587
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):disabled{
1588
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-disabled);
1589
- color:var(--tds-page-header-nav-item-color-disabled);
1590
- cursor:not-allowed;
1591
- background-color:var(--tds-page-header-nav-item-background-color-disabled);
1592
- opacity:1;
1593
- }
1594
-
1595
- @media (min-width: 600px){
1596
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected)::after{
1597
- position:absolute;
1598
- inset:auto -1px -1px;
1599
- height:1px;
1600
- pointer-events:none;
1601
- content:"";
1602
- background-color:var(--tds-page-header-bottom-border-color);
1603
- }
1604
- }
1605
-
1606
- :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator){
1607
- position:relative;
1608
- }
1609
-
1610
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator)) :is(a,button){
1611
- -webkit-mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
1612
- mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
1613
- }
1614
-
1615
- :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{
1616
- position:absolute;
1617
- top:-5px;
1618
- right:-2px;
1619
- width:10px;
1620
- height:10px;
1621
- content:"";
1622
- background:var(--tds-page-header-nav-item-indicator-color);
1623
- border-radius:50%;
1624
- }
1625
-
1626
- @media (prefers-reduced-motion: no-preference){
1627
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
1628
- animation:indicator-pulse 1.25s ease infinite;
1629
- }
1630
- }
1631
-
1632
- .tds-page-header__title-bar{
1633
- display:flex;
1634
- flex-direction:column;
1635
- gap:var(--t-spacing-2) var(--t-spacing-1);
1636
- align-items:flex-start;
1637
- justify-content:space-between;
1638
- padding:0 var(--tds-page-header-padding-x);
1639
- }
1640
-
1641
- .tds-page-header--profile > .tds-page-header__title-bar{
1642
- align-items:center;
1643
- }
1644
-
1645
- .tds-page-header__primary{
1646
- width:100%;
1647
- }
1648
-
1649
- .tds-page-header__primary h1{
1650
- margin:0;
1651
- font-size:var(--tds-page-header-headline-font-size);
1652
- font-weight:var(--t-font-weight-normal);
1653
- line-height:32px;
1654
- color:var(--tds-page-header-headline-color);
1655
- overflow-wrap:break-word;
1656
- }
1657
-
1658
- @media (min-width: 960px){
1659
- .tds-page-header__primary{
1660
- flex:1 1 max-content;
1661
- width:auto;
1662
- min-width:0;
1663
- max-width:100%;
1664
- }
1665
-
1666
- .tds-page-header__title-bar,
1667
- .tds-page-header--profile .tds-page-header__title-bar{
1668
- flex-flow:row nowrap;
1669
- row-gap:12px;
1670
- align-items:flex-start;
1671
- }
1672
- .tds-page-header :is([slot="actions"],.tds-page-header__actions){
1673
- width:auto;
1674
- }
1675
-
1676
- .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
1677
- justify-content:flex-end;
1678
- }
1679
- }
1680
-
1681
- .tds-page-header-phone,
1682
- .tds-page-header-email{
1683
- color:var(--tds-page-header-color);
1684
- white-space:nowrap;
1685
- }
1686
-
1687
- .tds-page-header-email{
1688
- max-width:100%;
1689
- overflow:hidden;
1690
- text-overflow:ellipsis;
1691
- }
1692
-
1693
- @keyframes indicator-pulse{
1694
- 0%{
1695
- opacity:.3;
1696
- transform:scale(.9);
1697
- }
1698
-
1699
- 100%{
1700
- opacity:0;
1701
- transform:scale(1.75);
1702
- }
1703
- }
1704
-
1705
- .tds-combo-box{
1706
- --tds-combo-box-button-offset:4px;
1707
- }
1708
-
1709
- .tds-combo-box[data-open] .tds-combo-box-button > svg{
1710
- transform:rotate(.5turn);
1711
- }
1712
-
1713
- .tds-combo-box--lg{
1714
- --tds-combo-box-button-offset:5px;
1715
- }
1716
-
1717
- .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
1718
- display:none;
1719
- }
1720
-
1721
- .tds-combo-box-input{
1722
- display:flex;
1723
- flex:1;
1724
- align-items:center;
1725
- padding-block:var(--tds-field-padding-block);
1726
- padding-inline:var(--tds-field-padding-inline);
1727
- font-family:inherit;
1728
- font-size:inherit;
1729
- color:inherit;
1730
- outline:0;
1731
- background:transparent;
1732
- border:0;
1733
- }
1734
-
1735
- .tds-combo-box-input:has( + .tds-combo-box-button){
1736
- padding-inline-end:0;
1737
- }
1738
-
1739
- .tds-combo-box-input::-moz-placeholder{
1740
- color:var(--tds-field-placeholder-color);
1741
- -moz-user-select:none;
1742
- user-select:none;
1743
- }
1744
-
1745
- .tds-combo-box-input::placeholder{
1746
- color:var(--tds-field-placeholder-color);
1747
- -webkit-user-select:none;
1748
- -moz-user-select:none;
1749
- user-select:none;
1750
- }
1751
-
1752
- .tds-combo-box-button{
1753
- flex-shrink:0;
1754
- align-self:center;
1755
- inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1756
- block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1757
- padding:0;
1758
- margin-inline-end:var(--tds-combo-box-button-offset);
1759
- }
1760
-
1761
- .tds-combo-box-button > svg{
1762
- inline-size:var(--tds-field-font-size);
1763
- block-size:var(--tds-field-font-size);
1764
- transition:transform var(--t-duration-300) var(--t-ease-in-out);
1765
- }
1766
-
1767
- .tds-combo-box-popover{
1768
- width:var(--trigger-width);
1769
- max-block-size:inherit;
1770
- padding:var(--t-spacing-1);
1771
- overflow:auto;
1772
- scroll-behavior:smooth;
1773
- overscroll-behavior:none;
1774
- -webkit-user-select:none;
1775
- -moz-user-select:none;
1776
- user-select:none;
1777
- outline:0;
1778
- scrollbar-color:#0004 var(--t-surface-color-card);
1779
- scrollbar-width:thin;
1780
- background:var(--t-surface-color-card);
1781
- background-clip:padding-box;
1782
- border:1px solid var(--t-border-color);
1783
- border-radius:var(--t-border-radius);
1784
- box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1785
- }
1786
-
1787
- .tds-combo-box-popover[data-entering]{
1788
- animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
1789
- }
1790
-
1791
- .tds-combo-box-popover[data-exiting]{
1792
- animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
1793
- }
1794
-
1795
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1796
- will-change:opacity, transform;
1797
- }
1798
-
1799
- @keyframes tds-combo-box-popover{
1800
- from{
1801
- opacity:0;
1802
- transform:translateY(-8px);
1803
- }
1804
- }
1805
-
1806
- @media (prefers-reduced-motion: reduce){
1807
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1808
- animation:none;
1809
- }
1810
-
1811
- .tds-combo-box-button > svg{
1812
- transition:none;
1813
- }
1814
- }
1815
-
1816
- .tds-combo-box-list{
1817
- padding:0;
1818
- margin:0;
1819
- }
1588
+ .tds-combo-box-list{
1589
+ padding:0;
1590
+ margin:0;
1591
+ }
1820
1592
 
1821
1593
  .tds-combo-box-list-item{
1822
1594
  display:block;
@@ -1884,140 +1656,6 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1884
1656
  color:var(--t-text-color-secondary);
1885
1657
  }
1886
1658
 
1887
- .tds-dropdown-popover{
1888
- min-inline-size:10rem;
1889
- max-inline-size:24rem;
1890
- padding:var(--t-spacing-1);
1891
- overflow:auto;
1892
- overscroll-behavior:none;
1893
- -webkit-user-select:none;
1894
- -moz-user-select:none;
1895
- user-select:none;
1896
- outline:0;
1897
- scrollbar-color:#0004 var(--t-surface-color-card);
1898
- scrollbar-width:thin;
1899
- background:var(--t-surface-color-card);
1900
- background-clip:padding-box;
1901
- border:1px solid var(--t-border-color);
1902
- border-radius:var(--t-border-radius);
1903
- box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1904
- }
1905
- .tds-dropdown-popover[data-entering]{
1906
- animation:tds-dropdown-popover var(--t-duration-300) var(--t-ease-out);
1907
- }
1908
- .tds-dropdown-popover[data-exiting]{
1909
- animation:tds-dropdown-popover var(--t-duration-200) var(--t-ease-in) reverse;
1910
- }
1911
- .tds-dropdown-popover[data-entering],.tds-dropdown-popover[data-exiting]{
1912
- will-change:opacity, transform;
1913
- }
1914
- @keyframes tds-dropdown-popover{
1915
- from{
1916
- opacity:0;
1917
- transform:translateY(-8px);
1918
- }
1919
- }
1920
- @media (prefers-reduced-motion: reduce){
1921
- .tds-dropdown-popover[data-entering],.tds-dropdown-popover[data-exiting]{
1922
- animation:none;
1923
- }
1924
- }
1925
- .tds-dropdown-popover [role="menu"]{
1926
- outline:0;
1927
- }
1928
- .tds-dropdown-item{
1929
- --tds-dropdown-item-color:var(--t-text-color);
1930
- --tds-dropdown-item-row-gap:0;
1931
- --tds-dropdown-item-column-gap:var(--t-spacing-1);
1932
-
1933
- display:flex;
1934
- row-gap:var(--tds-dropdown-item-row-gap);
1935
- -moz-column-gap:var(--tds-dropdown-item-column-gap);
1936
- column-gap:var(--tds-dropdown-item-column-gap);
1937
- align-items:center;
1938
- padding-block:var(--t-spacing-1);
1939
- padding-inline:var(--t-spacing-2);
1940
- font-size:1rem;
1941
- color:var(--tds-dropdown-item-color);
1942
- text-decoration:none;
1943
- cursor:default;
1944
- outline:0;
1945
- border-radius:var(--t-border-radius);
1946
- }
1947
- .tds-dropdown-item[data-hovered]:not([data-disabled]),.tds-dropdown-item[data-focus-visible]{
1948
- background:var(--t-fill-color-neutral-070);
1949
- }
1950
- .tds-dropdown-item[data-pressed]:not([data-disabled]){
1951
- background:var(--t-fill-color-neutral-060);
1952
- }
1953
- .tds-dropdown-item[data-disabled]{
1954
- --tds-dropdown-item-color:var(--t-form-color-disabled);
1955
-
1956
- cursor:not-allowed;
1957
- }
1958
- .tds-dropdown-item--destructive{
1959
- --tds-dropdown-item-color:var(--t-text-color-status-error);
1960
- }
1961
- .tds-dropdown-item--staff-only{
1962
- --tds-dropdown-item-color:var(--t-fill-color-product-staff);
1963
- }
1964
- a.tds-dropdown-item:is(:hover, :active){
1965
- color:var(--tds-dropdown-item-color);
1966
- }
1967
- .tds-dropdown-item [slot="prefix"],
1968
- .tds-dropdown-item [slot="suffix"]{
1969
- flex-shrink:0;
1970
- }
1971
- .tds-dropdown-item [slot="label"]{
1972
- flex:1;
1973
- min-width:0;
1974
- overflow:hidden;
1975
- text-overflow:ellipsis;
1976
- white-space:nowrap;
1977
- }
1978
- .tds-dropdown-item [slot="description"]{
1979
- font-size:var(--t-font-size-sm);
1980
- color:var(--t-text-color-secondary);
1981
- }
1982
- .tds-dropdown-item:has([slot="description"]){
1983
- --tds-dropdown-item-row-gap:var(--t-spacing-half);
1984
- --tds-dropdown-item-column-gap:0;
1985
-
1986
- display:grid;
1987
- grid-template-areas:"prefix label suffix" ". description .";
1988
- grid-template-columns:auto 1fr auto;
1989
- }
1990
- .tds-dropdown-item:has([slot="description"]) [slot="prefix"]{
1991
- grid-area:prefix;
1992
- margin-inline-end:var(--t-spacing-1);
1993
- }
1994
- .tds-dropdown-item:has([slot="description"]) [slot="label"]{
1995
- grid-area:label;
1996
- }
1997
- .tds-dropdown-item:has([slot="description"]) [slot="description"]{
1998
- grid-area:description;
1999
- }
2000
- .tds-dropdown-item:has([slot="description"]) [slot="suffix"]{
2001
- grid-area:suffix;
2002
- margin-inline-start:var(--t-spacing-1);
2003
- }
2004
- .tds-dropdown-section:not(:first-child){
2005
- margin-block-start:var(--t-spacing-half);
2006
- }
2007
- .tds-dropdown-section-label{
2008
- padding-block:var(--t-spacing-1);
2009
- padding-inline:var(--t-spacing-1);
2010
- font-size:var(--t-font-size-sm);
2011
- font-weight:var(--t-font-weight-semibold);
2012
- color:var(--t-text-color-secondary);
2013
- }
2014
- .tds-dropdown-separator{
2015
- margin-block:var(--t-spacing-half);
2016
- margin-inline:0;
2017
- border:0;
2018
- border-top:1px solid var(--t-border-color);
2019
- }
2020
-
2021
1659
  .tds-modal{
2022
1660
  --tds-modal-width:600px;
2023
1661
  --tds-modal-opacity:0;
@@ -2068,108 +1706,464 @@ a.tds-dropdown-item:is(:hover, :active){
2068
1706
  .tds-modal[open]::backdrop{
2069
1707
  --tds-modal-backdrop-opacity:0;
2070
1708
  }
2071
- }
1709
+ }
1710
+
1711
+ @media (prefers-reduced-motion: reduce){
1712
+ .tds-modal{
1713
+ --tds-modal-transition:none;
1714
+ --tds-modal-backdrop-transition:none;
1715
+ }
1716
+ }
1717
+
1718
+ .tds-modal--sm{
1719
+ --tds-modal-width:400px;
1720
+ }
1721
+
1722
+ .tds-modal--lg{
1723
+ --tds-modal-width:800px;
1724
+ }
1725
+
1726
+ .tds-modal--xl{
1727
+ --tds-modal-width:1000px;
1728
+ }
1729
+
1730
+ .tds-modal-header{
1731
+ display:grid;
1732
+ grid-template-columns:1fr auto;
1733
+ -moz-column-gap:var(--t-spacing-2);
1734
+ column-gap:var(--t-spacing-2);
1735
+ padding-block:0;
1736
+ padding-inline:var(--t-spacing-4);
1737
+ }
1738
+
1739
+ .tds-modal-title{
1740
+ grid-row:1;
1741
+ grid-column:1;
1742
+ margin:0;
1743
+ font-size:var(--t-font-size-2xl);
1744
+ font-weight:var(--t-font-weight-medium);
1745
+ line-height:140%;
1746
+ color:var(--t-text-color-headline);
1747
+ }
1748
+
1749
+ .tds-modal-subtitle{
1750
+ grid-row:2;
1751
+ grid-column:1;
1752
+ margin:0;
1753
+ font-size:var(--t-font-size-md);
1754
+ font-weight:var(--t-font-weight-medium);
1755
+ line-height:140%;
1756
+ color:var(--t-text-color-secondary);
1757
+ }
1758
+
1759
+ .tds-modal-close{
1760
+ grid-row:1;
1761
+ grid-column:2;
1762
+ align-self:center;
1763
+ color:var(--t-icon-color-dim);
1764
+ }
1765
+
1766
+ .tds-modal-body{
1767
+ padding-block:var(--t-spacing-3);
1768
+ padding-inline:var(--t-spacing-4);
1769
+ }
1770
+
1771
+ .tds-modal-body--full-width{
1772
+ padding-inline:0;
1773
+ }
1774
+
1775
+ .tds-modal-footer{
1776
+ display:flex;
1777
+ gap:var(--t-spacing-2);
1778
+ align-items:center;
1779
+ justify-content:flex-end;
1780
+ padding-block-start:var(--t-spacing-3);
1781
+ padding-inline:var(--t-spacing-4);
1782
+ border-top:1px solid var(--t-border-color);
1783
+ }
1784
+
1785
+ .tds-modal-footer > [slot="start"]{
1786
+ margin-inline-end:auto;
1787
+ }
1788
+
1789
+
1790
+ :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{
1791
+ -webkit-appearance:none;
1792
+ appearance:none;
1793
+ }
1794
+
1795
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1796
+ inline-size:1em;
1797
+ block-size:2em;
1798
+ }
1799
+
1800
+ @supports (field-sizing: content){
1801
+ .tds-input--auto-width{
1802
+ inline-size:-moz-fit-content;
1803
+ inline-size:fit-content;
1804
+ min-inline-size:min(100%, 122px);
1805
+ }
1806
+
1807
+ .tds-input--auto-width input{
1808
+ field-sizing:content;
1809
+ inline-size:auto;
1810
+ }
1811
+ }
1812
+
1813
+ .tds-radio-group{
1814
+ --tds-radio-group-font-size:var(--t-font-size-md);
1815
+ --tds-radio-group-line-height:1.4;
1816
+ --tds-radio-group-gap:var(--t-spacing-1);
1817
+
1818
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
1819
+ --tds-radio-group-description-line-height:1.35;
1820
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
1821
+ --tds-radio-group-description-invalid-icon-display:none;
1822
+ display:flex;
1823
+ flex-direction:column;
1824
+ gap:0;
1825
+ padding:0;
1826
+ margin:0;
1827
+
1828
+ font-size:var(--tds-radio-group-font-size);
1829
+ line-height:var(--tds-radio-group-line-height);
1830
+ border:0;
1831
+ }
1832
+
1833
+ .tds-radio-group legend{
1834
+ float:left;
1835
+ padding:0;
1836
+ margin:0;
1837
+ }
1838
+
1839
+ .tds-radio-group[aria-invalid="true"]{
1840
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
1841
+ --tds-radio-group-description-invalid-icon-display:inline-block;
1842
+ }
1843
+
1844
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
1845
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1846
+ }
1847
+
1848
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1849
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1850
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1851
+ }
1852
+
1853
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1854
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
1855
+ }
1856
+
1857
+ .tds-radio-group:has(input:required) legend::after{
1858
+ margin-left:.25ch;
1859
+ color:var(--t-text-color-status-error);
1860
+ content:"*";
1861
+ }
1862
+
1863
+ .tds-radio-group-fields{
1864
+ display:flex;
1865
+ flex-direction:column;
1866
+ gap:var(--tds-radio-group-gap);
1867
+ align-items:flex-start;
1868
+ margin-top:var(--t-spacing-1);
1869
+ }
1870
+
1871
+ .tds-radio-group-description{
1872
+ display:flex;
1873
+ gap:var(--t-spacing-half);
1874
+ align-items:flex-start;
1875
+ margin:var(--t-spacing-fourth) 0 0;
1876
+ font-size:var(--tds-radio-group-description-font-size);
1877
+ line-height:var(--tds-radio-group-description-line-height);
1878
+ color:var(--tds-radio-group-description-color);
1879
+ cursor:text;
1880
+ }
1881
+
1882
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1883
+ display:var(--tds-radio-group-description-invalid-icon-display);
1884
+ flex-shrink:0;
1885
+ margin-top:calc(.5lh - .5em);
1886
+ line-height:var(--tds-radio-group-description-line-height);
1887
+ }
1888
+
1889
+ .tds-radio-group--sm{
1890
+ --tds-radio-group-line-height:1.35;
1891
+ --tds-radio-group-font-size:var(--t-font-size-sm);
1892
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
1893
+ --tds-radio-group-description-line-height:1.3;
1894
+ }
1895
+
1896
+ .tds-toggle-switch{
1897
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
1898
+ --tds-toggle-switch-cursor:pointer;
1899
+ --tds-toggle-switch-display:inline-grid;
1900
+ --tds-toggle-switch-line-height:1.4;
1901
+
1902
+ --tds-toggle-switch-label-color:var(--t-form-color);
1903
+
1904
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
1905
+ --tds-toggle-switch-track-outline:none;
1906
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
1907
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1908
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1909
+
1910
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1911
+ --tds-toggle-switch-thumb-transform:translateX(0);
1912
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1913
+
1914
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1915
+ --tds-toggle-switch-description-line-height:1.35;
1916
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1917
+ position:relative;
1918
+
1919
+ display:var(--tds-toggle-switch-display);
1920
+ grid-template-columns:auto;
1921
+ grid-auto-columns:1fr;
1922
+ gap:var(--t-spacing-fourth) 0;
1923
+ -webkit-user-select:none;
1924
+ -moz-user-select:none;
1925
+ user-select:none;
1926
+ }
1927
+
1928
+ .tds-toggle-switch input[type="checkbox"]{
1929
+ position:absolute;
1930
+ width:var(--tds-toggle-switch-track-width);
1931
+ height:var(--tds-toggle-switch-track-height);
1932
+ margin:0;
1933
+ -webkit-appearance:none;
1934
+ -moz-appearance:none;
1935
+ appearance:none;
1936
+ cursor:var(--tds-toggle-switch-cursor);
1937
+ outline:var(--tds-toggle-switch-track-outline);
1938
+ outline-offset:var(--t-focus-ring-offset);
1939
+ background-color:transparent;
1940
+ border:0;
1941
+ border-radius:var(--t-border-radius-round);
1942
+ }
1943
+
1944
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1945
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1946
+ }
1947
+
1948
+ .tds-toggle-switch label{
1949
+ display:inline-flex;
1950
+ grid-area:1 / 2;
1951
+ padding-inline-start:var(--t-spacing-1);
1952
+ margin-top:-.09375em;
1953
+ font-size:var(--tds-toggle-switch-font-size);
1954
+ font-weight:var(--t-font-weight-normal);
1955
+ line-height:var(--tds-toggle-switch-line-height);
1956
+ color:var(--tds-toggle-switch-label-color);
1957
+ cursor:var(--tds-toggle-switch-cursor);
1958
+ }
1959
+
1960
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1961
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1962
+ }
1963
+
1964
+ .tds-toggle-switch:has(input:checked){
1965
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1966
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1967
+ }
1968
+
1969
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1970
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1971
+ }
1972
+
1973
+ .tds-toggle-switch:has(input:disabled){
1974
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1975
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1976
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1977
+ --tds-toggle-switch-cursor:not-allowed;
1978
+ }
1979
+
1980
+ .tds-toggle-switch-track{
1981
+ position:relative;
1982
+ flex-shrink:0;
1983
+ width:var(--tds-toggle-switch-track-width);
1984
+ height:var(--tds-toggle-switch-track-height);
1985
+ background-color:var(--tds-toggle-switch-track-background-color);
1986
+ border-radius:var(--t-border-radius-round);
1987
+ transition:var(--tds-toggle-switch-track-transition);
1988
+ }
1989
+
1990
+ .tds-toggle-switch-track::before{
1991
+ position:absolute;
1992
+ top:var(--t-spacing-fourth);
1993
+ left:var(--t-spacing-fourth);
1994
+ width:var(--tds-toggle-switch-thumb-size);
1995
+ height:var(--tds-toggle-switch-thumb-size);
1996
+ content:"";
1997
+ background-color:#fff;
1998
+ border-radius:var(--t-border-radius-round);
1999
+ transform:var(--tds-toggle-switch-thumb-transform);
2000
+ transition:var(--tds-toggle-switch-thumb-transition);
2001
+ }
2072
2002
 
2073
2003
  @media (prefers-reduced-motion: reduce){
2074
- .tds-modal{
2075
- --tds-modal-transition:none;
2076
- --tds-modal-backdrop-transition:none;
2077
- }
2078
- }
2079
2004
 
2080
- .tds-modal--sm{
2081
- --tds-modal-width:400px;
2005
+ .tds-toggle-switch-track{
2006
+ --tds-toggle-switch-track-transition:none;
2007
+ --tds-toggle-switch-thumb-transition:none;
2082
2008
  }
2009
+ }
2083
2010
 
2084
- .tds-modal--lg{
2085
- --tds-modal-width:800px;
2011
+ .tds-toggle-switch-description{
2012
+ display:flex;
2013
+ grid-area:2 / 2;
2014
+ align-items:flex-start;
2015
+ padding-inline-start:var(--t-spacing-1);
2016
+ margin:0;
2017
+ font-size:var(--tds-toggle-switch-description-font-size);
2018
+ line-height:var(--tds-toggle-switch-description-line-height);
2019
+ color:var(--tds-toggle-switch-description-color);
2020
+ cursor:text;
2086
2021
  }
2087
2022
 
2088
- .tds-modal--xl{
2089
- --tds-modal-width:1000px;
2023
+ .tds-toggle-switch--sm{
2024
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
2025
+ --tds-toggle-switch-line-height:1.35;
2026
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
2027
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2028
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2029
+ --tds-toggle-switch-description-line-height:1.3;
2090
2030
  }
2091
2031
 
2092
- .tds-modal-header{
2093
- display:grid;
2094
- grid-template-columns:1fr auto;
2095
- -moz-column-gap:var(--t-spacing-2);
2096
- column-gap:var(--t-spacing-2);
2097
- padding-block:0;
2098
- padding-inline:var(--t-spacing-4);
2032
+ .tds-toggle-switch--hide-label{
2033
+ --tds-toggle-switch-display:inline-flex;
2099
2034
  }
2100
2035
 
2101
- .tds-modal-title{
2102
- grid-row:1;
2103
- grid-column:1;
2104
- margin:0;
2105
- font-size:var(--t-font-size-2xl);
2106
- font-weight:var(--t-font-weight-medium);
2107
- line-height:140%;
2108
- color:var(--t-text-color-headline);
2109
- }
2036
+ .tds-radio{
2037
+ --tds-radio-font-size:var(--t-font-size-md);
2038
+ --tds-radio-cursor:pointer;
2039
+ --tds-radio-line-height:1.4;
2040
+ --tds-radio-transition-property:border-width;
2110
2041
 
2111
- .tds-modal-subtitle{
2112
- grid-row:2;
2113
- grid-column:1;
2114
- margin:0;
2115
- font-size:var(--t-font-size-md);
2116
- font-weight:var(--t-font-weight-medium);
2117
- line-height:140%;
2118
- color:var(--t-text-color-secondary);
2119
- }
2042
+ --tds-radio-input-size:var(--t-element-size-md);
2043
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
2044
+ --tds-radio-input-border-color:var(--t-form-border-color);
2045
+ --tds-radio-input-border-width:var(--t-form-border-width);
2046
+ --tds-radio-input-background-color:var(--t-form-background-color);
2120
2047
 
2121
- .tds-modal-close{
2122
- grid-row:1;
2123
- grid-column:2;
2124
- align-self:center;
2125
- color:var(--t-icon-color-dim);
2126
- }
2048
+ --tds-radio-label-color:var(--t-form-color);
2127
2049
 
2128
- .tds-modal-body{
2129
- padding-block:var(--t-spacing-3);
2130
- padding-inline:var(--t-spacing-4);
2131
- }
2050
+ --tds-radio-description-font-size:var(--t-font-size-sm);
2051
+ --tds-radio-description-line-height:1.35;
2052
+ --tds-radio-description-color:var(--t-text-color-secondary);
2132
2053
 
2133
- .tds-modal-body--full-width{
2134
- padding-inline:0;
2054
+ position:relative;
2055
+ display:inline-grid;
2056
+ grid-template-columns:auto;
2057
+ grid-auto-columns:1fr;
2058
+ gap:var(--t-spacing-fourth) 0;
2059
+ line-height:var(--tds-radio-line-height);
2060
+ -webkit-user-select:none;
2061
+ -moz-user-select:none;
2062
+ user-select:none;
2135
2063
  }
2136
2064
 
2137
- .tds-modal-footer{
2138
- display:flex;
2139
- gap:var(--t-spacing-2);
2140
- align-items:center;
2141
- justify-content:flex-end;
2142
- padding-block-start:var(--t-spacing-3);
2143
- padding-inline:var(--t-spacing-4);
2144
- border-top:1px solid var(--t-border-color);
2145
- }
2065
+ .tds-radio label{
2066
+ grid-area:1 / 2;
2067
+ padding-inline-start:var(--t-spacing-1);
2068
+ font-size:var(--tds-radio-font-size);
2069
+ font-weight:var(--t-font-weight-normal);
2070
+ color:var(--tds-radio-label-color);
2071
+ cursor:var(--tds-radio-cursor);
2072
+ }
2146
2073
 
2147
- .tds-modal-footer > [slot="start"]{
2148
- margin-inline-end:auto;
2149
- }
2074
+ .tds-radio input[type="radio"]{
2075
+ position:relative;
2076
+ width:1em;
2077
+ height:1em;
2078
+ margin:calc((1lh - 1em) / 2) 0 0;
2079
+ font-size:var(--tds-radio-font-size);
2080
+ line-height:inherit;
2081
+ -webkit-appearance:none;
2082
+ -moz-appearance:none;
2083
+ appearance:none;
2084
+ cursor:var(--tds-radio-cursor);
2085
+ background-color:var(--tds-radio-input-background-color);
2086
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
2087
+ border-radius:var(--tds-radio-input-border-radius);
2088
+ transition-timing-function:var(--t-ease-in-out);
2089
+ transition-duration:var(--t-duration-200);
2090
+ transition-property:var(--tds-radio-transition-property);
2091
+ }
2150
2092
 
2093
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
2094
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2095
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
2096
+ }
2151
2097
 
2152
- :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{
2153
- -webkit-appearance:none;
2154
- appearance:none;
2098
+ :is(.tds-radio input[type="radio"]):focus-visible{
2099
+ outline:var(--t-focus-ring-outline);
2100
+ outline-offset:var(--t-focus-ring-offset);
2155
2101
  }
2156
2102
 
2157
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
2158
- inline-size:1em;
2159
- block-size:2em;
2103
+ :is(.tds-radio input[type="radio"]):disabled{
2104
+ pointer-events:none;
2160
2105
  }
2161
2106
 
2162
- @supports (field-sizing: content){
2163
- .tds-input--auto-width{
2164
- inline-size:-moz-fit-content;
2165
- inline-size:fit-content;
2166
- min-inline-size:min(100%, 122px);
2107
+ @media (prefers-reduced-motion: reduce){
2108
+
2109
+ .tds-radio input[type="radio"]{
2110
+ --tds-radio-transition-property:none;
2167
2111
  }
2112
+ }
2168
2113
 
2169
- .tds-input--auto-width input{
2170
- field-sizing:content;
2171
- inline-size:auto;
2114
+ .tds-radio:has(input:checked){
2115
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
2116
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
2117
+ --tds-radio-input-border-width:4px;
2118
+ }
2119
+
2120
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
2121
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
2122
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2123
+ }
2124
+
2125
+ .tds-radio:has(input:user-invalid){
2126
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
2127
+ }
2128
+
2129
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
2130
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2131
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
2132
+ }
2133
+
2134
+ .tds-radio:has(input:disabled){
2135
+ --tds-radio-input-background-color:var(--t-form-background-color-disabled);
2136
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2137
+
2138
+ --tds-radio-label-color:var(--t-form-color-disabled);
2139
+ --tds-radio-description-color:var(--t-form-color-disabled);
2140
+ --tds-radio-cursor:not-allowed;
2172
2141
  }
2142
+
2143
+ .tds-radio:has(input:disabled) input:checked{
2144
+ --tds-radio-input-background-color:var(--t-form-background-color);
2145
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2146
+ }
2147
+
2148
+ .tds-radio-description{
2149
+ display:flex;
2150
+ grid-area:2 / 2;
2151
+ gap:var(--t-spacing-half);
2152
+ align-items:flex-start;
2153
+ padding-inline-start:var(--t-spacing-1);
2154
+ margin:0;
2155
+ font-size:var(--tds-radio-description-font-size);
2156
+ line-height:var(--tds-radio-description-line-height);
2157
+ color:var(--tds-radio-description-color);
2158
+ cursor:text;
2159
+ }
2160
+
2161
+ .tds-radio--sm{
2162
+ --tds-radio-line-height:1.35;
2163
+ --tds-radio-input-size:var(--t-element-size-sm);
2164
+ --tds-radio-font-size:var(--t-font-size-sm);
2165
+ --tds-radio-description-font-size:var(--t-font-size-xs);
2166
+ --tds-radio-description-line-height:1.3;
2173
2167
  }
2174
2168
 
2175
2169
  .tds-input:has(textarea){
@@ -2277,525 +2271,531 @@ a.tds-dropdown-item:is(:hover, :active){
2277
2271
  }
2278
2272
  }
2279
2273
 
2280
- .tds-radio{
2281
- --tds-radio-font-size:var(--t-font-size-md);
2282
- --tds-radio-cursor:pointer;
2283
- --tds-radio-line-height:1.4;
2284
- --tds-radio-transition-property:border-width;
2274
+ .tds-loading-spinner{
2275
+ position:absolute;
2276
+ right:0;
2277
+ left:0;
2278
+ visibility:var(--tds-loading-spinner-visibility, hidden);
2279
+ width:var(--tds-loading-spinner-size, 1.25em);
2280
+ height:var(--tds-loading-spinner-size, 1.25em);
2281
+ margin:auto;
2282
+ border:var(--tds-loading-spinner-track-width, 4px) solid var(--tds-loading-spinner-track-color, var(--t-fill-color-transparency-dark-020));
2283
+ border-top-color:var(--tds-loading-spinner-color, currentcolor);
2284
+ border-radius:50%;
2285
+ animation:spinner-rotate 500ms infinite linear;
2286
+ animation-play-state:var(--tds-loading-spinner-animation-play-state, paused);
2287
+ }
2285
2288
 
2286
- --tds-radio-input-size:var(--t-element-size-md);
2287
- --tds-radio-input-border-radius:var(--t-border-radius-round);
2288
- --tds-radio-input-border-color:var(--t-form-border-color);
2289
- --tds-radio-input-border-width:var(--t-form-border-width);
2290
- --tds-radio-input-background-color:var(--t-form-background-color);
2289
+ @keyframes spinner-rotate{
2290
+ to{
2291
+ transform:rotate(360deg);
2292
+ }
2293
+ }
2291
2294
 
2292
- --tds-radio-label-color:var(--t-form-color);
2295
+ @media (prefers-reduced-motion: reduce){
2296
+ [class*="--loading"] .tds-loading-spinner{
2297
+ --tds-loading-spinner-animation-play-state:paused;
2298
+ }
2299
+ }
2300
+
2301
+ .tds-input{
2302
+ --tds-input-border-color:var(--t-form-border-color);
2303
+ --tds-input-border-color-hover:var(--t-form-border-color-hover);
2304
+ --tds-input-background-color:var(--t-form-background-color);
2305
+ --tds-input-color:var(--t-form-color);
2306
+ --tds-input-font-size:var(--t-font-size-md);
2307
+ --tds-input-description-color:var(--t-text-color-secondary);
2308
+ --tds-input-description-invalid-icon-display:none;
2309
+ --tds-input-min-height:var(--t-container-size-md);
2310
+ --tds-input-padding-inline:var(--t-spacing-1);
2293
2311
 
2294
- --tds-radio-description-font-size:var(--t-font-size-sm);
2295
- --tds-radio-description-line-height:1.35;
2296
- --tds-radio-description-color:var(--t-text-color-secondary);
2312
+ --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
2297
2313
 
2298
- position:relative;
2299
- display:inline-grid;
2300
- grid-template-columns:auto;
2301
- grid-auto-columns:1fr;
2302
- gap:var(--t-spacing-fourth) 0;
2303
- line-height:var(--tds-radio-line-height);
2304
- -webkit-user-select:none;
2305
- -moz-user-select:none;
2306
- user-select:none;
2314
+ display:flex;
2315
+ flex-direction:column;
2316
+ gap:var(--t-spacing-half);
2307
2317
  }
2308
2318
 
2309
- .tds-radio label{
2310
- grid-area:1 / 2;
2311
- padding-inline-start:var(--t-spacing-1);
2312
- font-size:var(--tds-radio-font-size);
2319
+ .tds-input label{
2320
+ font-size:var(--t-font-size-md);
2313
2321
  font-weight:var(--t-font-weight-normal);
2314
- color:var(--tds-radio-label-color);
2315
- cursor:var(--tds-radio-cursor);
2322
+ color:var(--t-text-color);
2316
2323
  }
2317
2324
 
2318
- .tds-radio input[type="radio"]{
2319
- position:relative;
2320
- width:1em;
2321
- height:1em;
2322
- margin:calc((1lh - 1em) / 2) 0 0;
2323
- font-size:var(--tds-radio-font-size);
2324
- line-height:inherit;
2325
+ .tds-input :is(input,textarea){
2326
+ inline-size:100%;
2327
+ block-size:auto;
2328
+ min-block-size:var(--tds-input-min-height);
2329
+ padding-block:var(--tds-input-padding-block);
2330
+ padding-inline:var(--tds-input-padding-inline);
2331
+ font-family:inherit;
2332
+ font-size:var(--tds-input-font-size);
2333
+ color:var(--tds-input-color);
2325
2334
  -webkit-appearance:none;
2326
2335
  -moz-appearance:none;
2327
2336
  appearance:none;
2328
- cursor:var(--tds-radio-cursor);
2329
- background-color:var(--tds-radio-input-background-color);
2330
- border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
2331
- border-radius:var(--tds-radio-input-border-radius);
2337
+ outline:var(--t-focus-ring-width) solid transparent;
2338
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2339
+ outline-offset:0;
2340
+ background-color:var(--tds-input-background-color);
2341
+ border:var(--t-form-border-width) solid var(--tds-input-border-color);
2342
+ border-radius:var(--t-form-border-radius);
2332
2343
  transition-timing-function:var(--t-ease-in-out);
2333
2344
  transition-duration:var(--t-duration-200);
2334
- transition-property:var(--tds-radio-transition-property);
2345
+ transition-property:var(--tds-input-transition-property);
2335
2346
  }
2336
2347
 
2337
- :is(.tds-radio input[type="radio"]):hover:not(:disabled){
2338
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2339
- --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
2348
+ :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible,[readonly]){
2349
+ border-color:var(--tds-input-border-color-hover);
2340
2350
  }
2341
2351
 
2342
- :is(.tds-radio input[type="radio"]):focus-visible{
2343
- outline:var(--t-focus-ring-outline);
2352
+ :is(.tds-input :is(input,textarea)):focus{
2353
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2354
+ }
2355
+
2356
+ :is(.tds-input :is(input,textarea)):focus-visible{
2357
+ outline-color:var(--t-focus-ring-color);
2344
2358
  outline-offset:var(--t-focus-ring-offset);
2359
+ border-color:var(--t-form-border-color-focus);
2345
2360
  }
2346
2361
 
2347
- :is(.tds-radio input[type="radio"]):disabled{
2348
- pointer-events:none;
2362
+ :is(.tds-input :is(input,textarea))::-moz-placeholder{
2363
+ color:var(--t-form-placeholder-color);
2364
+ -moz-user-select:none;
2365
+ user-select:none;
2366
+ }
2367
+
2368
+ :is(.tds-input :is(input,textarea))::placeholder{
2369
+ color:var(--t-form-placeholder-color);
2370
+ -webkit-user-select:none;
2371
+ -moz-user-select:none;
2372
+ user-select:none;
2349
2373
  }
2350
2374
 
2351
2375
  @media (prefers-reduced-motion: reduce){
2352
2376
 
2353
- .tds-radio input[type="radio"]{
2354
- --tds-radio-transition-property:none;
2377
+ .tds-input :is(input,textarea){
2378
+ --tds-input-transition-property:none;
2355
2379
  }
2356
2380
  }
2357
2381
 
2358
- .tds-radio:has(input:checked){
2359
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
2360
- --tds-radio-input-border-color:var(--t-border-color-control-info);
2361
- --tds-radio-input-border-width:4px;
2382
+ .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
2383
+ --tds-input-background-color:var(--t-form-background-color-error);
2384
+ --tds-input-border-color:var(--t-form-border-color-error);
2385
+ --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
2386
+ --tds-input-description-color:var(--t-text-color-status-error);
2387
+ --tds-input-description-invalid-icon-display:inline-block;
2362
2388
  }
2363
2389
 
2364
- .tds-radio:has(input:checked) input:hover:not(:disabled){
2365
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
2366
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2390
+ .tds-input:has(:is(input,textarea):required) label::after{
2391
+ margin-left:.25ch;
2392
+ color:var(--t-text-color-status-error);
2393
+ content:"*";
2367
2394
  }
2368
2395
 
2369
- .tds-radio:has(input:user-invalid){
2370
- --tds-radio-input-border-color:var(--t-form-border-color-error);
2396
+ .tds-input:where(:has(:is(input,textarea):disabled)){
2397
+ --tds-input-border-color:var(--t-form-border-color-disabled);
2398
+ --tds-input-background-color:var(--t-form-background-color-disabled);
2399
+ --tds-input-color:var(--t-form-color-disabled);
2371
2400
  }
2372
2401
 
2373
- .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
2374
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2375
- --tds-radio-input-background-color:var(--t-form-background-color-error);
2402
+ .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
2403
+ cursor:not-allowed;
2376
2404
  }
2377
2405
 
2378
- .tds-radio:has(input:disabled){
2379
- --tds-radio-input-background-color:var(--t-form-background-color-disabled);
2380
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2381
-
2382
- --tds-radio-label-color:var(--t-form-color-disabled);
2383
- --tds-radio-description-color:var(--t-form-color-disabled);
2384
- --tds-radio-cursor:not-allowed;
2406
+ .tds-input:where(:has(:is(input,textarea)[readonly])){
2407
+ --tds-input-border-color:var(--t-form-border-color-readonly);
2408
+ --tds-input-background-color:var(--t-form-background-color-readonly);
2385
2409
  }
2386
2410
 
2387
- .tds-radio:has(input:disabled) input:checked{
2388
- --tds-radio-input-background-color:var(--t-form-background-color);
2389
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2411
+ .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
2412
+ border-color:var(--tds-input-border-color-hover);
2390
2413
  }
2391
2414
 
2392
- .tds-radio-description{
2415
+ .tds-input.tds-input--lg{
2416
+ --tds-input-min-height:var(--t-container-size-lg);
2417
+ --tds-input-font-size:var(--t-font-size-lg);
2418
+ }
2419
+
2420
+ .tds-input-description{
2393
2421
  display:flex;
2394
- grid-area:2 / 2;
2395
2422
  gap:var(--t-spacing-half);
2396
2423
  align-items:flex-start;
2397
- padding-inline-start:var(--t-spacing-1);
2398
2424
  margin:0;
2399
- font-size:var(--tds-radio-description-font-size);
2400
- line-height:var(--tds-radio-description-line-height);
2401
- color:var(--tds-radio-description-color);
2425
+ font-size:var(--t-font-size-sm);
2426
+ line-height:1.35;
2427
+ color:var(--tds-input-description-color, var(--t-text-color-secondary));
2402
2428
  cursor:text;
2403
2429
  }
2404
2430
 
2405
- .tds-radio--sm{
2406
- --tds-radio-line-height:1.35;
2407
- --tds-radio-input-size:var(--t-element-size-sm);
2408
- --tds-radio-font-size:var(--t-font-size-sm);
2409
- --tds-radio-description-font-size:var(--t-font-size-xs);
2410
- --tds-radio-description-line-height:1.3;
2411
- }
2412
-
2413
- .tds-radio-group{
2414
- --tds-radio-group-font-size:var(--t-font-size-md);
2415
- --tds-radio-group-line-height:1.4;
2416
- --tds-radio-group-gap:var(--t-spacing-1);
2417
-
2418
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
2419
- --tds-radio-group-description-line-height:1.35;
2420
- --tds-radio-group-description-color:var(--t-text-color-secondary);
2421
- --tds-radio-group-description-invalid-icon-display:none;
2422
- display:flex;
2423
- flex-direction:column;
2424
- gap:0;
2425
- padding:0;
2426
- margin:0;
2427
-
2428
- font-size:var(--tds-radio-group-font-size);
2429
- line-height:var(--tds-radio-group-line-height);
2430
- border:0;
2431
- }
2432
-
2433
- .tds-radio-group legend{
2434
- float:left;
2435
- padding:0;
2436
- margin:0;
2437
- }
2438
-
2439
- .tds-radio-group[aria-invalid="true"]{
2440
- --tds-radio-group-description-color:var(--t-text-color-status-error);
2441
- --tds-radio-group-description-invalid-icon-display:inline-block;
2431
+ .tds-input-description .tds-input-description-invalid-icon{
2432
+ display:var(--tds-input-description-invalid-icon-display, none);
2433
+ flex-shrink:0;
2434
+ margin-block-start:calc(.5lh - .5em);
2435
+ line-height:1.35;
2442
2436
  }
2443
2437
 
2444
- .tds-radio-group[aria-invalid="true"] .tds-radio{
2445
- --tds-radio-input-border-color:var(--t-form-border-color-error);
2446
- }
2447
-
2448
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
2449
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2450
- --tds-radio-input-background-color:var(--t-form-background-color-error);
2451
- }
2452
-
2453
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
2454
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
2455
- }
2456
-
2457
- .tds-radio-group:has(input:required) legend::after{
2458
- margin-left:.25ch;
2459
- color:var(--t-text-color-status-error);
2460
- content:"*";
2461
- }
2462
2438
 
2463
- .tds-radio-group-fields{
2464
- display:flex;
2465
- flex-direction:column;
2466
- gap:var(--tds-radio-group-gap);
2467
- align-items:flex-start;
2468
- margin-top:var(--t-spacing-1);
2469
- }
2439
+ @media (prefers-reduced-motion: no-preference){
2470
2440
 
2471
- .tds-radio-group-description{
2472
- display:flex;
2473
- gap:var(--t-spacing-half);
2474
- align-items:flex-start;
2475
- margin:var(--t-spacing-fourth) 0 0;
2476
- font-size:var(--tds-radio-group-description-font-size);
2477
- line-height:var(--tds-radio-group-description-line-height);
2478
- color:var(--tds-radio-group-description-color);
2479
- cursor:text;
2441
+ :root{
2442
+ interpolate-size:allow-keywords;
2480
2443
  }
2481
-
2482
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
2483
- display:var(--tds-radio-group-description-invalid-icon-display);
2484
- flex-shrink:0;
2485
- margin-top:calc(.5lh - .5em);
2486
- line-height:var(--tds-radio-group-description-line-height);
2487
2444
  }
2488
2445
 
2489
- .tds-radio-group--sm{
2490
- --tds-radio-group-line-height:1.35;
2491
- --tds-radio-group-font-size:var(--t-font-size-sm);
2492
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
2493
- --tds-radio-group-description-line-height:1.3;
2494
- }
2495
-
2496
- .tds-toggle-switch{
2497
- --tds-toggle-switch-font-size:var(--t-font-size-md);
2498
- --tds-toggle-switch-cursor:pointer;
2499
- --tds-toggle-switch-display:inline-grid;
2500
- --tds-toggle-switch-line-height:1.4;
2446
+ @layer tds-component{
2447
+ tds-sidenav,
2448
+ .tds-sidenav{
2449
+ --tds-sidenav-indent:12px;
2450
+ --tds-sidenav-item-depth:0;
2501
2451
 
2502
- --tds-toggle-switch-label-color:var(--t-form-color);
2452
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
2503
2453
 
2504
- --tds-toggle-switch-track-width:var(--t-container-size-md);
2505
- --tds-toggle-switch-track-outline:none;
2506
- --tds-toggle-switch-track-height:var(--t-container-size-xs);
2507
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
2508
- --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
2454
+ --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;
2455
+ --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;
2456
+ --tds-sidenav-collapse-closed-opacity:0;
2457
+ --tds-sidenav-collapse-open-opacity:1;
2458
+ --tds-sidenav-collapse-closed-transform:translateY(-8px);
2459
+ --tds-sidenav-collapse-open-transform:translateY(0);
2509
2460
 
2510
- --tds-toggle-switch-thumb-size:var(--t-element-size-md);
2511
- --tds-toggle-switch-thumb-transform:translateX(0);
2512
- --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
2461
+ --tds-sidenav-item-icon-size:var(--t-element-size-md);
2462
+ --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
2463
+ --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
2464
+ --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
2513
2465
 
2514
- --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
2515
- --tds-toggle-switch-description-line-height:1.35;
2516
- --tds-toggle-switch-description-color:var(--t-text-color-secondary);
2517
- position:relative;
2466
+ --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
2467
+ --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
2468
+ --tds-sidenav-item-nested-background-selected:transparent;
2518
2469
 
2519
- display:var(--tds-toggle-switch-display);
2520
- grid-template-columns:auto;
2521
- grid-auto-columns:1fr;
2522
- gap:var(--t-spacing-fourth) 0;
2523
- -webkit-user-select:none;
2524
- -moz-user-select:none;
2525
- user-select:none;
2526
- }
2470
+ --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
2471
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
2472
+ --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
2527
2473
 
2528
- .tds-toggle-switch input[type="checkbox"]{
2529
- position:absolute;
2530
- width:var(--tds-toggle-switch-track-width);
2531
- height:var(--tds-toggle-switch-track-height);
2532
- margin:0;
2533
- -webkit-appearance:none;
2534
- -moz-appearance:none;
2535
- appearance:none;
2536
- cursor:var(--tds-toggle-switch-cursor);
2537
- outline:var(--tds-toggle-switch-track-outline);
2538
- outline-offset:var(--t-focus-ring-offset);
2539
- background-color:transparent;
2540
- border:0;
2541
- border-radius:var(--t-border-radius-round);
2474
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
2475
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
2542
2476
  }
2543
2477
 
2544
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2545
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2478
+ @media (prefers-reduced-motion: reduce){
2479
+ tds-sidenav,
2480
+ .tds-sidenav{
2481
+ --tds-sidenav-collapse-transition-enter:none;
2482
+ --tds-sidenav-collapse-transition-exit:none;
2483
+ --tds-sidenav-collapse-closed-transform:none;
2484
+ --tds-sidenav-collapse-open-transform:none;
2485
+ }
2546
2486
  }
2547
2487
 
2548
- .tds-toggle-switch label{
2549
- display:inline-flex;
2550
- grid-area:1 / 2;
2551
- padding-inline-start:var(--t-spacing-1);
2552
- margin-top:-.09375em;
2553
- font-size:var(--tds-toggle-switch-font-size);
2554
- font-weight:var(--t-font-weight-normal);
2555
- line-height:var(--tds-toggle-switch-line-height);
2556
- color:var(--tds-toggle-switch-label-color);
2557
- cursor:var(--tds-toggle-switch-cursor);
2488
+ .tds-sidenav--theme-gray{
2489
+ --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
2490
+ --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
2491
+ --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
2492
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
2493
+ --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
2558
2494
  }
2495
+ }
2559
2496
 
2560
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2561
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2497
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
2498
+ display:flex;
2562
2499
  }
2563
2500
 
2564
- .tds-toggle-switch:has(input:checked){
2565
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
2566
- --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2501
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
2502
+ flex-direction:column;
2503
+ gap:var(--t-spacing-half);
2504
+ width:100%;
2567
2505
  }
2568
2506
 
2569
- .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
2570
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
2571
- }
2572
-
2573
- .tds-toggle-switch:has(input:disabled){
2574
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
2575
- --tds-toggle-switch-label-color:var(--t-form-color-disabled);
2576
- --tds-toggle-switch-description-color:var(--t-form-color-disabled);
2577
- --tds-toggle-switch-cursor:not-allowed;
2578
- }
2507
+ .tds-sidenav-section-list{
2508
+ width:100%;
2509
+ padding:0;
2510
+ margin:0;
2511
+ list-style:none;
2512
+ }
2579
2513
 
2580
- .tds-toggle-switch-track{
2581
- position:relative;
2582
- flex-shrink:0;
2583
- width:var(--tds-toggle-switch-track-width);
2584
- height:var(--tds-toggle-switch-track-height);
2585
- background-color:var(--tds-toggle-switch-track-background-color);
2586
- border-radius:var(--t-border-radius-round);
2587
- transition:var(--tds-toggle-switch-track-transition);
2514
+ .tds-sidenav-section-header{
2515
+ display:flex;
2516
+ align-items:baseline;
2517
+ justify-content:space-between;
2518
+ padding-top:var(--t-spacing-2);
2588
2519
  }
2589
2520
 
2590
- .tds-toggle-switch-track::before{
2591
- position:absolute;
2592
- top:var(--t-spacing-fourth);
2593
- left:var(--t-spacing-fourth);
2594
- width:var(--tds-toggle-switch-thumb-size);
2595
- height:var(--tds-toggle-switch-thumb-size);
2596
- content:"";
2597
- background-color:#fff;
2598
- border-radius:var(--t-border-radius-round);
2599
- transform:var(--tds-toggle-switch-thumb-transform);
2600
- transition:var(--tds-toggle-switch-thumb-transition);
2521
+ .tds-sidenav-section-header h2{
2522
+ margin:0;
2523
+ font-size:var(--t-font-size-sm);
2524
+ font-weight:var(--t-font-weight-semibold);
2525
+ line-height:1.35;
2526
+ color:var(--t-text-color-secondary);
2527
+ text-transform:uppercase;
2601
2528
  }
2602
2529
 
2603
- @media (prefers-reduced-motion: reduce){
2530
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
2531
+ padding-top:0;
2532
+ }
2604
2533
 
2605
- .tds-toggle-switch-track{
2606
- --tds-toggle-switch-track-transition:none;
2607
- --tds-toggle-switch-thumb-transition:none;
2608
- }
2534
+ .tds-sidenav-section-header [slot="label-actions"]{
2535
+ display:flex;
2536
+ gap:var(--t-spacing-half);
2537
+ align-items:center;
2609
2538
  }
2610
2539
 
2611
- .tds-toggle-switch-description{
2540
+ .tds-sidenav-section [slot="section-actions"]{
2612
2541
  display:flex;
2613
- grid-area:2 / 2;
2614
- align-items:flex-start;
2615
- padding-inline-start:var(--t-spacing-1);
2616
- margin:0;
2617
- font-size:var(--tds-toggle-switch-description-font-size);
2618
- line-height:var(--tds-toggle-switch-description-line-height);
2619
- color:var(--tds-toggle-switch-description-color);
2620
- cursor:text;
2542
+ gap:12px;
2543
+ align-items:center;
2544
+ min-height:42px;
2545
+ padding:var(--t-spacing-1) 0;
2621
2546
  }
2622
2547
 
2623
- .tds-toggle-switch--sm{
2624
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
2625
- --tds-toggle-switch-line-height:1.35;
2626
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
2627
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2628
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2629
- --tds-toggle-switch-description-line-height:1.3;
2548
+ .tds-sidenav-section-list,
2549
+ .tds-sidenav-item{
2550
+ width:100%;
2551
+ padding:0;
2552
+ margin:0;
2630
2553
  }
2631
2554
 
2632
- .tds-toggle-switch--hide-label{
2633
- --tds-toggle-switch-display:inline-flex;
2634
- }
2555
+ .tds-sidenav-item :is(a,button){
2556
+ position:relative;
2557
+ display:flex;
2558
+ gap:12px;
2559
+ align-items:center;
2560
+ width:100%;
2561
+ padding:12px;
2562
+ overflow:hidden;
2563
+ font-size:var(--t-font-size-sm);
2564
+ line-height:18px;
2565
+ color:var(--t-text-color-headline);
2566
+ white-space:nowrap;
2567
+ text-decoration:none;
2568
+ -webkit-appearance:none;
2569
+ -moz-appearance:none;
2570
+ appearance:none;
2571
+ cursor:pointer;
2572
+ background-color:var(--tds-sidenav-item-background, transparent);
2573
+ border:0;
2574
+ border-radius:var(--t-border-radius);
2575
+ transition:var(--tds-sidenav-item-transition);
2576
+ }
2635
2577
 
2636
- .tds-loading-spinner{
2637
- position:absolute;
2638
- right:0;
2639
- left:0;
2640
- visibility:var(--tds-loading-spinner-visibility, hidden);
2641
- width:var(--tds-loading-spinner-size, 1.25em);
2642
- height:var(--tds-loading-spinner-size, 1.25em);
2643
- margin:auto;
2644
- border:var(--tds-loading-spinner-track-width, 4px) solid var(--tds-loading-spinner-track-color, var(--t-fill-color-transparency-dark-020));
2645
- border-top-color:var(--tds-loading-spinner-color, currentcolor);
2646
- border-radius:50%;
2647
- animation:spinner-rotate 500ms infinite linear;
2648
- animation-play-state:var(--tds-loading-spinner-animation-play-state, paused);
2649
- }
2578
+ :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
2579
+ display:block;
2580
+ flex:1;
2581
+ overflow:hidden;
2582
+ text-overflow:ellipsis;
2583
+ text-align:left;
2584
+ white-space:nowrap;
2585
+ }
2650
2586
 
2651
- @keyframes spinner-rotate{
2652
- to{
2653
- transform:rotate(360deg);
2654
- }
2655
- }
2587
+ :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
2588
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
2589
+ color:var(--t-text-color-headline);
2590
+ text-decoration:none;
2591
+ }
2656
2592
 
2657
- @media (prefers-reduced-motion: reduce){
2658
- [class*="--loading"] .tds-loading-spinner{
2659
- --tds-loading-spinner-animation-play-state:paused;
2660
- }
2661
- }
2593
+ :is(.tds-sidenav-item :is(a,button)):active{
2594
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
2595
+ }
2662
2596
 
2663
- .tds-input{
2664
- --tds-input-border-color:var(--t-form-border-color);
2665
- --tds-input-border-color-hover:var(--t-form-border-color-hover);
2666
- --tds-input-background-color:var(--t-form-background-color);
2667
- --tds-input-color:var(--t-form-color);
2668
- --tds-input-font-size:var(--t-font-size-md);
2669
- --tds-input-description-color:var(--t-text-color-secondary);
2670
- --tds-input-description-invalid-icon-display:none;
2671
- --tds-input-min-height:var(--t-container-size-md);
2672
- --tds-input-padding-inline:var(--t-spacing-1);
2597
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
2598
+ overflow:hidden;
2599
+ color:var(--tds-sidenav-item-icon-color);
2600
+ }
2601
+
2602
+ :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{
2603
+ display:block;
2604
+ width:var(--tds-sidenav-item-icon-size);
2605
+ height:var(--tds-sidenav-item-icon-size);
2606
+ }
2673
2607
 
2674
- --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
2608
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
2609
+ --tds-sidenav-indent:19px;
2610
+ }
2675
2611
 
2676
- display:flex;
2677
- flex-direction:column;
2678
- gap:var(--t-spacing-half);
2679
- }
2612
+ [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
2613
+ visibility:visible;
2614
+ block-size:auto;
2615
+ opacity:1;
2616
+ }
2680
2617
 
2681
- .tds-input label{
2682
- font-size:var(--t-font-size-md);
2683
- font-weight:var(--t-font-weight-normal);
2684
- color:var(--t-text-color);
2618
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
2619
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
2620
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
2621
+
2622
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
2623
+ font-weight:var(--t-font-weight-semibold);
2685
2624
  }
2686
2625
 
2687
- .tds-input :is(input,textarea){
2688
- inline-size:100%;
2689
- block-size:auto;
2690
- min-block-size:var(--tds-input-min-height);
2691
- padding-block:var(--tds-input-padding-block);
2692
- padding-inline:var(--tds-input-padding-inline);
2693
- font-family:inherit;
2694
- font-size:var(--tds-input-font-size);
2695
- color:var(--tds-input-color);
2696
- -webkit-appearance:none;
2697
- -moz-appearance:none;
2698
- appearance:none;
2699
- outline:var(--t-focus-ring-width) solid transparent;
2700
- outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2701
- outline-offset:0;
2702
- background-color:var(--tds-input-background-color);
2703
- border:var(--t-form-border-width) solid var(--tds-input-border-color);
2704
- border-radius:var(--t-form-border-radius);
2705
- transition-timing-function:var(--t-ease-in-out);
2706
- transition-duration:var(--t-duration-200);
2707
- transition-property:var(--tds-input-transition-property);
2626
+ .tds-sidenav-item:has(.tds-sidenav-section){
2627
+ display:flex;
2628
+ flex-direction:column;
2629
+ gap:var(--t-spacing-half);
2708
2630
  }
2709
2631
 
2710
- :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible,[readonly]){
2711
- border-color:var(--tds-input-border-color-hover);
2712
- }
2632
+ .tds-sidenav-item .tds-sidenav-section-list{
2633
+ --tds-sidenav-item-depth:1;
2634
+ gap:0;
2635
+ }
2713
2636
 
2714
- :is(.tds-input :is(input,textarea)):focus{
2715
- outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2637
+ .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
2638
+ visibility:hidden;
2639
+ block-size:0;
2640
+ overflow-y:clip;
2641
+ opacity:0;
2642
+ transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
2716
2643
  }
2717
2644
 
2718
- :is(.tds-input :is(input,textarea)):focus-visible{
2719
- outline-color:var(--t-focus-ring-color);
2720
- outline-offset:var(--t-focus-ring-offset);
2721
- border-color:var(--t-form-border-color-focus);
2645
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
2646
+ --tds-sidenav-item-depth:2;
2722
2647
  }
2723
2648
 
2724
- :is(.tds-input :is(input,textarea))::-moz-placeholder{
2725
- color:var(--t-form-placeholder-color);
2726
- -moz-user-select:none;
2727
- user-select:none;
2649
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2650
+ min-height:var(--t-element-size-2xl);
2651
+ padding-block:9px;
2652
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
2653
+ line-height:1;
2654
+ background-color:transparent;
2728
2655
  }
2729
2656
 
2730
- :is(.tds-input :is(input,textarea))::placeholder{
2731
- color:var(--t-form-placeholder-color);
2732
- -webkit-user-select:none;
2733
- -moz-user-select:none;
2734
- user-select:none;
2735
- }
2657
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
2658
+ position:absolute;
2659
+ top:0;
2660
+ bottom:0;
2661
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2662
+ width:2px;
2663
+ content:"";
2664
+ background-color:var(--tds-sidenav-item-nested-border-color);
2665
+ transition:var(--tds-sidenav-item-transition);
2666
+ }
2736
2667
 
2737
- @media (prefers-reduced-motion: reduce){
2668
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
2669
+ position:absolute;
2670
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2671
+ z-index:-1;
2672
+ height:100%;
2673
+ content:"";
2674
+ background-color:var(--tds-sidenav-item-nested-background);
2675
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
2676
+ transition:var(--tds-sidenav-item-transition);
2677
+ }
2738
2678
 
2739
- .tds-input :is(input,textarea){
2740
- --tds-input-transition-property:none;
2741
- }
2679
+ :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)){
2680
+ display:block;
2681
+ text-align:left;
2682
+ white-space:normal;
2683
+ }
2684
+
2685
+ :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{
2686
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
2687
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
2688
+ }
2689
+
2690
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
2691
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
2692
+ }
2693
+
2694
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2695
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
2696
+ font-weight:var(--t-font-weight-medium);
2742
2697
  }
2743
2698
 
2744
- .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
2745
- --tds-input-background-color:var(--t-form-background-color-error);
2746
- --tds-input-border-color:var(--t-form-border-color-error);
2747
- --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
2748
- --tds-input-description-color:var(--t-text-color-status-error);
2749
- --tds-input-description-invalid-icon-display:inline-block;
2699
+ .tds-sidenav-responsive-header{
2700
+ display:flex;
2701
+ gap:var(--t-spacing-2);
2702
+ align-items:center;
2703
+ width:100%;
2704
+ }
2705
+
2706
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
2707
+ order:0;
2750
2708
  }
2751
2709
 
2752
- .tds-input:has(:is(input,textarea):required) label::after{
2753
- margin-left:.25ch;
2754
- color:var(--t-text-color-status-error);
2755
- content:"*";
2756
- }
2710
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
2711
+ flex:1;
2712
+ order:1;
2713
+ margin:0;
2714
+ font-size:var(--t-font-size-lg);
2715
+ font-weight:var(--t-font-weight-medium);
2716
+ color:var(--t-text-color-headline);
2717
+ }
2757
2718
 
2758
- .tds-input:where(:has(:is(input,textarea):disabled)){
2759
- --tds-input-border-color:var(--t-form-border-color-disabled);
2760
- --tds-input-background-color:var(--t-form-background-color-disabled);
2761
- --tds-input-color:var(--t-form-color-disabled);
2719
+ @media (max-width: 719px){
2720
+ .tds-sidenav-collapse{
2721
+ z-index:10001;
2722
+ display:none;
2723
+ max-width:min(448px, calc(100vw - 48px));
2724
+ padding:0;
2725
+ margin:12px 0;
2726
+ position-area:bottom span-right;
2727
+ overflow:hidden;
2728
+ outline:0;
2729
+ background:var(--t-surface-color-card);
2730
+ border:0;
2731
+ border-radius:6px;
2732
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
2733
+ opacity:var(--tds-sidenav-collapse-open-opacity);
2734
+ transform:var(--tds-sidenav-collapse-open-transform);
2735
+ transition:var(--tds-sidenav-collapse-transition-enter);
2736
+ will-change:transform;
2762
2737
  }
2763
2738
 
2764
- .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
2765
- cursor:not-allowed;
2766
- }
2739
+ .tds-sidenav-scroll-container{
2740
+ --webkit-overflow-scrolling:touch;
2741
+ display:block;
2742
+ width:100%;
2743
+ height:-moz-fit-content;
2744
+ height:fit-content;
2745
+ padding:var(--t-spacing-2);
2746
+ overflow-y:auto;
2747
+ }
2767
2748
 
2768
- .tds-input:where(:has(:is(input,textarea)[readonly])){
2769
- --tds-input-border-color:var(--t-form-border-color-readonly);
2770
- --tds-input-background-color:var(--t-form-background-color-readonly);
2749
+ .tds-sidenav-item :is(a, button) :is(.prefix){
2750
+ display:none;
2771
2751
  }
2752
+ @supports selector(:popover-open){
2753
+ .tds-sidenav-collapse:popover-open{
2754
+ display:flex;
2755
+ }
2772
2756
 
2773
- .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
2774
- border-color:var(--tds-input-border-color-hover);
2757
+ .tds-sidenav-collapse:not(:popover-open){
2758
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2759
+ transition:var(--tds-sidenav-collapse-transition-exit);
2775
2760
  }
2776
2761
 
2777
- .tds-input.tds-input--lg{
2778
- --tds-input-min-height:var(--t-container-size-lg);
2779
- --tds-input-font-size:var(--t-font-size-lg);
2762
+ @starting-style{
2763
+ .tds-sidenav-collapse:popover-open{
2764
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2765
+ transform:var(--tds-sidenav-collapse-closed-transform);
2766
+ }
2767
+ }
2780
2768
  }
2769
+ @supports not selector(:popover-open){
2770
+ .tds-sidenav-collapse.\:popover-open{
2771
+ display:flex;
2772
+ }
2781
2773
 
2782
- .tds-input-description{
2783
- display:flex;
2784
- gap:var(--t-spacing-half);
2785
- align-items:flex-start;
2786
- margin:0;
2787
- font-size:var(--t-font-size-sm);
2788
- line-height:1.35;
2789
- color:var(--tds-input-description-color, var(--t-text-color-secondary));
2790
- cursor:text;
2774
+ .tds-sidenav-collapse:not(.\:popover-open){
2775
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2776
+ transition:var(--tds-sidenav-collapse-transition-exit);
2777
+ }
2778
+ }
2791
2779
  }
2792
2780
 
2793
- .tds-input-description .tds-input-description-invalid-icon{
2794
- display:var(--tds-input-description-invalid-icon-display, none);
2795
- flex-shrink:0;
2796
- margin-block-start:calc(.5lh - .5em);
2797
- line-height:1.35;
2781
+ @media (min-width: 720px){
2782
+ .tds-sidenav-responsive-header{
2783
+ display:none;
2798
2784
  }
2785
+ }
2786
+
2787
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
2788
+ display:none;
2789
+ }
2790
+
2791
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
2792
+ display:block;
2793
+ }
2794
+
2795
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2796
+ display:flex;
2797
+ flex-direction:column;
2798
+ }
2799
2799
 
2800
2800
  @layer t-critical, t-component;
2801
2801