@planningcenter/tapestry 4.6.2-rc.0 → 4.7.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 (88) hide show
  1. package/dist/components/DataTable/ActiveFilterInstance.d.ts +13 -0
  2. package/dist/components/DataTable/ActiveFilterInstance.d.ts.map +1 -0
  3. package/dist/components/DataTable/ActiveFilterInstance.js +23 -0
  4. package/dist/components/DataTable/ActiveFilterInstance.js.map +1 -0
  5. package/dist/components/DataTable/ActiveFilters.d.ts +3 -4
  6. package/dist/components/DataTable/ActiveFilters.d.ts.map +1 -1
  7. package/dist/components/DataTable/ActiveFilters.js +25 -35
  8. package/dist/components/DataTable/ActiveFilters.js.map +1 -1
  9. package/dist/components/DataTable/DataTable.d.ts +1 -0
  10. package/dist/components/DataTable/DataTable.d.ts.map +1 -1
  11. package/dist/components/DataTable/DataTable.js +12 -2
  12. package/dist/components/DataTable/DataTable.js.map +1 -1
  13. package/dist/components/DataTable/FilterChip.d.ts +26 -0
  14. package/dist/components/DataTable/FilterChip.d.ts.map +1 -0
  15. package/dist/components/DataTable/FilterChip.js +36 -0
  16. package/dist/components/DataTable/FilterChip.js.map +1 -0
  17. package/dist/components/DataTable/FilterContext.d.ts.map +1 -1
  18. package/dist/components/DataTable/FilterContext.js +3 -1
  19. package/dist/components/DataTable/FilterContext.js.map +1 -1
  20. package/dist/components/DataTable/FilterControls.d.ts +8 -2
  21. package/dist/components/DataTable/FilterControls.d.ts.map +1 -1
  22. package/dist/components/DataTable/FilterControls.js +48 -7
  23. package/dist/components/DataTable/FilterControls.js.map +1 -1
  24. package/dist/components/DataTable/FilterTypes.d.ts +14 -1
  25. package/dist/components/DataTable/FilterTypes.d.ts.map +1 -1
  26. package/dist/components/DataTable/OperatorSelect.d.ts +1 -2
  27. package/dist/components/DataTable/OperatorSelect.d.ts.map +1 -1
  28. package/dist/components/DataTable/OperatorSelect.js.map +1 -1
  29. package/dist/components/DataTable/SearchableFilters.d.ts +14 -0
  30. package/dist/components/DataTable/SearchableFilters.d.ts.map +1 -0
  31. package/dist/components/DataTable/SearchableFilters.js +35 -0
  32. package/dist/components/DataTable/SearchableFilters.js.map +1 -0
  33. package/dist/components/DataTable/collectionFilter.d.ts +48 -0
  34. package/dist/components/DataTable/collectionFilter.d.ts.map +1 -0
  35. package/dist/components/DataTable/collectionFilter.js +86 -0
  36. package/dist/components/DataTable/collectionFilter.js.map +1 -0
  37. package/dist/components/DataTable/dateFilter.d.ts +60 -0
  38. package/dist/components/DataTable/dateFilter.d.ts.map +1 -0
  39. package/dist/components/DataTable/dateFilter.js +67 -0
  40. package/dist/components/DataTable/dateFilter.js.map +1 -0
  41. package/dist/components/DataTable/filters.d.ts +5 -0
  42. package/dist/components/DataTable/filters.d.ts.map +1 -0
  43. package/dist/components/DataTable/index.d.ts +4 -0
  44. package/dist/components/DataTable/index.d.ts.map +1 -1
  45. package/dist/components/DataTable/numberFilter.d.ts +46 -0
  46. package/dist/components/DataTable/numberFilter.d.ts.map +1 -0
  47. package/dist/components/DataTable/numberFilter.js +63 -0
  48. package/dist/components/DataTable/numberFilter.js.map +1 -0
  49. package/dist/components/DataTable/resolveOperators.d.ts +7 -0
  50. package/dist/components/DataTable/resolveOperators.d.ts.map +1 -0
  51. package/dist/components/DataTable/resolveOperators.js +11 -0
  52. package/dist/components/DataTable/resolveOperators.js.map +1 -0
  53. package/dist/components/DataTable/textFilter.d.ts +58 -0
  54. package/dist/components/DataTable/textFilter.d.ts.map +1 -0
  55. package/dist/components/DataTable/textFilter.js +49 -0
  56. package/dist/components/DataTable/textFilter.js.map +1 -0
  57. package/dist/components/DataTable/useShelfExpanded.d.ts +6 -0
  58. package/dist/components/DataTable/useShelfExpanded.d.ts.map +1 -0
  59. package/dist/components/DataTable/useShelfExpanded.js +26 -0
  60. package/dist/components/DataTable/useShelfExpanded.js.map +1 -0
  61. package/dist/components/dropdown/Dropdown.d.ts +4 -0
  62. package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
  63. package/dist/components/dropdown/Dropdown.js +4 -0
  64. package/dist/components/dropdown/Dropdown.js.map +1 -1
  65. package/dist/components/input/Input.d.ts +4 -4
  66. package/dist/components/input/Input.d.ts.map +1 -1
  67. package/dist/components/input/Input.js +3 -3
  68. package/dist/components/input/Input.js.map +1 -1
  69. package/dist/components/popover/Popover.d.ts +1 -1
  70. package/dist/components/popover/Popover.js +1 -1
  71. package/dist/components/popover/Popover.js.map +1 -1
  72. package/dist/index.css +89 -1
  73. package/dist/index.css.map +1 -1
  74. package/dist/index.d.ts +1 -0
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +1 -0
  77. package/dist/index.js.map +1 -1
  78. package/dist/reactRender.css +1522 -1271
  79. package/dist/reactRender.css.map +1 -1
  80. package/dist/reactRenderLegacy.css +1522 -1271
  81. package/dist/reactRenderLegacy.css.map +1 -1
  82. package/dist/unstable.css +3717 -3466
  83. package/dist/unstable.css.map +1 -1
  84. package/dist/unstable.d.ts +0 -1
  85. package/dist/unstable.d.ts.map +1 -1
  86. package/dist/unstable.js +5 -1
  87. package/dist/unstable.js.map +1 -1
  88. package/package.json +2 -2
@@ -677,1602 +677,1688 @@
677
677
  [data-padding-inline-xl="7"]{ padding-inline:var(--t-spacing-7); }
678
678
  }
679
679
 
680
- @layer t-critical{
681
- tds-page-header:not(.hydrated){
682
- display:none;
683
- }
684
- }
680
+ .tds-checkbox{
681
+ --tds-checkbox-font-size:var(--t-font-size-md);
682
+ --tds-checkbox-cursor:pointer;
683
+ --tds-checkbox-line-height:1.4;
684
+ --tds-checkbox-transition-property:background-color, border-color;
685
685
 
686
- @layer t-component{
687
- .tds-page-header{
688
- --tds-page-header-background-color:var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-canvas));
689
- --tds-page-header-background-color-inactive:var(--t-fill-color-neutral-090);
690
- --tds-page-header-color:var(--t-text-color);
691
- --tds-page-header-bottom-border-color:transparent;
692
- --tds-page-header-headline-color:var(--t-text-color-headline);
693
- --tds-page-header-headline-font-size:var(--t-font-size-2xl);
694
- --tds-page-header-padding-x:var(--t-spacing-2);
695
- --tds-page-header-padding-y:var(--t-spacing-2);
696
- --tds-page-header-nav-padding-x:var(--tds-page-header-padding-x, var(--t-spacing-3));
697
- --tds-page-header-nav-gap:var(--t-spacing-1);
698
- --tds-page-header-nav-background:linear-gradient(180deg, var(--tds-page-header-nav-background-start, rgba(0, 0, 0, 0)) 0%, var(--tds-page-header-nav-background-end, rgba(0, 0, 0, .1)) 100%);
699
- --tds-page-header-nav-item-padding-x:var(--t-spacing-1);
700
- --tds-page-header-nav-item-padding-y:var(--t-spacing-1);
701
- --tds-page-header-nav-item-color:var(--t-text-color-secondary);
702
- --tds-page-header-nav-item-background-color:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 35%);
703
- --tds-page-header-nav-item-border-width:1px;
686
+ --tds-checkbox-input-size:var(--t-element-size-md);
687
+ --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
688
+ --tds-checkbox-input-border-color:var(--t-form-border-color);
689
+ --tds-checkbox-input-background-color:var(--t-form-background-color);
704
690
 
705
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-background-color);
706
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color);
691
+ --tds-checkbox-input-icon:none;
692
+ --tds-checkbox-input-icon-visibility:hidden;
693
+ --tds-checkbox-input-icon-opacity:0;
694
+ --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
707
695
 
708
- --tds-page-header-nav-item-color-hover:var(--t-text-color);
709
- --tds-page-header-nav-item-background-color-hover:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 20%);
710
- --tds-page-header-nav-item-border-color-hover:var(--tds-page-header-nav-item-background-color-hover);
696
+ --tds-checkbox-label-color:var(--t-form-color);
711
697
 
712
- --tds-page-header-nav-item-background-color-active:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 10%);
713
- --tds-page-header-nav-item-border-color-active:var(--tds-page-header-nav-item-background-color-active);
698
+ --tds-checkbox-description-font-size:var(--t-font-size-sm);
699
+ --tds-checkbox-description-line-height:1.35;
700
+ --tds-checkbox-description-color:var(--t-text-color-secondary);
701
+ --tds-checkbox-description-invalid-icon-display:none;
714
702
 
715
- --tds-page-header-nav-item-color-disabled:var(--t-text-color-disabled);
716
- --tds-page-header-nav-item-background-color-disabled:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 50%);
717
- --tds-page-header-nav-item-border-color-disabled:var(--tds-page-header-nav-item-background-color-disabled);
703
+ position:relative;
704
+ display:inline-grid;
705
+ grid-template-columns:auto;
706
+ grid-auto-columns:1fr;
707
+ gap:var(--t-spacing-fourth) 0;
708
+ line-height:var(--tds-checkbox-line-height);
709
+ -webkit-user-select:none;
710
+ -moz-user-select:none;
711
+ user-select:none;
712
+ }
718
713
 
719
- --tds-page-header-nav-item-color-selected:var(--t-text-color);
720
- --tds-page-header-nav-item-background-color-selected:var(--t-surface-color-canvas);
721
- --tds-page-header-nav-item-border-color-selected:var(--tds-page-header-nav-item-background-color-selected);
722
- --tds-page-header-nav-item-border-bottom-color-selected:var(--tds-page-header-nav-item-background-color-selected);
723
- --tds-page-header-nav-item-indicator-color:var(--t-icon-color-status-warning);
714
+ .tds-checkbox label{
715
+ grid-area:1 / 2;
716
+ padding-inline-start:var(--t-spacing-1);
717
+ font-size:var(--tds-checkbox-font-size);
718
+ font-weight:var(--t-font-weight-normal);
719
+ color:var(--tds-checkbox-label-color);
720
+ cursor:var(--tds-checkbox-cursor);
724
721
  }
725
722
 
726
- .tds-page-header--profile{
727
- --tds-page-header-padding-y:20px;
723
+ .tds-checkbox tds-indeterminate{
724
+ display:flex;
728
725
  }
729
726
 
730
- @supports (color: light-dark(#fff, #000)){
731
- .tds-page-header{
732
- --tds-page-header-nav-background-start:light-dark(rgba(0, 0, 0, 0), rgba(255, 255, 255, 0));
733
- --tds-page-header-nav-background-end:light-dark(rgba(0, 0, 0, .05), rgba(255, 255, 255, .1));
734
- }
727
+ .tds-checkbox input[type="checkbox"]{
728
+ position:relative;
729
+ width:1em;
730
+ height:1em;
731
+ margin:calc((1lh - 1em) / 2) 0 0;
732
+ font-size:var(--tds-checkbox-font-size);
733
+ line-height:inherit;
734
+ -webkit-appearance:none;
735
+ -moz-appearance:none;
736
+ appearance:none;
737
+ cursor:var(--tds-checkbox-cursor);
738
+ background-color:var(--tds-checkbox-input-background-color);
739
+ border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
740
+ border-radius:var(--tds-checkbox-input-border-radius);
741
+ transition-timing-function:var(--t-ease-in-out);
742
+ transition-duration:var(--t-duration-200);
743
+ transition-property:var(--tds-checkbox-transition-property);
735
744
  }
736
745
 
737
- @media (min-width: 600px){
738
- .tds-page-header{
739
- --tds-page-header-background-color:var(--t-surface-color-canvas);
740
- --tds-page-header-color:var(--t-text-color-secondary);
741
- --tds-page-header-bottom-border-color:var(--t-border-color);
742
- --tds-page-header-padding-x:var(--t-spacing-3);
743
- --tds-page-header-headline-font-size:var(--t-font-size-3xl);
744
- --tds-page-header-nav-gap:var(--t-spacing-half);
745
- --tds-page-header-nav-background:transparent;
746
- --tds-page-header-nav-item-padding-x:var(--t-spacing-2);
747
- --tds-page-header-nav-item-border-width:1px;
748
- --tds-page-header-nav-item-color:var(--t-text-color);
749
- --tds-page-header-nav-item-background-color:var(--t-fill-color-neutral-070);
750
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-bottom-border-color);
751
- --tds-page-header-nav-item-background-color-hover:var(--t-fill-color-neutral-060);
752
- --tds-page-header-nav-item-background-color-active:var(--t-fill-color-neutral-050);
753
- --tds-page-header-nav-item-background-color-disabled:var(--t-fill-color-neutral-080);
754
- --tds-page-header-nav-item-border-color-selected:var(--t-border-color);
746
+ :is(.tds-checkbox input[type="checkbox"])::before{
747
+ position:absolute;
748
+ top:50%;
749
+ left:50%;
750
+ visibility:var(--tds-checkbox-input-icon-visibility);
751
+ width:100%;
752
+ height:100%;
753
+ content:"";
754
+ background-color:var(--tds-checkbox-input-icon-fill);
755
+ border-radius:var(--tds-checkbox-input-border-radius);
756
+ opacity:var(--tds-checkbox-input-icon-opacity);
757
+ -webkit-mask-image:var(--tds-checkbox-input-icon);
758
+ mask-image:var(--tds-checkbox-input-icon);
759
+ -webkit-mask-repeat:no-repeat;
760
+ mask-repeat:no-repeat;
761
+ -webkit-mask-size:contain;
762
+ mask-size:contain;
763
+ transform:translate(-50%, -50%);
755
764
  }
756
- }
757
- }
758
765
 
759
- .tds-page-header{
760
- display:flex;
761
- flex-direction:column;
762
- padding-top:var(--tds-page-header-padding-y);
763
- color:var(--tds-page-header-color);
764
- background:var(--tds-page-header-background-color);
765
- border-bottom:1px solid var(--tds-page-header-bottom-border-color);
766
- }
766
+ :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
767
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
768
+ --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
769
+ }
767
770
 
768
- .tds-page-header:not(.has-nav){
769
- padding-bottom:var(--tds-page-header-padding-y);
771
+ :is(.tds-checkbox input[type="checkbox"]):focus-visible{
772
+ outline:var(--t-focus-ring-outline);
773
+ outline-offset:var(--t-focus-ring-offset);
774
+ }
775
+
776
+ :is(.tds-checkbox input[type="checkbox"]):disabled{
777
+ pointer-events:none;
778
+ }
779
+
780
+ @media (prefers-reduced-motion: reduce){
781
+
782
+ .tds-checkbox input[type="checkbox"]{
783
+ --tds-checkbox-transition-property:none;
770
784
  }
785
+ }
771
786
 
772
- .tds-page-header.inactive{
773
- background:var(--tds-page-header-background-color-inactive);
787
+ .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
788
+ --tds-checkbox-input-background-color:var(--t-fill-color-control);
789
+ --tds-checkbox-input-border-color:var(--t-border-color-control-info);
790
+ --tds-checkbox-input-icon-visibility:visible;
791
+ --tds-checkbox-input-icon-opacity:1;
774
792
  }
775
793
 
776
- .tds-page-header :is([slot="actions"],.tds-page-header__actions){
777
- width:100%;
794
+ :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
795
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
796
+ --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
797
+ }
798
+
799
+ .tds-checkbox:has(input:checked){
800
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
778
801
  }
779
802
 
780
- .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
781
- display:flex;
782
- flex-flow:row wrap;
783
- gap:var(--t-spacing-half) var(--t-spacing-1);
784
- align-items:flex-start;
785
- justify-content:flex-start;
786
- min-width:0;
803
+ .tds-checkbox:has(input:indeterminate){
804
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
787
805
  }
788
806
 
789
- :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)):not(:has(ul)),:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) ul{
790
- display:flex;
791
- gap:var(--tds-page-header-nav-gap);
792
- padding:var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
793
- margin:0 0 -1px;
794
- overflow:auto;
795
- list-style:none;
796
- background:var(--tds-page-header-nav-background);
807
+ .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
808
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
809
+ --tds-checkbox-description-color:var(--t-text-color-status-error);
810
+ --tds-checkbox-description-invalid-icon-display:inline-block;
811
+ }
812
+
813
+ :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
814
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
815
+ --tds-checkbox-input-background-color:var(--t-form-background-color-error);
797
816
  }
798
817
 
799
- :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button){
800
- position:relative;
801
- display:inline-flex;
802
- padding:var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
803
- font-size:var(--t-font-size-sm);
804
- line-height:22px;
805
- color:var(--tds-page-header-nav-item-color);
806
- white-space:nowrap;
807
- text-decoration:none;
808
- -webkit-appearance:none;
809
- -moz-appearance:none;
810
- appearance:none;
811
- cursor:pointer;
812
- outline-offset:-2px;
813
- background-color:var(--tds-page-header-nav-item-background-color);
814
- background-clip:padding-box;
815
- border:var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
816
- border-bottom:1px solid var(--tds-page-header-nav-item-border-bottom-color);
817
- border-radius:var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
818
+ :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:checked,:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:indeterminate{
819
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
820
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error);
818
821
  }
819
822
 
820
- .selected:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)){
821
- --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-selected);
822
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-selected);
823
- --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-selected);
824
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-selected);
823
+ :is(:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:checked,:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:indeterminate):hover:not(:disabled){
824
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
825
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
825
826
  }
826
827
 
827
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):hover{
828
- --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-hover);
829
- --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-hover);
830
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-hover);
831
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-hover);
832
- }
828
+ .tds-checkbox:has(input:required) label::after{
829
+ margin-left:.25ch;
830
+ color:var(--t-text-color-status-error);
831
+ content:"*";
832
+ }
833
833
 
834
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):active{
835
- background-color:var(--tds-page-header-nav-item-background-color-active);
836
- border-color:var(--tds-page-header-nav-item-border-color-active);
837
- border-bottom-color:var(--tds-page-header-nav-item-background-color-active);
838
- }
834
+ .tds-checkbox:has(input:disabled){
835
+ --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
836
+ --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
839
837
 
840
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):disabled{
841
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-disabled);
842
- color:var(--tds-page-header-nav-item-color-disabled);
843
- cursor:not-allowed;
844
- background-color:var(--tds-page-header-nav-item-background-color-disabled);
845
- opacity:1;
846
- }
847
-
848
- @media (min-width: 600px){
849
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected)::after{
850
- position:absolute;
851
- inset:auto -1px -1px;
852
- height:1px;
853
- pointer-events:none;
854
- content:"";
855
- background-color:var(--tds-page-header-bottom-border-color);
856
- }
857
- }
838
+ --tds-checkbox-label-color:var(--t-form-color-disabled);
839
+ --tds-checkbox-description-color:var(--t-form-color-disabled);
840
+ --tds-checkbox-cursor:not-allowed;
841
+ }
858
842
 
859
- :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator){
860
- position:relative;
843
+ .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
844
+ --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
861
845
  }
862
846
 
863
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator)) :is(a,button){
864
- -webkit-mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
865
- mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
866
- }
847
+ .tds-checkbox-description{
848
+ display:flex;
849
+ grid-area:2 / 2;
850
+ gap:var(--t-spacing-half);
851
+ align-items:flex-start;
852
+ padding-inline-start:var(--t-spacing-1);
853
+ margin:0;
854
+ font-size:var(--tds-checkbox-description-font-size);
855
+ line-height:var(--tds-checkbox-description-line-height);
856
+ color:var(--tds-checkbox-description-color);
857
+ cursor:text;
858
+ }
867
859
 
868
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::before,:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
860
+ .tds-checkbox-description .tds-checkbox-description-invalid-icon{
861
+ display:var(--tds-checkbox-description-invalid-icon-display);
862
+ flex-shrink:0;
863
+ margin-top:calc(.5lh - .5em);
864
+ line-height:var(--tds-checkbox-description-line-height);
865
+ }
866
+
867
+ .tds-checkbox--sm{
868
+ --tds-checkbox-line-height:1.35;
869
+ --tds-checkbox-input-size:var(--t-element-size-sm);
870
+ --tds-checkbox-font-size:var(--t-font-size-sm);
871
+ --tds-checkbox-description-font-size:var(--t-font-size-xs);
872
+ --tds-checkbox-description-line-height:1.3;
873
+ }
874
+
875
+ .tds-button-group{
876
+ display:inline-flex;
877
+ }
878
+ .tds-button-group > .tds-btn{
879
+ --tds-button-group-item-z-index:1;
880
+
881
+ position:relative;
882
+ z-index:var(--tds-button-group-item-z-index);
883
+ border-radius:0;
884
+ }
885
+ :is(.tds-button-group > .tds-btn):not(:first-child){
886
+ margin-inline-start:calc(var(--tds-btn-border-width) * -1);
887
+ }
888
+ :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{
869
889
  position:absolute;
870
- top:-5px;
871
- right:-2px;
872
- width:10px;
873
- height:10px;
890
+ inset-block:calc(var(--tds-btn-border-width) * -1);
891
+ width:var(--tds-btn-border-width);
892
+ pointer-events:none;
874
893
  content:"";
875
- background:var(--tds-page-header-nav-item-indicator-color);
876
- border-radius:50%;
894
+ background-color:var(--t-border-color-white);
877
895
  }
878
-
879
- @media (prefers-reduced-motion: no-preference){
880
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
881
- animation:indicator-pulse 1.25s ease infinite;
882
- }
896
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before{
897
+ inset-inline-start:calc(var(--tds-btn-border-width) * -1);
898
+ }
899
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
900
+ inset-inline-end:calc(var(--tds-btn-border-width) * -1);
883
901
  }
902
+ :is(.tds-button-group > .tds-btn):hover,:is(.tds-button-group > .tds-btn):focus{
903
+ --tds-button-group-item-z-index:2;
904
+ }
905
+ :is(.tds-button-group > .tds-btn):focus-visible{
906
+ --tds-button-group-item-z-index:5;
907
+ }
908
+ .tds-button-group > .tds-btn:first-child{
909
+ border-start-start-radius:var(--tds-btn-border-radius);
910
+ border-end-start-radius:var(--tds-btn-border-radius);
911
+ }
912
+ .tds-button-group > .tds-btn:last-child{
913
+ border-start-end-radius:var(--tds-btn-border-radius);
914
+ border-end-end-radius:var(--tds-btn-border-radius);
915
+ }
884
916
 
885
- .tds-page-header__title-bar{
917
+ .tds-checkbox-group{
918
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
919
+ --tds-checkbox-group-line-height:1.4;
920
+ --tds-checkbox-group-gap:var(--t-spacing-1);
921
+
922
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
923
+ --tds-checkbox-group-description-line-height:1.35;
924
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
925
+ --tds-checkbox-group-description-invalid-icon-display:none;
886
926
  display:flex;
887
927
  flex-direction:column;
888
- gap:var(--t-spacing-2) var(--t-spacing-1);
889
- align-items:flex-start;
890
- justify-content:space-between;
891
- padding:0 var(--tds-page-header-padding-x);
892
- }
893
-
894
- .tds-page-header--profile > .tds-page-header__title-bar{
895
- align-items:center;
896
- }
928
+ gap:0;
929
+ padding:0;
930
+ margin:0;
897
931
 
898
- .tds-page-header__primary{
899
- width:100%;
932
+ font-size:var(--tds-checkbox-group-font-size);
933
+ line-height:var(--tds-checkbox-group-line-height);
934
+ border:0;
900
935
  }
901
936
 
902
- .tds-page-header__primary h1{
937
+ .tds-checkbox-group legend{
938
+ float:left;
939
+ padding:0;
903
940
  margin:0;
904
- font-size:var(--tds-page-header-headline-font-size);
905
- font-weight:var(--t-font-weight-normal);
906
- line-height:32px;
907
- color:var(--tds-page-header-headline-color);
908
- overflow-wrap:break-word;
909
941
  }
910
942
 
911
- @media (min-width: 960px){
912
- .tds-page-header__primary{
913
- flex:1 1 max-content;
914
- width:auto;
915
- min-width:0;
916
- max-width:100%;
943
+ .tds-checkbox-group[aria-invalid="true"]{
944
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
945
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
917
946
  }
918
947
 
919
- .tds-page-header__title-bar,
920
- .tds-page-header--profile .tds-page-header__title-bar{
921
- flex-flow:row nowrap;
922
- row-gap:12px;
923
- align-items:flex-start;
924
- }
925
- .tds-page-header :is([slot="actions"],.tds-page-header__actions){
926
- width:auto;
948
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
949
+ margin-left:.25ch;
950
+ color:var(--t-text-color-status-error);
951
+ content:"*";
927
952
  }
928
953
 
929
- .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
930
- justify-content:flex-end;
954
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
955
+ content:none;
931
956
  }
932
- }
933
957
 
934
- .tds-page-header-phone,
935
- .tds-page-header-email{
936
- color:var(--tds-page-header-color);
937
- white-space:nowrap;
958
+ .tds-checkbox-group-fields{
959
+ display:flex;
960
+ flex-direction:column;
961
+ gap:var(--tds-checkbox-group-gap);
962
+ align-items:flex-start;
963
+ margin-top:var(--t-spacing-1);
938
964
  }
939
- .tds-page-header-email{
940
- max-width:100%;
941
- overflow:hidden;
942
- text-overflow:ellipsis;
965
+
966
+ .tds-checkbox-group-description{
967
+ display:flex;
968
+ gap:var(--t-spacing-half);
969
+ align-items:flex-start;
970
+ margin:var(--t-spacing-fourth) 0 0;
971
+ font-size:var(--tds-checkbox-group-description-font-size);
972
+ line-height:var(--tds-checkbox-group-description-line-height);
973
+ color:var(--tds-checkbox-group-description-color);
974
+ cursor:text;
943
975
  }
944
976
 
945
- @keyframes indicator-pulse{
946
- 0%{
947
- opacity:.3;
948
- transform:scale(.9);
977
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
978
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
979
+ flex-shrink:0;
980
+ margin-top:calc(.5lh - .5em);
981
+ line-height:var(--tds-checkbox-group-description-line-height);
949
982
  }
950
983
 
951
- 100%{
952
- opacity:0;
953
- transform:scale(1.75);
954
- }
984
+ .tds-checkbox-group--sm{
985
+ --tds-checkbox-group-line-height:1.35;
986
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
987
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
988
+ --tds-checkbox-group-description-line-height:1.3;
955
989
  }
956
990
 
957
991
 
958
- @media (prefers-reduced-motion: no-preference){
959
-
960
- :root{
961
- interpolate-size:allow-keywords;
962
- }
963
- }
964
-
965
- @layer tds-component{
966
- tds-sidenav,
967
- .tds-sidenav{
968
- --tds-sidenav-indent:12px;
969
- --tds-sidenav-item-depth:0;
992
+ :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{
993
+ -webkit-appearance:none;
994
+ appearance:none;
995
+ }
970
996
 
971
- --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
997
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
998
+ inline-size:1em;
999
+ block-size:2em;
1000
+ }
972
1001
 
973
- --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;
974
- --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;
975
- --tds-sidenav-collapse-closed-opacity:0;
976
- --tds-sidenav-collapse-open-opacity:1;
977
- --tds-sidenav-collapse-closed-transform:translateY(-8px);
978
- --tds-sidenav-collapse-open-transform:translateY(0);
1002
+ [type="file"]:is(.tds-input input){
1003
+ padding-block:var(--t-spacing-half);
1004
+ padding-inline-start:var(--t-spacing-half);
1005
+ }
979
1006
 
980
- --tds-sidenav-item-icon-size:var(--t-element-size-md);
981
- --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
982
- --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
983
- --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
1007
+ [type="file"]:is(.tds-input input):not(:disabled){
1008
+ color:var(--t-text-color-secondary);
1009
+ }
984
1010
 
985
- --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
986
- --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
987
- --tds-sidenav-item-nested-background-selected:transparent;
1011
+ [type="file"]:is(.tds-input input)::file-selector-button{
1012
+ --_file-btn-padding-block:3px;
1013
+
1014
+ padding-block:var(--_file-btn-padding-block);
1015
+ padding-inline:12px;
1016
+ margin-inline-end:12px;
1017
+ font:inherit;
1018
+ line-height:calc(var(--tds-input-min-height) - (var(--t-form-border-width) * 2 + var(--t-border-width) * 2 + var(--_file-btn-padding-block) * 2 + var(--t-spacing-half) * 2));
1019
+ color:var(--t-text-color-status-neutral);
1020
+ cursor:pointer;
1021
+ background-color:var(--t-fill-color-button-neutral-solid);
1022
+ border:var(--t-border-width) solid var(--t-fill-color-button-neutral-solid);
1023
+ border-radius:var(--t-border-radius-md);
1024
+ transition-timing-function:var(--t-ease-in-out);
1025
+ transition-duration:var(--t-duration-200);
1026
+ transition-property:color, background-color, border-color;
1027
+ }
988
1028
 
989
- --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
990
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
991
- --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
1029
+ [type="file"]:is(.tds-input input):hover::file-selector-button{
1030
+ background-color:var(--t-fill-color-button-neutral-solid-hover);
1031
+ border-color:var(--t-fill-color-button-neutral-solid-hover);
1032
+ }
992
1033
 
993
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
994
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
995
- }
1034
+ [type="file"]:is(.tds-input input):active::file-selector-button{
1035
+ background-color:var(--t-fill-color-button-neutral-solid-active);
1036
+ border-color:var(--t-fill-color-button-neutral-solid-active);
1037
+ }
996
1038
 
997
- @media (prefers-reduced-motion: reduce){
998
- tds-sidenav,
999
- .tds-sidenav{
1000
- --tds-sidenav-collapse-transition-enter:none;
1001
- --tds-sidenav-collapse-transition-exit:none;
1002
- --tds-sidenav-collapse-closed-transform:none;
1003
- --tds-sidenav-collapse-open-transform:none;
1039
+ [type="file"]:is(.tds-input input):disabled::file-selector-button{
1040
+ color:var(--t-text-color-disabled);
1041
+ pointer-events:none;
1042
+ background-color:var(--t-fill-color-button-neutral-solid-disabled);
1043
+ border-color:var(--t-fill-color-button-neutral-solid-disabled);
1044
+ }
1045
+ @supports (field-sizing: content){
1046
+ .tds-input--auto-width{
1047
+ inline-size:-moz-fit-content;
1048
+ inline-size:fit-content;
1049
+ min-inline-size:min(100%, 122px);
1004
1050
  }
1005
- }
1006
1051
 
1007
- .tds-sidenav--theme-gray{
1008
- --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
1009
- --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
1010
- --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
1011
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1012
- --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
1052
+ .tds-input--auto-width input{
1053
+ field-sizing:content;
1054
+ inline-size:auto;
1013
1055
  }
1014
1056
  }
1015
1057
 
1016
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
1017
- display:flex;
1018
- }
1058
+ .tds-popover{
1059
+ max-inline-size:24rem;
1060
+ overflow:auto;
1061
+ overscroll-behavior:none;
1062
+ outline:0;
1063
+ scrollbar-color:#0004 var(--t-surface-color-card);
1064
+ scrollbar-width:thin;
1065
+ background:var(--t-surface-color-card);
1066
+ background-clip:padding-box;
1067
+ border:1px solid var(--t-border-color);
1068
+ border-radius:var(--t-border-radius);
1069
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1070
+ }
1019
1071
 
1020
- .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
1021
- flex-direction:column;
1022
- gap:var(--t-spacing-half);
1023
- width:100%;
1024
- }
1072
+ @media (prefers-reduced-motion: no-preference){
1073
+ .tds-popover[data-entering]{
1074
+ animation:tds-popover var(--t-duration-300) var(--t-ease-out);
1075
+ }
1025
1076
 
1026
- .tds-sidenav-section-list{
1027
- width:100%;
1028
- padding:0;
1029
- margin:0;
1030
- list-style:none;
1077
+ .tds-popover[data-exiting]{
1078
+ animation:tds-popover var(--t-duration-200) var(--t-ease-in) reverse;
1079
+ }
1080
+
1081
+ .tds-popover[data-entering],.tds-popover[data-exiting]{
1082
+ will-change:opacity, transform;
1083
+ }
1084
+
1085
+ @keyframes tds-popover{
1086
+ from{
1087
+ opacity:0;
1088
+ transform:translateY(-8px);
1089
+ }
1090
+ }
1031
1091
  }
1032
1092
 
1033
- .tds-sidenav-section-header{
1093
+ .tds-popover-content{
1034
1094
  display:flex;
1035
- align-items:baseline;
1036
- justify-content:space-between;
1037
- padding-top:var(--t-spacing-2);
1095
+ flex-direction:column;
1096
+ padding:var(--t-spacing-1);
1097
+ outline:0;
1038
1098
  }
1039
1099
 
1040
- .tds-sidenav-section-header h2{
1041
- margin:0;
1042
- font-size:var(--t-font-size-sm);
1043
- font-weight:var(--t-font-weight-semibold);
1044
- line-height:1.35;
1045
- color:var(--t-text-color-secondary);
1046
- text-transform:uppercase;
1047
- }
1100
+ .tds-radio{
1101
+ --tds-radio-font-size:var(--t-font-size-md);
1102
+ --tds-radio-cursor:pointer;
1103
+ --tds-radio-line-height:1.4;
1104
+ --tds-radio-transition-property:border-width;
1048
1105
 
1049
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
1050
- padding-top:0;
1051
- }
1106
+ --tds-radio-input-size:var(--t-element-size-md);
1107
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
1108
+ --tds-radio-input-border-color:var(--t-form-border-color);
1109
+ --tds-radio-input-border-width:var(--t-form-border-width);
1110
+ --tds-radio-input-background-color:var(--t-form-background-color);
1052
1111
 
1053
- .tds-sidenav-section-header [slot="label-actions"]{
1054
- display:flex;
1055
- gap:var(--t-spacing-half);
1056
- align-items:center;
1057
- }
1112
+ --tds-radio-label-color:var(--t-form-color);
1058
1113
 
1059
- .tds-sidenav-section [slot="section-actions"]{
1060
- display:flex;
1061
- gap:12px;
1062
- align-items:center;
1063
- min-height:42px;
1064
- padding:var(--t-spacing-1) 0;
1065
- }
1114
+ --tds-radio-description-font-size:var(--t-font-size-sm);
1115
+ --tds-radio-description-line-height:1.35;
1116
+ --tds-radio-description-color:var(--t-text-color-secondary);
1066
1117
 
1067
- .tds-sidenav-section-list,
1068
- .tds-sidenav-item{
1069
- width:100%;
1070
- padding:0;
1071
- margin:0;
1118
+ position:relative;
1119
+ display:inline-grid;
1120
+ grid-template-columns:auto;
1121
+ grid-auto-columns:1fr;
1122
+ gap:var(--t-spacing-fourth) 0;
1123
+ line-height:var(--tds-radio-line-height);
1124
+ -webkit-user-select:none;
1125
+ -moz-user-select:none;
1126
+ user-select:none;
1072
1127
  }
1073
1128
 
1074
- .tds-sidenav-item :is(a,button){
1129
+ .tds-radio label{
1130
+ grid-area:1 / 2;
1131
+ padding-inline-start:var(--t-spacing-1);
1132
+ font-size:var(--tds-radio-font-size);
1133
+ font-weight:var(--t-font-weight-normal);
1134
+ color:var(--tds-radio-label-color);
1135
+ cursor:var(--tds-radio-cursor);
1136
+ }
1137
+
1138
+ .tds-radio input[type="radio"]{
1075
1139
  position:relative;
1076
- display:flex;
1077
- gap:12px;
1078
- align-items:center;
1079
- width:100%;
1080
- padding:12px;
1081
- overflow:hidden;
1082
- font-size:var(--t-font-size-sm);
1083
- line-height:18px;
1084
- color:var(--t-text-color-headline);
1085
- white-space:nowrap;
1086
- text-decoration:none;
1140
+ width:1em;
1141
+ height:1em;
1142
+ margin:calc((1lh - 1em) / 2) 0 0;
1143
+ font-size:var(--tds-radio-font-size);
1144
+ line-height:inherit;
1087
1145
  -webkit-appearance:none;
1088
1146
  -moz-appearance:none;
1089
1147
  appearance:none;
1090
- cursor:pointer;
1091
- background-color:var(--tds-sidenav-item-background, transparent);
1092
- border:0;
1093
- border-radius:var(--t-border-radius);
1094
- transition:var(--tds-sidenav-item-transition);
1148
+ cursor:var(--tds-radio-cursor);
1149
+ background-color:var(--tds-radio-input-background-color);
1150
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1151
+ border-radius:var(--tds-radio-input-border-radius);
1152
+ transition-timing-function:var(--t-ease-in-out);
1153
+ transition-duration:var(--t-duration-200);
1154
+ transition-property:var(--tds-radio-transition-property);
1095
1155
  }
1096
1156
 
1097
- :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
1098
- display:block;
1099
- flex:1;
1100
- overflow:hidden;
1101
- text-overflow:ellipsis;
1102
- text-align:left;
1103
- white-space:nowrap;
1104
- }
1105
-
1106
- :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
1107
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
1108
- color:var(--t-text-color-headline);
1109
- text-decoration:none;
1157
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1158
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1159
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1110
1160
  }
1111
1161
 
1112
- :is(.tds-sidenav-item :is(a,button)):active{
1113
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
1162
+ :is(.tds-radio input[type="radio"]):focus-visible{
1163
+ outline:var(--t-focus-ring-outline);
1164
+ outline-offset:var(--t-focus-ring-offset);
1114
1165
  }
1115
1166
 
1116
- :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
1117
- overflow:hidden;
1118
- color:var(--tds-sidenav-item-icon-color);
1167
+ :is(.tds-radio input[type="radio"]):disabled{
1168
+ pointer-events:none;
1119
1169
  }
1120
1170
 
1121
- :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{
1122
- display:block;
1123
- width:var(--tds-sidenav-item-icon-size);
1124
- height:var(--tds-sidenav-item-icon-size);
1125
- }
1126
-
1127
- :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
1128
- --tds-sidenav-indent:19px;
1129
- }
1171
+ @media (prefers-reduced-motion: reduce){
1130
1172
 
1131
- [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
1132
- visibility:visible;
1133
- block-size:auto;
1134
- opacity:1;
1173
+ .tds-radio input[type="radio"]{
1174
+ --tds-radio-transition-property:none;
1175
+ }
1135
1176
  }
1136
1177
 
1137
- .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
1138
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
1139
- --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
1140
-
1141
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
1142
- font-weight:var(--t-font-weight-semibold);
1178
+ .tds-radio:has(input:checked){
1179
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
1180
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
1181
+ --tds-radio-input-border-width:4px;
1143
1182
  }
1144
1183
 
1145
- .tds-sidenav-item:has(.tds-sidenav-section){
1146
- display:flex;
1147
- flex-direction:column;
1148
- gap:var(--t-spacing-half);
1149
- }
1184
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
1185
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
1186
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1187
+ }
1150
1188
 
1151
- .tds-sidenav-item .tds-sidenav-section-list{
1152
- --tds-sidenav-item-depth:1;
1153
- gap:0;
1189
+ .tds-radio:has(input:user-invalid){
1190
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1154
1191
  }
1155
1192
 
1156
- .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
1157
- visibility:hidden;
1158
- block-size:0;
1159
- overflow-y:clip;
1160
- opacity:0;
1161
- transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
1193
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1194
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1195
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1162
1196
  }
1163
1197
 
1164
- :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
1165
- --tds-sidenav-item-depth:2;
1198
+ .tds-radio:has(input:disabled){
1199
+ --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1200
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1201
+
1202
+ --tds-radio-label-color:var(--t-form-color-disabled);
1203
+ --tds-radio-description-color:var(--t-form-color-disabled);
1204
+ --tds-radio-cursor:not-allowed;
1205
+ }
1206
+
1207
+ .tds-radio:has(input:disabled) input:checked{
1208
+ --tds-radio-input-background-color:var(--t-form-background-color);
1209
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1166
1210
  }
1167
1211
 
1168
- :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1169
- min-height:var(--t-element-size-2xl);
1170
- padding-block:9px;
1171
- padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
1172
- line-height:1;
1173
- background-color:transparent;
1174
- }
1212
+ .tds-radio-description{
1213
+ display:flex;
1214
+ grid-area:2 / 2;
1215
+ gap:var(--t-spacing-half);
1216
+ align-items:flex-start;
1217
+ padding-inline-start:var(--t-spacing-1);
1218
+ margin:0;
1219
+ font-size:var(--tds-radio-description-font-size);
1220
+ line-height:var(--tds-radio-description-line-height);
1221
+ color:var(--tds-radio-description-color);
1222
+ cursor:text;
1223
+ }
1175
1224
 
1176
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
1177
- position:absolute;
1178
- top:0;
1179
- bottom:0;
1180
- left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1181
- width:2px;
1182
- content:"";
1183
- background-color:var(--tds-sidenav-item-nested-border-color);
1184
- transition:var(--tds-sidenav-item-transition);
1185
- }
1225
+ .tds-radio--sm{
1226
+ --tds-radio-line-height:1.35;
1227
+ --tds-radio-input-size:var(--t-element-size-sm);
1228
+ --tds-radio-font-size:var(--t-font-size-sm);
1229
+ --tds-radio-description-font-size:var(--t-font-size-xs);
1230
+ --tds-radio-description-line-height:1.3;
1231
+ }
1186
1232
 
1187
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
1188
- position:absolute;
1189
- inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1190
- z-index:-1;
1191
- height:100%;
1192
- content:"";
1193
- background-color:var(--tds-sidenav-item-nested-background);
1194
- border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
1195
- transition:var(--tds-sidenav-item-transition);
1196
- }
1233
+ .tds-modal-overlay{
1234
+ --tds-modal-min-margin-block:var(--t-spacing-3);
1197
1235
 
1198
- :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)){
1199
- display:block;
1200
- text-align:left;
1201
- white-space:normal;
1202
- }
1236
+ position:fixed;
1237
+ inset:0;
1238
+ z-index:1000;
1239
+ display:grid;
1240
+ grid-template-rows:minmax(var(--tds-modal-min-margin-block), 1fr) auto minmax(var(--tds-modal-min-margin-block), 1fr);
1241
+ justify-items:center;
1242
+ overflow-y:auto;
1243
+ background:hsl(0 0% 0% / 40%);
1244
+ }
1203
1245
 
1204
- :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{
1205
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
1206
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
1207
- }
1246
+ .tds-modal-overlay[data-entering]{
1247
+ animation:tds-modal-overlay-fade var(--t-duration-300) var(--t-ease-out);
1248
+ }
1208
1249
 
1209
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
1210
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
1211
- }
1250
+ .tds-modal-overlay[data-exiting]{
1251
+ animation:tds-modal-overlay-fade var(--t-duration-200) var(--t-ease-in) reverse;
1252
+ }
1212
1253
 
1213
- .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1214
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
1215
- font-weight:var(--t-font-weight-medium);
1216
- }
1254
+ @keyframes tds-modal-overlay-fade{
1255
+ from{
1256
+ opacity:0;
1257
+ }
1258
+ }
1217
1259
 
1218
- .tds-sidenav-responsive-header{
1260
+ .tds-modal-frame{
1261
+ --tds-modal-width:600px;
1262
+ --tds-modal-edge-margin-inline:var(--t-spacing-3);
1219
1263
  display:flex;
1220
- gap:var(--t-spacing-2);
1221
- align-items:center;
1222
- width:100%;
1264
+
1265
+ grid-row:2;
1266
+ justify-content:center;
1267
+ width:min(var(--tds-modal-width), calc(100% - var(--tds-modal-edge-margin-inline) * 2));
1223
1268
  }
1224
1269
 
1225
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
1226
- order:0;
1270
+ .tds-modal-frame[data-entering]{
1271
+ animation:tds-modal-zoom var(--t-duration-300) var(--t-ease-out);
1227
1272
  }
1228
1273
 
1229
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
1230
- flex:1;
1231
- order:1;
1232
- margin:0;
1233
- font-size:var(--t-font-size-lg);
1234
- font-weight:var(--t-font-weight-medium);
1235
- color:var(--t-text-color-headline);
1274
+ .tds-modal-frame[data-exiting]{
1275
+ animation:tds-modal-zoom var(--t-duration-200) var(--t-ease-in) reverse;
1236
1276
  }
1237
1277
 
1238
- @media (max-width: 719px){
1239
- .tds-sidenav-collapse{
1240
- z-index:10001;
1241
- display:none;
1242
- max-width:min(448px, calc(100vw - 48px));
1243
- padding:0;
1244
- margin:12px 0;
1245
- position-area:bottom span-right;
1246
- overflow:hidden;
1247
- outline:0;
1248
- background:var(--t-surface-color-card);
1249
- border:0;
1250
- border-radius:6px;
1251
- box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
1252
- opacity:var(--tds-sidenav-collapse-open-opacity);
1253
- transform:var(--tds-sidenav-collapse-open-transform);
1254
- transition:var(--tds-sidenav-collapse-transition-enter);
1255
- will-change:transform;
1256
- }
1278
+ .tds-modal-frame--sm{
1279
+ --tds-modal-width:400px;
1280
+ }
1257
1281
 
1258
- .tds-sidenav-scroll-container{
1259
- --webkit-overflow-scrolling:touch;
1260
- display:block;
1261
- width:100%;
1262
- height:-moz-fit-content;
1263
- height:fit-content;
1264
- padding:var(--t-spacing-2);
1265
- overflow-y:auto;
1282
+ .tds-modal-frame--lg{
1283
+ --tds-modal-width:800px;
1284
+ }
1285
+
1286
+ .tds-modal-frame--xl{
1287
+ --tds-modal-width:1000px;
1288
+ }
1289
+
1290
+ @keyframes tds-modal-zoom{
1291
+ from{
1292
+ opacity:0;
1293
+ scale:.96;
1266
1294
  }
1295
+ }
1267
1296
 
1268
- .tds-sidenav-item :is(a, button) :is(.prefix){
1269
- display:none;
1297
+ @media (prefers-reduced-motion: reduce){
1298
+ .tds-modal-overlay[data-entering],
1299
+ .tds-modal-overlay[data-exiting],
1300
+ .tds-modal-frame[data-entering],
1301
+ .tds-modal-frame[data-exiting]{
1302
+ animation:none;
1270
1303
  }
1271
- @supports selector(:popover-open){
1272
- .tds-sidenav-collapse:popover-open{
1273
- display:flex;
1274
- }
1304
+ }
1275
1305
 
1276
- .tds-sidenav-collapse:not(:popover-open){
1277
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1278
- transition:var(--tds-sidenav-collapse-transition-exit);
1279
- }
1306
+ .tds-modal{
1307
+ display:flex;
1308
+ flex-direction:column;
1309
+ width:100%;
1310
+ padding-block-start:var(--t-spacing-3);
1311
+ padding-inline:0;
1312
+ background:var(--t-surface-color-card);
1280
1313
 
1281
- @starting-style{
1282
- .tds-sidenav-collapse:popover-open{
1283
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1284
- transform:var(--tds-sidenav-collapse-closed-transform);
1285
- }
1286
- }
1287
- }
1288
- @supports not selector(:popover-open){
1289
- .tds-sidenav-collapse.\:popover-open{
1290
- display:flex;
1291
- }
1314
+ border:0;
1315
+ border-radius:var(--t-border-radius-lg);
1316
+ box-shadow:0 4px 18px 0 #0003;
1317
+ }
1292
1318
 
1293
- .tds-sidenav-collapse:not(.\:popover-open){
1294
- opacity:var(--tds-sidenav-collapse-closed-opacity);
1295
- transition:var(--tds-sidenav-collapse-transition-exit);
1296
- }
1319
+ .tds-modal:focus{
1320
+ outline:none;
1297
1321
  }
1322
+
1323
+ .tds-modal-header{
1324
+ display:grid;
1325
+ grid-template-columns:1fr auto;
1326
+ -moz-column-gap:var(--t-spacing-2);
1327
+ column-gap:var(--t-spacing-2);
1328
+ padding-block:0;
1329
+ padding-inline:var(--t-spacing-4);
1298
1330
  }
1299
1331
 
1300
- @media (min-width: 720px){
1301
- .tds-sidenav-responsive-header{
1302
- display:none;
1303
- }
1332
+ .tds-modal-title{
1333
+ grid-row:1;
1334
+ grid-column:1;
1335
+ margin:0;
1336
+ font-size:var(--t-font-size-2xl);
1337
+ font-weight:var(--t-font-weight-medium);
1338
+ line-height:140%;
1339
+ color:var(--t-text-color-headline);
1304
1340
  }
1305
1341
 
1306
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
1307
- display:none;
1308
- }
1342
+ .tds-modal-subtitle{
1343
+ grid-row:2;
1344
+ grid-column:1;
1345
+ margin:0;
1346
+ font-size:var(--t-font-size-md);
1347
+ font-weight:var(--t-font-weight-medium);
1348
+ line-height:140%;
1349
+ color:var(--t-text-color-secondary);
1350
+ }
1309
1351
 
1310
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1311
- display:block;
1312
- }
1352
+ .tds-modal-close{
1353
+ grid-row:1;
1354
+ grid-column:2;
1355
+ align-self:center;
1356
+ color:var(--t-icon-color-dim);
1357
+ }
1313
1358
 
1314
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1315
- display:flex;
1316
- flex-direction:column;
1317
- }
1359
+ .tds-modal-body{
1360
+ padding-block:var(--t-spacing-3);
1361
+ padding-inline:var(--t-spacing-4);
1362
+ }
1318
1363
 
1319
- .tds-button-group{
1320
- display:inline-flex;
1364
+ .tds-modal-body--full-width{
1365
+ padding-inline:0;
1321
1366
  }
1322
- .tds-button-group > .tds-btn{
1323
- --tds-button-group-item-z-index:1;
1324
1367
 
1325
- position:relative;
1326
- z-index:var(--tds-button-group-item-z-index);
1327
- border-radius:0;
1328
- }
1329
- :is(.tds-button-group > .tds-btn):not(:first-child){
1330
- margin-inline-start:calc(var(--tds-btn-border-width) * -1);
1331
- }
1332
- :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{
1333
- position:absolute;
1334
- inset-block:calc(var(--tds-btn-border-width) * -1);
1335
- width:var(--tds-btn-border-width);
1336
- pointer-events:none;
1337
- content:"";
1338
- background-color:var(--t-border-color-white);
1339
- }
1340
- :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before{
1341
- inset-inline-start:calc(var(--tds-btn-border-width) * -1);
1342
- }
1343
- :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
1344
- inset-inline-end:calc(var(--tds-btn-border-width) * -1);
1345
- }
1346
- :is(.tds-button-group > .tds-btn):hover,:is(.tds-button-group > .tds-btn):focus{
1347
- --tds-button-group-item-z-index:2;
1348
- }
1349
- :is(.tds-button-group > .tds-btn):focus-visible{
1350
- --tds-button-group-item-z-index:5;
1351
- }
1352
- .tds-button-group > .tds-btn:first-child{
1353
- border-start-start-radius:var(--tds-btn-border-radius);
1354
- border-end-start-radius:var(--tds-btn-border-radius);
1355
- }
1356
- .tds-button-group > .tds-btn:last-child{
1357
- border-start-end-radius:var(--tds-btn-border-radius);
1358
- border-end-end-radius:var(--tds-btn-border-radius);
1359
- }
1360
-
1361
- .tds-checkbox{
1362
- --tds-checkbox-font-size:var(--t-font-size-md);
1363
- --tds-checkbox-cursor:pointer;
1364
- --tds-checkbox-line-height:1.4;
1365
- --tds-checkbox-transition-property:background-color, border-color;
1366
-
1367
- --tds-checkbox-input-size:var(--t-element-size-md);
1368
- --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
1369
- --tds-checkbox-input-border-color:var(--t-form-border-color);
1370
- --tds-checkbox-input-background-color:var(--t-form-background-color);
1371
-
1372
- --tds-checkbox-input-icon:none;
1373
- --tds-checkbox-input-icon-visibility:hidden;
1374
- --tds-checkbox-input-icon-opacity:0;
1375
- --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
1376
-
1377
- --tds-checkbox-label-color:var(--t-form-color);
1378
-
1379
- --tds-checkbox-description-font-size:var(--t-font-size-sm);
1380
- --tds-checkbox-description-line-height:1.35;
1381
- --tds-checkbox-description-color:var(--t-text-color-secondary);
1382
- --tds-checkbox-description-invalid-icon-display:none;
1368
+ .tds-modal-footer{
1369
+ display:flex;
1370
+ gap:var(--t-spacing-2);
1371
+ align-items:center;
1372
+ justify-content:flex-end;
1373
+ padding-block:var(--t-spacing-3);
1374
+ padding-inline:var(--t-spacing-4);
1375
+ border-top:1px solid var(--t-border-color);
1376
+ }
1383
1377
 
1384
- position:relative;
1385
- display:inline-grid;
1386
- grid-template-columns:auto;
1387
- grid-auto-columns:1fr;
1388
- gap:var(--t-spacing-fourth) 0;
1389
- line-height:var(--tds-checkbox-line-height);
1390
- -webkit-user-select:none;
1391
- -moz-user-select:none;
1392
- user-select:none;
1378
+ .tds-modal-footer > [slot="start"]{
1379
+ margin-inline-end:auto;
1393
1380
  }
1394
1381
 
1395
- .tds-checkbox label{
1396
- grid-area:1 / 2;
1397
- padding-inline-start:var(--t-spacing-1);
1398
- font-size:var(--tds-checkbox-font-size);
1399
- font-weight:var(--t-font-weight-normal);
1400
- color:var(--tds-checkbox-label-color);
1401
- cursor:var(--tds-checkbox-cursor);
1382
+ @media (min-width: 720px){
1383
+ .tds-modal-overlay{
1384
+ --tds-modal-min-margin-block:0;
1402
1385
  }
1403
1386
 
1404
- .tds-checkbox tds-indeterminate{
1405
- display:flex;
1387
+ .tds-modal-footer{
1388
+ position:sticky;
1389
+ bottom:0;
1390
+ background:var(--t-surface-color-card);
1391
+ border-end-start-radius:var(--t-border-radius-lg);
1392
+ border-end-end-radius:var(--t-border-radius-lg);
1406
1393
  }
1394
+ }
1407
1395
 
1408
- .tds-checkbox input[type="checkbox"]{
1409
- position:relative;
1410
- width:1em;
1411
- height:1em;
1412
- margin:calc((1lh - 1em) / 2) 0 0;
1413
- font-size:var(--tds-checkbox-font-size);
1414
- line-height:inherit;
1415
- -webkit-appearance:none;
1416
- -moz-appearance:none;
1417
- appearance:none;
1418
- cursor:var(--tds-checkbox-cursor);
1419
- background-color:var(--tds-checkbox-input-background-color);
1420
- border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
1421
- border-radius:var(--tds-checkbox-input-border-radius);
1422
- transition-timing-function:var(--t-ease-in-out);
1423
- transition-duration:var(--t-duration-200);
1424
- transition-property:var(--tds-checkbox-transition-property);
1396
+ .tds-input:has(textarea){
1397
+ --tds-input-padding-block:6px;
1398
+ --tds-input-resizer-size:var(--t-element-size-sm);
1399
+ --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");
1400
+ }
1401
+
1402
+ @supports (x: attr(x type(*))){
1403
+
1404
+ .tds-input textarea{
1405
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1406
+ }
1425
1407
  }
1426
1408
 
1427
- :is(.tds-checkbox input[type="checkbox"])::before{
1428
- position:absolute;
1429
- top:50%;
1430
- left:50%;
1431
- visibility:var(--tds-checkbox-input-icon-visibility);
1432
- width:100%;
1433
- height:100%;
1434
- content:"";
1435
- background-color:var(--tds-checkbox-input-icon-fill);
1436
- border-radius:var(--tds-checkbox-input-border-radius);
1437
- opacity:var(--tds-checkbox-input-icon-opacity);
1438
- -webkit-mask-image:var(--tds-checkbox-input-icon);
1439
- mask-image:var(--tds-checkbox-input-icon);
1440
- -webkit-mask-repeat:no-repeat;
1441
- mask-repeat:no-repeat;
1442
- -webkit-mask-size:contain;
1443
- mask-size:contain;
1444
- transform:translate(-50%, -50%);
1409
+ .tds-input.tds-textarea--resize-vertical textarea{
1410
+ resize:vertical;
1445
1411
  }
1446
1412
 
1447
- :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
1448
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
1449
- --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1413
+ .tds-input.tds-textarea--resize-none textarea{
1414
+ resize:none;
1450
1415
  }
1451
1416
 
1452
- :is(.tds-checkbox input[type="checkbox"]):focus-visible{
1453
- outline:var(--t-focus-ring-outline);
1454
- outline-offset:var(--t-focus-ring-offset);
1417
+ .tds-input.tds-textarea--resize-auto textarea{
1418
+ resize:vertical;
1455
1419
  }
1456
1420
 
1457
- :is(.tds-checkbox input[type="checkbox"]):disabled{
1458
- pointer-events:none;
1421
+ @supports (field-sizing: content){
1422
+ .tds-input.tds-textarea--resize-auto textarea{
1423
+ field-sizing:content;
1424
+ resize:none;
1425
+ }
1459
1426
  }
1460
1427
 
1461
- @media (prefers-reduced-motion: reduce){
1428
+ .tds-input textarea{
1429
+ --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1430
+ --tds-input-scrollbar-thumb-color-hidden:transparent;
1431
+ --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1432
+ --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1433
+ --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1434
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1435
+ --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1436
+ --tds-input-scrollbar-thumb-border-radius:999px;
1437
+ --tds-input-scrollbar-thumb-border-width:3px;
1438
+ --tds-input-scrollbar-track-margin-block:.125rem;
1439
+ scrollbar-color:initial;
1440
+ transition-timing-function:var(--t-ease-in-out);
1441
+ transition-duration:var(--t-duration-200);
1442
+ transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1443
+ }
1462
1444
 
1463
- .tds-checkbox input[type="checkbox"]{
1464
- --tds-checkbox-transition-property:none;
1465
- }
1445
+ @media (pointer: fine){
1446
+ :is(.tds-input textarea)::-webkit-scrollbar{
1447
+ width:12px;
1448
+ height:12px;
1449
+ cursor:default;
1466
1450
  }
1467
1451
 
1468
- .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
1469
- --tds-checkbox-input-background-color:var(--t-fill-color-control);
1470
- --tds-checkbox-input-border-color:var(--t-border-color-control-info);
1471
- --tds-checkbox-input-icon-visibility:visible;
1472
- --tds-checkbox-input-icon-opacity:1;
1473
- }
1452
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1453
+ cursor:default;
1454
+ background:var(--tds-input-scrollbar-thumb-color);
1455
+ background-clip:content-box;
1456
+ border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1457
+ border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1458
+ }
1474
1459
 
1475
- :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
1476
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
1477
- --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
1460
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1461
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
1478
1462
  }
1479
1463
 
1480
- .tds-checkbox:has(input:checked){
1481
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1482
- }
1464
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1465
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1466
+ }
1483
1467
 
1484
- .tds-checkbox:has(input:indeterminate){
1485
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1486
- }
1468
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1469
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1470
+ }
1487
1471
 
1488
- .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
1489
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1490
- --tds-checkbox-description-color:var(--t-text-color-status-error);
1491
- --tds-checkbox-description-invalid-icon-display:inline-block;
1492
- }
1472
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
1473
+ background:var(--tds-input-scrollbar-surface-color);
1474
+ }
1493
1475
 
1494
- :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
1495
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1496
- --tds-checkbox-input-background-color:var(--t-form-background-color-error);
1476
+ :is(.tds-input textarea)::-webkit-resizer{
1477
+ background:var(--tds-input-resizer-icon) no-repeat;
1478
+ background-position:right bottom;
1479
+ background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
1497
1480
  }
1498
1481
 
1499
- :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{
1500
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1501
- --tds-checkbox-input-background-color:var(--t-form-border-color-error);
1482
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
1483
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
1484
+ cursor:default;
1502
1485
  }
1503
1486
 
1504
- :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){
1505
- --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
1506
- --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
1487
+ @supports (-moz-appearance: none){
1488
+ :is(.tds-input textarea){
1489
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1490
+ scrollbar-width:thin;
1507
1491
  }
1508
1492
 
1509
- .tds-checkbox:has(input:required) label::after{
1510
- margin-left:.25ch;
1511
- color:var(--t-text-color-status-error);
1512
- content:"*";
1493
+ @media (hover){
1494
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1495
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1496
+ }
1497
+ }
1513
1498
  }
1514
-
1515
- .tds-checkbox:has(input:disabled){
1516
- --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
1517
- --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
1518
-
1519
- --tds-checkbox-label-color:var(--t-form-color-disabled);
1520
- --tds-checkbox-description-color:var(--t-form-color-disabled);
1521
- --tds-checkbox-cursor:not-allowed;
1522
1499
  }
1523
1500
 
1524
- .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
1525
- --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
1501
+ .tds-toggle-switch{
1502
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
1503
+ --tds-toggle-switch-cursor:pointer;
1504
+ --tds-toggle-switch-display:inline-grid;
1505
+ --tds-toggle-switch-line-height:1.4;
1506
+
1507
+ --tds-toggle-switch-label-color:var(--t-form-color);
1508
+
1509
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
1510
+ --tds-toggle-switch-track-outline:none;
1511
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
1512
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1513
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1514
+
1515
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1516
+ --tds-toggle-switch-thumb-transform:translateX(0);
1517
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1518
+
1519
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1520
+ --tds-toggle-switch-description-line-height:1.35;
1521
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1522
+ position:relative;
1523
+
1524
+ display:var(--tds-toggle-switch-display);
1525
+ grid-template-columns:auto;
1526
+ grid-auto-columns:1fr;
1527
+ gap:var(--t-spacing-fourth) 0;
1528
+ -webkit-user-select:none;
1529
+ -moz-user-select:none;
1530
+ user-select:none;
1531
+ }
1532
+
1533
+ .tds-toggle-switch input[type="checkbox"]{
1534
+ position:absolute;
1535
+ width:var(--tds-toggle-switch-track-width);
1536
+ height:var(--tds-toggle-switch-track-height);
1537
+ margin:0;
1538
+ -webkit-appearance:none;
1539
+ -moz-appearance:none;
1540
+ appearance:none;
1541
+ cursor:var(--tds-toggle-switch-cursor);
1542
+ outline:var(--tds-toggle-switch-track-outline);
1543
+ outline-offset:var(--t-focus-ring-offset);
1544
+ background-color:transparent;
1545
+ border:0;
1546
+ border-radius:var(--t-border-radius-round);
1547
+ }
1548
+
1549
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1550
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1526
1551
  }
1527
1552
 
1528
- .tds-checkbox-description{
1553
+ .tds-toggle-switch label{
1554
+ display:inline-flex;
1555
+ grid-area:1 / 2;
1556
+ padding-inline-start:var(--t-spacing-1);
1557
+ margin-top:-.09375em;
1558
+ font-size:var(--tds-toggle-switch-font-size);
1559
+ font-weight:var(--t-font-weight-normal);
1560
+ line-height:var(--tds-toggle-switch-line-height);
1561
+ color:var(--tds-toggle-switch-label-color);
1562
+ cursor:var(--tds-toggle-switch-cursor);
1563
+ }
1564
+
1565
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1566
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1567
+ }
1568
+
1569
+ .tds-toggle-switch:has(input:checked){
1570
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1571
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1572
+ }
1573
+
1574
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1575
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1576
+ }
1577
+
1578
+ .tds-toggle-switch:has(input:disabled){
1579
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1580
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1581
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1582
+ --tds-toggle-switch-cursor:not-allowed;
1583
+ }
1584
+
1585
+ .tds-toggle-switch-track{
1586
+ position:relative;
1587
+ flex-shrink:0;
1588
+ width:var(--tds-toggle-switch-track-width);
1589
+ height:var(--tds-toggle-switch-track-height);
1590
+ background-color:var(--tds-toggle-switch-track-background-color);
1591
+ border-radius:var(--t-border-radius-round);
1592
+ transition:var(--tds-toggle-switch-track-transition);
1593
+ }
1594
+
1595
+ .tds-toggle-switch-track::before{
1596
+ position:absolute;
1597
+ top:var(--t-spacing-fourth);
1598
+ left:var(--t-spacing-fourth);
1599
+ width:var(--tds-toggle-switch-thumb-size);
1600
+ height:var(--tds-toggle-switch-thumb-size);
1601
+ content:"";
1602
+ background-color:#fff;
1603
+ border-radius:var(--t-border-radius-round);
1604
+ transform:var(--tds-toggle-switch-thumb-transform);
1605
+ transition:var(--tds-toggle-switch-thumb-transition);
1606
+ }
1607
+
1608
+ @media (prefers-reduced-motion: reduce){
1609
+
1610
+ .tds-toggle-switch-track{
1611
+ --tds-toggle-switch-track-transition:none;
1612
+ --tds-toggle-switch-thumb-transition:none;
1613
+ }
1614
+ }
1615
+
1616
+ .tds-toggle-switch-description{
1529
1617
  display:flex;
1530
1618
  grid-area:2 / 2;
1531
- gap:var(--t-spacing-half);
1532
1619
  align-items:flex-start;
1533
1620
  padding-inline-start:var(--t-spacing-1);
1534
1621
  margin:0;
1535
- font-size:var(--tds-checkbox-description-font-size);
1536
- line-height:var(--tds-checkbox-description-line-height);
1537
- color:var(--tds-checkbox-description-color);
1622
+ font-size:var(--tds-toggle-switch-description-font-size);
1623
+ line-height:var(--tds-toggle-switch-description-line-height);
1624
+ color:var(--tds-toggle-switch-description-color);
1538
1625
  cursor:text;
1539
1626
  }
1540
1627
 
1541
- .tds-checkbox-description .tds-checkbox-description-invalid-icon{
1542
- display:var(--tds-checkbox-description-invalid-icon-display);
1543
- flex-shrink:0;
1544
- margin-top:calc(.5lh - .5em);
1545
- line-height:var(--tds-checkbox-description-line-height);
1546
- }
1628
+ .tds-toggle-switch--sm{
1629
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
1630
+ --tds-toggle-switch-line-height:1.35;
1631
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
1632
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1633
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1634
+ --tds-toggle-switch-description-line-height:1.3;
1635
+ }
1547
1636
 
1548
- .tds-checkbox--sm{
1549
- --tds-checkbox-line-height:1.35;
1550
- --tds-checkbox-input-size:var(--t-element-size-sm);
1551
- --tds-checkbox-font-size:var(--t-font-size-sm);
1552
- --tds-checkbox-description-font-size:var(--t-font-size-xs);
1553
- --tds-checkbox-description-line-height:1.3;
1637
+ .tds-toggle-switch--hide-label{
1638
+ --tds-toggle-switch-display:inline-flex;
1554
1639
  }
1555
1640
 
1556
- .tds-checkbox-group{
1557
- --tds-checkbox-group-font-size:var(--t-font-size-md);
1558
- --tds-checkbox-group-line-height:1.4;
1559
- --tds-checkbox-group-gap:var(--t-spacing-1);
1641
+ .tds-radio-group{
1642
+ --tds-radio-group-font-size:var(--t-font-size-md);
1643
+ --tds-radio-group-line-height:1.4;
1644
+ --tds-radio-group-gap:var(--t-spacing-1);
1560
1645
 
1561
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1562
- --tds-checkbox-group-description-line-height:1.35;
1563
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1564
- --tds-checkbox-group-description-invalid-icon-display:none;
1646
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
1647
+ --tds-radio-group-description-line-height:1.35;
1648
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
1649
+ --tds-radio-group-description-invalid-icon-display:none;
1565
1650
  display:flex;
1566
1651
  flex-direction:column;
1567
1652
  gap:0;
1568
1653
  padding:0;
1569
1654
  margin:0;
1570
1655
 
1571
- font-size:var(--tds-checkbox-group-font-size);
1572
- line-height:var(--tds-checkbox-group-line-height);
1656
+ font-size:var(--tds-radio-group-font-size);
1657
+ line-height:var(--tds-radio-group-line-height);
1573
1658
  border:0;
1574
1659
  }
1575
1660
 
1576
- .tds-checkbox-group legend{
1661
+ .tds-radio-group legend{
1577
1662
  float:left;
1578
1663
  padding:0;
1579
1664
  margin:0;
1580
1665
  }
1581
1666
 
1582
- .tds-checkbox-group[aria-invalid="true"]{
1583
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1584
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
1667
+ .tds-radio-group[aria-invalid="true"]{
1668
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
1669
+ --tds-radio-group-description-invalid-icon-display:inline-block;
1585
1670
  }
1586
1671
 
1587
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1672
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
1673
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1674
+ }
1675
+
1676
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1677
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1678
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1679
+ }
1680
+
1681
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1682
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
1683
+ }
1684
+
1685
+ .tds-radio-group:has(input:required) legend::after{
1588
1686
  margin-left:.25ch;
1589
1687
  color:var(--t-text-color-status-error);
1590
1688
  content:"*";
1591
1689
  }
1592
1690
 
1593
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1594
- content:none;
1595
- }
1596
-
1597
- .tds-checkbox-group-fields{
1691
+ .tds-radio-group-fields{
1598
1692
  display:flex;
1599
1693
  flex-direction:column;
1600
- gap:var(--tds-checkbox-group-gap);
1694
+ gap:var(--tds-radio-group-gap);
1601
1695
  align-items:flex-start;
1602
1696
  margin-top:var(--t-spacing-1);
1603
1697
  }
1604
1698
 
1605
- .tds-checkbox-group-description{
1699
+ .tds-radio-group-description{
1606
1700
  display:flex;
1607
1701
  gap:var(--t-spacing-half);
1608
1702
  align-items:flex-start;
1609
1703
  margin:var(--t-spacing-fourth) 0 0;
1610
- font-size:var(--tds-checkbox-group-description-font-size);
1611
- line-height:var(--tds-checkbox-group-description-line-height);
1612
- color:var(--tds-checkbox-group-description-color);
1704
+ font-size:var(--tds-radio-group-description-font-size);
1705
+ line-height:var(--tds-radio-group-description-line-height);
1706
+ color:var(--tds-radio-group-description-color);
1613
1707
  cursor:text;
1614
1708
  }
1615
1709
 
1616
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1617
- display:var(--tds-checkbox-group-description-invalid-icon-display);
1710
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1711
+ display:var(--tds-radio-group-description-invalid-icon-display);
1618
1712
  flex-shrink:0;
1619
1713
  margin-top:calc(.5lh - .5em);
1620
- line-height:var(--tds-checkbox-group-description-line-height);
1714
+ line-height:var(--tds-radio-group-description-line-height);
1621
1715
  }
1622
1716
 
1623
- .tds-checkbox-group--sm{
1624
- --tds-checkbox-group-line-height:1.35;
1625
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
1626
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1627
- --tds-checkbox-group-description-line-height:1.3;
1628
- }
1629
-
1630
- .tds-modal-overlay{
1631
- --tds-modal-min-margin-block:var(--t-spacing-3);
1632
-
1633
- position:fixed;
1634
- inset:0;
1635
- z-index:1000;
1636
- display:grid;
1637
- grid-template-rows:minmax(var(--tds-modal-min-margin-block), 1fr) auto minmax(var(--tds-modal-min-margin-block), 1fr);
1638
- justify-items:center;
1639
- overflow-y:auto;
1640
- background:hsl(0 0% 0% / 40%);
1717
+ .tds-radio-group--sm{
1718
+ --tds-radio-group-line-height:1.35;
1719
+ --tds-radio-group-font-size:var(--t-font-size-sm);
1720
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
1721
+ --tds-radio-group-description-line-height:1.3;
1641
1722
  }
1642
1723
 
1643
- .tds-modal-overlay[data-entering]{
1644
- animation:tds-modal-overlay-fade var(--t-duration-300) var(--t-ease-out);
1645
- }
1646
-
1647
- .tds-modal-overlay[data-exiting]{
1648
- animation:tds-modal-overlay-fade var(--t-duration-200) var(--t-ease-in) reverse;
1649
- }
1650
-
1651
- @keyframes tds-modal-overlay-fade{
1652
- from{
1653
- opacity:0;
1724
+ @layer t-critical{
1725
+ tds-page-header:not(.hydrated){
1726
+ display:none;
1654
1727
  }
1655
1728
  }
1656
1729
 
1657
- .tds-modal-frame{
1658
- --tds-modal-width:600px;
1659
- --tds-modal-edge-margin-inline:var(--t-spacing-3);
1660
- display:flex;
1661
-
1662
- grid-row:2;
1663
- justify-content:center;
1664
- width:min(var(--tds-modal-width), calc(100% - var(--tds-modal-edge-margin-inline) * 2));
1665
- }
1666
-
1667
- .tds-modal-frame[data-entering]{
1668
- animation:tds-modal-zoom var(--t-duration-300) var(--t-ease-out);
1669
- }
1730
+ @layer t-component{
1731
+ .tds-page-header{
1732
+ --tds-page-header-background-color:var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-canvas));
1733
+ --tds-page-header-background-color-inactive:var(--t-fill-color-neutral-090);
1734
+ --tds-page-header-color:var(--t-text-color);
1735
+ --tds-page-header-bottom-border-color:transparent;
1736
+ --tds-page-header-headline-color:var(--t-text-color-headline);
1737
+ --tds-page-header-headline-font-size:var(--t-font-size-2xl);
1738
+ --tds-page-header-padding-x:var(--t-spacing-2);
1739
+ --tds-page-header-padding-y:var(--t-spacing-2);
1740
+ --tds-page-header-nav-padding-x:var(--tds-page-header-padding-x, var(--t-spacing-3));
1741
+ --tds-page-header-nav-gap:var(--t-spacing-1);
1742
+ --tds-page-header-nav-background:linear-gradient(180deg, var(--tds-page-header-nav-background-start, rgba(0, 0, 0, 0)) 0%, var(--tds-page-header-nav-background-end, rgba(0, 0, 0, .1)) 100%);
1743
+ --tds-page-header-nav-item-padding-x:var(--t-spacing-1);
1744
+ --tds-page-header-nav-item-padding-y:var(--t-spacing-1);
1745
+ --tds-page-header-nav-item-color:var(--t-text-color-secondary);
1746
+ --tds-page-header-nav-item-background-color:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 35%);
1747
+ --tds-page-header-nav-item-border-width:1px;
1670
1748
 
1671
- .tds-modal-frame[data-exiting]{
1672
- animation:tds-modal-zoom var(--t-duration-200) var(--t-ease-in) reverse;
1673
- }
1749
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-background-color);
1750
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color);
1674
1751
 
1675
- .tds-modal-frame--sm{
1676
- --tds-modal-width:400px;
1677
- }
1752
+ --tds-page-header-nav-item-color-hover:var(--t-text-color);
1753
+ --tds-page-header-nav-item-background-color-hover:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 20%);
1754
+ --tds-page-header-nav-item-border-color-hover:var(--tds-page-header-nav-item-background-color-hover);
1678
1755
 
1679
- .tds-modal-frame--lg{
1680
- --tds-modal-width:800px;
1681
- }
1756
+ --tds-page-header-nav-item-background-color-active:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 10%);
1757
+ --tds-page-header-nav-item-border-color-active:var(--tds-page-header-nav-item-background-color-active);
1682
1758
 
1683
- .tds-modal-frame--xl{
1684
- --tds-modal-width:1000px;
1685
- }
1759
+ --tds-page-header-nav-item-color-disabled:var(--t-text-color-disabled);
1760
+ --tds-page-header-nav-item-background-color-disabled:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 50%);
1761
+ --tds-page-header-nav-item-border-color-disabled:var(--tds-page-header-nav-item-background-color-disabled);
1686
1762
 
1687
- @keyframes tds-modal-zoom{
1688
- from{
1689
- opacity:0;
1690
- scale:.96;
1763
+ --tds-page-header-nav-item-color-selected:var(--t-text-color);
1764
+ --tds-page-header-nav-item-background-color-selected:var(--t-surface-color-canvas);
1765
+ --tds-page-header-nav-item-border-color-selected:var(--tds-page-header-nav-item-background-color-selected);
1766
+ --tds-page-header-nav-item-border-bottom-color-selected:var(--tds-page-header-nav-item-background-color-selected);
1767
+ --tds-page-header-nav-item-indicator-color:var(--t-icon-color-status-warning);
1691
1768
  }
1692
- }
1693
1769
 
1694
- @media (prefers-reduced-motion: reduce){
1695
- .tds-modal-overlay[data-entering],
1696
- .tds-modal-overlay[data-exiting],
1697
- .tds-modal-frame[data-entering],
1698
- .tds-modal-frame[data-exiting]{
1699
- animation:none;
1770
+ .tds-page-header--profile{
1771
+ --tds-page-header-padding-y:20px;
1700
1772
  }
1701
- }
1702
-
1703
- .tds-modal{
1704
- display:flex;
1705
- flex-direction:column;
1706
- width:100%;
1707
- padding-block-start:var(--t-spacing-3);
1708
- padding-inline:0;
1709
- background:var(--t-surface-color-card);
1710
-
1711
- border:0;
1712
- border-radius:var(--t-border-radius-lg);
1713
- box-shadow:0 4px 18px 0 #0003;
1714
- }
1715
1773
 
1716
- .tds-modal:focus{
1717
- outline:none;
1774
+ @supports (color: light-dark(#fff, #000)){
1775
+ .tds-page-header{
1776
+ --tds-page-header-nav-background-start:light-dark(rgba(0, 0, 0, 0), rgba(255, 255, 255, 0));
1777
+ --tds-page-header-nav-background-end:light-dark(rgba(0, 0, 0, .05), rgba(255, 255, 255, .1));
1778
+ }
1718
1779
  }
1719
1780
 
1720
- .tds-modal-header{
1721
- display:grid;
1722
- grid-template-columns:1fr auto;
1723
- -moz-column-gap:var(--t-spacing-2);
1724
- column-gap:var(--t-spacing-2);
1725
- padding-block:0;
1726
- padding-inline:var(--t-spacing-4);
1727
- }
1728
-
1729
- .tds-modal-title{
1730
- grid-row:1;
1731
- grid-column:1;
1732
- margin:0;
1733
- font-size:var(--t-font-size-2xl);
1734
- font-weight:var(--t-font-weight-medium);
1735
- line-height:140%;
1736
- color:var(--t-text-color-headline);
1737
- }
1738
-
1739
- .tds-modal-subtitle{
1740
- grid-row:2;
1741
- grid-column:1;
1742
- margin:0;
1743
- font-size:var(--t-font-size-md);
1744
- font-weight:var(--t-font-weight-medium);
1745
- line-height:140%;
1746
- color:var(--t-text-color-secondary);
1747
- }
1748
-
1749
- .tds-modal-close{
1750
- grid-row:1;
1751
- grid-column:2;
1752
- align-self:center;
1753
- color:var(--t-icon-color-dim);
1754
- }
1755
-
1756
- .tds-modal-body{
1757
- padding-block:var(--t-spacing-3);
1758
- padding-inline:var(--t-spacing-4);
1759
- }
1760
-
1761
- .tds-modal-body--full-width{
1762
- padding-inline:0;
1781
+ @media (min-width: 600px){
1782
+ .tds-page-header{
1783
+ --tds-page-header-background-color:var(--t-surface-color-canvas);
1784
+ --tds-page-header-color:var(--t-text-color-secondary);
1785
+ --tds-page-header-bottom-border-color:var(--t-border-color);
1786
+ --tds-page-header-padding-x:var(--t-spacing-3);
1787
+ --tds-page-header-headline-font-size:var(--t-font-size-3xl);
1788
+ --tds-page-header-nav-gap:var(--t-spacing-half);
1789
+ --tds-page-header-nav-background:transparent;
1790
+ --tds-page-header-nav-item-padding-x:var(--t-spacing-2);
1791
+ --tds-page-header-nav-item-border-width:1px;
1792
+ --tds-page-header-nav-item-color:var(--t-text-color);
1793
+ --tds-page-header-nav-item-background-color:var(--t-fill-color-neutral-070);
1794
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-bottom-border-color);
1795
+ --tds-page-header-nav-item-background-color-hover:var(--t-fill-color-neutral-060);
1796
+ --tds-page-header-nav-item-background-color-active:var(--t-fill-color-neutral-050);
1797
+ --tds-page-header-nav-item-background-color-disabled:var(--t-fill-color-neutral-080);
1798
+ --tds-page-header-nav-item-border-color-selected:var(--t-border-color);
1799
+ }
1800
+ }
1763
1801
  }
1764
1802
 
1765
- .tds-modal-footer{
1803
+ .tds-page-header{
1766
1804
  display:flex;
1767
- gap:var(--t-spacing-2);
1768
- align-items:center;
1769
- justify-content:flex-end;
1770
- padding-block:var(--t-spacing-3);
1771
- padding-inline:var(--t-spacing-4);
1772
- border-top:1px solid var(--t-border-color);
1773
- }
1774
-
1775
- .tds-modal-footer > [slot="start"]{
1776
- margin-inline-end:auto;
1805
+ flex-direction:column;
1806
+ padding-top:var(--tds-page-header-padding-y);
1807
+ color:var(--tds-page-header-color);
1808
+ background:var(--tds-page-header-background-color);
1809
+ border-bottom:1px solid var(--tds-page-header-bottom-border-color);
1777
1810
  }
1778
1811
 
1779
- @media (min-width: 720px){
1780
- .tds-modal-overlay{
1781
- --tds-modal-min-margin-block:0;
1812
+ .tds-page-header:not(.has-nav){
1813
+ padding-bottom:var(--tds-page-header-padding-y);
1782
1814
  }
1783
1815
 
1784
- .tds-modal-footer{
1785
- position:sticky;
1786
- bottom:0;
1787
- background:var(--t-surface-color-card);
1788
- border-end-start-radius:var(--t-border-radius-lg);
1789
- border-end-end-radius:var(--t-border-radius-lg);
1816
+ .tds-page-header.inactive{
1817
+ background:var(--tds-page-header-background-color-inactive);
1790
1818
  }
1791
- }
1792
1819
 
1793
- .tds-radio{
1794
- --tds-radio-font-size:var(--t-font-size-md);
1795
- --tds-radio-cursor:pointer;
1796
- --tds-radio-line-height:1.4;
1797
- --tds-radio-transition-property:border-width;
1820
+ .tds-page-header :is([slot="actions"],.tds-page-header__actions){
1821
+ width:100%;
1822
+ }
1798
1823
 
1799
- --tds-radio-input-size:var(--t-element-size-md);
1800
- --tds-radio-input-border-radius:var(--t-border-radius-round);
1801
- --tds-radio-input-border-color:var(--t-form-border-color);
1802
- --tds-radio-input-border-width:var(--t-form-border-width);
1803
- --tds-radio-input-background-color:var(--t-form-background-color);
1824
+ .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
1825
+ display:flex;
1826
+ flex-flow:row wrap;
1827
+ gap:var(--t-spacing-half) var(--t-spacing-1);
1828
+ align-items:flex-start;
1829
+ justify-content:flex-start;
1830
+ min-width:0;
1831
+ }
1804
1832
 
1805
- --tds-radio-label-color:var(--t-form-color);
1833
+ :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)):not(:has(ul)),:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) ul{
1834
+ display:flex;
1835
+ gap:var(--tds-page-header-nav-gap);
1836
+ padding:var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
1837
+ margin:0 0 -1px;
1838
+ overflow:auto;
1839
+ list-style:none;
1840
+ background:var(--tds-page-header-nav-background);
1841
+ }
1806
1842
 
1807
- --tds-radio-description-font-size:var(--t-font-size-sm);
1808
- --tds-radio-description-line-height:1.35;
1809
- --tds-radio-description-color:var(--t-text-color-secondary);
1843
+ :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button){
1844
+ position:relative;
1845
+ display:inline-flex;
1846
+ padding:var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
1847
+ font-size:var(--t-font-size-sm);
1848
+ line-height:22px;
1849
+ color:var(--tds-page-header-nav-item-color);
1850
+ white-space:nowrap;
1851
+ text-decoration:none;
1852
+ -webkit-appearance:none;
1853
+ -moz-appearance:none;
1854
+ appearance:none;
1855
+ cursor:pointer;
1856
+ outline-offset:-2px;
1857
+ background-color:var(--tds-page-header-nav-item-background-color);
1858
+ background-clip:padding-box;
1859
+ border:var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
1860
+ border-bottom:1px solid var(--tds-page-header-nav-item-border-bottom-color);
1861
+ border-radius:var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
1862
+ }
1810
1863
 
1811
- position:relative;
1812
- display:inline-grid;
1813
- grid-template-columns:auto;
1814
- grid-auto-columns:1fr;
1815
- gap:var(--t-spacing-fourth) 0;
1816
- line-height:var(--tds-radio-line-height);
1817
- -webkit-user-select:none;
1818
- -moz-user-select:none;
1819
- user-select:none;
1820
- }
1864
+ .selected:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)){
1865
+ --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-selected);
1866
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-selected);
1867
+ --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-selected);
1868
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-selected);
1869
+ }
1821
1870
 
1822
- .tds-radio label{
1823
- grid-area:1 / 2;
1824
- padding-inline-start:var(--t-spacing-1);
1825
- font-size:var(--tds-radio-font-size);
1826
- font-weight:var(--t-font-weight-normal);
1827
- color:var(--tds-radio-label-color);
1828
- cursor:var(--tds-radio-cursor);
1829
- }
1871
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):hover{
1872
+ --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-hover);
1873
+ --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-hover);
1874
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-hover);
1875
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-hover);
1876
+ }
1830
1877
 
1831
- .tds-radio input[type="radio"]{
1832
- position:relative;
1833
- width:1em;
1834
- height:1em;
1835
- margin:calc((1lh - 1em) / 2) 0 0;
1836
- font-size:var(--tds-radio-font-size);
1837
- line-height:inherit;
1838
- -webkit-appearance:none;
1839
- -moz-appearance:none;
1840
- appearance:none;
1841
- cursor:var(--tds-radio-cursor);
1842
- background-color:var(--tds-radio-input-background-color);
1843
- border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1844
- border-radius:var(--tds-radio-input-border-radius);
1845
- transition-timing-function:var(--t-ease-in-out);
1846
- transition-duration:var(--t-duration-200);
1847
- transition-property:var(--tds-radio-transition-property);
1848
- }
1878
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):active{
1879
+ background-color:var(--tds-page-header-nav-item-background-color-active);
1880
+ border-color:var(--tds-page-header-nav-item-border-color-active);
1881
+ border-bottom-color:var(--tds-page-header-nav-item-background-color-active);
1882
+ }
1849
1883
 
1850
- :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1851
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1852
- --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1853
- }
1884
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):disabled{
1885
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-disabled);
1886
+ color:var(--tds-page-header-nav-item-color-disabled);
1887
+ cursor:not-allowed;
1888
+ background-color:var(--tds-page-header-nav-item-background-color-disabled);
1889
+ opacity:1;
1890
+ }
1854
1891
 
1855
- :is(.tds-radio input[type="radio"]):focus-visible{
1856
- outline:var(--t-focus-ring-outline);
1857
- outline-offset:var(--t-focus-ring-offset);
1858
- }
1892
+ @media (min-width: 600px){
1893
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected)::after{
1894
+ position:absolute;
1895
+ inset:auto -1px -1px;
1896
+ height:1px;
1897
+ pointer-events:none;
1898
+ content:"";
1899
+ background-color:var(--tds-page-header-bottom-border-color);
1900
+ }
1901
+ }
1859
1902
 
1860
- :is(.tds-radio input[type="radio"]):disabled{
1861
- pointer-events:none;
1903
+ :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator){
1904
+ position:relative;
1862
1905
  }
1863
1906
 
1864
- @media (prefers-reduced-motion: reduce){
1907
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator)) :is(a,button){
1908
+ -webkit-mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
1909
+ mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
1910
+ }
1865
1911
 
1866
- .tds-radio input[type="radio"]{
1867
- --tds-radio-transition-property:none;
1868
- }
1869
- }
1912
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::before,:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
1913
+ position:absolute;
1914
+ top:-5px;
1915
+ right:-2px;
1916
+ width:10px;
1917
+ height:10px;
1918
+ content:"";
1919
+ background:var(--tds-page-header-nav-item-indicator-color);
1920
+ border-radius:50%;
1921
+ }
1870
1922
 
1871
- .tds-radio:has(input:checked){
1872
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1873
- --tds-radio-input-border-color:var(--t-border-color-control-info);
1874
- --tds-radio-input-border-width:4px;
1875
- }
1923
+ @media (prefers-reduced-motion: no-preference){
1924
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
1925
+ animation:indicator-pulse 1.25s ease infinite;
1926
+ }
1927
+ }
1876
1928
 
1877
- .tds-radio:has(input:checked) input:hover:not(:disabled){
1878
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1879
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1880
- }
1929
+ .tds-page-header__title-bar{
1930
+ display:flex;
1931
+ flex-direction:column;
1932
+ gap:var(--t-spacing-2) var(--t-spacing-1);
1933
+ align-items:flex-start;
1934
+ justify-content:space-between;
1935
+ padding:0 var(--tds-page-header-padding-x);
1936
+ }
1881
1937
 
1882
- .tds-radio:has(input:user-invalid){
1883
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1938
+ .tds-page-header--profile > .tds-page-header__title-bar{
1939
+ align-items:center;
1884
1940
  }
1885
1941
 
1886
- .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1887
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1888
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1889
- }
1942
+ .tds-page-header__primary{
1943
+ width:100%;
1944
+ }
1890
1945
 
1891
- .tds-radio:has(input:disabled){
1892
- --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1893
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1946
+ .tds-page-header__primary h1{
1947
+ margin:0;
1948
+ font-size:var(--tds-page-header-headline-font-size);
1949
+ font-weight:var(--t-font-weight-normal);
1950
+ line-height:32px;
1951
+ color:var(--tds-page-header-headline-color);
1952
+ overflow-wrap:break-word;
1953
+ }
1894
1954
 
1895
- --tds-radio-label-color:var(--t-form-color-disabled);
1896
- --tds-radio-description-color:var(--t-form-color-disabled);
1897
- --tds-radio-cursor:not-allowed;
1955
+ @media (min-width: 960px){
1956
+ .tds-page-header__primary{
1957
+ flex:1 1 max-content;
1958
+ width:auto;
1959
+ min-width:0;
1960
+ max-width:100%;
1898
1961
  }
1899
1962
 
1900
- .tds-radio:has(input:disabled) input:checked{
1901
- --tds-radio-input-background-color:var(--t-form-background-color);
1902
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1963
+ .tds-page-header__title-bar,
1964
+ .tds-page-header--profile .tds-page-header__title-bar{
1965
+ flex-flow:row nowrap;
1966
+ row-gap:12px;
1967
+ align-items:flex-start;
1968
+ }
1969
+ .tds-page-header :is([slot="actions"],.tds-page-header__actions){
1970
+ width:auto;
1903
1971
  }
1904
1972
 
1905
- .tds-radio-description{
1906
- display:flex;
1907
- grid-area:2 / 2;
1908
- gap:var(--t-spacing-half);
1909
- align-items:flex-start;
1910
- padding-inline-start:var(--t-spacing-1);
1911
- margin:0;
1912
- font-size:var(--tds-radio-description-font-size);
1913
- line-height:var(--tds-radio-description-line-height);
1914
- color:var(--tds-radio-description-color);
1915
- cursor:text;
1973
+ .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
1974
+ justify-content:flex-end;
1975
+ }
1916
1976
  }
1917
1977
 
1918
- .tds-radio--sm{
1919
- --tds-radio-line-height:1.35;
1920
- --tds-radio-input-size:var(--t-element-size-sm);
1921
- --tds-radio-font-size:var(--t-font-size-sm);
1922
- --tds-radio-description-font-size:var(--t-font-size-xs);
1923
- --tds-radio-description-line-height:1.3;
1978
+ .tds-page-header-phone,
1979
+ .tds-page-header-email{
1980
+ color:var(--tds-page-header-color);
1981
+ white-space:nowrap;
1982
+ }
1983
+ .tds-page-header-email{
1984
+ max-width:100%;
1985
+ overflow:hidden;
1986
+ text-overflow:ellipsis;
1924
1987
  }
1925
1988
 
1926
- .tds-input:has(textarea){
1927
- --tds-input-padding-block:6px;
1928
- --tds-input-resizer-size:var(--t-element-size-sm);
1929
- --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");
1989
+ @keyframes indicator-pulse{
1990
+ 0%{
1991
+ opacity:.3;
1992
+ transform:scale(.9);
1993
+ }
1994
+
1995
+ 100%{
1996
+ opacity:0;
1997
+ transform:scale(1.75);
1998
+ }
1930
1999
  }
1931
2000
 
1932
- @supports (x: attr(x type(*))){
1933
2001
 
1934
- .tds-input textarea{
1935
- --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
2002
+ @media (prefers-reduced-motion: no-preference){
2003
+
2004
+ :root{
2005
+ interpolate-size:allow-keywords;
1936
2006
  }
1937
2007
  }
1938
2008
 
1939
- .tds-input.tds-textarea--resize-vertical textarea{
1940
- resize:vertical;
1941
- }
2009
+ @layer tds-component{
2010
+ tds-sidenav,
2011
+ .tds-sidenav{
2012
+ --tds-sidenav-indent:12px;
2013
+ --tds-sidenav-item-depth:0;
1942
2014
 
1943
- .tds-input.tds-textarea--resize-none textarea{
1944
- resize:none;
1945
- }
2015
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
1946
2016
 
1947
- .tds-input.tds-textarea--resize-auto textarea{
1948
- resize:vertical;
1949
- }
2017
+ --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;
2018
+ --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;
2019
+ --tds-sidenav-collapse-closed-opacity:0;
2020
+ --tds-sidenav-collapse-open-opacity:1;
2021
+ --tds-sidenav-collapse-closed-transform:translateY(-8px);
2022
+ --tds-sidenav-collapse-open-transform:translateY(0);
1950
2023
 
1951
- @supports (field-sizing: content){
1952
- .tds-input.tds-textarea--resize-auto textarea{
1953
- field-sizing:content;
1954
- resize:none;
1955
- }
1956
- }
2024
+ --tds-sidenav-item-icon-size:var(--t-element-size-md);
2025
+ --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
2026
+ --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
2027
+ --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
1957
2028
 
1958
- .tds-input textarea{
1959
- --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1960
- --tds-input-scrollbar-thumb-color-hidden:transparent;
1961
- --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1962
- --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1963
- --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1964
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1965
- --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1966
- --tds-input-scrollbar-thumb-border-radius:999px;
1967
- --tds-input-scrollbar-thumb-border-width:3px;
1968
- --tds-input-scrollbar-track-margin-block:.125rem;
1969
- scrollbar-color:initial;
1970
- transition-timing-function:var(--t-ease-in-out);
1971
- transition-duration:var(--t-duration-200);
1972
- transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1973
- }
2029
+ --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
2030
+ --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
2031
+ --tds-sidenav-item-nested-background-selected:transparent;
1974
2032
 
1975
- @media (pointer: fine){
1976
- :is(.tds-input textarea)::-webkit-scrollbar{
1977
- width:12px;
1978
- height:12px;
1979
- cursor:default;
1980
- }
2033
+ --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
2034
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
2035
+ --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
1981
2036
 
1982
- :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1983
- cursor:default;
1984
- background:var(--tds-input-scrollbar-thumb-color);
1985
- background-clip:content-box;
1986
- border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1987
- border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1988
- }
2037
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
2038
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
2039
+ }
1989
2040
 
1990
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1991
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
2041
+ @media (prefers-reduced-motion: reduce){
2042
+ tds-sidenav,
2043
+ .tds-sidenav{
2044
+ --tds-sidenav-collapse-transition-enter:none;
2045
+ --tds-sidenav-collapse-transition-exit:none;
2046
+ --tds-sidenav-collapse-closed-transform:none;
2047
+ --tds-sidenav-collapse-open-transform:none;
2048
+ }
1992
2049
  }
1993
2050
 
1994
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1995
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1996
- }
2051
+ .tds-sidenav--theme-gray{
2052
+ --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
2053
+ --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
2054
+ --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
2055
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
2056
+ --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
2057
+ }
2058
+ }
1997
2059
 
1998
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1999
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
2000
- }
2060
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
2061
+ display:flex;
2062
+ }
2001
2063
 
2002
- :is(.tds-input textarea)::-webkit-scrollbar-corner{
2003
- background:var(--tds-input-scrollbar-surface-color);
2004
- }
2064
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
2065
+ flex-direction:column;
2066
+ gap:var(--t-spacing-half);
2067
+ width:100%;
2068
+ }
2005
2069
 
2006
- :is(.tds-input textarea)::-webkit-resizer{
2007
- background:var(--tds-input-resizer-icon) no-repeat;
2008
- background-position:right bottom;
2009
- background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
2010
- }
2070
+ .tds-sidenav-section-list{
2071
+ width:100%;
2072
+ padding:0;
2073
+ margin:0;
2074
+ list-style:none;
2075
+ }
2011
2076
 
2012
- :is(.tds-input textarea)::-webkit-scrollbar-track{
2013
- margin-block:var(--tds-input-scrollbar-track-margin-block);
2014
- cursor:default;
2015
- }
2077
+ .tds-sidenav-section-header{
2078
+ display:flex;
2079
+ align-items:baseline;
2080
+ justify-content:space-between;
2081
+ padding-top:var(--t-spacing-2);
2082
+ }
2016
2083
 
2017
- @supports (-moz-appearance: none){
2018
- :is(.tds-input textarea){
2019
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
2020
- scrollbar-width:thin;
2021
- }
2084
+ .tds-sidenav-section-header h2{
2085
+ margin:0;
2086
+ font-size:var(--t-font-size-sm);
2087
+ font-weight:var(--t-font-weight-semibold);
2088
+ line-height:1.35;
2089
+ color:var(--t-text-color-secondary);
2090
+ text-transform:uppercase;
2091
+ }
2022
2092
 
2023
- @media (hover){
2024
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2025
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
2026
- }
2027
- }
2028
- }
2093
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
2094
+ padding-top:0;
2029
2095
  }
2030
2096
 
2031
- .tds-radio-group{
2032
- --tds-radio-group-font-size:var(--t-font-size-md);
2033
- --tds-radio-group-line-height:1.4;
2034
- --tds-radio-group-gap:var(--t-spacing-1);
2097
+ .tds-sidenav-section-header [slot="label-actions"]{
2098
+ display:flex;
2099
+ gap:var(--t-spacing-half);
2100
+ align-items:center;
2101
+ }
2035
2102
 
2036
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
2037
- --tds-radio-group-description-line-height:1.35;
2038
- --tds-radio-group-description-color:var(--t-text-color-secondary);
2039
- --tds-radio-group-description-invalid-icon-display:none;
2103
+ .tds-sidenav-section [slot="section-actions"]{
2040
2104
  display:flex;
2041
- flex-direction:column;
2042
- gap:0;
2105
+ gap:12px;
2106
+ align-items:center;
2107
+ min-height:42px;
2108
+ padding:var(--t-spacing-1) 0;
2109
+ }
2110
+
2111
+ .tds-sidenav-section-list,
2112
+ .tds-sidenav-item{
2113
+ width:100%;
2043
2114
  padding:0;
2044
2115
  margin:0;
2045
-
2046
- font-size:var(--tds-radio-group-font-size);
2047
- line-height:var(--tds-radio-group-line-height);
2048
- border:0;
2049
2116
  }
2050
2117
 
2051
- .tds-radio-group legend{
2052
- float:left;
2053
- padding:0;
2054
- margin:0;
2118
+ .tds-sidenav-item :is(a,button){
2119
+ position:relative;
2120
+ display:flex;
2121
+ gap:12px;
2122
+ align-items:center;
2123
+ width:100%;
2124
+ padding:12px;
2125
+ overflow:hidden;
2126
+ font-size:var(--t-font-size-sm);
2127
+ line-height:18px;
2128
+ color:var(--t-text-color-headline);
2129
+ white-space:nowrap;
2130
+ text-decoration:none;
2131
+ -webkit-appearance:none;
2132
+ -moz-appearance:none;
2133
+ appearance:none;
2134
+ cursor:pointer;
2135
+ background-color:var(--tds-sidenav-item-background, transparent);
2136
+ border:0;
2137
+ border-radius:var(--t-border-radius);
2138
+ transition:var(--tds-sidenav-item-transition);
2055
2139
  }
2056
2140
 
2057
- .tds-radio-group[aria-invalid="true"]{
2058
- --tds-radio-group-description-color:var(--t-text-color-status-error);
2059
- --tds-radio-group-description-invalid-icon-display:inline-block;
2060
- }
2141
+ :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
2142
+ display:block;
2143
+ flex:1;
2144
+ overflow:hidden;
2145
+ text-overflow:ellipsis;
2146
+ text-align:left;
2147
+ white-space:nowrap;
2148
+ }
2061
2149
 
2062
- .tds-radio-group[aria-invalid="true"] .tds-radio{
2063
- --tds-radio-input-border-color:var(--t-form-border-color-error);
2150
+ :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
2151
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
2152
+ color:var(--t-text-color-headline);
2153
+ text-decoration:none;
2064
2154
  }
2065
2155
 
2066
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
2067
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2068
- --tds-radio-input-background-color:var(--t-form-background-color-error);
2069
- }
2156
+ :is(.tds-sidenav-item :is(a,button)):active{
2157
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
2158
+ }
2070
2159
 
2071
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
2072
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
2160
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
2161
+ overflow:hidden;
2162
+ color:var(--tds-sidenav-item-icon-color);
2163
+ }
2164
+
2165
+ :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{
2166
+ display:block;
2167
+ width:var(--tds-sidenav-item-icon-size);
2168
+ height:var(--tds-sidenav-item-icon-size);
2073
2169
  }
2074
2170
 
2075
- .tds-radio-group:has(input:required) legend::after{
2076
- margin-left:.25ch;
2077
- color:var(--t-text-color-status-error);
2078
- content:"*";
2171
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
2172
+ --tds-sidenav-indent:19px;
2079
2173
  }
2080
2174
 
2081
- .tds-radio-group-fields{
2082
- display:flex;
2083
- flex-direction:column;
2084
- gap:var(--tds-radio-group-gap);
2085
- align-items:flex-start;
2086
- margin-top:var(--t-spacing-1);
2087
- }
2175
+ [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
2176
+ visibility:visible;
2177
+ block-size:auto;
2178
+ opacity:1;
2179
+ }
2088
2180
 
2089
- .tds-radio-group-description{
2090
- display:flex;
2091
- gap:var(--t-spacing-half);
2092
- align-items:flex-start;
2093
- margin:var(--t-spacing-fourth) 0 0;
2094
- font-size:var(--tds-radio-group-description-font-size);
2095
- line-height:var(--tds-radio-group-description-line-height);
2096
- color:var(--tds-radio-group-description-color);
2097
- cursor:text;
2098
- }
2181
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
2182
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
2183
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
2099
2184
 
2100
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
2101
- display:var(--tds-radio-group-description-invalid-icon-display);
2102
- flex-shrink:0;
2103
- margin-top:calc(.5lh - .5em);
2104
- line-height:var(--tds-radio-group-description-line-height);
2185
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
2186
+ font-weight:var(--t-font-weight-semibold);
2105
2187
  }
2106
2188
 
2107
- .tds-radio-group--sm{
2108
- --tds-radio-group-line-height:1.35;
2109
- --tds-radio-group-font-size:var(--t-font-size-sm);
2110
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
2111
- --tds-radio-group-description-line-height:1.3;
2112
- }
2189
+ .tds-sidenav-item:has(.tds-sidenav-section){
2190
+ display:flex;
2191
+ flex-direction:column;
2192
+ gap:var(--t-spacing-half);
2193
+ }
2113
2194
 
2195
+ .tds-sidenav-item .tds-sidenav-section-list{
2196
+ --tds-sidenav-item-depth:1;
2197
+ gap:0;
2198
+ }
2114
2199
 
2115
- :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{
2116
- -webkit-appearance:none;
2117
- appearance:none;
2200
+ .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
2201
+ visibility:hidden;
2202
+ block-size:0;
2203
+ overflow-y:clip;
2204
+ opacity:0;
2205
+ transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
2118
2206
  }
2119
2207
 
2120
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
2121
- inline-size:1em;
2122
- block-size:2em;
2208
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
2209
+ --tds-sidenav-item-depth:2;
2123
2210
  }
2124
- @supports (field-sizing: content){
2125
- .tds-input--auto-width{
2126
- inline-size:-moz-fit-content;
2127
- inline-size:fit-content;
2128
- min-inline-size:min(100%, 122px);
2129
- }
2130
2211
 
2131
- .tds-input--auto-width input{
2132
- field-sizing:content;
2133
- inline-size:auto;
2134
- }
2135
- }
2212
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2213
+ min-height:var(--t-element-size-2xl);
2214
+ padding-block:9px;
2215
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
2216
+ line-height:1;
2217
+ background-color:transparent;
2218
+ }
2136
2219
 
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;
2220
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
2221
+ position:absolute;
2222
+ top:0;
2223
+ bottom:0;
2224
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2225
+ width:2px;
2226
+ content:"";
2227
+ background-color:var(--tds-sidenav-item-nested-border-color);
2228
+ transition:var(--tds-sidenav-item-transition);
2229
+ }
2142
2230
 
2143
- --tds-toggle-switch-label-color:var(--t-form-color);
2231
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
2232
+ position:absolute;
2233
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2234
+ z-index:-1;
2235
+ height:100%;
2236
+ content:"";
2237
+ background-color:var(--tds-sidenav-item-nested-background);
2238
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
2239
+ transition:var(--tds-sidenav-item-transition);
2240
+ }
2144
2241
 
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);
2242
+ :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)){
2243
+ display:block;
2244
+ text-align:left;
2245
+ white-space:normal;
2246
+ }
2150
2247
 
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);
2248
+ :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{
2249
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
2250
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
2251
+ }
2154
2252
 
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;
2253
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
2254
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
2255
+ }
2159
2256
 
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;
2257
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2258
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
2259
+ font-weight:var(--t-font-weight-medium);
2260
+ }
2261
+
2262
+ .tds-sidenav-responsive-header{
2263
+ display:flex;
2264
+ gap:var(--t-spacing-2);
2265
+ align-items:center;
2266
+ width:100%;
2167
2267
  }
2168
2268
 
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);
2269
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
2270
+ order:0;
2183
2271
  }
2184
2272
 
2185
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2186
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2187
- }
2273
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
2274
+ flex:1;
2275
+ order:1;
2276
+ margin:0;
2277
+ font-size:var(--t-font-size-lg);
2278
+ font-weight:var(--t-font-weight-medium);
2279
+ color:var(--t-text-color-headline);
2280
+ }
2188
2281
 
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);
2282
+ @media (max-width: 719px){
2283
+ .tds-sidenav-collapse{
2284
+ z-index:10001;
2285
+ display:none;
2286
+ max-width:min(448px, calc(100vw - 48px));
2287
+ padding:0;
2288
+ margin:12px 0;
2289
+ position-area:bottom span-right;
2290
+ overflow:hidden;
2291
+ outline:0;
2292
+ background:var(--t-surface-color-card);
2293
+ border:0;
2294
+ border-radius:6px;
2295
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
2296
+ opacity:var(--tds-sidenav-collapse-open-opacity);
2297
+ transform:var(--tds-sidenav-collapse-open-transform);
2298
+ transition:var(--tds-sidenav-collapse-transition-enter);
2299
+ will-change:transform;
2199
2300
  }
2200
2301
 
2201
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2202
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2302
+ .tds-sidenav-scroll-container{
2303
+ --webkit-overflow-scrolling:touch;
2304
+ display:block;
2305
+ width:100%;
2306
+ height:-moz-fit-content;
2307
+ height:fit-content;
2308
+ padding:var(--t-spacing-2);
2309
+ overflow-y:auto;
2203
2310
  }
2204
2311
 
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)));
2312
+ .tds-sidenav-item :is(a, button) :is(.prefix){
2313
+ display:none;
2208
2314
  }
2315
+ @supports selector(:popover-open){
2316
+ .tds-sidenav-collapse:popover-open{
2317
+ display:flex;
2318
+ }
2209
2319
 
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);
2320
+ .tds-sidenav-collapse:not(:popover-open){
2321
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2322
+ transition:var(--tds-sidenav-collapse-transition-exit);
2212
2323
  }
2213
2324
 
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;
2325
+ @starting-style{
2326
+ .tds-sidenav-collapse:popover-open{
2327
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2328
+ transform:var(--tds-sidenav-collapse-closed-transform);
2329
+ }
2330
+ }
2219
2331
  }
2332
+ @supports not selector(:popover-open){
2333
+ .tds-sidenav-collapse.\:popover-open{
2334
+ display:flex;
2335
+ }
2220
2336
 
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);
2337
+ .tds-sidenav-collapse:not(.\:popover-open){
2338
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
2339
+ transition:var(--tds-sidenav-collapse-transition-exit);
2340
+ }
2341
+ }
2229
2342
  }
2230
2343
 
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);
2344
+ @media (min-width: 720px){
2345
+ .tds-sidenav-responsive-header{
2346
+ display:none;
2242
2347
  }
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
2348
  }
2250
- }
2251
2349
 
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
- }
2350
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
2351
+ display:none;
2352
+ }
2263
2353
 
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
- }
2354
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
2355
+ display:block;
2356
+ }
2272
2357
 
2273
- .tds-toggle-switch--hide-label{
2274
- --tds-toggle-switch-display:inline-flex;
2275
- }
2358
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2359
+ display:flex;
2360
+ flex-direction:column;
2361
+ }
2276
2362
 
2277
2363
  .tds-input{
2278
2364
  --tds-input-border-color:var(--t-form-border-color);
@@ -4417,6 +4503,18 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
4417
4503
  margin-inline-start:auto;
4418
4504
  }
4419
4505
 
4506
+ .tds-data-table-filter-controls-search-input-sticky{
4507
+ position:sticky;
4508
+ inset-block-start:0;
4509
+ z-index:1;
4510
+ padding:var(--t-spacing-1);
4511
+ margin:calc(-1 * var(--t-spacing-1));
4512
+ background-color:var(--t-form-background-color);
4513
+ }
4514
+ .tds-data-table-popover:has(.tds-data-table-filter-controls-search-input-sticky){
4515
+ scroll-padding-block-start:calc(var(--t-spacing-6));
4516
+ }
4517
+
4420
4518
  .tds-data-table-filter-controls-search-input{
4421
4519
  inline-size:100%;
4422
4520
  min-block-size:var(--t-container-size-md);
@@ -4435,10 +4533,36 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
4435
4533
  color:var(--t-form-placeholder-color);
4436
4534
  }
4437
4535
 
4536
+ :is(.tds-data-table-filter-controls-list,.tds-data-table-filter-controls-submenu-list) .tds-dropdown-section-label{
4537
+ position:sticky;
4538
+ inset-block-start:var(--_label-sticky-block-start);
4539
+ background-color:var(--t-surface-color-card);
4540
+ }
4541
+
4542
+ :is(.tds-data-table-filter-controls-list,.tds-data-table-filter-controls-submenu-list) .tds-dropdown-section .tds-dropdown-item{
4543
+ scroll-margin-block-start:var(--t-spacing-4);
4544
+ }
4545
+
4438
4546
  .tds-data-table-filter-controls-list{
4547
+ --_label-sticky-block-start:var(--t-spacing-6);
4548
+
4439
4549
  margin-block-start:var(--t-spacing-1);
4440
4550
  }
4441
4551
 
4552
+ .tds-data-table-filter-controls-submenu-list{
4553
+ --_label-sticky-block-start:0;
4554
+ }
4555
+
4556
+ .tds-data-table-filter-controls-submenu-list .tds-dropdown-section-label::before{
4557
+ position:absolute;
4558
+ inset-block-start:calc(-1 * var(--t-spacing-1));
4559
+ inset-inline-start:0;
4560
+ inline-size:100%;
4561
+ block-size:var(--t-spacing-1);
4562
+ content:"";
4563
+ background-color:var(--t-surface-color-card);
4564
+ }
4565
+
4442
4566
  .tds-data-table-filter-controls-submenu-trigger[data-open]{
4443
4567
  background:var(--t-fill-color-neutral-070);
4444
4568
  }
@@ -4449,7 +4573,6 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
4449
4573
 
4450
4574
  .tds-dropdown-popover.tds-data-table-filter-controls-submenu-popover .tds-data-table-filter-controls-submenu-list{
4451
4575
  max-block-size:20rem;
4452
- overflow-y:auto;
4453
4576
  }
4454
4577
 
4455
4578
  .tds-data-table-filter-controls-submenu-chevron{
@@ -4595,46 +4718,172 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
4595
4718
  --tds-segmented-control-background-color-disabled:transparent;
4596
4719
  }
4597
4720
 
4598
- .tds-popover{
4599
- max-inline-size:24rem;
4600
- overflow:auto;
4601
- overscroll-behavior:none;
4602
- outline:0;
4603
- scrollbar-color:#0004 var(--t-surface-color-card);
4604
- scrollbar-width:thin;
4605
- background:var(--t-surface-color-card);
4606
- background-clip:padding-box;
4607
- border:1px solid var(--t-border-color);
4608
- border-radius:var(--t-border-radius);
4609
- box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
4721
+ .tds-data-table-filters-shelf{
4722
+ height:auto;
4723
+ overflow:hidden;
4724
+ transition:height var(--t-duration-300) var(--t-ease-out);
4610
4725
  }
4611
4726
 
4612
- @media (prefers-reduced-motion: no-preference){
4613
- .tds-popover[data-entering]{
4614
- animation:tds-popover var(--t-duration-300) var(--t-ease-out);
4615
- }
4727
+ @media (prefers-reduced-motion: reduce){
4616
4728
 
4617
- .tds-popover[data-exiting]{
4618
- animation:tds-popover var(--t-duration-200) var(--t-ease-in) reverse;
4619
- }
4729
+ .tds-data-table-filters-shelf{
4730
+ transition:none;
4731
+ }
4732
+ }
4620
4733
 
4621
- .tds-popover[data-entering],.tds-popover[data-exiting]{
4622
- will-change:opacity, transform;
4623
- }
4734
+ .tds-data-table-filters-shelf--collapsed{
4735
+ height:0;
4736
+ transition-timing-function:var(--t-ease-in);
4737
+ }
4624
4738
 
4625
- @keyframes tds-popover{
4626
- from{
4627
- opacity:0;
4628
- transform:translateY(-8px);
4629
- }
4739
+ @supports (interpolate-size: allow-keywords){
4740
+ .tds-data-table-filters-shelf{
4741
+ interpolate-size:allow-keywords;
4630
4742
  }
4631
4743
  }
4632
4744
 
4633
- .tds-popover-content{
4745
+ .tds-data-table-filters{
4746
+ padding-block:var(--tds-data-table-cell-padding-block);
4747
+ padding-inline:var(--tds-data-table-cell-padding-inline);
4748
+ border-top:1px solid var(--tds-data-table-border-color);
4749
+ }
4750
+
4751
+ .tds-data-table-filters-active{
4634
4752
  display:flex;
4635
- flex-direction:column;
4636
- padding:var(--t-spacing-1);
4637
- outline:0;
4753
+ -moz-column-gap:var(--tds-data-table-cell-padding-inline);
4754
+ column-gap:var(--tds-data-table-cell-padding-inline);
4755
+ justify-content:space-between;
4756
+ }
4757
+
4758
+ .tds-data-table-filters-active-list{
4759
+ display:flex;
4760
+ flex-wrap:wrap;
4761
+ gap:var(--t-spacing-half);
4762
+ }
4763
+
4764
+ .tds-data-table-filters-active-actions{
4765
+ flex-shrink:0;
4766
+ }
4767
+
4768
+ :root{
4769
+
4770
+ --_data-table-filter-border-info:hsl(204 96% 89%);
4771
+ --_data-table-filter-border-error:hsl(8 60% 85%);
4772
+ }
4773
+
4774
+ :root[data-color-mode="dark"]{
4775
+ --_data-table-filter-border-info:var(--t-border-color-status-info);
4776
+ --_data-table-filter-border-error:var(--t-border-color-status-error);
4777
+ }
4778
+
4779
+ @media (prefers-color-scheme: dark){
4780
+ :root[data-color-mode="system"]{
4781
+ --_data-table-filter-border-info:var(--t-border-color-status-info);
4782
+ --_data-table-filter-border-error:var(--t-border-color-status-error);
4783
+ }
4784
+ }
4785
+
4786
+ .tds-btn-group--data-table-filters-chip button{
4787
+ --_chip-border-color:var(--_data-table-filter-border-info);
4788
+ --_chip-icon-color:var(--t-icon-color-status-info);
4789
+
4790
+ gap:0;
4791
+ color:var(--t-text-color-status-info);
4792
+ background-color:var(--t-fill-color-status-info-dim);
4793
+ border-color:var(--_chip-border-color);
4794
+ }
4795
+
4796
+ :is(.tds-btn-group--data-table-filters-chip button) svg{
4797
+ color:var(--_chip-icon-color);
4798
+ transform:scale(.75);
4799
+ }
4800
+
4801
+ :is(.tds-btn-group--data-table-filters-chip button) span{
4802
+ padding-inline:var(--tds-btn-padding-x);
4803
+ border-inline-end:var(--t-border-width) solid var(--_chip-border-color);
4804
+ transition-timing-function:var(--t-ease-in-out);
4805
+ transition-duration:var(--t-duration-200);
4806
+ transition-property:border-color;
4807
+ }
4808
+
4809
+ @media (prefers-reduced-motion: reduce){
4810
+
4811
+ :is(.tds-btn-group--data-table-filters-chip button) span{
4812
+ transition:none;
4813
+ }
4814
+ }
4815
+
4816
+ :is(.tds-btn-group--data-table-filters-chip button) span:first-child{
4817
+ padding-inline-start:0;
4818
+ }
4819
+
4820
+ :is(.tds-btn-group--data-table-filters-chip button) span:last-child{
4821
+ padding-inline-end:0;
4822
+ border-inline-end-color:transparent;
4823
+ }
4824
+
4825
+ :is(.tds-btn-group--data-table-filters-chip button):hover,:is(.tds-btn-group--data-table-filters-chip button):active,:is(.tds-btn-group--data-table-filters-chip button):focus{
4826
+ color:var(--t-text-color-interaction);
4827
+ background-color:var(--t-fill-color-status-info-ghost);
4828
+ border-color:var(--_chip-border-color);
4829
+ }
4830
+
4831
+ .tds-btn-group--data-table-filters-chip-inactive button{
4832
+ --_chip-border-color:var(--t-border-color-button-neutral);
4833
+ --_chip-icon-color:var(--t-icon-color-status-neutral);
4834
+
4835
+ color:var(--t-text-color);
4836
+ background-color:var(--t-fill-color-status-neutral-dim);
4837
+ }
4838
+
4839
+ :is(.tds-btn-group--data-table-filters-chip-inactive button):hover,:is(.tds-btn-group--data-table-filters-chip-inactive button):active,:is(.tds-btn-group--data-table-filters-chip-inactive button):focus{
4840
+ color:var(--t-text-color);
4841
+ background-color:var(--t-fill-color-status-neutral-ghost);
4842
+ }
4843
+
4844
+ .tds-btn-group--data-table-filters-chip-invalid button{
4845
+ --_chip-border-color:var(--_data-table-filter-border-error);
4846
+ --_chip-icon-color:var(--t-icon-color-status-error);
4847
+
4848
+ color:var(--t-text-color-status-error);
4849
+ background-color:var(--t-fill-color-status-error-dim);
4850
+ }
4851
+
4852
+ :is(.tds-btn-group--data-table-filters-chip-invalid button):hover,:is(.tds-btn-group--data-table-filters-chip-invalid button):active,:is(.tds-btn-group--data-table-filters-chip-invalid button):focus{
4853
+ color:var(--t-text-color-status-error);
4854
+ background-color:var(--t-fill-color-status-error-ghost);
4855
+ }
4856
+ .tds-popover--data-table-filters-popover .tds-popover-content{
4857
+ gap:var(--t-spacing-1);
4858
+ align-items:start;
4859
+ padding:var(--t-spacing-2);
4860
+ }
4861
+
4862
+ .tds-data-table-filters-popover-label{
4863
+ font-size:var(--t-font-size-md);
4864
+ font-weight:var(--t-font-weight-medium);
4865
+ margin-block:0;
4866
+ }
4867
+
4868
+ .tds-data-table-filters-popover-label-operator{
4869
+ font-weight:var(--t-font-weight-normal);
4870
+ }
4871
+
4872
+ .tds-data-table-filters-popover-description{
4873
+ font-size:var(--t-font-size-sm);
4874
+ margin-block-start:calc(var(--t-spacing-fourth) * -1);
4875
+ margin-block-end:0;
4876
+ color:var(--t-text-color-secondary);
4877
+ }
4878
+
4879
+ .tds-data-table-filter-controls-badge{
4880
+ min-inline-size:calc(1lh + (var(--t-border-width) * 2));
4881
+ padding-inline:var(--t-spacing-half);
4882
+ font-size:var(--t-font-size-sm);
4883
+ color:var(--t-text-color-status-info);
4884
+ background-color:var(--t-fill-color-status-info-dim);
4885
+ border:var(--t-border-width) solid var(--_data-table-filter-border-info);
4886
+ border-radius:var(--t-border-radius-round);
4638
4887
  }
4639
4888
 
4640
4889
  .tds-pagination{
@@ -6343,8 +6592,10 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
6343
6592
  }
6344
6593
 
6345
6594
  .tds-dropdown-popover{
6595
+ inline-size:-moz-max-content;
6596
+ inline-size:max-content;
6346
6597
  min-inline-size:10rem;
6347
- max-inline-size:24rem;
6598
+ max-inline-size:min(24rem, 100vi);
6348
6599
  padding:var(--t-spacing-1);
6349
6600
  overflow:auto;
6350
6601
  overscroll-behavior:none;