@planningcenter/tapestry 4.2.0-rc.8 → 4.2.0

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.
Files changed (36) hide show
  1. package/dist/components/button/ToggleButton.d.ts +52 -0
  2. package/dist/components/button/ToggleButton.d.ts.map +1 -0
  3. package/dist/components/button/ToggleButton.js +56 -0
  4. package/dist/components/button/ToggleButton.js.map +1 -0
  5. package/dist/components/button/ToggleIconButton.d.ts +17 -0
  6. package/dist/components/button/ToggleIconButton.d.ts.map +1 -0
  7. package/dist/components/button/ToggleIconButton.js +32 -0
  8. package/dist/components/button/ToggleIconButton.js.map +1 -0
  9. package/dist/components/combo-box/ComboBox.d.ts.map +1 -1
  10. package/dist/components/combo-box/ComboBox.js +2 -2
  11. package/dist/components/combo-box/ComboBox.js.map +1 -1
  12. package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
  13. package/dist/components/date-picker/DatePicker.js +3 -3
  14. package/dist/components/date-picker/DatePicker.js.map +1 -1
  15. package/dist/components/internal/tooltip/Tooltip.d.ts.map +1 -1
  16. package/dist/components/internal/tooltip/Tooltip.js +1 -1
  17. package/dist/components/internal/tooltip/Tooltip.js.map +1 -1
  18. package/dist/components/number-stepper/NumberStepper.d.ts.map +1 -1
  19. package/dist/components/number-stepper/NumberStepper.js +2 -2
  20. package/dist/components/number-stepper/NumberStepper.js.map +1 -1
  21. package/dist/components/time-field/TimeField.d.ts.map +1 -1
  22. package/dist/components/time-field/TimeField.js +2 -2
  23. package/dist/components/time-field/TimeField.js.map +1 -1
  24. package/dist/index.css +13 -2
  25. package/dist/index.css.map +1 -1
  26. package/dist/reactRender.css +1016 -1005
  27. package/dist/reactRender.css.map +1 -1
  28. package/dist/reactRenderLegacy.css +1016 -1005
  29. package/dist/reactRenderLegacy.css.map +1 -1
  30. package/dist/unstable.css +848 -837
  31. package/dist/unstable.css.map +1 -1
  32. package/dist/unstable.d.ts +3 -0
  33. package/dist/unstable.d.ts.map +1 -1
  34. package/dist/unstable.js +2 -0
  35. package/dist/unstable.js.map +1 -1
  36. package/package.json +2 -2
@@ -677,319 +677,370 @@
677
677
  [data-padding-inline-xl="7"]{ padding-inline:var(--t-spacing-7); }
678
678
  }
679
679
 
680
- .tds-checkbox-group{
681
- --tds-checkbox-group-font-size:var(--t-font-size-md);
682
- --tds-checkbox-group-line-height:1.4;
683
- --tds-checkbox-group-gap:var(--t-spacing-1);
684
680
 
685
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
686
- --tds-checkbox-group-description-line-height:1.35;
687
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
688
- --tds-checkbox-group-description-invalid-icon-display:none;
689
- display:flex;
690
- flex-direction:column;
691
- gap:0;
692
- padding:0;
693
- margin:0;
681
+ @media (prefers-reduced-motion: no-preference){
694
682
 
695
- font-size:var(--tds-checkbox-group-font-size);
696
- line-height:var(--tds-checkbox-group-line-height);
697
- border:0;
683
+ :root{
684
+ interpolate-size:allow-keywords;
698
685
  }
699
-
700
- .tds-checkbox-group legend{
701
- float:left;
702
- padding:0;
703
- margin:0;
704
686
  }
705
687
 
706
- .tds-checkbox-group[aria-invalid="true"]{
707
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
708
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
709
- }
688
+ @layer tds-component{
689
+ tds-sidenav,
690
+ .tds-sidenav{
691
+ --tds-sidenav-indent:12px;
692
+ --tds-sidenav-item-depth:0;
710
693
 
711
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
712
- margin-left:.25ch;
713
- color:var(--t-text-color-status-error);
714
- content:"*";
715
- }
694
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
716
695
 
717
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
718
- content:none;
719
- }
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);
720
702
 
721
- .tds-checkbox-group-fields{
722
- display:flex;
723
- flex-direction:column;
724
- gap:var(--tds-checkbox-group-gap);
725
- align-items:flex-start;
726
- margin-top:var(--t-spacing-1);
727
- }
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);
728
707
 
729
- .tds-checkbox-group-description{
730
- display:flex;
731
- gap:var(--t-spacing-half);
732
- align-items:flex-start;
733
- margin:var(--t-spacing-fourth) 0 0;
734
- font-size:var(--tds-checkbox-group-description-font-size);
735
- line-height:var(--tds-checkbox-group-description-line-height);
736
- color:var(--tds-checkbox-group-description-color);
737
- cursor:text;
738
- }
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;
739
711
 
740
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
741
- display:var(--tds-checkbox-group-description-invalid-icon-display);
742
- flex-shrink:0;
743
- margin-top:calc(.5lh - .5em);
744
- line-height:var(--tds-checkbox-group-description-line-height);
745
- }
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);
746
715
 
747
- .tds-checkbox-group--sm{
748
- --tds-checkbox-group-line-height:1.35;
749
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
750
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
751
- --tds-checkbox-group-description-line-height:1.3;
752
- }
716
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
717
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
718
+ }
753
719
 
754
- .tds-checkbox{
755
- --tds-checkbox-font-size:var(--t-font-size-md);
756
- --tds-checkbox-cursor:pointer;
757
- --tds-checkbox-line-height:1.4;
758
- --tds-checkbox-transition-property:background-color, border-color;
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
+ }
759
729
 
760
- --tds-checkbox-input-size:var(--t-element-size-md);
761
- --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
762
- --tds-checkbox-input-border-color:var(--t-form-border-color);
763
- --tds-checkbox-input-background-color:var(--t-form-background-color);
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
+ }
764
738
 
765
- --tds-checkbox-input-icon:none;
766
- --tds-checkbox-input-icon-visibility:hidden;
767
- --tds-checkbox-input-icon-opacity:0;
768
- --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
739
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
740
+ display:flex;
741
+ }
769
742
 
770
- --tds-checkbox-label-color:var(--t-form-color);
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
+ }
771
748
 
772
- --tds-checkbox-description-font-size:var(--t-font-size-sm);
773
- --tds-checkbox-description-line-height:1.35;
774
- --tds-checkbox-description-color:var(--t-text-color-secondary);
775
- --tds-checkbox-description-invalid-icon-display:none;
749
+ .tds-sidenav-section-list{
750
+ width:100%;
751
+ padding:0;
752
+ margin:0;
753
+ list-style:none;
754
+ }
776
755
 
777
- position:relative;
778
- display:inline-grid;
779
- grid-template-columns:auto;
780
- grid-auto-columns:1fr;
781
- gap:var(--t-spacing-fourth) 0;
782
- line-height:var(--tds-checkbox-line-height);
783
- -webkit-user-select:none;
784
- -moz-user-select:none;
785
- user-select:none;
756
+ .tds-sidenav-section-header{
757
+ display:flex;
758
+ align-items:baseline;
759
+ justify-content:space-between;
760
+ padding-top:var(--t-spacing-2);
786
761
  }
787
762
 
788
- .tds-checkbox label{
789
- grid-area:1 / 2;
790
- padding-inline-start:var(--t-spacing-1);
791
- font-size:var(--tds-checkbox-font-size);
792
- font-weight:var(--t-font-weight-normal);
793
- color:var(--tds-checkbox-label-color);
794
- cursor:var(--tds-checkbox-cursor);
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;
795
770
  }
796
771
 
797
- .tds-checkbox tds-indeterminate{
772
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
773
+ padding-top:0;
774
+ }
775
+
776
+ .tds-sidenav-section-header [slot="label-actions"]{
798
777
  display:flex;
778
+ gap:var(--t-spacing-half);
779
+ align-items:center;
799
780
  }
800
781
 
801
- .tds-checkbox input[type="checkbox"]{
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){
802
798
  position:relative;
803
- width:1em;
804
- height:1em;
805
- margin:calc((1lh - 1em) / 2) 0 0;
806
- font-size:var(--tds-checkbox-font-size);
807
- line-height:inherit;
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;
808
810
  -webkit-appearance:none;
809
811
  -moz-appearance:none;
810
812
  appearance:none;
811
- cursor:var(--tds-checkbox-cursor);
812
- background-color:var(--tds-checkbox-input-background-color);
813
- border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
814
- border-radius:var(--tds-checkbox-input-border-radius);
815
- transition-timing-function:var(--t-ease-in-out);
816
- transition-duration:var(--t-duration-200);
817
- transition-property:var(--tds-checkbox-transition-property);
813
+ cursor:pointer;
814
+ background-color:var(--tds-sidenav-item-background, transparent);
815
+ border:0;
816
+ border-radius:var(--t-border-radius);
817
+ transition:var(--tds-sidenav-item-transition);
818
818
  }
819
819
 
820
- :is(.tds-checkbox input[type="checkbox"])::before{
821
- position:absolute;
822
- top:50%;
823
- left:50%;
824
- visibility:var(--tds-checkbox-input-icon-visibility);
825
- width:100%;
826
- height:100%;
827
- content:"";
828
- background-color:var(--tds-checkbox-input-icon-fill);
829
- border-radius:var(--tds-checkbox-input-border-radius);
830
- opacity:var(--tds-checkbox-input-icon-opacity);
831
- -webkit-mask-image:var(--tds-checkbox-input-icon);
832
- mask-image:var(--tds-checkbox-input-icon);
833
- -webkit-mask-repeat:no-repeat;
834
- mask-repeat:no-repeat;
835
- -webkit-mask-size:contain;
836
- mask-size:contain;
837
- transform:translate(-50%, -50%);
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;
838
827
  }
839
828
 
840
- :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
841
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
842
- --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
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;
843
833
  }
844
834
 
845
- :is(.tds-checkbox input[type="checkbox"]):focus-visible{
846
- outline:var(--t-focus-ring-outline);
847
- outline-offset:var(--t-focus-ring-offset);
848
- }
835
+ :is(.tds-sidenav-item :is(a,button)):active{
836
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
837
+ }
849
838
 
850
- :is(.tds-checkbox input[type="checkbox"]):disabled{
851
- pointer-events:none;
839
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
840
+ overflow:hidden;
841
+ color:var(--tds-sidenav-item-icon-color);
852
842
  }
853
843
 
854
- @media (prefers-reduced-motion: reduce){
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
+ }
855
849
 
856
- .tds-checkbox input[type="checkbox"]{
857
- --tds-checkbox-transition-property:none;
858
- }
850
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
851
+ --tds-sidenav-indent:19px;
859
852
  }
860
853
 
861
- .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
862
- --tds-checkbox-input-background-color:var(--t-fill-color-control);
863
- --tds-checkbox-input-border-color:var(--t-border-color-control-info);
864
- --tds-checkbox-input-icon-visibility:visible;
865
- --tds-checkbox-input-icon-opacity:1;
866
- }
867
-
868
- :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
869
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
870
- --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
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;
871
858
  }
872
859
 
873
- .tds-checkbox:has(input:checked){
874
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
860
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
861
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
862
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
863
+
864
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
865
+ font-weight:var(--t-font-weight-semibold);
875
866
  }
876
867
 
877
- .tds-checkbox:has(input:indeterminate){
878
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
868
+ .tds-sidenav-item:has(.tds-sidenav-section){
869
+ display:flex;
870
+ flex-direction:column;
871
+ gap:var(--t-spacing-half);
879
872
  }
880
873
 
881
- .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
882
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
883
- --tds-checkbox-description-color:var(--t-text-color-status-error);
884
- --tds-checkbox-description-invalid-icon-display:inline-block;
874
+ .tds-sidenav-item .tds-sidenav-section-list{
875
+ --tds-sidenav-item-depth:1;
876
+ gap:0;
885
877
  }
886
878
 
887
- :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
888
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
889
- --tds-checkbox-input-background-color:var(--t-form-background-color-error);
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);
890
885
  }
891
886
 
892
- :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{
893
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
894
- --tds-checkbox-input-background-color:var(--t-form-border-color-error);
887
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
888
+ --tds-sidenav-item-depth:2;
895
889
  }
896
890
 
897
- :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){
898
- --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
899
- --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
891
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
892
+ min-height:var(--t-element-size-2xl);
893
+ padding-block:9px;
894
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
895
+ line-height:1;
896
+ background-color:transparent;
897
+ }
898
+
899
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
900
+ position:absolute;
901
+ top:0;
902
+ bottom:0;
903
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
904
+ width:2px;
905
+ content:"";
906
+ background-color:var(--tds-sidenav-item-nested-border-color);
907
+ transition:var(--tds-sidenav-item-transition);
900
908
  }
901
909
 
902
- .tds-checkbox:has(input:required) label::after{
903
- margin-left:.25ch;
904
- color:var(--t-text-color-status-error);
905
- content:"*";
906
- }
910
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
911
+ position:absolute;
912
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
913
+ z-index:-1;
914
+ height:100%;
915
+ content:"";
916
+ background-color:var(--tds-sidenav-item-nested-background);
917
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
918
+ transition:var(--tds-sidenav-item-transition);
919
+ }
907
920
 
908
- .tds-checkbox:has(input:disabled){
909
- --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
910
- --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
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
+ }
911
926
 
912
- --tds-checkbox-label-color:var(--t-form-color-disabled);
913
- --tds-checkbox-description-color:var(--t-form-color-disabled);
914
- --tds-checkbox-cursor:not-allowed;
915
- }
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
+ }
916
931
 
917
- .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
918
- --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
932
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
933
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
934
+ }
935
+
936
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
937
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
938
+ font-weight:var(--t-font-weight-medium);
919
939
  }
920
940
 
921
- .tds-checkbox-description{
941
+ .tds-sidenav-responsive-header{
922
942
  display:flex;
923
- grid-area:2 / 2;
924
- gap:var(--t-spacing-half);
925
- align-items:flex-start;
926
- padding-inline-start:var(--t-spacing-1);
927
- margin:0;
928
- font-size:var(--tds-checkbox-description-font-size);
929
- line-height:var(--tds-checkbox-description-line-height);
930
- color:var(--tds-checkbox-description-color);
931
- cursor:text;
943
+ gap:var(--t-spacing-2);
944
+ align-items:center;
945
+ width:100%;
932
946
  }
933
947
 
934
- .tds-checkbox-description .tds-checkbox-description-invalid-icon{
935
- display:var(--tds-checkbox-description-invalid-icon-display);
936
- flex-shrink:0;
937
- margin-top:calc(.5lh - .5em);
938
- line-height:var(--tds-checkbox-description-line-height);
948
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
949
+ order:0;
939
950
  }
940
951
 
941
- .tds-checkbox--sm{
942
- --tds-checkbox-line-height:1.35;
943
- --tds-checkbox-input-size:var(--t-element-size-sm);
944
- --tds-checkbox-font-size:var(--t-font-size-sm);
945
- --tds-checkbox-description-font-size:var(--t-font-size-xs);
946
- --tds-checkbox-description-line-height:1.3;
947
- }
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
+ }
948
960
 
949
- .tds-button-group{
950
- display:inline-flex;
951
- }
952
- .tds-button-group > .tds-btn{
953
- --tds-button-group-item-z-index:1;
961
+ @media (max-width: 719px){
962
+ .tds-sidenav-collapse{
963
+ z-index:10001;
964
+ display:none;
965
+ max-width:min(448px, calc(100vw - 48px));
966
+ padding:0;
967
+ margin:12px 0;
968
+ position-area:bottom span-right;
969
+ overflow:hidden;
970
+ outline:0;
971
+ background:var(--t-surface-color-card);
972
+ border:0;
973
+ border-radius:6px;
974
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
975
+ opacity:var(--tds-sidenav-collapse-open-opacity);
976
+ transform:var(--tds-sidenav-collapse-open-transform);
977
+ transition:var(--tds-sidenav-collapse-transition-enter);
978
+ will-change:transform;
979
+ }
954
980
 
955
- position:relative;
956
- z-index:var(--tds-button-group-item-z-index);
957
- border-radius:0;
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;
958
989
  }
959
- :is(.tds-button-group > .tds-btn):not(:first-child){
960
- margin-inline-start:calc(var(--tds-btn-border-width) * -1);
990
+
991
+ .tds-sidenav-item :is(a, button) :is(.prefix){
992
+ display:none;
993
+ }
994
+ @supports selector(:popover-open){
995
+ .tds-sidenav-collapse:popover-open{
996
+ display:flex;
961
997
  }
962
- :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{
963
- position:absolute;
964
- inset-block:calc(var(--tds-btn-border-width) * -1);
965
- width:var(--tds-btn-border-width);
966
- pointer-events:none;
967
- content:"";
968
- background-color:var(--t-border-color-white);
969
- }
970
- :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before{
971
- inset-inline-start:calc(var(--tds-btn-border-width) * -1);
972
- }
973
- :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
974
- inset-inline-end:calc(var(--tds-btn-border-width) * -1);
975
- }
976
- :is(.tds-button-group > .tds-btn):hover{
977
- --tds-button-group-item-z-index:2;
998
+
999
+ .tds-sidenav-collapse:not(:popover-open){
1000
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1001
+ transition:var(--tds-sidenav-collapse-transition-exit);
978
1002
  }
979
- :is(.tds-button-group > .tds-btn):focus-visible{
980
- --tds-button-group-item-z-index:5;
1003
+
1004
+ @starting-style{
1005
+ .tds-sidenav-collapse:popover-open{
1006
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1007
+ transform:var(--tds-sidenav-collapse-closed-transform);
1008
+ }
981
1009
  }
982
- .tds-button-group > .tds-btn:first-child{
983
- border-start-start-radius:var(--tds-btn-border-radius);
984
- border-end-start-radius:var(--tds-btn-border-radius);
985
1010
  }
986
- .tds-button-group > .tds-btn:last-child{
987
- border-start-end-radius:var(--tds-btn-border-radius);
988
- border-end-end-radius:var(--tds-btn-border-radius);
1011
+ @supports not selector(:popover-open){
1012
+ .tds-sidenav-collapse.\:popover-open{
1013
+ display:flex;
1014
+ }
1015
+
1016
+ .tds-sidenav-collapse:not(.\:popover-open){
1017
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1018
+ transition:var(--tds-sidenav-collapse-transition-exit);
1019
+ }
989
1020
  }
1021
+ }
990
1022
 
991
- @layer t-critical{
992
- tds-page-header:not(.hydrated){
1023
+ @media (min-width: 720px){
1024
+ .tds-sidenav-responsive-header{
1025
+ display:none;
1026
+ }
1027
+ }
1028
+
1029
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
1030
+ display:none;
1031
+ }
1032
+
1033
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1034
+ display:block;
1035
+ }
1036
+
1037
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1038
+ display:flex;
1039
+ flex-direction:column;
1040
+ }
1041
+
1042
+ @layer t-critical{
1043
+ tds-page-header:not(.hydrated){
993
1044
  display:none;
994
1045
  }
995
1046
  }
@@ -1265,302 +1316,317 @@
1265
1316
  }
1266
1317
  }
1267
1318
 
1268
- .tds-modal-overlay{
1269
- --tds-modal-min-margin-block:var(--t-spacing-3);
1270
-
1271
- position:fixed;
1272
- inset:0;
1273
- z-index:1000;
1274
- display:grid;
1275
- grid-template-rows:minmax(var(--tds-modal-min-margin-block), 1fr) auto minmax(var(--tds-modal-min-margin-block), 1fr);
1276
- justify-items:center;
1277
- overflow-y:auto;
1278
- background:hsl(0 0% 0% / 40%);
1279
- }
1280
-
1281
- .tds-modal-overlay[data-entering]{
1282
- animation:tds-modal-overlay-fade var(--t-duration-300) var(--t-ease-out);
1283
- }
1284
-
1285
- .tds-modal-overlay[data-exiting]{
1286
- animation:tds-modal-overlay-fade var(--t-duration-200) var(--t-ease-in) reverse;
1287
- }
1288
-
1289
- @keyframes tds-modal-overlay-fade{
1290
- from{
1291
- opacity:0;
1292
- }
1293
- }
1294
-
1295
- .tds-modal-frame{
1296
- --tds-modal-width:600px;
1297
- --tds-modal-edge-margin-inline:var(--t-spacing-3);
1298
- display:flex;
1299
-
1300
- grid-row:2;
1301
- justify-content:center;
1302
- width:min(var(--tds-modal-width), calc(100% - var(--tds-modal-edge-margin-inline) * 2));
1303
- }
1304
-
1305
- .tds-modal-frame[data-entering]{
1306
- animation:tds-modal-zoom var(--t-duration-300) var(--t-ease-out);
1307
- }
1308
-
1309
- .tds-modal-frame[data-exiting]{
1310
- animation:tds-modal-zoom var(--t-duration-200) var(--t-ease-in) reverse;
1311
- }
1312
-
1313
- .tds-modal-frame--sm{
1314
- --tds-modal-width:400px;
1315
- }
1316
-
1317
- .tds-modal-frame--lg{
1318
- --tds-modal-width:800px;
1319
- }
1320
-
1321
- .tds-modal-frame--xl{
1322
- --tds-modal-width:1000px;
1323
- }
1324
-
1325
- @keyframes tds-modal-zoom{
1326
- from{
1327
- opacity:0;
1328
- scale:.96;
1329
- }
1330
- }
1331
-
1332
- @media (prefers-reduced-motion: reduce){
1333
- .tds-modal-overlay[data-entering],
1334
- .tds-modal-overlay[data-exiting],
1335
- .tds-modal-frame[data-entering],
1336
- .tds-modal-frame[data-exiting]{
1337
- animation:none;
1338
- }
1339
- }
1340
-
1341
- .tds-modal{
1342
- display:flex;
1343
- flex-direction:column;
1344
- width:100%;
1345
- padding-block-start:var(--t-spacing-3);
1346
- padding-inline:0;
1347
- background:var(--t-surface-color-card);
1348
-
1349
- border:0;
1350
- border-radius:var(--t-border-radius-lg);
1351
- box-shadow:0 4px 18px 0 #0003;
1352
- }
1353
-
1354
- .tds-modal:focus{
1355
- outline:none;
1356
- }
1357
-
1358
- .tds-modal-header{
1359
- display:grid;
1360
- grid-template-columns:1fr auto;
1361
- -moz-column-gap:var(--t-spacing-2);
1362
- column-gap:var(--t-spacing-2);
1363
- padding-block:0;
1364
- padding-inline:var(--t-spacing-4);
1365
- }
1366
-
1367
- .tds-modal-title{
1368
- grid-row:1;
1369
- grid-column:1;
1370
- margin:0;
1371
- font-size:var(--t-font-size-2xl);
1372
- font-weight:var(--t-font-weight-medium);
1373
- line-height:140%;
1374
- color:var(--t-text-color-headline);
1375
- }
1376
-
1377
- .tds-modal-subtitle{
1378
- grid-row:2;
1379
- grid-column:1;
1380
- margin:0;
1381
- font-size:var(--t-font-size-md);
1382
- font-weight:var(--t-font-weight-medium);
1383
- line-height:140%;
1384
- color:var(--t-text-color-secondary);
1385
- }
1386
-
1387
- .tds-modal-close{
1388
- grid-row:1;
1389
- grid-column:2;
1390
- align-self:center;
1391
- color:var(--t-icon-color-dim);
1392
- }
1393
-
1394
- .tds-modal-body{
1395
- padding-block:var(--t-spacing-3);
1396
- padding-inline:var(--t-spacing-4);
1397
- }
1398
-
1399
- .tds-modal-body--full-width{
1400
- padding-inline:0;
1401
- }
1402
-
1403
- .tds-modal-footer{
1404
- display:flex;
1405
- gap:var(--t-spacing-2);
1406
- align-items:center;
1407
- justify-content:flex-end;
1408
- padding-block:var(--t-spacing-3);
1409
- padding-inline:var(--t-spacing-4);
1410
- border-top:1px solid var(--t-border-color);
1411
- }
1412
-
1413
- .tds-modal-footer > [slot="start"]{
1414
- margin-inline-end:auto;
1415
- }
1416
-
1417
- @media (min-width: 720px){
1418
- .tds-modal-overlay{
1419
- --tds-modal-min-margin-block:0;
1420
- }
1421
-
1422
- .tds-modal-footer{
1423
- position:sticky;
1424
- bottom:0;
1425
- background:var(--t-surface-color-card);
1426
- border-end-start-radius:var(--t-border-radius-lg);
1427
- border-end-end-radius:var(--t-border-radius-lg);
1428
- }
1429
- }
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;
1430
1324
 
1431
- .tds-radio{
1432
- --tds-radio-font-size:var(--t-font-size-md);
1433
- --tds-radio-cursor:pointer;
1434
- --tds-radio-line-height:1.4;
1435
- --tds-radio-transition-property:border-width;
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);
1436
1329
 
1437
- --tds-radio-input-size:var(--t-element-size-md);
1438
- --tds-radio-input-border-radius:var(--t-border-radius-round);
1439
- --tds-radio-input-border-color:var(--t-form-border-color);
1440
- --tds-radio-input-border-width:var(--t-form-border-width);
1441
- --tds-radio-input-background-color:var(--t-form-background-color);
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);
1442
1334
 
1443
- --tds-radio-label-color:var(--t-form-color);
1335
+ --tds-checkbox-label-color:var(--t-form-color);
1444
1336
 
1445
- --tds-radio-description-font-size:var(--t-font-size-sm);
1446
- --tds-radio-description-line-height:1.35;
1447
- --tds-radio-description-color:var(--t-text-color-secondary);
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;
1448
1341
 
1449
1342
  position:relative;
1450
1343
  display:inline-grid;
1451
1344
  grid-template-columns:auto;
1452
1345
  grid-auto-columns:1fr;
1453
1346
  gap:var(--t-spacing-fourth) 0;
1454
- line-height:var(--tds-radio-line-height);
1347
+ line-height:var(--tds-checkbox-line-height);
1455
1348
  -webkit-user-select:none;
1456
1349
  -moz-user-select:none;
1457
1350
  user-select:none;
1458
1351
  }
1459
1352
 
1460
- .tds-radio label{
1353
+ .tds-checkbox label{
1461
1354
  grid-area:1 / 2;
1462
1355
  padding-inline-start:var(--t-spacing-1);
1463
- font-size:var(--tds-radio-font-size);
1356
+ font-size:var(--tds-checkbox-font-size);
1464
1357
  font-weight:var(--t-font-weight-normal);
1465
- color:var(--tds-radio-label-color);
1466
- cursor:var(--tds-radio-cursor);
1358
+ color:var(--tds-checkbox-label-color);
1359
+ cursor:var(--tds-checkbox-cursor);
1467
1360
  }
1468
1361
 
1469
- .tds-radio input[type="radio"]{
1362
+ .tds-checkbox tds-indeterminate{
1363
+ display:flex;
1364
+ }
1365
+
1366
+ .tds-checkbox input[type="checkbox"]{
1470
1367
  position:relative;
1471
1368
  width:1em;
1472
1369
  height:1em;
1473
1370
  margin:calc((1lh - 1em) / 2) 0 0;
1474
- font-size:var(--tds-radio-font-size);
1371
+ font-size:var(--tds-checkbox-font-size);
1475
1372
  line-height:inherit;
1476
1373
  -webkit-appearance:none;
1477
1374
  -moz-appearance:none;
1478
1375
  appearance:none;
1479
- cursor:var(--tds-radio-cursor);
1480
- background-color:var(--tds-radio-input-background-color);
1481
- border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1482
- border-radius:var(--tds-radio-input-border-radius);
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);
1483
1380
  transition-timing-function:var(--t-ease-in-out);
1484
1381
  transition-duration:var(--t-duration-200);
1485
- transition-property:var(--tds-radio-transition-property);
1382
+ transition-property:var(--tds-checkbox-transition-property);
1486
1383
  }
1487
1384
 
1488
- :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1489
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1490
- --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1491
- }
1492
-
1493
- :is(.tds-radio input[type="radio"]):focus-visible{
1494
- outline:var(--t-focus-ring-outline);
1495
- outline-offset:var(--t-focus-ring-offset);
1496
- }
1497
-
1498
- :is(.tds-radio input[type="radio"]):disabled{
1499
- pointer-events:none;
1500
- }
1501
-
1502
- @media (prefers-reduced-motion: reduce){
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
+ }
1503
1404
 
1504
- .tds-radio input[type="radio"]{
1505
- --tds-radio-transition-property:none;
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;
1417
+ }
1418
+
1419
+ @media (prefers-reduced-motion: reduce){
1420
+
1421
+ .tds-checkbox input[type="checkbox"]{
1422
+ --tds-checkbox-transition-property:none;
1506
1423
  }
1507
1424
  }
1508
1425
 
1509
- .tds-radio:has(input:checked){
1510
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1511
- --tds-radio-input-border-color:var(--t-border-color-control-info);
1512
- --tds-radio-input-border-width:4px;
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;
1513
1431
  }
1514
1432
 
1515
- .tds-radio:has(input:checked) input:hover:not(:disabled){
1516
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1517
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
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);
1518
1436
  }
1519
1437
 
1520
- .tds-radio:has(input:user-invalid){
1521
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1438
+ .tds-checkbox:has(input:checked){
1439
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1522
1440
  }
1523
1441
 
1524
- .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1525
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1526
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1442
+ .tds-checkbox:has(input:indeterminate){
1443
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1444
+ }
1445
+
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;
1450
+ }
1451
+
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);
1527
1455
  }
1528
1456
 
1529
- .tds-radio:has(input:disabled){
1530
- --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1531
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
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
+ }
1532
1461
 
1533
- --tds-radio-label-color:var(--t-form-color-disabled);
1534
- --tds-radio-description-color:var(--t-form-color-disabled);
1535
- --tds-radio-cursor:not-allowed;
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);
1465
+ }
1466
+
1467
+ .tds-checkbox:has(input:required) label::after{
1468
+ margin-left:.25ch;
1469
+ color:var(--t-text-color-status-error);
1470
+ content:"*";
1471
+ }
1472
+
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;
1536
1480
  }
1537
1481
 
1538
- .tds-radio:has(input:disabled) input:checked{
1539
- --tds-radio-input-background-color:var(--t-form-background-color);
1540
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
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);
1541
1484
  }
1542
1485
 
1543
- .tds-radio-description{
1486
+ .tds-checkbox-description{
1544
1487
  display:flex;
1545
1488
  grid-area:2 / 2;
1546
1489
  gap:var(--t-spacing-half);
1547
1490
  align-items:flex-start;
1548
1491
  padding-inline-start:var(--t-spacing-1);
1549
1492
  margin:0;
1550
- font-size:var(--tds-radio-description-font-size);
1551
- line-height:var(--tds-radio-description-line-height);
1552
- color:var(--tds-radio-description-color);
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);
1553
1496
  cursor:text;
1554
1497
  }
1555
1498
 
1556
- .tds-radio--sm{
1557
- --tds-radio-line-height:1.35;
1558
- --tds-radio-input-size:var(--t-element-size-sm);
1559
- --tds-radio-font-size:var(--t-font-size-sm);
1560
- --tds-radio-description-font-size:var(--t-font-size-xs);
1561
- --tds-radio-description-line-height:1.3;
1499
+ .tds-checkbox-description .tds-checkbox-description-invalid-icon{
1500
+ display:var(--tds-checkbox-description-invalid-icon-display);
1501
+ flex-shrink:0;
1502
+ margin-top:calc(.5lh - .5em);
1503
+ line-height:var(--tds-checkbox-description-line-height);
1504
+ }
1505
+
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;
1512
+ }
1513
+
1514
+ .tds-checkbox-group{
1515
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
1516
+ --tds-checkbox-group-line-height:1.4;
1517
+ --tds-checkbox-group-gap:var(--t-spacing-1);
1518
+
1519
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1520
+ --tds-checkbox-group-description-line-height:1.35;
1521
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1522
+ --tds-checkbox-group-description-invalid-icon-display:none;
1523
+ display:flex;
1524
+ flex-direction:column;
1525
+ gap:0;
1526
+ padding:0;
1527
+ margin:0;
1528
+
1529
+ font-size:var(--tds-checkbox-group-font-size);
1530
+ line-height:var(--tds-checkbox-group-line-height);
1531
+ border:0;
1532
+ }
1533
+
1534
+ .tds-checkbox-group legend{
1535
+ float:left;
1536
+ padding:0;
1537
+ margin:0;
1538
+ }
1539
+
1540
+ .tds-checkbox-group[aria-invalid="true"]{
1541
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1542
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
1543
+ }
1544
+
1545
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1546
+ margin-left:.25ch;
1547
+ color:var(--t-text-color-status-error);
1548
+ content:"*";
1549
+ }
1550
+
1551
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1552
+ content:none;
1553
+ }
1554
+
1555
+ .tds-checkbox-group-fields{
1556
+ display:flex;
1557
+ flex-direction:column;
1558
+ gap:var(--tds-checkbox-group-gap);
1559
+ align-items:flex-start;
1560
+ margin-top:var(--t-spacing-1);
1561
+ }
1562
+
1563
+ .tds-checkbox-group-description{
1564
+ display:flex;
1565
+ gap:var(--t-spacing-half);
1566
+ align-items:flex-start;
1567
+ margin:var(--t-spacing-fourth) 0 0;
1568
+ font-size:var(--tds-checkbox-group-description-font-size);
1569
+ line-height:var(--tds-checkbox-group-description-line-height);
1570
+ color:var(--tds-checkbox-group-description-color);
1571
+ cursor:text;
1572
+ }
1573
+
1574
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1575
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
1576
+ flex-shrink:0;
1577
+ margin-top:calc(.5lh - .5em);
1578
+ line-height:var(--tds-checkbox-group-description-line-height);
1579
+ }
1580
+
1581
+ .tds-checkbox-group--sm{
1582
+ --tds-checkbox-group-line-height:1.35;
1583
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
1584
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1585
+ --tds-checkbox-group-description-line-height:1.3;
1562
1586
  }
1563
1587
 
1588
+ .tds-button-group{
1589
+ display:inline-flex;
1590
+ }
1591
+ .tds-button-group > .tds-btn{
1592
+ --tds-button-group-item-z-index:1;
1593
+
1594
+ position:relative;
1595
+ z-index:var(--tds-button-group-item-z-index);
1596
+ border-radius:0;
1597
+ }
1598
+ :is(.tds-button-group > .tds-btn):not(:first-child){
1599
+ margin-inline-start:calc(var(--tds-btn-border-width) * -1);
1600
+ }
1601
+ :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{
1602
+ position:absolute;
1603
+ inset-block:calc(var(--tds-btn-border-width) * -1);
1604
+ width:var(--tds-btn-border-width);
1605
+ pointer-events:none;
1606
+ content:"";
1607
+ background-color:var(--t-border-color-white);
1608
+ }
1609
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before{
1610
+ inset-inline-start:calc(var(--tds-btn-border-width) * -1);
1611
+ }
1612
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
1613
+ inset-inline-end:calc(var(--tds-btn-border-width) * -1);
1614
+ }
1615
+ :is(.tds-button-group > .tds-btn):hover{
1616
+ --tds-button-group-item-z-index:2;
1617
+ }
1618
+ :is(.tds-button-group > .tds-btn):focus-visible{
1619
+ --tds-button-group-item-z-index:5;
1620
+ }
1621
+ .tds-button-group > .tds-btn:first-child{
1622
+ border-start-start-radius:var(--tds-btn-border-radius);
1623
+ border-end-start-radius:var(--tds-btn-border-radius);
1624
+ }
1625
+ .tds-button-group > .tds-btn:last-child{
1626
+ border-start-end-radius:var(--tds-btn-border-radius);
1627
+ border-end-end-radius:var(--tds-btn-border-radius);
1628
+ }
1629
+
1564
1630
 
1565
1631
  :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{
1566
1632
  -webkit-appearance:none;
@@ -1584,612 +1650,301 @@
1584
1650
  }
1585
1651
  }
1586
1652
 
1587
- .tds-input:has(textarea){
1588
- --tds-input-padding-block:6px;
1589
- --tds-input-resizer-size:var(--t-element-size-sm);
1590
- --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");
1591
- }
1592
-
1593
- @supports (x: attr(x type(*))){
1653
+ .tds-radio{
1654
+ --tds-radio-font-size:var(--t-font-size-md);
1655
+ --tds-radio-cursor:pointer;
1656
+ --tds-radio-line-height:1.4;
1657
+ --tds-radio-transition-property:border-width;
1594
1658
 
1595
- .tds-input textarea{
1596
- --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1597
- }
1598
- }
1659
+ --tds-radio-input-size:var(--t-element-size-md);
1660
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
1661
+ --tds-radio-input-border-color:var(--t-form-border-color);
1662
+ --tds-radio-input-border-width:var(--t-form-border-width);
1663
+ --tds-radio-input-background-color:var(--t-form-background-color);
1599
1664
 
1600
- .tds-input.tds-textarea--resize-vertical textarea{
1601
- resize:vertical;
1602
- }
1665
+ --tds-radio-label-color:var(--t-form-color);
1603
1666
 
1604
- .tds-input.tds-textarea--resize-none textarea{
1605
- resize:none;
1606
- }
1667
+ --tds-radio-description-font-size:var(--t-font-size-sm);
1668
+ --tds-radio-description-line-height:1.35;
1669
+ --tds-radio-description-color:var(--t-text-color-secondary);
1607
1670
 
1608
- .tds-input.tds-textarea--resize-auto textarea{
1609
- resize:vertical;
1610
- }
1671
+ position:relative;
1672
+ display:inline-grid;
1673
+ grid-template-columns:auto;
1674
+ grid-auto-columns:1fr;
1675
+ gap:var(--t-spacing-fourth) 0;
1676
+ line-height:var(--tds-radio-line-height);
1677
+ -webkit-user-select:none;
1678
+ -moz-user-select:none;
1679
+ user-select:none;
1680
+ }
1611
1681
 
1612
- @supports (field-sizing: content){
1613
- .tds-input.tds-textarea--resize-auto textarea{
1614
- field-sizing:content;
1615
- resize:none;
1616
- }
1617
- }
1682
+ .tds-radio label{
1683
+ grid-area:1 / 2;
1684
+ padding-inline-start:var(--t-spacing-1);
1685
+ font-size:var(--tds-radio-font-size);
1686
+ font-weight:var(--t-font-weight-normal);
1687
+ color:var(--tds-radio-label-color);
1688
+ cursor:var(--tds-radio-cursor);
1689
+ }
1618
1690
 
1619
- .tds-input textarea{
1620
- --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1621
- --tds-input-scrollbar-thumb-color-hidden:transparent;
1622
- --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1623
- --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1624
- --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1625
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1626
- --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1627
- --tds-input-scrollbar-thumb-border-radius:999px;
1628
- --tds-input-scrollbar-thumb-border-width:3px;
1629
- --tds-input-scrollbar-track-margin-block:.125rem;
1630
- scrollbar-color:initial;
1631
- transition-timing-function:var(--t-ease-in-out);
1632
- transition-duration:var(--t-duration-200);
1633
- transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1634
- }
1691
+ .tds-radio input[type="radio"]{
1692
+ position:relative;
1693
+ width:1em;
1694
+ height:1em;
1695
+ margin:calc((1lh - 1em) / 2) 0 0;
1696
+ font-size:var(--tds-radio-font-size);
1697
+ line-height:inherit;
1698
+ -webkit-appearance:none;
1699
+ -moz-appearance:none;
1700
+ appearance:none;
1701
+ cursor:var(--tds-radio-cursor);
1702
+ background-color:var(--tds-radio-input-background-color);
1703
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1704
+ border-radius:var(--tds-radio-input-border-radius);
1705
+ transition-timing-function:var(--t-ease-in-out);
1706
+ transition-duration:var(--t-duration-200);
1707
+ transition-property:var(--tds-radio-transition-property);
1708
+ }
1635
1709
 
1636
- @media (pointer: fine){
1637
- :is(.tds-input textarea)::-webkit-scrollbar{
1638
- width:12px;
1639
- height:12px;
1640
- cursor:default;
1710
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1711
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1712
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1641
1713
  }
1642
1714
 
1643
- :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1644
- cursor:default;
1645
- background:var(--tds-input-scrollbar-thumb-color);
1646
- background-clip:content-box;
1647
- border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1648
- border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1715
+ :is(.tds-radio input[type="radio"]):focus-visible{
1716
+ outline:var(--t-focus-ring-outline);
1717
+ outline-offset:var(--t-focus-ring-offset);
1649
1718
  }
1650
1719
 
1651
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1652
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
1720
+ :is(.tds-radio input[type="radio"]):disabled{
1721
+ pointer-events:none;
1653
1722
  }
1654
1723
 
1655
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1656
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1657
- }
1724
+ @media (prefers-reduced-motion: reduce){
1658
1725
 
1659
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1660
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1726
+ .tds-radio input[type="radio"]{
1727
+ --tds-radio-transition-property:none;
1728
+ }
1661
1729
  }
1662
1730
 
1663
- :is(.tds-input textarea)::-webkit-scrollbar-corner{
1664
- background:var(--tds-input-scrollbar-surface-color);
1665
- }
1731
+ .tds-radio:has(input:checked){
1732
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
1733
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
1734
+ --tds-radio-input-border-width:4px;
1735
+ }
1666
1736
 
1667
- :is(.tds-input textarea)::-webkit-resizer{
1668
- background:var(--tds-input-resizer-icon) no-repeat;
1669
- background-position:right bottom;
1670
- background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
1737
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
1738
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
1739
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1671
1740
  }
1672
1741
 
1673
- :is(.tds-input textarea)::-webkit-scrollbar-track{
1674
- margin-block:var(--tds-input-scrollbar-track-margin-block);
1675
- cursor:default;
1742
+ .tds-radio:has(input:user-invalid){
1743
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1744
+ }
1745
+
1746
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1747
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1748
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1676
1749
  }
1677
1750
 
1678
- @supports (-moz-appearance: none){
1679
- :is(.tds-input textarea){
1680
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1681
- scrollbar-width:thin;
1682
- }
1751
+ .tds-radio:has(input:disabled){
1752
+ --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1753
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1683
1754
 
1684
- @media (hover){
1685
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1686
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1687
- }
1688
- }
1689
- }
1755
+ --tds-radio-label-color:var(--t-form-color-disabled);
1756
+ --tds-radio-description-color:var(--t-form-color-disabled);
1757
+ --tds-radio-cursor:not-allowed;
1690
1758
  }
1691
1759
 
1692
- .tds-toggle-switch{
1693
- --tds-toggle-switch-font-size:var(--t-font-size-md);
1694
- --tds-toggle-switch-cursor:pointer;
1695
- --tds-toggle-switch-display:inline-grid;
1696
- --tds-toggle-switch-line-height:1.4;
1697
-
1698
- --tds-toggle-switch-label-color:var(--t-form-color);
1760
+ .tds-radio:has(input:disabled) input:checked{
1761
+ --tds-radio-input-background-color:var(--t-form-background-color);
1762
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1763
+ }
1699
1764
 
1700
- --tds-toggle-switch-track-width:var(--t-container-size-md);
1701
- --tds-toggle-switch-track-outline:none;
1702
- --tds-toggle-switch-track-height:var(--t-container-size-xs);
1703
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1704
- --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1765
+ .tds-radio-description{
1766
+ display:flex;
1767
+ grid-area:2 / 2;
1768
+ gap:var(--t-spacing-half);
1769
+ align-items:flex-start;
1770
+ padding-inline-start:var(--t-spacing-1);
1771
+ margin:0;
1772
+ font-size:var(--tds-radio-description-font-size);
1773
+ line-height:var(--tds-radio-description-line-height);
1774
+ color:var(--tds-radio-description-color);
1775
+ cursor:text;
1776
+ }
1705
1777
 
1706
- --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1707
- --tds-toggle-switch-thumb-transform:translateX(0);
1708
- --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1778
+ .tds-radio--sm{
1779
+ --tds-radio-line-height:1.35;
1780
+ --tds-radio-input-size:var(--t-element-size-sm);
1781
+ --tds-radio-font-size:var(--t-font-size-sm);
1782
+ --tds-radio-description-font-size:var(--t-font-size-xs);
1783
+ --tds-radio-description-line-height:1.3;
1784
+ }
1709
1785
 
1710
- --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1711
- --tds-toggle-switch-description-line-height:1.35;
1712
- --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1713
- position:relative;
1786
+ .tds-modal-overlay{
1787
+ --tds-modal-min-margin-block:var(--t-spacing-3);
1714
1788
 
1715
- display:var(--tds-toggle-switch-display);
1716
- grid-template-columns:auto;
1717
- grid-auto-columns:1fr;
1718
- gap:var(--t-spacing-fourth) 0;
1719
- -webkit-user-select:none;
1720
- -moz-user-select:none;
1721
- user-select:none;
1789
+ position:fixed;
1790
+ inset:0;
1791
+ z-index:1000;
1792
+ display:grid;
1793
+ grid-template-rows:minmax(var(--tds-modal-min-margin-block), 1fr) auto minmax(var(--tds-modal-min-margin-block), 1fr);
1794
+ justify-items:center;
1795
+ overflow-y:auto;
1796
+ background:hsl(0 0% 0% / 40%);
1722
1797
  }
1723
1798
 
1724
- .tds-toggle-switch input[type="checkbox"]{
1725
- position:absolute;
1726
- width:var(--tds-toggle-switch-track-width);
1727
- height:var(--tds-toggle-switch-track-height);
1728
- margin:0;
1729
- -webkit-appearance:none;
1730
- -moz-appearance:none;
1731
- appearance:none;
1732
- cursor:var(--tds-toggle-switch-cursor);
1733
- outline:var(--tds-toggle-switch-track-outline);
1734
- outline-offset:var(--t-focus-ring-offset);
1735
- background-color:transparent;
1736
- border:0;
1737
- border-radius:var(--t-border-radius-round);
1799
+ .tds-modal-overlay[data-entering]{
1800
+ animation:tds-modal-overlay-fade var(--t-duration-300) var(--t-ease-out);
1738
1801
  }
1739
1802
 
1740
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1741
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1742
- }
1743
-
1744
- .tds-toggle-switch label{
1745
- display:inline-flex;
1746
- grid-area:1 / 2;
1747
- padding-inline-start:var(--t-spacing-1);
1748
- margin-top:-.09375em;
1749
- font-size:var(--tds-toggle-switch-font-size);
1750
- font-weight:var(--t-font-weight-normal);
1751
- line-height:var(--tds-toggle-switch-line-height);
1752
- color:var(--tds-toggle-switch-label-color);
1753
- cursor:var(--tds-toggle-switch-cursor);
1803
+ .tds-modal-overlay[data-exiting]{
1804
+ animation:tds-modal-overlay-fade var(--t-duration-200) var(--t-ease-in) reverse;
1754
1805
  }
1755
1806
 
1756
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1757
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1807
+ @keyframes tds-modal-overlay-fade{
1808
+ from{
1809
+ opacity:0;
1758
1810
  }
1811
+ }
1759
1812
 
1760
- .tds-toggle-switch:has(input:checked){
1761
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1762
- --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1763
- }
1764
-
1765
- .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1766
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1767
- }
1768
-
1769
- .tds-toggle-switch:has(input:disabled){
1770
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1771
- --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1772
- --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1773
- --tds-toggle-switch-cursor:not-allowed;
1774
- }
1813
+ .tds-modal-frame{
1814
+ --tds-modal-width:600px;
1815
+ --tds-modal-edge-margin-inline:var(--t-spacing-3);
1816
+ display:flex;
1775
1817
 
1776
- .tds-toggle-switch-track{
1777
- position:relative;
1778
- flex-shrink:0;
1779
- width:var(--tds-toggle-switch-track-width);
1780
- height:var(--tds-toggle-switch-track-height);
1781
- background-color:var(--tds-toggle-switch-track-background-color);
1782
- border-radius:var(--t-border-radius-round);
1783
- transition:var(--tds-toggle-switch-track-transition);
1818
+ grid-row:2;
1819
+ justify-content:center;
1820
+ width:min(var(--tds-modal-width), calc(100% - var(--tds-modal-edge-margin-inline) * 2));
1784
1821
  }
1785
1822
 
1786
- .tds-toggle-switch-track::before{
1787
- position:absolute;
1788
- top:var(--t-spacing-fourth);
1789
- left:var(--t-spacing-fourth);
1790
- width:var(--tds-toggle-switch-thumb-size);
1791
- height:var(--tds-toggle-switch-thumb-size);
1792
- content:"";
1793
- background-color:#fff;
1794
- border-radius:var(--t-border-radius-round);
1795
- transform:var(--tds-toggle-switch-thumb-transform);
1796
- transition:var(--tds-toggle-switch-thumb-transition);
1823
+ .tds-modal-frame[data-entering]{
1824
+ animation:tds-modal-zoom var(--t-duration-300) var(--t-ease-out);
1797
1825
  }
1798
1826
 
1799
- @media (prefers-reduced-motion: reduce){
1800
-
1801
- .tds-toggle-switch-track{
1802
- --tds-toggle-switch-track-transition:none;
1803
- --tds-toggle-switch-thumb-transition:none;
1804
- }
1827
+ .tds-modal-frame[data-exiting]{
1828
+ animation:tds-modal-zoom var(--t-duration-200) var(--t-ease-in) reverse;
1805
1829
  }
1806
1830
 
1807
- .tds-toggle-switch-description{
1808
- display:flex;
1809
- grid-area:2 / 2;
1810
- align-items:flex-start;
1811
- padding-inline-start:var(--t-spacing-1);
1812
- margin:0;
1813
- font-size:var(--tds-toggle-switch-description-font-size);
1814
- line-height:var(--tds-toggle-switch-description-line-height);
1815
- color:var(--tds-toggle-switch-description-color);
1816
- cursor:text;
1817
- }
1818
-
1819
- .tds-toggle-switch--sm{
1820
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
1821
- --tds-toggle-switch-line-height:1.35;
1822
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
1823
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1824
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1825
- --tds-toggle-switch-description-line-height:1.3;
1831
+ .tds-modal-frame--sm{
1832
+ --tds-modal-width:400px;
1826
1833
  }
1827
1834
 
1828
- .tds-toggle-switch--hide-label{
1829
- --tds-toggle-switch-display:inline-flex;
1835
+ .tds-modal-frame--lg{
1836
+ --tds-modal-width:800px;
1830
1837
  }
1831
1838
 
1832
-
1833
- @media (prefers-reduced-motion: no-preference){
1834
-
1835
- :root{
1836
- interpolate-size:allow-keywords;
1839
+ .tds-modal-frame--xl{
1840
+ --tds-modal-width:1000px;
1837
1841
  }
1838
- }
1839
-
1840
- @layer tds-component{
1841
- tds-sidenav,
1842
- .tds-sidenav{
1843
- --tds-sidenav-indent:12px;
1844
- --tds-sidenav-item-depth:0;
1845
-
1846
- --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
1847
-
1848
- --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;
1849
- --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;
1850
- --tds-sidenav-collapse-closed-opacity:0;
1851
- --tds-sidenav-collapse-open-opacity:1;
1852
- --tds-sidenav-collapse-closed-transform:translateY(-8px);
1853
- --tds-sidenav-collapse-open-transform:translateY(0);
1854
-
1855
- --tds-sidenav-item-icon-size:var(--t-element-size-md);
1856
- --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
1857
- --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
1858
- --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
1859
-
1860
- --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
1861
- --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
1862
- --tds-sidenav-item-nested-background-selected:transparent;
1863
-
1864
- --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
1865
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1866
- --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
1867
1842
 
1868
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
1869
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
1870
- }
1871
-
1872
- @media (prefers-reduced-motion: reduce){
1873
- tds-sidenav,
1874
- .tds-sidenav{
1875
- --tds-sidenav-collapse-transition-enter:none;
1876
- --tds-sidenav-collapse-transition-exit:none;
1877
- --tds-sidenav-collapse-closed-transform:none;
1878
- --tds-sidenav-collapse-open-transform:none;
1879
- }
1880
- }
1881
-
1882
- .tds-sidenav--theme-gray{
1883
- --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
1884
- --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
1885
- --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
1886
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1887
- --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
1843
+ @keyframes tds-modal-zoom{
1844
+ from{
1845
+ opacity:0;
1846
+ scale:.96;
1888
1847
  }
1889
1848
  }
1890
1849
 
1891
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
1892
- display:flex;
1893
- }
1894
-
1895
- .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
1896
- flex-direction:column;
1897
- gap:var(--t-spacing-half);
1898
- width:100%;
1850
+ @media (prefers-reduced-motion: reduce){
1851
+ .tds-modal-overlay[data-entering],
1852
+ .tds-modal-overlay[data-exiting],
1853
+ .tds-modal-frame[data-entering],
1854
+ .tds-modal-frame[data-exiting]{
1855
+ animation:none;
1899
1856
  }
1900
-
1901
- .tds-sidenav-section-list{
1902
- width:100%;
1903
- padding:0;
1904
- margin:0;
1905
- list-style:none;
1906
1857
  }
1907
1858
 
1908
- .tds-sidenav-section-header{
1859
+ .tds-modal{
1909
1860
  display:flex;
1910
- align-items:baseline;
1911
- justify-content:space-between;
1912
- padding-top:var(--t-spacing-2);
1913
- }
1914
-
1915
- .tds-sidenav-section-header h2{
1916
- margin:0;
1917
- font-size:var(--t-font-size-sm);
1918
- font-weight:var(--t-font-weight-semibold);
1919
- line-height:1.35;
1920
- color:var(--t-text-color-secondary);
1921
- text-transform:uppercase;
1922
- }
1861
+ flex-direction:column;
1862
+ width:100%;
1863
+ padding-block-start:var(--t-spacing-3);
1864
+ padding-inline:0;
1865
+ background:var(--t-surface-color-card);
1923
1866
 
1924
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
1925
- padding-top:0;
1926
- }
1867
+ border:0;
1868
+ border-radius:var(--t-border-radius-lg);
1869
+ box-shadow:0 4px 18px 0 #0003;
1870
+ }
1927
1871
 
1928
- .tds-sidenav-section-header [slot="label-actions"]{
1929
- display:flex;
1930
- gap:var(--t-spacing-half);
1931
- align-items:center;
1872
+ .tds-modal:focus{
1873
+ outline:none;
1932
1874
  }
1933
1875
 
1934
- .tds-sidenav-section [slot="section-actions"]{
1935
- display:flex;
1936
- gap:12px;
1937
- align-items:center;
1938
- min-height:42px;
1939
- padding:var(--t-spacing-1) 0;
1876
+ .tds-modal-header{
1877
+ display:grid;
1878
+ grid-template-columns:1fr auto;
1879
+ -moz-column-gap:var(--t-spacing-2);
1880
+ column-gap:var(--t-spacing-2);
1881
+ padding-block:0;
1882
+ padding-inline:var(--t-spacing-4);
1940
1883
  }
1941
1884
 
1942
- .tds-sidenav-section-list,
1943
- .tds-sidenav-item{
1944
- width:100%;
1945
- padding:0;
1885
+ .tds-modal-title{
1886
+ grid-row:1;
1887
+ grid-column:1;
1946
1888
  margin:0;
1889
+ font-size:var(--t-font-size-2xl);
1890
+ font-weight:var(--t-font-weight-medium);
1891
+ line-height:140%;
1892
+ color:var(--t-text-color-headline);
1947
1893
  }
1948
1894
 
1949
- .tds-sidenav-item :is(a,button){
1950
- position:relative;
1951
- display:flex;
1952
- gap:12px;
1953
- align-items:center;
1954
- width:100%;
1955
- padding:12px;
1956
- overflow:hidden;
1957
- font-size:var(--t-font-size-sm);
1958
- line-height:18px;
1959
- color:var(--t-text-color-headline);
1960
- white-space:nowrap;
1961
- text-decoration:none;
1962
- -webkit-appearance:none;
1963
- -moz-appearance:none;
1964
- appearance:none;
1965
- cursor:pointer;
1966
- background-color:var(--tds-sidenav-item-background, transparent);
1967
- border:0;
1968
- border-radius:var(--t-border-radius);
1969
- transition:var(--tds-sidenav-item-transition);
1970
- }
1971
-
1972
- :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
1973
- display:block;
1974
- flex:1;
1975
- overflow:hidden;
1976
- text-overflow:ellipsis;
1977
- text-align:left;
1978
- white-space:nowrap;
1979
- }
1980
-
1981
- :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
1982
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
1983
- color:var(--t-text-color-headline);
1984
- text-decoration:none;
1985
- }
1986
-
1987
- :is(.tds-sidenav-item :is(a,button)):active{
1988
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
1989
- }
1990
-
1991
- :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
1992
- overflow:hidden;
1993
- color:var(--tds-sidenav-item-icon-color);
1994
- }
1995
-
1996
- :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{
1997
- display:block;
1998
- width:var(--tds-sidenav-item-icon-size);
1999
- height:var(--tds-sidenav-item-icon-size);
2000
- }
2001
-
2002
- :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
2003
- --tds-sidenav-indent:19px;
2004
- }
2005
-
2006
- [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
2007
- visibility:visible;
2008
- block-size:auto;
2009
- opacity:1;
2010
- }
2011
-
2012
- .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
2013
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
2014
- --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
2015
-
2016
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
2017
- font-weight:var(--t-font-weight-semibold);
2018
- }
2019
-
2020
- .tds-sidenav-item:has(.tds-sidenav-section){
2021
- display:flex;
2022
- flex-direction:column;
2023
- gap:var(--t-spacing-half);
2024
- }
2025
-
2026
- .tds-sidenav-item .tds-sidenav-section-list{
2027
- --tds-sidenav-item-depth:1;
2028
- gap:0;
2029
- }
2030
-
2031
- .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
2032
- visibility:hidden;
2033
- block-size:0;
2034
- overflow-y:clip;
2035
- opacity:0;
2036
- transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
2037
- }
2038
-
2039
- :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
2040
- --tds-sidenav-item-depth:2;
2041
- }
2042
-
2043
- :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2044
- min-height:var(--t-element-size-2xl);
2045
- padding-block:9px;
2046
- padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
2047
- line-height:1;
2048
- background-color:transparent;
2049
- }
2050
-
2051
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
2052
- position:absolute;
2053
- top:0;
2054
- bottom:0;
2055
- left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2056
- width:2px;
2057
- content:"";
2058
- background-color:var(--tds-sidenav-item-nested-border-color);
2059
- transition:var(--tds-sidenav-item-transition);
2060
- }
2061
-
2062
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
2063
- position:absolute;
2064
- inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2065
- z-index:-1;
2066
- height:100%;
2067
- content:"";
2068
- background-color:var(--tds-sidenav-item-nested-background);
2069
- border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
2070
- transition:var(--tds-sidenav-item-transition);
2071
- }
2072
-
2073
- :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)){
2074
- display:block;
2075
- text-align:left;
2076
- white-space:normal;
2077
- }
1895
+ .tds-modal-subtitle{
1896
+ grid-row:2;
1897
+ grid-column:1;
1898
+ margin:0;
1899
+ font-size:var(--t-font-size-md);
1900
+ font-weight:var(--t-font-weight-medium);
1901
+ line-height:140%;
1902
+ color:var(--t-text-color-secondary);
1903
+ }
2078
1904
 
2079
- :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{
2080
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
2081
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
2082
- }
1905
+ .tds-modal-close{
1906
+ grid-row:1;
1907
+ grid-column:2;
1908
+ align-self:center;
1909
+ color:var(--t-icon-color-dim);
1910
+ }
2083
1911
 
2084
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
2085
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
2086
- }
1912
+ .tds-modal-body{
1913
+ padding-block:var(--t-spacing-3);
1914
+ padding-inline:var(--t-spacing-4);
1915
+ }
2087
1916
 
2088
- .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2089
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
2090
- font-weight:var(--t-font-weight-medium);
2091
- }
1917
+ .tds-modal-body--full-width{
1918
+ padding-inline:0;
1919
+ }
2092
1920
 
2093
- .tds-sidenav-responsive-header{
1921
+ .tds-modal-footer{
2094
1922
  display:flex;
2095
1923
  gap:var(--t-spacing-2);
2096
1924
  align-items:center;
2097
- width:100%;
1925
+ justify-content:flex-end;
1926
+ padding-block:var(--t-spacing-3);
1927
+ padding-inline:var(--t-spacing-4);
1928
+ border-top:1px solid var(--t-border-color);
2098
1929
  }
2099
1930
 
2100
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
2101
- order:0;
2102
- }
2103
-
2104
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
2105
- flex:1;
2106
- order:1;
2107
- margin:0;
2108
- font-size:var(--t-font-size-lg);
2109
- font-weight:var(--t-font-weight-medium);
2110
- color:var(--t-text-color-headline);
2111
- }
2112
-
2113
- @media (max-width: 719px){
2114
- .tds-sidenav-collapse{
2115
- z-index:10001;
2116
- display:none;
2117
- max-width:min(448px, calc(100vw - 48px));
2118
- padding:0;
2119
- margin:12px 0;
2120
- position-area:bottom span-right;
2121
- overflow:hidden;
2122
- outline:0;
2123
- background:var(--t-surface-color-card);
2124
- border:0;
2125
- border-radius:6px;
2126
- box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
2127
- opacity:var(--tds-sidenav-collapse-open-opacity);
2128
- transform:var(--tds-sidenav-collapse-open-transform);
2129
- transition:var(--tds-sidenav-collapse-transition-enter);
2130
- will-change:transform;
2131
- }
2132
-
2133
- .tds-sidenav-scroll-container{
2134
- --webkit-overflow-scrolling:touch;
2135
- display:block;
2136
- width:100%;
2137
- height:-moz-fit-content;
2138
- height:fit-content;
2139
- padding:var(--t-spacing-2);
2140
- overflow-y:auto;
2141
- }
2142
-
2143
- .tds-sidenav-item :is(a, button) :is(.prefix){
2144
- display:none;
2145
- }
2146
- @supports selector(:popover-open){
2147
- .tds-sidenav-collapse:popover-open{
2148
- display:flex;
2149
- }
2150
-
2151
- .tds-sidenav-collapse:not(:popover-open){
2152
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2153
- transition:var(--tds-sidenav-collapse-transition-exit);
2154
- }
2155
-
2156
- @starting-style{
2157
- .tds-sidenav-collapse:popover-open{
2158
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2159
- transform:var(--tds-sidenav-collapse-closed-transform);
2160
- }
2161
- }
2162
- }
2163
- @supports not selector(:popover-open){
2164
- .tds-sidenav-collapse.\:popover-open{
2165
- display:flex;
2166
- }
2167
-
2168
- .tds-sidenav-collapse:not(.\:popover-open){
2169
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2170
- transition:var(--tds-sidenav-collapse-transition-exit);
2171
- }
2172
- }
1931
+ .tds-modal-footer > [slot="start"]{
1932
+ margin-inline-end:auto;
2173
1933
  }
2174
1934
 
2175
1935
  @media (min-width: 720px){
2176
- .tds-sidenav-responsive-header{
2177
- display:none;
1936
+ .tds-modal-overlay{
1937
+ --tds-modal-min-margin-block:0;
2178
1938
  }
2179
- }
2180
1939
 
2181
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
2182
- display:none;
2183
- }
2184
-
2185
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
2186
- display:block;
2187
- }
2188
-
2189
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2190
- display:flex;
2191
- flex-direction:column;
2192
- }
1940
+ .tds-modal-footer{
1941
+ position:sticky;
1942
+ bottom:0;
1943
+ background:var(--t-surface-color-card);
1944
+ border-end-start-radius:var(--t-border-radius-lg);
1945
+ border-end-end-radius:var(--t-border-radius-lg);
1946
+ }
1947
+ }
2193
1948
 
2194
1949
  .tds-radio-group{
2195
1950
  --tds-radio-group-font-size:var(--t-font-size-md);
@@ -2274,6 +2029,251 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2274
2029
  --tds-radio-group-description-line-height:1.3;
2275
2030
  }
2276
2031
 
2032
+ .tds-input:has(textarea){
2033
+ --tds-input-padding-block:6px;
2034
+ --tds-input-resizer-size:var(--t-element-size-sm);
2035
+ --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
2036
+ }
2037
+
2038
+ @supports (x: attr(x type(*))){
2039
+
2040
+ .tds-input textarea{
2041
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
2042
+ }
2043
+ }
2044
+
2045
+ .tds-input.tds-textarea--resize-vertical textarea{
2046
+ resize:vertical;
2047
+ }
2048
+
2049
+ .tds-input.tds-textarea--resize-none textarea{
2050
+ resize:none;
2051
+ }
2052
+
2053
+ .tds-input.tds-textarea--resize-auto textarea{
2054
+ resize:vertical;
2055
+ }
2056
+
2057
+ @supports (field-sizing: content){
2058
+ .tds-input.tds-textarea--resize-auto textarea{
2059
+ field-sizing:content;
2060
+ resize:none;
2061
+ }
2062
+ }
2063
+
2064
+ .tds-input textarea{
2065
+ --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
2066
+ --tds-input-scrollbar-thumb-color-hidden:transparent;
2067
+ --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
2068
+ --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
2069
+ --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
2070
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
2071
+ --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
2072
+ --tds-input-scrollbar-thumb-border-radius:999px;
2073
+ --tds-input-scrollbar-thumb-border-width:3px;
2074
+ --tds-input-scrollbar-track-margin-block:.125rem;
2075
+ scrollbar-color:initial;
2076
+ transition-timing-function:var(--t-ease-in-out);
2077
+ transition-duration:var(--t-duration-200);
2078
+ transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
2079
+ }
2080
+
2081
+ @media (pointer: fine){
2082
+ :is(.tds-input textarea)::-webkit-scrollbar{
2083
+ width:12px;
2084
+ height:12px;
2085
+ cursor:default;
2086
+ }
2087
+
2088
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb{
2089
+ cursor:default;
2090
+ background:var(--tds-input-scrollbar-thumb-color);
2091
+ background-clip:content-box;
2092
+ border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
2093
+ border-radius:var(--tds-input-scrollbar-thumb-border-radius);
2094
+ }
2095
+
2096
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2097
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
2098
+ }
2099
+
2100
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
2101
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
2102
+ }
2103
+
2104
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
2105
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
2106
+ }
2107
+
2108
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
2109
+ background:var(--tds-input-scrollbar-surface-color);
2110
+ }
2111
+
2112
+ :is(.tds-input textarea)::-webkit-resizer{
2113
+ background:var(--tds-input-resizer-icon) no-repeat;
2114
+ background-position:right bottom;
2115
+ background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
2116
+ }
2117
+
2118
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
2119
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
2120
+ cursor:default;
2121
+ }
2122
+
2123
+ @supports (-moz-appearance: none){
2124
+ :is(.tds-input textarea){
2125
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
2126
+ scrollbar-width:thin;
2127
+ }
2128
+
2129
+ @media (hover){
2130
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2131
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
2132
+ }
2133
+ }
2134
+ }
2135
+ }
2136
+
2137
+ .tds-toggle-switch{
2138
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
2139
+ --tds-toggle-switch-cursor:pointer;
2140
+ --tds-toggle-switch-display:inline-grid;
2141
+ --tds-toggle-switch-line-height:1.4;
2142
+
2143
+ --tds-toggle-switch-label-color:var(--t-form-color);
2144
+
2145
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
2146
+ --tds-toggle-switch-track-outline:none;
2147
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
2148
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
2149
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
2150
+
2151
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
2152
+ --tds-toggle-switch-thumb-transform:translateX(0);
2153
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
2154
+
2155
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
2156
+ --tds-toggle-switch-description-line-height:1.35;
2157
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
2158
+ position:relative;
2159
+
2160
+ display:var(--tds-toggle-switch-display);
2161
+ grid-template-columns:auto;
2162
+ grid-auto-columns:1fr;
2163
+ gap:var(--t-spacing-fourth) 0;
2164
+ -webkit-user-select:none;
2165
+ -moz-user-select:none;
2166
+ user-select:none;
2167
+ }
2168
+
2169
+ .tds-toggle-switch input[type="checkbox"]{
2170
+ position:absolute;
2171
+ width:var(--tds-toggle-switch-track-width);
2172
+ height:var(--tds-toggle-switch-track-height);
2173
+ margin:0;
2174
+ -webkit-appearance:none;
2175
+ -moz-appearance:none;
2176
+ appearance:none;
2177
+ cursor:var(--tds-toggle-switch-cursor);
2178
+ outline:var(--tds-toggle-switch-track-outline);
2179
+ outline-offset:var(--t-focus-ring-offset);
2180
+ background-color:transparent;
2181
+ border:0;
2182
+ border-radius:var(--t-border-radius-round);
2183
+ }
2184
+
2185
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2186
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2187
+ }
2188
+
2189
+ .tds-toggle-switch label{
2190
+ display:inline-flex;
2191
+ grid-area:1 / 2;
2192
+ padding-inline-start:var(--t-spacing-1);
2193
+ margin-top:-.09375em;
2194
+ font-size:var(--tds-toggle-switch-font-size);
2195
+ font-weight:var(--t-font-weight-normal);
2196
+ line-height:var(--tds-toggle-switch-line-height);
2197
+ color:var(--tds-toggle-switch-label-color);
2198
+ cursor:var(--tds-toggle-switch-cursor);
2199
+ }
2200
+
2201
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2202
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2203
+ }
2204
+
2205
+ .tds-toggle-switch:has(input:checked){
2206
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
2207
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2208
+ }
2209
+
2210
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
2211
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
2212
+ }
2213
+
2214
+ .tds-toggle-switch:has(input:disabled){
2215
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
2216
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
2217
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
2218
+ --tds-toggle-switch-cursor:not-allowed;
2219
+ }
2220
+
2221
+ .tds-toggle-switch-track{
2222
+ position:relative;
2223
+ flex-shrink:0;
2224
+ width:var(--tds-toggle-switch-track-width);
2225
+ height:var(--tds-toggle-switch-track-height);
2226
+ background-color:var(--tds-toggle-switch-track-background-color);
2227
+ border-radius:var(--t-border-radius-round);
2228
+ transition:var(--tds-toggle-switch-track-transition);
2229
+ }
2230
+
2231
+ .tds-toggle-switch-track::before{
2232
+ position:absolute;
2233
+ top:var(--t-spacing-fourth);
2234
+ left:var(--t-spacing-fourth);
2235
+ width:var(--tds-toggle-switch-thumb-size);
2236
+ height:var(--tds-toggle-switch-thumb-size);
2237
+ content:"";
2238
+ background-color:#fff;
2239
+ border-radius:var(--t-border-radius-round);
2240
+ transform:var(--tds-toggle-switch-thumb-transform);
2241
+ transition:var(--tds-toggle-switch-thumb-transition);
2242
+ }
2243
+
2244
+ @media (prefers-reduced-motion: reduce){
2245
+
2246
+ .tds-toggle-switch-track{
2247
+ --tds-toggle-switch-track-transition:none;
2248
+ --tds-toggle-switch-thumb-transition:none;
2249
+ }
2250
+ }
2251
+
2252
+ .tds-toggle-switch-description{
2253
+ display:flex;
2254
+ grid-area:2 / 2;
2255
+ align-items:flex-start;
2256
+ padding-inline-start:var(--t-spacing-1);
2257
+ margin:0;
2258
+ font-size:var(--tds-toggle-switch-description-font-size);
2259
+ line-height:var(--tds-toggle-switch-description-line-height);
2260
+ color:var(--tds-toggle-switch-description-color);
2261
+ cursor:text;
2262
+ }
2263
+
2264
+ .tds-toggle-switch--sm{
2265
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
2266
+ --tds-toggle-switch-line-height:1.35;
2267
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
2268
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2269
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2270
+ --tds-toggle-switch-description-line-height:1.3;
2271
+ }
2272
+
2273
+ .tds-toggle-switch--hide-label{
2274
+ --tds-toggle-switch-display:inline-flex;
2275
+ }
2276
+
2277
2277
  .tds-input{
2278
2278
  --tds-input-border-color:var(--t-form-border-color);
2279
2279
  --tds-input-border-color-hover:var(--t-form-border-color-hover);
@@ -4526,12 +4526,23 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
4526
4526
  border-color:var(--tds-btn-border-color-hover);
4527
4527
  }
4528
4528
 
4529
- .tds-btn:active,.tds-btn.active,.tds-btn[aria-pressed="true"]{
4529
+ .tds-btn:active,.tds-btn.active{
4530
+ color:var(--tds-btn-color-active);
4531
+ background-color:var(--tds-btn-bg-active);
4532
+ border-color:var(--tds-btn-border-color-active);
4533
+ }
4534
+
4535
+ .tds-btn[aria-pressed="true"]{
4530
4536
  color:var(--tds-btn-color-active);
4531
4537
  background-color:var(--tds-btn-bg-active);
4532
4538
  border-color:var(--tds-btn-border-color-active);
4533
4539
  }
4534
4540
 
4541
+ .tds-btn[aria-pressed="true"]:hover,.tds-btn[aria-pressed="true"]:focus-visible{
4542
+ background-color:hsl(from var(--tds-btn-bg-active) h s calc(l - 5));
4543
+ border-color:hsl(from var(--tds-btn-border-color-active) h s calc(l - 5));
4544
+ }
4545
+
4535
4546
  .tds-btn:disabled,.tds-btn.disabled{
4536
4547
  --tds-btn-loading-spinner-track-color:var(--t-fill-color-transparency-dark-020);
4537
4548
  --tds-btn-loading-spinner-color:var(--t-text-color-status-neutral);
@@ -5129,7 +5140,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
5129
5140
  content:"*" / "";
5130
5141
  }
5131
5142
 
5132
- .tds-field[data-invalid]{
5143
+ .tds-field:has([aria-invalid="true"]),.tds-field[data-invalid]{
5133
5144
  --tds-field-border-color:var(--t-form-border-color-error);
5134
5145
  --tds-field-border-color-hover:var(--t-form-border-color-error-hover);
5135
5146
  --tds-field-border-color-active:var(--t-form-border-color-error-hover);