@planningcenter/tapestry 4.1.0-rc.11 → 4.1.0-rc.13

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