@planningcenter/tapestry 4.0.1-rc.0 → 4.0.1-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -677,499 +677,298 @@
677
677
  [data-padding-inline-xl="7"]{ padding-inline:var(--t-spacing-7); }
678
678
  }
679
679
 
680
-
681
- @media (prefers-reduced-motion: no-preference){
682
-
683
- :root{
684
- interpolate-size:allow-keywords;
685
- }
680
+ @layer t-critical{
681
+ tds-page-header:not(.hydrated){
682
+ display:none;
686
683
  }
684
+ }
687
685
 
688
- @layer tds-component{
689
- tds-sidenav,
690
- .tds-sidenav{
691
- --tds-sidenav-indent:12px;
692
- --tds-sidenav-item-depth:0;
693
-
694
- --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
695
-
696
- --tds-sidenav-collapse-transition-enter:opacity var(--t-duration-300) var(--t-ease-out), transform var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
697
- --tds-sidenav-collapse-transition-exit:opacity var(--t-duration-200) var(--t-ease-in), display var(--t-duration-200) allow-discrete, overlay var(--t-duration-200) allow-discrete;
698
- --tds-sidenav-collapse-closed-opacity:0;
699
- --tds-sidenav-collapse-open-opacity:1;
700
- --tds-sidenav-collapse-closed-transform:translateY(-8px);
701
- --tds-sidenav-collapse-open-transform:translateY(0);
686
+ @layer t-component{
687
+ .tds-page-header{
688
+ --tds-page-header-background-color:var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-canvas));
689
+ --tds-page-header-background-color-inactive:var(--t-fill-color-neutral-090);
690
+ --tds-page-header-color:var(--t-text-color);
691
+ --tds-page-header-bottom-border-color:transparent;
692
+ --tds-page-header-headline-color:var(--t-text-color-headline);
693
+ --tds-page-header-headline-font-size:var(--t-font-size-2xl);
694
+ --tds-page-header-padding-x:var(--t-spacing-2);
695
+ --tds-page-header-padding-y:var(--t-spacing-2);
696
+ --tds-page-header-nav-padding-x:var(--tds-page-header-padding-x, var(--t-spacing-3));
697
+ --tds-page-header-nav-gap:var(--t-spacing-1);
698
+ --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%);
699
+ --tds-page-header-nav-item-padding-x:var(--t-spacing-1);
700
+ --tds-page-header-nav-item-padding-y:var(--t-spacing-1);
701
+ --tds-page-header-nav-item-color:var(--t-text-color-secondary);
702
+ --tds-page-header-nav-item-background-color:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 35%);
703
+ --tds-page-header-nav-item-border-width:1px;
702
704
 
703
- --tds-sidenav-item-icon-size:var(--t-element-size-md);
704
- --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
705
- --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
706
- --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
705
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-background-color);
706
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color);
707
707
 
708
- --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
709
- --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
710
- --tds-sidenav-item-nested-background-selected:transparent;
708
+ --tds-page-header-nav-item-color-hover:var(--t-text-color);
709
+ --tds-page-header-nav-item-background-color-hover:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 20%);
710
+ --tds-page-header-nav-item-border-color-hover:var(--tds-page-header-nav-item-background-color-hover);
711
711
 
712
- --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
713
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
714
- --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
712
+ --tds-page-header-nav-item-background-color-active:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 10%);
713
+ --tds-page-header-nav-item-border-color-active:var(--tds-page-header-nav-item-background-color-active);
715
714
 
716
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
717
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
718
- }
715
+ --tds-page-header-nav-item-color-disabled:var(--t-text-color-disabled);
716
+ --tds-page-header-nav-item-background-color-disabled:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 50%);
717
+ --tds-page-header-nav-item-border-color-disabled:var(--tds-page-header-nav-item-background-color-disabled);
719
718
 
720
- @media (prefers-reduced-motion: reduce){
721
- tds-sidenav,
722
- .tds-sidenav{
723
- --tds-sidenav-collapse-transition-enter:none;
724
- --tds-sidenav-collapse-transition-exit:none;
725
- --tds-sidenav-collapse-closed-transform:none;
726
- --tds-sidenav-collapse-open-transform:none;
719
+ --tds-page-header-nav-item-color-selected:var(--t-text-color);
720
+ --tds-page-header-nav-item-background-color-selected:var(--t-surface-color-canvas);
721
+ --tds-page-header-nav-item-border-color-selected:var(--tds-page-header-nav-item-background-color-selected);
722
+ --tds-page-header-nav-item-border-bottom-color-selected:var(--tds-page-header-nav-item-background-color-selected);
723
+ --tds-page-header-nav-item-indicator-color:var(--t-icon-color-status-warning);
727
724
  }
728
- }
729
725
 
730
- .tds-sidenav--theme-gray{
731
- --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
732
- --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
733
- --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
734
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
735
- --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
726
+ .tds-page-header--profile{
727
+ --tds-page-header-padding-y:20px;
736
728
  }
737
- }
738
729
 
739
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
740
- display:flex;
730
+ @supports (color: light-dark(#fff, #000)){
731
+ .tds-page-header{
732
+ --tds-page-header-nav-background-start:light-dark(rgba(0, 0, 0, 0), rgba(255, 255, 255, 0));
733
+ --tds-page-header-nav-background-end:light-dark(rgba(0, 0, 0, .05), rgba(255, 255, 255, .1));
734
+ }
741
735
  }
742
736
 
743
- .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
744
- flex-direction:column;
745
- gap:var(--t-spacing-half);
746
- width:100%;
737
+ @media (min-width: 600px){
738
+ .tds-page-header{
739
+ --tds-page-header-background-color:var(--t-surface-color-canvas);
740
+ --tds-page-header-color:var(--t-text-color-secondary);
741
+ --tds-page-header-bottom-border-color:var(--t-border-color);
742
+ --tds-page-header-padding-x:var(--t-spacing-3);
743
+ --tds-page-header-headline-font-size:var(--t-font-size-3xl);
744
+ --tds-page-header-nav-gap:var(--t-spacing-half);
745
+ --tds-page-header-nav-background:transparent;
746
+ --tds-page-header-nav-item-padding-x:var(--t-spacing-2);
747
+ --tds-page-header-nav-item-border-width:1px;
748
+ --tds-page-header-nav-item-color:var(--t-text-color);
749
+ --tds-page-header-nav-item-background-color:var(--t-fill-color-neutral-070);
750
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-bottom-border-color);
751
+ --tds-page-header-nav-item-background-color-hover:var(--t-fill-color-neutral-060);
752
+ --tds-page-header-nav-item-background-color-active:var(--t-fill-color-neutral-050);
753
+ --tds-page-header-nav-item-background-color-disabled:var(--t-fill-color-neutral-080);
754
+ --tds-page-header-nav-item-border-color-selected:var(--t-border-color);
755
+ }
747
756
  }
748
-
749
- .tds-sidenav-section-list{
750
- width:100%;
751
- padding:0;
752
- margin:0;
753
- list-style:none;
754
757
  }
755
758
 
756
- .tds-sidenav-section-header{
759
+ .tds-page-header{
757
760
  display:flex;
758
- align-items:baseline;
759
- justify-content:space-between;
760
- padding-top:var(--t-spacing-2);
761
+ flex-direction:column;
762
+ padding-top:var(--tds-page-header-padding-y);
763
+ color:var(--tds-page-header-color);
764
+ background:var(--tds-page-header-background-color);
765
+ border-bottom:1px solid var(--tds-page-header-bottom-border-color);
761
766
  }
762
767
 
763
- .tds-sidenav-section-header h2{
764
- margin:0;
765
- font-size:var(--t-font-size-sm);
766
- font-weight:var(--t-font-weight-semibold);
767
- line-height:1.35;
768
- color:var(--t-text-color-secondary);
769
- text-transform:uppercase;
768
+ .tds-page-header:not(.has-nav){
769
+ padding-bottom:var(--tds-page-header-padding-y);
770
770
  }
771
771
 
772
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
773
- padding-top:0;
772
+ .tds-page-header.inactive{
773
+ background:var(--tds-page-header-background-color-inactive);
774
774
  }
775
775
 
776
- .tds-sidenav-section-header [slot="label-actions"]{
777
- display:flex;
778
- gap:var(--t-spacing-half);
779
- align-items:center;
776
+ .tds-page-header :is([slot="actions"],.tds-page-header__actions){
777
+ width:100%;
780
778
  }
781
779
 
782
- .tds-sidenav-section [slot="section-actions"]{
783
- display:flex;
784
- gap:12px;
785
- align-items:center;
786
- min-height:42px;
787
- padding:var(--t-spacing-1) 0;
788
- }
789
-
790
- .tds-sidenav-section-list,
791
- .tds-sidenav-item{
792
- width:100%;
793
- padding:0;
794
- margin:0;
795
- }
796
-
797
- .tds-sidenav-item :is(a,button){
798
- position:relative;
780
+ .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
799
781
  display:flex;
800
- gap:12px;
801
- align-items:center;
802
- width:100%;
803
- padding:12px;
804
- overflow:hidden;
805
- font-size:var(--t-font-size-sm);
806
- line-height:18px;
807
- color:var(--t-text-color-headline);
808
- white-space:nowrap;
809
- text-decoration:none;
810
- -webkit-appearance:none;
811
- -moz-appearance:none;
812
- appearance:none;
813
- cursor:pointer;
814
- background-color:var(--tds-sidenav-item-background, transparent);
815
- border:0;
816
- border-radius:var(--t-border-radius);
817
- transition:var(--tds-sidenav-item-transition);
782
+ flex-flow:row wrap;
783
+ gap:var(--t-spacing-half) var(--t-spacing-1);
784
+ align-items:flex-start;
785
+ justify-content:flex-start;
786
+ min-width:0;
818
787
  }
819
788
 
820
- :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
821
- display:block;
822
- flex:1;
823
- overflow:hidden;
824
- text-overflow:ellipsis;
825
- text-align:left;
826
- white-space:nowrap;
789
+ :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{
790
+ display:flex;
791
+ gap:var(--tds-page-header-nav-gap);
792
+ padding:var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
793
+ margin:0 0 -1px;
794
+ overflow:auto;
795
+ list-style:none;
796
+ background:var(--tds-page-header-nav-background);
827
797
  }
828
798
 
829
- :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
830
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
831
- color:var(--t-text-color-headline);
799
+ :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button){
800
+ position:relative;
801
+ display:inline-flex;
802
+ padding:var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
803
+ font-size:var(--t-font-size-sm);
804
+ line-height:22px;
805
+ color:var(--tds-page-header-nav-item-color);
806
+ white-space:nowrap;
832
807
  text-decoration:none;
808
+ -webkit-appearance:none;
809
+ -moz-appearance:none;
810
+ appearance:none;
811
+ cursor:pointer;
812
+ outline-offset:-2px;
813
+ background-color:var(--tds-page-header-nav-item-background-color);
814
+ background-clip:padding-box;
815
+ border:var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
816
+ border-bottom:1px solid var(--tds-page-header-nav-item-border-bottom-color);
817
+ border-radius:var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
833
818
  }
834
819
 
835
- :is(.tds-sidenav-item :is(a,button)):active{
836
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
837
- }
838
-
839
- :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
840
- overflow:hidden;
841
- color:var(--tds-sidenav-item-icon-color);
842
- }
843
-
844
- :is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])),:is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])) svg{
845
- display:block;
846
- width:var(--tds-sidenav-item-icon-size);
847
- height:var(--tds-sidenav-item-icon-size);
820
+ .selected:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)){
821
+ --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-selected);
822
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-selected);
823
+ --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-selected);
824
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-selected);
848
825
  }
849
826
 
850
- :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
851
- --tds-sidenav-indent:19px;
852
- }
827
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):hover{
828
+ --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-hover);
829
+ --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-hover);
830
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-hover);
831
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-hover);
832
+ }
853
833
 
854
- [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
855
- visibility:visible;
856
- block-size:auto;
857
- opacity:1;
858
- }
859
-
860
- .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
861
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
862
- --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
863
-
864
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
865
- font-weight:var(--t-font-weight-semibold);
866
- }
867
-
868
- .tds-sidenav-item:has(.tds-sidenav-section){
869
- display:flex;
870
- flex-direction:column;
871
- gap:var(--t-spacing-half);
872
- }
873
-
874
- .tds-sidenav-item .tds-sidenav-section-list{
875
- --tds-sidenav-item-depth:1;
876
- gap:0;
877
- }
834
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):active{
835
+ background-color:var(--tds-page-header-nav-item-background-color-active);
836
+ border-color:var(--tds-page-header-nav-item-border-color-active);
837
+ border-bottom-color:var(--tds-page-header-nav-item-background-color-active);
838
+ }
878
839
 
879
- .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
880
- visibility:hidden;
881
- block-size:0;
882
- overflow-y:clip;
883
- opacity:0;
884
- transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
885
- }
840
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):disabled{
841
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-disabled);
842
+ color:var(--tds-page-header-nav-item-color-disabled);
843
+ cursor:not-allowed;
844
+ background-color:var(--tds-page-header-nav-item-background-color-disabled);
845
+ opacity:1;
846
+ }
886
847
 
887
- :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
888
- --tds-sidenav-item-depth:2;
889
- }
848
+ @media (min-width: 600px){
849
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected)::after{
850
+ position:absolute;
851
+ inset:auto -1px -1px;
852
+ height:1px;
853
+ pointer-events:none;
854
+ content:"";
855
+ background-color:var(--tds-page-header-bottom-border-color);
856
+ }
857
+ }
890
858
 
891
- :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
892
- min-height:var(--t-element-size-2xl);
893
- padding-block:9px;
894
- padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
895
- line-height:1;
896
- background-color:transparent;
859
+ :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator){
860
+ position:relative;
897
861
  }
898
862
 
899
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
900
- position:absolute;
901
- top:0;
902
- bottom:0;
903
- left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
904
- width:2px;
905
- content:"";
906
- background-color:var(--tds-sidenav-item-nested-border-color);
907
- transition:var(--tds-sidenav-item-transition);
863
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator)) :is(a,button){
864
+ -webkit-mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
865
+ mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
908
866
  }
909
867
 
910
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
868
+ :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{
911
869
  position:absolute;
912
- inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
913
- z-index:-1;
914
- height:100%;
870
+ top:-5px;
871
+ right:-2px;
872
+ width:10px;
873
+ height:10px;
915
874
  content:"";
916
- background-color:var(--tds-sidenav-item-nested-background);
917
- border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
918
- transition:var(--tds-sidenav-item-transition);
919
- }
920
-
921
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):not(:has(.prefix,.suffix)),:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)) :is(:not(.prefix,.suffix)){
922
- display:block;
923
- text-align:left;
924
- white-space:normal;
925
- }
926
-
927
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):hover,:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):focus-visible{
928
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
929
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
875
+ background:var(--tds-page-header-nav-item-indicator-color);
876
+ border-radius:50%;
930
877
  }
931
878
 
932
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
933
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
879
+ @media (prefers-reduced-motion: no-preference){
880
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
881
+ animation:indicator-pulse 1.25s ease infinite;
882
+ }
934
883
  }
935
884
 
936
- .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
937
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
938
- font-weight:var(--t-font-weight-medium);
939
- }
940
-
941
- .tds-sidenav-responsive-header{
885
+ .tds-page-header__title-bar{
942
886
  display:flex;
943
- gap:var(--t-spacing-2);
944
- align-items:center;
945
- width:100%;
887
+ flex-direction:column;
888
+ gap:var(--t-spacing-2) var(--t-spacing-1);
889
+ align-items:flex-start;
890
+ justify-content:space-between;
891
+ padding:0 var(--tds-page-header-padding-x);
946
892
  }
947
893
 
948
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
949
- order:0;
894
+ .tds-page-header--profile > .tds-page-header__title-bar{
895
+ align-items:center;
950
896
  }
951
897
 
952
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
953
- flex:1;
954
- order:1;
955
- margin:0;
956
- font-size:var(--t-font-size-lg);
957
- font-weight:var(--t-font-weight-medium);
958
- color:var(--t-text-color-headline);
959
- }
898
+ .tds-page-header__primary{
899
+ width:100%;
900
+ }
960
901
 
961
- @media (max-width: 719px){
962
- .tds-sidenav-collapse{
963
- z-index:10001;
964
- display:none;
965
- max-width:min(448px, calc(100vw - 48px));
966
- padding:0;
967
- margin:12px 0;
968
- position-area:bottom span-right;
969
- overflow:hidden;
970
- outline:0;
971
- background:var(--t-surface-color-card);
972
- border:0;
973
- border-radius:6px;
974
- box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
975
- opacity:var(--tds-sidenav-collapse-open-opacity);
976
- transform:var(--tds-sidenav-collapse-open-transform);
977
- transition:var(--tds-sidenav-collapse-transition-enter);
978
- will-change:transform;
902
+ .tds-page-header__primary h1{
903
+ margin:0;
904
+ font-size:var(--tds-page-header-headline-font-size);
905
+ font-weight:var(--t-font-weight-normal);
906
+ line-height:32px;
907
+ color:var(--tds-page-header-headline-color);
908
+ overflow-wrap:break-word;
979
909
  }
980
910
 
981
- .tds-sidenav-scroll-container{
982
- --webkit-overflow-scrolling:touch;
983
- display:block;
984
- width:100%;
985
- height:-moz-fit-content;
986
- height:fit-content;
987
- padding:var(--t-spacing-2);
988
- overflow-y:auto;
911
+ @media (min-width: 960px){
912
+ .tds-page-header__primary{
913
+ flex:1 1 max-content;
914
+ width:auto;
915
+ min-width:0;
916
+ max-width:100%;
989
917
  }
990
918
 
991
- .tds-sidenav-item :is(a, button) :is(.prefix){
992
- display:none;
919
+ .tds-page-header__title-bar,
920
+ .tds-page-header--profile .tds-page-header__title-bar{
921
+ flex-flow:row nowrap;
922
+ row-gap:12px;
923
+ align-items:flex-start;
993
924
  }
994
- @supports selector(:popover-open){
995
- .tds-sidenav-collapse:popover-open{
996
- display:flex;
925
+ .tds-page-header :is([slot="actions"],.tds-page-header__actions){
926
+ width:auto;
997
927
  }
998
928
 
999
- .tds-sidenav-collapse:not(:popover-open){
1000
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1001
- transition:var(--tds-sidenav-collapse-transition-exit);
929
+ .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
930
+ justify-content:flex-end;
1002
931
  }
932
+ }
1003
933
 
1004
- @starting-style{
1005
- .tds-sidenav-collapse:popover-open{
1006
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1007
- transform:var(--tds-sidenav-collapse-closed-transform);
1008
- }
1009
- }
1010
- }
1011
- @supports not selector(:popover-open){
1012
- .tds-sidenav-collapse.\:popover-open{
1013
- display:flex;
1014
- }
934
+ .tds-page-header-phone,
935
+ .tds-page-header-email{
936
+ color:var(--tds-page-header-color);
937
+ white-space:nowrap;
938
+ }
939
+ .tds-page-header-email{
940
+ max-width:100%;
941
+ overflow:hidden;
942
+ text-overflow:ellipsis;
943
+ }
1015
944
 
1016
- .tds-sidenav-collapse:not(.\:popover-open){
1017
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1018
- transition:var(--tds-sidenav-collapse-transition-exit);
1019
- }
945
+ @keyframes indicator-pulse{
946
+ 0%{
947
+ opacity:.3;
948
+ transform:scale(.9);
1020
949
  }
1021
- }
1022
950
 
1023
- @media (min-width: 720px){
1024
- .tds-sidenav-responsive-header{
1025
- display:none;
951
+ 100%{
952
+ opacity:0;
953
+ transform:scale(1.75);
1026
954
  }
1027
955
  }
1028
956
 
1029
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
1030
- display:none;
1031
- }
957
+ .tds-checkbox{
958
+ --tds-checkbox-font-size:var(--t-font-size-md);
959
+ --tds-checkbox-cursor:pointer;
960
+ --tds-checkbox-line-height:1.4;
961
+ --tds-checkbox-transition-property:background-color, border-color;
1032
962
 
1033
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1034
- display:block;
1035
- }
963
+ --tds-checkbox-input-size:var(--t-element-size-md);
964
+ --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
965
+ --tds-checkbox-input-border-color:var(--t-form-border-color);
966
+ --tds-checkbox-input-background-color:var(--t-form-background-color);
1036
967
 
1037
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1038
- display:flex;
1039
- flex-direction:column;
1040
- }
1041
-
1042
- .tds-button-group{
1043
- display:inline-flex;
1044
- }
1045
- .tds-button-group > .tds-btn{
1046
- --tds-button-group-item-z-index:1;
1047
-
1048
- position:relative;
1049
- z-index:var(--tds-button-group-item-z-index);
1050
- border-radius:0;
1051
- }
1052
- :is(.tds-button-group > .tds-btn):not(:first-child){
1053
- margin-inline-start:calc(var(--tds-btn-border-width) * -1);
1054
- }
1055
- :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before,:is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
1056
- position:absolute;
1057
- inset-block:calc(var(--tds-btn-border-width) * -1);
1058
- width:var(--tds-btn-border-width);
1059
- pointer-events:none;
1060
- content:"";
1061
- background-color:var(--t-border-color-white);
1062
- }
1063
- :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before{
1064
- inset-inline-start:calc(var(--tds-btn-border-width) * -1);
1065
- }
1066
- :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
1067
- inset-inline-end:calc(var(--tds-btn-border-width) * -1);
1068
- }
1069
- :is(.tds-button-group > .tds-btn):hover{
1070
- --tds-button-group-item-z-index:2;
1071
- }
1072
- :is(.tds-button-group > .tds-btn):focus-visible{
1073
- --tds-button-group-item-z-index:5;
1074
- }
1075
- .tds-button-group > .tds-btn:first-child{
1076
- border-start-start-radius:var(--tds-btn-border-radius);
1077
- border-end-start-radius:var(--tds-btn-border-radius);
1078
- }
1079
- .tds-button-group > .tds-btn:last-child{
1080
- border-start-end-radius:var(--tds-btn-border-radius);
1081
- border-end-end-radius:var(--tds-btn-border-radius);
1082
- }
1083
-
1084
- .tds-checkbox-group{
1085
- --tds-checkbox-group-font-size:var(--t-font-size-md);
1086
- --tds-checkbox-group-line-height:1.4;
1087
- --tds-checkbox-group-gap:var(--t-spacing-1);
1088
-
1089
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1090
- --tds-checkbox-group-description-line-height:1.35;
1091
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1092
- --tds-checkbox-group-description-invalid-icon-display:none;
1093
- display:flex;
1094
- flex-direction:column;
1095
- gap:0;
1096
- padding:0;
1097
- margin:0;
1098
-
1099
- font-size:var(--tds-checkbox-group-font-size);
1100
- line-height:var(--tds-checkbox-group-line-height);
1101
- border:0;
1102
- }
1103
-
1104
- .tds-checkbox-group legend{
1105
- float:left;
1106
- padding:0;
1107
- margin:0;
1108
- }
1109
-
1110
- .tds-checkbox-group[aria-invalid="true"]{
1111
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1112
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
1113
- }
1114
-
1115
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1116
- margin-left:.25ch;
1117
- color:var(--t-text-color-status-error);
1118
- content:"*";
1119
- }
1120
-
1121
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1122
- content:none;
1123
- }
1124
-
1125
- .tds-checkbox-group-fields{
1126
- display:flex;
1127
- flex-direction:column;
1128
- gap:var(--tds-checkbox-group-gap);
1129
- align-items:flex-start;
1130
- margin-top:var(--t-spacing-1);
1131
- }
1132
-
1133
- .tds-checkbox-group-description{
1134
- display:flex;
1135
- gap:var(--t-spacing-half);
1136
- align-items:flex-start;
1137
- margin:var(--t-spacing-fourth) 0 0;
1138
- font-size:var(--tds-checkbox-group-description-font-size);
1139
- line-height:var(--tds-checkbox-group-description-line-height);
1140
- color:var(--tds-checkbox-group-description-color);
1141
- cursor:text;
1142
- }
1143
-
1144
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1145
- display:var(--tds-checkbox-group-description-invalid-icon-display);
1146
- flex-shrink:0;
1147
- margin-top:calc(.5lh - .5em);
1148
- line-height:var(--tds-checkbox-group-description-line-height);
1149
- }
1150
-
1151
- .tds-checkbox-group--sm{
1152
- --tds-checkbox-group-line-height:1.35;
1153
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
1154
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1155
- --tds-checkbox-group-description-line-height:1.3;
1156
- }
1157
-
1158
- .tds-checkbox{
1159
- --tds-checkbox-font-size:var(--t-font-size-md);
1160
- --tds-checkbox-cursor:pointer;
1161
- --tds-checkbox-line-height:1.4;
1162
- --tds-checkbox-transition-property:background-color, border-color;
1163
-
1164
- --tds-checkbox-input-size:var(--t-element-size-md);
1165
- --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
1166
- --tds-checkbox-input-border-color:var(--t-form-border-color);
1167
- --tds-checkbox-input-background-color:var(--t-form-background-color);
1168
-
1169
- --tds-checkbox-input-icon:none;
1170
- --tds-checkbox-input-icon-visibility:hidden;
1171
- --tds-checkbox-input-icon-opacity:0;
1172
- --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
968
+ --tds-checkbox-input-icon:none;
969
+ --tds-checkbox-input-icon-visibility:hidden;
970
+ --tds-checkbox-input-icon-opacity:0;
971
+ --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
1173
972
 
1174
973
  --tds-checkbox-label-color:var(--t-form-color);
1175
974
 
@@ -1350,235 +1149,79 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1350
1149
  --tds-checkbox-description-line-height:1.3;
1351
1150
  }
1352
1151
 
1353
- .tds-radio{
1354
- --tds-radio-font-size:var(--t-font-size-md);
1355
- --tds-radio-cursor:pointer;
1356
- --tds-radio-line-height:1.4;
1357
- --tds-radio-transition-property:border-width;
1358
-
1359
- --tds-radio-input-size:var(--t-element-size-md);
1360
- --tds-radio-input-border-radius:var(--t-border-radius-round);
1361
- --tds-radio-input-border-color:var(--t-form-border-color);
1362
- --tds-radio-input-border-width:var(--t-form-border-width);
1363
- --tds-radio-input-background-color:var(--t-form-background-color);
1364
-
1365
- --tds-radio-label-color:var(--t-form-color);
1366
-
1367
- --tds-radio-description-font-size:var(--t-font-size-sm);
1368
- --tds-radio-description-line-height:1.35;
1369
- --tds-radio-description-color:var(--t-text-color-secondary);
1370
-
1371
- position:relative;
1372
- display:inline-grid;
1373
- grid-template-columns:auto;
1374
- grid-auto-columns:1fr;
1375
- gap:var(--t-spacing-fourth) 0;
1376
- line-height:var(--tds-radio-line-height);
1152
+ .tds-dropdown-popover{
1153
+ min-inline-size:10rem;
1154
+ max-inline-size:24rem;
1155
+ padding:var(--t-spacing-1);
1156
+ overflow:auto;
1157
+ overscroll-behavior:none;
1377
1158
  -webkit-user-select:none;
1378
1159
  -moz-user-select:none;
1379
1160
  user-select:none;
1161
+ outline:0;
1162
+ scrollbar-color:#0004 var(--t-surface-color-card);
1163
+ scrollbar-width:thin;
1164
+ background:var(--t-surface-color-card);
1165
+ background-clip:padding-box;
1166
+ border:1px solid var(--t-border-color);
1167
+ border-radius:var(--t-border-radius);
1168
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1380
1169
  }
1381
-
1382
- .tds-radio label{
1383
- grid-area:1 / 2;
1384
- padding-inline-start:var(--t-spacing-1);
1385
- font-size:var(--tds-radio-font-size);
1386
- font-weight:var(--t-font-weight-normal);
1387
- color:var(--tds-radio-label-color);
1388
- cursor:var(--tds-radio-cursor);
1170
+ .tds-dropdown-popover[data-entering]{
1171
+ animation:tds-dropdown-popover var(--t-duration-300) var(--t-ease-out);
1389
1172
  }
1390
-
1391
- .tds-radio input[type="radio"]{
1392
- position:relative;
1393
- width:1em;
1394
- height:1em;
1395
- margin:calc((1lh - 1em) / 2) 0 0;
1396
- font-size:var(--tds-radio-font-size);
1397
- line-height:inherit;
1398
- -webkit-appearance:none;
1399
- -moz-appearance:none;
1400
- appearance:none;
1401
- cursor:var(--tds-radio-cursor);
1402
- background-color:var(--tds-radio-input-background-color);
1403
- border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1404
- border-radius:var(--tds-radio-input-border-radius);
1405
- transition-timing-function:var(--t-ease-in-out);
1406
- transition-duration:var(--t-duration-200);
1407
- transition-property:var(--tds-radio-transition-property);
1173
+ .tds-dropdown-popover[data-exiting]{
1174
+ animation:tds-dropdown-popover var(--t-duration-200) var(--t-ease-in) reverse;
1175
+ }
1176
+ .tds-dropdown-popover[data-entering],.tds-dropdown-popover[data-exiting]{
1177
+ will-change:opacity, transform;
1408
1178
  }
1409
1179
 
1410
- :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1411
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1412
- --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1413
- }
1180
+ @keyframes tds-dropdown-popover{
1181
+ from{
1182
+ opacity:0;
1183
+ transform:translateY(-8px);
1184
+ }
1185
+ }
1414
1186
 
1415
- :is(.tds-radio input[type="radio"]):focus-visible{
1416
- outline:var(--t-focus-ring-outline);
1417
- outline-offset:var(--t-focus-ring-offset);
1187
+ @media (prefers-reduced-motion: reduce){
1188
+ .tds-dropdown-popover[data-entering],.tds-dropdown-popover[data-exiting]{
1189
+ animation:none;
1418
1190
  }
1191
+ }
1419
1192
 
1420
- :is(.tds-radio input[type="radio"]):disabled{
1421
- pointer-events:none;
1422
- }
1193
+ .tds-dropdown-popover [role="menu"]{
1194
+ outline:0;
1195
+ }
1196
+ .tds-dropdown-item{
1197
+ --tds-dropdown-item-color:var(--t-text-color);
1198
+ --tds-dropdown-item-row-gap:0;
1199
+ --tds-dropdown-item-column-gap:var(--t-spacing-1);
1423
1200
 
1424
- @media (prefers-reduced-motion: reduce){
1201
+ display:flex;
1202
+ row-gap:var(--tds-dropdown-item-row-gap);
1203
+ -moz-column-gap:var(--tds-dropdown-item-column-gap);
1204
+ column-gap:var(--tds-dropdown-item-column-gap);
1205
+ align-items:center;
1206
+ padding-block:var(--t-spacing-1);
1207
+ padding-inline:var(--t-spacing-1-half);
1208
+ font-size:1rem;
1209
+ color:var(--tds-dropdown-item-color);
1210
+ text-decoration:none;
1211
+ cursor:default;
1212
+ outline:0;
1213
+ border-radius:var(--t-border-radius);
1214
+ }
1215
+ .tds-dropdown-item[data-hovered]:not([data-disabled]),.tds-dropdown-item[data-focus-visible]{
1216
+ background:var(--t-fill-color-neutral-070);
1217
+ }
1218
+ .tds-dropdown-item[data-pressed]:not([data-disabled]){
1219
+ background:var(--t-fill-color-neutral-060);
1220
+ }
1221
+ .tds-dropdown-item[data-disabled]{
1222
+ --tds-dropdown-item-color:var(--t-form-color-disabled);
1425
1223
 
1426
- .tds-radio input[type="radio"]{
1427
- --tds-radio-transition-property:none;
1428
- }
1429
- }
1430
-
1431
- .tds-radio:has(input:checked){
1432
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1433
- --tds-radio-input-border-color:var(--t-border-color-control-info);
1434
- --tds-radio-input-border-width:4px;
1435
- }
1436
-
1437
- .tds-radio:has(input:checked) input:hover:not(:disabled){
1438
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1439
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1440
- }
1441
-
1442
- .tds-radio:has(input:user-invalid){
1443
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1444
- }
1445
-
1446
- .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1447
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1448
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1449
- }
1450
-
1451
- .tds-radio:has(input:disabled){
1452
- --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1453
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1454
-
1455
- --tds-radio-label-color:var(--t-form-color-disabled);
1456
- --tds-radio-description-color:var(--t-form-color-disabled);
1457
- --tds-radio-cursor:not-allowed;
1458
- }
1459
-
1460
- .tds-radio:has(input:disabled) input:checked{
1461
- --tds-radio-input-background-color:var(--t-form-background-color);
1462
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1463
- }
1464
-
1465
- .tds-radio-description{
1466
- display:flex;
1467
- grid-area:2 / 2;
1468
- gap:var(--t-spacing-half);
1469
- align-items:flex-start;
1470
- padding-inline-start:var(--t-spacing-1);
1471
- margin:0;
1472
- font-size:var(--tds-radio-description-font-size);
1473
- line-height:var(--tds-radio-description-line-height);
1474
- color:var(--tds-radio-description-color);
1475
- cursor:text;
1476
- }
1477
-
1478
- .tds-radio--sm{
1479
- --tds-radio-line-height:1.35;
1480
- --tds-radio-input-size:var(--t-element-size-sm);
1481
- --tds-radio-font-size:var(--t-font-size-sm);
1482
- --tds-radio-description-font-size:var(--t-font-size-xs);
1483
- --tds-radio-description-line-height:1.3;
1484
- }
1485
-
1486
-
1487
- :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{
1488
- -webkit-appearance:none;
1489
- appearance:none;
1490
- }
1491
-
1492
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1493
- inline-size:1em;
1494
- block-size:2em;
1495
- }
1496
- @supports (field-sizing: content){
1497
- .tds-input--auto-width{
1498
- inline-size:-moz-fit-content;
1499
- inline-size:fit-content;
1500
- min-inline-size:min(100%, 122px);
1501
- }
1502
-
1503
- .tds-input--auto-width input{
1504
- field-sizing:content;
1505
- inline-size:auto;
1506
- }
1507
- }
1508
-
1509
- .tds-dropdown-popover{
1510
- min-inline-size:10rem;
1511
- max-inline-size:24rem;
1512
- padding:var(--t-spacing-1);
1513
- overflow:auto;
1514
- overscroll-behavior:none;
1515
- -webkit-user-select:none;
1516
- -moz-user-select:none;
1517
- user-select:none;
1518
- outline:0;
1519
- scrollbar-color:#0004 var(--t-surface-color-card);
1520
- scrollbar-width:thin;
1521
- background:var(--t-surface-color-card);
1522
- background-clip:padding-box;
1523
- border:1px solid var(--t-border-color);
1524
- border-radius:var(--t-border-radius);
1525
- box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1526
- }
1527
- .tds-dropdown-popover[data-entering]{
1528
- animation:tds-dropdown-popover var(--t-duration-300) var(--t-ease-out);
1529
- }
1530
- .tds-dropdown-popover[data-exiting]{
1531
- animation:tds-dropdown-popover var(--t-duration-200) var(--t-ease-in) reverse;
1532
- }
1533
- .tds-dropdown-popover[data-entering],.tds-dropdown-popover[data-exiting]{
1534
- will-change:opacity, transform;
1535
- }
1536
-
1537
- @keyframes tds-dropdown-popover{
1538
- from{
1539
- opacity:0;
1540
- transform:translateY(-8px);
1541
- }
1542
- }
1543
-
1544
- @media (prefers-reduced-motion: reduce){
1545
- .tds-dropdown-popover[data-entering],.tds-dropdown-popover[data-exiting]{
1546
- animation:none;
1547
- }
1548
- }
1549
-
1550
- .tds-dropdown-popover [role="menu"]{
1551
- outline:0;
1552
- }
1553
- .tds-dropdown-item{
1554
- --tds-dropdown-item-color:var(--t-text-color);
1555
- --tds-dropdown-item-row-gap:0;
1556
- --tds-dropdown-item-column-gap:var(--t-spacing-1);
1557
-
1558
- display:flex;
1559
- row-gap:var(--tds-dropdown-item-row-gap);
1560
- -moz-column-gap:var(--tds-dropdown-item-column-gap);
1561
- column-gap:var(--tds-dropdown-item-column-gap);
1562
- align-items:center;
1563
- padding-block:var(--t-spacing-1);
1564
- padding-inline:var(--t-spacing-1-half);
1565
- font-size:1rem;
1566
- color:var(--tds-dropdown-item-color);
1567
- text-decoration:none;
1568
- cursor:default;
1569
- outline:0;
1570
- border-radius:var(--t-border-radius);
1571
- }
1572
- .tds-dropdown-item[data-hovered]:not([data-disabled]),.tds-dropdown-item[data-focus-visible]{
1573
- background:var(--t-fill-color-neutral-070);
1574
- }
1575
- .tds-dropdown-item[data-pressed]:not([data-disabled]){
1576
- background:var(--t-fill-color-neutral-060);
1577
- }
1578
- .tds-dropdown-item[data-disabled]{
1579
- --tds-dropdown-item-color:var(--t-form-color-disabled);
1580
-
1581
- cursor:not-allowed;
1224
+ cursor:not-allowed;
1582
1225
  }
1583
1226
 
1584
1227
  .tds-dropdown-item--destructive{
@@ -1653,391 +1296,625 @@ a.tds-dropdown-item:is(:hover, :active){
1653
1296
  border-top:1px solid var(--t-border-color);
1654
1297
  }
1655
1298
 
1656
- .tds-search-input-control{
1657
- --tds-search-input-outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
1658
- --tds-search-input-outline-offset:0;
1659
- --tds-search-input-cursor:text;
1299
+ .tds-checkbox-group{
1300
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
1301
+ --tds-checkbox-group-line-height:1.4;
1302
+ --tds-checkbox-group-gap:var(--t-spacing-1);
1660
1303
 
1304
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1305
+ --tds-checkbox-group-description-line-height:1.35;
1306
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1307
+ --tds-checkbox-group-description-invalid-icon-display:none;
1661
1308
  display:flex;
1662
- gap:var(--tds-field-padding-inline);
1663
- align-items:center;
1664
- inline-size:100%;
1665
- min-block-size:var(--tds-field-min-height);
1666
- padding-inline:var(--tds-field-padding-inline);
1667
- font-size:var(--tds-field-font-size);
1668
- color:var(--tds-field-color);
1669
- cursor:var(--tds-search-input-cursor);
1670
- outline:var(--t-focus-ring-width) solid transparent;
1671
- outline-color:var(--tds-search-input-outline-color);
1672
- outline-offset:var(--tds-search-input-outline-offset);
1673
- background-color:var(--tds-field-background-color);
1674
- border:var(--t-form-border-width) solid var(--tds-field-border-color);
1675
- border-radius:var(--t-form-border-radius);
1676
- transition-timing-function:var(--t-ease-in-out);
1677
- transition-duration:var(--t-duration-200);
1678
- transition-property:background-color, border-color, outline-color, outline-offset;
1679
- }
1680
-
1681
- .tds-search-input-control:hover:not(:has(input:focus),:has(:disabled,[readonly])){
1682
- border-color:var(--tds-field-border-color-hover);
1683
- }
1684
-
1685
- .tds-search-input-control:has(input:focus){
1686
- --tds-search-input-outline-color:var(--t-focus-ring-color);
1687
- --tds-search-input-outline-offset:var(--t-focus-ring-offset);
1309
+ flex-direction:column;
1310
+ gap:0;
1311
+ padding:0;
1312
+ margin:0;
1688
1313
 
1689
- border-color:var(--t-form-border-color-focus);
1690
- }
1314
+ font-size:var(--tds-checkbox-group-font-size);
1315
+ line-height:var(--tds-checkbox-group-line-height);
1316
+ border:0;
1317
+ }
1691
1318
 
1692
- .tds-search-input-control input{
1693
- flex:1;
1694
- min-inline-size:0;
1319
+ .tds-checkbox-group legend{
1320
+ float:left;
1695
1321
  padding:0;
1696
- overflow:hidden;
1697
- text-overflow:ellipsis;
1698
- font-family:inherit;
1699
- font-size:inherit;
1700
- color:inherit;
1701
- white-space:nowrap;
1702
- -webkit-appearance:none;
1703
- -moz-appearance:none;
1704
- appearance:none;
1705
- outline:0;
1706
- background-color:transparent;
1707
- border:0;
1322
+ margin:0;
1708
1323
  }
1709
1324
 
1710
- :is(.tds-search-input-control input)::-moz-placeholder{
1711
- color:var(--tds-field-placeholder-color);
1712
- -moz-user-select:none;
1713
- user-select:none;
1714
- }
1325
+ .tds-checkbox-group[aria-invalid="true"]{
1326
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1327
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
1328
+ }
1715
1329
 
1716
- :is(.tds-search-input-control input)::placeholder{
1717
- color:var(--tds-field-placeholder-color);
1718
- -webkit-user-select:none;
1719
- -moz-user-select:none;
1720
- user-select:none;
1330
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1331
+ margin-left:.25ch;
1332
+ color:var(--t-text-color-status-error);
1333
+ content:"*";
1721
1334
  }
1722
1335
 
1723
- :is(.tds-search-input-control input)::-webkit-search-decoration,:is(.tds-search-input-control input)::-webkit-search-cancel-button,:is(.tds-search-input-control input)::-webkit-search-results-button,:is(.tds-search-input-control input)::-webkit-search-results-decoration{
1724
- -webkit-appearance:none;
1725
- appearance:none;
1336
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1337
+ content:none;
1726
1338
  }
1727
1339
 
1728
- .tds-search-input-control .tds-search-input-icon{
1729
- flex-shrink:0;
1730
- inline-size:1em;
1731
- color:var(--t-icon-color-dim);
1732
- }
1340
+ .tds-checkbox-group-fields{
1341
+ display:flex;
1342
+ flex-direction:column;
1343
+ gap:var(--tds-checkbox-group-gap);
1344
+ align-items:flex-start;
1345
+ margin-top:var(--t-spacing-1);
1346
+ }
1733
1347
 
1734
- .tds-search-input-control .tds-search-input-clear-icon{
1735
- inline-size:calc(var(--tds-field-font-size) * .8);
1736
- block-size:calc(var(--tds-field-font-size) * .8);
1737
- }
1738
-
1739
- .tds-search-input-control .tds-btn{
1740
- --tds-btn-color:var(--t-icon-color-dim);
1741
- --tds-btn-padding-truncated-x:0;
1742
- --tds-search-input-clear-button-visibility:hidden;
1348
+ .tds-checkbox-group-description{
1349
+ display:flex;
1350
+ gap:var(--t-spacing-half);
1351
+ align-items:flex-start;
1352
+ margin:var(--t-spacing-fourth) 0 0;
1353
+ font-size:var(--tds-checkbox-group-description-font-size);
1354
+ line-height:var(--tds-checkbox-group-description-line-height);
1355
+ color:var(--tds-checkbox-group-description-color);
1356
+ cursor:text;
1357
+ }
1743
1358
 
1744
- visibility:var(--tds-search-input-clear-button-visibility);
1359
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1360
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
1745
1361
  flex-shrink:0;
1362
+ margin-top:calc(.5lh - .5em);
1363
+ line-height:var(--tds-checkbox-group-description-line-height);
1746
1364
  }
1747
1365
 
1748
- .tds-search-input-control:has(input:is(:user-invalid,[aria-invalid="true"])){
1749
- --tds-field-background-color:var(--t-form-background-color-error);
1750
- --tds-field-border-color:var(--t-form-border-color-error);
1751
- --tds-field-border-color-hover:var(--t-form-border-color-error-hover);
1752
- }
1366
+ .tds-checkbox-group--sm{
1367
+ --tds-checkbox-group-line-height:1.35;
1368
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
1369
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1370
+ --tds-checkbox-group-description-line-height:1.3;
1371
+ }
1753
1372
 
1754
- .tds-search-input-control:has(:disabled){
1755
- --tds-field-border-color:var(--t-form-border-color-disabled);
1756
- --tds-field-background-color:var(--t-form-background-color-disabled);
1757
- --tds-field-color:var(--t-form-color-disabled);
1758
- --tds-search-input-cursor:not-allowed;
1759
- }
1373
+ .tds-modal-overlay{
1374
+ position:fixed;
1375
+ inset:0;
1376
+ z-index:1000;
1377
+ display:flex;
1378
+ align-items:center;
1379
+ justify-content:center;
1380
+ background:hsl(0 0% 0% / 40%);
1381
+ }
1760
1382
 
1761
- .tds-search-input-control:has([readonly]){
1762
- --tds-field-border-color:var(--t-form-border-color-readonly);
1763
- --tds-field-border-color-hover:var(--t-form-border-color-readonly);
1764
- --tds-field-background-color:var(--t-form-background-color-readonly);
1765
- --tds-field-color:var(--t-form-color-readonly);
1383
+ .tds-modal-overlay[data-entering]{
1384
+ animation:tds-modal-overlay-fade var(--t-duration-300) var(--t-ease-out);
1766
1385
  }
1767
1386
 
1768
- .tds-search-input-control:has([readonly]):has(input:focus){
1769
- border-color:var(--t-form-border-color-hover);
1770
- }
1771
-
1772
- @media (prefers-reduced-motion: reduce){
1773
-
1774
- .tds-search-input-control{
1775
- transition-property:none;
1776
- }
1387
+ .tds-modal-overlay[data-exiting]{
1388
+ animation:tds-modal-overlay-fade var(--t-duration-200) var(--t-ease-in) reverse;
1777
1389
  }
1778
1390
 
1779
- .tds-search-input-control--has-value:is(:hover, :has(input:focus)):not(
1780
- :has(:disabled, [readonly])
1781
- ) .tds-btn{
1782
- --tds-search-input-clear-button-visibility:visible;
1391
+ @keyframes tds-modal-overlay-fade{
1392
+ from{
1393
+ opacity:0;
1394
+ }
1783
1395
  }
1784
1396
 
1785
- .tds-radio-group{
1786
- --tds-radio-group-font-size:var(--t-font-size-md);
1787
- --tds-radio-group-line-height:1.4;
1788
- --tds-radio-group-gap:var(--t-spacing-1);
1397
+ .tds-modal-frame{
1398
+ --tds-modal-width:600px;
1789
1399
 
1790
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
1791
- --tds-radio-group-description-line-height:1.35;
1792
- --tds-radio-group-description-color:var(--t-text-color-secondary);
1793
- --tds-radio-group-description-invalid-icon-display:none;
1794
1400
  display:flex;
1795
- flex-direction:column;
1796
- gap:0;
1797
- padding:0;
1798
- margin:0;
1799
-
1800
- font-size:var(--tds-radio-group-font-size);
1801
- line-height:var(--tds-radio-group-line-height);
1802
- border:0;
1401
+ justify-content:center;
1402
+ width:min(var(--tds-modal-width), calc(100% - 48px));
1803
1403
  }
1804
1404
 
1805
- .tds-radio-group legend{
1806
- float:left;
1807
- padding:0;
1808
- margin:0;
1405
+ .tds-modal-frame[data-entering]{
1406
+ animation:tds-modal-zoom var(--t-duration-300) var(--t-ease-out);
1809
1407
  }
1810
1408
 
1811
- .tds-radio-group[aria-invalid="true"]{
1812
- --tds-radio-group-description-color:var(--t-text-color-status-error);
1813
- --tds-radio-group-description-invalid-icon-display:inline-block;
1409
+ .tds-modal-frame[data-exiting]{
1410
+ animation:tds-modal-zoom var(--t-duration-200) var(--t-ease-in) reverse;
1814
1411
  }
1815
1412
 
1816
- .tds-radio-group[aria-invalid="true"] .tds-radio{
1817
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1818
- }
1413
+ .tds-modal-frame--sm{
1414
+ --tds-modal-width:400px;
1415
+ }
1819
1416
 
1820
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1821
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1822
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1823
- }
1417
+ .tds-modal-frame--lg{
1418
+ --tds-modal-width:800px;
1419
+ }
1824
1420
 
1825
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1826
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1827
- }
1421
+ .tds-modal-frame--xl{
1422
+ --tds-modal-width:1000px;
1423
+ }
1828
1424
 
1829
- .tds-radio-group:has(input:required) legend::after{
1830
- margin-left:.25ch;
1831
- color:var(--t-text-color-status-error);
1832
- content:"*";
1833
- }
1425
+ @keyframes tds-modal-zoom{
1426
+ from{
1427
+ opacity:0;
1428
+ scale:.96;
1429
+ }
1430
+ }
1834
1431
 
1835
- .tds-radio-group-fields{
1836
- display:flex;
1837
- flex-direction:column;
1838
- gap:var(--tds-radio-group-gap);
1839
- align-items:flex-start;
1840
- margin-top:var(--t-spacing-1);
1432
+ @media (prefers-reduced-motion: reduce){
1433
+ .tds-modal-overlay[data-entering],
1434
+ .tds-modal-overlay[data-exiting],
1435
+ .tds-modal-frame[data-entering],
1436
+ .tds-modal-frame[data-exiting]{
1437
+ animation:none;
1438
+ }
1841
1439
  }
1842
1440
 
1843
- .tds-radio-group-description{
1441
+ .tds-modal{
1844
1442
  display:flex;
1845
- gap:var(--t-spacing-half);
1846
- align-items:flex-start;
1847
- margin:var(--t-spacing-fourth) 0 0;
1848
- font-size:var(--tds-radio-group-description-font-size);
1849
- line-height:var(--tds-radio-group-description-line-height);
1850
- color:var(--tds-radio-group-description-color);
1851
- cursor:text;
1443
+ flex-direction:column;
1444
+ width:100%;
1445
+ padding-block:var(--t-spacing-3);
1446
+ padding-inline:0;
1447
+ background:var(--t-surface-color-card);
1448
+
1449
+ border:0;
1450
+ border-radius:var(--t-border-radius-lg);
1451
+ box-shadow:0 4px 18px 0 #0003;
1852
1452
  }
1853
1453
 
1854
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1855
- display:var(--tds-radio-group-description-invalid-icon-display);
1856
- flex-shrink:0;
1857
- margin-top:calc(.5lh - .5em);
1858
- line-height:var(--tds-radio-group-description-line-height);
1454
+ .tds-modal:focus{
1455
+ outline:none;
1859
1456
  }
1860
1457
 
1861
- .tds-radio-group--sm{
1862
- --tds-radio-group-line-height:1.35;
1863
- --tds-radio-group-font-size:var(--t-font-size-sm);
1864
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
1865
- --tds-radio-group-description-line-height:1.3;
1458
+ .tds-modal-header{
1459
+ display:grid;
1460
+ grid-template-columns:1fr auto;
1461
+ -moz-column-gap:var(--t-spacing-2);
1462
+ column-gap:var(--t-spacing-2);
1463
+ padding-block:0;
1464
+ padding-inline:var(--t-spacing-4);
1866
1465
  }
1867
1466
 
1868
- .tds-toggle-switch{
1869
- --tds-toggle-switch-font-size:var(--t-font-size-md);
1870
- --tds-toggle-switch-cursor:pointer;
1871
- --tds-toggle-switch-display:inline-grid;
1872
- --tds-toggle-switch-line-height:1.4;
1467
+ .tds-modal-title{
1468
+ grid-row:1;
1469
+ grid-column:1;
1470
+ margin:0;
1471
+ font-size:var(--t-font-size-2xl);
1472
+ font-weight:var(--t-font-weight-medium);
1473
+ line-height:140%;
1474
+ color:var(--t-text-color-headline);
1475
+ }
1873
1476
 
1874
- --tds-toggle-switch-label-color:var(--t-form-color);
1477
+ .tds-modal-subtitle{
1478
+ grid-row:2;
1479
+ grid-column:1;
1480
+ margin:0;
1481
+ font-size:var(--t-font-size-md);
1482
+ font-weight:var(--t-font-weight-medium);
1483
+ line-height:140%;
1484
+ color:var(--t-text-color-secondary);
1485
+ }
1875
1486
 
1876
- --tds-toggle-switch-track-width:var(--t-container-size-md);
1877
- --tds-toggle-switch-track-outline:none;
1878
- --tds-toggle-switch-track-height:var(--t-container-size-xs);
1879
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1880
- --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1487
+ .tds-modal-close{
1488
+ grid-row:1;
1489
+ grid-column:2;
1490
+ align-self:center;
1491
+ color:var(--t-icon-color-dim);
1492
+ }
1881
1493
 
1882
- --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1883
- --tds-toggle-switch-thumb-transform:translateX(0);
1884
- --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1494
+ .tds-modal-body{
1495
+ padding-block:var(--t-spacing-3);
1496
+ padding-inline:var(--t-spacing-4);
1497
+ }
1885
1498
 
1886
- --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1887
- --tds-toggle-switch-description-line-height:1.35;
1888
- --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1889
- position:relative;
1499
+ .tds-modal-body--full-width{
1500
+ padding-inline:0;
1501
+ }
1890
1502
 
1891
- display:var(--tds-toggle-switch-display);
1892
- grid-template-columns:auto;
1893
- grid-auto-columns:1fr;
1894
- gap:var(--t-spacing-fourth) 0;
1895
- -webkit-user-select:none;
1896
- -moz-user-select:none;
1897
- user-select:none;
1503
+ .tds-modal-footer{
1504
+ display:flex;
1505
+ gap:var(--t-spacing-2);
1506
+ align-items:center;
1507
+ justify-content:flex-end;
1508
+ padding-block-start:var(--t-spacing-3);
1509
+ padding-inline:var(--t-spacing-4);
1510
+ border-top:1px solid var(--t-border-color);
1898
1511
  }
1899
1512
 
1900
- .tds-toggle-switch input[type="checkbox"]{
1901
- position:absolute;
1902
- width:var(--tds-toggle-switch-track-width);
1903
- height:var(--tds-toggle-switch-track-height);
1904
- margin:0;
1905
- -webkit-appearance:none;
1906
- -moz-appearance:none;
1907
- appearance:none;
1908
- cursor:var(--tds-toggle-switch-cursor);
1909
- outline:var(--tds-toggle-switch-track-outline);
1910
- outline-offset:var(--t-focus-ring-offset);
1911
- background-color:transparent;
1912
- border:0;
1913
- border-radius:var(--t-border-radius-round);
1914
- }
1513
+ .tds-modal-footer > [slot="start"]{
1514
+ margin-inline-end:auto;
1515
+ }
1915
1516
 
1916
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1917
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1517
+
1518
+ :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{
1519
+ -webkit-appearance:none;
1520
+ appearance:none;
1918
1521
  }
1919
1522
 
1920
- .tds-toggle-switch label{
1921
- display:inline-flex;
1523
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1524
+ inline-size:1em;
1525
+ block-size:2em;
1526
+ }
1527
+ @supports (field-sizing: content){
1528
+ .tds-input--auto-width{
1529
+ inline-size:-moz-fit-content;
1530
+ inline-size:fit-content;
1531
+ min-inline-size:min(100%, 122px);
1532
+ }
1533
+
1534
+ .tds-input--auto-width input{
1535
+ field-sizing:content;
1536
+ inline-size:auto;
1537
+ }
1538
+ }
1539
+
1540
+ .tds-radio{
1541
+ --tds-radio-font-size:var(--t-font-size-md);
1542
+ --tds-radio-cursor:pointer;
1543
+ --tds-radio-line-height:1.4;
1544
+ --tds-radio-transition-property:border-width;
1545
+
1546
+ --tds-radio-input-size:var(--t-element-size-md);
1547
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
1548
+ --tds-radio-input-border-color:var(--t-form-border-color);
1549
+ --tds-radio-input-border-width:var(--t-form-border-width);
1550
+ --tds-radio-input-background-color:var(--t-form-background-color);
1551
+
1552
+ --tds-radio-label-color:var(--t-form-color);
1553
+
1554
+ --tds-radio-description-font-size:var(--t-font-size-sm);
1555
+ --tds-radio-description-line-height:1.35;
1556
+ --tds-radio-description-color:var(--t-text-color-secondary);
1557
+
1558
+ position:relative;
1559
+ display:inline-grid;
1560
+ grid-template-columns:auto;
1561
+ grid-auto-columns:1fr;
1562
+ gap:var(--t-spacing-fourth) 0;
1563
+ line-height:var(--tds-radio-line-height);
1564
+ -webkit-user-select:none;
1565
+ -moz-user-select:none;
1566
+ user-select:none;
1567
+ }
1568
+
1569
+ .tds-radio label{
1922
1570
  grid-area:1 / 2;
1923
1571
  padding-inline-start:var(--t-spacing-1);
1924
- margin-top:-.09375em;
1925
- font-size:var(--tds-toggle-switch-font-size);
1572
+ font-size:var(--tds-radio-font-size);
1926
1573
  font-weight:var(--t-font-weight-normal);
1927
- line-height:var(--tds-toggle-switch-line-height);
1928
- color:var(--tds-toggle-switch-label-color);
1929
- cursor:var(--tds-toggle-switch-cursor);
1574
+ color:var(--tds-radio-label-color);
1575
+ cursor:var(--tds-radio-cursor);
1930
1576
  }
1931
1577
 
1932
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1933
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1578
+ .tds-radio input[type="radio"]{
1579
+ position:relative;
1580
+ width:1em;
1581
+ height:1em;
1582
+ margin:calc((1lh - 1em) / 2) 0 0;
1583
+ font-size:var(--tds-radio-font-size);
1584
+ line-height:inherit;
1585
+ -webkit-appearance:none;
1586
+ -moz-appearance:none;
1587
+ appearance:none;
1588
+ cursor:var(--tds-radio-cursor);
1589
+ background-color:var(--tds-radio-input-background-color);
1590
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1591
+ border-radius:var(--tds-radio-input-border-radius);
1592
+ transition-timing-function:var(--t-ease-in-out);
1593
+ transition-duration:var(--t-duration-200);
1594
+ transition-property:var(--tds-radio-transition-property);
1934
1595
  }
1935
1596
 
1936
- .tds-toggle-switch:has(input:checked){
1937
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1938
- --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1939
- }
1597
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1598
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1599
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1600
+ }
1940
1601
 
1941
- .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1942
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1602
+ :is(.tds-radio input[type="radio"]):focus-visible{
1603
+ outline:var(--t-focus-ring-outline);
1604
+ outline-offset:var(--t-focus-ring-offset);
1943
1605
  }
1944
1606
 
1945
- .tds-toggle-switch:has(input:disabled){
1946
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1947
- --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1948
- --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1949
- --tds-toggle-switch-cursor:not-allowed;
1607
+ :is(.tds-radio input[type="radio"]):disabled{
1608
+ pointer-events:none;
1609
+ }
1610
+
1611
+ @media (prefers-reduced-motion: reduce){
1612
+
1613
+ .tds-radio input[type="radio"]{
1614
+ --tds-radio-transition-property:none;
1950
1615
  }
1616
+ }
1951
1617
 
1952
- .tds-toggle-switch-track{
1953
- position:relative;
1954
- flex-shrink:0;
1955
- width:var(--tds-toggle-switch-track-width);
1956
- height:var(--tds-toggle-switch-track-height);
1957
- background-color:var(--tds-toggle-switch-track-background-color);
1958
- border-radius:var(--t-border-radius-round);
1959
- transition:var(--tds-toggle-switch-track-transition);
1960
- }
1618
+ .tds-radio:has(input:checked){
1619
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
1620
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
1621
+ --tds-radio-input-border-width:4px;
1622
+ }
1961
1623
 
1962
- .tds-toggle-switch-track::before{
1963
- position:absolute;
1964
- top:var(--t-spacing-fourth);
1965
- left:var(--t-spacing-fourth);
1966
- width:var(--tds-toggle-switch-thumb-size);
1967
- height:var(--tds-toggle-switch-thumb-size);
1968
- content:"";
1969
- background-color:#fff;
1970
- border-radius:var(--t-border-radius-round);
1971
- transform:var(--tds-toggle-switch-thumb-transform);
1972
- transition:var(--tds-toggle-switch-thumb-transition);
1624
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
1625
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
1626
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1627
+ }
1628
+
1629
+ .tds-radio:has(input:user-invalid){
1630
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1973
1631
  }
1974
1632
 
1975
- @media (prefers-reduced-motion: reduce){
1633
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1634
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1635
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1636
+ }
1976
1637
 
1977
- .tds-toggle-switch-track{
1978
- --tds-toggle-switch-track-transition:none;
1979
- --tds-toggle-switch-thumb-transition:none;
1980
- }
1638
+ .tds-radio:has(input:disabled){
1639
+ --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1640
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1641
+
1642
+ --tds-radio-label-color:var(--t-form-color-disabled);
1643
+ --tds-radio-description-color:var(--t-form-color-disabled);
1644
+ --tds-radio-cursor:not-allowed;
1981
1645
  }
1982
1646
 
1983
- .tds-toggle-switch-description{
1647
+ .tds-radio:has(input:disabled) input:checked{
1648
+ --tds-radio-input-background-color:var(--t-form-background-color);
1649
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1650
+ }
1651
+
1652
+ .tds-radio-description{
1984
1653
  display:flex;
1985
1654
  grid-area:2 / 2;
1655
+ gap:var(--t-spacing-half);
1986
1656
  align-items:flex-start;
1987
1657
  padding-inline-start:var(--t-spacing-1);
1988
1658
  margin:0;
1989
- font-size:var(--tds-toggle-switch-description-font-size);
1990
- line-height:var(--tds-toggle-switch-description-line-height);
1991
- color:var(--tds-toggle-switch-description-color);
1659
+ font-size:var(--tds-radio-description-font-size);
1660
+ line-height:var(--tds-radio-description-line-height);
1661
+ color:var(--tds-radio-description-color);
1992
1662
  cursor:text;
1993
1663
  }
1994
1664
 
1995
- .tds-toggle-switch--sm{
1996
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
1997
- --tds-toggle-switch-line-height:1.35;
1998
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
1999
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2000
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2001
- --tds-toggle-switch-description-line-height:1.3;
2002
- }
2003
-
2004
- .tds-toggle-switch--hide-label{
2005
- --tds-toggle-switch-display:inline-flex;
1665
+ .tds-radio--sm{
1666
+ --tds-radio-line-height:1.35;
1667
+ --tds-radio-input-size:var(--t-element-size-sm);
1668
+ --tds-radio-font-size:var(--t-font-size-sm);
1669
+ --tds-radio-description-font-size:var(--t-font-size-xs);
1670
+ --tds-radio-description-line-height:1.3;
2006
1671
  }
2007
1672
 
2008
- .tds-input:has(textarea){
2009
- --tds-input-padding-block:6px;
2010
- --tds-input-resizer-size:var(--t-element-size-sm);
2011
- --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
2012
- }
1673
+ .tds-radio-group{
1674
+ --tds-radio-group-font-size:var(--t-font-size-md);
1675
+ --tds-radio-group-line-height:1.4;
1676
+ --tds-radio-group-gap:var(--t-spacing-1);
2013
1677
 
2014
- @supports (x: attr(x type(*))){
1678
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
1679
+ --tds-radio-group-description-line-height:1.35;
1680
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
1681
+ --tds-radio-group-description-invalid-icon-display:none;
1682
+ display:flex;
1683
+ flex-direction:column;
1684
+ gap:0;
1685
+ padding:0;
1686
+ margin:0;
2015
1687
 
2016
- .tds-input textarea{
2017
- --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1688
+ font-size:var(--tds-radio-group-font-size);
1689
+ line-height:var(--tds-radio-group-line-height);
1690
+ border:0;
2018
1691
  }
1692
+
1693
+ .tds-radio-group legend{
1694
+ float:left;
1695
+ padding:0;
1696
+ margin:0;
2019
1697
  }
2020
1698
 
2021
- .tds-input.tds-textarea--resize-vertical textarea{
2022
- resize:vertical;
2023
- }
1699
+ .tds-radio-group[aria-invalid="true"]{
1700
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
1701
+ --tds-radio-group-description-invalid-icon-display:inline-block;
1702
+ }
2024
1703
 
2025
- .tds-input.tds-textarea--resize-none textarea{
2026
- resize:none;
1704
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
1705
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
2027
1706
  }
2028
1707
 
2029
- .tds-input.tds-textarea--resize-auto textarea{
2030
- resize:vertical;
2031
- }
1708
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1709
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1710
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1711
+ }
2032
1712
 
2033
- @supports (field-sizing: content){
2034
- .tds-input.tds-textarea--resize-auto textarea{
2035
- field-sizing:content;
2036
- resize:none;
1713
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1714
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
2037
1715
  }
1716
+
1717
+ .tds-radio-group:has(input:required) legend::after{
1718
+ margin-left:.25ch;
1719
+ color:var(--t-text-color-status-error);
1720
+ content:"*";
2038
1721
  }
2039
1722
 
2040
- .tds-input textarea{
1723
+ .tds-radio-group-fields{
1724
+ display:flex;
1725
+ flex-direction:column;
1726
+ gap:var(--tds-radio-group-gap);
1727
+ align-items:flex-start;
1728
+ margin-top:var(--t-spacing-1);
1729
+ }
1730
+
1731
+ .tds-radio-group-description{
1732
+ display:flex;
1733
+ gap:var(--t-spacing-half);
1734
+ align-items:flex-start;
1735
+ margin:var(--t-spacing-fourth) 0 0;
1736
+ font-size:var(--tds-radio-group-description-font-size);
1737
+ line-height:var(--tds-radio-group-description-line-height);
1738
+ color:var(--tds-radio-group-description-color);
1739
+ cursor:text;
1740
+ }
1741
+
1742
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1743
+ display:var(--tds-radio-group-description-invalid-icon-display);
1744
+ flex-shrink:0;
1745
+ margin-top:calc(.5lh - .5em);
1746
+ line-height:var(--tds-radio-group-description-line-height);
1747
+ }
1748
+
1749
+ .tds-radio-group--sm{
1750
+ --tds-radio-group-line-height:1.35;
1751
+ --tds-radio-group-font-size:var(--t-font-size-sm);
1752
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
1753
+ --tds-radio-group-description-line-height:1.3;
1754
+ }
1755
+
1756
+ .tds-search-input-control{
1757
+ --tds-search-input-outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
1758
+ --tds-search-input-outline-offset:0;
1759
+ --tds-search-input-cursor:text;
1760
+
1761
+ display:flex;
1762
+ gap:var(--tds-field-padding-inline);
1763
+ align-items:center;
1764
+ inline-size:100%;
1765
+ min-block-size:var(--tds-field-min-height);
1766
+ padding-inline:var(--tds-field-padding-inline);
1767
+ font-size:var(--tds-field-font-size);
1768
+ color:var(--tds-field-color);
1769
+ cursor:var(--tds-search-input-cursor);
1770
+ outline:var(--t-focus-ring-width) solid transparent;
1771
+ outline-color:var(--tds-search-input-outline-color);
1772
+ outline-offset:var(--tds-search-input-outline-offset);
1773
+ background-color:var(--tds-field-background-color);
1774
+ border:var(--t-form-border-width) solid var(--tds-field-border-color);
1775
+ border-radius:var(--t-form-border-radius);
1776
+ transition-timing-function:var(--t-ease-in-out);
1777
+ transition-duration:var(--t-duration-200);
1778
+ transition-property:background-color, border-color, outline-color, outline-offset;
1779
+ }
1780
+
1781
+ .tds-search-input-control:hover:not(:has(input:focus),:has(:disabled,[readonly])){
1782
+ border-color:var(--tds-field-border-color-hover);
1783
+ }
1784
+
1785
+ .tds-search-input-control:has(input:focus){
1786
+ --tds-search-input-outline-color:var(--t-focus-ring-color);
1787
+ --tds-search-input-outline-offset:var(--t-focus-ring-offset);
1788
+
1789
+ border-color:var(--t-form-border-color-focus);
1790
+ }
1791
+
1792
+ .tds-search-input-control input{
1793
+ flex:1;
1794
+ min-inline-size:0;
1795
+ padding:0;
1796
+ overflow:hidden;
1797
+ text-overflow:ellipsis;
1798
+ font-family:inherit;
1799
+ font-size:inherit;
1800
+ color:inherit;
1801
+ white-space:nowrap;
1802
+ -webkit-appearance:none;
1803
+ -moz-appearance:none;
1804
+ appearance:none;
1805
+ outline:0;
1806
+ background-color:transparent;
1807
+ border:0;
1808
+ }
1809
+
1810
+ :is(.tds-search-input-control input)::-moz-placeholder{
1811
+ color:var(--tds-field-placeholder-color);
1812
+ -moz-user-select:none;
1813
+ user-select:none;
1814
+ }
1815
+
1816
+ :is(.tds-search-input-control input)::placeholder{
1817
+ color:var(--tds-field-placeholder-color);
1818
+ -webkit-user-select:none;
1819
+ -moz-user-select:none;
1820
+ user-select:none;
1821
+ }
1822
+
1823
+ :is(.tds-search-input-control input)::-webkit-search-decoration,:is(.tds-search-input-control input)::-webkit-search-cancel-button,:is(.tds-search-input-control input)::-webkit-search-results-button,:is(.tds-search-input-control input)::-webkit-search-results-decoration{
1824
+ -webkit-appearance:none;
1825
+ appearance:none;
1826
+ }
1827
+
1828
+ .tds-search-input-control .tds-search-input-icon{
1829
+ flex-shrink:0;
1830
+ inline-size:1em;
1831
+ color:var(--t-icon-color-dim);
1832
+ }
1833
+
1834
+ .tds-search-input-control .tds-search-input-clear-icon{
1835
+ inline-size:calc(var(--tds-field-font-size) * .8);
1836
+ block-size:calc(var(--tds-field-font-size) * .8);
1837
+ }
1838
+
1839
+ .tds-search-input-control .tds-btn{
1840
+ --tds-btn-color:var(--t-icon-color-dim);
1841
+ --tds-btn-padding-truncated-x:0;
1842
+ --tds-search-input-clear-button-visibility:hidden;
1843
+
1844
+ visibility:var(--tds-search-input-clear-button-visibility);
1845
+ flex-shrink:0;
1846
+ }
1847
+
1848
+ .tds-search-input-control:has(input:is(:user-invalid,[aria-invalid="true"])){
1849
+ --tds-field-background-color:var(--t-form-background-color-error);
1850
+ --tds-field-border-color:var(--t-form-border-color-error);
1851
+ --tds-field-border-color-hover:var(--t-form-border-color-error-hover);
1852
+ }
1853
+
1854
+ .tds-search-input-control:has(:disabled){
1855
+ --tds-field-border-color:var(--t-form-border-color-disabled);
1856
+ --tds-field-background-color:var(--t-form-background-color-disabled);
1857
+ --tds-field-color:var(--t-form-color-disabled);
1858
+ --tds-search-input-cursor:not-allowed;
1859
+ }
1860
+
1861
+ .tds-search-input-control:has([readonly]){
1862
+ --tds-field-border-color:var(--t-form-border-color-readonly);
1863
+ --tds-field-border-color-hover:var(--t-form-border-color-readonly);
1864
+ --tds-field-background-color:var(--t-form-background-color-readonly);
1865
+ --tds-field-color:var(--t-form-color-readonly);
1866
+ }
1867
+
1868
+ .tds-search-input-control:has([readonly]):has(input:focus){
1869
+ border-color:var(--t-form-border-color-hover);
1870
+ }
1871
+
1872
+ @media (prefers-reduced-motion: reduce){
1873
+
1874
+ .tds-search-input-control{
1875
+ transition-property:none;
1876
+ }
1877
+ }
1878
+
1879
+ .tds-search-input-control--has-value:is(:hover, :has(input:focus)):not(
1880
+ :has(:disabled, [readonly])
1881
+ ) .tds-btn{
1882
+ --tds-search-input-clear-button-visibility:visible;
1883
+ }
1884
+
1885
+ .tds-input:has(textarea){
1886
+ --tds-input-padding-block:6px;
1887
+ --tds-input-resizer-size:var(--t-element-size-sm);
1888
+ --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
1889
+ }
1890
+
1891
+ @supports (x: attr(x type(*))){
1892
+
1893
+ .tds-input textarea{
1894
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1895
+ }
1896
+ }
1897
+
1898
+ .tds-input.tds-textarea--resize-vertical textarea{
1899
+ resize:vertical;
1900
+ }
1901
+
1902
+ .tds-input.tds-textarea--resize-none textarea{
1903
+ resize:none;
1904
+ }
1905
+
1906
+ .tds-input.tds-textarea--resize-auto textarea{
1907
+ resize:vertical;
1908
+ }
1909
+
1910
+ @supports (field-sizing: content){
1911
+ .tds-input.tds-textarea--resize-auto textarea{
1912
+ field-sizing:content;
1913
+ resize:none;
1914
+ }
1915
+ }
1916
+
1917
+ .tds-input textarea{
2041
1918
  --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
2042
1919
  --tds-input-scrollbar-thumb-color-hidden:transparent;
2043
1920
  --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
@@ -2110,427 +1987,550 @@ a.tds-dropdown-item:is(:hover, :active){
2110
1987
  }
2111
1988
  }
2112
1989
 
2113
- .tds-modal-overlay{
2114
- position:fixed;
2115
- inset:0;
2116
- z-index:1000;
2117
- display:flex;
2118
- align-items:center;
2119
- justify-content:center;
2120
- background:hsl(0 0% 0% / 40%);
2121
- }
1990
+ .tds-toggle-switch{
1991
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
1992
+ --tds-toggle-switch-cursor:pointer;
1993
+ --tds-toggle-switch-display:inline-grid;
1994
+ --tds-toggle-switch-line-height:1.4;
2122
1995
 
2123
- .tds-modal-overlay[data-entering]{
2124
- animation:tds-modal-overlay-fade var(--t-duration-300) var(--t-ease-out);
2125
- }
1996
+ --tds-toggle-switch-label-color:var(--t-form-color);
2126
1997
 
2127
- .tds-modal-overlay[data-exiting]{
2128
- animation:tds-modal-overlay-fade var(--t-duration-200) var(--t-ease-in) reverse;
2129
- }
1998
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
1999
+ --tds-toggle-switch-track-outline:none;
2000
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
2001
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
2002
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
2130
2003
 
2131
- @keyframes tds-modal-overlay-fade{
2132
- from{
2133
- opacity:0;
2134
- }
2135
- }
2004
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
2005
+ --tds-toggle-switch-thumb-transform:translateX(0);
2006
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
2136
2007
 
2137
- .tds-modal-frame{
2138
- --tds-modal-width:600px;
2008
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
2009
+ --tds-toggle-switch-description-line-height:1.35;
2010
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
2011
+ position:relative;
2139
2012
 
2140
- display:flex;
2141
- justify-content:center;
2142
- width:min(var(--tds-modal-width), calc(100% - 48px));
2013
+ display:var(--tds-toggle-switch-display);
2014
+ grid-template-columns:auto;
2015
+ grid-auto-columns:1fr;
2016
+ gap:var(--t-spacing-fourth) 0;
2017
+ -webkit-user-select:none;
2018
+ -moz-user-select:none;
2019
+ user-select:none;
2143
2020
  }
2144
2021
 
2145
- .tds-modal-frame[data-entering]{
2146
- animation:tds-modal-zoom var(--t-duration-300) var(--t-ease-out);
2147
- }
2148
-
2149
- .tds-modal-frame[data-exiting]{
2150
- animation:tds-modal-zoom var(--t-duration-200) var(--t-ease-in) reverse;
2151
- }
2152
-
2153
- .tds-modal-frame--sm{
2154
- --tds-modal-width:400px;
2155
- }
2022
+ .tds-toggle-switch input[type="checkbox"]{
2023
+ position:absolute;
2024
+ width:var(--tds-toggle-switch-track-width);
2025
+ height:var(--tds-toggle-switch-track-height);
2026
+ margin:0;
2027
+ -webkit-appearance:none;
2028
+ -moz-appearance:none;
2029
+ appearance:none;
2030
+ cursor:var(--tds-toggle-switch-cursor);
2031
+ outline:var(--tds-toggle-switch-track-outline);
2032
+ outline-offset:var(--t-focus-ring-offset);
2033
+ background-color:transparent;
2034
+ border:0;
2035
+ border-radius:var(--t-border-radius-round);
2036
+ }
2156
2037
 
2157
- .tds-modal-frame--lg{
2158
- --tds-modal-width:800px;
2159
- }
2038
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2039
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2040
+ }
2160
2041
 
2161
- .tds-modal-frame--xl{
2162
- --tds-modal-width:1000px;
2163
- }
2042
+ .tds-toggle-switch label{
2043
+ display:inline-flex;
2044
+ grid-area:1 / 2;
2045
+ padding-inline-start:var(--t-spacing-1);
2046
+ margin-top:-.09375em;
2047
+ font-size:var(--tds-toggle-switch-font-size);
2048
+ font-weight:var(--t-font-weight-normal);
2049
+ line-height:var(--tds-toggle-switch-line-height);
2050
+ color:var(--tds-toggle-switch-label-color);
2051
+ cursor:var(--tds-toggle-switch-cursor);
2052
+ }
2164
2053
 
2165
- @keyframes tds-modal-zoom{
2166
- from{
2167
- opacity:0;
2168
- scale:.96;
2054
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2055
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2169
2056
  }
2170
- }
2171
2057
 
2172
- @media (prefers-reduced-motion: reduce){
2173
- .tds-modal-overlay[data-entering],
2174
- .tds-modal-overlay[data-exiting],
2175
- .tds-modal-frame[data-entering],
2176
- .tds-modal-frame[data-exiting]{
2177
- animation:none;
2058
+ .tds-toggle-switch:has(input:checked){
2059
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
2060
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2178
2061
  }
2179
- }
2180
2062
 
2181
- .tds-modal{
2182
- display:flex;
2183
- flex-direction:column;
2184
- width:100%;
2185
- padding-block:var(--t-spacing-3);
2186
- padding-inline:0;
2187
- background:var(--t-surface-color-card);
2063
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
2064
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
2065
+ }
2188
2066
 
2189
- border:0;
2190
- border-radius:var(--t-border-radius-lg);
2191
- box-shadow:0 4px 18px 0 #0003;
2067
+ .tds-toggle-switch:has(input:disabled){
2068
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
2069
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
2070
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
2071
+ --tds-toggle-switch-cursor:not-allowed;
2072
+ }
2073
+
2074
+ .tds-toggle-switch-track{
2075
+ position:relative;
2076
+ flex-shrink:0;
2077
+ width:var(--tds-toggle-switch-track-width);
2078
+ height:var(--tds-toggle-switch-track-height);
2079
+ background-color:var(--tds-toggle-switch-track-background-color);
2080
+ border-radius:var(--t-border-radius-round);
2081
+ transition:var(--tds-toggle-switch-track-transition);
2192
2082
  }
2193
2083
 
2194
- .tds-modal:focus{
2195
- outline:none;
2084
+ .tds-toggle-switch-track::before{
2085
+ position:absolute;
2086
+ top:var(--t-spacing-fourth);
2087
+ left:var(--t-spacing-fourth);
2088
+ width:var(--tds-toggle-switch-thumb-size);
2089
+ height:var(--tds-toggle-switch-thumb-size);
2090
+ content:"";
2091
+ background-color:#fff;
2092
+ border-radius:var(--t-border-radius-round);
2093
+ transform:var(--tds-toggle-switch-thumb-transform);
2094
+ transition:var(--tds-toggle-switch-thumb-transition);
2196
2095
  }
2197
2096
 
2198
- .tds-modal-header{
2199
- display:grid;
2200
- grid-template-columns:1fr auto;
2201
- -moz-column-gap:var(--t-spacing-2);
2202
- column-gap:var(--t-spacing-2);
2203
- padding-block:0;
2204
- padding-inline:var(--t-spacing-4);
2205
- }
2097
+ @media (prefers-reduced-motion: reduce){
2206
2098
 
2207
- .tds-modal-title{
2208
- grid-row:1;
2209
- grid-column:1;
2210
- margin:0;
2211
- font-size:var(--t-font-size-2xl);
2212
- font-weight:var(--t-font-weight-medium);
2213
- line-height:140%;
2214
- color:var(--t-text-color-headline);
2099
+ .tds-toggle-switch-track{
2100
+ --tds-toggle-switch-track-transition:none;
2101
+ --tds-toggle-switch-thumb-transition:none;
2215
2102
  }
2103
+ }
2216
2104
 
2217
- .tds-modal-subtitle{
2218
- grid-row:2;
2219
- grid-column:1;
2105
+ .tds-toggle-switch-description{
2106
+ display:flex;
2107
+ grid-area:2 / 2;
2108
+ align-items:flex-start;
2109
+ padding-inline-start:var(--t-spacing-1);
2220
2110
  margin:0;
2221
- font-size:var(--t-font-size-md);
2222
- font-weight:var(--t-font-weight-medium);
2223
- line-height:140%;
2224
- color:var(--t-text-color-secondary);
2111
+ font-size:var(--tds-toggle-switch-description-font-size);
2112
+ line-height:var(--tds-toggle-switch-description-line-height);
2113
+ color:var(--tds-toggle-switch-description-color);
2114
+ cursor:text;
2225
2115
  }
2226
2116
 
2227
- .tds-modal-close{
2228
- grid-row:1;
2229
- grid-column:2;
2230
- align-self:center;
2231
- color:var(--t-icon-color-dim);
2117
+ .tds-toggle-switch--sm{
2118
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
2119
+ --tds-toggle-switch-line-height:1.35;
2120
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
2121
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2122
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2123
+ --tds-toggle-switch-description-line-height:1.3;
2232
2124
  }
2233
2125
 
2234
- .tds-modal-body{
2235
- padding-block:var(--t-spacing-3);
2236
- padding-inline:var(--t-spacing-4);
2126
+ .tds-toggle-switch--hide-label{
2127
+ --tds-toggle-switch-display:inline-flex;
2237
2128
  }
2238
2129
 
2239
- .tds-modal-body--full-width{
2240
- padding-inline:0;
2130
+ .tds-button-group{
2131
+ display:inline-flex;
2241
2132
  }
2133
+ .tds-button-group > .tds-btn{
2134
+ --tds-button-group-item-z-index:1;
2242
2135
 
2243
- .tds-modal-footer{
2244
- display:flex;
2245
- gap:var(--t-spacing-2);
2246
- align-items:center;
2247
- justify-content:flex-end;
2248
- padding-block-start:var(--t-spacing-3);
2249
- padding-inline:var(--t-spacing-4);
2250
- border-top:1px solid var(--t-border-color);
2251
- }
2136
+ position:relative;
2137
+ z-index:var(--tds-button-group-item-z-index);
2138
+ border-radius:0;
2139
+ }
2140
+ :is(.tds-button-group > .tds-btn):not(:first-child){
2141
+ margin-inline-start:calc(var(--tds-btn-border-width) * -1);
2142
+ }
2143
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before,:is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
2144
+ position:absolute;
2145
+ inset-block:calc(var(--tds-btn-border-width) * -1);
2146
+ width:var(--tds-btn-border-width);
2147
+ pointer-events:none;
2148
+ content:"";
2149
+ background-color:var(--t-border-color-white);
2150
+ }
2151
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before{
2152
+ inset-inline-start:calc(var(--tds-btn-border-width) * -1);
2153
+ }
2154
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
2155
+ inset-inline-end:calc(var(--tds-btn-border-width) * -1);
2156
+ }
2157
+ :is(.tds-button-group > .tds-btn):hover{
2158
+ --tds-button-group-item-z-index:2;
2159
+ }
2160
+ :is(.tds-button-group > .tds-btn):focus-visible{
2161
+ --tds-button-group-item-z-index:5;
2162
+ }
2163
+ .tds-button-group > .tds-btn:first-child{
2164
+ border-start-start-radius:var(--tds-btn-border-radius);
2165
+ border-end-start-radius:var(--tds-btn-border-radius);
2166
+ }
2167
+ .tds-button-group > .tds-btn:last-child{
2168
+ border-start-end-radius:var(--tds-btn-border-radius);
2169
+ border-end-end-radius:var(--tds-btn-border-radius);
2170
+ }
2252
2171
 
2253
- .tds-modal-footer > [slot="start"]{
2254
- margin-inline-end:auto;
2255
- }
2256
2172
 
2257
- @layer t-critical{
2258
- tds-page-header:not(.hydrated){
2259
- display:none;
2260
- }
2173
+ @media (prefers-reduced-motion: no-preference){
2174
+
2175
+ :root{
2176
+ interpolate-size:allow-keywords;
2261
2177
  }
2178
+ }
2262
2179
 
2263
- @layer t-component{
2264
- .tds-page-header{
2265
- --tds-page-header-background-color:var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-canvas));
2266
- --tds-page-header-background-color-inactive:var(--t-fill-color-neutral-090);
2267
- --tds-page-header-color:var(--t-text-color);
2268
- --tds-page-header-bottom-border-color:transparent;
2269
- --tds-page-header-headline-color:var(--t-text-color-headline);
2270
- --tds-page-header-headline-font-size:var(--t-font-size-2xl);
2271
- --tds-page-header-padding-x:var(--t-spacing-2);
2272
- --tds-page-header-padding-y:var(--t-spacing-2);
2273
- --tds-page-header-nav-padding-x:var(--tds-page-header-padding-x, var(--t-spacing-3));
2274
- --tds-page-header-nav-gap:var(--t-spacing-1);
2275
- --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%);
2276
- --tds-page-header-nav-item-padding-x:var(--t-spacing-1);
2277
- --tds-page-header-nav-item-padding-y:var(--t-spacing-1);
2278
- --tds-page-header-nav-item-color:var(--t-text-color-secondary);
2279
- --tds-page-header-nav-item-background-color:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 35%);
2280
- --tds-page-header-nav-item-border-width:1px;
2180
+ @layer tds-component{
2181
+ tds-sidenav,
2182
+ .tds-sidenav{
2183
+ --tds-sidenav-indent:12px;
2184
+ --tds-sidenav-item-depth:0;
2281
2185
 
2282
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-background-color);
2283
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color);
2186
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
2284
2187
 
2285
- --tds-page-header-nav-item-color-hover:var(--t-text-color);
2286
- --tds-page-header-nav-item-background-color-hover:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 20%);
2287
- --tds-page-header-nav-item-border-color-hover:var(--tds-page-header-nav-item-background-color-hover);
2188
+ --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;
2189
+ --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;
2190
+ --tds-sidenav-collapse-closed-opacity:0;
2191
+ --tds-sidenav-collapse-open-opacity:1;
2192
+ --tds-sidenav-collapse-closed-transform:translateY(-8px);
2193
+ --tds-sidenav-collapse-open-transform:translateY(0);
2288
2194
 
2289
- --tds-page-header-nav-item-background-color-active:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 10%);
2290
- --tds-page-header-nav-item-border-color-active:var(--tds-page-header-nav-item-background-color-active);
2195
+ --tds-sidenav-item-icon-size:var(--t-element-size-md);
2196
+ --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
2197
+ --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
2198
+ --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
2291
2199
 
2292
- --tds-page-header-nav-item-color-disabled:var(--t-text-color-disabled);
2293
- --tds-page-header-nav-item-background-color-disabled:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 50%);
2294
- --tds-page-header-nav-item-border-color-disabled:var(--tds-page-header-nav-item-background-color-disabled);
2200
+ --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
2201
+ --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
2202
+ --tds-sidenav-item-nested-background-selected:transparent;
2295
2203
 
2296
- --tds-page-header-nav-item-color-selected:var(--t-text-color);
2297
- --tds-page-header-nav-item-background-color-selected:var(--t-surface-color-canvas);
2298
- --tds-page-header-nav-item-border-color-selected:var(--tds-page-header-nav-item-background-color-selected);
2299
- --tds-page-header-nav-item-border-bottom-color-selected:var(--tds-page-header-nav-item-background-color-selected);
2300
- --tds-page-header-nav-item-indicator-color:var(--t-icon-color-status-warning);
2301
- }
2204
+ --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
2205
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
2206
+ --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
2302
2207
 
2303
- .tds-page-header--profile{
2304
- --tds-page-header-padding-y:20px;
2208
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
2209
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
2305
2210
  }
2306
2211
 
2307
- @supports (color: light-dark(#fff, #000)){
2308
- .tds-page-header{
2309
- --tds-page-header-nav-background-start:light-dark(rgba(0, 0, 0, 0), rgba(255, 255, 255, 0));
2310
- --tds-page-header-nav-background-end:light-dark(rgba(0, 0, 0, .05), rgba(255, 255, 255, .1));
2212
+ @media (prefers-reduced-motion: reduce){
2213
+ tds-sidenav,
2214
+ .tds-sidenav{
2215
+ --tds-sidenav-collapse-transition-enter:none;
2216
+ --tds-sidenav-collapse-transition-exit:none;
2217
+ --tds-sidenav-collapse-closed-transform:none;
2218
+ --tds-sidenav-collapse-open-transform:none;
2219
+ }
2311
2220
  }
2221
+
2222
+ .tds-sidenav--theme-gray{
2223
+ --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
2224
+ --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
2225
+ --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
2226
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
2227
+ --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
2312
2228
  }
2229
+ }
2313
2230
 
2314
- @media (min-width: 600px){
2315
- .tds-page-header{
2316
- --tds-page-header-background-color:var(--t-surface-color-canvas);
2317
- --tds-page-header-color:var(--t-text-color-secondary);
2318
- --tds-page-header-bottom-border-color:var(--t-border-color);
2319
- --tds-page-header-padding-x:var(--t-spacing-3);
2320
- --tds-page-header-headline-font-size:var(--t-font-size-3xl);
2321
- --tds-page-header-nav-gap:var(--t-spacing-half);
2322
- --tds-page-header-nav-background:transparent;
2323
- --tds-page-header-nav-item-padding-x:var(--t-spacing-2);
2324
- --tds-page-header-nav-item-border-width:1px;
2325
- --tds-page-header-nav-item-color:var(--t-text-color);
2326
- --tds-page-header-nav-item-background-color:var(--t-fill-color-neutral-070);
2327
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-bottom-border-color);
2328
- --tds-page-header-nav-item-background-color-hover:var(--t-fill-color-neutral-060);
2329
- --tds-page-header-nav-item-background-color-active:var(--t-fill-color-neutral-050);
2330
- --tds-page-header-nav-item-background-color-disabled:var(--t-fill-color-neutral-080);
2331
- --tds-page-header-nav-item-border-color-selected:var(--t-border-color);
2332
- }
2231
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
2232
+ display:flex;
2233
+ }
2234
+
2235
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
2236
+ flex-direction:column;
2237
+ gap:var(--t-spacing-half);
2238
+ width:100%;
2333
2239
  }
2240
+
2241
+ .tds-sidenav-section-list{
2242
+ width:100%;
2243
+ padding:0;
2244
+ margin:0;
2245
+ list-style:none;
2334
2246
  }
2335
2247
 
2336
- .tds-page-header{
2248
+ .tds-sidenav-section-header{
2337
2249
  display:flex;
2338
- flex-direction:column;
2339
- padding-top:var(--tds-page-header-padding-y);
2340
- color:var(--tds-page-header-color);
2341
- background:var(--tds-page-header-background-color);
2342
- border-bottom:1px solid var(--tds-page-header-bottom-border-color);
2250
+ align-items:baseline;
2251
+ justify-content:space-between;
2252
+ padding-top:var(--t-spacing-2);
2343
2253
  }
2344
2254
 
2345
- .tds-page-header:not(.has-nav){
2346
- padding-bottom:var(--tds-page-header-padding-y);
2255
+ .tds-sidenav-section-header h2{
2256
+ margin:0;
2257
+ font-size:var(--t-font-size-sm);
2258
+ font-weight:var(--t-font-weight-semibold);
2259
+ line-height:1.35;
2260
+ color:var(--t-text-color-secondary);
2261
+ text-transform:uppercase;
2347
2262
  }
2348
2263
 
2349
- .tds-page-header.inactive{
2350
- background:var(--tds-page-header-background-color-inactive);
2264
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
2265
+ padding-top:0;
2351
2266
  }
2352
2267
 
2353
- .tds-page-header :is([slot="actions"],.tds-page-header__actions){
2354
- width:100%;
2268
+ .tds-sidenav-section-header [slot="label-actions"]{
2269
+ display:flex;
2270
+ gap:var(--t-spacing-half);
2271
+ align-items:center;
2355
2272
  }
2356
2273
 
2357
- .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
2274
+ .tds-sidenav-section [slot="section-actions"]{
2275
+ display:flex;
2276
+ gap:12px;
2277
+ align-items:center;
2278
+ min-height:42px;
2279
+ padding:var(--t-spacing-1) 0;
2280
+ }
2281
+
2282
+ .tds-sidenav-section-list,
2283
+ .tds-sidenav-item{
2284
+ width:100%;
2285
+ padding:0;
2286
+ margin:0;
2287
+ }
2288
+
2289
+ .tds-sidenav-item :is(a,button){
2290
+ position:relative;
2358
2291
  display:flex;
2359
- flex-flow:row wrap;
2360
- gap:var(--t-spacing-half) var(--t-spacing-1);
2361
- align-items:flex-start;
2362
- justify-content:flex-start;
2363
- min-width:0;
2292
+ gap:12px;
2293
+ align-items:center;
2294
+ width:100%;
2295
+ padding:12px;
2296
+ overflow:hidden;
2297
+ font-size:var(--t-font-size-sm);
2298
+ line-height:18px;
2299
+ color:var(--t-text-color-headline);
2300
+ white-space:nowrap;
2301
+ text-decoration:none;
2302
+ -webkit-appearance:none;
2303
+ -moz-appearance:none;
2304
+ appearance:none;
2305
+ cursor:pointer;
2306
+ background-color:var(--tds-sidenav-item-background, transparent);
2307
+ border:0;
2308
+ border-radius:var(--t-border-radius);
2309
+ transition:var(--tds-sidenav-item-transition);
2364
2310
  }
2365
2311
 
2366
- :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{
2367
- display:flex;
2368
- gap:var(--tds-page-header-nav-gap);
2369
- padding:var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
2370
- margin:0 0 -1px;
2371
- overflow:auto;
2372
- list-style:none;
2373
- background:var(--tds-page-header-nav-background);
2312
+ :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
2313
+ display:block;
2314
+ flex:1;
2315
+ overflow:hidden;
2316
+ text-overflow:ellipsis;
2317
+ text-align:left;
2318
+ white-space:nowrap;
2374
2319
  }
2375
2320
 
2376
- :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button){
2377
- position:relative;
2378
- display:inline-flex;
2379
- padding:var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
2380
- font-size:var(--t-font-size-sm);
2381
- line-height:22px;
2382
- color:var(--tds-page-header-nav-item-color);
2383
- white-space:nowrap;
2321
+ :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
2322
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
2323
+ color:var(--t-text-color-headline);
2384
2324
  text-decoration:none;
2385
- -webkit-appearance:none;
2386
- -moz-appearance:none;
2387
- appearance:none;
2388
- cursor:pointer;
2389
- outline-offset:-2px;
2390
- background-color:var(--tds-page-header-nav-item-background-color);
2391
- background-clip:padding-box;
2392
- border:var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
2393
- border-bottom:1px solid var(--tds-page-header-nav-item-border-bottom-color);
2394
- border-radius:var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
2395
2325
  }
2396
2326
 
2397
- .selected:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)){
2398
- --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-selected);
2399
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-selected);
2400
- --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-selected);
2401
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-selected);
2402
- }
2327
+ :is(.tds-sidenav-item :is(a,button)):active{
2328
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
2329
+ }
2330
+
2331
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
2332
+ overflow:hidden;
2333
+ color:var(--tds-sidenav-item-icon-color);
2334
+ }
2335
+
2336
+ :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{
2337
+ display:block;
2338
+ width:var(--tds-sidenav-item-icon-size);
2339
+ height:var(--tds-sidenav-item-icon-size);
2340
+ }
2341
+
2342
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
2343
+ --tds-sidenav-indent:19px;
2344
+ }
2345
+
2346
+ [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
2347
+ visibility:visible;
2348
+ block-size:auto;
2349
+ opacity:1;
2350
+ }
2403
2351
 
2404
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):hover{
2405
- --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-hover);
2406
- --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-hover);
2407
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-hover);
2408
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-hover);
2409
- }
2352
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
2353
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
2354
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
2410
2355
 
2411
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):active{
2412
- background-color:var(--tds-page-header-nav-item-background-color-active);
2413
- border-color:var(--tds-page-header-nav-item-border-color-active);
2414
- border-bottom-color:var(--tds-page-header-nav-item-background-color-active);
2415
- }
2356
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
2357
+ font-weight:var(--t-font-weight-semibold);
2358
+ }
2416
2359
 
2417
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):disabled{
2418
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-disabled);
2419
- color:var(--tds-page-header-nav-item-color-disabled);
2420
- cursor:not-allowed;
2421
- background-color:var(--tds-page-header-nav-item-background-color-disabled);
2422
- opacity:1;
2423
- }
2360
+ .tds-sidenav-item:has(.tds-sidenav-section){
2361
+ display:flex;
2362
+ flex-direction:column;
2363
+ gap:var(--t-spacing-half);
2364
+ }
2424
2365
 
2425
- @media (min-width: 600px){
2426
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected)::after{
2427
- position:absolute;
2428
- inset:auto -1px -1px;
2429
- height:1px;
2430
- pointer-events:none;
2431
- content:"";
2432
- background-color:var(--tds-page-header-bottom-border-color);
2433
- }
2434
- }
2366
+ .tds-sidenav-item .tds-sidenav-section-list{
2367
+ --tds-sidenav-item-depth:1;
2368
+ gap:0;
2369
+ }
2435
2370
 
2436
- :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator){
2437
- position:relative;
2371
+ .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
2372
+ visibility:hidden;
2373
+ block-size:0;
2374
+ overflow-y:clip;
2375
+ opacity:0;
2376
+ transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
2438
2377
  }
2439
2378
 
2440
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator)) :is(a,button){
2441
- -webkit-mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
2442
- mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
2379
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
2380
+ --tds-sidenav-item-depth:2;
2381
+ }
2382
+
2383
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2384
+ min-height:var(--t-element-size-2xl);
2385
+ padding-block:9px;
2386
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
2387
+ line-height:1;
2388
+ background-color:transparent;
2389
+ }
2390
+
2391
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
2392
+ position:absolute;
2393
+ top:0;
2394
+ bottom:0;
2395
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2396
+ width:2px;
2397
+ content:"";
2398
+ background-color:var(--tds-sidenav-item-nested-border-color);
2399
+ transition:var(--tds-sidenav-item-transition);
2443
2400
  }
2444
2401
 
2445
- :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{
2402
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
2446
2403
  position:absolute;
2447
- top:-5px;
2448
- right:-2px;
2449
- width:10px;
2450
- height:10px;
2404
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2405
+ z-index:-1;
2406
+ height:100%;
2451
2407
  content:"";
2452
- background:var(--tds-page-header-nav-item-indicator-color);
2453
- border-radius:50%;
2408
+ background-color:var(--tds-sidenav-item-nested-background);
2409
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
2410
+ transition:var(--tds-sidenav-item-transition);
2454
2411
  }
2455
2412
 
2456
- @media (prefers-reduced-motion: no-preference){
2457
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
2458
- animation:indicator-pulse 1.25s ease infinite;
2459
- }
2413
+ :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)){
2414
+ display:block;
2415
+ text-align:left;
2416
+ white-space:normal;
2460
2417
  }
2461
2418
 
2462
- .tds-page-header__title-bar{
2463
- display:flex;
2464
- flex-direction:column;
2465
- gap:var(--t-spacing-2) var(--t-spacing-1);
2466
- align-items:flex-start;
2467
- justify-content:space-between;
2468
- padding:0 var(--tds-page-header-padding-x);
2469
- }
2419
+ :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{
2420
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
2421
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
2422
+ }
2470
2423
 
2471
- .tds-page-header--profile > .tds-page-header__title-bar{
2472
- align-items:center;
2473
- }
2424
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
2425
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
2426
+ }
2474
2427
 
2475
- .tds-page-header__primary{
2428
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2429
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
2430
+ font-weight:var(--t-font-weight-medium);
2431
+ }
2432
+
2433
+ .tds-sidenav-responsive-header{
2434
+ display:flex;
2435
+ gap:var(--t-spacing-2);
2436
+ align-items:center;
2476
2437
  width:100%;
2477
2438
  }
2478
2439
 
2479
- .tds-page-header__primary h1{
2440
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
2441
+ order:0;
2442
+ }
2443
+
2444
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
2445
+ flex:1;
2446
+ order:1;
2480
2447
  margin:0;
2481
- font-size:var(--tds-page-header-headline-font-size);
2482
- font-weight:var(--t-font-weight-normal);
2483
- line-height:32px;
2484
- color:var(--tds-page-header-headline-color);
2485
- overflow-wrap:break-word;
2448
+ font-size:var(--t-font-size-lg);
2449
+ font-weight:var(--t-font-weight-medium);
2450
+ color:var(--t-text-color-headline);
2486
2451
  }
2487
2452
 
2488
- @media (min-width: 960px){
2489
- .tds-page-header__primary{
2490
- flex:1 1 max-content;
2491
- width:auto;
2492
- min-width:0;
2493
- max-width:100%;
2453
+ @media (max-width: 719px){
2454
+ .tds-sidenav-collapse{
2455
+ z-index:10001;
2456
+ display:none;
2457
+ max-width:min(448px, calc(100vw - 48px));
2458
+ padding:0;
2459
+ margin:12px 0;
2460
+ position-area:bottom span-right;
2461
+ overflow:hidden;
2462
+ outline:0;
2463
+ background:var(--t-surface-color-card);
2464
+ border:0;
2465
+ border-radius:6px;
2466
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
2467
+ opacity:var(--tds-sidenav-collapse-open-opacity);
2468
+ transform:var(--tds-sidenav-collapse-open-transform);
2469
+ transition:var(--tds-sidenav-collapse-transition-enter);
2470
+ will-change:transform;
2494
2471
  }
2495
2472
 
2496
- .tds-page-header__title-bar,
2497
- .tds-page-header--profile .tds-page-header__title-bar{
2498
- flex-flow:row nowrap;
2499
- row-gap:12px;
2500
- align-items:flex-start;
2473
+ .tds-sidenav-scroll-container{
2474
+ --webkit-overflow-scrolling:touch;
2475
+ display:block;
2476
+ width:100%;
2477
+ height:-moz-fit-content;
2478
+ height:fit-content;
2479
+ padding:var(--t-spacing-2);
2480
+ overflow-y:auto;
2501
2481
  }
2502
- .tds-page-header :is([slot="actions"],.tds-page-header__actions){
2503
- width:auto;
2482
+
2483
+ .tds-sidenav-item :is(a, button) :is(.prefix){
2484
+ display:none;
2485
+ }
2486
+ @supports selector(:popover-open){
2487
+ .tds-sidenav-collapse:popover-open{
2488
+ display:flex;
2504
2489
  }
2505
2490
 
2506
- .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
2507
- justify-content:flex-end;
2491
+ .tds-sidenav-collapse:not(:popover-open){
2492
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2493
+ transition:var(--tds-sidenav-collapse-transition-exit);
2508
2494
  }
2509
- }
2510
2495
 
2511
- .tds-page-header-phone,
2512
- .tds-page-header-email{
2513
- color:var(--tds-page-header-color);
2514
- white-space:nowrap;
2515
- }
2516
- .tds-page-header-email{
2517
- max-width:100%;
2518
- overflow:hidden;
2519
- text-overflow:ellipsis;
2520
- }
2496
+ @starting-style{
2497
+ .tds-sidenav-collapse:popover-open{
2498
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2499
+ transform:var(--tds-sidenav-collapse-closed-transform);
2500
+ }
2501
+ }
2502
+ }
2503
+ @supports not selector(:popover-open){
2504
+ .tds-sidenav-collapse.\:popover-open{
2505
+ display:flex;
2506
+ }
2521
2507
 
2522
- @keyframes indicator-pulse{
2523
- 0%{
2524
- opacity:.3;
2525
- transform:scale(.9);
2508
+ .tds-sidenav-collapse:not(.\:popover-open){
2509
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2510
+ transition:var(--tds-sidenav-collapse-transition-exit);
2511
+ }
2526
2512
  }
2513
+ }
2527
2514
 
2528
- 100%{
2529
- opacity:0;
2530
- transform:scale(1.75);
2515
+ @media (min-width: 720px){
2516
+ .tds-sidenav-responsive-header{
2517
+ display:none;
2531
2518
  }
2532
2519
  }
2533
2520
 
2521
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
2522
+ display:none;
2523
+ }
2524
+
2525
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
2526
+ display:block;
2527
+ }
2528
+
2529
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2530
+ display:flex;
2531
+ flex-direction:column;
2532
+ }
2533
+
2534
2534
  .tds-input{
2535
2535
  --tds-input-border-color:var(--t-form-border-color);
2536
2536
  --tds-input-border-color-hover:var(--t-form-border-color-hover);