@planningcenter/tapestry 3.0.1 → 3.0.2-qa-693.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 (37) hide show
  1. package/dist/components/select/Select.d.ts +66 -0
  2. package/dist/components/select/Select.d.ts.map +1 -0
  3. package/dist/components/select/Select.js +58 -0
  4. package/dist/components/select/Select.js.map +1 -0
  5. package/dist/components/select/SelectNative.d.ts +3 -1
  6. package/dist/components/select/SelectNative.d.ts.map +1 -1
  7. package/dist/components/select/SelectNative.js +34 -0
  8. package/dist/components/select/SelectNative.js.map +1 -0
  9. package/dist/components/select/SelectOptions.d.ts +1 -1
  10. package/dist/components/select/SelectOptions.d.ts.map +1 -1
  11. package/dist/components/select/SelectOptions.js +35 -0
  12. package/dist/components/select/SelectOptions.js.map +1 -0
  13. package/dist/components/select/SelectPopover.d.ts +11 -55
  14. package/dist/components/select/SelectPopover.d.ts.map +1 -1
  15. package/dist/components/select/SelectPopover.js +237 -0
  16. package/dist/components/select/SelectPopover.js.map +1 -0
  17. package/dist/components/select/index.d.ts +2 -1
  18. package/dist/components/select/index.d.ts.map +1 -1
  19. package/dist/index.css +3 -2
  20. package/dist/index.css.map +1 -1
  21. package/dist/reactRender.css +1318 -808
  22. package/dist/reactRender.css.map +1 -1
  23. package/dist/reactRenderLegacy.css +1318 -808
  24. package/dist/reactRenderLegacy.css.map +1 -1
  25. package/dist/unstable.css +512 -2
  26. package/dist/unstable.css.map +1 -1
  27. package/dist/unstable.js +1 -0
  28. package/dist/unstable.js.map +1 -1
  29. package/dist/utilities/keyboardUtils.d.ts +27 -0
  30. package/dist/utilities/keyboardUtils.d.ts.map +1 -0
  31. package/dist/utilities/keyboardUtils.js +101 -0
  32. package/dist/utilities/keyboardUtils.js.map +1 -0
  33. package/dist/utilities/selectUtils.d.ts +3 -1
  34. package/dist/utilities/selectUtils.d.ts.map +1 -1
  35. package/dist/utilities/selectUtils.js +103 -0
  36. package/dist/utilities/selectUtils.js.map +1 -0
  37. package/package.json +5 -5
@@ -1,746 +1,614 @@
1
-
2
- @media (prefers-reduced-motion: no-preference){
3
-
4
- :root{
5
- interpolate-size:allow-keywords;
6
- }
1
+ @layer t-critical{
2
+ tds-page-header:not(.hydrated){
3
+ display:none;
7
4
  }
5
+ }
8
6
 
9
- @layer tds-component{
10
- tds-sidenav,
11
- .tds-sidenav{
12
- --tds-sidenav-indent:12px;
13
- --tds-sidenav-item-depth:0;
7
+ @layer t-component{
8
+ .tds-page-header{
9
+ --tds-page-header-background-color:var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-canvas));
10
+ --tds-page-header-background-color-inactive:var(--t-fill-color-neutral-090);
11
+ --tds-page-header-color:var(--t-text-color);
12
+ --tds-page-header-bottom-border-color:var(--t-surface-color-canvas);
13
+ --tds-page-header-headline-color:var(--t-text-color-headline);
14
+ --tds-page-header-headline-font-size:var(--t-font-size-2xl);
15
+ --tds-page-header-padding-x:var(--t-spacing-2);
16
+ --tds-page-header-padding-y:var(--t-spacing-2);
17
+ --tds-page-header-nav-padding-x:var(--tds-page-header-padding-x, var(--t-spacing-3));
18
+ --tds-page-header-nav-gap:var(--t-spacing-1);
19
+ --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%);
20
+ --tds-page-header-nav-item-padding-x:var(--t-spacing-1);
21
+ --tds-page-header-nav-item-padding-y:var(--t-spacing-1);
22
+ --tds-page-header-nav-item-color:var(--t-text-color-secondary);
23
+ --tds-page-header-nav-item-background-color:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 35%);
24
+ --tds-page-header-nav-item-border-width:1px;
14
25
 
15
- --tds-sidenav-item-transition:background-color .2s cubic-bezier(.19, .91, .38, 1);
26
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-background-color);
27
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-bottom-border-color);
16
28
 
17
- --tds-sidenav-item-icon-size:var(--t-element-size-md);
18
- --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
19
- --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
20
- --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
29
+ --tds-page-header-nav-item-color-hover:var(--t-text-color);
30
+ --tds-page-header-nav-item-background-color-hover:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 20%);
31
+ --tds-page-header-nav-item-border-color-hover:var(--tds-page-header-nav-item-background-color-hover);
21
32
 
22
- --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
23
- --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
24
- --tds-sidenav-item-nested-background-selected:transparent;
33
+ --tds-page-header-nav-item-background-color-active:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 10%);
34
+ --tds-page-header-nav-item-border-color-active:var(--tds-page-header-nav-item-background-color-active);
25
35
 
26
- --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
27
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
28
- --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
36
+ --tds-page-header-nav-item-color-disabled:var(--t-text-color-disabled);
37
+ --tds-page-header-nav-item-background-color-disabled:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 50%);
38
+ --tds-page-header-nav-item-border-color-disabled:var(--tds-page-header-nav-item-background-color-disabled);
29
39
 
30
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
31
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
40
+ --tds-page-header-nav-item-color-selected:var(--t-text-color);
41
+ --tds-page-header-nav-item-background-color-selected:var(--t-surface-color-canvas);
42
+ --tds-page-header-nav-item-border-color-selected:var(--tds-page-header-nav-item-background-color-selected);
43
+ --tds-page-header-nav-item-border-bottom-color-selected:var(--tds-page-header-nav-item-background-color-selected);
44
+ --tds-page-header-nav-item-indicator-color:var(--t-icon-color-status-warning);
32
45
  }
33
46
 
34
- .tds-sidenav--theme-gray{
35
- --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
36
- --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
37
- --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
38
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
39
- --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
47
+ .tds-page-header--profile{
48
+ --tds-page-header-padding-y:20px;
40
49
  }
41
- }
42
50
 
43
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
44
- display:flex;
51
+ @supports (color: light-dark(#fff, #000)){
52
+ .tds-page-header{
53
+ --tds-page-header-nav-background-start:light-dark(rgba(0, 0, 0, 0), rgba(255, 255, 255, 0));
54
+ --tds-page-header-nav-background-end:light-dark(rgba(0, 0, 0, .05), rgba(255, 255, 255, .1));
55
+ }
45
56
  }
46
57
 
47
- .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
48
- flex-direction:column;
49
- gap:var(--t-spacing-half);
50
- width:100%;
58
+ @media (min-width: 600px){
59
+ .tds-page-header{
60
+ --tds-page-header-background-color:var(--t-surface-color-canvas);
61
+ --tds-page-header-color:var(--t-text-color-secondary);
62
+ --tds-page-header-bottom-border-color:var(--t-border-color);
63
+ --tds-page-header-padding-x:var(--t-spacing-3);
64
+ --tds-page-header-headline-font-size:var(--t-font-size-3xl);
65
+ --tds-page-header-nav-gap:var(--t-spacing-half);
66
+ --tds-page-header-nav-background:transparent;
67
+ --tds-page-header-nav-item-padding-x:var(--t-spacing-2);
68
+ --tds-page-header-nav-item-border-width:1px;
69
+ --tds-page-header-nav-item-color:var(--t-text-color);
70
+ --tds-page-header-nav-item-background-color:var(--t-fill-color-neutral-070);
71
+ --tds-page-header-nav-item-background-color-hover:var(--t-fill-color-neutral-060);
72
+ --tds-page-header-nav-item-background-color-active:var(--t-fill-color-neutral-050);
73
+ --tds-page-header-nav-item-background-color-disabled:var(--t-fill-color-neutral-080);
74
+ --tds-page-header-nav-item-border-color-selected:var(--t-border-color);
75
+ }
51
76
  }
52
-
53
- .tds-sidenav-section-list{
54
- width:100%;
55
- padding:0;
56
- margin:0;
57
- list-style:none;
58
77
  }
59
78
 
60
- .tds-sidenav-section-header{
79
+ .tds-page-header{
61
80
  display:flex;
62
- align-items:baseline;
63
- justify-content:space-between;
64
- padding-top:var(--t-spacing-2);
81
+ flex-direction:column;
82
+ padding-top:var(--tds-page-header-padding-y);
83
+ color:var(--tds-page-header-color);
84
+ background:var(--tds-page-header-background-color);
85
+ border-bottom:1px solid var(--tds-page-header-bottom-border-color);
65
86
  }
66
87
 
67
- .tds-sidenav-section-header h2{
68
- margin:0;
69
- font-size:var(--t-font-size-sm);
70
- font-weight:var(--t-font-weight-semibold);
71
- line-height:1.35;
72
- color:var(--t-text-color-secondary);
73
- text-transform:uppercase;
74
- }
75
-
76
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
77
- padding-top:0;
78
- }
88
+ .tds-page-header:not(.has-nav){
89
+ padding-bottom:var(--tds-page-header-padding-y);
90
+ }
79
91
 
80
- .tds-sidenav-section-header [slot="label-actions"]{
81
- display:flex;
82
- gap:var(--t-spacing-half);
83
- align-items:center;
84
- }
92
+ .tds-page-header.inactive{
93
+ background:var(--tds-page-header-background-color-inactive);
94
+ }
85
95
 
86
- .tds-sidenav-section [slot="section-actions"]{
96
+ .tds-page-header__title-bar{
87
97
  display:flex;
88
- gap:12px;
98
+ flex-direction:column;
99
+ gap:var(--t-spacing-2) var(--t-spacing-1);
100
+ align-items:flex-start;
101
+ justify-content:space-between;
102
+ padding:0 var(--tds-page-header-padding-x);
103
+ }
104
+
105
+ .tds-page-header--profile > .tds-page-header__title-bar{
89
106
  align-items:center;
90
- min-height:42px;
91
- padding:var(--t-spacing-1) 0;
92
107
  }
93
108
 
94
- .tds-sidenav-section-list,
95
- .tds-sidenav-item{
109
+ .tds-page-header__primary{
96
110
  width:100%;
97
- padding:0;
111
+ }
112
+
113
+ .tds-page-header__primary h1{
98
114
  margin:0;
115
+ font-size:var(--tds-page-header-headline-font-size);
116
+ font-weight:var(--t-font-weight-normal);
117
+ line-height:32px;
118
+ color:var(--tds-page-header-headline-color);
119
+ overflow-wrap:break-word;
99
120
  }
100
121
 
101
- .tds-sidenav-item :is(a,button){
102
- position:relative;
103
- display:flex;
104
- gap:12px;
105
- align-items:center;
106
- width:100%;
107
- padding:12px;
108
- overflow:hidden;
109
- font-size:var(--t-font-size-sm);
110
- line-height:18px;
111
- color:var(--t-text-color-headline);
112
- white-space:nowrap;
113
- text-decoration:none;
114
- -webkit-appearance:none;
115
- -moz-appearance:none;
116
- appearance:none;
117
- cursor:pointer;
118
- background-color:var(--tds-sidenav-item-background, transparent);
119
- border:0;
120
- border-radius:var(--t-border-radius);
121
- transition:var(--tds-sidenav-item-transition);
122
- }
122
+ .tds-page-header [slot="actions"],
123
+ .tds-page-header .tds-page-header__actions{
124
+ width:100%;
125
+ }
123
126
 
124
- :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
125
- display:block;
126
- flex:1;
127
- overflow:hidden;
128
- text-overflow:ellipsis;
129
- text-align:left;
130
- white-space:nowrap;
131
- }
127
+ .has-multi-actions.tds-page-header [slot="actions"],
128
+ .has-multi-actions.tds-page-header .tds-page-header__actions{
129
+ display:flex;
130
+ flex-flow:row wrap;
131
+ gap:var(--t-spacing-half) var(--t-spacing-1);
132
+ align-items:flex-start;
133
+ justify-content:flex-start;
134
+ min-width:0;
135
+ }
132
136
 
133
- :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
134
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
135
- color:var(--t-text-color-headline);
136
- text-decoration:none;
137
- }
137
+ .tds-page-header nav[slot="navigation"]:not(:has(ul)),
138
+ .tds-page-header nav.tds-page-header__nav:not(:has(ul)),
139
+ .tds-page-header nav[slot="navigation"] ul,
140
+ .tds-page-header nav.tds-page-header__nav ul{
141
+ display:flex;
142
+ gap:var(--tds-page-header-nav-gap);
143
+ padding:var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
144
+ margin:0 0 -1px;
145
+ overflow:auto;
146
+ list-style:none;
147
+ background:var(--tds-page-header-nav-background);
148
+ }
138
149
 
139
- :is(.tds-sidenav-item :is(a,button)):active{
140
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
141
- }
150
+ .tds-page-header nav[slot="navigation"] a,
151
+ .tds-page-header nav[slot="navigation"] button,
152
+ .tds-page-header nav.tds-page-header__nav a,
153
+ .tds-page-header nav.tds-page-header__nav button{
154
+ position:relative;
155
+ display:inline-flex;
156
+ padding:var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
157
+ font-size:var(--t-font-size-sm);
158
+ line-height:22px;
159
+ color:var(--tds-page-header-nav-item-color);
160
+ white-space:nowrap;
161
+ text-decoration:none;
162
+ -webkit-appearance:none;
163
+ -moz-appearance:none;
164
+ appearance:none;
165
+ cursor:pointer;
166
+ outline-offset:-2px;
167
+ background-color:var(--tds-page-header-nav-item-background-color);
168
+ background-clip:padding-box;
169
+ border:var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
170
+ border-bottom:1px solid var(--tds-page-header-nav-item-border-bottom-color);
171
+ border-radius:var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
172
+ }
142
173
 
143
- :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
144
- overflow:hidden;
145
- color:var(--tds-sidenav-item-icon-color);
146
- }
174
+ .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator){
175
+ position:relative;
176
+ }
147
177
 
148
- :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{
149
- display:block;
150
- width:var(--tds-sidenav-item-icon-size);
151
- height:var(--tds-sidenav-item-icon-size);
152
- }
178
+ .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator) :is(a, button){
179
+ -webkit-mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
180
+ mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
181
+ }
153
182
 
154
- :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
155
- --tds-sidenav-indent:19px;
156
- }
183
+ .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator)::before,
184
+ .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator)::after{
185
+ position:absolute;
186
+ top:-5px;
187
+ right:-2px;
188
+ width:10px;
189
+ height:10px;
190
+ content:"";
191
+ background:var(--tds-page-header-nav-item-indicator-color);
192
+ border-radius:50%;
193
+ }
157
194
 
158
- [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
159
- visibility:visible;
160
- block-size:auto;
161
- opacity:1;
162
- }
195
+ @media (prefers-reduced-motion: no-preference){
196
+ .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator)::after{
197
+ animation:indicator-pulse 1.25s ease infinite;
198
+ }
199
+ }
163
200
 
164
- .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
165
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
166
- --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
201
+ .tds-page-header nav[slot="navigation"] a.selected,
202
+ .tds-page-header nav[slot="navigation"] button.selected,
203
+ .tds-page-header nav.tds-page-header__nav a.selected,
204
+ .tds-page-header nav.tds-page-header__nav button.selected{
205
+ --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-selected);
206
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-selected);
207
+ --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-selected);
208
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-selected);
209
+ }
167
210
 
168
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
169
- font-weight:var(--t-font-weight-semibold);
211
+ .tds-page-header nav[slot="navigation"] a:not(.selected):hover,
212
+ .tds-page-header nav[slot="navigation"] button:not(.selected):hover,
213
+ .tds-page-header nav.tds-page-header__nav a:not(.selected):hover,
214
+ .tds-page-header nav.tds-page-header__nav button:not(.selected):hover{
215
+ --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-hover);
216
+ --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-hover);
217
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-hover);
218
+ }
219
+
220
+ .tds-page-header nav[slot="navigation"] a:not(.selected):active,
221
+ .tds-page-header nav[slot="navigation"] button:not(.selected):active,
222
+ .tds-page-header nav.tds-page-header__nav a:not(.selected):active,
223
+ .tds-page-header nav.tds-page-header__nav button:not(.selected):active{
224
+ background-color:var(--tds-page-header-nav-item-background-color-active);
225
+ border-color:var(--tds-page-header-nav-item-border-color-active);
226
+ }
227
+
228
+ .tds-page-header nav[slot="navigation"] a:not(.selected):disabled,
229
+ .tds-page-header nav[slot="navigation"] button:not(.selected):disabled,
230
+ .tds-page-header nav.tds-page-header__nav a:not(.selected):disabled,
231
+ .tds-page-header nav.tds-page-header__nav button:not(.selected):disabled{
232
+ color:var(--tds-page-header-nav-item-color-disabled);
233
+ cursor:not-allowed;
234
+ background-color:var(--tds-page-header-nav-item-background-color-disabled);
235
+ opacity:1;
236
+ }
237
+
238
+ @media (min-width: 960px){
239
+ .tds-page-header__primary{
240
+ flex:1 1 max-content;
241
+ width:auto;
242
+ min-width:0;
243
+ max-width:100%;
170
244
  }
171
245
 
172
- .tds-sidenav-item:has(.tds-sidenav-section){
173
- display:flex;
174
- flex-direction:column;
175
- gap:var(--t-spacing-half);
246
+ .tds-page-header__title-bar,
247
+ .tds-page-header--profile .tds-page-header__title-bar{
248
+ flex-flow:row nowrap;
249
+ row-gap:12px;
250
+ align-items:flex-start;
176
251
  }
177
252
 
178
- .tds-sidenav-item .tds-sidenav-section-list{
179
- --tds-sidenav-item-depth:1;
180
- gap:0;
253
+ .tds-page-header [slot="actions"],
254
+ .tds-page-header .tds-page-header__actions{
255
+ width:auto;
181
256
  }
182
257
 
183
- .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
184
- visibility:hidden;
185
- block-size:0;
186
- overflow-y:clip;
187
- opacity:0;
188
- transition:content-visibility .2s allow-discrete, opacity .2s, block-size .2s;
189
- }
258
+ .has-multi-actions.tds-page-header [slot="actions"],
259
+ .has-multi-actions.tds-page-header .tds-page-header__actions{
260
+ justify-content:flex-end;
261
+ }
262
+ }
190
263
 
191
- :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
192
- --tds-sidenav-item-depth:2;
193
- }
264
+ .tds-page-header-phone,
265
+ .tds-page-header-email{
266
+ color:var(--tds-page-header-color);
267
+ white-space:nowrap;
268
+ }
194
269
 
195
- :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
196
- min-height:var(--t-element-size-2xl);
197
- padding-block:9px;
198
- padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
199
- line-height:1;
200
- background-color:transparent;
201
- }
270
+ .tds-page-header-email{
271
+ max-width:100%;
272
+ overflow:hidden;
273
+ text-overflow:ellipsis;
274
+ }
202
275
 
203
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
204
- position:absolute;
205
- top:0;
206
- bottom:0;
207
- left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
208
- width:2px;
209
- content:"";
210
- background-color:var(--tds-sidenav-item-nested-border-color);
211
- transition:var(--tds-sidenav-item-transition);
212
- }
276
+ @keyframes indicator-pulse{
277
+ 0%{
278
+ opacity:.3;
279
+ transform:scale(.9);
280
+ }
213
281
 
214
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
215
- position:absolute;
216
- inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
217
- z-index:-1;
218
- height:100%;
219
- content:"";
220
- background-color:var(--tds-sidenav-item-nested-background);
221
- border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
222
- transition:var(--tds-sidenav-item-transition);
223
- }
282
+ 100%{
283
+ opacity:0;
284
+ transform:scale(1.75);
285
+ }
286
+ }
224
287
 
225
- :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)){
226
- display:block;
227
- text-align:left;
228
- white-space:normal;
229
- }
230
288
 
231
- :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{
232
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
233
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
234
- }
289
+ @media (prefers-reduced-motion: no-preference){
235
290
 
236
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
237
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
238
- }
291
+ :root{
292
+ interpolate-size:allow-keywords;
293
+ }
294
+ }
239
295
 
240
- .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
241
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
242
- font-weight:var(--t-font-weight-medium);
243
- }
296
+ @layer tds-component{
297
+ tds-sidenav,
298
+ .tds-sidenav{
299
+ --tds-sidenav-indent:12px;
300
+ --tds-sidenav-item-depth:0;
244
301
 
245
- .tds-sidenav-responsive-header{
246
- display:flex;
247
- gap:var(--t-spacing-2);
248
- align-items:center;
249
- width:100%;
250
- }
302
+ --tds-sidenav-item-transition:background-color .2s cubic-bezier(.19, .91, .38, 1);
251
303
 
252
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
253
- order:0;
304
+ --tds-sidenav-item-icon-size:var(--t-element-size-md);
305
+ --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
306
+ --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
307
+ --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
308
+
309
+ --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
310
+ --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
311
+ --tds-sidenav-item-nested-background-selected:transparent;
312
+
313
+ --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
314
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
315
+ --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
316
+
317
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
318
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
254
319
  }
255
320
 
256
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
257
- flex:1;
258
- order:1;
259
- margin:0;
260
- font-size:var(--t-font-size-lg);
261
- font-weight:var(--t-font-weight-medium);
262
- color:var(--t-text-color-headline);
321
+ .tds-sidenav--theme-gray{
322
+ --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
323
+ --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
324
+ --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
325
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
326
+ --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
263
327
  }
328
+ }
264
329
 
265
- @media (max-width: 719px){
266
- .tds-sidenav-collapse{
267
- z-index:10001;
268
- display:none;
269
- max-width:min(448px, calc(100vw - 48px));
270
- padding:0;
271
- margin:12px 0;
272
- overflow:hidden;
273
- outline:0;
274
- background:var(--t-surface-color-card);
275
- border:0;
276
- border-radius:6px;
277
- box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
278
- will-change:transform;
279
- position-area:bottom span-right;
330
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
331
+ display:flex;
280
332
  }
281
333
 
282
- .tds-sidenav-scroll-container{
283
- --webkit-overflow-scrolling:touch;
284
- display:block;
334
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
335
+ flex-direction:column;
336
+ gap:var(--t-spacing-half);
285
337
  width:100%;
286
- height:-moz-fit-content;
287
- height:fit-content;
288
- padding:var(--t-spacing-2);
289
- overflow-y:auto;
290
338
  }
291
339
 
292
- .tds-sidenav-item :is(a, button) :is(.prefix){
293
- display:none;
294
- }
295
- @supports selector(:popover-open){
296
- .tds-sidenav-collapse:popover-open{
297
- display:flex;
298
- }
299
- }
300
- @supports not selector(:popover-open){
301
- .tds-sidenav-collapse.\:popover-open{
302
- display:flex;
303
- }
304
- }
340
+ .tds-sidenav-section-list{
341
+ width:100%;
342
+ padding:0;
343
+ margin:0;
344
+ list-style:none;
305
345
  }
306
346
 
307
- @media (min-width: 720px){
308
- .tds-sidenav-responsive-header{
309
- display:none;
310
- }
347
+ .tds-sidenav-section-header{
348
+ display:flex;
349
+ align-items:baseline;
350
+ justify-content:space-between;
351
+ padding-top:var(--t-spacing-2);
311
352
  }
312
353
 
313
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
314
- display:none;
315
- }
316
-
317
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
318
- display:block;
319
- }
320
-
321
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
322
- display:flex;
323
- flex-direction:column;
324
- }
325
-
326
- .tds-radio{
327
- --tds-radio-font-size:var(--t-font-size-md);
328
- --tds-radio-cursor:pointer;
329
- --tds-radio-line-height:1.4;
330
- --tds-radio-transition-property:border-width;
331
-
332
- --tds-radio-input-size:var(--t-element-size-md);
333
- --tds-radio-input-border-radius:var(--t-border-radius-round);
334
- --tds-radio-input-border-color:var(--t-border-color-control-neutral);
335
- --tds-radio-input-border-width:var(--t-border-width);
336
- --tds-radio-input-background-color:transparent;
354
+ .tds-sidenav-section-header h2{
355
+ margin:0;
356
+ font-size:var(--t-font-size-sm);
357
+ font-weight:var(--t-font-weight-semibold);
358
+ line-height:1.35;
359
+ color:var(--t-text-color-secondary);
360
+ text-transform:uppercase;
361
+ }
337
362
 
338
- --tds-radio-label-color:var(--t-text-color);
363
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
364
+ padding-top:0;
365
+ }
339
366
 
340
- --tds-radio-description-font-size:var(--t-font-size-sm);
341
- --tds-radio-description-line-height:1.35;
342
- --tds-radio-description-color:var(--t-text-color-secondary);
367
+ .tds-sidenav-section-header [slot="label-actions"]{
368
+ display:flex;
369
+ gap:var(--t-spacing-half);
370
+ align-items:center;
371
+ }
343
372
 
344
- position:relative;
345
- display:inline-grid;
346
- grid-template-columns:auto;
347
- grid-auto-columns:1fr;
348
- gap:var(--t-spacing-fourth) var(--t-spacing-1);
349
- line-height:var(--tds-radio-line-height);
350
- cursor:var(--tds-radio-cursor);
351
- -webkit-user-select:none;
352
- -moz-user-select:none;
353
- user-select:none;
373
+ .tds-sidenav-section [slot="section-actions"]{
374
+ display:flex;
375
+ gap:12px;
376
+ align-items:center;
377
+ min-height:42px;
378
+ padding:var(--t-spacing-1) 0;
354
379
  }
355
380
 
356
- .tds-radio label{
357
- grid-area:1 / 2;
358
- font-size:var(--tds-radio-font-size);
359
- font-weight:var(--t-font-weight-normal);
360
- color:var(--tds-radio-label-color);
361
- cursor:var(--tds-radio-cursor);
362
- }
381
+ .tds-sidenav-section-list,
382
+ .tds-sidenav-item{
383
+ width:100%;
384
+ padding:0;
385
+ margin:0;
386
+ }
363
387
 
364
- .tds-radio input[type="radio"]{
388
+ .tds-sidenav-item :is(a,button){
365
389
  position:relative;
366
- width:1em;
367
- height:1em;
368
- margin:calc((1lh - 1em) / 2) 0 0;
369
- font-size:var(--tds-radio-font-size);
370
- line-height:inherit;
390
+ display:flex;
391
+ gap:12px;
392
+ align-items:center;
393
+ width:100%;
394
+ padding:12px;
395
+ overflow:hidden;
396
+ font-size:var(--t-font-size-sm);
397
+ line-height:18px;
398
+ color:var(--t-text-color-headline);
399
+ white-space:nowrap;
400
+ text-decoration:none;
371
401
  -webkit-appearance:none;
372
402
  -moz-appearance:none;
373
403
  appearance:none;
374
- cursor:var(--tds-radio-cursor);
375
- background-color:var(--tds-radio-input-background-color);
376
- border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
377
- border-radius:var(--tds-radio-input-border-radius);
378
- transition-timing-function:ease-in-out;
379
- transition-duration:180ms;
380
- transition-property:var(--tds-radio-transition-property);
404
+ cursor:pointer;
405
+ background-color:var(--tds-sidenav-item-background, transparent);
406
+ border:0;
407
+ border-radius:var(--t-border-radius);
408
+ transition:var(--tds-sidenav-item-transition);
381
409
  }
382
410
 
383
- :is(.tds-radio input[type="radio"]):hover:not(:disabled){
384
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
385
- --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
411
+ :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
412
+ display:block;
413
+ flex:1;
414
+ overflow:hidden;
415
+ text-overflow:ellipsis;
416
+ text-align:left;
417
+ white-space:nowrap;
386
418
  }
387
419
 
388
- :is(.tds-radio input[type="radio"]):focus-visible{
389
- outline:var(--t-focus-ring-outline);
390
- outline-offset:var(--t-focus-ring-offset);
420
+ :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
421
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
422
+ color:var(--t-text-color-headline);
423
+ text-decoration:none;
391
424
  }
392
425
 
393
- :is(.tds-radio input[type="radio"]):disabled{
394
- pointer-events:none;
426
+ :is(.tds-sidenav-item :is(a,button)):active{
427
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
395
428
  }
396
429
 
397
- @media (prefers-reduced-motion: reduce){
398
-
399
- .tds-radio input[type="radio"]{
400
- --tds-radio-transition-property:none;
401
- }
430
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
431
+ overflow:hidden;
432
+ color:var(--tds-sidenav-item-icon-color);
402
433
  }
403
434
 
404
- .tds-radio:has(input:checked){
405
- --tds-radio-input-background-color:var(--t-form-background-color);
406
- --tds-radio-input-border-color:var(--t-border-color-control-info);
407
- --tds-radio-input-border-width:4px;
408
- }
435
+ :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{
436
+ display:block;
437
+ width:var(--tds-sidenav-item-icon-size);
438
+ height:var(--tds-sidenav-item-icon-size);
439
+ }
409
440
 
410
- .tds-radio:has(input:checked) input:hover:not(:disabled){
411
- --tds-radio-input-background-color:var(--t-form-background-color);
412
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
441
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
442
+ --tds-sidenav-indent:19px;
413
443
  }
414
444
 
415
- .tds-radio:has(input:user-invalid){
416
- --tds-radio-input-border-color:var(--t-border-color-control-error);
417
- }
418
-
419
- .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
420
- --tds-radio-input-border-color:var(--t-border-color-control-error);
421
- --tds-radio-input-background-color:var(--t-fill-color-status-error-dim);
445
+ [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
446
+ visibility:visible;
447
+ block-size:auto;
448
+ opacity:1;
422
449
  }
423
450
 
424
- .tds-radio:has(input:disabled){
425
- --tds-radio-input-background-color:var(--t-fill-color-neutral-070);
426
- --tds-radio-input-border-color:var(--t-border-color-control-disabled);
451
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
452
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
453
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
427
454
 
428
- --tds-radio-label-color:var(--t-text-color-disabled);
429
- --tds-radio-description-color:var(--t-text-color-disabled);
430
- --tds-radio-cursor:not-allowed;
455
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
456
+ font-weight:var(--t-font-weight-semibold);
431
457
  }
432
458
 
433
- .tds-radio:has(input:disabled) input:checked{
434
- --tds-radio-input-background-color:var(--t-form-background-color);
435
- --tds-radio-input-border-color:var(--t-border-color-control-disabled);
436
- }
437
-
438
- .tds-radio-description{
439
- display:flex;
440
- grid-area:2 / 2;
441
- gap:4px;
442
- align-items:flex-start;
443
- margin:0;
444
- font-size:var(--tds-radio-description-font-size);
445
- line-height:var(--tds-radio-description-line-height);
446
- color:var(--tds-radio-description-color);
447
- cursor:text;
448
- }
449
-
450
- .tds-radio--sm{
451
- --tds-radio-line-height:1.35;
452
- --tds-radio-input-size:var(--t-element-size-sm);
453
- --tds-radio-font-size:var(--t-font-size-sm);
454
- --tds-radio-description-font-size:var(--t-font-size-xs);
455
- --tds-radio-description-line-height:1.3;
456
- }
459
+ .tds-sidenav-item:has(.tds-sidenav-section){
460
+ display:flex;
461
+ flex-direction:column;
462
+ gap:var(--t-spacing-half);
463
+ }
457
464
 
458
- @layer t-critical{
459
- tds-page-header:not(.hydrated){
460
- display:none;
465
+ .tds-sidenav-item .tds-sidenav-section-list{
466
+ --tds-sidenav-item-depth:1;
467
+ gap:0;
461
468
  }
462
- }
463
469
 
464
- @layer t-component{
465
- .tds-page-header{
466
- --tds-page-header-background-color:var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-canvas));
467
- --tds-page-header-background-color-inactive:var(--t-fill-color-neutral-090);
468
- --tds-page-header-color:var(--t-text-color);
469
- --tds-page-header-bottom-border-color:var(--t-surface-color-canvas);
470
- --tds-page-header-headline-color:var(--t-text-color-headline);
471
- --tds-page-header-headline-font-size:var(--t-font-size-2xl);
472
- --tds-page-header-padding-x:var(--t-spacing-2);
473
- --tds-page-header-padding-y:var(--t-spacing-2);
474
- --tds-page-header-nav-padding-x:var(--tds-page-header-padding-x, var(--t-spacing-3));
475
- --tds-page-header-nav-gap:var(--t-spacing-1);
476
- --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%);
477
- --tds-page-header-nav-item-padding-x:var(--t-spacing-1);
478
- --tds-page-header-nav-item-padding-y:var(--t-spacing-1);
479
- --tds-page-header-nav-item-color:var(--t-text-color-secondary);
480
- --tds-page-header-nav-item-background-color:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 35%);
481
- --tds-page-header-nav-item-border-width:1px;
470
+ .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
471
+ visibility:hidden;
472
+ block-size:0;
473
+ overflow-y:clip;
474
+ opacity:0;
475
+ transition:content-visibility .2s allow-discrete, opacity .2s, block-size .2s;
476
+ }
482
477
 
483
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-background-color);
484
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-bottom-border-color);
478
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
479
+ --tds-sidenav-item-depth:2;
480
+ }
485
481
 
486
- --tds-page-header-nav-item-color-hover:var(--t-text-color);
487
- --tds-page-header-nav-item-background-color-hover:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 20%);
488
- --tds-page-header-nav-item-border-color-hover:var(--tds-page-header-nav-item-background-color-hover);
482
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
483
+ min-height:var(--t-element-size-2xl);
484
+ padding-block:9px;
485
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
486
+ line-height:1;
487
+ background-color:transparent;
488
+ }
489
489
 
490
- --tds-page-header-nav-item-background-color-active:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 10%);
491
- --tds-page-header-nav-item-border-color-active:var(--tds-page-header-nav-item-background-color-active);
490
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
491
+ position:absolute;
492
+ top:0;
493
+ bottom:0;
494
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
495
+ width:2px;
496
+ content:"";
497
+ background-color:var(--tds-sidenav-item-nested-border-color);
498
+ transition:var(--tds-sidenav-item-transition);
499
+ }
492
500
 
493
- --tds-page-header-nav-item-color-disabled:var(--t-text-color-disabled);
494
- --tds-page-header-nav-item-background-color-disabled:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 50%);
495
- --tds-page-header-nav-item-border-color-disabled:var(--tds-page-header-nav-item-background-color-disabled);
501
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
502
+ position:absolute;
503
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
504
+ z-index:-1;
505
+ height:100%;
506
+ content:"";
507
+ background-color:var(--tds-sidenav-item-nested-background);
508
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
509
+ transition:var(--tds-sidenav-item-transition);
510
+ }
496
511
 
497
- --tds-page-header-nav-item-color-selected:var(--t-text-color);
498
- --tds-page-header-nav-item-background-color-selected:var(--t-surface-color-canvas);
499
- --tds-page-header-nav-item-border-color-selected:var(--tds-page-header-nav-item-background-color-selected);
500
- --tds-page-header-nav-item-border-bottom-color-selected:var(--tds-page-header-nav-item-background-color-selected);
501
- --tds-page-header-nav-item-indicator-color:var(--t-icon-color-status-warning);
502
- }
512
+ :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)){
513
+ display:block;
514
+ text-align:left;
515
+ white-space:normal;
516
+ }
503
517
 
504
- .tds-page-header--profile{
505
- --tds-page-header-padding-y:20px;
506
- }
518
+ :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{
519
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
520
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
521
+ }
507
522
 
508
- @supports (color: light-dark(#fff, #000)){
509
- .tds-page-header{
510
- --tds-page-header-nav-background-start:light-dark(rgba(0, 0, 0, 0), rgba(255, 255, 255, 0));
511
- --tds-page-header-nav-background-end:light-dark(rgba(0, 0, 0, .05), rgba(255, 255, 255, .1));
512
- }
513
- }
523
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
524
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
525
+ }
514
526
 
515
- @media (min-width: 600px){
516
- .tds-page-header{
517
- --tds-page-header-background-color:var(--t-surface-color-canvas);
518
- --tds-page-header-color:var(--t-text-color-secondary);
519
- --tds-page-header-bottom-border-color:var(--t-border-color);
520
- --tds-page-header-padding-x:var(--t-spacing-3);
521
- --tds-page-header-headline-font-size:var(--t-font-size-3xl);
522
- --tds-page-header-nav-gap:var(--t-spacing-half);
523
- --tds-page-header-nav-background:transparent;
524
- --tds-page-header-nav-item-padding-x:var(--t-spacing-2);
525
- --tds-page-header-nav-item-border-width:1px;
526
- --tds-page-header-nav-item-color:var(--t-text-color);
527
- --tds-page-header-nav-item-background-color:var(--t-fill-color-neutral-070);
528
- --tds-page-header-nav-item-background-color-hover:var(--t-fill-color-neutral-060);
529
- --tds-page-header-nav-item-background-color-active:var(--t-fill-color-neutral-050);
530
- --tds-page-header-nav-item-background-color-disabled:var(--t-fill-color-neutral-080);
531
- --tds-page-header-nav-item-border-color-selected:var(--t-border-color);
527
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
528
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
529
+ font-weight:var(--t-font-weight-medium);
532
530
  }
533
- }
534
- }
535
531
 
536
- .tds-page-header{
537
- display:flex;
538
- flex-direction:column;
539
- padding-top:var(--tds-page-header-padding-y);
540
- color:var(--tds-page-header-color);
541
- background:var(--tds-page-header-background-color);
542
- border-bottom:1px solid var(--tds-page-header-bottom-border-color);
543
- }
544
-
545
- .tds-page-header:not(.has-nav){
546
- padding-bottom:var(--tds-page-header-padding-y);
547
- }
548
-
549
- .tds-page-header.inactive{
550
- background:var(--tds-page-header-background-color-inactive);
551
- }
552
-
553
- .tds-page-header__title-bar{
532
+ .tds-sidenav-responsive-header{
554
533
  display:flex;
555
- flex-direction:column;
556
- gap:var(--t-spacing-2) var(--t-spacing-1);
557
- align-items:flex-start;
558
- justify-content:space-between;
559
- padding:0 var(--tds-page-header-padding-x);
560
- }
561
-
562
- .tds-page-header--profile > .tds-page-header__title-bar{
534
+ gap:var(--t-spacing-2);
563
535
  align-items:center;
564
- }
565
-
566
- .tds-page-header__primary{
567
536
  width:100%;
568
537
  }
569
538
 
570
- .tds-page-header__primary h1{
571
- margin:0;
572
- font-size:var(--tds-page-header-headline-font-size);
573
- font-weight:var(--t-font-weight-normal);
574
- line-height:32px;
575
- color:var(--tds-page-header-headline-color);
576
- overflow-wrap:break-word;
577
- }
578
-
579
- .tds-page-header [slot="actions"],
580
- .tds-page-header .tds-page-header__actions{
581
- width:100%;
582
- }
583
-
584
- .has-multi-actions.tds-page-header [slot="actions"],
585
- .has-multi-actions.tds-page-header .tds-page-header__actions{
586
- display:flex;
587
- flex-flow:row wrap;
588
- gap:var(--t-spacing-half) var(--t-spacing-1);
589
- align-items:flex-start;
590
- justify-content:flex-start;
591
- min-width:0;
592
- }
593
-
594
- .tds-page-header nav[slot="navigation"]:not(:has(ul)),
595
- .tds-page-header nav.tds-page-header__nav:not(:has(ul)),
596
- .tds-page-header nav[slot="navigation"] ul,
597
- .tds-page-header nav.tds-page-header__nav ul{
598
- display:flex;
599
- gap:var(--tds-page-header-nav-gap);
600
- padding:var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
601
- margin:0 0 -1px;
602
- overflow:auto;
603
- list-style:none;
604
- background:var(--tds-page-header-nav-background);
605
- }
606
-
607
- .tds-page-header nav[slot="navigation"] a,
608
- .tds-page-header nav[slot="navigation"] button,
609
- .tds-page-header nav.tds-page-header__nav a,
610
- .tds-page-header nav.tds-page-header__nav button{
611
- position:relative;
612
- display:inline-flex;
613
- padding:var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
614
- font-size:var(--t-font-size-sm);
615
- line-height:22px;
616
- color:var(--tds-page-header-nav-item-color);
617
- white-space:nowrap;
618
- text-decoration:none;
619
- -webkit-appearance:none;
620
- -moz-appearance:none;
621
- appearance:none;
622
- cursor:pointer;
623
- outline-offset:-2px;
624
- background-color:var(--tds-page-header-nav-item-background-color);
625
- background-clip:padding-box;
626
- border:var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
627
- border-bottom:1px solid var(--tds-page-header-nav-item-border-bottom-color);
628
- border-radius:var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
629
- }
630
-
631
- .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator){
632
- position:relative;
633
- }
634
-
635
- .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator) :is(a, button){
636
- -webkit-mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
637
- mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
638
- }
639
-
640
- .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator)::before,
641
- .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator)::after{
642
- position:absolute;
643
- top:-5px;
644
- right:-2px;
645
- width:10px;
646
- height:10px;
647
- content:"";
648
- background:var(--tds-page-header-nav-item-indicator-color);
649
- border-radius:50%;
650
- }
651
-
652
- @media (prefers-reduced-motion: no-preference){
653
- .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator)::after{
654
- animation:indicator-pulse 1.25s ease infinite;
539
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
540
+ order:0;
655
541
  }
656
- }
657
542
 
658
- .tds-page-header nav[slot="navigation"] a.selected,
659
- .tds-page-header nav[slot="navigation"] button.selected,
660
- .tds-page-header nav.tds-page-header__nav a.selected,
661
- .tds-page-header nav.tds-page-header__nav button.selected{
662
- --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-selected);
663
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-selected);
664
- --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-selected);
665
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-selected);
666
- }
667
-
668
- .tds-page-header nav[slot="navigation"] a:not(.selected):hover,
669
- .tds-page-header nav[slot="navigation"] button:not(.selected):hover,
670
- .tds-page-header nav.tds-page-header__nav a:not(.selected):hover,
671
- .tds-page-header nav.tds-page-header__nav button:not(.selected):hover{
672
- --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-hover);
673
- --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-hover);
674
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-hover);
675
- }
676
-
677
- .tds-page-header nav[slot="navigation"] a:not(.selected):active,
678
- .tds-page-header nav[slot="navigation"] button:not(.selected):active,
679
- .tds-page-header nav.tds-page-header__nav a:not(.selected):active,
680
- .tds-page-header nav.tds-page-header__nav button:not(.selected):active{
681
- background-color:var(--tds-page-header-nav-item-background-color-active);
682
- border-color:var(--tds-page-header-nav-item-border-color-active);
683
- }
684
-
685
- .tds-page-header nav[slot="navigation"] a:not(.selected):disabled,
686
- .tds-page-header nav[slot="navigation"] button:not(.selected):disabled,
687
- .tds-page-header nav.tds-page-header__nav a:not(.selected):disabled,
688
- .tds-page-header nav.tds-page-header__nav button:not(.selected):disabled{
689
- color:var(--tds-page-header-nav-item-color-disabled);
690
- cursor:not-allowed;
691
- background-color:var(--tds-page-header-nav-item-background-color-disabled);
692
- opacity:1;
693
- }
543
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
544
+ flex:1;
545
+ order:1;
546
+ margin:0;
547
+ font-size:var(--t-font-size-lg);
548
+ font-weight:var(--t-font-weight-medium);
549
+ color:var(--t-text-color-headline);
550
+ }
694
551
 
695
- @media (min-width: 960px){
696
- .tds-page-header__primary{
697
- flex:1 1 max-content;
698
- width:auto;
699
- min-width:0;
700
- max-width:100%;
552
+ @media (max-width: 719px){
553
+ .tds-sidenav-collapse{
554
+ z-index:10001;
555
+ display:none;
556
+ max-width:min(448px, calc(100vw - 48px));
557
+ padding:0;
558
+ margin:12px 0;
559
+ overflow:hidden;
560
+ outline:0;
561
+ background:var(--t-surface-color-card);
562
+ border:0;
563
+ border-radius:6px;
564
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
565
+ will-change:transform;
566
+ position-area:bottom span-right;
701
567
  }
702
568
 
703
- .tds-page-header__title-bar,
704
- .tds-page-header--profile .tds-page-header__title-bar{
705
- flex-flow:row nowrap;
706
- row-gap:12px;
707
- align-items:flex-start;
569
+ .tds-sidenav-scroll-container{
570
+ --webkit-overflow-scrolling:touch;
571
+ display:block;
572
+ width:100%;
573
+ height:-moz-fit-content;
574
+ height:fit-content;
575
+ padding:var(--t-spacing-2);
576
+ overflow-y:auto;
708
577
  }
709
578
 
710
- .tds-page-header [slot="actions"],
711
- .tds-page-header .tds-page-header__actions{
712
- width:auto;
579
+ .tds-sidenav-item :is(a, button) :is(.prefix){
580
+ display:none;
713
581
  }
714
-
715
- .has-multi-actions.tds-page-header [slot="actions"],
716
- .has-multi-actions.tds-page-header .tds-page-header__actions{
717
- justify-content:flex-end;
582
+ @supports selector(:popover-open){
583
+ .tds-sidenav-collapse:popover-open{
584
+ display:flex;
585
+ }
586
+ }
587
+ @supports not selector(:popover-open){
588
+ .tds-sidenav-collapse.\:popover-open{
589
+ display:flex;
590
+ }
718
591
  }
719
592
  }
720
593
 
721
- .tds-page-header-phone,
722
- .tds-page-header-email{
723
- color:var(--tds-page-header-color);
724
- white-space:nowrap;
594
+ @media (min-width: 720px){
595
+ .tds-sidenav-responsive-header{
596
+ display:none;
597
+ }
725
598
  }
726
599
 
727
- .tds-page-header-email{
728
- max-width:100%;
729
- overflow:hidden;
730
- text-overflow:ellipsis;
731
- }
600
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
601
+ display:none;
602
+ }
732
603
 
733
- @keyframes indicator-pulse{
734
- 0%{
735
- opacity:.3;
736
- transform:scale(.9);
737
- }
604
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
605
+ display:block;
606
+ }
738
607
 
739
- 100%{
740
- opacity:0;
741
- transform:scale(1.75);
742
- }
743
- }
608
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
609
+ display:flex;
610
+ flex-direction:column;
611
+ }
744
612
 
745
613
  .tds-checkbox{
746
614
  --tds-checkbox-font-size:var(--t-font-size-md);
@@ -834,102 +702,321 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
834
702
  outline-offset:var(--t-focus-ring-offset);
835
703
  }
836
704
 
837
- :is(.tds-checkbox input[type="checkbox"]):disabled{
838
- pointer-events:none;
705
+ :is(.tds-checkbox input[type="checkbox"]):disabled{
706
+ pointer-events:none;
707
+ }
708
+
709
+ @media (prefers-reduced-motion: reduce){
710
+
711
+ .tds-checkbox input[type="checkbox"]{
712
+ --tds-checkbox-transition-property:none;
713
+ }
714
+ }
715
+
716
+ .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
717
+ --tds-checkbox-input-background-color:var(--t-fill-color-control);
718
+ --tds-checkbox-input-border-color:var(--t-border-color-control-info);
719
+ --tds-checkbox-input-icon-visibility:visible;
720
+ --tds-checkbox-input-icon-opacity:1;
721
+ }
722
+
723
+ :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
724
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
725
+ --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
726
+ }
727
+
728
+ .tds-checkbox:has(input:checked){
729
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
730
+ }
731
+
732
+ .tds-checkbox:has(input:indeterminate){
733
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
734
+ }
735
+
736
+ .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
737
+ --tds-checkbox-input-border-color:var(--t-border-color-control-error);
738
+ --tds-checkbox-description-color:var(--t-text-color-status-error);
739
+ --tds-checkbox-description-invalid-icon-display:inline-block;
740
+ }
741
+
742
+ :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
743
+ --tds-checkbox-input-border-color:var(--t-border-color-control-error);
744
+ --tds-checkbox-input-background-color:var(--t-fill-color-status-error-dim);
745
+ }
746
+
747
+ :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{
748
+ --tds-checkbox-input-border-color:var(--t-fill-color-control-error);
749
+ --tds-checkbox-input-background-color:var(--t-fill-color-control-error);
750
+ }
751
+
752
+ :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){
753
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
754
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
755
+ }
756
+
757
+ .tds-checkbox:has(input:required) label::after{
758
+ margin-left:.25ch;
759
+ color:var(--t-text-color-status-error);
760
+ content:"*";
761
+ }
762
+
763
+ .tds-checkbox:has(input:disabled){
764
+ --tds-checkbox-input-background-color:var(--t-fill-color-neutral-070);
765
+ --tds-checkbox-input-border-color:var(--t-border-color-control-disabled);
766
+
767
+ --tds-checkbox-label-color:var(--t-text-color-disabled);
768
+ --tds-checkbox-description-color:var(--t-text-color-disabled);
769
+ --tds-checkbox-cursor:not-allowed;
770
+ }
771
+
772
+ .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
773
+ --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
774
+ }
775
+
776
+ .tds-checkbox-description{
777
+ display:flex;
778
+ grid-area:2 / 2;
779
+ gap:4px;
780
+ align-items:flex-start;
781
+ margin:0;
782
+ font-size:var(--tds-checkbox-description-font-size);
783
+ line-height:var(--tds-checkbox-description-line-height);
784
+ color:var(--tds-checkbox-description-color);
785
+ cursor:text;
786
+ }
787
+
788
+ .tds-checkbox-description .tds-checkbox-description-invalid-icon{
789
+ display:var(--tds-checkbox-description-invalid-icon-display);
790
+ flex-shrink:0;
791
+ margin-top:calc(.5lh - .5em);
792
+ line-height:var(--tds-checkbox-description-line-height);
793
+ }
794
+
795
+ .tds-checkbox--sm{
796
+ --tds-checkbox-line-height:1.35;
797
+ --tds-checkbox-input-size:var(--t-element-size-sm);
798
+ --tds-checkbox-font-size:var(--t-font-size-sm);
799
+ --tds-checkbox-description-font-size:var(--t-font-size-xs);
800
+ --tds-checkbox-description-line-height:1.3;
801
+ }
802
+
803
+ .tds-radio{
804
+ --tds-radio-font-size:var(--t-font-size-md);
805
+ --tds-radio-cursor:pointer;
806
+ --tds-radio-line-height:1.4;
807
+ --tds-radio-transition-property:border-width;
808
+
809
+ --tds-radio-input-size:var(--t-element-size-md);
810
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
811
+ --tds-radio-input-border-color:var(--t-border-color-control-neutral);
812
+ --tds-radio-input-border-width:var(--t-border-width);
813
+ --tds-radio-input-background-color:transparent;
814
+
815
+ --tds-radio-label-color:var(--t-text-color);
816
+
817
+ --tds-radio-description-font-size:var(--t-font-size-sm);
818
+ --tds-radio-description-line-height:1.35;
819
+ --tds-radio-description-color:var(--t-text-color-secondary);
820
+
821
+ position:relative;
822
+ display:inline-grid;
823
+ grid-template-columns:auto;
824
+ grid-auto-columns:1fr;
825
+ gap:var(--t-spacing-fourth) var(--t-spacing-1);
826
+ line-height:var(--tds-radio-line-height);
827
+ cursor:var(--tds-radio-cursor);
828
+ -webkit-user-select:none;
829
+ -moz-user-select:none;
830
+ user-select:none;
831
+ }
832
+
833
+ .tds-radio label{
834
+ grid-area:1 / 2;
835
+ font-size:var(--tds-radio-font-size);
836
+ font-weight:var(--t-font-weight-normal);
837
+ color:var(--tds-radio-label-color);
838
+ cursor:var(--tds-radio-cursor);
839
+ }
840
+
841
+ .tds-radio input[type="radio"]{
842
+ position:relative;
843
+ width:1em;
844
+ height:1em;
845
+ margin:calc((1lh - 1em) / 2) 0 0;
846
+ font-size:var(--tds-radio-font-size);
847
+ line-height:inherit;
848
+ -webkit-appearance:none;
849
+ -moz-appearance:none;
850
+ appearance:none;
851
+ cursor:var(--tds-radio-cursor);
852
+ background-color:var(--tds-radio-input-background-color);
853
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
854
+ border-radius:var(--tds-radio-input-border-radius);
855
+ transition-timing-function:ease-in-out;
856
+ transition-duration:180ms;
857
+ transition-property:var(--tds-radio-transition-property);
858
+ }
859
+
860
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
861
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
862
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
863
+ }
864
+
865
+ :is(.tds-radio input[type="radio"]):focus-visible{
866
+ outline:var(--t-focus-ring-outline);
867
+ outline-offset:var(--t-focus-ring-offset);
868
+ }
869
+
870
+ :is(.tds-radio input[type="radio"]):disabled{
871
+ pointer-events:none;
872
+ }
873
+
874
+ @media (prefers-reduced-motion: reduce){
875
+
876
+ .tds-radio input[type="radio"]{
877
+ --tds-radio-transition-property:none;
878
+ }
879
+ }
880
+
881
+ .tds-radio:has(input:checked){
882
+ --tds-radio-input-background-color:var(--t-form-background-color);
883
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
884
+ --tds-radio-input-border-width:4px;
885
+ }
886
+
887
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
888
+ --tds-radio-input-background-color:var(--t-form-background-color);
889
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
890
+ }
891
+
892
+ .tds-radio:has(input:user-invalid){
893
+ --tds-radio-input-border-color:var(--t-border-color-control-error);
894
+ }
895
+
896
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
897
+ --tds-radio-input-border-color:var(--t-border-color-control-error);
898
+ --tds-radio-input-background-color:var(--t-fill-color-status-error-dim);
839
899
  }
840
900
 
841
- @media (prefers-reduced-motion: reduce){
901
+ .tds-radio:has(input:disabled){
902
+ --tds-radio-input-background-color:var(--t-fill-color-neutral-070);
903
+ --tds-radio-input-border-color:var(--t-border-color-control-disabled);
842
904
 
843
- .tds-checkbox input[type="checkbox"]{
844
- --tds-checkbox-transition-property:none;
905
+ --tds-radio-label-color:var(--t-text-color-disabled);
906
+ --tds-radio-description-color:var(--t-text-color-disabled);
907
+ --tds-radio-cursor:not-allowed;
845
908
  }
909
+
910
+ .tds-radio:has(input:disabled) input:checked{
911
+ --tds-radio-input-background-color:var(--t-form-background-color);
912
+ --tds-radio-input-border-color:var(--t-border-color-control-disabled);
846
913
  }
847
914
 
848
- .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
849
- --tds-checkbox-input-background-color:var(--t-fill-color-control);
850
- --tds-checkbox-input-border-color:var(--t-border-color-control-info);
851
- --tds-checkbox-input-icon-visibility:visible;
852
- --tds-checkbox-input-icon-opacity:1;
853
- }
915
+ .tds-radio-description{
916
+ display:flex;
917
+ grid-area:2 / 2;
918
+ gap:4px;
919
+ align-items:flex-start;
920
+ margin:0;
921
+ font-size:var(--tds-radio-description-font-size);
922
+ line-height:var(--tds-radio-description-line-height);
923
+ color:var(--tds-radio-description-color);
924
+ cursor:text;
925
+ }
854
926
 
855
- :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
856
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
857
- --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
858
- }
927
+ .tds-radio--sm{
928
+ --tds-radio-line-height:1.35;
929
+ --tds-radio-input-size:var(--t-element-size-sm);
930
+ --tds-radio-font-size:var(--t-font-size-sm);
931
+ --tds-radio-description-font-size:var(--t-font-size-xs);
932
+ --tds-radio-description-line-height:1.3;
933
+ }
859
934
 
860
- .tds-checkbox:has(input:checked){
861
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
935
+ .tds-radio-group{
936
+ --tds-radio-group-font-size:var(--t-font-size-md);
937
+ --tds-radio-group-line-height:1.4;
938
+ --tds-radio-group-gap:var(--t-spacing-1);
939
+
940
+ --tds-radio-group-legend-margin-bottom:var(--tds-radio-group-gap);
941
+
942
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
943
+ --tds-radio-group-description-line-height:1.35;
944
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
945
+ --tds-radio-group-description-invalid-icon-display:none;
946
+ display:flex;
947
+ flex-direction:column;
948
+ gap:var(--tds-radio-group-gap);
949
+ padding:0;
950
+ margin:0;
951
+
952
+ font-size:var(--tds-radio-group-font-size);
953
+ line-height:var(--tds-radio-group-line-height);
954
+ border:0;
955
+ }
956
+
957
+ .tds-radio-group legend{
958
+ padding:0;
959
+ margin-bottom:var(--tds-radio-group-legend-margin-bottom);
862
960
  }
863
961
 
864
- .tds-checkbox:has(input:indeterminate){
865
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
962
+ .tds-radio-group:has(.tds-radio-group-description){
963
+ --tds-radio-group-legend-margin-bottom:var(--t-spacing-fourth);
866
964
  }
867
965
 
868
- .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
869
- --tds-checkbox-input-border-color:var(--t-border-color-control-error);
870
- --tds-checkbox-description-color:var(--t-text-color-status-error);
871
- --tds-checkbox-description-invalid-icon-display:inline-block;
966
+ .tds-radio-group[aria-invalid="true"]{
967
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
968
+ --tds-radio-group-description-invalid-icon-display:inline-block;
872
969
  }
873
970
 
874
- :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
875
- --tds-checkbox-input-border-color:var(--t-border-color-control-error);
876
- --tds-checkbox-input-background-color:var(--t-fill-color-status-error-dim);
971
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
972
+ --tds-radio-input-border-color:var(--t-border-color-control-error);
877
973
  }
878
974
 
879
- :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{
880
- --tds-checkbox-input-border-color:var(--t-fill-color-control-error);
881
- --tds-checkbox-input-background-color:var(--t-fill-color-control-error);
882
- }
975
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
976
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
977
+ --tds-radio-input-background-color:var(--t-fill-color-status-error-dim);
978
+ }
883
979
 
884
- :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){
885
- --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
886
- --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
980
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
981
+ --tds-radio-input-background-color:var(--t-form-background-color);
887
982
  }
888
983
 
889
- .tds-checkbox:has(input:required) label::after{
984
+ .tds-radio-group:has(input:required) legend::after{
890
985
  margin-left:.25ch;
891
986
  color:var(--t-text-color-status-error);
892
987
  content:"*";
893
988
  }
894
989
 
895
- .tds-checkbox:has(input:disabled){
896
- --tds-checkbox-input-background-color:var(--t-fill-color-neutral-070);
897
- --tds-checkbox-input-border-color:var(--t-border-color-control-disabled);
898
-
899
- --tds-checkbox-label-color:var(--t-text-color-disabled);
900
- --tds-checkbox-description-color:var(--t-text-color-disabled);
901
- --tds-checkbox-cursor:not-allowed;
902
- }
903
-
904
- .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
905
- --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
906
- }
990
+ .tds-radio-group-fields{
991
+ display:flex;
992
+ flex-direction:column;
993
+ gap:var(--tds-radio-group-gap);
994
+ align-items:flex-start;
995
+ }
907
996
 
908
- .tds-checkbox-description{
997
+ .tds-radio-group-description{
909
998
  display:flex;
910
- grid-area:2 / 2;
911
- gap:4px;
999
+ gap:var(--t-spacing-half);
912
1000
  align-items:flex-start;
913
1001
  margin:0;
914
- font-size:var(--tds-checkbox-description-font-size);
915
- line-height:var(--tds-checkbox-description-line-height);
916
- color:var(--tds-checkbox-description-color);
1002
+ font-size:var(--tds-radio-group-description-font-size);
1003
+ line-height:var(--tds-radio-group-description-line-height);
1004
+ color:var(--tds-radio-group-description-color);
917
1005
  cursor:text;
918
1006
  }
919
1007
 
920
- .tds-checkbox-description .tds-checkbox-description-invalid-icon{
921
- display:var(--tds-checkbox-description-invalid-icon-display);
922
- flex-shrink:0;
923
- margin-top:calc(.5lh - .5em);
924
- line-height:var(--tds-checkbox-description-line-height);
925
- }
1008
+ .tds-radio-group-description-invalid-icon{
1009
+ display:var(--tds-radio-group-description-invalid-icon-display);
1010
+ flex-shrink:0;
1011
+ margin-top:calc(.5lh - .5em);
1012
+ line-height:var(--tds-radio-group-description-line-height);
1013
+ }
926
1014
 
927
- .tds-checkbox--sm{
928
- --tds-checkbox-line-height:1.35;
929
- --tds-checkbox-input-size:var(--t-element-size-sm);
930
- --tds-checkbox-font-size:var(--t-font-size-sm);
931
- --tds-checkbox-description-font-size:var(--t-font-size-xs);
932
- --tds-checkbox-description-line-height:1.3;
1015
+ .tds-radio-group--sm{
1016
+ --tds-radio-group-line-height:1.35;
1017
+ --tds-radio-group-font-size:var(--t-font-size-sm);
1018
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
1019
+ --tds-radio-group-description-line-height:1.3;
933
1020
  }
934
1021
 
935
1022
  .tds-toggle-switch{
@@ -956,9 +1043,10 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
956
1043
  --tds-toggle-switch-description-color:var(--t-text-color-secondary);
957
1044
 
958
1045
  display:var(--tds-toggle-switch-display);
959
- grid-template-columns:auto;
960
- grid-auto-columns:1fr;
961
1046
  gap:var(--t-spacing-fourth) var(--tds-toggle-switch-column-gap);
1047
+ grid-auto-columns:1fr;
1048
+ grid-template-columns:auto;
1049
+ position:relative;
962
1050
  -webkit-user-select:none;
963
1051
  -moz-user-select:none;
964
1052
  user-select:none;
@@ -1017,146 +1105,59 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1017
1105
  --tds-toggle-switch-cursor:not-allowed;
1018
1106
  }
1019
1107
 
1020
- .tds-toggle-switch-track{
1021
- position:relative;
1022
- flex-shrink:0;
1023
- width:var(--tds-toggle-switch-track-width);
1024
- height:var(--tds-toggle-switch-track-height);
1025
- background-color:var(--tds-toggle-switch-track-background-color);
1026
- border-radius:var(--t-border-radius-round);
1027
- transition:var(--tds-toggle-switch-track-transition);
1028
- }
1029
-
1030
- .tds-toggle-switch-track::before{
1031
- position:absolute;
1032
- top:var(--t-spacing-fourth);
1033
- left:var(--t-spacing-fourth);
1034
- width:var(--tds-toggle-switch-thumb-size);
1035
- height:var(--tds-toggle-switch-thumb-size);
1036
- content:"";
1037
- background-color:#fff;
1038
- border-radius:var(--t-border-radius-round);
1039
- transform:var(--tds-toggle-switch-thumb-transform);
1040
- transition:var(--tds-toggle-switch-thumb-transition);
1041
- }
1042
-
1043
- @media (prefers-reduced-motion: reduce){
1044
-
1045
- .tds-toggle-switch-track{
1046
- --tds-toggle-switch-track-transition:none;
1047
- --tds-toggle-switch-thumb-transition:none;
1048
- }
1049
- }
1050
-
1051
- .tds-toggle-switch-description{
1052
- display:flex;
1053
- grid-area:2 / 2;
1054
- align-items:flex-start;
1055
- margin:0;
1056
- font-size:var(--tds-toggle-switch-description-font-size);
1057
- line-height:var(--tds-toggle-switch-description-line-height);
1058
- color:var(--tds-toggle-switch-description-color);
1059
- cursor:text;
1060
- }
1061
-
1062
- .tds-toggle-switch--sm{
1063
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
1064
- --tds-toggle-switch-line-height:1.35;
1065
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
1066
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1067
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1068
- --tds-toggle-switch-description-line-height:1.3;
1069
- }
1070
-
1071
- .tds-toggle-switch--hide-label{
1072
- --tds-toggle-switch-display:inline-flex;
1073
- }
1074
-
1075
- .tds-radio-group{
1076
- --tds-radio-group-font-size:var(--t-font-size-md);
1077
- --tds-radio-group-line-height:1.4;
1078
- --tds-radio-group-gap:var(--t-spacing-1);
1079
-
1080
- --tds-radio-group-legend-margin-bottom:var(--tds-radio-group-gap);
1081
-
1082
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
1083
- --tds-radio-group-description-line-height:1.35;
1084
- --tds-radio-group-description-color:var(--t-text-color-secondary);
1085
- --tds-radio-group-description-invalid-icon-display:none;
1086
- display:flex;
1087
- flex-direction:column;
1088
- gap:var(--tds-radio-group-gap);
1089
- padding:0;
1090
- margin:0;
1091
-
1092
- font-size:var(--tds-radio-group-font-size);
1093
- line-height:var(--tds-radio-group-line-height);
1094
- border:0;
1095
- }
1096
-
1097
- .tds-radio-group legend{
1098
- padding:0;
1099
- margin-bottom:var(--tds-radio-group-legend-margin-bottom);
1100
- }
1101
-
1102
- .tds-radio-group:has(.tds-radio-group-description){
1103
- --tds-radio-group-legend-margin-bottom:var(--t-spacing-fourth);
1104
- }
1105
-
1106
- .tds-radio-group[aria-invalid="true"]{
1107
- --tds-radio-group-description-color:var(--t-text-color-status-error);
1108
- --tds-radio-group-description-invalid-icon-display:inline-block;
1109
- }
1110
-
1111
- .tds-radio-group[aria-invalid="true"] .tds-radio{
1112
- --tds-radio-input-border-color:var(--t-border-color-control-error);
1113
- }
1114
-
1115
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1116
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1117
- --tds-radio-input-background-color:var(--t-fill-color-status-error-dim);
1118
- }
1108
+ .tds-toggle-switch-track{
1109
+ position:relative;
1110
+ flex-shrink:0;
1111
+ width:var(--tds-toggle-switch-track-width);
1112
+ height:var(--tds-toggle-switch-track-height);
1113
+ background-color:var(--tds-toggle-switch-track-background-color);
1114
+ border-radius:var(--t-border-radius-round);
1115
+ transition:var(--tds-toggle-switch-track-transition);
1116
+ }
1119
1117
 
1120
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1121
- --tds-radio-input-background-color:var(--t-form-background-color);
1122
- }
1118
+ .tds-toggle-switch-track::before{
1119
+ position:absolute;
1120
+ top:var(--t-spacing-fourth);
1121
+ left:var(--t-spacing-fourth);
1122
+ width:var(--tds-toggle-switch-thumb-size);
1123
+ height:var(--tds-toggle-switch-thumb-size);
1124
+ content:"";
1125
+ background-color:#fff;
1126
+ border-radius:var(--t-border-radius-round);
1127
+ transform:var(--tds-toggle-switch-thumb-transform);
1128
+ transition:var(--tds-toggle-switch-thumb-transition);
1129
+ }
1123
1130
 
1124
- .tds-radio-group:has(input:required) legend::after{
1125
- margin-left:.25ch;
1126
- color:var(--t-text-color-status-error);
1127
- content:"*";
1128
- }
1131
+ @media (prefers-reduced-motion: reduce){
1129
1132
 
1130
- .tds-radio-group-fields{
1131
- display:flex;
1132
- flex-direction:column;
1133
- gap:var(--tds-radio-group-gap);
1134
- align-items:flex-start;
1133
+ .tds-toggle-switch-track{
1134
+ --tds-toggle-switch-track-transition:none;
1135
+ --tds-toggle-switch-thumb-transition:none;
1135
1136
  }
1137
+ }
1136
1138
 
1137
- .tds-radio-group-description{
1139
+ .tds-toggle-switch-description{
1138
1140
  display:flex;
1139
- gap:var(--t-spacing-half);
1141
+ grid-area:2 / 2;
1140
1142
  align-items:flex-start;
1141
1143
  margin:0;
1142
- font-size:var(--tds-radio-group-description-font-size);
1143
- line-height:var(--tds-radio-group-description-line-height);
1144
- color:var(--tds-radio-group-description-color);
1144
+ font-size:var(--tds-toggle-switch-description-font-size);
1145
+ line-height:var(--tds-toggle-switch-description-line-height);
1146
+ color:var(--tds-toggle-switch-description-color);
1145
1147
  cursor:text;
1146
1148
  }
1147
1149
 
1148
- .tds-radio-group-description-invalid-icon{
1149
- display:var(--tds-radio-group-description-invalid-icon-display);
1150
- flex-shrink:0;
1151
- margin-top:calc(.5lh - .5em);
1152
- line-height:var(--tds-radio-group-description-line-height);
1150
+ .tds-toggle-switch--sm{
1151
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
1152
+ --tds-toggle-switch-line-height:1.35;
1153
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
1154
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1155
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1156
+ --tds-toggle-switch-description-line-height:1.3;
1153
1157
  }
1154
1158
 
1155
- .tds-radio-group--sm{
1156
- --tds-radio-group-line-height:1.35;
1157
- --tds-radio-group-font-size:var(--t-font-size-sm);
1158
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
1159
- --tds-radio-group-description-line-height:1.3;
1159
+ .tds-toggle-switch--hide-label{
1160
+ --tds-toggle-switch-display:inline-flex;
1160
1161
  }
1161
1162
 
1162
1163
  .tds-loading-spinner{
@@ -2667,6 +2668,515 @@ a[class="tds-btn"]{
2667
2668
  }
2668
2669
  }
2669
2670
 
2671
+ .tds-select{
2672
+ --tds-select-border-color:var(--t-form-border-color);
2673
+ --tds-select-border-color-hover:var(--t-form-border-color-hover);
2674
+ --tds-select-border-color-active:var(--t-form-border-color-hover);
2675
+ --tds-select-background-color:var(--t-form-background-color);
2676
+ --tds-select-color:var(--t-form-color);
2677
+ --tds-select-placeholder-color:var(--t-form-placeholder-color);
2678
+ --tds-select-font-size:var(--t-font-size-md);
2679
+ --tds-select-height:32px;
2680
+ --tds-select-description-color:var(--t-text-color-secondary);
2681
+ --tds-select-description-invalid-icon-display:none;
2682
+ --tds-select-transition-property:background-color, border-color, outline-color, outline-offset;
2683
+ --tds-select-background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzQzYTQwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0ibTIgNSA2IDYgNi02Ii8+PC9zdmc+");
2684
+ --tds-select-caret-size:.75em;
2685
+ --tds-select-caret-inline-offset:.75em;
2686
+
2687
+ --tds-select-dropdown-background-color:var(--t-surface-color-card);
2688
+ --tds-select-dropdown-border:1px solid var(--t-border-color);
2689
+ --tds-select-dropdown-padding:var(--t-spacing-1);
2690
+ --tds-select-dropdown-margin-block:5px;
2691
+ --tds-select-dropdown-scrollbar-color:#0004 #0000;
2692
+ --tds-select-dropdown-scrollbar-width:thin;
2693
+ --tds-select-dropdown-border-radius:var(--t-border-radius);
2694
+ --tds-select-dropdown-box-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
2695
+ --tds-select-dropdown-scroll-behavior:smooth;
2696
+ --tds-select-dropdown-transition:opacity .2s ease, transform .2s ease-out, display .2s allow-discrete, overlay .2s allow-discrete;
2697
+ --tds-select-dropdown-closed-opacity:0;
2698
+ --tds-select-dropdown-open-opacity:1;
2699
+ --tds-select-dropdown-closed-transform:scale(.95);
2700
+ --tds-select-dropdown-open-transform:scale(1);
2701
+
2702
+ --tds-select-option-gap:var(--t-spacing-1);
2703
+ --tds-select-option-padding-block:var(--t-spacing-1);
2704
+ --tds-select-option-padding-inline:var(--t-spacing-2) var(--t-spacing-1);
2705
+ --tds-select-option-font-size:1rem;
2706
+ --tds-select-option-color:var(--t-text-color);
2707
+ --tds-select-option-background-hover:var(--t-fill-color-neutral-070);
2708
+ --tds-select-option-background-active:var(--t-fill-color-button-interaction-ghost-active);
2709
+ --tds-select-option-outline-offset:-1px;
2710
+ --tds-select-option-border-radius:var(--t-border-radius);
2711
+
2712
+ --tds-select-group-label-padding-block-start:12px;
2713
+ --tds-select-group-label-padding-block:var(--tds-select-group-label-padding-block-start) 6px;
2714
+ --tds-select-group-label-padding-inline:10px;
2715
+ --tds-select-group-label-font-size:11px;
2716
+ --tds-select-group-label-font-weight:700;
2717
+ --tds-select-group-label-letter-spacing:.15em;
2718
+ --tds-select-group-label-text-color:var(--t-text-color-secondary);
2719
+ --tds-select-group-label-text-color-stuck:var(--t-text-color-headline);
2720
+ --tds-select-group-label-background:var(--tds-select-dropdown-background-color);
2721
+ --tds-select-group-label-transition:color .3s ease;
2722
+
2723
+ position:relative;
2724
+ display:flex;
2725
+ flex-direction:column;
2726
+ gap:var(--t-spacing-half);
2727
+ }
2728
+
2729
+ .tds-select :is(label,.tds-select-label){
2730
+ font-size:var(--t-font-size-md);
2731
+ font-weight:var(--t-font-weight-normal);
2732
+ color:var(--t-text-color);
2733
+ }
2734
+
2735
+ .tds-select :is(select,button){
2736
+ position:relative;
2737
+ place-items:center;
2738
+ inline-size:100%;
2739
+ block-size:var(--tds-select-height);
2740
+ padding-inline:var(--t-spacing-1);
2741
+ padding-inline-end:calc(var(--t-spacing-1) + var(--tds-select-caret-size) + .5em);
2742
+ font-family:inherit;
2743
+ font-size:var(--tds-select-font-size);
2744
+ color:var(--tds-select-color);
2745
+ text-align:left;
2746
+ -webkit-appearance:none;
2747
+ -moz-appearance:none;
2748
+ appearance:none;
2749
+ cursor:var(--tds-select-cursor, default);
2750
+ outline:var(--t-focus-ring-width) solid transparent;
2751
+ outline-offset:0;
2752
+ background-color:var(--tds-select-background-color);
2753
+ background-image:var(--tds-select-background-image);
2754
+ background-repeat:no-repeat;
2755
+ background-position:right var(--tds-select-caret-inline-offset) top 50%;
2756
+ background-size:var(--tds-select-caret-size);
2757
+ border:var(--t-form-border-width) solid var(--tds-select-border-color);
2758
+ border-radius:var(--t-form-border-radius);
2759
+ transition-timing-function:ease-in-out;
2760
+ transition-duration:180ms;
2761
+ transition-property:var(--tds-select-transition-property);
2762
+ }
2763
+
2764
+ :is(.tds-select :is(select,button)):hover:not(:disabled,:focus,:focus-visible,:focus-within,:active,:open){
2765
+ border-color:var(--tds-select-border-color-hover);
2766
+ }
2767
+
2768
+ :is(.tds-select :is(select,button)):focus{
2769
+ outline-color:var(--t-focus-ring-color);
2770
+ outline-offset:var(--t-focus-ring-offset);
2771
+ border-color:var(--tds-select-border-color-active);
2772
+ }
2773
+
2774
+ :is(.tds-select :is(select,button)):required:invalid,:is(.tds-select :is(select,button)):has(option[hidden][disabled][value=""]:checked){
2775
+ color:var(--tds-select-placeholder-color);
2776
+ }
2777
+
2778
+ @media (prefers-reduced-motion: reduce){
2779
+
2780
+ .tds-select :is(select,button){
2781
+ --tds-select-transition-property:none;
2782
+ }
2783
+ }
2784
+
2785
+ .tds-select:has(select:user-invalid,[aria-invalid="true"]),.tds-select.tds-select--invalid{
2786
+ --tds-select-border-color:var(--t-form-border-color-error);
2787
+ --tds-select-border-color-hover:var(--t-form-border-color-error-hover);
2788
+ --tds-select-border-color-active:var(--t-form-border-color-error-hover);
2789
+ --tds-select-background-color:var(--t-form-background-color-error);
2790
+ --tds-select-description-color:var(--t-text-color-status-error);
2791
+ --tds-select-description-invalid-icon-display:inline-block;
2792
+ }
2793
+
2794
+ .tds-select:has(select:required,[aria-required="true"]) :is(label,.tds-select-label)::after{
2795
+ margin-inline-start:.25ch;
2796
+ color:var(--t-text-color-status-error);
2797
+ content:"*";
2798
+ }
2799
+
2800
+ .tds-select:has(:is(select,button[role="combobox"]):is(:disabled,[aria-disabled="true"])){
2801
+ --tds-select-border-color:var(--t-form-border-color-disabled);
2802
+ --tds-select-background-color:var(--t-form-background-color-disabled);
2803
+ --tds-select-color:var(--t-form-color-disabled);
2804
+ --tds-select-description-color:var(--t-text-color-disabled);
2805
+ --tds-select-cursor:not-allowed;
2806
+ }
2807
+
2808
+ .tds-select:has( > [popover]:popover-open) > button{
2809
+ border-color:var(--tds-select-border-color-active);
2810
+ }
2811
+
2812
+ :is(.tds-select:has( > [popover]:popover-open) > button)::after{
2813
+ transform:translateY(-50%) rotate(.5turn);
2814
+ }
2815
+
2816
+ .tds-select :is(hr,li[role="separator"]){
2817
+ margin-block:var(--t-spacing-half);
2818
+ color:var(--tds-select-border-color);
2819
+ border:0;
2820
+ border-top:1px solid;
2821
+ }
2822
+
2823
+ .tds-select.tds-select--lg{
2824
+ --tds-select-height:40px;
2825
+ --tds-select-font-size:var(--t-font-size-lg);
2826
+ }
2827
+
2828
+ @media (prefers-reduced-motion: reduce){
2829
+
2830
+ .tds-select{
2831
+ --tds-select-dropdown-transition:none;
2832
+ --tds-select-dropdown-scroll-behavior:auto;
2833
+ }
2834
+ }
2835
+
2836
+ .tds-select-description{
2837
+ display:flex;
2838
+ gap:var(--t-spacing-half);
2839
+ align-items:flex-start;
2840
+ margin:0;
2841
+ font-size:var(--t-font-size-sm);
2842
+ line-height:1.35;
2843
+ color:var(--tds-select-description-color, var(--t-text-color-secondary));
2844
+ cursor:text;
2845
+ }
2846
+
2847
+ .tds-select-description-invalid-icon{
2848
+ display:var(--tds-select-description-invalid-icon-display, none);
2849
+ flex-shrink:0;
2850
+ margin-block-start:calc(.5lh - .5em);
2851
+ line-height:1.35;
2852
+ }
2853
+
2854
+ .tds-select > .tds-select-hidden-select{
2855
+ position:absolute;
2856
+ inline-size:1px;
2857
+ block-size:1px;
2858
+ padding:0;
2859
+ margin:0;
2860
+ pointer-events:none;
2861
+ opacity:0;
2862
+ }
2863
+
2864
+ .tds-select:has( > button) > button{
2865
+ display:block;
2866
+ padding-inline-end:calc(var(--tds-select-caret-size) + var(--tds-select-caret-inline-offset) + .75ch);
2867
+ overflow:hidden;
2868
+ text-overflow:ellipsis;
2869
+ color:var(--tds-select-placeholder-color);
2870
+ white-space:nowrap;
2871
+ background-image:none;
2872
+ transition:background-color 180ms ease-in-out, border-color 180ms ease-in-out, outline-color 180ms ease-in-out, outline-offset 180ms ease-in-out, transform .1s ease;
2873
+ -webkit-tap-highlight-color:transparent;
2874
+ }
2875
+
2876
+ :is(.tds-select:has( > button) > button)::after{
2877
+ position:absolute;
2878
+ inset-block-start:50%;
2879
+ inset-inline-end:var(--tds-select-caret-inline-offset);
2880
+ width:var(--tds-select-caret-size);
2881
+ pointer-events:none;
2882
+ content:var(--tds-select-background-image);
2883
+ transform:translateY(-50%) rotate(0);
2884
+ transition:transform 180ms ease-in-out;
2885
+ }
2886
+
2887
+ .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
2888
+ color:var(--tds-select-color);
2889
+ }
2890
+
2891
+ .tds-select:has( > button) [popover]{
2892
+ inset:auto;
2893
+ inline-size:anchor-size(width);
2894
+ max-block-size:min(50vh, 20rem);
2895
+ padding:var(--tds-select-dropdown-padding);
2896
+ margin-block:var(--tds-select-dropdown-margin-block);
2897
+ position-area:block-end span-inline-start;
2898
+ position-try-fallbacks:flip-block, flip-inline;
2899
+ overflow:auto;
2900
+ overflow-x:hidden;
2901
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
2902
+ scroll-padding-top:calc(var(--tds-select-group-label-padding-block-start) + var(--tds-select-group-label-font-size) + var(--t-spacing-2));
2903
+ -webkit-user-select:none;
2904
+ -moz-user-select:none;
2905
+ user-select:none;
2906
+
2907
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
2908
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
2909
+ background:var(--tds-select-dropdown-background-color);
2910
+ border:var(--tds-select-dropdown-border);
2911
+ border-radius:var(--tds-select-dropdown-border-radius);
2912
+ box-shadow:var(--tds-select-dropdown-box-shadow);
2913
+ transition:var(--tds-select-dropdown-transition);
2914
+ }
2915
+
2916
+ :is(.tds-select:has( > button) [popover]):not(:popover-open){
2917
+ opacity:var(--tds-select-dropdown-closed-opacity);
2918
+ transform:var(--tds-select-dropdown-closed-transform);
2919
+ }
2920
+
2921
+ :is(.tds-select:has( > button) [popover]):popover-open{
2922
+ opacity:var(--tds-select-dropdown-open-opacity);
2923
+ transform:var(--tds-select-dropdown-open-transform);
2924
+ }
2925
+
2926
+ :is(.tds-select:has( > button) [popover]) ul{
2927
+ padding:0;
2928
+ margin:0;
2929
+ list-style:none;
2930
+ }
2931
+
2932
+ :is(.tds-select:has( > button) [popover]) li[role="option"]{
2933
+ display:flex;
2934
+ gap:var(--tds-select-option-gap);
2935
+ align-items:center;
2936
+ padding-block:var(--tds-select-option-padding-block);
2937
+ padding-inline:var(--tds-select-option-padding-inline);
2938
+ font-size:var(--tds-select-option-font-size);
2939
+ color:var(--tds-select-option-color);
2940
+ cursor:default;
2941
+ outline-offset:var(--tds-select-option-outline-offset);
2942
+ border-radius:var(--tds-select-option-border-radius);
2943
+ }
2944
+
2945
+ :is(:is(.tds-select:has( > button) [popover]) li[role="option"]):focus-visible{
2946
+ outline:var(--t-focus-ring-outline);
2947
+ outline-offset:var(--tds-select-option-outline-offset);
2948
+ }
2949
+
2950
+ :is(:is(.tds-select:has( > button) [popover]) li[role="option"]):is(:focus,:hover),.tds-select-option--active:is(:is(.tds-select:has( > button) [popover]) li[role="option"]){
2951
+ color:var(--tds-select-option-color);
2952
+ background:var(--tds-select-option-background-hover);
2953
+ }
2954
+
2955
+ :is(:is(.tds-select:has( > button) [popover]) li[role="option"]):is([aria-selected="true"]){
2956
+ color:var(--tds-select-option-color);
2957
+ background:var(--tds-select-option-background-active);
2958
+ }
2959
+
2960
+ :is(:is(.tds-select:has( > button) [popover]) li[role="option"]):is([aria-selected="true"])::before{
2961
+ visibility:visible;
2962
+ opacity:1;
2963
+ }
2964
+
2965
+ [aria-disabled="true"]:is(:is(.tds-select:has( > button) [popover]) li[role="option"]){
2966
+ color:var(--t-form-color-disabled);
2967
+ cursor:not-allowed;
2968
+ }
2969
+
2970
+ [aria-disabled="true"]:is(:is(.tds-select:has( > button) [popover]) li[role="option"]):is(:focus,:hover){
2971
+ background:transparent;
2972
+ }
2973
+
2974
+ :is(.tds-select:has( > button) [popover]) li[role="presentation"]{
2975
+ position:sticky;
2976
+ inset-block-start:calc(var(--tds-select-dropdown-padding) * -1);
2977
+ z-index:1;
2978
+ float:inline-start;
2979
+ inline-size:100%;
2980
+ padding-block:var(--tds-select-group-label-padding-block);
2981
+ padding-inline:var(--tds-select-group-label-padding-inline);
2982
+ container-type:scroll-state;
2983
+ font-size:var(--tds-select-group-label-font-size);
2984
+ font-weight:var(--tds-select-group-label-font-weight);
2985
+ text-transform:uppercase;
2986
+ letter-spacing:var(--tds-select-group-label-letter-spacing);
2987
+ background:var(--tds-select-group-label-background);
2988
+ text-box:trim-both cap alphabetic;
2989
+ }
2990
+
2991
+ :is(:is(.tds-select:has( > button) [popover]) li[role="presentation"]) span{
2992
+ display:inline-flex;
2993
+ gap:var(--t-spacing-half);
2994
+ align-items:center;
2995
+ color:var(--tds-select-group-label-text-color);
2996
+ transition:var(--tds-select-group-label-transition);
2997
+ }
2998
+
2999
+ @container scroll-state(stuck){
3000
+
3001
+ :is(:is(.tds-select:has( > button) [popover]) li[role="presentation"]) span{
3002
+ color:var(--tds-select-group-label-text-color-stuck);
3003
+ }
3004
+
3005
+ @media (forced-colors: active){
3006
+
3007
+ :is(:is(.tds-select:has( > button) [popover]) li[role="presentation"]) span{
3008
+ color:var(--tds-select-group-label-text-color-stuck);
3009
+ }
3010
+ }
3011
+ }
3012
+
3013
+ @starting-style{
3014
+ :is(.tds-select:has( > button) [popover]):popover-open{
3015
+ opacity:var(--tds-select-dropdown-closed-opacity);
3016
+ transform:var(--tds-select-dropdown-closed-transform);
3017
+ }
3018
+ }
3019
+
3020
+ @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)){
3021
+ .tds-select select:has(> button){
3022
+ padding-inline-end:0;
3023
+ background-image:none;
3024
+ }
3025
+ :is(.tds-select select:has( > button)),:is(.tds-select select:has( > button))::picker(select){
3026
+ padding-block:0;
3027
+ -webkit-appearance:base-select;
3028
+ -moz-appearance:base-select;
3029
+ appearance:base-select;
3030
+ }
3031
+
3032
+ :is(.tds-select select:has( > button))::picker-icon{
3033
+ width:var(--tds-select-caret-size);
3034
+ margin-inline-end:var(--tds-select-caret-inline-offset);
3035
+ content:var(--tds-select-background-image);
3036
+ transition:transform 180ms ease-in-out;
3037
+ }
3038
+ :is(.tds-select select:has( > button))::picker(select):not(:popover-open){
3039
+ opacity:var(--tds-select-dropdown-closed-opacity);
3040
+ transform:var(--tds-select-dropdown-closed-transform);
3041
+ }
3042
+ :is(.tds-select select:has( > button))::picker(select):popover-open{
3043
+ opacity:var(--tds-select-dropdown-open-opacity);
3044
+ transform:var(--tds-select-dropdown-open-transform);
3045
+ }
3046
+
3047
+ :is(.tds-select select:has( > button)):open,:is(.tds-select select:has( > button)):focus-within{
3048
+ outline-color:var(--t-focus-ring-color);
3049
+ outline-offset:var(--t-focus-ring-offset);
3050
+ border-color:var(--tds-select-border-color-active);
3051
+ }
3052
+
3053
+ :is(.tds-select select:has( > button)):open::picker-icon{
3054
+ opacity:1;
3055
+ transform:rotate(.5turn);
3056
+ }
3057
+ :is(.tds-select select:has( > button)) > button{
3058
+ line-height:calc(var(--tds-select-height) - 2px);
3059
+ }
3060
+
3061
+ :is(:is(.tds-select select:has( > button)) > button):focus-visible{
3062
+ outline-offset:-3px;
3063
+ }
3064
+
3065
+ :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
3066
+ color:var(--tds-select-placeholder-color);
3067
+ }
3068
+
3069
+ :is(.tds-select select:has( > button))::picker(select){
3070
+ padding:var(--tds-select-dropdown-padding);
3071
+ margin-block:var(--tds-select-dropdown-margin-block);
3072
+ position-try-fallbacks:flip-block, flip-inline;
3073
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
3074
+ -webkit-user-select:none;
3075
+ -moz-user-select:none;
3076
+ user-select:none;
3077
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
3078
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
3079
+ background:var(--tds-select-dropdown-background-color);
3080
+ border:var(--tds-select-dropdown-border);
3081
+ border-radius:var(--tds-select-dropdown-border-radius);
3082
+ box-shadow:var(--tds-select-dropdown-box-shadow);
3083
+ transition:var(--tds-select-dropdown-transition);
3084
+ }
3085
+
3086
+ :is(.tds-select select:has( > button)) legend{
3087
+ position:sticky;
3088
+ inset-block-start:calc(var(--tds-select-dropdown-padding) * -1);
3089
+ z-index:1;
3090
+ float:inline-start;
3091
+ inline-size:100%;
3092
+ padding-block:var(--tds-select-group-label-padding-block);
3093
+ padding-inline:var(--tds-select-group-label-padding-inline);
3094
+ container-type:scroll-state;
3095
+ font-size:var(--tds-select-group-label-font-size);
3096
+ font-weight:var(--tds-select-group-label-font-weight);
3097
+ text-transform:uppercase;
3098
+ letter-spacing:var(--tds-select-group-label-letter-spacing);
3099
+ background:var(--tds-select-group-label-background);
3100
+ text-box:trim-both cap alphabetic;
3101
+ }
3102
+
3103
+ :is(:is(.tds-select select:has( > button)) legend) span{
3104
+ display:inline-flex;
3105
+ gap:var(--t-spacing-half);
3106
+ align-items:center;
3107
+ color:var(--tds-select-group-label-text-color);
3108
+ transition:var(--tds-select-group-label-transition);
3109
+ }
3110
+
3111
+ @container scroll-state(stuck){
3112
+
3113
+ :is(:is(.tds-select select:has( > button)) legend) span{
3114
+ color:var(--tds-select-group-label-text-color-stuck);
3115
+ }
3116
+
3117
+ @media (forced-colors: active){
3118
+
3119
+ :is(:is(.tds-select select:has( > button)) legend) span{
3120
+ color:var(--tds-select-group-label-text-color-stuck);
3121
+ }
3122
+ }
3123
+ }
3124
+
3125
+ :is(.tds-select select:has( > button)) option:not([hidden]){
3126
+ display:flex;
3127
+ gap:var(--tds-select-option-gap);
3128
+ align-items:center;
3129
+ padding-block:var(--tds-select-option-padding-block);
3130
+ padding-inline:var(--tds-select-option-padding-inline);
3131
+ font-size:var(--tds-select-option-font-size);
3132
+ color:var(--tds-select-option-color);
3133
+ cursor:default;
3134
+ outline-offset:var(--tds-select-option-outline-offset);
3135
+ border-radius:var(--tds-select-option-border-radius);
3136
+ }
3137
+
3138
+ :is(:is(.tds-select select:has( > button)) option:not([hidden]))::checkmark{
3139
+ display:none;
3140
+ }
3141
+
3142
+ :is(:is(.tds-select select:has( > button)) option:not([hidden])):focus-visible{
3143
+ outline:var(--t-focus-ring-outline);
3144
+ outline-offset:var(--tds-select-option-outline-offset);
3145
+ }
3146
+
3147
+ :is(:is(.tds-select select:has( > button)) option:not([hidden])):is(:focus,:hover):where(:not([disabled])){
3148
+ color:var(--tds-select-option-color);
3149
+ background:var(--tds-select-option-background-hover);
3150
+ }
3151
+
3152
+ :is(:is(.tds-select select:has( > button)) option:not([hidden])):is(:checked){
3153
+ color:var(--tds-select-option-color);
3154
+ background:var(--tds-select-option-background-active);
3155
+ }
3156
+
3157
+ @media (prefers-reduced-motion: reduce){
3158
+ :is(.tds-select select:has( > button))::picker(select){
3159
+ scroll-behavior:auto;
3160
+ transition:none;
3161
+ }
3162
+
3163
+ :is(.tds-select select:has( > button))::picker-icon{
3164
+ transition:none;
3165
+ }
3166
+
3167
+ :is(.tds-select select:has( > button))::picker(select):not(:popover-open),:is(.tds-select select:has( > button))::picker(select):popover-open,:is(.tds-select select:has( > button)):open::picker-icon{
3168
+ transform:none;
3169
+ }
3170
+ }
3171
+
3172
+ @starting-style{
3173
+ :is(.tds-select select:has( > button))::picker(select):popover-open{
3174
+ opacity:var(--tds-select-dropdown-closed-opacity);
3175
+ transform:var(--tds-select-dropdown-closed-transform);
3176
+ }
3177
+ }
3178
+ }
3179
+
2670
3180
  .tds-input{
2671
3181
  --tds-input-border-color:var(--t-form-border-color);
2672
3182
  --tds-input-border-color-hover:var(--t-form-border-color-hover);